功能说明
核心特性
一次翻译,输出多语种
可以把同一份文件同时翻译成多种语言,适合多语种字幕或国际化项目。例如把英文字幕一次性翻译成中文、日语、德语、法语,导出时按语言分别打包。当前支持 120+ 种语言,持续扩充中。
翻译缓存
翻译结果会自动保存在浏览器本地,参数一致时直接命中缓存,不重复消耗 API:
- 持久化:刷新或关闭浏览器不会丢
- 大容量:可以保存数百万条记录,不占内存
- 可关闭:调试 Prompt / 模型时可临时关闭,避免读到旧结果
- 可清理:在设置面板中一键清空所有缓存
- 命中条件:源文本 + 源/目标语言 + 服务关键参数(LLM 看 prompt/温度/思考强度,Qwen-MT 看 domains,传统 MT 仅看源文本)完全一致才命中;改温度、改 prompt、切换思考开关、增删术语表词条都会 miss
术语表(Glossary)
为人名、专有名词指定固定译法,保证整份文件乃至整个系列的译名一致——追剧字幕里的角色名、技术文档里的产品术语都不会再"一集一个译法"。
在哪里开启:翻译设置面板中的「术语表」卡片(仅在所选服务支持时显示),主页面的 API 状态徽章旁也有术语表状态芯片,点击可直达。打开开关后若还没有术语表,会自动新建一个。
词条管理:
- 每条词条 = 原文词 → 指定译法,并绑定一个目标语言——同一个词可以为不同目标语言各存一条译法,翻译时只应用当前目标语言的词条
- 点「编辑词条」打开编辑器:行内增删改、搜索过滤、重复词警示,超过 50 条自动分页
- TSV 批量导入/导出:每行「原文词 ⇥ 译法」(制表符分隔),可从 Excel / 表格软件直接复制;可选第 3 列填目标语言代码(如
zh、ja),一个文件即可导入多语言术语 - 支持多套术语表预设(如按剧名 / 项目名建库),新建、重命名、删除、随设置导入导出
如何生效(多层保障):
- LLM 服务:只把当前文本实际命中的词条注入系统提示词(不会把几百条术语全塞进每个请求浪费 token)
- Qwen-MT:走官方原生
translation_options.terms参数,模型直接按术语翻译,最可靠 - 违规重试:LLM 译文若没有采用指定译法,会自动用加强版指令对违规行单独重译一次,并保留违规更少的版本
- 译后兜底替换:任何服务下,译文中残留的原文词都会按词条替换(拉丁词带词边界、CJK 子串匹配、长词优先),确保术语最终一定生效
支持范围:所有 LLM 服务 + Qwen-MT。纯 MT 接口(GTX、Google、DeepL(X)、Azure、TranslateGemma)没有模型内术语通道,不显示术语表卡片。
匹配规则:匹配时不区分大小写(AI / ai 都命中);术语表数据保存在浏览器本地,不会上传。
长文本与并发优化
针对大文档与批量任务做了专门优化:
- 并发控制:可自定义请求速率,付费 API 跑满额度,免费 API 限流保护不被封
- 大文件支持:流式分块处理,超大文档不卡顿
- 上下文关联翻译:字幕与文档翻译会带上下文一起发给 AI,保证剧情/章节连贯
- 失败行单独重试:批次内出错的行单独标记,整批跑完后重试出错部分,不阻塞整体
失败行重发
LLM 偶尔会因格式输出错误、漏行、空响应导致部分内容翻译失败。这种情况下:
- 失败的行会自动回填原文——不会留空,保证整份翻译可用
- 结果区顶部出现红色提示,告诉你"N 行失败"
- 点击 「再试一次」 仅对失败的行重新请求,已完成的内容保持不变、不重复扣费
- 也可以一键复制失败原文,粘到其他工具人工处理
多语言批量场景:一次翻译成多种语言时,如果某种目标语言整体失败(配额耗尽、模型拒答等),失败的语言代码会聚合到独立面板,可以一键复制粘回"目标语言"字段重试。
网络抖动、429 限流、5xx 错误会自动重试;API Key 错、超时、context length 超限、max_tokens 截断不会重试。详见 FAQ → 翻译失败会自动重试吗。
翻译中止
翻译进行中点击进度弹窗的关闭按钮可以立即取消整批任务。已完成的行会进入缓存,下次点"翻译"会从断点继续。
RTL 语言自动适配
阿拉伯语、希伯来语、波斯语、乌尔都语等从右向左书写的语言,文本框和结果区会自动切换到 RTL 显示,无需额外配置。
使用模式
批量 vs 单文件
工具会根据上传内容自动切换:
- 批量模式(默认):拖入多个文件,自动排队处理,完成后打包下载。
- 单文件模式:上传单文件或直接粘贴文本,可逐行预览校对、编辑修改。
也可以在高级设置中手动锁定到单文件模式,方便校对。
JSON Translate 仅支持单文件模式。
一键交换源/目标语言
源语言和目标语言下拉框中间有一个 ⇄ 按钮,点击即可互换。源语言为"自动检测"或开启了多语言模式时按钮会变灰——这两种情况下不能互换。
语言选择器
122 种语言按地理 + 使用人数分组(常用 / 欧洲 / 中东 / 中亚 / 南亚 / 东南亚 / 非洲 / 美洲与大洋洲),便于快速定位。多语言模式还提供 4 个快速预设按钮,一键合并选择:
- 全球 Top 10:英、中、西、法、日、葡、德、俄、印地、阿拉伯——使用人数最多的 10 种
- 欧洲主流:法、德、意、西、葡、荷、波等欧洲商用主要语言
- 东亚:中(简)、中(繁)、日、韩、粤语
- 印度次大陆:印地、孟加拉、泰米尔、马拉地、古吉拉特等
单语言场景下还会记忆你最近选过的语言(最多 5 个),下次访问时显示在下拉顶部的"最近"分组。移动端自动切换为单列布局。
API 连接状态
主页面顶部以徽章形式展示当前所选 API 的连接状态:
- 未配置 / 需配置:URL 或 API Key 还没填
- 已填写:信息齐全但还没测试
- 测试中 → ✓ 已连接 或 连接失败:测试结果
- Free API:免费且不需要配置的服务(GTX / Edge / DeepLX)
点击徽章可以快速跳到 API 设置页。
配置预设:API、Prompt、术语表分开管理
工具把 API 配置、Prompt 和术语表拆成三套独立的预设,互不干扰:
- API 预设:保存当前服务的 URL、Key、模型、温度等。适合在本地 Ollama、远程网关、付费云端之间切换。
- Prompt 预设:保存系统提示词和用户提示词。可以在"严谨术语"和"自由意译"两套提示词之间快速切换,不影响 API 配置。
- 术语表预设:按剧名 / 项目名维护多套译名词库,详见上文 术语表。
三类预设都支持新建、加载、重命名、更新和删除,并随设置一同导入导出。
翻译后处理
翻译完成后可自动执行简单的字符串清理:
- 字符过滤:移除字幕里的
♪ ♫等多余符号 - 格式修正:去掉冗余 HTML 标签
该功能仅做简单字符串替换,不支持 \n、\t 等转义字符。需要复杂处理请用文本分割工具。
高级设置
设置导入/导出
一键备份所有配置(API 凭据、模型参数、API 预设、Prompt 预设、术语表),生成的 JSON 可跨设备导入,方便团队共享或换电脑迁移。
通用翻译选项
- 使用缓存:默认开启。参数一致时直接读缓存。调试时可临时关闭。
- 重试次数:请求失败时的最大重试次数。网络不稳或免费接口易限流时可以调高。
- 超时时间:单次请求超时阈值(秒)。AI 模型慢或长文本多时可以调大。「测试连接」按钮也使用同一阈值——测试不会比正式翻译更严格。
- 最大输出 tokens(仅 Custom OpenAI-compatible):可选的输出封顶,主要用于防止本地小模型陷入重复输出循环,建议本地模型设 2048–4096。默认 0(不限制)。响应若被截断(
finish_reason=length)会标为失败但不会重试。其他云端 LLM 用各自服务端的默认上限,不暴露此控件。 - 翻译后移除字符:在结果中自动移除指定字符或片段(如字幕里的
♪、多余的<i>标签)。 - 自定义导出文件名:批量导出时统一命名,支持占位符
{name}(原文件名)、{lang}(目标语言)、{ext}(扩展名)、{date}、{time}。例如{name}_{lang}_{date}.{ext}。
API 参数调优
分块大小
非 LLM 接口(Google / Azure 等)会把长文本切成小块发送。分块大小就是每块的字符上限。常见接口的官方限制:
⚠️ Google Translate 网页版会破坏换行符,因此未启用分块。
延迟(毫秒)
每两次分块请求之间的等待时间。网络较差或用免费 API 时建议加大。例如用 Azure Translate 免费版,建议设到 5000 ms 以上。
并发行数
同时翻译的最大行数。默认值已按服务调好——免费 API 跑得快,付费 API 默认稳。觉得慢就调大,遇到 429 限流就调小,一般不用动。
各服务默认值(参考)
- GTX (Free):整批分块翻译(约 5000 字符/块),不走逐行并发
- Edge (Free):100
- 商用 MT(Google / Azure / DeepL):20-100
- 云端 LLM(Claude / Gemini / OpenAI / Qwen 等):20
- Custom 本地 LLM / TranslateGemma / DeepLX:10
上下文并发数
- 默认值:3(部分接口为 1)
- 作用:开启上下文翻译时,每次发给模型的"待翻译目标行数"。每个请求会带上下文一起发。
- 建议:值越大单次吞吐越高,但模型同时输出多行容易格式错乱;值越小越稳,请求数也多。文档/字幕保持 3,普通文本可调到 5。
上下文行数
AI 翻译时随每批送给模型的"前后文"行数——越大越连贯,但请求也越重。默认值已调好,一般不用动。遇到 "context length exceeded" 就调小;想要更好的对话连贯性可适当调大。
各服务默认值(参考)
- 云端 LLM(Claude / Gemini / Nvidia / Azure OpenAI):100
- Custom 本地 LLM:30(14B 以下小模型在长 batch 里容易漏行,所以默认值更小)

