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