Maison  >  Article  >  Java  >  Traduction avancée entre le chinois et le letton via l'API Java Baidu Translation

Traduction avancée entre le chinois et le letton via l'API Java Baidu Translation

WBOY
WBOYoriginal
2023-08-04 12:04:59780parcourir

Traduction avancée entre le chinois et le letton grâce à l'API Java Baidu Translation

À l'ère d'Internet, la communication multilingue est devenue une norme. Que ce soit lors de voyages internationaux, d'échanges d'affaires ou d'échanges d'études, l'application d'outils de traduction est devenue très courante. Parmi eux, l’API Baidu Translation est un très excellent outil de traduction capable de fournir des services de traduction précis et rapides.

Dans cet article, nous présenterons comment utiliser l'API Java Baidu Translation pour réaliser une traduction avancée entre le chinois et le letton. Nous utiliserons l'interface HTTP de l'API de traduction Baidu pour envoyer la requête et analyser les résultats de traduction renvoyés via le code Java. Ensuite, nous présenterons le processus de mise en œuvre étape par étape.

Tout d'abord, nous devons obtenir un compte développeur pour l'API Baidu Translation afin d'obtenir l'autorisation d'appel de l'API. Une fois l'enregistrement terminé, nous pouvons obtenir un identifiant APP et une clé, qui seront utilisés dans les opérations ultérieures.

Ensuite, nous devons construire un projet Java et ajouter les packages de dépendances correspondants. Nous pouvons utiliser Maven pour gérer ces packages de dépendances. Dans le fichier pom.xml du projet, ajoutez la dépendance suivante :

<dependencies>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.6</version>
    </dependency>
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.8.5</version>
    </dependency>
</dependencies>

Ensuite, nous devons créer une classe TranslateUtil pour implémenter la fonction de traduction. Dans cette classe, nous devons écrire le code suivant :

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import com.google.gson.Gson;
import com.google.gson.JsonObject;

public class TranslateUtil {
    private static final String APP_ID = "your_app_id";
    private static final String SECRET_KEY = "your_secret_key";

    public static String translate(String query, String from, String to) {
        try {
            String salt = String.valueOf(System.currentTimeMillis());
            String sign = MD5(APP_ID + query + salt + SECRET_KEY);

            // 组装请求URL
            String url = "http://api.fanyi.baidu.com/api/trans/vip/translate";
            url += "?q=" + URLEncoder.encode(query, "UTF-8");
            url += "&from=" + from;
            url += "&to=" + to;
            url += "&appid=" + APP_ID;
            url += "&salt=" + salt;
            url += "&sign=" + sign;

            // 发送HTTP请求
            HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
            conn.setRequestMethod("GET");

            // 获取翻译结果
            InputStream is = conn.getInputStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
            StringBuilder sb = new StringBuilder();
            String line;
            while ((line = reader.readLine()) != null) {
                sb.append(line);
            }
            reader.close();
            is.close();

            // 解析JSON结果
            Gson gson = new Gson();
            JsonObject obj = gson.fromJson(sb.toString(), JsonObject.class);
            JsonObject transResult = obj.getAsJsonArray("trans_result").get(0).getAsJsonObject();
            String result = transResult.get("dst").getAsString();
            
            return result;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    private static String MD5(String s) {
        // ...
    }
}

Dans le code ci-dessus, nous définissons d'abord l'ID APP et la CLÉ SECRET dans la classe TranslateUtil, puis écrivons une méthode de traduction, qui est utilisée pour recevoir le texte dont vous avez besoin. à traduire, la langue source et la langue cible, et renvoie les résultats de la traduction.

Dans la méthode de traduction, nous avons d'abord généré un sel aléatoire et un signe de signature. Ensuite, nous concaténons ces paramètres et le contenu traduit dans une URL de requête conformément aux exigences de l'API, et envoyons une requête HTTP. Ensuite, nous obtenons les résultats traduits en analysant les résultats JSON renvoyés.

Enfin, nous pouvons appeler la classe TranslateUtil via le code suivant et imprimer les résultats de la traduction :

public class Main {
    public static void main(String[] args) {
        String query = "你好";
        String from = "zh";
        String to = "lv";
        String result = TranslateUtil.translate(query, from, to);
        System.out.println(result);
    }
}

Dans le code ci-dessus, nous avons passé une chaîne chinoise "Bonjour" et spécifié la langue source comme "zh" (chinois) et la langue cible est "lv" (letton). Enfin, nous obtenons les résultats de la traduction en appelant la méthode translation de TranslateUtil et imprimons les résultats.

Grâce aux étapes ci-dessus, nous pouvons réaliser une traduction avancée entre le chinois et le letton. Avec l'aide de l'API Java Baidu Translation, nous pouvons facilement implémenter des fonctions de traduction multilingues dans nos propres applications pour offrir aux utilisateurs de meilleurs services et expériences.

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!

Déclaration:
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