介绍

近年来,随着在线视频的兴起,国外热门影视作品的翻译多由视频平台完成,而原本活跃的字幕组则逐渐淡出人们的视野。然而,对于冷门视频和自制视频的字幕需求却未能得到有效满足,导致未配字幕的视频数量持续增加。为解决这一问题,可以用 Whisper 工具为这些生肉视频自动生成字幕,并通过翻译接口将其翻译成中文。具体操作步骤可参考文章:找不到字幕?Whisper 让不懂外语的你也能看懂日剧

针对市面上字幕翻译工具存在的翻译速度慢、不支持批量处理、需人工干预等问题,我开发了一款免费且功能全面的字幕翻译工具——Subtitle Translator。该工具支持 .srt.ass.vtt 多种字幕格式,并具备秒级翻译速度,大幅提高翻译效率。我已成功转录超过 500 个视频,翻译后的字幕文件可在 whisper-subtitles 查看。

特色功能

"批量翻译"

  • 秒级翻译:利用字幕文本的分块压缩和并行处理技术,实现 1 秒翻译一集电视剧(GTX 接口稍慢)。
  • 批量翻译:支持一次性处理上百份字幕文件,极大提升翻译效率。
  • 翻译缓存:自动本地缓存翻译结果,避免重复调用,节省时间和 API 费用。
  • 格式兼容:自动匹配主流字幕格式(.srt / .ass / .vtt),导出文件与原文件名一致,无需手动调整。
  • 字幕提取:支持提取字幕文本,方便后续用于 AI 总结、二次创作等应用场景。
  • 多接口选择:提供 3 种免费翻译方式、3 种商业级翻译 API,以及 5 种 AI LLM(大模型)接口,满足不同需求。
  • 多语言支持与国际化:支持 35 种主流语言(英语、中文、日语、韩语、法语、德语、西班牙语等),还可将同一字幕文件同时翻译成多种语言,满足国际化需求。

Subtitle Translator 提供了丰富的参数选项,以适应不同用户的需求。以下是各项参数的详细说明:

翻译 API

本工具支持 5 种翻译 API 和 5 种 LLM(大语言模型)接口,用户可根据需求选择合适的翻译方式:

翻译 API 对比

API 类型 翻译质量 稳定性 适用场景 免费额度
DeepL(X) ★★★★★ ★★★★☆ 适合长文本,翻译更流畅 每月 50 万字符
Google Translate ★★★★☆ ★★★★★ 适合 UI 界面、常见句子 每月 50 万字符
Azure Translate ★★★★☆ ★★★★★ 语言支持最广泛 前 12 个月 每月 200 万字符
GTX API(免费) ★★★☆☆ ★★★☆☆ 一般文本翻译 免费
GTX Web(免费) ★★★☆☆ ★★☆☆☆ 适合小规模翻译 免费
  • DeepL:适用于长篇文本,翻译更加流畅自然,但不支持网页端 API,需本地或服务器代理调用。
  • Google Translate:翻译质量稳定,适用于短句、界面文本,支持网页端调用。
  • Azure Translate:支持语言最多,适合多语言翻译需求。
  • GTX API/Web:免费翻译选项,适合小规模使用,但稳定性一般。

如果对翻译速度和质量有更高要求,可自行申请 API Key:Google TranslateAzure TranslateDeepL Translate。申请流程参考相关的接口申请教程

LLM 翻译(AI 大模型)

本工具提供了 5 种主流 AI 大语言模型(LLM)或接口,分别为:OpenAIDeepSeekSiliconflowGroq 以及 自定义模型(Custom LLM)

  • 适用场景:适合处理语言理解要求较高的内容,如文学作品、技术文档、多语种资料等。
  • 可定制性:支持自定义系统提示词(System Prompt)与用户提示词(User Prompt),可灵活调整翻译风格和术语偏好,更好地满足不同使用场景的需求。
  • 温度参数(temperature):可控制翻译结果的随机性。数值越高,生成内容越具创意,但可能影响一致性与准确性。

自定义模型(Custom LLM)支持通过配置 API 接口和模型名称,接入第三方服务或本地推理平台(如 ollama)。例如,默认本地 ollama 的 API 地址为:

http://127.0.0.1:11434/v1/chat/completions

默认使用模型为 llama3.2。如使用 LM Studio,本地接口地址为:

http://localhost:61234/v1/chat/completions

