Как узнать язык приложения пользователя, установленного в настройках телеграмма? (aiogram)
а можно вообще замутить такую тему, типа при старте бота, бот должен отправить приветственное сообщение на, допустим, английском, если у юзера в настройках самого телеграма язык - английский, иначе в любом другом языке отвечать на русском? То есть, при каждом вводе команды /start, бот должен отвечать учитывая язык самого телеграма пользователя. Я в интернете наткнулся на language_code (message.from_user.language_code), но не смог ею правильно пользоваться. Язык Python, библиотека/фреймворк aiogram.
# На данный момент мой код выглядит таким образом
@user_router.message(CommandStart())
async def handle_start(message: Message):
if message.from_user.language_code == "en":
await message.answer(f"Hello, <b>{message.from_user.first_name}</b>!\nFirst, choose a language ?",
reply_markup=kb.lang_ikb)
else:
await message.answer(f"Привет, <b>{message.from_user.first_name}</b>!\nДля начала выберите язык ?",
reply_markup=kb.lang_ikb)
Ответы (1 шт):
Используя message.from_user.language_code
, вы можете получить языковой тег (в стандарте IETF) пользователя. Вот примеры тегов.
Затем, применяя оператор равенства, вы сможете определять, на каком языке вы будете давать ответ пользователю. Пример работы вы продемонстрировали в вопросе. Ваш код будет успешно работать, но для того чтобы в полной мере протестировать это, вам придётся изменить язык системы, именно так определяется language_code
в Telegram.