Home  >  Article  >  Backend Development  >  Use go language and Baidu translation API to realize Chinese-Catalan translation

Use go language and Baidu translation API to realize Chinese-Catalan translation

WBOY
WBOYOriginal
2023-08-04 14:55:571200browse

Using Go language and Baidu Translation API to implement Chinese and Catalan translation

Abstract:
This article introduces how to use Go language and Baidu Translation API to implement Chinese and Catalan translation translation function between. We will use the open API provided by Baidu to implement Chinese to Catalan translation, and access the API by sending HTTP requests in the Go language.

Introduction:
Language translation plays an increasingly important role in modern society. It is very beneficial for developers to understand how to leverage existing translation APIs to implement language translation capabilities. This article will guide you on how to use Go language and Baidu Translation API to achieve Chinese to Catalan translation.

Step 1: Register for Baidu Open API
First, we need to register an account on Baidu Open Platform and create a translation application to obtain the API key.

Go to Baidu Developer Center (http://developer.baidu.com/) to register and log in to the developer center.

Create a new application and obtain the API Key and Secret Key of the application.

Step 2: Create a Go language file
Create a Go language file for translation in your project. You can name it baidu_translate.go.

In this file, we will use Go's net/http package to send HTTP requests and the encoding/json package to process the returned JSON data.

package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
    "net/http"
    "net/url"
)

func BaiduTranslate(text, from, to, apiKey, secretKey string) (string, error) {
    apiUrl := "http://api.fanyi.baidu.com/api/trans/vip/translate"
    httpClient := &http.Client{}

    data := url.Values{}
    data.Set("q", text)
    data.Set("from", from)
    data.Set("to", to)
    data.Set("appid", apiKey)
    salt := "1234567890"
    data.Set("salt", salt)
    sign := apiKey + text + salt + secretKey
    data.Set("sign", fmt.Sprintf("%x", md5.Sum([]byte(sign))))

    req, err := http.NewRequest("POST", apiUrl, strings.NewReader(data.Encode()))
    if err != nil {
        return "", err
    }

    req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
    resp, err := httpClient.Do(req)
    if err != nil {
        return "", err
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        return "", err
    }

    var response struct {
        TransResult []struct {
            Src string `json:"src"`
            Dst string `json:"dst"`
        } `json:"trans_result"`
    }

    err = json.Unmarshal(body, &response)
    if err != nil {
        return "", err
    }

    if len(response.TransResult) > 0 {
        return response.TransResult[0].Dst, nil
    }

    return "", nil
}

func main() {
    apiKey := "YOUR_API_KEY"
    secretKey := "YOUR_SECRET_KEY"
    from := "zh"
    to := "ca"

    text := "这是一个示例文本"

    result, err := BaiduTranslate(text, from, to, apiKey, secretKey)
    if err != nil {
        fmt.Println("翻译出错:", err)
        return
    }

    fmt.Println(result)
}

Step 3: Use Baidu Translation API for translation
In the main function, fill in the API Key and Secret Key you registered on the Baidu Open Platform into the corresponding variables.

Select the source text language and target language to be translated, and assign the text to be translated to the text variable.

Compile and run the Go program and you will get the translation results.

Conclusion:
This article demonstrates how to use the Go language and Baidu Translation API to implement the translation function from Chinese to Catalan. By understanding how to send HTTP requests and process the returned JSON data, you can use the Baidu Translation API to implement various language translation functions in your own projects.

The above is the detailed content of Use go language and Baidu translation API to realize Chinese-Catalan translation. 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