为获得更优的翻译质量,推荐在自定义模型中使用 qwen2.5-14b-instruct 或性能更高的模型。

语言支持

在多语言翻译能力方面,Google、Azure 和 LLM(大语言模型)均支持上百种语言的互译,而 DeepL 目前仅支持 30 种主流语言。因此,从语言覆盖范围来看,DeepL 相对较弱。

具体的支持语言列表可参考以下官方文档:

API 参数

分块翻译大小

对于字幕、Markdown 等具有上下文关联的文本文件,本工具会将多行文本自动合并为若干“块”进行翻译。分块翻译大小即指每个打包块的字符数上限。不同翻译服务的最大字符限制如下:

  • DeepL API:每个请求最多支持 128K 个字符。
  • DeepLX Free:每个请求最多支持 1,000 个字符。
  • Azure Translate:每个请求最多支持 10,000 个字符。
  • Google Translate
    • 网页端:每次翻译最多支持 5,000 个字符;
    • Cloud Translation API:每个请求最多支持 30,000 个字符。

注意:由于 Google 翻译在处理文本时会破坏换行符,因此未使用分块翻译方式。

延迟时间

延迟时间用于设置分块翻译之间的等待间隔。在处理大段文本时,某些翻译 API 响应速度较慢,尤其在网络环境较差或使用免费接口的情况下,延迟设置显得尤为重要。

例如,在使用 Azure Translate 的免费端口进行测试时,建议将延迟时间设置为 5,000 毫秒以上,以避免返回空值或出错。

翻译速率

翻译速率设置过高可能导致 API 返回空值,甚至被视为异常请求。建议根据实际使用的服务类型和稳定性,适当控制速率,以提升翻译的成功率和稳定性。

功能说明

字幕格式

Subtitle Translator 支持 .srt.ass.vtt 等多种字幕格式,并提供自动格式匹配功能:

  • 双语字幕:勾选后,翻译后的文本将插入原字幕下方,并可调整译文的显示位置(上/下)。
  • 时间轴兼容性:支持省略默认小时、超过 100 小时的时间格式,以及 1~3 位毫秒显示,确保兼容性。
  • 自动编码识别:无需手动选择编码格式,工具会自动识别字幕文件编码,避免乱码问题。

翻译模式

Subtitle Translator 支持批量翻译和单文件模式,适应不同使用需求:

批量翻译(默认):

  • 支持同时处理上百个文件,大幅提升工作效率。
  • 翻译后的文件将自动保存在浏览器默认下载目录,无需手动操作。

单文件模式(适用于小型任务):

  • 适用于单个字幕的快速翻译,支持直接粘贴文本翻译。
  • 翻译结果可在网页端实时查看,并手动复制或导出。
  • 若开启单文件模式,则上传新文件会覆盖上一个文件

翻译缓存

本工具引入可选的本地翻译缓存,提高翻译效率并降低资源消耗:

  • 缓存规则:每段翻译结果将以 源文本_目标语言_源语言_翻译 API_模型设置 作为唯一 key 进行存储。
  • 缓存命中条件:只有完全匹配相同参数的情况下,才会使用本地缓存结果,确保准确性。
  • 缓存作用:避免重复翻译,减少 API 调用次数,提高翻译速度。

如果不想使用缓存,可取消勾选“使用翻译缓存”,或在 API 设置中点击“清除翻译缓存”。

多语言翻译

支持将同一个文件一次性翻译为多种语言,特别适合需要国际化的视频内容:

  • 例如:将英文文件同时翻译为中文、日语、德语、法语,方便全球用户使用。
  • 支持 35 种主流语言,并将持续扩展。

使用须知

使用本工具时,请注意以下几点:

  • DeepL 支持说明:由于 DeepL API 不支持网页端直接调用,我提供了一个服务器端转发接口,仅用于数据转发,不会收集用户数据。如需提高稳定性,用户也可选择自行部署此接口。
  • 使用 DeepLX 免费接口,可能会返回 null。请等一会再使用,或使用自己的 API KEY 或自行部署转发接口。
  • API Key 安全:本工具不会存储你的 API 密钥,所有配置数据均保存在本地浏览器中。
  • GTX Web 接口说明:该接口对服务器压力较大,建议仅在本地部署时手动启用。请避免在开启全局代理的网络环境下使用,以免翻译出现异常。