Home  >  Article  >  Backend Development  >  Write Baidu Translation API in Go language to implement Chinese and African translation functions

Write Baidu Translation API in Go language to implement Chinese and African translation functions

WBOY
WBOYOriginal
2023-08-05 15:45:251316browse

Writing Baidu Translation API in go language to realize the translation function of Chinese and African languages

Introduction:
With the development of globalization, people’s demand for foreign languages ​​is getting higher and higher, among which Chinese and African languages ​​are important Sexuality also gradually comes to the fore. In this article, I will share how to write in Go language and combine it with Baidu Translation API to realize the function of Chinese and South African translation. Through this example, you will learn how to add such functionality to your own application.

  1. Get the access key of Baidu Translation API
    Before starting to write code, we need to register on the Baidu Translation API website and obtain the access key. Please visit the Baidu Translation API official website (https://fanyi-api.baidu.com/) to register and apply.
  2. Create a go project and import the necessary dependency packages
    Before starting to write code, we need to create a go project and import the necessary dependency packages. Run the following command in the terminal to create a new project and import the relevant dependency packages:
$ mkdir baidu_translation
$ cd baidu_translation
$ go mod init github.com/<your-username>/baidu_translation
$ go get github.com/imroc/req
  1. Writing code
    After step 2 is completed, we can start writing code. Create a file named main.go in the root directory of the project and copy the following code into it:
package main

import (
    "encoding/json"
    "fmt"
    "github.com/imroc/req"
    "os"
)

type BaiduTranslationResponse struct {
    Error     int             `json:"error"`
    ErrorCode string          `json:"error_code,omitempty"`
    From      string          `json:"from"`
    To        string          `json:"to"`
    TransResult []Translation `json:"trans_result"`
}

type Translation struct {
    Src string `json:"src"`
    Dst string `json:"dst"`
}

func main() {
    translationText := "你好世界"
    appID := "<your-app-id>"
    secretKey := "<your-secret-key>"

    resp, err := req.Post("https://fanyi-api.baidu.com/api/trans/vip/translate",
        req.Param{
            "q":     translationText,
            "from":  "zh",
            "to":    "zu",
            "appid": appID,
            "salt":  "1435660288",
            "sign":  buildSign(translationText, appID, secretKey, "1435660288"),
        },
    )

    if err != nil {
        fmt.Println("请求错误:", err)
        os.Exit(1)
    }

    var translationResponse BaiduTranslationResponse
    err = resp.ToJSON(&translationResponse)
    if err != nil {
        fmt.Println("响应解析错误:", err)
        os.Exit(1)
    }

    if translationResponse.Error != 0 {
        fmt.Println("翻译错误:", translationResponse.ErrorCode)
        os.Exit(1)
    }

    translatedText := translationResponse.TransResult[0].Dst
    fmt.Println("翻译结果:", translatedText)
}

func buildSign(translationText, appID, secretKey, salt string) string {
    signStr := appID + translationText + salt + secretKey
    return fmt.Sprintf("%x", md5.Sum([]byte(signStr)))
}
  1. Replace the access key
    in In the code, replace 5d144fd43256843c361ae21106689c6c and 56dc264c8a546607c83b35ff5b92bd5e with the access key you applied for on the Baidu Translation API website.
  2. Run the code
    Run the following command in the terminal to execute the code:
$ go run main.go

The output should be:

翻译结果: Sawubona Mhlaba

This means "Hello World" The translation in Afrikaans is "Sawubona Mhlaba".

Conclusion:
This article writes a simple example in go language to demonstrate how to use Baidu Translation API to realize the function of Chinese and South African translation. You can extend and optimize this example to meet your individual needs. I hope this article will help you understand how to use go language and Baidu Translation API to implement Chinese and African translation functions.

The above is the detailed content of Write Baidu Translation API in Go language to implement Chinese and African translation functions. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn