Maison > développement back-end > Golang > Utilisation du langage Go et de l'API de traduction Baidu pour traduire le chinois et le roumain l'un dans l'autre

Utilisation du langage Go et de l'API de traduction Baidu pour traduire le chinois et le roumain l'un dans l'autre

王林
Libérer: 2023-08-05 23:29:21
original
659 Les gens l'ont consulté

Utilisez l'API de traduction Golang et Baidu pour traduire du chinois vers le roumain

Introduction

Cet article expliquera comment utiliser la langue Go et l'API de traduction Baidu pour traduire du chinois vers le roumain. Nous utiliserons l'API de traduction Baidu pour la traduction de texte et utiliserons le langage Go pour écrire un programme simple permettant d'implémenter la fonction de traduction.

API de traduction Baidu

L'API de traduction Baidu est une interface ouverte qui permet une traduction mutuelle entre plusieurs langues. En envoyant une requête HTTP à l'API, les résultats de la traduction du texte peuvent être obtenus. Avant de commencer, nous devons demander un compte de développeur pour l'API Baidu Translation et obtenir l'ID et la clé de l'application de l'API. Pour le processus de candidature spécifique, veuillez vous référer à la documentation officielle de l'API de traduction Baidu.

Mise en œuvre du programme

Tout d'abord, nous devons importer le package HTTP et le package JSON que nous devons utiliser.

package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
    "net/http"
    "net/url"
)
Copier après la connexion

Ensuite, nous définissons une fonction pour implémenter la fonction de traduction de texte.

func translate(text, from, to string) (string, error) {
    appID := "your_app_id"     // 替换为你的应用ID
    appKey := "your_app_key"   // 替换为你的应用密钥
    apiURL := "http://api.fanyi.baidu.com/api/trans/vip/translate"

    // 构造请求URL
    params := url.Values{}
    params.Add("q", text)
    params.Add("from", from)
    params.Add("to", to)
    params.Add("appid", appID)
    params.Add("salt", "123456")  // 为了简化,我们直接指定salt
    sign := appID + text + "123456" + appKey
    sign = md5.Sum([]byte(sign))
    params.Add("sign", sign)

    // 发送HTTP请求
    resp, err := http.Get(apiURL + "?" + params.Encode())
    if err != nil {
        return "", err
    }
    defer resp.Body.Close()

    // 读取响应内容
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        return "", err
    }

    // 解析JSON响应
    var result struct {
        TransResult []struct {
            Src string `json:"src"`
            Dst string `json:"dst"`
        } `json:"trans_result"`
    }
    err = json.Unmarshal(body, &result)
    if err != nil {
        return "", err
    }

    // 返回翻译结果
    return result.TransResult[0].Dst, nil
}
Copier après la connexion

Enfin, nous écrivons une fonction principale pour tester la fonction de traduction.

func main() {
    // 测试文本
    text := "你好,世界!"

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

    // 打印翻译结果
    fmt.Println(translated)
}
Copier après la connexion

Exécutez le programme

Enregistrez le code ci-dessus en tant que fichier go, puis compilez et exécutez le programme via la ligne de commande. Vous verrez les résultats de la traduction chinois-roumain du programme.

$ go run main.go
Salut, lume!
Copier après la connexion

Conclusion

En utilisant l'API de traduction Golang et Baidu, nous avons implémenté avec succès la fonction de traduction mutuelle entre le chinois et le roumain. Cet exemple de code peut servir de point de départ que vous pouvez étendre et personnaliser davantage selon vos besoins. J'espère que cet article vous aidera à apprendre le langage Go et 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!

source:php.cn
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