 |

09.05.2021, 21:12
|
|
Участник форума
Регистрация: 21.12.2013
Сообщений: 181
С нами:
6522707
Репутация:
83
|
|
Всем привет, мне нужен ваш совет.
В моес тг боте есть функция смена языка (Рус или eng).
Я реализовал это с помощью API Google Translate. Каждое нажатие кнопки от пользователя идет обращение к БД, от туда берется ячейка с настройками языка. И после все кнопки переводятся на тот язык который стоит в настройках.
В этом есть большой минус - иногда долго загружаются кнопки из-за интернета. Но есть и плюс, можно сделать 100 языков не меняя код.
Так как загрузка может быть аж больше 3х секунд, то я задумался об переработке кода, и решил спросить у вас, как лучше такое реализовать?
Вот мои идеи:
API Google Translate
Записать все рус. и англ. слова в разные файлы, и брать их от туда.
Забить и через if сделать.
|
|
|

10.05.2021, 05:14
|
|
Участник форума
Регистрация: 13.02.2019
Сообщений: 183
С нами:
3815624
Репутация:
83
|
|
Сообщение от laiser
Всем привет, мне нужен ваш совет.
В моес тг боте есть функция смена языка (Рус или eng).
Я реализовал это с помощью API Google Translate. Каждое нажатие кнопки от пользователя идет обращение к БД, от туда берется ячейка с настройками языка. И после все кнопки переводятся на тот язык который стоит в настройках.
В этом есть большой минус - иногда долго загружаются кнопки из-за интернета. Но есть и плюс, можно сделать 100 языков не меняя код.
Так как загрузка может быть аж больше 3х секунд, то я задумался об переработке кода, и решил спросить у вас, как лучше такое реализовать?
Вот мои идеи:
API Google Translate
Записать все рус. и англ. слова в разные файлы, и брать их от туда.
Забить и через if сделать.
Только держать уже подготовленные переводы где тебе удобно, делать перевод на api и каждый раз дергать апи - извращение какое-то. Если тебе усралось уже так то апи, закешируй переводы с него и не дергай по 100500 раз. Да и + я уверен, что даже если ты юзаешь аиограм, то работу с апи ты сделал синхронную, то есть пока один нажмет какую-то кнопку, все остальные будут ждать пока твоя "мега система" все разрулит + ко всему прочему где-то слышал, что у гугл транслейта есть лимиты обращений к апи
|
|
|

10.05.2021, 14:01
|
|
Участник форума
Регистрация: 21.12.2013
Сообщений: 181
С нами:
6522707
Репутация:
83
|
|
Сообщение от Neon3333
Только держать уже подготовленные переводы где тебе удобно, делать перевод на api и каждый раз дергать апи - извращение какое-то. Если тебе усралось уже так то апи, закешируй переводы с него и не дергай по 100500 раз. Да и + я уверен, что даже если ты юзаешь аиограм, то работу с апи ты сделал синхронную, то есть пока один нажмет какую-то кнопку, все остальные будут ждать пока твоя "мега система" все разрулит + ко всему прочему где-то слышал, что у гугл транслейта есть лимиты обращений к апи
Да, я извращенец. Мне этот вариант понравился своей простотой и многофункциональностью. И нет, работа с апи так же асинхронно.
Получается хранить перевод в файлике. Спасибо.
|
|
|

10.05.2021, 14:09
|
|
Участник форума
Регистрация: 28.06.2020
Сообщений: 103
С нами:
3094002
Репутация:
48
|
|
Можно заюзать кэширование на memcached / redis, как раз для временного хранения данных придумано
|
|
|
|
 |
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|