Golang笔记

谷歌翻译的 golang 库推荐

Google 的翻译越来越好了,官方的Golang SDK 已经很完美,这里介绍的是几个非官方发布的有特色的库。

kyai/google-translate-tk

该库直接从翻译的页面获取 tkk 的值,然后用 golang 直接计算翻译所需的 token。一般 tkk 是不会变的,可以缓存后直接算 token,使用起来很方便:

tkk, _ := gt.GetTKK()
tk := gt.GetTK("hello", tkk)
tk = gt.GetTK("girl", tkk)

项目地址 https://github.com/kyai/google-translate-tk 3

bregydoc/gtranslate

该库的灵感来自两个 nodeJS 项目: google-translate-api 和 google-translate-token ,直接从页面获取 tkk 值,然后用 otto 库运行 js 脚本函数,得到 token,这个库还添加了其它功能,直接翻译成目标语言。

gtranslate.Translate("I'm alive", language.English, language.Spanish)
gtranslate.TranslateWithParams("I'm alive", gtranslate.TranslateWithParams{From: "en", To: "es"})

完整示例

package main

import (
	"fmt"

	"github.com/bregydoc/gtranslate"
)

func main() {
	text := "Hello World"
	translated, err := gtranslate.TranslateWithParams(
		text,
		gtranslate.TranslationParams{
			From: "en",
			To:   "ja",
		},
	)
	if err != nil {
		panic(err)
	}

	fmt.Printf("en: %s | ja: %s \n", text, translated)
	// en: Hello World | ja: こんにちは世界
}

项目地址 https://github.com/bregydoc/gtranslate 4

nubunto/tts

这个库功能很简单,直接拼接URL 下载文字的读音

package main

import (
	"io/ioutil"
	"log"
	"os"

	"github.com/nubunto/tts"
)

func main() {
	s, err := tts.Speak(tts.Config{
		Speak:    "olá!",
		Language: "pt-BR",
	})
	if err != nil {
		log.Fatal(err)
	}

	err = ioutil.WriteFile("output.mp3", s.Bytes(), os.ModePerm)
	if err != nil {
		log.Fatal(err)
	}

}

项目地址 https://github.com/nubunto/tts 2

yanzay/googlespeak

这个库的主要功能和上面的 nubunto/tts 一样,直接拼接地址获取文字的读音,额外添加了缓存的功能,可以方便用作本地服务。

package main

import (
  "github.com/yanzay/googlespeak"
)

func main() {
  googlespeak.Say("hi") // English by default
  googlespeak.Say("привет", "ru")
}

项目地址 https://github.com/yanzay/googlespeak 2

本文网址: https://golangnote.com/topic/266.html (转载注明出处)
关于GolangNote:记录在工作中使用golang 遇到、面临的相关问题及解决方法。如果你在这里获得一些知识或信息,解决你的编程问题,请考虑捐赠给不幸的人或者你喜欢的慈善机构,除捐赠外,种植树木、志愿服务或减少排碳的行为也很有益处。如果你有任何问题可以在下面 留言
Be the first to comment!
Captcha image
Relative Articles