Maison > développement back-end > Golang > Utilisation de la langue Go et de l'API de traduction Baidu pour traduire le chinois et le coréen entre eux

Utilisation de la langue Go et de l'API de traduction Baidu pour traduire le chinois et le coréen entre eux

王林
Libérer: 2023-08-04 08:05:10
original
797 Les gens l'ont consulté

Utilisez Go Language et l'API de traduction Baidu pour réaliser une traduction mutuelle entre le chinois et le coréen

Introduction

Maintenant, de plus en plus de personnes ont besoin de communiquer et de coopérer entre les langues. 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 coréen. Le langage Go est un langage de programmation concis et efficace, et l'API Baidu Translation est une interface qui fournit des services de traduction automatique. Nous utiliserons le langage Go pour écrire un programme simple permettant de réaliser une traduction mutuelle entre le chinois et le coréen via l'API de traduction Baidu.

Configuration de l'environnement

Tout d'abord, nous devons demander un compte de développeur sur la plate-forme ouverte API Baidu, créer une application et obtenir l'ID d'application et la clé de l'API. Ensuite, nous devons installer l'environnement de développement du langage Go et utiliser la commande go get pour installer les packages de dépendances associés.

go get github.com/go-resty/resty/v2
go get golang.org/x/text/encoding/simplifiedchinese
Copier après la connexion

Implémentation du code

Ce qui suit est un exemple de code d'utilisation du langage Go et de l'API de traduction Baidu pour traduire le chinois et le coréen entre eux :

package main

import (
    "fmt"
    "io/ioutil"
    "net/url"
    "strings"

    "github.com/go-resty/resty/v2"
    "golang.org/x/text/encoding/simplifiedchinese"
)

const (
    appID     = "your_app_id"     // 请替换为你的应用App ID
    appSecret = "your_app_secret" // 请替换为你的应用密钥
    baseURL   = "https://fanyi-api.baidu.com/api/trans/vip/translate"
)

func main() {
    // 输入中文文本
    chineseText := "你好,世界!"
    // 中文翻译为韩文
    koreanText, err := translate(chineseText, "auto", "zh", "ko")
    if err != nil {
        fmt.Printf("翻译失败:%s
", err)
        return
    }
    fmt.Println("中文翻译为韩文:", koreanText)

    // 输入韩文文本
    koreanText = "안녕하세요, 세계!"
    // 韩文翻译为中文
    chineseText, err = translate(koreanText, "auto", "ko", "zh")
    if err != nil {
        fmt.Printf("翻译失败:%s
", err)
        return
    }
    fmt.Println("韩文翻译为中文:", chineseText)
}

func translate(text string, from, to, lang string) (string, error) {
    client := resty.New()
    // 使用URL编码对文本进行处理
    text = url.QueryEscape(text)
    // 拼接请求URL
    reqURL := fmt.Sprintf("%s?q=%s&from=%s&to=%s&appid=%s&salt=1", baseURL, text, from, to, appID)
    // 发送GET请求
    resp, err := client.R().Get(reqURL)
    if err != nil {
        return "", err
    }
    // 解析返回的JSON数据
    respData := struct {
        TransResult []struct {
            Src string `json:"src"`
            Dst string `json:"dst"`
        } `json:"trans_result"`
    }{}
    err = resp.Unmarshal(&respData)
    if err != nil {
        return "", err
    }
    // 提取翻译结果
    result := ""
    for _, tr := range respData.TransResult {
        result += tr.Dst
    }
    // 如果目标语言是中文,则解码
    if lang == "zh" {
        decoder := simplifiedchinese.GB18030.NewDecoder()
        decodedResult, err := decoder.String(result)
        if err != nil {
            return "", err
        }
        result = decodedResult
    }
    // 返回翻译结果
    return result, nil
}
Copier après la connexion

Dans le code ci-dessus, nous avons d'abord défini certaines constantes, notamment l'ID de l'application et le mot de passe. de la clé API de traduction Baidu et de l’URL de demande. Ensuite, nous avons défini une fonction translate函数用于发送HTTP请求并解析返回的JSON数据。最后,在main函数中,我们调用translate pour réaliser une traduction mutuelle entre le chinois et le coréen.

Exécution des résultats

Lorsque nous exécutons le programme, les résultats de la traduction du chinois et du coréen seront affichés :

中文翻译为韩文: 안녕하세요, 세계!
韩文翻译为中文: 你好,世界!
Copier après la connexion

Résumé

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 coréen. . En utilisant la bibliothèque client HTTP du langage Go et l'interface fournie par l'API Baidu Translation, nous pouvons facilement traduire du texte chinois en coréen et du texte coréen en chinois. Dans les projets réels, nous pouvons encapsuler et étendre le code selon les besoins pour réaliser des fonctions de traduction plus complexes. J'espère que cet article vous aidera !

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:
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