Rumah > Artikel > pembangunan bahagian belakang > Gunakan bahasa go dan API terjemahan Baidu untuk mencapai terjemahan Cina-Denmark
Gunakan bahasa Go dan API Terjemahan Baidu untuk mencapai terjemahan Cina-Denmark
Dalam era globalisasi hari ini, komunikasi pelbagai bahasa telah menjadi keupayaan yang sangat diperlukan. Apabila pemahaman dan minat orang ramai terhadap budaya di seluruh dunia meningkat, begitu juga keperluan untuk terjemahan teks merentas bahasa. Artikel ini akan memperkenalkan cara menggunakan bahasa Go dan API Terjemahan Baidu untuk mencapai terjemahan bersama antara bahasa Cina dan Denmark.
Pertama, kami perlu mendaftar akaun pembangun Baidu dan membuat aplikasi API terjemahan. Selepas mendapatkan AppID dan AppKey aplikasi, kita boleh mula menulis kod bahasa Go.
Pertama, kita perlu memperkenalkan pakej yang diperlukan ke dalam bahasa Go. Gunakan perintah go get
untuk memasang pakej github.com/parnurzeal/gorequest
, yang boleh memudahkan kami menghantar permintaan http. go get
命令安装github.com/parnurzeal/gorequest
包,该包可以方便我们发送http请求。
package main import ( "fmt" "github.com/parnurzeal/gorequest" "log" "net/url" "strings" )
然后,我们定义了一个函数Translate
来实现翻译功能。该函数接受源语言、目标语言和要翻译的文本作为参数,并返回翻译后的结果。
func Translate(from, to, text string) string { appID := "YOUR_APP_ID" appKey := "YOUR_APP_KEY" apiURL := "http://api.fanyi.baidu.com/api/trans/vip/translate" // 构造请求参数 params := url.Values{} params.Set("q", text) params.Set("from", from) params.Set("to", to) params.Set("appid", appID) params.Set("salt", "123") // 计算sign sign := appID + text + "123" + appKey params.Set("sign", fmt.Sprintf("%x", md5.Sum([]byte(sign)))) // 发送翻译请求 request := gorequest.New() resp, body, errs := request.Get(apiURL).Query(params).End() if errs != nil { log.Fatal(errs) } if resp.StatusCode != http.StatusOK { log.Fatalf("Translation failed with status code: %d", resp.StatusCode) } // 解析返回结果 type TranslationResult struct { TransResult []struct { Src string `json:"src"` Dest string `json:"dst"` } `json:"trans_result"` } result := TranslationResult{} if err := json.Unmarshal([]byte(body), &result); err != nil { log.Fatal(err) } // 提取翻译结果 var translation strings.Builder for _, trans := range result.TransResult { translation.WriteString(trans.Dest) } return translation.String() }
接下来,我们可以在main
函数中使用Translate
函数进行测试。
func main() { from := "zh" // 中文 to := "da" // 丹麦文 text := "你好,世界!" // 待翻译文本 translation := Translate(from, to, text) fmt.Printf("翻译结果:%s ", translation) }
以上代码实现了一个简单的中文翻译成丹麦文的功能。你可以根据自己的需求更改from
、to
和text
rrreee
rrreee
Seterusnya, kita boleh menggunakan fungsiTerjemah
dalam fungsi utama
untuk ujian. rrreee
Kod di atas melaksanakan fungsi terjemahan mudah daripada bahasa Cina ke bahasa Denmark. Anda boleh menukar nilaidari
, ke
dan text
mengikut keperluan anda sendiri untuk mencapai terjemahan dalam bahasa lain. 🎜🎜Perlu diambil perhatian bahawa oleh kerana API Terjemahan Baidu mempunyai sekatan panggilan tertentu, adalah disyorkan untuk cache hasil terjemahan untuk mengelakkan panggilan kerap ke API. 🎜🎜Ringkasnya, artikel ini memperkenalkan cara menggunakan bahasa Go dan API Terjemahan Baidu untuk mencapai terjemahan bersama antara bahasa Cina dan Denmark. Melalui contoh ini, anda juga boleh melaksanakan fungsi terjemahan dalam bahasa lain berdasarkan kaedah yang serupa. Saya harap artikel ini akan membantu anda mempelajari dan menggunakan bahasa Go dan API Terjemahan Baidu. 🎜Atas ialah kandungan terperinci Gunakan bahasa go dan API terjemahan Baidu untuk mencapai terjemahan Cina-Denmark. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!