Using Go language and Baidu Translation API to realize Chinese-Slovak translation
With the deepening of global economic and cultural exchanges, the demand for translation tools is increasing. In the era of mobile Internet, various translation applications emerge in endlessly. Among them, Baidu Translation API is a popular translation service that provides translation functions for multi-lingual texts. This article will introduce how to use Go language and Baidu Translation API to achieve Chinese-Slovak translation.
First, we need to obtain the developer key of Baidu Translation API. Register an account in Baidu Developer Center and create an application, and then obtain the API Key and Secret Key.
Next, we need to write Go language code to request Baidu Translation API for translation. First, we need to introduce the http package and crypto/md5 package of the Go language. The code is as follows:
package main import ( "crypto/md5" "encoding/hex" "fmt" "io/ioutil" "net/http" "net/url" "strconv" "time" )
Next, we need to define some necessary constants, such as the URL of the Baidu Translation API and the developer key.
const ( apiUrl = "https://fanyi-api.baidu.com/api/trans/vip/translate" appid = "[你的百度开发者应用APPID]" appKey = "[你的百度开发者应用API Key]" appSecretKey = "[你的百度开发者应用Secret Key]" )
Then, we need to define a function to generate the signature of the request for authentication.
func buildSign(query string, salt string) string { sign := appid + query + salt + appSecretKey h := md5.New() h.Write([]byte(sign)) return hex.EncodeToString(h.Sum(nil)) }
Next, we need to define a function to send an HTTP request and get the translation results.
func translate(query string) (string, error) { httpClient := http.Client{ Timeout: time.Second * 5, } salt := strconv.FormatInt(time.Now().Unix(), 10) sign := buildSign(query, salt) data := url.Values{} data.Set("q", query) data.Set("from", "zh") data.Set("to", "sk") data.Set("appid", appid) data.Set("salt", salt) data.Set("sign", sign) url := apiUrl + "?" + data.Encode() req, err := http.NewRequest(http.MethodGet, url, nil) if err != nil { return "", err } req.Header.Set("Content-Type", "application/json") res, getErr := httpClient.Do(req) if getErr != nil { return "", getErr } defer res.Body.Close() body, readErr := ioutil.ReadAll(res.Body) if readErr != nil { return "", readErr } return string(body), nil }
Finally, we can write a main function to test our translation function.
func main() { translation, err := translate("你好") if err != nil { fmt.Println("翻译出错:", err) return } fmt.Println(translation) }
Through the above code, we can use the Go language and Baidu Translation API to achieve Chinese-Slovak translation. In the main function, we call the translate function and pass in the text to be translated as a parameter to obtain the translation result.
The above code is just a simple example to implement the Chinese-Slovak translation function. In practical applications, we can further encapsulate the code and add functions such as exception handling and error checking to improve stability and reliability.
In short, using Go language and Baidu Translation API to achieve Chinese-Slovak translation is a very useful and practical technology. In this way, we can break down language barriers and promote communication and cooperation between different cultures. I hope this article is helpful to people who are learning or using Go language for translation development.
The above is the detailed content of Use go language and Baidu translation API to achieve Chinese-Slovak translation. For more information, please follow other related articles on the PHP Chinese website!