ホームページ  >  記事  >  Java  >  Java Baidu翻訳APIで中国語と英語の相互翻訳を実現

Java Baidu翻訳APIで中国語と英語の相互翻訳を実現

PHPz
PHPzオリジナル
2023-08-26 23:36:25795ブラウズ

Java Baidu翻訳APIで中国語と英語の相互翻訳を実現

Java Baidu Translation API で中国語と英語の相互翻訳を実現

近年、中国語と英語の相互翻訳需要の高まりに伴い、さまざまな翻訳ツールやAPIが登場しています。も登場しました。その中でも、Baidu Translation API は多くの開発者がよく利用するツールの 1 つです。この記事では、Java 言語と Baidu Translation API を組み合わせて中国語と英語の相互翻訳機能を実現する方法を紹介します。

まず、Baidu 開発者アカウントを登録し、翻訳アプリケーションを作成する必要があります。翻訳アプリを作成する際には、AppIDとキー(App Key)を取得します。この情報は、Baidu Translation API を呼び出すために必要な認証情報です。

次に、関連する依存関係を導入する必要があります。プロジェクトの pom.xml ファイルに、次のコードを追加します。

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.13</version>
</dependency>

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20200518</version>
</dependency>

上記の 2 つの依存関係は、HTTP リクエストの送信と JSON データの処理に使用される Apache HttpClient ライブラリと JSON ライブラリです。

次に、Baidu Translation API を呼び出すメソッドをカプセル化する翻訳クラスを作成する必要があります。このクラスでは、翻訳対象のテキストとターゲット言語をパラメータとして受け取り、翻訳結果を返すメソッドを定義する必要があります。以下はサンプル コードです:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

import org.json.JSONArray;
import org.json.JSONObject;

public class Translation {
    private final String url = "http://api.fanyi.baidu.com/api/trans/vip/translate";
    private String appId = "your_app_id";
    private String appKey = "your_app_key";
    
    public String translate(String text, String targetLang) {
        try {
            String encodedText = URLEncoder.encode(text, "UTF-8");
            String fullUrl = url + "?q=" + encodedText + "&from=auto&to=" + targetLang + "&appid=" + appId + "&salt=1&sign=" + generateSign(text);

            URL apiUrl = new URL(fullUrl);
            HttpURLConnection connection = (HttpURLConnection) apiUrl.openConnection();
            connection.setRequestMethod("GET");

            BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String inputLine;
            StringBuilder response = new StringBuilder();

            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();

            JSONObject jsonResponse = new JSONObject(response.toString());
            JSONArray transResult = jsonResponse.getJSONArray("trans_result");
            JSONObject result = transResult.getJSONObject(0);

            String translatedText = result.getString("dst");
            return translatedText;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "";
    }
    
    private String generateSign(String text) {
        // 在这里根据百度翻译API的要求,生成签名
        // 可以参考百度翻译API的文档
        return "";
    }
}

上記のコードでは、Apache HttpClient を使用して HTTP リクエストを送信し、返された JSON データを JSON ライブラリを通じて解析します。コード内の「your_app_id」と「your_app_key」を実際の AppID とキーに置き換える必要があります。

最後に、プロジェクトのメイン クラスで翻訳クラス メソッドを呼び出して、中国語と英語の間の翻訳機能を実現します。以下にサンプルコードを示します。

public class Main {
    public static void main(String[] args) {
        Translation translation = new Translation();
        
        // 中文翻译为英文
        String text = "你好,世界!";
        String targetLang = "en";
        String translatedText = translation.translate(text, targetLang);
        System.out.println("中文翻译为英文: " + translatedText);
        
        // 英文翻译为中文
        String textToTranslate = "Hello, world!";
        String targetLanguage = "zh";
        String translatedText = translation.translate(textToTranslate, targetLanguage);
        System.out.println("英文翻译为中文: " + translatedText);
    }
}

上記のコードを実行することで、中国語と英語の簡単な相互翻訳機能を実現できます。

要約すると、この記事では、Java 言語と Baidu Translation API を組み合わせて、中国語と英語の相互翻訳機能を実現する方法を紹介します。 Baidu Translation APIを利用することで、テキスト翻訳機能を簡単に実装でき、開発時に柔軟に活用することができます。この記事のサンプル コードが、読者が Baidu Translation API を実際のプロジェクトに適用する際の参考になれば幸いです。

以上がJava Baidu翻訳APIで中国語と英語の相互翻訳を実現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。