Skip to content

Releases: Gythiro/yt-dual-subs

v3.6.0 — Bring your own API key / 自带 Key 翻译

Choose a tag to compare

@Gythiro Gythiro released this 28 Jul 08:03

The biggest release since the extension went on the store: it can now translate with a key you supply, and it knows fifty target languages.

What's new

  • Bring your own API key. Twelve providers, including DeepSeek, Gemini, DeepL and Alibaba Cloud Model Studio. With an LLM key each sentence is understood as a whole and then split back across the subtitles, so the translation line turns over with the original instead of standing still; DeepL is given the sentence as context for the same effect. The key is stored on your own machine and is sent to nobody but the provider you picked.
  • Export a whole video through your own key. The SRT download can go through your provider instead of YouTube's free translation. It tells you how many requests that will take before it sends anything, shows progress, and can be stopped — and it is off by default, because it spends your quota and the whole track leaves the browser at once.
  • Fifty target languages, and you choose which ones show. The popup menu lists the ones you keep; the rest are one click away in Settings → Subtitle languages.
  • A settings page, reachable from the gear. Getting started, translation-service setup and About now live there. Seven more fonts, including a Chinese serif and a rounded face.

Improved

  • Everything reads bigger. The smallest text went from 10.5px to 13px, and nothing is under 12px any more.
  • Switching between providers you have set up is done in the popup. Choosing one in Settings no longer switches the extension over to it — that only happens when you save a key.

Fixed

  • Shorts turn their captions on by themselves now, and much sooner. A short has no CC button to press, so if your captions were switched off nothing happened at all; the ones that used to stay blank until you swiped past and came back now work too.
  • The automatic engine falls back to per-sentence translation far less often. One failed request used to keep a whole video on the fallback until you changed the engine by hand; it now tries again on its own. Speaker markers from auto-generated captions (>>) no longer show up in either line.
  • Subtitles dragged to the very bottom are no longer clipped, and a tab restored after a browser restart shows subtitles again without touching the CC button.
  • Updating the extension no longer leaves a dead subtitle box behind in tabs that were already open — the old box steps aside, and reloading the tab brings the new one.
  • An export that cannot get YouTube's translation now says why — rate-limited, or genuinely unavailable for this video — instead of suggesting a fix that is not the problem.

Notes

  • The default path is unchanged and needs no account and no key: install it, open a video with captions, and the second line appears.
  • The privacy policy has been updated for the own-key engine: which provider receives caption text is entirely your choice, the key never leaves your machine except as the authorization header of requests to that provider, and an own-key SRT export — the one case where a whole track leaves at once — asks you first.

自上架以来最大的一次更新:现在可以用你自己的 Key 翻译,目标语言也增加到 50 种。

新功能

  • 自带 API Key 翻译。共 12 家,含 DeepSeek、Gemini、DeepL、阿里百炼。用 LLM 时译文整句理解之后再按字幕切回来,译文行跟着原文一起换,不再一整句杵着;DeepL 则把整句作为上下文,效果相同。Key 只存在你自己的机器上,除了你选的那家服务商不会发往任何地方。
  • 整片字幕可以走自带 Key 导出。下载 SRT 时可以用你自己的服务商翻译。开始前先告诉你大约要几次请求,中途有进度、可以停;默认关闭,因为它消耗你的额度、而且整片字幕会一次性离开浏览器。
  • 目标语言增加到 50 种,显示哪些由你决定。弹窗下拉只列你留下的,其余的在「设置 → 字幕语言」里随时加回来。
  • 齿轮里有了独立设置页。新手入门、翻译服务配置和「关于」都在里面。字体新增 7 种,含中文宋体与圆体。

改进

  • 整体字号调大。最小的一档从 10.5px 提到 13px,全部文字不再低于 12px。
  • 在已配置好的服务商之间切换,直接在弹窗里做。在设置页点一个服务商不再等于启用它 —— 启用只发生在保存 Key 的那一下。

