Menggunakan bahasa Go untuk membangunkan API Terjemahan Baidu untuk mencapai terjemahan bersama antara bahasa Cina dan Indonesia
Dalam konteks globalisasi, pertukaran antara negara telah menjadi semakin kerap. Terjemahan telah menjadi alat yang sangat diperlukan dan memainkan peranan penting dalam komunikasi silang budaya. Baidu Translation API ialah alat terjemahan yang berkuasa dan mudah digunakan yang boleh memenuhi keperluan terjemahan antara bahasa yang berbeza. Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk membangunkan API Terjemahan Baidu untuk mencapai terjemahan bersama antara bahasa Cina dan Indonesia, dan melampirkan contoh kod yang sepadan.
Pertama, kami perlu mendaftar dan membuat aplikasi pada Platform Terjemahan Baidu, dan mendapatkan ID Apl dan Kunci Apl permohonan itu. Alamat pendaftaran ialah: https://fanyi-api.baidu.com/product/11
Seterusnya, kami boleh menggunakan bahasa Go untuk menulis kod dan menghantar permintaan terjemahan ke Baidu Translation API melalui permintaan HTTP. Kami boleh menggunakan pakej net/http Go untuk menghantar permintaan HTTP dan pakej github.com/tidwall/gjson untuk menghuraikan data JSON yang dikembalikan.
package main import ( "encoding/json" "fmt" "io/ioutil" "net/http" "net/url" "strings" "github.com/tidwall/gjson" ) const ( appID = "your_app_id" appKey = "your_app_key" apiURL = "https://fanyi-api.baidu.com/api/trans/vip/translate" ) type TranslationResult struct { From string `json:"from"` To string `json:"to"` TransResult []struct { Src string `json:"src"` Dst string `json:"dst"` } `json:"trans_result"` } func main() { // 定义要翻译的文本和目标语言 text := "Hello world!" targetLanguage := "id" // id表示印尼文 // 构建请求参数 values := url.Values{} values.Add("q", text) values.Add("from", "auto") values.Add("to", targetLanguage) values.Add("appid", appID) values.Add("salt", "1") values.Add("sign", generateSign(text)) // 发送请求 resp, err := http.PostForm(apiURL, values) if err != nil { fmt.Println("翻译请求发送失败:", err) return } defer resp.Body.Close() // 读取响应内容 body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println("响应内容读取失败:", err) return } // 解析JSON数据 translationResult := TranslationResult{} err = json.Unmarshal(body, &translationResult) if err != nil { fmt.Println("JSON数据解析失败:", err) return } // 获取翻译结果 if len(translationResult.TransResult) > 0 { fmt.Println("原文:", translationResult.TransResult[0].Src) fmt.Println("翻译结果:", translationResult.TransResult[0].Dst) } else { fmt.Println("翻译结果为空") } } // 生成签名 func generateSign(text string) string { return fmt.Sprintf("%x", md5.Sum([]byte(appID+text+"1"+appKey))) }
Dalam kod di atas, kami mula-mula mentakrifkan struktur TranslationResult untuk menyimpan hasil terjemahan yang dikembalikan. Kemudian, kami mentakrifkan fungsi utama di mana kami melengkapkan langkah berikut:
Perlu diingatkan bahawa dalam fungsi generateSign
dalam kod, kami menggunakan algoritma md5 untuk menyulitkan rentetan yang akan ditandatangani. Ini adalah untuk memastikan keselamatan permintaan. Dalam pembangunan sebenar, kami juga boleh menggunakan algoritma penyulitan lain untuk menjana tandatangan.
Akhir sekali, kami boleh menjalankan kod dan melihat hasil terjemahan pada konsol. Sebagai contoh, jika kita menterjemah "Hello world!" daripada bahasa Inggeris ke bahasa Indonesia, kita akan mendapat hasil terjemahan "Halo dunia!".
Melalui contoh kod di atas, kami berjaya membangunkan aplikasi mudah menggunakan bahasa Go untuk merealisasikan fungsi terjemahan bersama antara bahasa Cina dan Indonesia. Dengan fungsi hebat Baidu Translation API, kami boleh menterjemah antara bahasa yang berbeza dan menggalakkan komunikasi dan kerjasama antara negara dan wilayah yang berbeza. Saya harap artikel ini dapat membantu pembangun yang sedang membangunkan aplikasi berkaitan.
Atas ialah kandungan terperinci Gunakan bahasa go untuk membangunkan API Terjemahan Baidu untuk merealisasikan terjemahan bersama antara bahasa Cina dan Indonesia. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!