Rumah  >  Artikel  >  Java  >  Proses logik untuk melaksanakan sistem terjemahan dalam talian berciri penuh di Jawa

Proses logik untuk melaksanakan sistem terjemahan dalam talian berciri penuh di Jawa

WBOY
WBOYasal
2023-06-27 10:58:592043semak imbas

Dengan perkembangan globalisasi yang semakin mendalam, orang ramai semakin memerlukan komunikasi silang bahasa dalam kehidupan dan pekerjaan mereka. Oleh itu, permintaan untuk sistem terjemahan dalam talian juga semakin meningkat dari hari ke hari. Artikel ini akan memperkenalkan proses logik cara menggunakan bahasa Java untuk melaksanakan sistem terjemahan dalam talian berciri penuh.

  1. Tentukan API terjemahan

Sebelum melaksanakan sistem terjemahan dalam talian, kita perlu memilih API terjemahan terlebih dahulu. Pada masa ini, API terjemahan arus perdana di pasaran termasuk API Terjemahan Baidu, API Terjemahan Tencent, API Terjemahan Google, dsb. Di sini kami mengambil API Terjemahan Baidu sebagai contoh untuk diperkenalkan.

  1. Dapatkan AppID dan kunci API Terjemahan Baidu

Sebelum menggunakan API Terjemahan Baidu, anda perlu mendaftar akaun Platform Terbuka Terjemahan Baidu dan buat aplikasi. Selepas membuat aplikasi, anda boleh mendapatkan AppID dan kunci pada halaman butiran aplikasi.

  1. Dapatkan hasil terjemahan melalui permintaan HTTP

Sebelum menggunakan Baidu Translation API untuk terjemahan, kami perlu menghantar kandungan untuk diterjemahkan ke Baidu Translation API melalui permintaan HTTP dan mendapatkan hasil terjemahan. Di Java, anda boleh menggunakan kelas HttpURLConnection atau HttpClient untuk menghantar permintaan HTTP.

Sebagai contoh, kod untuk menggunakan HttpURLConnection untuk menghantar permintaan HTTP adalah seperti berikut:

URL url = new URL("http://api.fanyi.baidu.com/api/trans/vip/translate");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
String param = "from=en&to=zh&appid=your_app_id&q=Hello";
OutputStream outputStream = connection.getOutputStream();
outputStream.write(param.getBytes());
outputStream.flush();
outputStream.close();

BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
    stringBuilder.append(line);
}
reader.close();

String result = stringBuilder.toString();
System.out.println(result);

Dalam kod di atas, kami menggunakan antara muka HTTP API Terjemahan Baidu dan menetapkan kandungan untuk diterjemahkan kepada "Hello", tetapkan bahasa sumber terjemahan kepada bahasa Inggeris, dan tetapkan Bahasa sasaran ditetapkan kepada bahasa Cina. Dengan menghantar permintaan HTTP, kami boleh mendapatkan hasil terjemahan dan mengeluarkannya ke konsol.

  1. Menghuraikan hasil terjemahan

Selepas mendapat hasil terjemahan, kita perlu menghuraikan hasil dan mengekstrak bahagian yang kita perlukan. Dalam antara muka HTTP API Terjemahan Baidu, hasil terjemahan yang dikembalikan adalah dalam format JSON. Oleh itu, perpustakaan penghuraian JSON (seperti Gson, Jackson, dll.) boleh digunakan dalam Java untuk menghuraikan hasil terjemahan.

Sebagai contoh, kami boleh menggunakan Gson untuk menghuraikan hasil terjemahan dengan kod berikut:

Gson gson = new Gson();
TranslationResult translationResult = gson.fromJson(result, TranslationResult.class);

System.out.println(translationResult.transResult.get(0).dst);

Dalam kod di atas, kami menggunakan Gson untuk menghuraikan hasil terjemahan dalam format JSON, mengekstrak kandungan teks bahasa sasaran dalam hasil terjemahan, dan keluarkannya ke kawalan Taichung.

  1. Laksanakan antara muka pengguna

Akhir sekali, kami perlu melaksanakan antara muka pengguna yang membolehkan pengguna memasukkan kandungan untuk diterjemahkan dan memaparkan hasil terjemahan kepada pengguna. Di Java, antara muka pengguna boleh dilaksanakan menggunakan rangka kerja seperti Swing atau JavaFX.

Sebagai contoh, kami boleh menggunakan JavaFX untuk melaksanakan antara muka pengguna yang ringkas dengan kod berikut:

public class TranslationApp extends Application {

    private TextField inputTextField;
    private TextArea outputTextArea;

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        Label inputLabel = new Label("输入内容:");
        inputTextField = new TextField();
        Label outputLabel = new Label("翻译结果:");
        outputTextArea = new TextArea();
        outputTextArea.setEditable(false);
        Button translateButton = new Button("翻译");
        translateButton.setOnAction(event -> translate());

        VBox root = new VBox();
        root.setSpacing(10);
        root.setPadding(new Insets(10));
        root.getChildren().addAll(inputLabel, inputTextField, outputLabel, outputTextArea, translateButton);

        Scene scene = new Scene(root, 400, 300);
        primaryStage.setScene(scene);
        primaryStage.setTitle("在线翻译系统");
        primaryStage.show();
    }

    private void translate() {
        // 发送HTTP请求,并解析翻译结果
        String result = sendHttpRequest(inputTextField.getText());
        Gson gson = new Gson();
        TranslationResult translationResult = gson.fromJson(result, TranslationResult.class);

        // 更新翻译结果到界面
        outputTextArea.setText(translationResult.transResult.get(0).dst);
    }

    private String sendHttpRequest(String text) {
        // TODO:发送HTTP请求并返回翻译结果
    }

}

Dalam kod di atas, kami melaksanakan antara muka pengguna yang mengandungi kotak input, kotak output dan butang terjemahan melalui rangka kerja JavaFX dan butang tambahan peristiwa Memproses logik, apabila pengguna mengklik butang terjemahan, permintaan HTTP akan dihantar, hasil terjemahan akan dihuraikan, dan hasil terjemahan akan dipaparkan kepada pengguna.

Ringkasnya, melalui 5 langkah di atas, kami telah melaksanakan sistem terjemahan dalam talian berciri penuh menggunakan Java.

Atas ialah kandungan terperinci Proses logik untuk melaksanakan sistem terjemahan dalam talian berciri penuh di Jawa. 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