Baidu Translation API を Go 言語で記述して、中国語とアフリカの翻訳機能を実装する

WBOY
リリース: 2023-08-05 15:45:25
オリジナル
1312 人が閲覧しました

Baidu Translation API を go 言語で作成して中国語とアフリカ言語の翻訳機能を実現

はじめに:
グローバリゼーションの発展に伴い、人々の外国語に対する需要はますます高まっており、中でも中国語とアフリカ言語は重要であり、セクシュアリティも徐々に前面に出てきます。この記事では、Go 言語で記述し、Baidu Translation API と組み合わせて中国語と南アフリカの翻訳機能を実現する方法を紹介します。この例を通じて、そのような機能を独自のアプリケーションに追加する方法を学びます。

  1. Baidu Translation API のアクセス キーを取得する
    コードを書き始める前に、Baidu Translation API Web サイトに登録してアクセス キーを取得する必要があります。 Baidu Translation API 公式サイト(https://fanyi-api.baidu.com/)にアクセスして登録・お申込みください。
  2. go プロジェクトを作成し、必要な依存関係パッケージをインポートする
    コードを書き始める前に、go プロジェクトを作成し、必要な依存関係パッケージをインポートする必要があります。ターミナルで次のコマンドを実行して、新しいプロジェクトを作成し、関連する依存関係パッケージをインポートします。
$ mkdir baidu_translation
$ cd baidu_translation
$ go mod init github.com/<your-username>/baidu_translation
$ go get github.com/imroc/req
ログイン後にコピー
  1. コードの作成
    ステップ 2 が完了したら、コードの作成を開始できます。プロジェクトのルート ディレクトリに 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. In のアクセス キー
    を置き換えます。コードの <your-app-id><your-secret-key> を、Baidu Translation API Web サイトで申請したアクセス キーに置き換えます。
  2. コードの実行
    ターミナルで次のコマンドを実行してコードを実行します:
$ go run main.go
ログイン後にコピー

出力は次のようになります:

翻译结果: Sawubona Mhlaba
ログイン後にコピー

これは「Hello」を意味します。世界」 アフリカーンス語での翻訳は「Sawbona Mhlaba」です。

結論:
この記事では、Baidu Translation API を使用して中国語と南アフリカの翻訳機能を実現する方法を示す簡単な例を Go 言語で作成します。個々のニーズに合わせてこの例を拡張および最適化できます。この記事が、go 言語と Baidu Translation API を使用して中国語とアフリカの翻訳機能を実装する方法を理解するのに役立つことを願っています。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート