Go言語と百度翻訳APIを利用して中国語からアイスランド語への翻訳を実現

Go言語で百度翻訳APIを使用して、中国語からアイスランド語に翻訳を行う手順は次のとおりです。1. 百度翻訳のオープンソースプラットフォームでアカウントを登録し、APIキーを取得する。手順については、百度翻訳のオープンソースプラットフォームのドキュメントを参照してください。2. Goプロジェクトで、HTTPリクエストを使用して翻訳リクエストを百度翻訳APIに送信し、翻訳結果を取得する。3. Goプロジェクトでは、`net/http`パッケージを使用してHTTPリクエストを送信し、`encoding/json`パッケージを使用して返されるJSONデータを構文解析します。4. コードでは、次のパッケージをインポートする必要があります。“`goimport (
“net/http”
“encoding/json”
“io/ioutil”
“log”)“`5. コードに翻訳機能を実現するための`Translate`関数を定義します。“`gofunc Translate(text string, from, to string) (string, error) {
apiKey := “YOUR_API_KEY”
url := “http://api.fanyi.baidu.com/api/trans/vip/translate”
q := text
appid := “YOUR_APP_ID”
salt := “RANDOM_SALT”
sign := MD5(appid + q + salt + apiKey)
// POSTリクエストを送信
resp, err := http.PostForm(url,
url.Values{
“q”:     {q},
“from”:  {from},
“to”:    {to},
“appid”: {appid},
“salt”:  {salt},
“sign”:  {sign},
})
if err != nil {
log.Fatal(err)
return “”, err
}
// 返されるJSONデータを構文解析する
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
return “”, err
}
var result struct {
TransResult []struct {
Src string `json:”src”`
Dst string `json:”dst”`
} `json:”trans_result”`
}
err = json.Unmarshal(body, &result)
if err != nil {
log.Fatal(err)
return “”, err
}
// 翻訳結果を返す
return result.TransResult[0].Dst, nil}“`6. コードにシグネチャーを計算するための`MD5`関数を定義します。“`gofunc MD5(text string) string {
hash := md5.Sum([]byte(text))
return hex.EncodeToString(hash[:])}“`7. コードで`Translate`関数を呼び出して翻訳を実行できます。“`gofunc main() {
text := “你好”
from := “zh”
to := “is”
result, err := Translate(text, from, to)
if err != nil {
log.Fatal(err)
}
fmt.Println(result)}““YOUR_API_KEY`と`YOUR_APP_ID`は、百度翻訳のオープンソースプラットフォームで取得したAPIキーとアプリケーションIDに置き換えてください。

bannerAds