Заключение и домашнее задание.
------------------------------
Как вы видите, наш код стал достаточно сложным. Кодовая база разрослась, появилась куча зависимостей.
Но появилась и гибкость в отображении контента, с учетом локальных особенностей пользователей разных регионов.
В связи с этим старайтесь продумывать архитектуру вашего приложения,
не бойтесь делать рефакторинг на ранних этапах и экспериментировать.
Для полноты, пару слов о всяких полезных вещах.
Автоматические переводы, память, 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:
- ``_
- ``_
Домашнее задание:
~~~~~~~~~~~~~~~~~
#. Сделать перевод инлайн кнопок, и всплывающей подсказки, появляющейся при нажатии на них. Перевести меню бота.
#. Исправить работу вывода даты в ответах бота. Необходимо, чтобы выводился день недели и месяц в правильном формате.
#. Написать код, который проверяет пол (из бд), в случае необходимости запрашивает у пользователя и формирует сообщение на двух языках:
* *"Ты, %username% мог(ла) бы чаще улыбаться!"*
* *"Его (её, их) фото пора отправлять в сториз."*
4. Написать кэширование к при работе с языком, чтобы не обращаться с запросом в БД при обработке каждого события. Реализовать хранение, например, в сторадже Redis.