Maison > développement back-end > Golang > Go Language implémente l'API de traduction Baidu pour réaliser des traductions en chinois et en turc

Go Language implémente l'API de traduction Baidu pour réaliser des traductions en chinois et en turc

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2023-08-04 14:13:48
original
975 Les gens l'ont consulté

Go Language implémente l'API de traduction Baidu pour réaliser une traduction chinois-turc

L'API de traduction Baidu est un service de traduction automatique couramment utilisé qui fournit des fonctions de traduction entre plusieurs langues. Cet article utilisera le langage Go pour implémenter la fonction de traduction du chinois vers le turc via l'API de traduction Baidu. Tout d’abord, nous devons demander un compte API Baidu Translation et obtenir l’ID d’application et la clé correspondants. Ensuite, nous pouvons utiliser le langage Go pour écrire le code correspondant pour implémenter la fonction de traduction.

Tout d'abord, nous devons introduire le package correspondant et définir quelques variables. L'exemple de code est le suivant :

package main

import (
    "crypto/md5"
    "encoding/hex"
    "fmt"
    "io/ioutil"
    "net/http"
    "net/url"
    "strings"
    "time"
)

const (
    appID  = "your_app_id"     // 替换为自己的应用ID
    appKey = "your_app_key"    // 替换为自己的密钥
    apiUrl = "http://api.fanyi.baidu.com/api/trans/vip/translate" // 翻译API的URL
)
Copier après la connexion

Ensuite, nous définissons une fonction pour générer les informations de signature requises pour accéder à l'API de traduction Baidu. :

func generateSign(query, salt string) string {
    str := appID + query + salt + appKey
    hash := md5.Sum([]byte(str))
    sign := hex.EncodeToString(hash[:])
    return sign
}
Copier après la connexion

Ensuite, nous définissons une fonction pour envoyer des requêtes HTTP et obtenir les résultats de la traduction. L'exemple de code est le suivant :

func getTranslation(query, from, to string) (string, error) {
    salt := fmt.Sprintf("%d", time.Now().UnixNano())
    sign := generateSign(query, salt)

    values := url.Values{}
    values.Set("q", query)
    values.Set("from", from)
    values.Set("to", to)
    values.Set("appid", appID)
    values.Set("salt", salt)
    values.Set("sign", sign)

    url := apiUrl + "?" + values.Encode()
    resp, err := http.Get(url)
    if err != nil {
        return "", err
    }
    defer resp.Body.Close()

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

    return string(body), nil
}
Copier après la connexion

Enfin, nous pouvons appeler la fonction getTranslation dans la fonction principale pour effectuer la traduction. suit :

func main() {
    query := "你好世界" // 需要翻译的文本
    from := "zh"     // 源语言为中文
    to := "tr"       // 目标语言为土耳其文

    result, err := getTranslation(query, from, to)
    if err != nil {
        fmt.Println("翻译出错:", err)
        return
    }

    fmt.Println("翻译结果:", result)
}
Copier après la connexion

Exécutez le code ci-dessus pour ""Hello World" est traduit en turc et les résultats de la traduction sont affichés.

Grâce à l'exemple de code ci-dessus, nous pouvons voir comment utiliser le langage Go pour implémenter la traduction via l'API de traduction Baidu. Il vous suffit de remplacer l'ID de l'application et de saisir le code par vos propres informations, et de spécifier la langue source et la langue cible qui doivent être traduites, pour réaliser la fonction de traduction entre d'autres langues. Dans le même temps, vous pouvez également étendre et optimiser le code en fonction de vos besoins réels. J'espère que cet article vous aidera à implémenter les fonctions de l'API de traduction Baidu !

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!

Étiquettes associées:
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal