Заключение и домашнее задание. ------------------------------ Как вы видите, наш код стал достаточно сложным. Кодовая база разрослась, появилась куча зависимостей. Но появилась и гибкость в отображении контента, с учетом локальных особенностей пользователей разных регионов. В связи с этим старайтесь продумывать архитектуру вашего приложения, не бойтесь делать рефакторинг на ранних этапах и экспериментировать. Для полноты, пару слов о всяких полезных вещах. Автоматические переводы, память, 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.