@pin4uck

Как лучше и правильно использовать gettext?

Здравствуйте. Я учу питон, и сейчас хочу разобраться с gettext. Я создал телеграм-бота и понемногу его совершенствую. Как работает pygettext немного разобрался(пробовал переводить на примере простого файла). А вот как лучше или правильно переводить сообщения которые выводит бот после ввода команд - не знаю. То есть лучше сделать чтобы допустим при вводе команды 'start' бот выводил сообщение "выберите язык" - а дальше все сообщения переводились бы на нужный язык? Или как лучше? Работаю в windows(pycharm). Я новичок поэтому не судите строго. Буду рад любой информации, любым примерам.
Ссылка на моего бота
github.com/Pin4uck/Bot_Testik
  • Вопрос задан
  • 328 просмотров
Пригласить эксперта
Ответы на вопрос 2
IlyaEvseev
@IlyaEvseev
Opensource geek
Ищем в Гугле:
"telegram bot get user language"

Находим:
https://stackoverflow.com/a/63790087/2743554

Each Update from Telegram contains User information (in Message, in InlineQuery or some other). This language_code is based on which language is set as default on user's device or set for Telegram app. You can trust it.

But some users may want to change a language just for your bot. For that you can add your custom "Settings" to your bot menu, with all languages you support.
Ответ написан
Комментировать
shurshur
@shurshur
Сисадмин, просто сисадмин...
gettext в простейшем варианте предполагает выбор одного языка, который в дальнейшем используется весь жизненный цикл приложения.

Надо либо переключать язык на язык конкретного пользователя во всех нужных местах (что приведёт к частым переключениям и до кучи несовместимо с асинхронным кодом), либо использовать gettext в режиме class-based API.

Похожий вопрос Как сделать мультиязычным приложение python?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы