Maison >Java >javaDidacticiel >L'API Java Baidu Translation réalise le scénario d'application de traduction mutuelle entre le chinois et le slovaque

L'API Java Baidu Translation réalise le scénario d'application de traduction mutuelle entre le chinois et le slovaque

PHPz
PHPzoriginal
2023-08-06 18:29:02610parcourir

L'API Java Baidu Translation réalise le scénario d'application de traduction mutuelle entre le chinois et le slovaque

Avec le développement de la mondialisation, la communication entre les personnes devient de plus en plus fréquente. Les barrières linguistiques sont devenues un problème important dans la communication et l'interaction des gens. Afin de résoudre ce problème, divers outils de traduction ont vu le jour. L'API Java Baidu Translation en fait partie. Elle réalise la fonction de traduction mutuelle entre le chinois et le slovaque en appelant l'interface API Baidu Translation. Cet article explique comment utiliser l'API Java Baidu Translation pour traduire le chinois et le slovaque l'un vers l'autre et fournit des exemples de code correspondants.

Tout d'abord, nous devons créer un compte sur la plateforme ouverte de traduction Baidu et créer une application. Après une inscription réussie, nous pouvons obtenir un identifiant d'application et une clé d'application, qui sont utilisés pour appeler l'interface API de traduction Baidu.

Ensuite, nous devons présenter les packages de dépendances pertinents de l'API Java Baidu Translation. Dans le fichier pom.xml, ajoutez les dépendances suivantes :

<dependency>
    <groupId>com.googlecode.json-simple</groupId>
    <artifactId>json-simple</artifactId>
    <version>1.1.1</version>
</dependency>
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.12</version>
</dependency>

Ensuite, nous pouvons créer une classe d'outils TranslateUtil pour appeler l'interface API de traduction Baidu pour la traduction. Le code est le suivant :

import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;

import java.net.URLEncoder;

public class TranslateUtil {

    private static final String TRANS_API_HOST = "http://api.fanyi.baidu.com/api/trans/vip/translate";
    private static final String APP_ID = "your_app_id"; // 替换为自己的App ID
    private static final String SECURITY_KEY = "your_security_key"; // 替换为自己的App密钥

    /**
     * 调用百度翻译API进行翻译
     *
     * @param query 待翻译的字符串
     * @return 翻译结果
     */
    public static String translate(String query) {
        try {
            // 对待翻译的字符串进行URL编码
            String urlQuery = URLEncoder.encode(query, "UTF-8");

            // 构建请求URL
            String url = TRANS_API_HOST + "?q=" + urlQuery + "&from=auto&to=sk" +
                    "&appid=" + APP_ID + "&salt=1435660288&sign=" +
                    MD5Utils.md5(APP_ID + query + "1435660288" + SECURITY_KEY);

            // 发起HTTP请求
            CloseableHttpClient httpClient = HttpClients.createDefault();
            HttpGet httpGet = new HttpGet(url);
            CloseableHttpResponse response = httpClient.execute(httpGet);
            HttpEntity entity = response.getEntity();

            // 解析HTTP响应
            String responseStr = EntityUtils.toString(entity);
            JSONParser jsonParser = new JSONParser();
            JSONObject jsonObject = (JSONObject) jsonParser.parse(responseStr);
            JSONArray transResultArray = (JSONArray) jsonObject.get("trans_result");
            JSONObject transResult = (JSONObject) transResultArray.get(0);
            String dst = (String) transResult.get("dst");

            // 关闭HTTP连接
            response.close();
            httpClient.close();

            return dst;

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

Dans le code ci-dessus, nous appelons l'interface API de traduction Baidu pour fusionner la chaîne à traduire, l'ID de l'application, la clé et d'autres informations dans une URL, et lancer une requête HTTP. Nous analysons ensuite la réponse HTTP, obtenons les résultats de la traduction et les renvoyons.

Enfin, nous pouvons écrire une classe de test pour tester la classe d'outils TranslateUtil. Le code est le suivant :

public class TranslateTest {

    public static void main(String[] args) {
        String query = "你好";
        String result = TranslateUtil.translate(query);
        System.out.println("中文:" + query);
        System.out.println("斯洛伐克语:" + result);
    }
}

Dans la classe de test, nous pouvons appeler la méthode de traduction de la classe d'outils TranslateUtil, saisir une chaîne chinoise à traduire et sortir la chaîne slovaque traduite.

En exécutant la classe de test, nous pouvons voir le résultat suivant :

中文:你好
斯洛伐克语:Ahoj

Ci-dessus sont les étapes et les exemples de code pour utiliser l'API de traduction Java Baidu pour traduire entre le chinois et le slovaque. Avec l'aide de cette API, nous pouvons réaliser des traductions entre davantage de langues et améliorer la commodité et l'efficacité de la communication.

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