ホームページ > バックエンド開発 > Golang > Go 言語と Baidu 翻訳 API を使用して中国語とスロバキア語の翻訳を実現する

Go 言語と Baidu 翻訳 API を使用して中国語とスロバキア語の翻訳を実現する

WBOY
リリース: 2023-08-05 10:03:20
オリジナル
1222 人が閲覧しました

Go 言語と Baidu Translation API を使用して中国語-スロバキア語翻訳を実現

世界的な経済・文化交流の深化に伴い、翻訳ツールの需要が高まっています。モバイルインターネットの時代、様々な翻訳アプリが数え切れないほど登場しますが、その中でも多言語テキストの翻訳機能を提供する人気の翻訳サービスがBaidu Translation APIです。この記事では、Go 言語と Baidu Translation API を使用して中国語からスロバキア語への翻訳を実現する方法を紹介します。

まず、Baidu Translation API の開発者キーを取得する必要があります。 Baidu Developer Center にアカウントを登録してアプリケーションを作成し、API キーとシークレット キーを取得します。

次に、Baidu Translation API に翻訳をリクエストする Go 言語コードを記述する必要があります。まず、Go 言語の http パッケージと crypto/md5 パッケージを導入する必要があります。コードは次のとおりです:

package main

import (
    "crypto/md5"
    "encoding/hex"
    "fmt"
    "io/ioutil"
    "net/http"
    "net/url"
    "strconv"
    "time"
)
ログイン後にコピー

次に、Baidu 翻訳の URL など、必要な定数を定義する必要があります。 API と開発者キー。

const (
    apiUrl       = "https://fanyi-api.baidu.com/api/trans/vip/translate"
    appid        = "[你的百度开发者应用APPID]"
    appKey       = "[你的百度开发者应用API Key]"
    appSecretKey = "[你的百度开发者应用Secret Key]"
)
ログイン後にコピー

次に、認証リクエストの署名を生成する関数を定義する必要があります。

func buildSign(query string, salt string) string {
    sign := appid + query + salt + appSecretKey
    h := md5.New()
    h.Write([]byte(sign))
    return hex.EncodeToString(h.Sum(nil))
}
ログイン後にコピー

次に、HTTP リクエストを送信して翻訳結果を取得する関数を定義する必要があります。

func translate(query string) (string, error) {
    httpClient := http.Client{
        Timeout: time.Second * 5,
    }

    salt := strconv.FormatInt(time.Now().Unix(), 10)
    sign := buildSign(query, salt)

    data := url.Values{}
    data.Set("q", query)
    data.Set("from", "zh")
    data.Set("to", "sk")
    data.Set("appid", appid)
    data.Set("salt", salt)
    data.Set("sign", sign)

    url := apiUrl + "?" + data.Encode()

    req, err := http.NewRequest(http.MethodGet, url, nil)
    if err != nil {
        return "", err
    }

    req.Header.Set("Content-Type", "application/json")

    res, getErr := httpClient.Do(req)
    if getErr != nil {
        return "", getErr
    }
    defer res.Body.Close()

    body, readErr := ioutil.ReadAll(res.Body)
    if readErr != nil {
        return "", readErr
    }

    return string(body), nil
}
ログイン後にコピー

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

func main() {
    translation, err := translate("你好")
    if err != nil {
        fmt.Println("翻译出错:", err)
        return
    }
    fmt.Println(translation)
}
ログイン後にコピー

上記のコードを通じて、Go 言語と Baidu Translation API を使用して中国語からスロバキア語への翻訳を実現できます。 main関数では、translate関数を呼び出し、翻訳するテキストをパラメータとして渡し、翻訳結果を取得します。

上記のコードは、中国語-スロバキア語翻訳機能を実装するための簡単な例にすぎません。実際のアプリケーションでは、コードをさらにカプセル化し、例外処理やエラー チェックなどの機能を追加して、安定性と信頼性を向上させることができます。

つまり、Go 言語と Baidu Translation API を使用して中国語からスロバキア語への翻訳を実現することは、非常に便利で実用的なテクノロジーです。このようにして、言語の壁を取り除き、異なる文化間のコミュニケーションと協力を促進することができます。この記事が、翻訳開発のために Go 言語を学習している人や使用している人に役立つことを願っています。

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

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