大家好!今天我来介绍一种使用Go语言进行谷歌翻译的简单方法。在副业过程中,我发现需要将韩语翻译成汉语,以便群友更容易理解公告内容。最初考虑使用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上查看更多详细信息。