Просмотр полной версии : Выбор языка telegram bot
Всем привет, мне нужен ваш совет.
В моес тг боте есть функция смена языка (Рус или eng).
Я реализовал это с помощью API Google Translate. Каждое нажатие кнопки от пользователя идет обращение к БД, от туда берется ячейка с настройками языка. И после все кнопки переводятся на тот язык который стоит в настройках.
В этом есть большой минус - иногда долго загружаются кнопки из-за интернета. Но есть и плюс, можно сделать 100 языков не меняя код.
Так как загрузка может быть аж больше 3х секунд, то я задумался об переработке кода, и решил спросить у вас, как лучше такое реализовать?
Вот мои идеи:
API Google Translate
Записать все рус. и англ. слова в разные файлы, и брать их от туда.
Забить и через if сделать.
Neon3333
10.05.2021, 05:14
Всем привет, мне нужен ваш совет.
В моес тг боте есть функция смена языка (Рус или eng).
Я реализовал это с помощью API Google Translate. Каждое нажатие кнопки от пользователя идет обращение к БД, от туда берется ячейка с настройками языка. И после все кнопки переводятся на тот язык который стоит в настройках.
В этом есть большой минус - иногда долго загружаются кнопки из-за интернета. Но есть и плюс, можно сделать 100 языков не меняя код.
Так как загрузка может быть аж больше 3х секунд, то я задумался об переработке кода, и решил спросить у вас, как лучше такое реализовать?
Вот мои идеи:
API Google Translate
Записать все рус. и англ. слова в разные файлы, и брать их от туда.
Забить и через if сделать.
Только держать уже подготовленные переводы где тебе удобно, делать перевод на api и каждый раз дергать апи - извращение какое-то. Если тебе усралось уже так то апи, закешируй переводы с него и не дергай по 100500 раз. Да и + я уверен, что даже если ты юзаешь аиограм, то работу с апи ты сделал синхронную, то есть пока один нажмет какую-то кнопку, все остальные будут ждать пока твоя "мега система" все разрулит + ко всему прочему где-то слышал, что у гугл транслейта есть лимиты обращений к апи
Только держать уже подготовленные переводы где тебе удобно, делать перевод на api и каждый раз дергать апи - извращение какое-то. Если тебе усралось уже так то апи, закешируй переводы с него и не дергай по 100500 раз. Да и + я уверен, что даже если ты юзаешь аиограм, то работу с апи ты сделал синхронную, то есть пока один нажмет какую-то кнопку, все остальные будут ждать пока твоя "мега система" все разрулит + ко всему прочему где-то слышал, что у гугл транслейта есть лимиты обращений к апи
Да, я извращенец. Мне этот вариант понравился своей простотой и многофункциональностью. И нет, работа с апи так же асинхронно.
Получается хранить перевод в файлике. Спасибо.
SCHWEITZER
10.05.2021, 14:09
Можно заюзать кэширование на memcached / redis, как раз для временного хранения данных придумано
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot