HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 09.05.2021, 21:12
laiser
Участник форума
Регистрация: 21.12.2013
Сообщений: 181
С нами: 6522707

Репутация: 83
По умолчанию

Всем привет, мне нужен ваш совет.

В моес тг боте есть функция смена языка (Рус или eng).

Я реализовал это с помощью API Google Translate. Каждое нажатие кнопки от пользователя идет обращение к БД, от туда берется ячейка с настройками языка. И после все кнопки переводятся на тот язык который стоит в настройках.

В этом есть большой минус - иногда долго загружаются кнопки из-за интернета. Но есть и плюс, можно сделать 100 языков не меняя код.

Так как загрузка может быть аж больше 3х секунд, то я задумался об переработке кода, и решил спросить у вас, как лучше такое реализовать?

Вот мои идеи:

API Google Translate

Записать все рус. и англ. слова в разные файлы, и брать их от туда.

Забить и через if сделать.
 
Ответить с цитированием

  #2  
Старый 10.05.2021, 05:14
Neon3333
Участник форума
Регистрация: 13.02.2019
Сообщений: 183
С нами: 3815624

Репутация: 83
По умолчанию

Цитата:
Сообщение от laiser  

Всем привет, мне нужен ваш совет.

В моес тг боте есть функция смена языка (Рус или eng).

Я реализовал это с помощью API Google Translate. Каждое нажатие кнопки от пользователя идет обращение к БД, от туда берется ячейка с настройками языка. И после все кнопки переводятся на тот язык который стоит в настройках.

В этом есть большой минус - иногда долго загружаются кнопки из-за интернета. Но есть и плюс, можно сделать 100 языков не меняя код.

Так как загрузка может быть аж больше 3х секунд, то я задумался об переработке кода, и решил спросить у вас, как лучше такое реализовать?

Вот мои идеи:
API Google Translate
Записать все рус. и англ. слова в разные файлы, и брать их от туда.
Забить и через if сделать.
Только держать уже подготовленные переводы где тебе удобно, делать перевод на api и каждый раз дергать апи - извращение какое-то. Если тебе усралось уже так то апи, закешируй переводы с него и не дергай по 100500 раз. Да и + я уверен, что даже если ты юзаешь аиограм, то работу с апи ты сделал синхронную, то есть пока один нажмет какую-то кнопку, все остальные будут ждать пока твоя "мега система" все разрулит + ко всему прочему где-то слышал, что у гугл транслейта есть лимиты обращений к апи
 
Ответить с цитированием

  #3  
Старый 10.05.2021, 14:01
laiser
Участник форума
Регистрация: 21.12.2013
Сообщений: 181
С нами: 6522707

Репутация: 83
По умолчанию

Цитата:
Сообщение от Neon3333  

Только держать уже подготовленные переводы где тебе удобно, делать перевод на api и каждый раз дергать апи - извращение какое-то. Если тебе усралось уже так то апи, закешируй переводы с него и не дергай по 100500 раз. Да и + я уверен, что даже если ты юзаешь аиограм, то работу с апи ты сделал синхронную, то есть пока один нажмет какую-то кнопку, все остальные будут ждать пока твоя "мега система" все разрулит + ко всему прочему где-то слышал, что у гугл транслейта есть лимиты обращений к апи
Да, я извращенец. Мне этот вариант понравился своей простотой и многофункциональностью. И нет, работа с апи так же асинхронно.

Получается хранить перевод в файлике. Спасибо.
 
Ответить с цитированием

  #4  
Старый 10.05.2021, 14:09
SCHWEITZER
Участник форума
Регистрация: 28.06.2020
Сообщений: 103
С нами: 3094002

Репутация: 48
По умолчанию

Можно заюзать кэширование на memcached / redis, как раз для временного хранения данных придумано
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.