Rumah > Java > javaTutorial > teks badan

API terjemahan Java Baidu merealisasikan terjemahan bersama antara bahasa Cina dan Inggeris

PHPz
Lepaskan: 2023-08-26 23:36:25
asal
841 orang telah melayarinya

API terjemahan Java Baidu merealisasikan terjemahan bersama antara bahasa Cina dan Inggeris

Java Baidu Translation API merealisasikan terjemahan bersama antara bahasa Cina dan Inggeris

Dalam beberapa tahun kebelakangan ini, dengan peningkatan permintaan untuk terjemahan bersama antara bahasa Cina dan Inggeris, pelbagai alat terjemahan dan API juga telah muncul. Antaranya, Baidu Translation API adalah salah satu alat yang biasa digunakan oleh banyak pembangun. Artikel ini akan memperkenalkan cara menggunakan bahasa Java yang digabungkan dengan API Terjemahan Baidu untuk merealisasikan fungsi terjemahan bersama antara bahasa Cina dan Inggeris.

Pertama, kami perlu mendaftar akaun pembangun Baidu dan membuat aplikasi terjemahan. Apabila membuat aplikasi terjemahan, kami akan mendapatkan AppID dan kunci (Kunci Aplikasi). Maklumat ini adalah kelayakan yang diperlukan untuk kami menghubungi Baidu Translation API.

Seterusnya, kita perlu memperkenalkan kebergantungan yang berkaitan. Dalam fail pom.xml projek, tambahkan kod berikut:

<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>
Salin selepas log masuk

Dua kebergantungan di atas ialah perpustakaan Apache HttpClient dan JSON, yang digunakan untuk menghantar permintaan HTTP dan memproses data JSON.

Seterusnya, kita perlu mencipta kelas terjemahan untuk merangkum kaedah memanggil API Terjemahan Baidu. Dalam kelas ini, kita perlu menentukan kaedah yang menerima teks untuk diterjemahkan dan bahasa sasaran sebagai parameter dan mengembalikan hasil terjemahan. Berikut ialah contoh kod:

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 "";
    }
}
Salin selepas log masuk

Dalam kod di atas, kami menggunakan Apache HttpClient untuk menghantar permintaan HTTP dan menghuraikan data JSON yang dikembalikan melalui perpustakaan JSON. Kami perlu menggantikan "id_apl_anda" dan "kunci_apl_anda" dalam kod dengan ID Apl dan kunci sebenar kami.

Akhir sekali, kita boleh memanggil kaedah kelas terjemahan dalam kelas utama projek untuk merealisasikan fungsi penterjemahan antara bahasa Cina dan Inggeris. Berikut ialah contoh kod:

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);
    }
}
Salin selepas log masuk

Dengan menjalankan kod di atas, kami boleh mencapai fungsi terjemahan bersama yang mudah antara bahasa Cina dan Inggeris.

Ringkasnya, artikel ini memperkenalkan cara menggunakan bahasa Java yang digabungkan dengan API Terjemahan Baidu untuk merealisasikan fungsi terjemahan bersama antara bahasa Cina dan Inggeris. Dengan menggunakan API Terjemahan Baidu, kami boleh melaksanakan fungsi terjemahan teks dengan mudah dan menggunakannya secara fleksibel dalam pembangunan. Saya berharap kod sampel dalam artikel ini dapat memberikan sedikit rujukan kepada pembaca untuk menggunakan API Terjemahan Baidu dalam projek sebenar.

Atas ialah kandungan terperinci API terjemahan Java Baidu merealisasikan terjemahan bersama antara bahasa Cina dan Inggeris. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan