Автоматический переводчик на Python+GTK3. Альтернатива Яндексу

Ну вот и пришел долгожданный конец халяве (статья).
u3nslrgibbbwizct6ua_wdtyl8u.png
Честно говоря, было немного обидно. Вот чего им не хватает!

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

© Habrahabr.ru