字幕翻译工具|SRT/ASS/VTT/LRC 批量 AI 翻译指南
Subtitle Translator 是一款免费的在线字幕批量翻译工具,支持 SRT、ASS、VTT、LRC 四种格式和 120+ 种语言。通过分块压缩和并行翻译,1 秒即可处理一集电视剧字幕,并支持上下文关联翻译、本地缓存复用,以及多种免费 / 商业翻译 API 加 20+ 种大语言模型(含本地 Ollama / LM Studio / TranslateGemma)。
- 拖入 或 粘贴 字幕文件(
.srt/.ass/.vtt/.lrc) - 选 目标语言(源语言默认 Auto 自动检测)
- 点 翻译 —— 几秒导出,多语言时文件名自动带语言代码(如
movie.zh.srt、movie.fr.srt)
不需要 API Key 也能用——默认走免费的 GTX。要更高质量可在右上角 API 设置里切到 DeepSeek(性价比首选)/ DeepL / Claude,参考 接口指南。
近年来,随着在线视频的兴起,国外热门影视作品的翻译多由视频平台完成,而原本活跃的字幕组则逐渐淡出人们的视野。然而,对于冷门视频和自制视频的字幕需求却未能得到有效满足,导致未配字幕的视频数量持续增加。为解决这一问题,可以用 Whisper 工具为这些生肉视频自动生成字幕,并通过翻译接口将其翻译成中文。具体操作步骤可参考文章:找不到字幕?Whisper 让不懂外语的你也能看懂日剧。
针对市面上字幕翻译工具存在的翻译速度慢、不支持批量处理、需人工干预等问题,我开发了一款免费且功能全面的字幕翻译工具——Subtitle Translator。该工具支持 .srt、.ass、.vtt、.lrc 多种字幕格式,并具备秒级翻译速度,大幅提高翻译效率。我已成功转录超过 500 个视频,翻译后的字幕文件可在 whisper-subtitles 查看。
特色功能

