doubaotrans


Namedoubaotrans JSON
Version 1.2.2.1 PyPI version JSON
download
home_pagehttps://github.com/kilolonion/Doubaotranslator
SummaryA professional translation toolkit based on Doubao API
upload_time2024-12-29 12:01:48
maintainerNone
docs_urlNone
authorkilon
requires_python>=3.7
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # DoubaoTranslator | 豆包翻译器

[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![Version](https://img.shields.io/badge/version-1.2.2-green.svg)](https://pypi.org/project/doubaotrans/)
[![Python](https://img.shields.io/badge/python-3.7%2B-blue.svg)](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](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\r\n[![Version](https://img.shields.io/badge/version-1.2.2-green.svg)](https://pypi.org/project/doubaotrans/)\r\n[![Python](https://img.shields.io/badge/python-3.7%2B-blue.svg)](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"
}
        
Elapsed time: 0.68685s