Приложения¶
Немного о gettext¶
Если вы не разработчик, а специалист по документации или локализации (как и я), вам, вероятно, не нужно подробно знать о gettext. Достаточно знать некоторые общие факты:
Gettext использует подход «message-as-key»: в исходном коде нет идентификаторов строковых ресурсов, gettext использует строки на естественном языке внутри исходного кода в качестве ключей для поиска переводов. Если перевод недоступен, gettext возвращает исходную строку.
По моему опыту работы со Sphinx, исходный язык не обязательно должен быть английским. Я переводила документацию с русского на английский, и все отлично получилось.
Gettext не является специфичным для Python, так как он используется в разработке C, C++ и т. д. Каждый раз, когда вы работаете с файлами .po, это почти наверняка означает, что где-то за кулисами находится gettext.
Gettext поддерживает формы множественного числа. Мы не рассматриваем эту функцию в нашем руководстве, но приятно знать о такой возможности.
Полезные ссылки¶
Документация Sphinx:
Sphinx Getting Started: https://www.sphinx-doc.org/en/master/usage/quickstart.html
Internationalization with sphinx-intl: https://www.sphinx-doc.org/en/master/usage/advanced/intl.html
Options for internationalization: https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-internationalization
Filename format for language-specific figures: https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-figure_language_filename
Ifconfig: https://www.sphinx-doc.org/en/master/usage/extensions/ifconfig.html
Sphinx-build: https://www.sphinx-doc.org/en/master/man/sphinx-build.html
Jinja templates in Sphinx: https://www.sphinx-doc.org/en/master/templating.html
Документация Readthedocs:
Getting Started with Sphinx: https://docs.readthedocs.io/en/stable/intro/getting-started-with-sphinx.html
Manage Translations for Sphinx projects: https://docs.readthedocs.io/en/stable/guides/manage-translations-sphinx.html
Документация Transifex:
Организации, проекты и ресурсы Transifex: https://help.transifex.com/en/articles/6656105-introduction-to-projects-and-resources
Интеграция с GitHub: https://help.transifex.com/en/articles/6265125-github-via-transifex-ui
Редактор Transifex: https://help.transifex.com/en/articles/6318216-translating-with-the-web-editor
Документация GitHub Pages:
Документация на Geekwriter:
Команды Miniconda: http://miniconda.geekwriter.ru/conda-commands.html
Боковая панель шаблона Alabaster: http://alabaster.geekwriter.ru/installation.html
Файлы демонстрационного проекта¶
Здесь вы можете найти все архивы, которые предлагаются для скачивания в разделах данного руководства:
Создание виртуальной среды: requirements.txt
Добавление содержимого: index.rst и easter-egg.rst
Добавление изображений: logo.png и egg.png; conf.py и easter-egg.rst
Установка и настройка sphinx-intl: conf.py
Перевод текста в файлах .po: списки переводов, переведенные файлы .po
Добавление изображений для разных языков: egg.ru.png и egg.pt_BR.png
Добавление условного контента с помощью ifconfig: conf.py и index.rst
Обновление перевода: обновленный index.po для русского и португальского языков
Добавление переключателя языка: switcher.html и conf.py, файлы стартовой страницы (index.html и изображения)
Вы также можете найти демонстрационный проект на Github.