为你的 Django 项目选择合适的翻译服务提供商比你想象的更重要。你选择的提供商会直接影响翻译质量、每月账单、翻译完成速度,以及你的 %(variable)s 占位符能否完好保留。TranslateBot Django 支持三大主流选项(OpenAI GPT-4o、Anthropic Claude 和 DeepL),还通过 LiteLLM 支持 100 多种额外模型。我们进行了并排测试,让你省去这个麻烦。
竞争者
OpenAI GPT-4o / GPT-4o-mini
OpenAI 的模型是 TranslateBot 的默认选项,这是有充分理由的。GPT-4o-mini 提供了令人印象深刻的质量性价比,而 GPT-4o 则在广泛的语言范围内提供高品质翻译。两者都能很好地处理 Django 特有的占位符语法,并支持通过 TRANSLATING.md 自定义上下文。
Anthropic Claude (Sonnet / Haiku)
Claude 模型以上下文理解能力和自然流畅的输出而著称。Claude Sonnet 产生的翻译往往更有人情味,尤其是在处理惯用表达或模糊的源文本时。Claude Haiku 提供了更快、更便宜的替代方案,同时保持了稳定的质量。
DeepL
DeepL 是一个专用的机器翻译服务,而非通用 LLM。它凭借高质量的欧洲语言翻译建立了声誉,并提供每月 500,000 个字符的免费额度。DeepL 快速、可靠,且无需提示词工程。缺点是与基于 LLM 的提供商相比灵活性较低。
正面对比
| 标准 | GPT-4o-mini | GPT-4o | Claude Haiku | Claude Sonnet | DeepL |
|---|---|---|---|---|---|
| 欧洲语言质量 | 良好 | 优秀 | 良好 | 优秀 | 优秀 |
| 亚洲语言质量 | 良好 | 优秀 | 良好 | 优秀 | 有限 |
| 上下文处理 | 良好 | 优秀 | 良好 | 优秀 | 不适用 |
| TRANSLATING.md 支持 | 是 | 是 | 是 | 是 | 否 |
| 占位符安全性 | 高 | 高 | 高 | 高 | 高 |
| 免费额度 | 否 | 否 | 否 | 否 | 50万字符/月 |
| 速度 | 快 | 中等 | 快 | 中等 | 快 |
| 语言覆盖 | 100+ | 100+ | 100+ | 100+ | 30+ |
每百万输入 Token 成本
| 提供商 | 成本 |
|---|---|
| GPT-4o-mini | ~$0.15 |
| Claude Haiku | ~$0.80 |
| GPT-4o | ~$2.50 |
| Claude Sonnet | ~$3.00 |
| DeepL(免费额度) | $0.00 |
质量分析
欧洲语言(德语、法语、荷兰语、西班牙语)
DeepL 长期以来一直是欧洲语言翻译的金标准,这一声誉依然成立。英德或英法之间的翻译始终自然流畅。GPT-4o 和 Claude Sonnet 非常接近。差距已经显著缩小。对于大多数 Django 应用来说,三个高级选项都能产出可用于生产环境的欧洲语言翻译。
GPT-4o-mini 和 Claude Haiku 略逊一筹,但对大多数 UI 字符串仍然能提供良好的结果。它们偶尔在较长、复杂的句子或领域专业术语上表现不佳。
亚洲语言(日语、中文、韩语)
这是基于 LLM 的提供商领先的领域。GPT-4o 和 Claude Sonnet 在日语敬语、中文简繁体区分和韩语尊敬语方面的处理比 DeepL 精细得多。DeepL 确实支持这些语言,但覆盖范围较窄,输出可能显得生硬。
如果你的 Django 项目面向亚洲市场,请选择 LLM 提供商。
上下文与语气
LLM 提供商在这方面具有结构性优势:它们可以读取你的 TRANSLATING.md 文件,并将项目特定的指令应用到每一条翻译中。你可以指定术语偏好("将 'cart' 翻译为 'Warenkorb',而不是 'Einkaufswagen'")、设定语气指南("在德语中使用非正式的 'du'")、以及澄清模糊术语("'brief' 指的是法律文件,而非某种简短的东西")。
DeepL 的 API 不接受自定义指令。如果在使用 DeepL 时检测到 TRANSLATING.md 文件,TranslateBot 会发出警告并跳过该文件。要在 DeepL 中控制术语,你需要使用 DeepL 单独的术语表功能,这需要在 TranslateBot 之外进行额外配置。
占位符处理
所有提供商都能可靠地处理 Django 的占位符格式(%(name)s、{name}、%s、%d)。TranslateBot 在提示词中包含了明确的保留占位符指令,基于 LLM 的提供商和 DeepL 都能始终如一地遵循。在我们的测试中,占位符损坏的情况在所有提供商中都极为罕见。
实际成本示例
为了让成本差异更加直观,以下是将 500 个字符串(大约 10,000 个单词)翻译成 5 种目标语言的费用:
| 提供商 | 预计费用 |
|---|---|
| DeepL(免费额度) | $0.00 |
| GPT-4o-mini | ~$0.05 |
| GPT-4o | ~$0.50 |
| Claude Sonnet | ~$0.60 |
GPT-4o-mini 便宜得令人吃惊。将整个中型 Django 项目翻译成五种语言的费用不到五美分。即使是高级模型(GPT-4o、Claude Sonnet)也能将整个项目翻译控制在一美元以内。而 DeepL 的免费额度则让中小型项目真正做到零成本,只要你保持在每月 500,000 个字符的限额内。
对于持续开发的项目,TranslateBot 的增量翻译功能(只翻译新增或修改的字符串)让成本更低。在初始全量翻译之后,后续运行通常只处理少量字符串。
优势与不足
GPT-4o-mini
性价比之王,毫无疑问。响应速度快,大多数语言对的质量都很稳定,而且几乎每个团队都已有 OpenAI 账户。
缺点是:对于复杂或依赖上下文的文本,质量明显低于 GPT-4o 和 Claude Sonnet。偶尔会对惯用表达产生过于字面的翻译。
GPT-4o
在我们测试的所有语言中都表现出优秀的翻译质量。能够很好地处理 TRANSLATING.md 上下文,可靠地保留占位符,并在质量和成本之间取得了良好的平衡。
它比 GPT-4o-mini 慢,每 Token 成本大约高 17 倍。就翻译工作量而言绝对费用仍然可以接受,但价格差异是实实在在的。
Claude Sonnet
在产生最自然流畅的翻译方面,我们认为 Claude Sonnet 略胜一筹。当 TRANSLATING.md 包含详细上下文时,它的表现尤为出色,特别擅长处理需要区分礼貌程度的语言(德语 Sie/du、日语敬语)。
另一方面,它是每 Token 成本最高的选项,在大批量处理时也比 GPT-4o 略慢。Anthropic API 密钥在大多数团队中也不如 OpenAI 密钥常见,这可能增加使用门槛。
Claude Haiku
以适中的价格提供不错的质量。比 Sonnet 模型更快,支持完整的 TRANSLATING.md 上下文。但在复杂翻译方面与 Claude Sonnet 的质量差距明显,而且 GPT-4o-mini 通常以更低的价格提供更好的性价比。
DeepL
对于预算有限的项目来说,免费额度无可匹敌。欧洲语言质量出色且无需任何配置,API 快速可靠,不需要选择模型或调整提示词。
缺点是:不支持 TRANSLATING.md,因此无法传递自定义上下文或术语。目标语言限于约 30 种。需要单独安装 [deepl] 扩展包。而且在亚洲语言方面不如 LLM 提供商有效。
推荐矩阵
| 你的优先级 | 推荐提供商 |
|---|---|
| 最佳综合性价比 | GPT-4o-mini |
| 最高质量(通用) | GPT-4o 或 Claude Sonnet |
| 最低成本(零预算) | DeepL 免费额度 |
| 最适合亚洲语言 | GPT-4o 或 Claude Sonnet |
| 最适合欧洲语言 | DeepL |
| 需要自定义上下文/术语 | GPT-4o-mini(预算优先)或 Claude Sonnet(质量优先) |
| 企业合规需求 | 通过 LiteLLM 使用 Azure OpenAI 或 AWS Bedrock |
对于大多数 Django 项目,我们建议从 GPT-4o-mini 开始。它以最低的成本覆盖了最广泛的使用场景。如果某些语言的翻译质量不符合你的标准,请升级到 GPT-4o 或 Claude Sonnet。切换只需大约 30 秒。
如何在 TranslateBot 中切换提供商
切换提供商只需在 settings.py 中修改两个设置:
```python title="settings.py" import os
Option 1: GPT-4o-mini (default)
TRANSLATEBOT_MODEL = "gpt-4o-mini" TRANSLATEBOT_API_KEY = os.getenv("OPENAI_API_KEY")
Option 2: GPT-4o
TRANSLATEBOT_MODEL = "gpt-4o" TRANSLATEBOT_API_KEY = os.getenv("OPENAI_API_KEY")
Option 3: Claude Sonnet
TRANSLATEBOT_MODEL = "claude-sonnet-4-5-20250929" TRANSLATEBOT_API_KEY = os.getenv("ANTHROPIC_API_KEY")
Option 4: DeepL
TRANSLATEBOT_PROVIDER = "deepl" TRANSLATEBOT_API_KEY = os.getenv("DEEPL_API_KEY")
对于 DeepL,你还需要安装 DeepL 扩展包:
```bash
uv add --dev translatebot-django[deepl]
就这么简单。无需修改代码、无需迁移、无需重新部署。修改设置,重新运行翻译命令,你的翻译就会使用新的提供商。
实用技巧
提交前先测试。 使用 --dry-run 标志查看翻译效果,而不写入 .po 文件:
python manage.py translate --target-lang de --dry-run
先用便宜的,需要时再升级。 先用 GPT-4o-mini 进行初始翻译。审查输出结果。如果某些语言需要改进,针对这些特定运行切换到 GPT-4o 或 Claude Sonnet。你可以通过环境变量设置模型,无需修改 settings.py:
TRANSLATEBOT_MODEL=gpt-4o python manage.py translate --target-lang ja
使用 TRANSLATING.md 提升质量。 在升级到更昂贵的模型之前,尝试添加一个包含术语指南和语气说明的 TRANSLATING.md 文件。这通常能将 GPT-4o-mini 的输出质量提升到足以跳过更贵模型的程度。
混合搭配。 没有什么阻止你对欧洲语言(德语、法语、西班牙语)使用 DeepL,而对日语或韩语使用 GPT-4o。每个提供商运行一次翻译命令,每次针对不同的语言。
监控 DeepL 免费额度使用量。 如果你依赖 DeepL 的免费额度,请留意每月字符用量。TranslateBot 的增量翻译有所帮助,但大规模的初始翻译可能会消耗你 500,000 字符配额的很大一部分。
结论
不存在单一的"最佳"翻译提供商。正确的选择取决于你的语言需求、预算和质量要求。好消息是:TranslateBot 让切换提供商变得轻而易举,所以你永远不会被锁定。从 GPT-4o-mini 开始,测试结果,然后根据需要调整。你的 Django 翻译只需一个设置变更就能接入这些提供商中的任何一个。