8.3 KiB
Title: Обучение: 04. Язык Date: 2019-06-25 00:00 Category: Page Slug: education.04.lang Lang: ru
| < Назад | Начало | Далее > |
|---|---|---|
| 03. Сайт | Обучение | 05. Блог |
В этом документе мы добавим выбор языка.
Ожидаемое время завершения: 10 минут.
Содержание
- 01. Локализация
- 02. Изучите файл
pskov.cfg - 03. Изучите файлы шаблонов
- 04. Изучите файлы Markdown
- 05. Запустите ЛФСД
- 06. Сгенерируйте сайт
- 07. Проверьте сайт
- 08. Итог
01. Локализация
Теперь, когда у вас есть собственный веб-сайт на английском, вы задумываетесь о русской версии, ведь вы же всё-таки русский!
Вы создаёте директорию со следующей структурой файлов:
pskov.cfgen/item.templateen/about.mden/cv.mdru/item.templateru/about.mdru/cv.md
Давайте взглянем на содержимое этих файлов.
02. Изучите файл pskov.cfg
Файл pskov.cfg содержит следующее:
input = en;ru
item = item.template
Как видите, input может принимать несколько директорий, разделённых символом ;. ПСКОВ обработает каждую указанную директорию так же, как и ранее.
В нашем случае каждая из директорий - en/ и ru/ - содержит собственный шаблон item.template.
03. Изучите файлы шаблонов
-
Содержимое
en/item.template:- - - - Схлопнуто для краткости - - - - <title>Serov</title> </head> <body> <div id="header"> <strong>Serov</strong> <a href="about.html">About me</a> <a href="cv.html">CV</a> <div id="lang"> <a href="../en/PSKOV_ITEM_URL">EN</a> <a href="../ru/PSKOV_ITEM_URL">RU</a> </div> </div> <center> - - - - Схлопнуто для краткости - - - - -
Содержимое
ru/item.template:- - - - Схлопнуто для краткости - - - - <title>Серов</title> </head> <body> <div id="header"> <strong>Серов</strong> <a href="about.html">Обо мне</a> <a href="cv.html">Резюме</a> <div id="lang"> <a href="../en/PSKOV_ITEM_URL">EN</a> <a href="../ru/PSKOV_ITEM_URL">RU</a> </div> </div> <center> - - - - Схлопнуто для краткости - - - -
Внимание: начало и конец схлопнуты для краткости.
Как видите, en/item.template и ru/item.template очень похожи на виденный ранее item.template.
Изменения следующие:
- использование секции
<div id="lang">...</div>для отображения выбора языка - локализация заголовков на Английском и Русском языках
Выбор языка использует следующую новую константу ПСКОВА:
| Константа ПСКОВА | Описание |
|---|---|
PSKOV_ITEM_URL |
Предоставляет имя файла генерируемой страницы |
Использование PSKOV_ITEM_URL даёт вам поддержку стольких языков, сколько пожелаете.
04. Изучите файлы Markdown
Файлы en/about.md и en/cv.md выглядят почти идентично виденным ранее. ru/about.md и ru/cv.md представляют собой русские версии соответствующих английских страниц.
Например, ru/cv.md содержит:
Title: Резюме
Slug: cv
Здесь вы можете увидеть моё резюме в том случае, если мои произведения всё ещё вас интересуют. Я использовал современный подход ИТ для структурирования своего резюме в виде пар ключ-значение словаря (карты). Наслаждайтесь!
| Ключ | Значение |
|---|---|
| Имя | Валентин Серов |
| Возраст | 46 |
| Семейное положение | Женат |
| Страна | Российская Империя |
| Учёба | Императорская Академия художеств |
| Звания | * академик ИАХ (1898) <br> * действительный член ИАХ (1903) |
Внимание: русская страница использует точно такое же значение Slug, как и английская страница.
05. Запустите ЛФСД
Запустите ЛФСД с указанием директории, содержащей только что рассмотренные файлы:
$ /путь/до/lfsa_1.0.0.py /путь/до/директории/02.Language
06. Сгенерируйте сайт
Перейдите на страницу Инструмент и нажмите кнопку Генерировать для генерации файлов HTML рядом с файлами Markdown.
07. Проверьте сайт
Проверьте сгенерированный веб-сайт локально: откройте файл ru/about.html или en/about.html и переключите язык.
08. Итог
Вы успешно добавили выбор языка. Проверьте результат.
Представлены константы ПСКОВА:
| Константа ПСКОВА | Описание |
|---|---|
PSKOV_ITEM_URL |
Предоставляет имя файла генерируемой страницы |