Честно говоря, было немного обидно. Вот чего им не хватает!
Я, разумеется, начал искать выход для себя и друзей. И нашел.
Этим выходом стала библиотека translators(Яндекс она тоже умеет).
В целом, код остался прежним, как и в предыдущей статье, немного изменилась логика.
Убрано было все, что касается Яндекс, добавлены библиотеки langdetect и translators. Первая для определения языка, ибо без доступа к API пришлось бы делать это вручную. Вторая, соответственно, модуль доступа к гугло-переводчику посредством urllib и requests.
................
from langdetect import detect
import translators as ts
................
indetect = detect(clip())
def definition():
if indetect == 'ru':
langout = 'en'
else:
langout = 'ru'
return langout
def translate():
output = []
output = ts.google(clip(), to_language=definition(), if_use_cn_host=True)
return output
................
Так же был изменен файл ~/.local/lib/python3.8/site-packages/translators/apis.py
53 #logger.add(sys.stdout, format='[{time:HH:mm:ss}] <lvl>{message}</lvl>', level='INFO')
120 #sys.stderr.write(f'Using {data.get("country")} server backend.\n')
144 self.cn_host_url = 'https://translate.google.ru'
151 self.output_zh = 'ru-RU'
Ну вот совсем мне не нужен вывод отладочной информации, строки 53 и 120, а так же умолчальный сервер и вывод в 144 и 151 изменен с китайского на русский.
Проект на github.
P.S: Переводчик от Google, как оказалось, справляется со своим предназначением лучше яндексовского.
Rutel_Nsk
А что делать если гуглу тоже «кушать» захочется?
Еще вопрос сколько приложений критически зависят от таких условно «халявных сервисов»?
Думаю нужно таких условно бесплатных заставлять платить налоги, пусть будут или платные или гарантированно бесплатные. В реальной экономике есть способ давить конкурентов: Сначала продаешь за бесценок, а как конкуренты «помрут» можно взвинтить цены.
Sartorio
«Хороший» пример яндекс.такси.
rcl
Скоро к нам заявится Didi Chuxing и не будет Яндекс.такси.