Заключение и домашнее задание.

Как вы видите, наш код стал достаточно сложным. Кодовая база разрослась, появилась куча зависимостей. Но появилась и гибкость в отображении контента, с учетом локальных особенностей пользователей разных регионов.

В связи с этим старайтесь продумывать архитектуру вашего приложения, не бойтесь делать рефакторинг на ранних этапах и экспериментировать.

Для полноты, пару слов о всяких полезных вещах.

Автоматические переводы, память, AI

Для переводчиков существую целые платформы онлайн и оффлайн программы для переводов программного обеспечения, как платные, так и бесплатные. Основные удобства заключаются в реализации базовых вещей для перевода:

  • Организация памяти переводов (Translation memory) — онлайн и оффлайн инструменты организации запоминания переводов для вашей кодовой базы и ваших продуктов, а также подобных продуктов других разработчиков. Позволяет единообразно переводить свои приложения и не придумывать свои переводы для уже устоявшихся терминов (вечная борьба терминов папка - директория - каталог);

  • Автоматизация и черновые машинные переводы;

  • Переводы коммьюнити, фрилансеров, профессиональных переводчиков;

  • Переводы с помощью искуственного интелекта (AI), например проект DeepL;

  • Работа в сообществе и соавторстве, многопользовательская работа;

  • Поддержка контекстов переводов (Например, слово Save в меню — сохранить, Save в играх — спасти);

  • Статьи, форумы, соцсети и прочее.

Примеры инструментов

https://crowdin.com/ — это облачное программное обеспечение для локализации на базе искусственного интеллекта для команд и предприятий. Есть бесплатный тариф.

https://www.transifex.com/open-source/ — облачная платформа локализации. Так же имеет бесплатный тариф для open-source проектов.

https://pofile.net/ — PoEdit, бесплатный онлайн инструмент для работы с .po файлами. (будьте аккуратнее — оно исправляет plural forms по очень странным правилам)

https://poedit.net/ — PoEditor, оффлайн программа для удобного пакетного перевода .po файлов (в версии pro умеет использовать нейросеть DeepL).

https://weblate.org/ru/ — инструмент он-лайн переводов, который также можно развернуть из Docker на своем сервере.

https://omegat.org/ — OmegaT проект организации памяти переводов (Translation memory). Пример использования OmegaT.

https://www.deepl.com/translator — система машинного перевода. Имеется бесплатный тариф.

Ну и еще их куча. Как пример моего поиска в интернете:

Инструменты управления переводами:

Аналоги программ похожих на Poedit:

Домашнее задание:

  1. Сделать перевод инлайн кнопок, и всплывающей подсказки, появляющейся при нажатии на них. Перевести меню бота.

  2. Исправить работу вывода даты в ответах бота. Необходимо, чтобы выводился день недели и месяц в правильном формате.

  3. Написать код, который проверяет пол (из бд), в случае необходимости запрашивает у пользователя и формирует сообщение на двух языках:

  • «Ты, %username% мог(ла) бы чаще улыбаться!»

  • «Его (её, их) фото пора отправлять в сториз.»

  1. Написать кэширование к при работе с языком, чтобы не обращаться с запросом в БД при обработке каждого события. Реализовать хранение, например, в сторадже Redis.