Skip to main content

Py-Translate-Kit 🌐

Structured concurrent requests

Version 0.4 adds an order-preserving batch API with per-request immutable options and isolated failures:

from translatekit import TranslationRequest

results = translator.translate_many([
    TranslationRequest(
        text="content",
        request_id="stage-1-part-1",
        options={
            "system_prompt": "Translate the supplied payload.",
            "response_format": "json_object",
            "timeout": 90,
        },
    ),
])

Calls on the same translator instance share its max_workers executor and rate limiter. Existing translate(str) and translate(list[str]) calls remain compatible.

一个现代化、轻量级的Python翻译工具包,简化多平台翻译服务集成。

PyPI version License Python Versions

✨ 特性

  • 🚀 简单易用 - 直观的API设计,快速上手
  • 🔌 多平台支持 - 整合主流翻译服务(Google、DeepL、百度等)
  • 🔄 智能重试 - 网络不稳定时自动重试
  • 💾 缓存系统 - 提高重复翻译性能
  • 📊 性能统计 - 监控翻译性能和使用情况
  • 🧩 模块化设计 - 易于扩展和维护
  • 🛡️ 类型安全 - 完整的类型注解支持

📦 安装

使用pip安装(推荐)

pip install translatekit

从源码安装

git clone https://github.com/HZBHZB1234/Py-Translate-Kit.git
cd Py-Translate-Kit
pip install -e .

🚀 快速开始

基础使用

import translatekit as tkit

# 创建翻译器配置
config = tkit.TranslationConfig(
    api_setting={"appkey": "your_app_key"},
    debug_mode=True,
    enable_cache=True,
    cache_size=1000
)

# 创建翻译器实例
translator = tkit.BaiduTranslator(
    config=config,
    source_lang="zh",
    target_lang="en"
)

# 使用翻译功能
text = "你好,世界!"
result = translator.translate(text)
print(result)  # 输出: Hello, World!

查看 example.py 获取更详细的使用示例。

🌍 支持的翻译服务

服务 类名 特点
Google Translate GoogleTranslator 免费,高质量
DeepL DeeplTranslator 高质量翻译
百度翻译 BaiduTranslator 中文支持优秀,支持文档翻译
微软翻译 MicrosoftTranslator 多语言支持,支持转写功能
腾讯翻译 TencentTranslator 中国服务,支持多种语言
Yandex YandexTranslator 俄语支持好,支持语言检测
LibreTranslate LibreTranslator 开源本地服务,支持语言检测
MyMemory MymemoryTranslator 免费服务
Papago PapagoTranslator 韩国Naver提供,支持多语种
PONS PonsTranslator 词典翻译,支持多语言
Linguee LingueeTranslator 词典和翻译记忆,支持多语言
QCRI QcriTranslator 卡塔尔计算研究所提供,支持领域翻译
有道翻译 YoudaoTranslator 支持文档、图片、网页翻译等多种功能
腾讯混元 TencentHunyuanTranslator 腾讯混元大模型翻译
以及其他更多服务 ... 持续扩展中

⚙️ 配置选项

Py-Translate-Kit 提供了丰富的配置选项,详情请参阅 TRANSLATION_CONFIG.md。

🧩 工具箱

Py-Translate-Kit 提供了一些工具箱函数,帮助开发者处理翻译相关的任务。详情请参阅 kit.md。

🛠️ 高级功能

缓存系统

可选的缓存机制,显著提高重复翻译的性能。

智能重试

在网络不稳定时自动重试,确保翻译请求的成功率。

性能统计

监控翻译性能和使用情况,帮助优化翻译流程。

批量与分块翻译

  • 批量翻译:高效处理多个文本
  • 分块翻译:处理长文本的自动分块功能

🏗️ 项目结构

translatekit/
├── __init__.py              # 导出主要类和函数
├── base.py                  # 所有翻译器的抽象基类
├── kit.py                   # 工具箱函数
├── google.py                # Google Translate 实现
├── baidu.py                 # 百度翻译实现
├── deepl.py                 # DeepL API 实现
├── microsoft.py             # Microsoft Translator 实现
├── tencent.py               # 腾讯翻译实现
├── yandex.py                # Yandex.Translate 实现
├── libre.py                 # LibreTranslate 实现
├── mymemory.py              # MyMemory 实现
├── papago.py                # Papago 实现
├── pons.py                  # PONS 实现
├── linguee.py               # Linguee 实现
├── qcri.py                  # QCRI 实现
├── ...                      # 其他翻译服务

🤝 贡献 & 碎碎念

本项目开始开发的原因是deeptranslate库的功能过于简单,且大量api已经失效。
因此,为了更好地服务于Python开发者,我们开发了Py-Translate-Kit,提供了更加丰富的翻译服务,并加入了缓存、重试、性能统计等功能。
欢迎大家提出宝贵意见,共同打造一个更加优秀的翻译工具包。

鉴于当前开发者无力获取所有该仓库支持的翻译服务的apikey,如果出现了问题,请提交issue。

github copilot说话咋这么肉麻

📄 许可证

本项目采用 MIT 许可证。

🐛 报告问题

如果遇到任何问题,请在 GitHub Issues 中提交问题。

Metadata

Release files for translatekit 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for translatekit 0.4.0
File Size Uploaded
translatekit-0.4.0.tar.gz 71.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for translatekit 0.4.0
File Interpreter ABI Platform
translatekit-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 146.5 kB

Release files / translatekit-0.4.0.tar.gz

Download URL translatekit-0.4.0.tar.gz
Size 71.0 kB
Tags Source
SHA-256 checksum
How to use checksums
d8538db1d5c4950150c03a876e601ae45e4daed1e211ed54bdff708fae2818dd
BLAKE2b-256 checksum
How to use checksums
e800d1651a8c6675f2ad61d8237af4f4cda6bb0928d748e9d62abc6f41fde852
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.9

Release files / translatekit-0.4.0-py3-none-any.whl

Download URL translatekit-0.4.0-py3-none-any.whl
Size 75.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8f162ed0a32b0ba0d61f922b0a13e5bd78e2b752682b61031b17ca7c16508299
BLAKE2b-256 checksum
How to use checksums
2628f94b935640d0eb5e4ef8078a94c90d76fbd63d7dad76b83218237b1b0a4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.9

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page