Go:如何翻譯文本

你有沒有想過如何開發(fā)自己的翻譯器惜姐?或者你是否遇到過需要開發(fā)文本翻譯功能的需求?那么本文關(guān)于Golang如何使用谷歌翻譯API翻譯文本的教程就是為你準(zhǔn)備的!讓我們來看看今天的教程都講了些什么。

  • RapidAPI點(diǎn)理解和實(shí)現(xiàn)
  • 創(chuàng)建API和用戶接口
  • 實(shí)現(xiàn)服務(wù)端文本翻譯邏輯

初始配置

先初始化一個Go項(xiàng)目:在本地創(chuàng)建"google-translate文件夾腰鬼,在這個文件夾中創(chuàng)建一個名為server的新文件夾。在這個文件夾中塑荒,我們將執(zhí)行后端代碼熄赡。

mkdir google-translate
cd google-translate
mkdir server
go mode init translate

Rapid API設(shè)置

在RapidAPI Hub[https://rapidapi.com/hub]這個網(wǎng)站上創(chuàng)建一個帳戶。如果你已經(jīng)注冊了齿税,那就直接登錄彼硫。

RapidAPI Hub

RapidAPI hub是一個API中心,是開發(fā)人員能夠查找凌箕、管理和連接大量的API拧篮。讓開發(fā)人員在一個地方管理所有的API集成,并提供實(shí)時性能指標(biāo)牵舱。
在上面打開的RapidAPI網(wǎng)站的左上角搜索框中串绩,搜索Google Translate,在返回的列表中找到并點(diǎn)擊進(jìn)入:
Google Translate

然后你需要訂閱
選擇訂閱Google翻譯API

可以選擇免費(fèi)的芜壁,會返回訂閱成功:

你將獲得“X-RapidAPI-Key”用于發(fā)送請求礁凡。請保管好你的密匙高氮。

測試翻譯API接口

在RapidAPI網(wǎng)站上,我們可以看到可使用的接口:


Google翻譯接口

中間一欄介紹每個接口詳細(xì)信息把篓,右邊一欄提供了各種語言的接口Demo纫溃。

獲取各種語言種類

我們在網(wǎng)站上選擇GET language接口腰涧,查看Go語言實(shí)現(xiàn)如下所示:

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))
}

執(zhí)行結(jié)果如下:

{
    "data":
    {
        "languages":
        [
            {
                "language": "af"
            },
            {
                "language": "ak"
            },
            {
                "language": "am"
            },
            {
                "language": "en" //英文
            },
            {
                "language": "zh-CN" //中文
            },
           ...
        ]
    }
}

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

翻譯API

現(xiàn)在我們根據(jù)上面的語言列表,使用翻譯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))
}

執(zhí)行結(jié)果:

{
    "data":
    {
        "translations":
        [
            {
                "translatedText": "你好世界疗锐!"
            }
        ]
    }
}

機(jī)遇以上兩個接口,就可以實(shí)現(xiàn)翻譯功能了费彼。
Github上面也有完整的例子滑臊,結(jié)合前端的實(shí)現(xiàn):


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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市箍铲,隨后出現(xiàn)的幾起案子雇卷,更是在濱河造成了極大的恐慌,老刑警劉巖颠猴,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件关划,死亡現(xiàn)場離奇詭異,居然都是意外死亡翘瓮,警方通過查閱死者的電腦和手機(jī)贮折,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來资盅,“玉大人调榄,你說我怎么就攤上這事『强福” “怎么了每庆?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長今穿。 經(jīng)常有香客問我缤灵,道長,這世上最難降的妖魔是什么荣赶? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任凤价,我火速辦了婚禮,結(jié)果婚禮上拔创,老公的妹妹穿的比我還像新娘利诺。我一直安慰自己,他們只是感情好剩燥,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布慢逾。 她就那樣靜靜地躺著立倍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪侣滩。 梳的紋絲不亂的頭發(fā)上口注,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天,我揣著相機(jī)與錄音君珠,去河邊找鬼寝志。 笑死,一個胖子當(dāng)著我的面吹牛策添,可吹牛的內(nèi)容都是我干的材部。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼唯竹,長吁一口氣:“原來是場噩夢啊……” “哼乐导!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起浸颓,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤物臂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后产上,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體棵磷,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年蒂秘,在試婚紗的時候發(fā)現(xiàn)自己被綠了泽本。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡姻僧,死狀恐怖规丽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情撇贺,我是刑警寧澤赌莺,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站松嘶,受9級特大地震影響艘狭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜翠订,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一巢音、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧尽超,春花似錦官撼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽掠哥。三九已至,卻和暖如春秃诵,著一層夾襖步出監(jiān)牢的瞬間续搀,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工菠净, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留禁舷,地道東北人。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓嗤练,卻偏偏與公主長得像榛了,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子煞抬,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 用到的組件 1、通過CocoaPods安裝 2构哺、第三方類庫安裝 3革答、第三方服務(wù) 友盟社會化分享組件 友盟用戶反饋 ...
    SunnyLeong閱讀 14,618評論 1 180
  • 2018web前端最新面試題總結(jié) 一、Html/Css基礎(chǔ)模塊 基礎(chǔ)部分 什么是HTML曙强?答:? HTML并不是...
    duans_閱讀 4,667評論 3 27
  • 用兩張圖告訴你残拐,為什么你的 App 會卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 12,726評論 2 59
  • 這個是為開發(fā)者收集非常好的 API .格式參照awesome的清單. 目錄 二次元 博客 書籍 商業(yè) 日歷 共享汽...
    偉子男閱讀 2,888評論 0 0
  • *面試心聲:其實(shí)這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,145評論 30 470