Menggunakan bahasa go dan API terjemahan Baidu untuk menterjemah bahasa Cina dan Korea antara satu sama lain

王林
Lepaskan: 2023-08-04 08:05:10
asal
766 orang telah melayarinya

Gunakan bahasa Go dan API Terjemahan Baidu untuk merealisasikan terjemahan bersama antara bahasa Cina dan Korea

Pengenalan

Kini semakin ramai orang perlu berkomunikasi dan bekerjasama merentas bahasa. Artikel ini akan memperkenalkan cara menggunakan bahasa Go dan API Terjemahan Baidu untuk mencapai terjemahan bersama antara bahasa Cina dan Korea. Bahasa Go ialah bahasa pengaturcaraan yang ringkas dan cekap, dan API Terjemahan Baidu ialah antara muka yang menyediakan perkhidmatan terjemahan mesin. Kami akan menggunakan bahasa Go untuk menulis program mudah untuk mencapai terjemahan bersama antara bahasa Cina dan Korea melalui API Terjemahan Baidu.

Konfigurasi persekitaran

Pertama, kami perlu memohon akaun pembangun pada platform terbuka API Baidu, mencipta aplikasi dan mendapatkan ID Apl dan kunci API. Seterusnya, kita perlu memasang persekitaran pembangunan bahasa Go dan menggunakan arahan go get untuk memasang pakej pergantungan yang berkaitan.

go get github.com/go-resty/resty/v2
go get golang.org/x/text/encoding/simplifiedchinese
Salin selepas log masuk

Pelaksanaan kod

Berikut ialah contoh kod penggunaan bahasa Go dan API Terjemahan Baidu untuk menterjemah bahasa Cina dan Korea antara satu sama lain:

package main

import (
    "fmt"
    "io/ioutil"
    "net/url"
    "strings"

    "github.com/go-resty/resty/v2"
    "golang.org/x/text/encoding/simplifiedchinese"
)

const (
    appID     = "your_app_id"     // 请替换为你的应用App ID
    appSecret = "your_app_secret" // 请替换为你的应用密钥
    baseURL   = "https://fanyi-api.baidu.com/api/trans/vip/translate"
)

func main() {
    // 输入中文文本
    chineseText := "你好,世界!"
    // 中文翻译为韩文
    koreanText, err := translate(chineseText, "auto", "zh", "ko")
    if err != nil {
        fmt.Printf("翻译失败:%s
", err)
        return
    }
    fmt.Println("中文翻译为韩文:", koreanText)

    // 输入韩文文本
    koreanText = "안녕하세요, 세계!"
    // 韩文翻译为中文
    chineseText, err = translate(koreanText, "auto", "ko", "zh")
    if err != nil {
        fmt.Printf("翻译失败:%s
", err)
        return
    }
    fmt.Println("韩文翻译为中文:", chineseText)
}

func translate(text string, from, to, lang string) (string, error) {
    client := resty.New()
    // 使用URL编码对文本进行处理
    text = url.QueryEscape(text)
    // 拼接请求URL
    reqURL := fmt.Sprintf("%s?q=%s&from=%s&to=%s&appid=%s&salt=1", baseURL, text, from, to, appID)
    // 发送GET请求
    resp, err := client.R().Get(reqURL)
    if err != nil {
        return "", err
    }
    // 解析返回的JSON数据
    respData := struct {
        TransResult []struct {
            Src string `json:"src"`
            Dst string `json:"dst"`
        } `json:"trans_result"`
    }{}
    err = resp.Unmarshal(&respData)
    if err != nil {
        return "", err
    }
    // 提取翻译结果
    result := ""
    for _, tr := range respData.TransResult {
        result += tr.Dst
    }
    // 如果目标语言是中文,则解码
    if lang == "zh" {
        decoder := simplifiedchinese.GB18030.NewDecoder()
        decodedResult, err := decoder.String(result)
        if err != nil {
            return "", err
        }
        result = decodedResult
    }
    // 返回翻译结果
    return result, nil
}
Salin selepas log masuk

Dalam kod di atas, kami mula-mula menentukan beberapa pemalar, termasuk ID Apl dan kata laluan daripada API Terjemahan Baidu dan URL permintaan. Kemudian, kami mentakrifkan fungsi translate函数用于发送HTTP请求并解析返回的JSON数据。最后,在main函数中,我们调用translate untuk merealisasikan terjemahan bersama antara bahasa Cina dan Korea.

Keluaran hasil berjalan

Apabila kami menjalankan program, hasil terjemahan bahasa Cina dan Korea akan dikeluarkan:

中文翻译为韩文: 안녕하세요, 세계!
韩文翻译为中文: 你好,世界!
Salin selepas log masuk

Ringkasan

Artikel ini memperkenalkan cara menggunakan bahasa Go dan API Terjemahan Baidu untuk mencapai terjemahan bersama antara bahasa Cina dan Korea . Dengan menggunakan perpustakaan klien HTTP bahasa Go dan antara muka yang disediakan oleh Baidu Translation API, kami boleh menterjemah teks Cina ke dalam teks Korea dan Korea ke bahasa Cina dengan mudah. Dalam projek sebenar, kami boleh merangkum dan melanjutkan kod seperti yang diperlukan untuk mencapai fungsi terjemahan yang lebih kompleks. Harap artikel ini membantu anda!

Atas ialah kandungan terperinci Menggunakan bahasa go dan API terjemahan Baidu untuk menterjemah bahasa Cina dan Korea antara satu sama lain. 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