Rumah > Artikel > pembangunan bahagian belakang > Menggunakan bahasa go dan API terjemahan Baidu untuk menterjemah bahasa Cina dan Korea antara satu sama lain
Gunakan bahasa Go dan API Terjemahan Baidu untuk merealisasikan terjemahan bersama antara bahasa Cina dan Korea
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.
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
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 }
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.
Apabila kami menjalankan program, hasil terjemahan bahasa Cina dan Korea akan dikeluarkan:
中文翻译为韩文: 안녕하세요, 세계! 韩文翻译为中文: 你好,世界!
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!