


Utilisation du langage Go pour développer l'API de traduction Baidu afin de réaliser une traduction mutuelle entre le chinois et le finnois
Développez l'API de traduction Baidu à l'aide du langage Go pour réaliser une traduction mutuelle entre le chinois et le finnois
À l'ère d'Internet, la communication multilingue est devenue de plus en plus importante. Afin de répondre aux besoins de communication entre différentes langues, de nombreuses entreprises ont lancé des outils de traduction. Baidu Translate est l'un des fournisseurs de services de traduction les plus connus grâce auquel nous pouvons facilement traduire entre différentes langues.
Cet article expliquera comment utiliser le langage go pour développer des applications permettant d'appeler l'API de traduction Baidu afin de réaliser une traduction mutuelle entre le chinois et le finnois. Nous comprendrons d’abord l’utilisation de base de l’API Baidu Translation, puis écrirons un exemple de code pour implémenter la fonction.
Tout d'abord, nous devons postuler pour une application sur la plateforme ouverte de traduction Baidu et obtenir la clé API et la clé secrète. Ces informations sont requises lorsque nous utilisons l'API pour l'authentification et la restriction d'accès. Maintenant que nous disposons de ces deux clés, nous pouvons commencer à écrire du code.
Dans notre exemple de code, nous utiliserons le package "net/http" du langage Go pour envoyer des requêtes HTTP. Tout d'abord, nous devons importer le package :
import ( "net/http" "fmt" )
Ensuite, nous définissons une fonction translate
pour appeler l'API Baidu Translate : translate
来调用百度翻译API:
func translate(apiKey string, secretKey string, from string, to string, text string) (string, error) { // 构建请求URL url := fmt.Sprintf("http://api.fanyi.baidu.com/api/trans/vip/translate?q=%s&from=%s&to=%s&appid=%s&salt=123456&sign=%s", text, from, to, apiKey, secretKey) // 发送HTTP GET请求 resp, err := http.Get(url) if err != nil { return "", err } defer resp.Body.Close() // 读取响应数据 data, err := ioutil.ReadAll(resp.Body) if err != nil { return "", err } // 解析JSON数据 var result struct { Error int `json:"error"` Message string `json:"message"` TransResult []struct { Src string `json:"src"` Dst string `json:"dst"` } `json:"trans_result"` } err = json.Unmarshal(data, &result) if err != nil { return "", err } // 判断翻译是否成功 if result.Error != 0 { return "", errors.New(result.Message) } // 返回翻译结果 return result.TransResult[0].Dst, nil }
在translate
函数中,我们通过拼接URL来构建请求。q
参数表示要翻译的文本,from
和to
参数表示源语言和目标语言,appid
是我们在百度翻译开放平台上申请的应用ID。通过拼接这些参数,我们可以得到一个完整的请求URL。
然后,我们使用http.Get
函数发送GET请求,并读取响应数据。接下来,我们使用json.Unmarshal
函数将JSON数据解析为结构体。然后,我们判断翻译是否成功,并返回翻译结果。
接下来,我们可以在main
函数中调用translate
函数来实现中文和芬兰文之间的翻译:
func main() { apiKey := "your_api_key" secretKey := "your_secret_key" from := "zh" to := "fin" text := "你好世界" result, err := translate(apiKey, secretKey, from, to, text) if err != nil { fmt.Println("翻译失败:", err) return } fmt.Println("翻译结果:", result) }
在main
函数中,我们需要替换your_api_key
和your_secret_key
为我们在百度翻译开放平台上申请到的API Key和Secret Key。然后,我们定义了源语言zh
和目标语言fin
,以及要翻译的文本你好世界
。
最后,我们调用translate
rrreee
translate
, nous fusionnons l'URL pour construire la requête. Le paramètre q
représente le texte à traduire, les paramètres from
et to
représentent la langue source et la langue cible, et appid
est notre identifiant d'application demandé sur la plateforme ouverte de traduction Baidu. En combinant ces paramètres, nous pouvons obtenir une URL de requête complète. Ensuite, nous utilisons la fonction http.Get
pour envoyer une requête GET et lire les données de réponse. Ensuite, nous utilisons la fonction json.Unmarshal
pour analyser les données JSON dans une structure. Ensuite, nous déterminons si la traduction est réussie et renvoyons le résultat de la traduction. 🎜🎜Ensuite, nous pouvons appeler la fonction translate
dans la fonction main
pour traduire entre le chinois et le finnois : 🎜rrreee🎜Dans main
>Dans le fonction, nous devons remplacer your_api_key
et your_secret_key
par la clé API et la clé secrète que nous avons demandées sur la plateforme ouverte de traduction Baidu. Ensuite, nous définissons la langue source zh
et la langue cible fin
, ainsi que le texte à traduire Hello World
. 🎜🎜Enfin, nous appelons la fonction translate
et imprimons les résultats de la traduction. 🎜🎜Avec le code ci-dessus, nous pouvons facilement traduire entre le chinois et le finnois. Bien entendu, vous pouvez étendre cet exemple pour prendre en charge davantage de paires de langues. J'espère que cet article pourra vous aider à mieux comprendre comment utiliser le langage go pour développer 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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

La bibliothèque utilisée pour le fonctionnement du numéro de point flottante dans le langage go présente comment s'assurer que la précision est ...

Problème de threading de file d'attente dans Go Crawler Colly explore le problème de l'utilisation de la bibliothèque Crawler Crawler dans le langage Go, les développeurs rencontrent souvent des problèmes avec les threads et les files d'attente de demande. � ...

La différence entre l'impression de chaîne dans le langage go: la différence dans l'effet de l'utilisation de fonctions println et string () est en Go ...

Le problème de l'utilisation de Redessstream pour implémenter les files d'attente de messages dans le langage GO consiste à utiliser le langage GO et redis ...

Deux façons de définir les structures dans le langage GO: la différence entre les mots clés VAR et le type. Lorsque vous définissez des structures, GO Language voit souvent deux façons d'écrire différentes: d'abord ...

Que dois-je faire si les étiquettes de structure personnalisées à Goland ne sont pas affichées? Lorsque vous utilisez Goland pour le développement du langage GO, de nombreux développeurs rencontreront des balises de structure personnalisées ...

Quelles bibliothèques de GO sont développées par de grandes entreprises ou des projets open source bien connus? Lors de la programmation en Go, les développeurs rencontrent souvent des besoins communs, ...

Lorsque vous utilisez SQL.Open, pourquoi le DSN ne signale-t-il pas une erreur? En langue go, sql.open ...
