使用Go語言輕松實現谷歌翻譯
大家好!今天我來介紹一種使用Go語言進行谷歌翻譯的簡單方法。在副業(yè)過程中,我發(fā)現需要將韓語翻譯成漢語,以便群友更容易理解公告內容。最初考慮使用deepL,但是在使用其API時遇到了一些問題。于是我找到了一個非常簡單的Go庫,能夠輕松實現谷歌翻譯:https://github.com/bregydoc/gtranslate。
例子
這個庫非常簡單,只有兩個方法可供使用:Translate和TranslateWithParams。其中,TranslateWithParams方法還提供了一些可選參數,但對于簡單的翻譯任務,我們只需要使用From和To參數即可。
下面是一個簡單的例子,將英文的 "Hello,World!" 翻譯成中文、日文和韓文,并與網頁版的谷歌翻譯結果進行對比:
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
}
輸出結果如下:
en: Hello,World! | ja: こんにちは世界!
en: Hello,World! | ch: 你好世界!
en: Hello,World! | kr: ?????, ??!
與網頁版谷歌翻譯的結果完全一致:
日語:こんにちは世界!
中文:你好世界!
韓文:?????, ??!
使用Go語言實現谷歌翻譯如此簡單,希望這個例子能夠幫助大家在自己的項目中實現類似的功能。如果你對這個庫感興趣,不妨去GitHub上查看更多詳細信息。