正直、少し不快でした。それが彼らに欠けているものです!
もちろん、私は自分自身と私の友人のための方法を探し始めました。そして私はそれを見つけました。
この出力はトランスレータライブラリでした(Yandexでも実行できます)。
一般的に、コードは前の記事と同じままで、ロジックがわずかに変更されています。
Yandexに関連するすべてが削除され、langdetectおよびtranslatorsライブラリが追加されました。1つ目は、言語を定義することです。APIにアクセスしないと、手動で定義する必要があるためです。2つ目は、それぞれurllibとrequestsを介してgoogleトランスレータにアクセスするためのモジュールです。
ここにすべての革新があります:
................
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 / translations /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の
プロジェクト。 PS:Googleの翻訳者は、結局のところ、Yandexよりもその目的にうまく対処しています。