# DoubaoTranslator | 豆包翻译器
[](LICENSE)
[](https://pypi.org/project/doubaotrans/)
[](https://www.python.org/)
[English](#english) | [中文](#chinese)
---
<a id="english"></a>
## 🌍 English
DoubaoTranslator is a professional translation toolkit based on Doubao API, providing features such as multilingual translation, glossary management, context-aware translation, and style customization.
### Features
- **Multilingual Support**: Translation between 17 mainstream languages
- **Context-Aware Translation**: Maintains semantic coherence with context window
- **Glossary Management**: Custom terminology mapping for professional accuracy
- **Style Templates**: Predefined styles (formal, casual, technical, creative)
- **Streaming Translation**: Real-time translation with partial results
- **Batch Processing**: Efficient bulk translation with concurrency control
- **Enhanced Language Detection**: Combined results from multiple detectors
- **Performance Optimization**: Caching, retry mechanisms, HTTP/2 support
- **Document Translation**: Context-aware translation for long documents
- **Translation Evaluation**: Quality assessment functionality
- **Async Support**: Complete async operation support, including context managers
### Installation
```bash
pip install doubaotrans
```
### Quick Start
```python
from doubaotrans import DoubaoTranslator
# Initialize translator
translator = DoubaoTranslator(api_key="your_api_key")
# Basic translation
result = await translator.doubao_translate("Hello, World!", dest="zh")
print(result.text) # 你好,世界!
# Batch translation
texts = ["Hello", "World", "AI"]
results = await translator.translate_batch(texts, dest="zh")
for result in results:
print(f"{result.origin} -> {result.text}")
# Context-aware translation
context = "This article discusses the history of Apple Inc."
text = "Apple released an innovative product."
result = await translator.translate_with_context(
text=text,
context=context,
dest="zh"
)
print(result.text) # Will translate "Apple" as the company, not the fruit
```
For detailed documentation and examples, please visit our [GitHub repository](https://github.com/kilolonion/Doubaotranslator).
---
<a id="chinese"></a>
## 🌏 中文
DoubaoTranslator 是一个基于豆包 API 的专业翻译工具包,提供多语言翻译、术语表管理、上下文感知翻译和风格定制等功能。
### 功能特点
- **多语言支持**:支持 17 种主流语言之间的互译
- **上下文感知**:使用上下文窗口维持语义连贯性
- **术语管理**:自定义术语映射,确保专业准确性
- **风格模板**:预定义风格(正式、随意、技术、创意)
- **流式翻译**:实时翻译并返回部分结果
- **批量处理**:高效的批量翻译与并发控制
- **增强语言检测**:结合多个检测器提高准确率
- **性能优化**:缓存、重试机制、HTTP/2 支持
- **文档翻译**:支持长文档的上下文感知翻译
- **翻译评估**:提供翻译质量评估功能
- **异步支持**:完整的异步操作支持,包括上下文管理器
### 安装
```bash
pip install doubaotrans
```
### 快速开始
```python
from doubaotrans import DoubaoTranslator
# 初始化翻译器
translator = DoubaoTranslator(api_key="your_api_key")
# 基本翻译
result = await translator.doubao_translate("你好,世界!", dest="en")
print(result.text) # Hello, World!
# 批量翻译
texts = ["你好", "世界", "人工智能"]
results = await translator.translate_batch(texts, dest="en")
for result in results:
print(f"{result.origin} -> {result.text}")
# 上下文感知翻译
context = "这篇文章讨论了苹果公司的发展历程。"
text = "苹果推出了革新性的产品。"
result = await translator.translate_with_context(
text=text,
context=context,
dest="en"
)
print(result.text) # 会将"苹果"翻译为公司而不是水果
```
详细文档和示例请访问我们的 [GitHub 仓库](https://github.com/kilolonion/Doubaotranslator)。
---
## 📝 Notes | 注意事项
### English
1. API Limitations
- Maximum text length per request: 5000 characters
- API rate limiting may apply
- Async methods recommended for handling large volumes
2. Performance Optimization
- HTTP/2 support requires the `hyper` package
- Caching mechanism reduces duplicate requests
- Batch processing improves efficiency
### 中文
1. API 限制
- 每次请求的最大文本长度:5000 字符
- 可能受 API 速率限制
- 建议使用异步方法处理大量请求
2. 性能优化
- 使用 HTTP/2 需要安装 `hyper` 包
- 缓存机制可以减少重复请求
- 批量处理可以提高效率
## 📄 License | 许可证
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。
## 🙏 Acknowledgments | 致谢
- Thanks to all contributors
- 感谢所有贡献者
## 📧 Contact | 联系方式
- Author | 作者: kilon
- Email | 邮箱: a15607467772@163.com
Raw data
{
"_id": null,
"home_page": "https://github.com/kilolonion/Doubaotranslator",
"name": "doubaotrans",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": null,
"author": "kilon",
"author_email": "a15607467772@163.com",
"download_url": "https://files.pythonhosted.org/packages/d9/bf/3c9ac6473dc14a36b447a50bb5a6dc40a75f3c00b60bc1cbfbd510eeb833/doubaotrans-1.2.2.1.tar.gz",
"platform": null,
"description": "# DoubaoTranslator | \u8c46\u5305\u7ffb\u8bd1\u5668\r\n\r\n[](LICENSE)\r\n[](https://pypi.org/project/doubaotrans/)\r\n[](https://www.python.org/)\r\n\r\n[English](#english) | [\u4e2d\u6587](#chinese)\r\n\r\n---\r\n\r\n<a id=\"english\"></a>\r\n## \ud83c\udf0d English\r\n\r\nDoubaoTranslator is a professional translation toolkit based on Doubao API, providing features such as multilingual translation, glossary management, context-aware translation, and style customization.\r\n\r\n### Features\r\n\r\n- **Multilingual Support**: Translation between 17 mainstream languages\r\n- **Context-Aware Translation**: Maintains semantic coherence with context window\r\n- **Glossary Management**: Custom terminology mapping for professional accuracy\r\n- **Style Templates**: Predefined styles (formal, casual, technical, creative)\r\n- **Streaming Translation**: Real-time translation with partial results\r\n- **Batch Processing**: Efficient bulk translation with concurrency control\r\n- **Enhanced Language Detection**: Combined results from multiple detectors\r\n- **Performance Optimization**: Caching, retry mechanisms, HTTP/2 support\r\n- **Document Translation**: Context-aware translation for long documents\r\n- **Translation Evaluation**: Quality assessment functionality\r\n- **Async Support**: Complete async operation support, including context managers\r\n\r\n### Installation\r\n\r\n```bash\r\npip install doubaotrans\r\n```\r\n\r\n### Quick Start\r\n\r\n```python\r\nfrom doubaotrans import DoubaoTranslator\r\n\r\n# Initialize translator\r\ntranslator = DoubaoTranslator(api_key=\"your_api_key\")\r\n\r\n# Basic translation\r\nresult = await translator.doubao_translate(\"Hello, World!\", dest=\"zh\")\r\nprint(result.text) # \u4f60\u597d\uff0c\u4e16\u754c\uff01\r\n\r\n# Batch translation\r\ntexts = [\"Hello\", \"World\", \"AI\"]\r\nresults = await translator.translate_batch(texts, dest=\"zh\")\r\nfor result in results:\r\n print(f\"{result.origin} -> {result.text}\")\r\n\r\n# Context-aware translation\r\ncontext = \"This article discusses the history of Apple Inc.\"\r\ntext = \"Apple released an innovative product.\"\r\nresult = await translator.translate_with_context(\r\n text=text,\r\n context=context,\r\n dest=\"zh\"\r\n)\r\nprint(result.text) # Will translate \"Apple\" as the company, not the fruit\r\n```\r\n\r\nFor detailed documentation and examples, please visit our [GitHub repository](https://github.com/kilolonion/Doubaotranslator).\r\n\r\n---\r\n\r\n<a id=\"chinese\"></a>\r\n## \ud83c\udf0f \u4e2d\u6587\r\n\r\nDoubaoTranslator \u662f\u4e00\u4e2a\u57fa\u4e8e\u8c46\u5305 API \u7684\u4e13\u4e1a\u7ffb\u8bd1\u5de5\u5177\u5305\uff0c\u63d0\u4f9b\u591a\u8bed\u8a00\u7ffb\u8bd1\u3001\u672f\u8bed\u8868\u7ba1\u7406\u3001\u4e0a\u4e0b\u6587\u611f\u77e5\u7ffb\u8bd1\u548c\u98ce\u683c\u5b9a\u5236\u7b49\u529f\u80fd\u3002\r\n\r\n### \u529f\u80fd\u7279\u70b9\r\n\r\n- **\u591a\u8bed\u8a00\u652f\u6301**\uff1a\u652f\u6301 17 \u79cd\u4e3b\u6d41\u8bed\u8a00\u4e4b\u95f4\u7684\u4e92\u8bd1\r\n- **\u4e0a\u4e0b\u6587\u611f\u77e5**\uff1a\u4f7f\u7528\u4e0a\u4e0b\u6587\u7a97\u53e3\u7ef4\u6301\u8bed\u4e49\u8fde\u8d2f\u6027\r\n- **\u672f\u8bed\u7ba1\u7406**\uff1a\u81ea\u5b9a\u4e49\u672f\u8bed\u6620\u5c04\uff0c\u786e\u4fdd\u4e13\u4e1a\u51c6\u786e\u6027\r\n- **\u98ce\u683c\u6a21\u677f**\uff1a\u9884\u5b9a\u4e49\u98ce\u683c\uff08\u6b63\u5f0f\u3001\u968f\u610f\u3001\u6280\u672f\u3001\u521b\u610f\uff09\r\n- **\u6d41\u5f0f\u7ffb\u8bd1**\uff1a\u5b9e\u65f6\u7ffb\u8bd1\u5e76\u8fd4\u56de\u90e8\u5206\u7ed3\u679c\r\n- **\u6279\u91cf\u5904\u7406**\uff1a\u9ad8\u6548\u7684\u6279\u91cf\u7ffb\u8bd1\u4e0e\u5e76\u53d1\u63a7\u5236\r\n- **\u589e\u5f3a\u8bed\u8a00\u68c0\u6d4b**\uff1a\u7ed3\u5408\u591a\u4e2a\u68c0\u6d4b\u5668\u63d0\u9ad8\u51c6\u786e\u7387\r\n- **\u6027\u80fd\u4f18\u5316**\uff1a\u7f13\u5b58\u3001\u91cd\u8bd5\u673a\u5236\u3001HTTP/2 \u652f\u6301\r\n- **\u6587\u6863\u7ffb\u8bd1**\uff1a\u652f\u6301\u957f\u6587\u6863\u7684\u4e0a\u4e0b\u6587\u611f\u77e5\u7ffb\u8bd1\r\n- **\u7ffb\u8bd1\u8bc4\u4f30**\uff1a\u63d0\u4f9b\u7ffb\u8bd1\u8d28\u91cf\u8bc4\u4f30\u529f\u80fd\r\n- **\u5f02\u6b65\u652f\u6301**\uff1a\u5b8c\u6574\u7684\u5f02\u6b65\u64cd\u4f5c\u652f\u6301\uff0c\u5305\u62ec\u4e0a\u4e0b\u6587\u7ba1\u7406\u5668\r\n\r\n### \u5b89\u88c5\r\n\r\n```bash\r\npip install doubaotrans\r\n```\r\n\r\n### \u5feb\u901f\u5f00\u59cb\r\n\r\n```python\r\nfrom doubaotrans import DoubaoTranslator\r\n\r\n# \u521d\u59cb\u5316\u7ffb\u8bd1\u5668\r\ntranslator = DoubaoTranslator(api_key=\"your_api_key\")\r\n\r\n# \u57fa\u672c\u7ffb\u8bd1\r\nresult = await translator.doubao_translate(\"\u4f60\u597d\uff0c\u4e16\u754c\uff01\", dest=\"en\")\r\nprint(result.text) # Hello, World!\r\n\r\n# \u6279\u91cf\u7ffb\u8bd1\r\ntexts = [\"\u4f60\u597d\", \"\u4e16\u754c\", \"\u4eba\u5de5\u667a\u80fd\"]\r\nresults = await translator.translate_batch(texts, dest=\"en\")\r\nfor result in results:\r\n print(f\"{result.origin} -> {result.text}\")\r\n\r\n# \u4e0a\u4e0b\u6587\u611f\u77e5\u7ffb\u8bd1\r\ncontext = \"\u8fd9\u7bc7\u6587\u7ae0\u8ba8\u8bba\u4e86\u82f9\u679c\u516c\u53f8\u7684\u53d1\u5c55\u5386\u7a0b\u3002\"\r\ntext = \"\u82f9\u679c\u63a8\u51fa\u4e86\u9769\u65b0\u6027\u7684\u4ea7\u54c1\u3002\"\r\nresult = await translator.translate_with_context(\r\n text=text,\r\n context=context,\r\n dest=\"en\"\r\n)\r\nprint(result.text) # \u4f1a\u5c06\"\u82f9\u679c\"\u7ffb\u8bd1\u4e3a\u516c\u53f8\u800c\u4e0d\u662f\u6c34\u679c\r\n```\r\n\r\n\u8be6\u7ec6\u6587\u6863\u548c\u793a\u4f8b\u8bf7\u8bbf\u95ee\u6211\u4eec\u7684 [GitHub \u4ed3\u5e93](https://github.com/kilolonion/Doubaotranslator)\u3002\r\n\r\n---\r\n\r\n## \ud83d\udcdd Notes | \u6ce8\u610f\u4e8b\u9879\r\n\r\n### English\r\n1. API Limitations\r\n - Maximum text length per request: 5000 characters\r\n - API rate limiting may apply\r\n - Async methods recommended for handling large volumes\r\n\r\n2. Performance Optimization\r\n - HTTP/2 support requires the `hyper` package\r\n - Caching mechanism reduces duplicate requests\r\n - Batch processing improves efficiency\r\n\r\n### \u4e2d\u6587\r\n1. API \u9650\u5236\r\n - \u6bcf\u6b21\u8bf7\u6c42\u7684\u6700\u5927\u6587\u672c\u957f\u5ea6\uff1a5000 \u5b57\u7b26\r\n - \u53ef\u80fd\u53d7 API \u901f\u7387\u9650\u5236\r\n - \u5efa\u8bae\u4f7f\u7528\u5f02\u6b65\u65b9\u6cd5\u5904\u7406\u5927\u91cf\u8bf7\u6c42\r\n\r\n2. \u6027\u80fd\u4f18\u5316\r\n - \u4f7f\u7528 HTTP/2 \u9700\u8981\u5b89\u88c5 `hyper` \u5305\r\n - \u7f13\u5b58\u673a\u5236\u53ef\u4ee5\u51cf\u5c11\u91cd\u590d\u8bf7\u6c42\r\n - \u6279\u91cf\u5904\u7406\u53ef\u4ee5\u63d0\u9ad8\u6548\u7387\r\n\r\n## \ud83d\udcc4 License | \u8bb8\u53ef\u8bc1\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n\u672c\u9879\u76ee\u91c7\u7528 MIT \u8bb8\u53ef\u8bc1 - \u67e5\u770b [LICENSE](LICENSE) \u6587\u4ef6\u4e86\u89e3\u8be6\u60c5\u3002\r\n\r\n## \ud83d\ude4f Acknowledgments | \u81f4\u8c22\r\n\r\n- Thanks to all contributors\r\n- \u611f\u8c22\u6240\u6709\u8d21\u732e\u8005\r\n\r\n## \ud83d\udce7 Contact | \u8054\u7cfb\u65b9\u5f0f\r\n\r\n- Author | \u4f5c\u8005: kilon\r\n- Email | \u90ae\u7bb1: a15607467772@163.com\r\n",
"bugtrack_url": null,
"license": null,
"summary": "A professional translation toolkit based on Doubao API",
"version": "1.2.2.1",
"project_urls": {
"Homepage": "https://github.com/kilolonion/Doubaotranslator"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3a1ff467eb4ce8fd442cb9751608147547844de8bfbafe7a694ec21afdb02f8e",
"md5": "3337aff6d2f8505abc35dc0576ce887a",
"sha256": "fe385f65c260cadb4360b860335eee3dfe20bbdda824deacea61d7a542209e4a"
},
"downloads": -1,
"filename": "doubaotrans-1.2.2.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "3337aff6d2f8505abc35dc0576ce887a",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.7",
"size": 21851,
"upload_time": "2024-12-29T12:01:46",
"upload_time_iso_8601": "2024-12-29T12:01:46.232407Z",
"url": "https://files.pythonhosted.org/packages/3a/1f/f467eb4ce8fd442cb9751608147547844de8bfbafe7a694ec21afdb02f8e/doubaotrans-1.2.2.1-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d9bf3c9ac6473dc14a36b447a50bb5a6dc40a75f3c00b60bc1cbfbd510eeb833",
"md5": "8323183ce909bf64c16b42e0a360279d",
"sha256": "be117f0e3815f7d90588f15abb65b335cd893cb2a346c65d111bca80773d08cd"
},
"downloads": -1,
"filename": "doubaotrans-1.2.2.1.tar.gz",
"has_sig": false,
"md5_digest": "8323183ce909bf64c16b42e0a360279d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 27079,
"upload_time": "2024-12-29T12:01:48",
"upload_time_iso_8601": "2024-12-29T12:01:48.740964Z",
"url": "https://files.pythonhosted.org/packages/d9/bf/3c9ac6473dc14a36b447a50bb5a6dc40a75f3c00b60bc1cbfbd510eeb833/doubaotrans-1.2.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-29 12:01:48",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kilolonion",
"github_project": "Doubaotranslator",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "doubaotrans"
}