使用Go语言实现谷歌翻译功能

来自:网络
时间:2024-03-30
阅读:

大家好!今天我来介绍一种使用Go语言进行谷歌翻译的简单方法。在副业过程中,我发现需要将韩语翻译成汉语,以便群友更容易理解公告内容。最初考虑使用deepL,但是在使用其API时遇到了一些问题。于是我找到了一个非常简单的Go库,能够轻松实现谷歌翻译:https://github.com/bregydoc/gtranslate

例子

这个库非常简单,只有两个方法可供使用:TranslateTranslateWithParams。其中,TranslateWithParams方法还提供了一些可选参数,但对于简单的翻译任务,我们只需要使用FromTo参数即可。

下面是一个简单的例子,将英文的 "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上查看更多详细信息。

返回顶部
顶部