Rumah >Java >javaTutorial >Terjemahan lanjutan antara Cina dan Latvia melalui Java Baidu Translation API

Terjemahan lanjutan antara Cina dan Latvia melalui Java Baidu Translation API

WBOY
WBOYasal
2023-08-04 12:04:59882semak imbas

Terjemahan lanjutan antara Cina dan Latvia melalui Java Baidu Translation API

Dalam era Internet, komunikasi merentas bahasa telah menjadi kebiasaan. Sama ada dalam perjalanan antarabangsa, pertukaran perniagaan atau pertukaran belajar, aplikasi alat terjemahan telah menjadi sangat biasa. Antaranya, Baidu Translation API ialah alat terjemahan yang sangat baik yang boleh menyediakan perkhidmatan terjemahan yang tepat dan pantas.

Dalam artikel ini, kami akan memperkenalkan cara menggunakan Java Baidu Translation API untuk mencapai terjemahan lanjutan antara bahasa Cina dan Latvia. Kami akan menggunakan antara muka HTTP API Terjemahan Baidu untuk menghantar permintaan dan menghuraikan hasil terjemahan yang dikembalikan melalui kod Java. Seterusnya, kami akan memperkenalkan proses pelaksanaan langkah demi langkah.

Pertama sekali, kami perlu mendapatkan akaun pembangun untuk Baidu Translation API untuk mendapatkan kebenaran panggilan API. Selepas pendaftaran selesai, kami boleh mendapatkan ID APP dan kunci, yang akan digunakan dalam operasi seterusnya.

Seterusnya, kita perlu membina projek Java dan menambah pakej pergantungan yang sepadan. Kita boleh menggunakan Maven untuk mengurus pakej pergantungan ini. Dalam fail pom.xml projek, tambahkan kebergantungan berikut:

<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>

Seterusnya, kita perlu mencipta kelas TranslateUtil untuk melaksanakan fungsi terjemahan. Dalam kelas ini, kita perlu menulis kod berikut:

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) {
        // ...
    }
}

Dalam kod di atas, kita mula-mula mentakrifkan ID APP dan KUNCI RAHSIA dalam kelas TranslateUtil, dan kemudian tulis kaedah terjemah, yang digunakan untuk menerima teks yang memerlukan untuk diterjemahkan, bahasa sumber dan bahasa sasaran, dan mengembalikan hasil terjemahan.

Dalam kaedah terjemahan, kami mula-mula menghasilkan garam rawak dan tanda tandatangan. Kemudian, kami menggabungkan parameter ini dan menterjemah kandungan ke dalam URL permintaan mengikut keperluan API dan menghantar permintaan HTTP. Seterusnya, kami mendapat hasil terjemahan dengan menghuraikan hasil JSON yang dikembalikan.

Akhir sekali, kami boleh memanggil kelas TranslateUtil melalui kod berikut dan mencetak hasil terjemahan:

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);
    }
}

Dalam kod di atas, kami menghantar rentetan bahasa Cina "Hello" dan menentukan bahasa sumber sebagai "zh" ( Cina) dan bahasa sasaran ialah "lv" (Latvia). Akhir sekali, kami mendapat hasil terjemahan dengan memanggil kaedah terjemahan TranslateUtil dan mencetak hasilnya.

Melalui langkah di atas, kita boleh mencapai terjemahan lanjutan antara bahasa Cina dan Latvia. Dengan bantuan Java Baidu Translation API, kami boleh melaksanakan fungsi terjemahan berbilang bahasa dengan mudah dalam aplikasi kami sendiri untuk menyediakan pengguna dengan perkhidmatan dan pengalaman yang lebih baik.

Atas ialah kandungan terperinci Terjemahan lanjutan antara Cina dan Latvia melalui Java Baidu Translation API. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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