Перевод документации с помощью Sphinx¶
Sphinx — это инструмент для создания красивой документации. Он использует простой синтаксис reStructuredText и может генерировать вывод во многих форматах. Если вы ищете пример, то эта документация также собирается с его помощью. Очень полезным спутником при использовании Sphinx является сервис Read the Docs, который бесплатно будет собирать и публиковать вашу документацию.
Я не буду заострять внимание на написание самой документации, если вы нуждаетесь в консультации, просто следуйте инструкциям на сайте Sphinx. После того, как ваша документация будет написана, её перевод будет довольно простым делом, поскольку Sphinx уже поддерживает для этого всё необходимое, что хорошо описано в его документации по интернационализации. Это буквально вопрос настройки нескольких параметров и вызова инструмента sphinx-intl
.
Если вы пользуетесь сервисом Read the Docs, вы запустить сборку переведённой документации на Read the Docs. Их документация по локализации покрывает практически всё, что вам нужно знать — создание ещё одного проекта, установку его языка и связывание его с основным проектом в качестве перевода.
Теперь всё, что вам нужно, это перевести содержимое документации. Sphinx создаёт PO-файл для каждого каталога или файла верхнего уровня, что может привести к переводу довольно большого количества файлов (в зависимости от настроек gettext_compact
). Вы можете импортировать index.po
в Weblate в качестве исходного компонента, а затем настроить Обнаружение компонентов для автоматического обнаружения всех остальных.
|
|
|
|
|
|
PO-файл gettext |
|
|
Регулярное выражение для сопоставления с файлами перевода |
|
Настроить название компонента |
|
Задать базовый файл для нового перевода |
|
Подсказка
Вы хотите чтобы Sphinx создавал только один PO-файл? Начиная со Sphinx 3.3.0 это можно сделать с помощью:
gettext_compact = "docs"
Вот список некоторых проектов, которые используют этот подход для перевода документации:
Документация Weblate (та что вы сейчас читаете)