Go:如何使用 Google Translate 翻譯文本

分类: 365bet电脑版 发布时间: 2025-07-28 01:31:15 作者: admin

IT

開發

Go

Go:如何使用 Google Translate 翻譯文本

你有沒有想過如何開發自己的翻譯器?或者你是否遇到過需要開發文本翻譯功能的需求?那麼本文關於 Golang 如何使用谷歌翻譯 API 翻譯文本的教程就是爲你準備的!讓我們來看看今天的教程都講了些什麼。

RapidAPI 的理解和實現

創建 API 和用戶接口

實現服務端文本翻譯邏輯

初始化配置

先初始化一個 Go 項目:在本地創建 "google-translate 文件夾,在這個文件夾中創建一個名爲 server 的新文件夾。在這個文件夾中,我們將執行後端代碼。

mkdir google-translate

cd google-translate

mkdir server

go mode init translate

Rapid API 設置

在 RapidAPI Hub[https://rapidapi.com/hub] 這個網站上創建一個帳戶。如果你已經註冊了,那就直接登錄。

RapidAPI Hub

RapidAPI hub 是一個 API 中心,是開發人員能夠查找、管理和連接大量的 API。讓開發人員在一個地方管理所有的 API 集成,並提供實時性能指標。

在上面打開的 RapidAPI 網站的左上角搜索框中,搜索 Google Translate,在返回的列表中找到並點擊進入:

Google Translate

然後你需要訂閱 API:

選擇訂閱 Google 翻譯 API。

可以選擇免費的,會返回訂閱成功:

你將獲得 “X-RapidAPI-Key” 用於發送請求。請保管好你的密匙。

測試翻譯 API 接口

在 RapidAPI 網站上,我們可以看到可使用的接口:

Google 翻譯接口

中間一欄介紹每個接口詳細信息,右邊一欄提供了各種語言的接口 Demo。

獲取各種語言種類接口

我們在網站上選擇 GET language 接口,查看 Go 語言實現如下所示:

package main

import (

"fmt"

"io/ioutil"

"net/http"

)

func main() {

url := "https://google-translate1.p.rapidapi.com/language/translate/v2/languages"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Accept-Encoding", "application/gzip")

req.Header.Add("X-RapidAPI-Key", "xxxxxx")

req.Header.Add("X-RapidAPI-Host", "google-translate1.p.rapidapi.com")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()

body, _ := ioutil.ReadAll(res.Body)

fmt.Println(res)

fmt.Println(string(body))

}

執行結果如下:

{

"data":

{

"languages":

[

{

"language": "af"

},

{

"language": "ak"

},

{

"language": "am"

},

{

"language": "en" //英文

},

{

"language": "zh-CN" //中文

},

...

]

}

}

上面返回的就是 Google 翻譯支持的各種語言。

翻譯 API

現在我們根據上面的語言列表,使用翻譯 API 來對英文到中文翻譯功能的測試。

代碼如下所示:

package main

import (

"fmt"

"io/ioutil"

"net/http"

"strings"

)

func main() {

url := "https://google-translate1.p.rapidapi.com/language/translate/v2"

payload := strings.NewReader("q=Hello%2C%20world!&target=zh-CN&source=en")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("content-type", "application/x-www-form-urlencoded")

req.Header.Add("Accept-Encoding", "application/gzip")

req.Header.Add("X-RapidAPI-Key", "xxxx")

req.Header.Add("X-RapidAPI-Host", "google-translate1.p.rapidapi.com")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()

body, _ := ioutil.ReadAll(res.Body)

fmt.Println(res)

fmt.Println(string(body))

}

執行結果:

{

"data":

{

"translations":

[

{

"translatedText": "你好世界!"

}

]

}

}

基於以上兩個接口,就可以實現翻譯功能了。

Github 上面也有完整的例子,結合前端的實現:

代碼地址:https://github.com/Aniket303/google-translate1

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。

來源:https://mp.weixin.qq.com/s/0qJm59opxehE4cVbNgszXQ

上一篇: Apple耳機清潔 | 2. AirPods Max點清潔? 下一篇: 华为手机/平板WLAN时不时断开重连怎么办?

相关文章

门派 (武侠)

门派 (武侠)

门派 (武侠)

门派 (武侠)

【卜卦意思】揭開卜卦的秘密!從字面意義到算命占卜的用途

【卜卦意思】揭開卜卦的秘密!從字面意義到算命占卜的用途

武汉十大KTV 武汉量贩式ktv哪家好 武汉值得推荐的KTV会所→MAIGOO生活榜

武汉十大KTV 武汉量贩式ktv哪家好 武汉值得推荐的KTV会所→MAIGOO生活榜

ubuntu安装VIM教程与命令详解

ubuntu安装VIM教程与命令详解

Ducky 鍵盤沒反應?重新思考軸體選擇和其他替代方案

Ducky 鍵盤沒反應?重新思考軸體選擇和其他替代方案