トランスレーターAPIを使用して、単語やフレーズを翻訳し、どこからでも作業するための簡単なプログラムを自分で作成しました。 curlを使用したかったのですが、そのような言語がないというエラーが発生した理由は明らかではありません。
さて、退屈で、時には遅く、時には非常に明るい白い新しいタブに追加情報が表示される代わりに、
trans helloターミナルに書き込み、ロシア語に翻訳し、
trans hiであれば英語に翻訳します。 もちろん、引用符でフレーズを入力できます。 速く動作します。
import javax.net.ssl.HttpsURLConnection; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.net.URLEncoder; public class YandexTranslate { private static int i = 0; public static void main(String[] args) throws IOException { System.out.println(translate("ru", args[0])); } private static String translate(String lang, String input) throws IOException { String urlStr = "https://translate.yandex.net/api/v1.5/tr.json/translate?key=trnsl.1.1.20150627T071448Z.117dacaac1e63b79.6b1b4bb84635161fcd400dace9fb2220d6f344ef"; URL urlObj = new URL(urlStr); HttpsURLConnection connection = (HttpsURLConnection)urlObj.openConnection(); connection.setRequestMethod("POST"); connection.setDoOutput(true); DataOutputStream dataOutputStream = new DataOutputStream(connection.getOutputStream()); dataOutputStream.writeBytes("text=" + URLEncoder.encode(input, "UTF-8") + "&lang=" + lang); InputStream response = connection.getInputStream(); String json = new java.util.Scanner(response).nextLine(); int start = json.indexOf("["); int end = json.indexOf("]"); String translated = json.substring(start + 2, end - 1); i++; if (translated.equals(input) && i < 2) {
変換を任意のディレクトリで機能させるには、.classファイルと
trans.shを
/ usr / binに配置して呼び出す必要があります。
そして実行可能にします:
sudo chmod + x trans.sh翻訳する代わりに、キーが終了したというメッセージが表示される場合、または少なすぎる場合は、ここで
新しいキーを取得し、Javaコードの必要な場所に貼り付けてからコンパイルし(
javac YandexTranslate.java )、
/でコピーします
usr / bin 。
また、このコード
はGithubで入手できます 。
また、Firefoxユーザーは
拡張機能トランスレーターを使用できます。これはコンテキストメニューに統合されており、高速でミニマルであり、DOMに影響を与えません。インストール後すぐに動作し、ブラウザーの再起動は不要です。 現在、Firefoxの現在のバージョン用の唯一のYandexトランスレータです。
UPD: bashでそのようなことをすぐに行う方が良いですが、すぐにはうまくいきませんでしたが、
bockraがスクリプトを示した後、翻訳の方向を示す必要がなく、引用なしでいくつかの単語を書くことができるように
追加しました 。 私はアンパサントでいくつかの単語の翻訳を達成することはできませんでしたが、彼と一緒にチェラーもできました。