Maison >développement back-end >Golang >Utilisez le langage Go et l'API de traduction Baidu pour réaliser une traduction chinois-danois

Utilisez le langage Go et l'API de traduction Baidu pour réaliser une traduction chinois-danois

WBOY
WBOYoriginal
2023-08-05 10:30:251277parcourir

Utilisez le langage Go et l'API de traduction Baidu pour réaliser une traduction chinois-danois

À l'ère actuelle de la mondialisation, la communication multilingue est devenue une capacité indispensable. À mesure que la compréhension et l'intérêt des gens pour les cultures du monde entier augmentent, le besoin de traduction de textes dans plusieurs langues augmente également. Cet article explique comment utiliser le langage Go et l'API de traduction Baidu pour réaliser une traduction mutuelle entre le chinois et le danois.

Tout d'abord, nous devons enregistrer un compte développeur Baidu et créer une application API de traduction. Après avoir obtenu l'AppID et l'AppKey de l'application, nous pouvons commencer à écrire le code du langage Go.

Tout d'abord, nous devons introduire les packages nécessaires dans le langage Go. Utilisez la commande go get pour installer le package github.com/parnurzeal/gorequest, qui peut nous faciliter l'envoi de requêtes http. go get命令安装github.com/parnurzeal/gorequest包,该包可以方便我们发送http请求。

package main

import (
    "fmt"
    "github.com/parnurzeal/gorequest"
    "log"
    "net/url"
    "strings"
)

然后,我们定义了一个函数Translate来实现翻译功能。该函数接受源语言、目标语言和要翻译的文本作为参数,并返回翻译后的结果。

func Translate(from, to, text string) string {
    appID := "YOUR_APP_ID"
    appKey := "YOUR_APP_KEY"
    apiURL := "http://api.fanyi.baidu.com/api/trans/vip/translate"

    // 构造请求参数
    params := url.Values{}
    params.Set("q", text)
    params.Set("from", from)
    params.Set("to", to)
    params.Set("appid", appID)
    params.Set("salt", "123")

    // 计算sign
    sign := appID + text + "123" + appKey
    params.Set("sign", fmt.Sprintf("%x", md5.Sum([]byte(sign))))

    // 发送翻译请求
    request := gorequest.New()
    resp, body, errs := request.Get(apiURL).Query(params).End()

    if errs != nil {
        log.Fatal(errs)
    }

    if resp.StatusCode != http.StatusOK {
        log.Fatalf("Translation failed with status code: %d", resp.StatusCode)
    }

    // 解析返回结果
    type TranslationResult struct {
        TransResult []struct {
            Src  string `json:"src"`
            Dest string `json:"dst"`
        } `json:"trans_result"`
    }

    result := TranslationResult{}
    if err := json.Unmarshal([]byte(body), &result); err != nil {
        log.Fatal(err)
    }

    // 提取翻译结果
    var translation strings.Builder
    for _, trans := range result.TransResult {
        translation.WriteString(trans.Dest)
    }

    return translation.String()
}

接下来,我们可以在main函数中使用Translate函数进行测试。

func main() {
    from := "zh" // 中文
    to := "da" // 丹麦文
    text := "你好,世界!" // 待翻译文本

    translation := Translate(from, to, text)
    fmt.Printf("翻译结果:%s
", translation)
}

以上代码实现了一个简单的中文翻译成丹麦文的功能。你可以根据自己的需求更改fromtotextrrreee

Ensuite, nous avons défini une fonction Translate pour implémenter la fonction de traduction. La fonction accepte la langue source, la langue cible et le texte à traduire comme paramètres et renvoie le résultat traduit.

rrreee

Ensuite, nous pouvons utiliser la fonction Translate dans la fonction main pour les tests.

rrreee

Le code ci-dessus implémente une fonction de traduction simple du chinois vers le danois. Vous pouvez modifier les valeurs​​de from, to et text en fonction de vos besoins pour réaliser une traduction dans d'autres langues. 🎜🎜Il convient de noter que étant donné que l'API de traduction Baidu a certaines restrictions d'appel, il est recommandé de mettre en cache les résultats de la traduction pour éviter les appels fréquents à l'API. 🎜🎜Pour résumer, cet article explique comment utiliser le langage Go et l'API de traduction Baidu pour réaliser une traduction mutuelle entre le chinois et le danois. Grâce à cet exemple, vous pouvez également implémenter des fonctions de traduction dans d'autres langues basées sur des méthodes similaires. J'espère que cet article vous aidera à apprendre et à utiliser 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!

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