ホームページ >バックエンド開発 >Golang >Baidu Translation API を Go 言語で記述して、中国語とアフリカの翻訳機能を実装する

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

WBOY
WBOYオリジナル
2023-08-05 15:45:251342ブラウズ

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 のアクセス キー
    を置き換えます。コードの 5d144fd43256843c361ae21106689c6c56dc264c8a546607c83b35ff5b92bd5e を、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 サイトの他の関連記事を参照してください。

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