Go 语言多翻译 API 统一封装库,支持 18+ 种翻译服务。
go get github.com/beesoft/go-translationpackage main
import (
"context"
"fmt"
"os"
"github.com/beesoft/go-translation"
"github.com/beesoft/go-translation/translators/openai"
)
func main() {
translator := openai.NewTranslator(
translation.ApiKey(os.Getenv("OPENAI_API_KEY")),
translation.From("zh"),
translation.To("en"),
)
result, err := translator.Translate(context.Background(), "你好,世界!")
if err != nil {
fmt.Println("error:", err)
return
}
fmt.Printf("译文: %s\n", result.To.Content)
}type Translator interface {
Translate(ctx context.Context, src string) (*Translate, error)
TranslateJson(ctx context.Context, src string) (*Translate, error)
}| Option | 说明 | 默认值 |
|---|---|---|
translation.ApiKey(key) |
API 密钥 | - |
translation.AppId(id) |
应用 ID | - |
translation.AppSecret(secret) |
应用密钥 | - |
translation.BaseUrl(url) |
自定义 API 地址 | 各翻译器默认值 |
translation.From(lang) |
源语言 | zh |
translation.To(lang) |
目标语言 | en |
translation.Timeout(d) |
请求超时 | 30s |
translation.MaxRetries(n) |
最大重试次数 | 3 |
translation.Model(model) |
LLM 模型名 | - |
translation.WithContext(ctx) |
基础 context | - |
| 翻译器 | 包名 | 认证方式 | 申请链接 |
|---|---|---|---|
| OpenAI | translators/openai |
ApiKey | https://platform.openai.com/api-keys |
| Claude | translators/anthropic |
ApiKey | https://console.anthropic.com/settings/keys |
| Ark (豆包) | translators/ark |
ApiKey | https://console.volcengine.com/ark |
translator := openai.NewTranslator(
translation.ApiKey("sk-xxx"),
translation.From("zh"), translation.To("en"),
openai.WithModel("gpt-4o"),
)| 翻译器 | 包名 | 认证方式 | 申请链接 |
|---|---|---|---|
| 阿里云 | translators/aliyun |
AppId + AppSecret | https://ram.console.aliyun.com/manage/ak |
| 百度 | translators/baidu |
ApiKey + AppSecret | https://fanyi-api.baidu.com/ |
| 腾讯 | translators/tencent |
AppId + AppSecret | https://console.cloud.tencent.com/cam/capi |
| 讯飞 | translators/iflytek |
AppId + ApiKey + AppSecret | https://console.xfyun.cn/ |
| 有道 | translators/youdao |
AppId + AppSecret | https://ai.youdao.com/ |
| 火山翻译 | translators/volcengine |
AppId + AppSecret | https://console.volcengine.com/iam/keymanage/ |
| 小牛翻译 | translators/niutrans |
ApiKey | https://niutrans.com/Account/service |
| 彩云小译 | translators/caiyun |
ApiKey | https://dashboard.caiyunapp.com/ |
| 深智科技 | translators/shenzhi |
ApiKey | https://www.shenzhiapi.com/ |
| 翻译器 | 包名 | 认证方式 | 申请链接 |
|---|---|---|---|
translators/google |
ApiKey | https://console.cloud.google.com/apis/credentials | |
| Microsoft | translators/microsoft |
ApiKey | https://portal.azure.com/ → Cognitive Services |
| DeepL | translators/deepl |
ApiKey | https://www.deepl.com/your-account/keys |
| Amazon | translators/amazon |
AppId + AppSecret | https://console.aws.amazon.com/iam/ |
| IBM Watson | translators/watson |
ApiKey | https://cloud.ibm.com/catalog/services/language-translator |
| Systran | translators/systran |
ApiKey | https://www.systran.net/en/account/api/ |
| Smartling | translators/smartling |
ApiKey | https://dashboard.smartling.com/ |
| 服务 | 简体中文 | 英语 |
|---|---|---|
| OpenAI / Claude / Ark | zh | en |
| zh | en | |
| 百度 | zh | en |
| 腾讯 | zh | en |
| 阿里云 | zh | en |
| Microsoft | zh-Hans | en |
| DeepL | ZH | EN |
| Amazon | zh | en |
| Watson | zh | en |
| 讯飞 | cn | en |
| 有道 | zh-CHS | en |
| 火山翻译 | zh | en |
| 小牛翻译 | zh | en |
| 彩云小译 | zh | en |
| 深智科技 | zh | en |
复制 .env.example 为 .env,填入你的 API 密钥:
cp .env.example .envgo run ./examples/openai
go run ./examples/anthropic
go run ./examples/aliyun
go run ./examples/baidu
go run ./examples/youdao
# ... 更多示例见 examples/ 目录- Context 支持: 支持请求超时和取消
- 自动重试: 指数退避重试,可配置最大重试次数
- 超时控制: 可配置 HTTP 请求超时
- 错误传播: 所有错误通过 error 返回
MIT