修复

  • Shorts 现在会自己把字幕打开,而且快得多。短视频里没有 CC 按钮可点,所以此前只要你的字幕开关是关的就一直空白;那些「划过去再划回来才出字幕」的短视频也一并修好了。
  • 「自动」引擎不再动不动就整场退回逐句翻译。此前只要有一次请求失败,整支视频就会一直停在退路上,除非你手动切引擎;现在它会自己再试。自动字幕里的换人说话标记(>>)也不会再出现在字幕里。
  • 字幕拖到最底部不再被裁掉半行;关掉浏览器再打开、恢复出来的标签页也不用手动开关 CC 就能出字幕。
  • 更新扩展后,已经开着的标签页不会再留下一个不再翻译的字幕框 —— 旧的会自己退场,刷新一下就是新的。
  • 导出拿不到 YouTube 译文时会说清原因 —— 是被限流,还是这个视频真的没有译文 —— 不再给一个牛头不对马嘴的建议。

说明

  • 默认路径完全没变,不需要账号也不需要 Key:装上、打开有字幕的视频,第二行就出来了。
  • 隐私政策已针对自带 Key 更新:字幕文本发给哪家完全由你决定;Key 除了作为请求头发给那家服务商之外不会离开你的机器;用自带 Key 导出整片字幕是唯一一次性发送整轨的情形,而它会先问你。

Install / 安装:https://chromewebstore.google.com/detail/dual-subtitles-for-youtub/ndifcigakimmibkgeabchfaolhjpcmge
Full changelog / 完整更新日志:https://gythiro.github.io/yt-dual-subs/updated.html

v3.5.1 — Same-language fix / 同语言视频不再重复翻译

Choose a tag to compare

@Gythiro Gythiro released this 25 Jul 11:59

A small but satisfying bugfix release.

Fixed

  • No more twin subtitle lines on same-language videos. When the caption track already speaks your target language (e.g. a Chinese video with a Chinese target), the extension no longer "translates" it into an identical copy — you get a single clean line, and the popup notes "already in your target language". Simplified ↔ Traditional Chinese conversion still translates as before.
  • Echo-proof rendering everywhere. On every path (YouTube whole-track translation, smart sentences, the scrape fallback), a "translation" identical to the original is never painted as a second line. Exported SRT files collapse identical pairs into one line too.
  • Cleaner caption-track switches. Changing the CC language mid-video no longer reuses translations cached for the previous track.

一次小而舒服的修复更新。

修复

  • 同语言视频不再显示两行一样的字幕。字幕轨本来就是目标语言时(比如中文视频+中文目标),不再把原文「翻译」成一模一样的副本 —— 只显示一行,弹窗会注明「已是目标语言,无需翻译」。简体↔繁体转换不受影响,照常工作。
  • 全链路防回声。整轨翻译、智能整句、抓屏降级任何路径下,与原文完全相同的「译文」都不再重复显示;导出的 SRT 中相同的两行也会合并为一行。
  • 切换字幕轨更干净。视频中途更换 CC 语言后,不再误用上一条字幕轨的翻译缓存。

Install / 安装:https://chromewebstore.google.com/detail/dual-subtitles-for-youtub/ndifcigakimmibkgeabchfaolhjpcmge
Full changelog / 完整更新日志:https://gythiro.github.io/yt-dual-subs/updated.html

v3.5.0 — Shorts support & polite update notes / 支持 Shorts,更新提示更克制

Choose a tag to compare

@Gythiro Gythiro released this 18 Jul 08:36

Bilingual subtitles reach the vertical player, and updates announce themselves without being rude about it.

What's new

  • YouTube Shorts support. Bilingual subtitles now work on the vertical player too: swipe to the next Short and the captions keep up. The overlay anchors a little higher there so it stays clear of the Shorts title area.
  • Polite update notes. After a feature update the extension opens the release-notes page once (turn it off anytime in the popup); small fixes only show a "NEW" badge on the icon. A "What's new" link also appears in the popup after each update.

Fixed

  • The subtitle overlay now steps up above the progress bar while the player controls are visible — including dragged custom positions — and settles back once they hide.
  • Videos that only carry AI-dubbed auto captions (no original-language track) now show a one-time notice instead of silently pairing the wrong language; when an original-language track does exist, the extension switches to it automatically.
  • On Shorts pages the extension no longer touches the hidden preloaded watch player — the overlay and the CC clicks now always target the active one.

双语字幕上了竖屏播放器,更新提示也变得克制了。

