一、语言设置究竟在控制什么
打开 DeepL 翻译,最先遇到的往往是左右两枚下拉框。多数人把它们当成“从中文到英文”的一次性选择,实际上这两个选项同时决定了三件事:引擎走哪条翻译路径、术语表能不能生效,以及这次翻译在数据留存与审计上会被归入哪一类记录。把 DeepL 翻译的源语言与目标语言设置理解成一次“声明”,而不是一次“偏好”,后面的很多困惑就会自然消失。
源语言(source language)是待译文本的原始语言,目标语言(target language)是输出语言。前者默认为“检测语言”(Detect language),由模型自行判断输入语种;后者必须手动指定,界面不会替你猜。这个不对称设计背后有原因:检测错误通常只影响一次翻译的质量,而目标语言选错会直接产出读者看不懂的文本,代价更高。所以在任何正式流程里,源语言可以交给自动检测,目标语言不能。
自动检测在什么情况下值得信任
单语种、篇幅适中、表述完整的文本,自动检测的命中率在经验性观察中相当高。典型场景是把一段中文产品说明粘进左侧输入框,检测结果通常就是中文,无需干预。问题出在边界情形:多语种混排的技术文档、以英文术语为主的合同条款、只有两三个单词的短语,以及大量专有名词堆砌的标题。这些输入的统计特征不足,检测结果可能出现偏差,而偏差往往不会报错,只会安静地给出一个看起来通顺、实则走错路径的译文。
判断依据很简单:如果这段文本你自己都无法一眼确认它“主要是哪种语言”,就不要指望自动检测。此时手动锁定源语言,是最省事的止损方式。反过来说,如果输入是格式统一的单语材料,长期手动指定源语言反而会变成多余的操作成本。
显式指定源语言的三个现实理由
- 可审计。在需要留档的流程里,“系统自动判断为日语”和“操作者声明源语言为日语”是两种不同性质的记录。后者可以追溯到人,前者只能追溯到模型。
- 可复现。同一份文件在不同时间、不同账号下翻译,自动检测结果未必一致;显式指定后,输入条件被固定,便于比对不同目标语言的产出差异。
- 可拦截。当源语言被锁定后,若上游误传了一份语言不符的文件,译文质量会明显劣化而不是“悄悄变好”,异常更容易被发现。
但显式指定并非永远更优。批量处理来源混杂的客服邮件、社交媒体评论流这类内容时,逐条指定源语言的工作量会压垮收益;此时保留自动检测、在下游加一道人工抽检,通常更划算。
二、套餐与版本差异:谁能改、改到什么程度
语言设置本身在所有档位都开放,差异出现在“与语言设置绑定的能力”上——术语表、文档翻译、数据留存策略,以及 API 的调用配额。下表按能力维度做横向对照,具体额度与开关以官网当前说明为准,因为各档位的配额会随版本调整。
| 能力项 | 免费网页版 | Pro 订阅 | API Free | API Pro |
|---|---|---|---|---|
| 手动指定源语言 | 支持 | 支持 | 支持 | 支持 |
| 目标语言变体(如英式/美式) | 支持 | 支持 | 支持 | 支持 |
| 文档翻译 | 有限额度 | 支持,额度更高 | 不适用 | 不适用 |
| 术语表(Glossary) | 不支持 | 支持 | 不支持 | 支持 |
| 文本留存策略 | 按免费版条款 | 翻译后即删,不用于训练 | 可能用于服务改进 | 翻译后即删,不用于训练 |
表中“翻译后即删”等表述依据 DeepL 官方对 Pro 与 API Pro 的数据处理说明。企业版另有数据驻留与合规选项,具体可用区域与条款请以官方当前公布的文档为准,不要以本文为准。
这张表最容易被忽略的一行是“术语表”。它意味着:如果你的准确性依赖专有名词统一,那么在免费版里无论怎么调源语言和目标语言,都拿不到那部分收益。语言设置解决的是“路径对不对”,术语表解决的是“词对不对”,两者不是替代关系。
三、桌面网页端的最短路径
在浏览器里打开翻译页面后,输入框上方左侧是源语言下拉,右侧是目标语言下拉,两者中间有一枚带双向箭头的按钮。最短操作路径是三步:点开左侧下拉,在列表中找到并选中源语言(或保留“检测语言”);点开右侧下拉,选中目标语言;粘贴文本。如果只是想对调方向,点中间的双向箭头即可,不必重新选两次。
这套操作的原因在于:两个下拉是“状态”而非“动作”,一旦选定,后续在同一页面内的所有翻译都会沿用该组合,直到你再次修改或刷新页面。因此在连续处理多份同语种文件时,正确的做法是先设好一次,再逐份粘贴,而不是每份都重设一遍。
下拉里找不到目标语言时的回退方案
常见原因是列表较长且按字母或界面语言排序,滚动手动查找容易漏看。更稳妥的做法是在下拉展开后直接键入语言名称的前几个字符进行过滤(视当前界面版本而定,部分版本支持输入筛选)。若确认目标语言确实不在列表中,通常说明该语种尚未被支持,此时不存在“通过设置绕过”的办法,只能改用其他工具或先译成受支持的中间语言。
这里有一条边界值得提前说明:不要为了凑出一个“看起来能选”的组合,而把源语言故意设成错误值。例如把阿拉伯语文本的源语言设为英语,引擎会按英语规则解析,产出的是错译而非拒译,且错误不会被界面提示。语言设置生效的前提是它如实描述输入。
四、移动端:iOS 与 Android 的路径差异
移动端把语言选择做成了一枚可点击的条形控件,位置通常在输入区上方或界面顶部,点击后弹出双列选择面板,左侧选源语言、右侧选目标语言。Android 与 iOS 在交互上基本一致,差异主要体现在入口层级:部分 Android 版本将语言切换收在输入框上方的窄条中,需要先轻触再选择;iOS 版本则常以底部弹层形式出现,选中后自动收起。
移动端还有一个桌面端没有的取舍:相机翻译与语音输入。这两种输入方式的语种判断更依赖自动检测,因为用户举起手机对着菜单拍照时,很少愿意先手动设置源语言。经验性观察是,在光线充足、文字占比高的拍摄条件下,检测结果可用性较好;而在混排菜单、手写体或反光严重时,先手动锁定源语言会明显减少返工。这也是“何时该手动、何时该放手”在移动场景下最直观的体现。
需要提醒的是,移动端设置通常不跨设备同步。如果你在手机上把目标语言改成了日语,回到桌面网页端仍会是原来的选择。把常用语言组合当成一项需要各自维护的本地配置,比期待它云端同步更符合实际。
五、文档翻译:语言设置出现在上传之前还是之后
文档翻译的入口与文本翻译分开,通常位于页面上的“翻译文件”标签或独立的文件翻译地址。流程是:先选择源语言与目标语言,再上传文件。顺序很重要——部分版本的界面允许上传后再调整语言,但调整会触发重新处理,耗时与配额都会重复消耗。稳妥做法是上传前就把两个下拉确认一遍。
支持的文件类型以常见办公文档、纯文本、HTML 与 PDF 为主,具体清单随版本演进会变化,请以界面上传框的提示为准。这里有一个容易被忽略的边界:文档翻译会尽量保留原有排版,但“保留排版”与“保留语言标记”是两件事。如果源文档本身内含多语种段落(例如中英混排的技术手册),你在源语言里做的单一选择会作用于整份文档,混排部分的质量取决于引擎在该路径下的表现,而不是你的设置能单独优化的。
处理混排文档的可行做法
一种经验性做法是先按语种把文档拆成单语部分,分别以对应源语言翻译,再合并。这样做的代价是排版需要手工复原,收益是每一段都走了正确的语言路径。是否值得,取决于文档里混排内容的比例:如果只是零星几个术语,交给术语表更划算;如果整章整节是另一种语言,拆分几乎总是更优。
另一条边界是配额。文档翻译在免费档位有额度限制,超出后无法继续,且不同文件大小消耗不同。在批量处理前先拿一份代表性文件试跑,确认语言设置与排版结果都符合预期,再投入全量,这是成本最低的验证方式。
六、API 与自动化流程中的参数写法
当翻译被接入自动化流程,语言设置就从点选变成了请求参数。DeepL 的翻译接口接收 source_lang 与 target_lang 两个字段:前者可省略,省略即启用自动检测;后者必填,且需要大写语言代码,区域变体通过连字符追加,例如 EN-US、PT-BR。返回结果中会带上检测到的源语言,可用于事后核对。
POST /v2/translate
Content-Type: application/json
{
"text": ["..."],
"source_lang": "ZH",
"target_lang": "EN-US"
}端点地址按 Free 与 Pro 区分,密钥也各自独立,混用会直接返回鉴权错误。这一点在搭建流水线时经常被踩:把测试环境的 Free 密钥带进生产环境,表面上能跑通,实际上所有请求都在走会留存文本的通道,合规结论随之失效。建议在配置层就把端点与密钥绑成一个不可拆分的“环境对象”,而不是两个可自由组合的变量。
语言代码写错时的表现
小写代码、拼写错误,或使用了目标语言不支持的区域变体,通常不会得到“温柔纠正”,而是直接报参数错误。这类错误在批量任务里会表现为整批失败而非部分失败,反而容易定位。真正隐蔽的是把 source_lang 填成了一个与内容不符但合法的代码:请求成功,译文却整体跑偏,且日志里看不出异常。可复现的验证方法是抽取若干条样本,比对返回的检测语言与人工判断是否一致,再决定是否省略该参数。
七、语言变体与不支持语言对:准确性最容易被偷走的地方
英语、葡萄牙语、中文等语言存在区域或书写变体,界面里以“(美式)”“(英式)”“(巴西)”“(欧洲)”“(简体)”“(繁体)”这类后缀区分。选错变体不会导致报错,只会让译文带着另一地区的用词与拼写习惯。对面向特定市场的文档,这是实实在在的质量损失。
| 场景 | 建议目标语言 | 选错的典型后果 |
|---|---|---|
| 面向美国市场的产品页 | 英语(美式) | 拼写与用词偏英式,读者感到违和 |
| 面向英国客户的合同 | 英语(英式) | 法律惯用语不一致,需人工返工 |
| 面向巴西用户的客服话术 | 葡萄牙语(巴西) | 词汇与敬语层级不匹配当地习惯 |
| 面向部分地区的正式文档 | 中文(简体) | 字形与用词偏繁体,需二次转换 |
不支持的语言对会怎样
当两个语种之间没有直接路径时,引擎可能借助中间语言转译,常见的中转语种是英语。经验性观察是:这类转译在语义层面通常仍可读,但在习语、敬语层级、行业惯用语上更容易失真,因为信息经历了两次风格映射。官方帮助文档对支持的直译语言对有过说明,但清单会更新,建议以官方当前页面为准,而不是依赖记忆。
可复现的验证方法是:准备一组包含习语与专业术语的短句,先用目标语言直译一次,再手动经英语中转翻译一次,对比两版差异。差异明显的语言对,在正式交付前应当安排母语者复核,而不是把引擎输出直接当成终稿。
八、术语表与语言对锁定:让设置可复用
术语表(Glossary)允许你为特定语言对预置“原文—译文”对照,翻译时强制采用。它只在 Pro 与 API Pro 档位可用,且必须绑定到具体的源语言与目标语言组合上。这一点决定了术语表天然是“语言设置的下游”:语言对选错,术语表根本不会被激活,你精心维护的词条等于没写。
因此推荐的做法是:先在团队内把常用语言对固定成清单,再按清单逐一建立术语表,命名时把语言对写进名称(例如“中—英US 产品术语”),避免日后在多份术语表之间反复试错。API 场景下通过 glossary_id 指定,未指定则使用默认行为。
权限最小化原则
术语表往往包含产品未公开的命名、内部代号甚至客户名称,其敏感度不亚于源文档本身。在团队协作中,应只给实际需要维护词条的人编辑权限,翻译使用者只保留调用权限。若通过接口调用,术语表 ID 不应硬编码在客户端代码里,而应放在服务端配置中,避免随前端包一起泄露。
不适用的情况同样要说清:如果内容是一次性的、术语体系尚未稳定,投入维护术语表的成本大概率收不回来。术语表适合“高频复用、命名已冻结”的场景,不适合探索期的草稿翻译。
九、合规与数据留存视角:语言设置如何影响可审计性
把语言设置放到合规语境里看,它的作用不是加密或脱敏,而是让一次翻译行为的输入条件变得可记录、可复现。审计时被问到的往往不是“译文好不好”,而是“这份译文是用什么配置、在哪个通道、由谁发起的”。源语言与目标语言正是这套配置里最容易缺失、也最容易补全的两项。
由此可以推出一条实用的取舍规则:凡是需要留档的翻译,源语言一律显式指定,不用自动检测。理由不是检测不准,而是检测结果属于运行时状态,不会自动进入你的操作日志;而显式指定的值可以被记录在工单、脚本参数或流水线配置里。这一点在 API 场景下尤其重要——把 source_lang 写死在请求体里,等于把“这次翻译的前提”固化进了代码版本库。
| 诉求 | 通道选择 | 语言设置建议 |
|---|---|---|
| 内部草稿,低敏感 | 免费网页版 | 可用自动检测,追求效率 |
| 对外发布前的正式译文 | Pro 订阅或 API Pro | 显式指定两端语言,绑定术语表 |
| 含客户信息的合同条款 | Pro 及以上,避免 Free 通道 | 显式指定,并在工单中记录语言对与时间 |
一套可复现的验证步骤
- 用同一段文本,在免费通道与 Pro 通道各翻译一次,两端语言均显式指定。
- 保存两次请求的端点地址、是否携带密钥类型,以及语言参数,作为配置快照。
- 对照官方当前的数据处理说明,确认所选通道的留存条款与你的合规要求一致。
- 把上述快照作为附件归档到该批译文的交付记录中,使“用了什么配置”可被第三方复核。
预期可观测的指标是:任何人都能凭这份快照重建一次等价翻译。如果重建不出来,说明配置记录里缺了关键项,通常是语言参数或通道信息。
十、故障排查:现象—原因—验证—处置
| 现象 | 可能原因 | 验证方法 | 处置 |
|---|---|---|---|
| 译文读得通但明显跑题 | 源语言检测错误,或手动设成了不符的值 | 清空重贴,观察自动检测结果是否与人工判断一致 | 改为显式指定正确源语言后重译 |
| 术语表里的词没被采用 | 语言对与术语表绑定的组合不一致 | 核对术语表适用的语言对与当前两端选择是否一致 | 调整语言对,或为该组合新建术语表 |
| 接口返回参数错误 | 语言代码小写、拼写错误或区域变体不支持 | 逐字段比对官方语言代码列表 | 改为大写标准代码,去掉不受支持的变体后缀 |
| 文档翻译排版错乱 | 源文档含多语种混排或复杂版式 | 用单语样本与混排样本各跑一次对比 | 拆分文档分语种翻译,或改用可保留版式的格式 |
| 同一文本两次结果不同 | 自动检测给出不同判断,或引擎版本更新 | 固定语言参数后重复提交,观察差异是否消失 | 正式流程中固定语言参数,消除变量 |
排查的顺序建议固定为“先语言、后内容”。因为语言参数错误会污染后续所有判断,先排除它,再看术语表、文件格式、配额这些因素,能省掉大量无效试错。
十一、适用与不适用场景清单
| 适合显式指定两端语言 | 适合保留自动检测 |
|---|---|
| 需要归档、复核、追责的交付译文 | 一次性浏览外文网页或短消息 |
| 启用术语表的批量产品文案 | 来源语种高度混杂的评论流 |
| 写入流水线的 API 调用 | 移动端相机即时翻译 |
| 对同一素材生成多语版本时的对照实验 | 语言尚未确认的初筛阶段 |
不适用的边界同样明确:当内容本身语种未定、或每次处理量极大且单条价值很低时,逐条指定语言会让流程变重。另一个不该硬上语言设置的情形是——团队根本没有留档需求,此时纠结“是否显式指定”属于过度设计,把精力放在译文复核上收益更高。
十二、版本迁移与兼容性检查表
语言相关的迁移风险集中在三处:语言代码体系变更、术语表与新语言对的重新绑定,以及通道切换带来的留存策略变化。前两者影响正确性,第三者影响合规结论。迁移前按下表逐项确认,可以把大部分意外挡在发布之前。
- 语言代码:确认脚本中所有
target_lang均为大写标准代码,区域变体使用官方支持的写法。 - 源语言策略:明确哪些调用保留自动检测、哪些必须显式指定,并在代码注释里写明理由。
- 术语表映射:逐一核对术语表绑定的语言对是否仍与调用参数一致,不一致的会静默失效。
- 通道与端点:确认 Free 与 Pro 的端点、密钥没有交叉使用,尤其是从测试环境复制到生产时。
- 留存条款:切换档位后重新核对一次数据处理说明,把结论写进交付记录。
- 回归样本:保留一组含习语与专有名词的固定样本,迁移后跑一次,比对译文差异。
不支持的语言对、可用的区域变体、各档位额度都会随版本更新而变化。本文涉及的具体清单均应以官方当前页面为准;本文给出的方法(显式指定、固定参数、留存快照)比清单本身更耐版本更替。
十三、最佳实践清单
把前面的讨论收敛成几条可执行的决策规则,日常使用时按顺序判断即可。规则不追求覆盖所有情形,只处理最常见的那几类。
- 先问“这份译文要不要留档”。要留档,源语言一律显式指定;不留档,自动检测即可。
- 再问“术语是否已冻结”。已冻结且高频复用,上术语表并绑定语言对;未冻结,先别建。
- 目标语言永远手动选,并留意区域变体后缀,不要依赖任何默认值。
- API 调用中,把语言参数与通道配置一起纳入版本管理,避免口头约定。
- 批量任务前先跑一份代表性样本,确认语言路径与排版结果,再放量。
- 混排文档优先拆分而非硬译,拆分的成本通常低于事后校对。
- 面向特定市场的交付,安排母语者复核变体用词,尤其是法律与营销文案。
如果只能记住一条,那就是:语言设置的价值不在于“让译文更好”,而在于“让译文的前提变得可描述”。可描述,才可复现;可复现,才可审计。这也是把它放进合规流程而不是个人偏好的原因。
十四、常见问题(FAQ)
源语言可以一直用自动检测吗?
目标语言为什么不能自动选择?
术语表设置了却没有生效,通常是什么原因?
英语(美式)和英语(英式)差别大吗?
通过 API 调用时如何确认语言设置生效?
下一步做什么
如果你现在就要落地,最小的动作是三个:把团队常用的语言对列成一份清单并写进配置说明;为需要留档的流程把源语言从自动检测改为显式指定;在切换通道或批量处理前,用一份代表性样本跑通全流程并留存配置快照。这三步不需要额外采购,也不依赖任何尚未公开的能力,却能让后续每一次翻译都说得清“当时是怎么设的”。
至于更远的能力演进,本文不做推测。涉及语言支持范围、档位额度与数据处理条款的具体变化,请以 DeepL 官方当前公布的说明为准,并在每次调整流程时重新核对一次。
