Para ser honesto, foi um pouco ofensivo. Isso é o que falta!
Claro, comecei a procurar uma saída para mim e meus amigos. E eu encontrei.
Essa saída foi a biblioteca de tradutores (Yandex também pode fazer isso).
Em geral, o código permanece o mesmo do artigo anterior , a lógica mudou ligeiramente.
Tudo relacionado ao Yandex foi removido, as bibliotecas langdetect e tradutores foram adicionadas . A primeira é definir o idioma, pois sem acesso à API teria que ser feito manualmente. O segundo, respectivamente, é o módulo para acessar o tradutor do google via urllib e solicitações.
Aqui estão todas as inovações:
................
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
................
O arquivo ~ / .local / lib / python3.8 / site-packages / translators / apis.py também foi alterado
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'
Bem, eu realmente não preciso da saída de depuração, linhas 53 e 120, bem como do servidor padrão e a saída em 144 e 151 mudou de chinês para russo.
Projeto no github .
PS: O tradutor do Google, como se descobriu, lida com seu propósito melhor do que o Yandex.