ホームページ >バックエンド開発 >Golang >Baidu 翻訳 API を go 言語で記述して、中国語とフランス語の翻訳機能を実装します

Baidu 翻訳 API を go 言語で記述して、中国語とフランス語の翻訳機能を実装します

WBOY
WBOYオリジナル
2023-08-06 15:25:171169ブラウズ

Baidu Translation API を Go 言語で記述して中国語とフランス語の翻訳機能を実装する

Baidu Translation API は、さまざまな言語の翻訳に広く使用されているツールです。翻訳機能を独自のアプリケーションに統合する開発者。この記事では、Go 言語を例として、Baidu Translation API を通じて中国語とフランス語の翻訳を実現する方法を紹介します。

まず、Baidu Developer Center にアカウントを登録し、翻訳アプリケーションを作成する必要があります。登録が完了すると、後続の API 呼び出しに使用されるアプリ ID とキーを取得できます。

コードを書き始める前に、go 言語の http パッケージを使用してネットワーク リクエストを行う必要があります。パッケージは、ターミナルで次のコマンドを実行することでインストールできます:

go get -u github.com/go-resty/resty

インストールが完了したら、次のコードを記述して翻訳機能を実装できます:

package main

import (
    "fmt"
    "github.com/go-resty/resty/v2" // 引入http请求包
    "log"
)

func main() {
    appID := "your_app_id" // 替换为你的App ID
    key := "your_key" // 替换为你的密钥
    url := "https://fanyi-api.baidu.com/api/trans/vip/translate"

    // 获取用户输入的要翻译的文本
    var text string
    fmt.Print("请输入要翻译的文本:")
    fmt.Scan(&text)

    // 构建参数
    params := map[string]string{
        "q":     text,
        "from":  "zh",
        "to":    "fra",
        "appid": appID,
        "salt":  "123456",
        "sign":  "", // 签名将在后面计算
    }

    // 计算签名
    sign := Sign(text, params["appid"], params["salt"], key)
    params["sign"] = sign

    // 发送请求
    client := resty.New()
    resp, err := client.R().
        SetQueryParams(params).
        Get(url)
    if err != nil {
        log.Fatal(err)
    }

    // 处理响应
    fmt.Println(resp.String())

    // 解析响应结果
    // 可以根据需要进行结果处理和展示
}

// 计算签名函数
func Sign(query, appID, salt, key string) string {
    signStr := appID + query + salt + key
    sign := Md5(signStr)
    return sign
}

// 计算MD5哈希值函数
func Md5(str string) string {
    // 实现略,可以使用go语言自带的crypto/md5包
}

コード内では、まず、アプリ ID、キー、インターフェイス アドレスなどの必要な変数を定義します。次に、fmt.Scan() 関数を通じて、ユーザーが入力した翻訳対象のテキストを取得します。

次に、パラメーター マップを構築し、Sign() 関数を呼び出して署名を計算します。署名は、アプリ ID、翻訳対象のテキスト、ランダム ソルト、キーを特定の順序で連結し、MD5 ハッシュ値を署名として計算することによって計算されます。

最後に、http パッケージを使用して GET リクエストを送信し、返された応答をコンソールに表示します。

上記コード例では、署名計算とMD5ハッシュ値計算の実装方法は示されていないことに注意してください。 go 言語に付属する crypto/md5 パッケージを使用して、これら 2 つの関数を実装できます。

コードを実行する前に、サンプル コードのアプリ ID とキーを置き換え、http 要求パッケージがインストールされていることを確認してください。

上記のコード例を通じて、Go 言語を通じて Baidu 翻訳 API を呼び出し、中国語とフランス語の翻訳を実現する機能を実現できます。実際のニーズに応じて、翻訳結果を構造体に解析したり、より複雑な翻訳ロジックを実装したりするなど、コードをさらに改善することができます。

この記事が、Baidu Translation API を呼び出すための Go 言語の学習と使用に役立つことを願っています。

以上がBaidu 翻訳 API を go 言語で記述して、中国語とフランス語の翻訳機能を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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