• 简体中文
  • 功能说明

    核心特性

    一次翻译,输出多语种

    可以把同一份文件同时翻译成多种语言,适合多语种字幕或国际化项目。例如把英文字幕一次性翻译成中文、日语、德语、法语,导出时按语言分别打包。当前支持 120+ 种语言,持续扩充中。

    翻译缓存

    翻译结果会自动保存在浏览器本地,参数一致时直接命中缓存,不重复消耗 API:

    • 持久化:刷新或关闭浏览器不会丢
    • 大容量:可以保存数百万条记录,不占内存
    • 可关闭:调试 Prompt / 模型时可临时关闭,避免读到旧结果
    • 可清理:在设置面板中一键清空所有缓存
    • 命中条件:源文本 + 源/目标语言 + 服务关键参数(LLM 看 prompt/温度/思考强度,Qwen-MT 看 domains,传统 MT 仅看源文本)完全一致才命中;改温度、改 prompt、切换思考开关、增删术语表词条都会 miss

    术语表(Glossary)

    为人名、专有名词指定固定译法,保证整份文件乃至整个系列的译名一致——追剧字幕里的角色名、技术文档里的产品术语都不会再"一集一个译法"。

    在哪里开启:翻译设置面板中的「术语表」卡片(仅在所选服务支持时显示),主页面的 API 状态徽章旁也有术语表状态芯片,点击可直达。打开开关后若还没有术语表,会自动新建一个。

    词条管理

    • 每条词条 = 原文词 → 指定译法,并绑定一个目标语言——同一个词可以为不同目标语言各存一条译法,翻译时只应用当前目标语言的词条
    • 点「编辑词条」打开编辑器:行内增删改、搜索过滤、重复词警示,超过 50 条自动分页
    • TSV 批量导入/导出:每行「原文词 ⇥ 译法」(制表符分隔),可从 Excel / 表格软件直接复制;可选第 3 列填目标语言代码(如 zhja),一个文件即可导入多语言术语
    • 支持多套术语表预设(如按剧名 / 项目名建库),新建、重命名、删除、随设置导入导出

    如何生效(多层保障):

    1. LLM 服务:只把当前文本实际命中的词条注入系统提示词(不会把几百条术语全塞进每个请求浪费 token)
    2. Qwen-MT:走官方原生 translation_options.terms 参数,模型直接按术语翻译,最可靠
    3. 违规重试:LLM 译文若没有采用指定译法,会自动用加强版指令对违规行单独重译一次,并保留违规更少的版本
    4. 译后兜底替换:任何服务下,译文中残留的原文词都会按词条替换(拉丁词带词边界、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}.{ext} —— 单语言导出保持原文件名,干净不啰嗦;一次翻译成多种语言时,若模板里没有 {lang},工具会自动在扩展名前补 _{lang},避免多语言结果互相覆盖。支持占位符 {name}(原文件名)、{lang}(目标语言)、{ext}(扩展名)、{date}(本地日历日 YYYY-MM-DD)、{time}(HHMMss)。想固定带语言后缀,写成 {name}_{lang}.{ext} 即可;也可用 {name}_{lang}_{date}.{ext} 这类组合。

    API 参数调优

    分块大小

    非 LLM 接口(Google / Azure 等)会把长文本切成小块发送。分块大小就是每块的字符上限。常见接口的官方限制:

    接口单次最大字符
    DeepL API128,000
    DeepLX Free1,000
    Azure Translate10,000
    Google Translate Web5,000
    Google Cloud API30,000

    ⚠️ 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 等):50
    • Custom 本地 LLM:30(14B 以下小模型在长 batch 里容易漏行,所以默认值更小)

    早期版本云端 LLM 默认 100,实测过长的上下文反而更容易诱发"模型把上下文里的句子当成待译内容"的串行错位,故下调为 50。