Maison >développement back-end >Golang >Écriture de l'API de traduction Baidu en langue Go pour implémenter la fonction de traduction chinois-hindi

Écriture de l'API de traduction Baidu en langue Go pour implémenter la fonction de traduction chinois-hindi

PHPz
PHPzoriginal
2023-08-06 22:24:241467parcourir

Rédaction de l'API de traduction Baidu en langue Go pour implémenter la fonction de traduction chinois-hindi

À l'ère actuelle de mondialisation, les échanges linguistiques sont devenus plus fréquents et plus importants. À mesure que la popularité de la langue chinois-hindi augmente progressivement, le besoin de fournir une fonction de traduction chinois-hindi augmente également de jour en jour. L'API de traduction Baidu est un outil puissant qui peut réaliser des traductions entre différentes langues. Cet article explique comment utiliser le langage Go pour écrire du code, appeler l'API de traduction Baidu et réaliser la fonction de traduction chinois-hindi.

Tout d'abord, nous devons demander une application API de traduction sur la plateforme de développement Baidu et obtenir la clé correspondante. Après avoir obtenu la clé, nous pouvons commencer à écrire du code Go.

Tout d'abord, nous devons introduire quelques packages nécessaires :

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "strings"
)

Ensuite, nous définissons une fonction pour envoyer une requête HTTP POST et renvoyer le résultat traduit :

func translate(text string) (string, error) {
    url := "http://api.fanyi.baidu.com/api/trans/vip/translate"

    data := make(map[string]string)
    data["q"] = text
    data["from"] = "auto"
    data["to"] = "zh"

    params := []string{}
    for key, value := range data {
        params = append(params, key+"="+value)
    }

    appid := "your_appid"
    secretKey := "your_secretkey"
    salt := "1435660288"

    sign := appid + text + salt + secretKey
    signMd5 := md5.Sum([]byte(sign))
    signStr := fmt.Sprintf("%x", signMd5)

    params = append(params, "appid="+appid)
    params = append(params, "salt="+salt)
    params = append(params, "sign="+signStr)

    body := strings.NewReader(strings.Join(params, "&"))
    resp, err := http.Post(url, "application/x-www-form-urlencoded", body)
    if err != nil {
        return "", err
    }

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

    return string(bb), nil
}

Dans le code ci-dessus, nous définissons d'abord l'URL de l'API de traduction, et placez le texte et les paramètres associés qui doivent être traduits dans le dictionnaire data. Ensuite, nous concaténons les paramètres et calculons la signature. Enfin, nous utilisons la méthode http.Post pour envoyer une requête HTTP POST, analyser et renvoyer le résultat renvoyé. data字典中。然后我们将参数进行拼接,并计算签名。最后我们使用http.Post方法发送HTTP POST请求,并将返回的结果解析并返回。

最后,我们可以在main函数中调用translate函数,并输出翻译的结果:

func main() {
    text := "Hello, world!"

    result, err := translate(text)
    if err != nil {
        fmt.Println("翻译失败:", err)
        return
    }

    fmt.Println("翻译结果:", result)
}

将代码保存为main.go,然后使用go run main.go

Enfin, nous pouvons appeler la fonction translate dans la fonction main et afficher le résultat de la traduction :

rrreee

Enregistrez le code sous main.go, puis utilisez la commande go run main.go pour exécuter le programme, et vous pourrez voir les résultats de la traduction de sortie.

Avec l'exemple de code ci-dessus, nous pouvons implémenter la fonction de traduction entre le chinois et l'hindi. Bien entendu, il peut également être étendu et modifié en fonction de vos propres besoins pour répondre à davantage de besoins de traduction. 🎜🎜En bref, il est pratique et rapide d'écrire l'API de traduction Baidu en langue Go pour réaliser la fonction de traduction chinois-hindi. J'espère que cet article pourra vous apporter de l'aide et bonne écriture ! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn