Yandexを使用して翻訳します

xfce4-dict混乱する過程で、私はほぼ3年前出会いました: 「選択されたテキストの任意の言語からロシア語への翻訳」 。 ソリューションは非常に簡単であることが判明しましたが、Google翻訳者に何か問題がありました。 彼が非常に早くcaptchaを発行し始めたため、または彼がお金が欲しかったために...それを理解するのは面倒すぎたので、彼はYandex.Translation APIを使用し元のスクリプトを単純に書き直しました。



まず、Yandexにログインしてキー取得する必要があります 。 鍵は即座に生成され、誰も尋問に満足せず、何も期待する必要はありません。 もちろん、その前にユーザー同意書を読んで同意する必要があります。



それでは、すべてが簡単です。



#!/bin/sh key="    API" text="$(echo $(xsel -o) | sed "s/[\"\'<>]//g")" translate="$(wget -qO - "https://translate.yandex.net/api/v1.5/tr.json/translate?key=$key&text=$text&lang=ru")" notify-send -u critical "$text" "$(echo $translate | sed 's/.*\[\"\(.*\)\"\].*/\1/')"
      
      







もちろん、クリップボードに翻訳を貼り付けて、美しいレスポンスパーサー(YandexはJSON [P]とXMLの両方を提供できます )、より思慮深いテキスト前処理、POSTでより大きなフラグメントを使用して、はるかに美しいすべてを行うことができます、そして他の喜びとともに。 しかし、これは好みの問題です。 ユーザーケースとさまざまな実装の詳細な議論はオリジナルの記事にあります。



UPD:



spersontransがあることを示唆しています。 実際、これは同じGoogle翻訳の高度なラッパーであり、テキストの前処理と後処理を行います。また、プロキシを使用すると、他の多くの便利なものを指定できます。 したがって、Googleに満足していれば、さらに簡単です。



 #!/bin/sh notify-send -u critical "$(xsel -o | trans -no-ansi -l ru)"
      
      







出力:





そして、より大きな記事:





All Articles