Задать вопрос
@Mr-CEO
Не стою на месте.

Как работать в с клавиатурой в телеграм боте?

Разрабатываю телеграм бота но возник нюанс в боте должно быть два языка. Но для перехода на второй язык не хотелось-бы переписовать весь код на другой язык а по какой небудь библиотеки что бы при выборе языка код автоматически переводил слова на другой язык.
  • Вопрос задан
  • 99 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 2
shurshur
@shurshur
Сисадмин, просто сисадмин...
Использовать gettext(i18n). Например, для aiogram даже есть готовый middleware: https://docs.aiogram.dev/en/latest/examples/i18n_e...
Ответ написан
Комментировать
InternetMaster
@InternetMaster
Интернет
Без полного переписывания кода не обойтись.
Самый простой вариант, это сделать JSON-словарь, и доставать по ключу.

Пример:
{"hello": {"ru": "Приветствуем в нашем боте!", "en": "Welcome to our bot!"}, "game_start": {"ru": "Начните новую игру.", "en": "Start a new game."}}


Кстати, как подсказали некоторые индивиды, по типу Владимир Ермак либо Максим Ушаков, постоянное обращение к переводчику по API не есть хорошо. Постоянно отсылать запросы, и переведенный текст получать назад (каждый раз!), тем более это один и тот же текст, нецелесообразно. Представить сколько это лишнего времени и ресурсов занимает
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Makaroffka
Любитель
Такой нет, увы придется использовать переводчик :(
Ответ написан
Комментировать
@Kopheek
Хочу кофе.
Можешь использовать какой-нибудь открытый API переводчика (есть, вроде, FastTranslator) для перевода фраз.
В telebot можно, например, узнать языковой код (language_code) пользователя, который написал, т.е. "ru", "en" и другие. И, опираясь на это, сделать if-else конструкцию.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы