Skip to main content

没有任何依赖的翻译库,API 统一简单易用,适合快速集成翻译功能而不想引入庞大的依赖库

Project description

translation-hub

没有任何依赖的翻译库,API 统一简单易用,适合快速集成翻译功能而不想引入庞大的依赖库。

  • 简单易用
  • 支持多种翻译服务
  • 仅使用 requests 与 urllib 实现,适合快速集成
  • 屏蔽各大翻译api语言代码,内置了常用语言的映射
  • 支持多种秘钥传入方式,无需每次都输入(直接传入,本地存储,环境变量)
  • 更加直观的自定义报错类型提示(翻译服务报错,秘钥错误等)
  • 详细的代码文档(包括免费额度, 如何开通和文档地址等)
  • 完整的单元测试

Installation 安装说明

translation-hub 的安装非常简单,只需要使用 pip 安装即可

pip install translation-hub

QuickStart 快速开始

只需要定义一个翻译器对象,传入秘钥,然后调用 translate 方法即可。

同时支持直接传入,本地存储秘钥以及从环境变量获取秘钥

from translation_hub import BaiduAPI

translator = BaiduAPI("your appid", "secret_key")
result = translator.translate("hello")

print(result)  # 你好

自定义翻译语言,使用 Languages 枚举类来实现屏蔽各大翻译api语言代码

from translation_hub import GoogleFreeApi, Languages

# 谷歌无需传入秘钥
translator = GoogleFreeApi()

# 自动检测后翻译成中文
print(translator.translate("hello", Languages.Auto, Languages.Chinese))  # 你好

# 手动说明语言,然后翻译成日文
print(translator.translate("hello", Languages.English, Languages.Japanese))  # こんにちは

Supported Translation Services 支持的翻译服务

无需秘钥的翻译服务(需要注意访问频率限制,反爬随时可能更新导致失效):

  • 百度翻译 BaiduFreeApi
  • 谷歌翻译 GoogleFreeApi(需要翻墙)

目前支持的国内翻译服务(均为有免费额度):

  • 百度翻译 BaiduAPI
  • 有道翻译 YoudaoApi
  • 腾讯翻译 TencentApi
  • 阿里翻译 AliyunApi

目前支持的国外翻译服务:

  • deepl翻译 DeeplApi

Supported Languages 支持的语言

每一个翻译 API 对应语言的缩写形式不同,比如简体中文在百度翻译中是 zh,在谷歌翻译中是 zh-CN,在有道翻译中是 zh-CHS 。为了方便使用,我定义了一个枚举类 Languages 来屏蔽这些细节,直接使用枚举类即可。

目前支持的通用语言如下,我为这些语言定义了一个枚举类 Languages 来屏蔽各大翻译api的语言代码:

  • 中文 Language.Chinese
  • 英语 Language.English
  • 日语 Language.Japanese
  • 韩语 Language.Korea
  • 俄语 Language.Russia
  • 自动选择 Language.Auto

如果您需要其他语言,可以自行前往查看每一个翻译服务的支持语言,然后手动传入语言代码即可。比如

from translation_hub import DeeplApi

deepl = DeeplApi("your api key")

# 翻译成德语
print(deepl.translate("hello", "EN", "DE"))  # hallo

Configuration 配置说明

每一个翻译服务除了能直接传入 api_id 和 api_key 之外,还支持从本地文件中读取秘钥以及从环境变量中读取秘钥

本地文件

在 C 盘的用户目录,下会创建一个 TranslateHubConfig.json 文件,您可以在这个文件中存储您的秘钥,下一次创建翻译器对象便可以不传入秘钥

文件的默认路径为: C:\Users\Administrator\TranslateHubConfig.json,此时也可能会因为权限问题无法创建文件,您可以手动创建一个文件,然后将秘钥写入即可。 其中的 Administrator 替换成您的用户名即可

{
  "Aliyun": {
    "AliyunAppId": "",
    "AliyunSecretKey": ""
  },
  "Baidu": {
    "BaiduAppId": "",
    "BaiduSecretKey": ""
  },
  "Deepl": {
    "DeeplApiKey": ""
  },
  "Tencent": {
    "TencentAppId": "",
    "TencentSecretKey": ""
  },
  "Youdao": {
    "YoudaoAppId": "",
    "YoudaoSecretKey": ""
  }
}

环境变量

环境变量是一种更加安全的存储方式,翻译器对象会自动读取环境变量中的秘钥

您需要自行设置环境变量,变量名如下:

AliyunAppId
AliyunSecretKey
BaiduAppId
BaiduSecretKey
DeeplApiKey
TencentAppId
TencentSecretKey
YoudaoAppId
YoudaoSecretKey

如何设置环境变量

在 Windows 系统中,您可以使用如下操作来设置环境变量

  1. 右键点击"此电脑"/"我的电脑" -> 点击"属性"
  2. 点击"高级系统设置"
  3. 在"系统属性"窗口中,选择"高级"选项卡
  4. 点击右下角的"环境变量"按钮
  5. 在"环境变量"窗口中:
    • 上半部分是"用户变量"(仅对当前用户有效)
    • 下半部分是"系统变量"(对所有用户有效)
  6. 点击"新建"添加新变量,或选择已有变量点击"编辑"
  7. 输入变量名和变量值
  8. 连续点击"确定"保存所有更改

在 Linux 系统中,您可以使用如下操作来设置环境变量

# 编辑 ~/.bashrc 文件
nano ~/.bashrc

# 在文件末尾添加
export VARIABLE_NAME="value"

# 保存并应用更改
source ~/.bashrc

在 MacOS 系统中,您可以使用如下操作来设置环境变量

# 编辑 /etc/profile
sudo nano /etc/profile

# 添加
export VARIABLE_NAME="value"

# 应用更改
source /etc/profile

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

translation_hub-0.6.13.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

translation_hub-0.6.13-py3-none-any.whl (29.2 kB view details)

Uploaded Python 3

File details

Details for the file translation_hub-0.6.13.tar.gz.

File metadata

  • Download URL: translation_hub-0.6.13.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for translation_hub-0.6.13.tar.gz
Algorithm Hash digest
SHA256 f395a6b98996557f05be36784be2efaea3324c86d569c80ab9c620c451b1d2b1
MD5 91c58dfb9b9d9d25dfba96236dad6296
BLAKE2b-256 d9e20c2fa3b12057d89b6cfc95a389ad89cb7354a3dc3c3628ac0e339c260b31

See more details on using hashes here.

Provenance

The following attestation bundles were made for translation_hub-0.6.13.tar.gz:

Publisher: python-publish.yml on 271374667/translation_hub

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file translation_hub-0.6.13-py3-none-any.whl.

File metadata

File hashes

Hashes for translation_hub-0.6.13-py3-none-any.whl
Algorithm Hash digest
SHA256 bb72861e06503c1382daecc9d4a3d88135a8368d0cea82c38d4b449a6a8f9464
MD5 3938ff4c725dae64be9f34f8f2e51176
BLAKE2b-256 fdc2584f68ab25e82e0523c2e73c81b45db73a1dc0db1c912a5b7bbf85a27953

See more details on using hashes here.

Provenance

The following attestation bundles were made for translation_hub-0.6.13-py3-none-any.whl:

Publisher: python-publish.yml on 271374667/translation_hub

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page