Maison > Java > javaDidacticiel > Utilisez l'API Java Baidu Translation pour obtenir une traduction rapide et précise entre plusieurs langues

Utilisez l'API Java Baidu Translation pour obtenir une traduction rapide et précise entre plusieurs langues

PHPz
Libérer: 2023-08-06 09:34:45
original
847 Les gens l'ont consulté

Utilisez l'API Java Baidu Translation pour obtenir une traduction rapide et précise entre plusieurs langues

Avec le développement accéléré de la mondialisation, la communication entre les personnes est devenue de plus en plus fréquente. Cependant, la communication entre différentes langues reste un énorme obstacle. Pour résoudre ce problème, la technologie de traduction a été largement utilisée. Dans le domaine de la technologie de la traduction, la traduction automatique est également devenue une méthode courante.

Baidu Translation est l'un des services de traduction en ligne les plus utilisés en Chine. En utilisant l'API de traduction Baidu, nous pouvons facilement réaliser une traduction rapide et précise entre plusieurs langues dans les programmes Java. Cet article présentera en détail comment utiliser l'API Java Baidu Translation pour la traduction et fournira des exemples de code pertinents.

Tout d'abord, nous devons demander un compte développeur sur la plateforme de traduction Baidu et créer une application. Lors de la création d’une application, nous obtiendrons une clé API et une clé secrète, qui seront utilisées pour autoriser l’accès à l’API.

Ensuite, nous utilisons Java pour la programmation. Tout d’abord, nous devons importer les fichiers de bibliothèque nécessaires. Dans cet exemple, nous utilisons Apache HttpClient pour envoyer des requêtes HTTP et Json-lib pour analyser les données JSON renvoyées. Par conséquent, nous devons ajouter les dépendances pertinentes dans le fichier de build du projet.

import net.sf.json.JSONObject;
import net.sf.json.JSONArray;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

import java.util.ArrayList;
import java.util.List;
Copier après la connexion

Ensuite, nous définissons une classe Translate, qui contient deux méthodes :

public class Translate {
    // 百度翻译API地址
    private static final String TRANSLATE_API_URL = "http://api.fanyi.baidu.com/api/trans/vip/translate";
    // 百度翻译API密钥
    private static final String API_KEY = "YOUR_API_KEY";
    // 百度翻译API密钥
    private static final String SECRET_KEY = "YOUR_SECRET_KEY";

    /**
     * 将文本从指定语言翻译为目标语言
     *
     * @param text         待翻译文本
     * @param sourceLang   源语言
     * @param targetLang   目标语言
     * @return 翻译结果
     */
    public static String translate(String text, String sourceLang, String targetLang) {
        try {
            HttpClient httpClient = HttpClients.createDefault();

            // 构建请求参数
            List<NameValuePair> params = new ArrayList<>();
            params.add(new BasicNameValuePair("q", text));
            params.add(new BasicNameValuePair("from", sourceLang));
            params.add(new BasicNameValuePair("to", targetLang));
            params.add(new BasicNameValuePair("appid", API_KEY));
            params.add(new BasicNameValuePair("salt", String.valueOf(System.currentTimeMillis())));
            params.add(new BasicNameValuePair("sign", getSign(text)));

            HttpEntity entity = new UrlEncodedFormEntity(params, "UTF-8");

            // 发送POST请求
            HttpPost httpPost = new HttpPost(TRANSLATE_API_URL);
            httpPost.setEntity(entity);
            HttpResponse response = httpClient.execute(httpPost);

            // 解析返回的JSON数据
            String jsonString = EntityUtils.toString(response.getEntity(), "UTF-8");
            JSONObject jsonObject = JSONObject.fromObject(jsonString);
            JSONArray transArray = jsonObject.getJSONArray("trans_result");
            JSONObject transObj = transArray.getJSONObject(0);
            String translation = transObj.getString("dst");

            return translation;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    /**
     * 生成签名
     *
     * @param text 待翻译文本
     * @return 签名
     */
    private static String getSign(String text) {
        String sign = API_KEY + text + String.valueOf(System.currentTimeMillis()) + SECRET_KEY;
        return MD5.encode(sign);
    }
}
Copier après la connexion

Dans le code ci-dessus, la méthode translation reçoit trois paramètres : le texte à traduire, la langue source et la langue cible. Il envoie d'abord une requête POST à ​​l'API de traduction Baidu via HttpClient, puis analyse les données JSON renvoyées et renvoie enfin les résultats de la traduction.

La méthode getSign est utilisée pour générer une signature, qui concatène la clé API, le texte à traduire, l'horodatage actuel et la clé secrète, puis la crypte à l'aide de l'algorithme de cryptage MD5.

En utilisant la classe Translate mentionnée ci-dessus, nous pouvons traduire facilement. Voici un exemple d'utilisation :

public class Main {
    public static void main(String[] args) {
        String text = "Hello world!";
        String sourceLang = "en";
        String targetLang = "zh";

        String translation = Translate.translate(text, sourceLang, targetLang);
        System.out.println("翻译结果:" + translation);
    }
}
Copier après la connexion

En exécutant le code ci-dessus, nous pouvons traduire l'anglais "Hello world!" en chinois et l'afficher sur la console. Bien entendu, vous pouvez également l'ajuster en fonction de vos propres besoins pour obtenir des fonctions de traduction plus complexes.

Pour résumer, l'utilisation de l'API Java Baidu Translation peut réaliser rapidement et précisément une traduction entre plusieurs langues. Grâce aux exemples de code ci-dessus, nous pouvons voir que l'utilisation de l'API de traduction Baidu peut facilement implémenter des fonctions de traduction dans les programmes Java. J'espère que cet article pourra vous aider à comprendre et à utiliser l'API de traduction Baidu !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal