Ну вот и пришел долгожданный конец халяве(статья).

Честно говоря, было немного обидно. Вот чего им не хватает!
Я, разумеется, начал искать выход для себя и друзей. И нашел.
Этим выходом стала библиотека translators(Яндекс она тоже умеет).
В целом, код остался прежним, как и в предыдущей статье, немного изменилась логика.
Убрано было все, что касается Яндекс, добавлены библиотеки langdetect и translators. Первая для определения языка, ибо без доступа к API пришлось бы делать это вручную. Вторая, соответственно, модуль доступа к гугло-переводчику посредством urllib и requests.
Так же был изменен файл ~/.local/lib/python3.8/site-packages/translators/apis.py
Ну вот совсем мне не нужен вывод отладочной информации, строки 53 и 120, а так же умолчальный сервер и вывод в 144 и 151 изменен с китайского на русский.

Проект на github.
P.S: Переводчик от Google, как оказалось, справляется со своим предназначением лучше яндексовского.

Честно говоря, было немного обидно. Вот чего им не хватает!
Я, разумеется, начал искать выход для себя и друзей. И нашел.
Этим выходом стала библиотека 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, как оказалось, справляется со своим предназначением лучше яндексовского.
