Простая память переводов для Babel
Память переводов есть в Gettext в довольно простом виде: 8.4 Using Translation Compendia. В Babel её уже нет — предполагается, что будут использоваться сторонние инструменты.
Однако сторонние инструменты — это монстры, ориентированные на корпоративную разработку ( исследовать ), относительно съедобный — OmegaT, написанный на Java.
Требуется:
- определить набор фич для поддержки памяти перевода (скорее всего, какое-то подмножество OmegaT)
- работа из коробки без сторонних инструментов: БД, веб-сервисов и т. п.
- только для gettext/Babel (aka .po)
+ с возможностью совместного использования в рамках одного проекта (например, .po-файлы в репозитории этого проекта)
+ с возможностью задания нескольких доменов перевода (пример: перевод сообщений, выводимых пользователю игрой жанра «эльфы и гэндальфы» и сообщений, выводимых ею же в системный журнал)
… любые другие дополнительные свойства, например, таки хождение к гуглопереводчику / НКРЯ / самостоятельный подбор fuzzy-перевода и т. п., если они не влияют на базовый workflow
- Разработать workflow работы с инструментом, поддерживающим эти фичи
- Реализовать этот инструмент в качестве пакета Python и выпустить релиз на PyPI
- (для работ в рамках Лаборатории свободного программного обеспечения) Пройти тестирование на совместимость с «Альт Платформой»
Общие требования к Python-пакету при сдаче проекта
Исходный текст пакета должен храниться в публичном репозитории (крайне желателен Git, хостинг любой)
В состав репозитория должны входить формальные указание по сборке wheel-пакета (как минимум, pyproject.toml)
Пакет должен устанавливаться и работать из этого .wheel-файла
- Если для начала работы с пакетом требуются дополнительные действия (получение ключа, настройка СУБД и т. п.), они должны быть описаны в документации
- Всё API пакета должно быть документировано
Желательно использовать Sphinx + sphinx-apidoc
- Должна присутствовать пользовательская документация (примеры использования и краткое описание)
Желательно использовать Sphinx + публикацию на ReadTheDocs
…но можно воспользоваться wiki вашего хостинга, или даже аккуратно оформить дерево .md-файлов прямо в репозитории
- Пакет должен быть снабжён компонентными тестами (желательно, но необязательно, 100% покрытие)