Title: Обучение: 04. Язык Date: 2019-06-18 00:00 Category: Page Slug: education.04.lang Lang: ru | < Назад | Начало | Далее > | |---|---|---| | [03. Сайт][prev] | [Обучение][index] | [05. Блог][next] |
В этом документе мы добавим выбор языка. Ожидаемое время завершения: 10 минут. **Содержание** * [01. Локализация](#localization) * [02. Изучите файл `pskov.cfg`](#cfg) * [03. Изучите файлы шаблонов](#item) * [04. Изучите файлы Markdown](#md) * [05. Запустите ЛФСД и сгенерируйте сайт](#gen) * [06. Итог](#summary) ## 01. Локализация Теперь, когда у вас есть собственный веб-сайт на английском, вы задумываетесь о русской версии, ведь вы же всё-таки русский! Вы создаёте директорию со [следующей структурой файлов][02-files]: * `pskov.cfg` * `en/item.template` * `en/about.md` * `en/cv.md` * `ru/item.template` * `ru/about.md` * `ru/cv.md` Давайте взглянем на содержимое этих файлов. ## 02. Изучите файл `pskov.cfg` Файл `pskov.cfg` содержит следующее: ``` input = en;ru item = item.template ``` Как видите, `input` может принимать несколько директорий, разделённых символом `;`. **ПСКОВ** обработает каждую указанную директорию так же, как и ранее. В нашем случае каждая из директорий - `en/` и `ru/` - содержит собственный шаблон `item.template`. ## 03. Изучите файлы шаблонов * Содержимое `en/item.template`: ``` - - - - Схлопнуто для краткости - - - - Serov
- - - - Схлопнуто для краткости - - - - ``` * Содержимое `ru/item.template`: ``` - - - - Схлопнуто для краткости - - - - Серов
- - - - Схлопнуто для краткости - - - - ``` **Внимание**: начало и конец схлопнуты для краткости. Как видите, `en/item.template` и `ru/item.template` очень похожи на [виденный ранее][prev] `item.template`. Изменения следующие: * использование секции `
...
` для отображения выбора языка * локализация заголовков на Английском и Русском языках Выбор языка использует следующую новую константу **ПСКОВА**: | Константа ПСКОВА | Описание | |---|---| | `PSKOV_ITEM_URL` | Предоставляет имя файла генерируемой страницы | Использование `PSKOV_ITEM_URL` даёт вам поддержку стольких языков, сколько пожелаете. ## 04. Изучите файлы Markdown Файлы `en/about.md` и `en/cv.md` выглядят почти идентично [виденным ранее][prev]. `ru/about.md` и `ru/cv.md` представляют собой русские версии соответствующих английских страниц. Например, `ru/cv.md` содержит: ``` Title: Резюме Slug: cv Здесь вы можете увидеть моё резюме в том случае, если мои произведения всё ещё вас интересуют. Я использовал современный подход ИТ для структурирования своего резюме в виде пар ключ-значение словаря (карты). Наслаждайтесь! | Ключ | Значение | |---|---| | Имя | Валентин Серов | | Возраст | 46 | | Семейное положение | Женат | | Страна | Российская Империя | | Учёба | Императорская Академия художеств | | Звания | * академик ИАХ (1898)
* действительный член ИАХ (1903) | ``` **Внимание**: русская страница использует точно такое же значение `Slug`, как и английская страница.
## 05. Запустите ЛФСД и сгенерируйте сайт Запустите [ЛФСД][lfsa] с указанием директории, содержащей только что рассмотренные файлы: ``` $ /путь/до/lfsa_1.0.0.py /путь/до/директории/02.Language ``` Сгенерируйте сайт: * Перейдите на страницу [Инструмент][tool] * Нажмите кнопку `Генерировать` * Откройте сгенерированный файл `en/about.html` или `ru/about.html` из директории сайта * Переключите язык, чтобы убедиться в корректной работе ## 06. Итог Вы успешно добавили выбор языка. [Проверьте результат][02-sample]. Представлены константы **ПСКОВА**: | Константа ПСКОВА | Описание | |---|---| | `PSKOV_ITEM_URL` | Предоставляет имя файла генерируемой страницы |
| < Назад | Начало | Далее > | |---|---|---| | [03. Сайт][prev] | [Обучение][index] | [05. Блог][next] | [index]: education.html [prev]: education.03.site.html [next]: education.05.blog.html [02-files]: https://github.com/OGStudio/site-pskov-sample/tree/master/02.Language [02-sample]: http://opengamestudio.org/pskov/sample/02.Language/ru/about.html [lfsa]: http://opengamestudio.org/lfsa/ru [tool]: http://opengamestudio.org/pskov/ru/pskov_1.0.0+ru.html