ホームページ >バックエンド開発 >Golang >Go 言語と Baidu 翻訳 API を使用して中国語とルーマニア語を相互に翻訳する

Go 言語と Baidu 翻訳 API を使用して中国語とルーマニア語を相互に翻訳する

王林
王林オリジナル
2023-08-05 23:29:21637ブラウズ

Golang と Baidu Translation API を使用して中国語とルーマニア語の相互翻訳を実現する

はじめに

この記事では、Go 言語と Baidu Translation API を使用して中国語とルーマニア語の相互翻訳を実現する方法を紹介します。ルーマニア人。テキスト翻訳には Baidu Translation API を使用し、Go 言語を使用して簡単なプログラムを作成して翻訳機能を実装します。

Baidu Translation API

Baidu Translation API は、複数の言語間の相互翻訳を提供するオープン インターフェイスです。 APIにHTTPリクエストを送信することで、テキストの翻訳結果を取得できます。始める前に、Baidu Translation API の開発者アカウントを申請し、API のアプリケーション ID とキーを取得する必要があります。具体的な申請プロセスについては、Baidu Translation API の公式ドキュメントを参照してください。

プログラムの実装

まず、使用する必要がある HTTP パッケージと JSON パッケージをインポートする必要があります。

package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
    "net/http"
    "net/url"
)

次に、テキスト翻訳機能を実装する関数を定義します。

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
}

最後に、翻訳関数をテストする main 関数を作成します。

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

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

    // 打印翻译结果
    fmt.Println(translated)
}

プログラムの実行

上記のコードを go ファイルとして保存し、コマンド ラインからプログラムをコンパイルして実行します。プログラム出力の中国語ルーマニア語翻訳結果が表示されます。

$ go run main.go
Salut, lume!

結論

GolangとBaidu翻訳APIを利用することで、中国語とルーマニア語の相互翻訳機能を実現することに成功しました。このサンプル コードは、ニーズに合わせてさらに拡張およびカスタマイズできる開始点として機能します。この記事が Go 言語と Baidu Translation API の学習に役立つことを願っています。

以上がGo 言語と Baidu 翻訳 API を使用して中国語とルーマニア語を相互に翻訳するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。