You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

7.1KB

Title: Обучение: 04. Язык Date: 2019-06-18 00:00 Category: Page Slug: education.04.lang Lang: ru

< Назад Начало Далее >
03. Сайт Обучение 05. Блог

В этом документе мы добавим выбор языка.

Ожидаемое время завершения: 10 минут.

Содержание

01. Локализация

Теперь, когда у вас есть собственный веб-сайт на английском, вы задумываетесь о русской версии, ведь вы же всё-таки русский!

Вы создаёте директорию со следующей структурой файлов:

  • 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:

    - - - - Схлопнуто для краткости - - - -
            <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

Сгенерируйте сайт:

  • Перейдите на страницу Инструмент
  • Нажмите кнопку Генерировать
  • Откройте сгенерированный файл en/about.html или ru/about.html из директории сайта
  • Переключите язык, чтобы убедиться в корректной работе

06. Итог

Вы успешно добавили выбор языка. Проверьте результат.

Представлены константы ПСКОВА:

Константа ПСКОВА Описание
PSKOV_ITEM_URL Предоставляет имя файла генерируемой страницы
< Назад Начало Далее >
03. Сайт Обучение 05. Блог