- 秒级翻译:利用字幕文本的分块压缩和并行处理技术,实现 1 秒翻译一集电视剧(GTX 接口稍慢)。
- 批量翻译:支持一次性处理上百份字幕文件,结束时汇总成功 / 失败统计(如"已导出 (3/5)"),无须逐个核对。
- 翻译缓存:自动本地缓存翻译结果,避免重复调用,节省时间和 API 费用。
- 上下文关联翻译(仅限 AI 模型):AI 将结合上下文进行翻译,提高字幕对话的连贯性和准确性。
- 格式兼容:自动匹配主流字幕格式(.srt / .ass / .vtt / .lrc),导出文件与原文件名一致;翻译成多种语言时自动加语言代码后缀(如
movie.zh.srt、movie.fr.srt)。 - 字幕提取:支持提取字幕文本,方便后续用于 AI 总结、二次创作等应用场景。
- 多接口选择:内置多种免费 / 商用翻译 API 以及 20+ 种 AI 大模型接口(含本地 Ollama / LM Studio / TranslateGemma),按预算与隐私需求自由选择。
- 多语言支持与国际化:支持 120+ 种主流语言(英语、中文、日语、韩语、法语、德语、西班牙语等),还可将同一字幕文件同时翻译成多种语言,满足国际化需求。
字幕格式支持
Subtitle Translator 支持 .srt、.ass、.vtt、.lrc 等多种字幕格式,并提供自动格式匹配功能:
- 双语字幕:翻译后的文本插入原字幕下方,可调整译文显示位置(上/下);SRT / VTT 源还可在导出时选择 ASS 输出——原文与译文分别走 Default / Secondary 样式(默认 70pt 白色 + 55pt 青色),可在字幕编辑器里独立调整字体、颜色、大小。
- 时间轴兼容性:支持省略默认小时、超过 100 小时的时间格式,以及 1~3 位毫秒显示,确保兼容性。
- 自动编码识别:无需手动选择编码格式,工具会自动识别字幕文件编码,避免乱码问题。
上下文关联翻译
上下文关联翻译(AI 模型专用)会把字幕按批次送入大模型,同时附带少量前后语境,让角色对话更连贯、语气更自然。
API 设置里提供两个参数用于调优:
- 并发行数(Concurrent Lines):每批送入大模型翻译的正文行数。
- 上下文行数(Context Lines):每批正文前后随行附带的上下文行数。
调参策略
- 提高数值:吞吐更快、上下文更丰富,但请求更重,更容易碰到限速、token 或上下文上限,需要高配 API/LLM。
- 降低数值:单次请求更轻、容错更高,但模型可参考的现场语境会缩短。
- 错误处理:如果出现 429、空响应或「context length exceeded」等提示,先降低参数或增大请求间隔即可。
⚠️ 本地小模型提示:14B 以下的本地模型在上下文模式下容易出现错位或漏行(漏译的行会回退成原文)。两种解法:
- 简单方案:关闭"上下文感知翻译"开关,切换到逐行并发模式(默认 10 并发),速度快、不丢行,代价是上下句一致性略差。
- 保留上下文:将"上下文行数"降至 20-30,并尽量使用 14B+ 指令模型(Qwen3-14B/32B、Gemma 3 27B-it 等)。
另外,纯翻译需求推荐使用服务列表里独立的 TranslateGemma(不是在 Custom OpenAI-compatible 里填 translategemma 模型名)——它是逐行翻译,无标记结构,对本地部署最稳定。
常见问题
支持哪些字幕格式?SRT、ASS、VTT、LRC 都能翻译吗?
支持 SRT、ASS、VTT、LRC 四种格式。SRT/VTT 适配 YouTube、B 站、HTML5 播放器(YouTube 用 yt-dlp 导出、B 站在创作中心下载);ASS 适配 Aegisub 和动漫字幕组,行首位置标签(如 \an8)翻译后自动还原;LRC 适配音乐歌词文件。文件编码(UTF-8/UTF-16/GBK/Shift-JIS)通过 jschardet 自动识别。复杂的 ASS 内联特效标签(颜色、动画、卡拉 OK)会被简化。
字幕翻译用机器翻译还是 AI 大模型?哪个质量好、哪个便宜?
字幕对白优先选 AI 大模型——译文语感明显更自然。DeepSeek 性价比首选(整季剧集大批量适用)、Claude Sonnet 或 GPT-5 对白语感最强、Gemini 3 Pro 适合超长字幕(1M token 上下文)。要免费快速预览用 Google,欧洲语言用 DeepL。完整引擎对比与申请教程见 接口指南,配置在三个翻译工具间共享。
字幕里的人名、品牌名、专有名词怎么保持原文不被乱译?
在「系统提示词」里写一份术语保留表,AI 大模型引擎都会遵循。例如:「保持原文:iPhone、OpenAI、Premiere、人名 John Smith」。剧集翻译尤其推荐——整季对白共享同一份术语词典,避免「黑客帝国」第 1 集叫这个、第 8 集变那个。机器翻译(Google、DeepL、Qwen-MT)不支持 prompt 自定义,需要人工后处理。
系统提示词要不要加「保留行数、序号、时间轴」之类的格式指令?
不需要。工具在本地把时间轴、序号、ASS 头、VTT cue id 等结构信息剥离出来,只把对白文本发给翻译引擎,译完按原索引回填——模型从头到尾看不到时间轴和序号,自然也无法弄乱。系统提示词只写翻译风格、术语表(见上一条)、人物语气即可;加格式保留指令反而会占用 token、可能让模型自作主张往输出里加多余的编号或时间码。这一点和市面上把整份 SRT/VTT 整体塞给模型的工具不同,本工具是结构化分离架构,时间轴 100% 由本地代码控制。
怎么做 B 站、YouTube 的中英双语字幕?能用于语言学习吗?
选择「双语」导出模式,译文位置可选在原文上方(学英语推荐)或下方(看外语剧推荐)。导出 ASS 格式可为原文和译文设置不同颜色、字体大小和位置,直接上传至 B 站字幕系统或 YouTube 社区字幕,Premiere/DaVinci Resolve 也可直接嵌入。
一次能批量翻译几个字幕文件?整季剧集怎么处理?
支持批量上传整季字幕同时翻译,文件数无硬上限(实际受翻译引擎并发限制和 API 配额影响)。每个文件独立翻译并独立缓存(IndexedDB),中途刷新页面已译文件不丢失。剧集统一术语的写法见上文「人名、品牌名」那条。
怎么把 SRT 转成 VTT 或 ASS?需要单独的字幕格式转换器吗?
不需要。在翻译流程中选择目标语言和导出格式即可一键互转:SRT ↔ VTT、SRT/VTT → ASS、双语 ASS/SRT 均支持。VTT 转 SRT 时自动处理 <c.classname> 内联标签和 <00:00:06.040> 卡拉 OK 时间戳;转 ASS 会保留 \an8 等位置标签并套用默认样式。注意:源语言和目标语言相同时会被自动禁止,目前格式转换需要绑定一次实际翻译。
能不能把字幕转成纯文本剧本?或者只导出部分台词?
「提取纯文本」按钮可一键提取去掉时间码和序号的对白文本(自动复制到剪贴板),适合做语言学习材料、播客脚本回填、AI 喂料二次处理或转给配音演员。如需更精细的行级编辑(按关键词筛选、批量替换术语、加前后缀、去重排序),导出后用主站 文本工具箱 的正则匹配和行操作功能配合更顺手;超长字幕想按时间或字数拆段,配合主站的 文本分割 处理。
翻译后字幕时间轴对不上或出现乱码(□□□)怎么办?
工具只翻译文本,时间轴完整保留不做任何修改。如翻译后时间对不上,通常是源文件帧率与目标视频不一致(23.976 vs 25 fps)所致,需用 Aegisub 或 Subtitle Edit 调整。乱码问题:工具通过 jschardet 自动识别 UTF-8/UTF-16/GBK/Shift-JIS 等编码,识别失败会回退到 UTF-8,此时请先用 Notepad++ 或 VS Code 另存为 UTF-8 再上传。
字幕翻译会上传到服务器吗?隐私安全吗?
完全前端处理:文件读取、解析、翻译请求都在浏览器内完成,原文不经过我们的服务器存储。LLM 引擎的请求直接从你的浏览器发往你配置的 API 端点(OpenAI、DeepSeek 等),API Key 仅保存在本地 localStorage。翻译缓存使用浏览器 IndexedDB,关闭页面也保留。
源代码开源于 rockbenben/subtitle-translator,可自部署或审查实现。
配置说明
应用提供了丰富的翻译配置选项,详细信息请参考:

