GolangNote

Golang笔记

谷歌翻译的 golang 库推荐

Permalink

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

kyai/google-translate-tk

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

Go: get tkk
1
2
3
tkk, _ := gt.GetTKK()
tk := gt.GetTK("hello", tkk)
tk = gt.GetTK("girl", tkk)

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

bregydoc/gtranslate

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

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

完整示例

Go: gtranslate 完整示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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

nubunto/tts

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

Go: tts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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

yanzay/googlespeak

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

Go: googlespeak
1
2
3
4
5
6
7
8
9
10
package main

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

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

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

本文网址: https://golangnote.com/topic/266.html 转摘请注明来源

Related articles

Golang 单实例实现网站多域名请求

有时候写网站,为了统一的后端,把不同业务都集中到一个后端,这时就需要处理多域名的请求,在 Go http server 里实现很简单,只需把不同域名映射到不同的 `http.Handler`。...

Golang 实现 10 进制转 N 进制

给定一个不没有重复字符的字符串,如 `[0-9,a-z]`,把一个 10 进制数字转为,该字符集的字符串。应用场合如汽车牌、顺序计数。...

Golang http client 处理重定向网页

假设一个网址有多个重定向,A-B-C-D,使用 http.Client.Get 最后取得的内容是网址D的内容,我们该手动处理包含重定向的网址。...

Golang Web 程序生产环境独立部署示例

一个 web 应用通常是跑在一个前端代理,如 Nginx 后,这样可以方便的在同一个服务器部署多个应用。这里说的独立部署是指让 go web 程序直接暴露在外面,独占 443、80 端口(俗称裸跑)。这样做除了性能有些提高外,更重要的是部署方便。...

Golang quicktemplate 模版快速入门

Golang 有很多的模版引擎,自带的 `html/template` 也很好,大多数情况都能满足需求,只是有些逻辑、条件判断不好在模版里实现, `quicktemplate` 是个很好的选择。...

Write a Comment to "谷歌翻译的 golang 库推荐"

Submit Comment Login
Based on Golang + fastHTTP + sdb | go1.22.3 Processed in 1ms