新功能

  • 支持 YouTube Shorts。竖屏播放器同样显示双语字幕,快速滑动切换也能跟上;字幕位置自动抬高一点,避开 Shorts 的标题区。
  • 克制的更新提示。功能版本更新后自动打开一次说明页(可在弹窗里随时关掉);小修小补只在图标上挂一个 NEW 角标。每次更新后弹窗顶部也会出现「更新了什么」的入口。

修复

  • 播放器控件出现时,字幕会自动上移避开进度条(自己拖动过的位置同样生效),控件隐藏后再落回原处。
  • 只有 AI 配音自动字幕、没有原声语言字幕轨的视频,现在会给一次性提示,而不是默默把语言配错;存在原声字幕轨时会自动切过去。
  • Shorts 页面不再误碰隐藏的横版播放器 —— 覆盖层和 CC 点击现在始终作用于当前播放器。

Install / 安装:https://chromewebstore.google.com/detail/dual-subtitles-for-youtub/ndifcigakimmibkgeabchfaolhjpcmge
Full changelog / 完整更新日志:https://gythiro.github.io/yt-dual-subs/updated.html

v3.4.0 — Smart sentences, Auto engine, rate-limit hardening / 智能整句、自动引擎、限流加固

Choose a tag to compare

@Gythiro Gythiro released this 10 Jul 00:16

Auto-generated captions finally read like language instead of word salad.

What's new

  • Smart sentences engine. Auto-generated captions are time slices, not sentences — translating them one by one breaks word order and word sense. The new engine rebuilds full sentences from the fragments (using word-level timing to find real speech pauses) before translating, so the second line finally reads like language.
  • A new engine selector. A dropdown replaces the old two-way toggle:
    • Auto (recommended, default) — YouTube's whole-track translation whenever the video supports it; smart sentences when it doesn't.
    • Whole-track (YouTube) — pinned manually.
    • Smart sentences (Google) — pinned manually; worth a try when the whole-track wording reads badly.

Improved

  • Rate-limit hardening. All Google-endpoint requests now go through a paced queue (≥1.2 s spacing) with exponential backoff; the sentence being watched jumps the queue. While waiting, the translation line shows an honest "…" instead of a stale line next to new text. Partial translations from a transient endpoint glitch are detected and retried automatically.

Notes

  • Your existing engine choice is migrated automatically; mixed old/new devices on the same sync profile stay compatible.
  • Requires Chromium 102+ (now declared in the manifest).

自动生成的字幕,终于读起来像人话,而不是一堆碎词。

新功能

  • 智能整句引擎。自动字幕是按时间切的片段,不是句子,逐片翻译会打乱语序和词义。新引擎先用词级时间轴找到真正的说话停顿,把碎片拼回完整句子再翻译,第二行终于读得通。
  • 新的引擎下拉。取代原来的双向开关:
    • 自动(推荐,默认) —— 视频支持时用 YouTube 整轨翻译,不支持时换智能整句。
    • 整轨翻译(YouTube) —— 手动指定。
    • 智能整句(Google) —— 手动指定;整轨翻译措辞不通顺时值得一试。

改进

  • 限流加固。所有走 Google 接口的请求都进入一条限速队列(间隔 ≥1.2 秒)并带指数退避;正在观看的那一句会插队。等待期间译文行显示一个诚实的「…」,而不是把上一句旧译文摆在新原文旁边。接口偶发抖动导致的「翻了一半」会被识别并自动重试。

说明

  • 你原有的引擎选择会自动迁移;同一个同步账号下新旧版本设备混用也不会互相影响。
  • 需要 Chromium 102 以上(现已写进 manifest)。

Install / 安装:https://chromewebstore.google.com/detail/dual-subtitles-for-youtub/ndifcigakimmibkgeabchfaolhjpcmge
Full changelog / 完整更新日志:https://gythiro.github.io/yt-dual-subs/updated.html

v3.3.0 — Chrome Web Store launch / 上架 Chrome 应用商店

Choose a tag to compare

@Gythiro Gythiro released this 05 Jul 10:56

The extension is on the Chrome Web Store — one click to install, and it updates itself from now on.

