使用Go語言輕松實現(xiàn)谷歌翻譯
大家好!今天我來介紹一種使用Go語言進(jìn)行谷歌翻譯的簡單方法。在副業(yè)過程中,我發(fā)現(xiàn)需要將韓語翻譯成漢語,以便群友更容易理解公告內(nèi)容。最初考慮使用deepL,但是在使用其API時遇到了一些問題。于是我找到了一個非常簡單的Go庫,能夠輕松實現(xiàn)谷歌翻譯:https://github.com/bregydoc/gtranslate。
例子
這個庫非常簡單,只有兩個方法可供使用:Translate和TranslateWithParams。其中,TranslateWithParams方法還提供了一些可選參數(shù),但對于簡單的翻譯任務(wù),我們只需要使用From和To參數(shù)即可。
下面是一個簡單的例子,將英文的 "Hello,World!" 翻譯成中文、日文和韓文,并與網(wǎng)頁版的谷歌翻譯結(jié)果進(jìn)行對比:
package main
import (
"fmt"
"github.com/bregydoc/gtranslate"
"golang.org/x/text/language"
)
func main() {
text := "Hello,World!"
ja, err := translate(text, language.English.String(), language.Japanese.String())
if err != nil {
panic(err)
}
fmt.Printf("en: %s | ja: %s \\n", text, ja)
ch, err := translate(text, language.English.String(), language.Chinese.String())
if err != nil {
panic(err)
}
fmt.Printf("en: %s | ch: %s \\n", text, ch)
kr, err := translate(text, language.English.String(), language.Korean.String())
if err != nil {
panic(err)
}
fmt.Printf("en: %s | kr: %s \\n", text, kr)
}
func translate(text string, src, dst string) (string, error) {
translated, err := gtranslate.TranslateWithParams(
text,
gtranslate.TranslationParams{
From: src,
To: dst,
},
)
return translated, err
}
輸出結(jié)果如下:
en: Hello,World! | ja: こんにちは世界!
en: Hello,World! | ch: 你好世界!
en: Hello,World! | kr: ?????, ??!
與網(wǎng)頁版谷歌翻譯的結(jié)果完全一致:
日語:こんにちは世界!
中文:你好世界!
韓文:?????, ??!
使用Go語言實現(xiàn)谷歌翻譯如此簡單,希望這個例子能夠幫助大家在自己的項目中實現(xiàn)類似的功能。如果你對這個庫感興趣,不妨去GitHub上查看更多詳細(xì)信息。