Maison  >  Article  >  développement back-end  >  Écrivez l'API de traduction Baidu en langue Go pour implémenter les fonctions de traduction chinoise et africaine.

Écrivez l'API de traduction Baidu en langue Go pour implémenter les fonctions de traduction chinoise et africaine.

WBOY
WBOYoriginal
2023-08-05 15:45:251309parcourir

Écrire l'API de traduction Baidu en langue Go pour réaliser la fonction de traduction chinoise et africaine

Introduction :
Avec le développement de la mondialisation, la demande de langues étrangères est de plus en plus élevée, parmi lesquelles l'importance des langues chinoises et africaines ​a progressivement pris de l'importance. Dans cet article, je vais partager comment écrire en langage Go et le combiner avec l'API de traduction Baidu pour réaliser la fonction de traduction en chinois et en Afrique du Sud. Grâce à cet exemple, vous apprendrez comment ajouter une telle fonctionnalité à votre propre application.

  1. Obtenez la clé d'accès à l'API Baidu Translation
    Avant de commencer à écrire du code, nous devons nous inscrire sur le site Web de l'API Baidu Translation et obtenir la clé d'accès. Veuillez visiter le site officiel de l'API de traduction Baidu (https://fanyi-api.baidu.com/) pour vous inscrire et postuler.
  2. Créez un projet go et importez les packages de dépendances nécessaires
    Avant de commencer à écrire du code, nous devons créer un projet go et importer les packages de dépendances nécessaires. Exécutez la commande suivante dans le terminal pour créer un nouveau projet et importer les packages de dépendances pertinents :
$ mkdir baidu_translation
$ cd baidu_translation
$ go mod init github.com/<your-username>/baidu_translation
$ go get github.com/imroc/req
  1. Écrivez le code
    Une fois l'étape 2 terminée, nous pouvons commencer à écrire le code. Créez un fichier appelé main.go dans le répertoire racine du projet et copiez-y le code suivant : main.go的文件,并将以下代码复制进去:
package main

import (
    "encoding/json"
    "fmt"
    "github.com/imroc/req"
    "os"
)

type BaiduTranslationResponse struct {
    Error     int             `json:"error"`
    ErrorCode string          `json:"error_code,omitempty"`
    From      string          `json:"from"`
    To        string          `json:"to"`
    TransResult []Translation `json:"trans_result"`
}

type Translation struct {
    Src string `json:"src"`
    Dst string `json:"dst"`
}

func main() {
    translationText := "你好世界"
    appID := "<your-app-id>"
    secretKey := "<your-secret-key>"

    resp, err := req.Post("https://fanyi-api.baidu.com/api/trans/vip/translate",
        req.Param{
            "q":     translationText,
            "from":  "zh",
            "to":    "zu",
            "appid": appID,
            "salt":  "1435660288",
            "sign":  buildSign(translationText, appID, secretKey, "1435660288"),
        },
    )

    if err != nil {
        fmt.Println("请求错误:", err)
        os.Exit(1)
    }

    var translationResponse BaiduTranslationResponse
    err = resp.ToJSON(&translationResponse)
    if err != nil {
        fmt.Println("响应解析错误:", err)
        os.Exit(1)
    }

    if translationResponse.Error != 0 {
        fmt.Println("翻译错误:", translationResponse.ErrorCode)
        os.Exit(1)
    }

    translatedText := translationResponse.TransResult[0].Dst
    fmt.Println("翻译结果:", translatedText)
}

func buildSign(translationText, appID, secretKey, salt string) string {
    signStr := appID + translationText + salt + secretKey
    return fmt.Sprintf("%x", md5.Sum([]byte(signStr)))
}
  1. 替换访问密钥
    在代码中,将5d144fd43256843c361ae21106689c6c56dc264c8a546607c83b35ff5b92bd5e
  2. $ go run main.go
    1. Remplacez la clé d'accès
      dans le code , remplacez 5d144fd43256843c361ae21106689c6c et 56dc264c8a546607c83b35ff5b92bd5e par la clé d'accès que vous avez demandée sur le site Web de l'API de traduction Baidu.
    Exécutez le code

    Exécutez la commande suivante dans le terminal pour exécuter le code :

    翻译结果: Sawubona Mhlaba

    Le résultat devrait être :

    rrreee
    Cela signifie que la traduction de "Hello World" en chinois et en africain est "Sawubona Mhlaba".

    🎜Conclusion : 🎜Cet article a écrit un exemple simple en langage Go pour montrer comment utiliser l'API de traduction Baidu pour réaliser la fonction de traduction en chinois et en Afrique du Sud. Vous pouvez étendre et optimiser cet exemple pour répondre à vos besoins individuels. J'espère que cet article vous aidera à comprendre comment utiliser le langage Go et l'API de traduction Baidu pour implémenter les fonctions de traduction chinoise et africaine. 🎜

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