What's new

  • Renamed to "Dual Subtitles for YouTube™" for Chrome Web Store and YouTube branding compliance (the "YT" abbreviation isn't permitted).
  • A privacy policy (PRIVACY.md), plus a disclaimer in the popup.

Fixed

  • Captions no longer fail to auto-enable on a cold page load. YouTube's CC button can be transiently disabled while the track list loads, so the extension keeps retrying instead of giving up on a directly-opened video.

Notes

  • Recommended: install from the Chrome Web Store — one click, and it auto-updates.
  • Manual / developers: download the zip below, unzip, then Load unpacked at chrome://extensions with Developer mode on. Works on Chrome, Edge and other Chromium browsers (111+).

扩展已经上架 Chrome 应用商店 —— 一键安装,以后自动更新。

新功能

  • 更名为「Dual Subtitles for YouTube™」,以符合 Chrome 应用商店与 YouTube 的品牌规范(「YT」这个缩写不被允许)。
  • 新增隐私政策(PRIVACY.md),弹窗里也加了免责声明。

修复

  • 冷启动打开页面时字幕不会再打不开。YouTube 的 CC 按钮在字幕轨列表加载期间会短暂处于禁用状态,扩展现在会一直重试,而不是在直接打开的视频上放弃。

说明

  • 推荐:从 Chrome 应用商店安装 —— 一键装好,而且会自动更新。
  • 手动 / 开发者:下载下方的 zip 解压,在 chrome://extensions 打开开发者模式后「加载已解压的扩展程序」。支持 Chrome、Edge 及其他 Chromium 内核浏览器(111+)。

Install / 安装:https://chromewebstore.google.com/detail/dual-subtitles-for-youtub/ndifcigakimmibkgeabchfaolhjpcmge
Full changelog / 完整更新日志:https://gythiro.github.io/yt-dual-subs/updated.html

v3.2.0 — SRT export + fullscreen fix / 导出 SRT + 全屏修复

Choose a tag to compare

@Gythiro Gythiro released this 21 Jun 07:05

The first packaged release: two subtitle languages on one non-overlapping layer, switching by whole sentence.

What's new

  • Export subtitles to SRT. Download the current video's captions as a standard .srt file — original, translation, or bilingual — straight from the popup.
  • Clean auto-caption export. For auto-generated tracks whose cues overlap, the exported file trims the overlaps so lines show one at a time.

Fixed

  • In fullscreen, the subtitle drag handle now hides together with the player controls instead of lingering on screen.

Notes

  • Core features: original + translation on one layer with YouTube's own caption layer hidden underneath; two translation engines (YouTube's cue-aligned whole-track translation, with an automatic Google Translate fallback prefetched ahead of playback); per-line styling; a draggable subtitle box; a one-click toggle in the control bar; and a live preview in the popup. Interface in English / 简体中文 / 繁體中文.
  • Install: download the zip below, unzip, open chrome://extensions, turn on Developer mode, click Load unpacked, and select the folder. Requires Chrome / Edge 111+. MIT licensed.

第一个打包发布的版本:两种语言的字幕并排显示在同一层、互不重叠,按整句切换。

新功能

  • 导出字幕为 SRT。直接在弹窗里把当前视频的字幕下载成标准 .srt 文件 —— 原文、译文或双语都可以。
  • 自动字幕导出更干净。自动生成的字幕轨常有时间轴重叠,导出时会裁掉重叠部分,保证同一时刻只显示一行。

修复

  • 全屏状态下,字幕的拖动手柄会跟着播放器控件一起隐藏,不再一直留在画面上。

说明

  • 核心功能:原文与译文同层显示,YouTube 自带字幕层被隐藏在下面,互不重叠;两套翻译引擎(YouTube 逐条对齐的整轨翻译,不可用时自动回落到 Google 翻译,并提前预取);每行独立的样式设置;字幕框可拖动;控制栏一键开关;弹窗内实时预览。界面支持 English / 简体中文 / 繁體中文。
  • 安装:下载下方 zip 解压,打开 chrome://extensions,开启开发者模式,点「加载已解压的扩展程序」选中该文件夹。需要 Chrome / Edge 111+。MIT 许可。

Full changelog / 完整更新日志:https://gythiro.github.io/yt-dual-subs/updated.html