脚本简介
双语翻译助手 - AI 网页与视频字幕双语翻译 是一款运行在用户脚本管理器中的 AI 翻译工具。它调用你自己配置的 DeepSeek 或 OpenAI 兼容接口,为网页正文、YouTube/HTML5 视频字幕、输入框文本和选中文本提供双语或仅译文显示。API Key 只保存在本地,脚本不接入遥测或统计服务。
功能描述
这个脚本能做什么
- 网页段落级双语翻译,保留原有链接、按钮、表格和点击区域。
- YouTube 与普通 HTML5 视频字幕翻译,支持人工字幕优先和 AI 翻译回退。
- 输入框三连空格翻译、划词工具栏、悬浮球控制面板。
- 使用 DeepSeek 官方接口或任意 OpenAI 兼容接口,密钥由你自己管理。
网页翻译
- 双语 / 仅译文两种模式,可随时切换,无需重新请求翻译。
- 译文可放在原文下方或上方,支持 20+ 种译文样式(下划线、虚线、高亮、标记、纸张、边框、引用等)。
- 可调整译文字号与段落间距,自动适配页面深浅色主题。
- 懒加载翻译:只翻译进入视口的段落,滚动到新内容时自动继续。
- 自动跟踪 SPA 路由变化和动态插入的内容,新内容会自动翻译。
- 支持开放 Shadow DOM 页面、
display: contents 组件和常见前端框架。
- 可翻译页面标题、输入框 placeholder、按钮 value 等属性文本。
- 站点规则:始终翻译、从不翻译、从不翻译指定语言;可设置最小翻译长度。
- 译文缓存:内存缓存 + 可选本地持久缓存,减少重复请求;持久缓存只保存译文,不保存网页原文。
- 请求控制:批量大小、并发数、超时时间、重试次数均可配置。
- 可选择是否把页面标题作为上下文发送给 AI。
YouTube / HTML5 视频字幕
- 自动读取 YouTube 字幕轨道或页面 timedtext 数据,也支持普通 HTML5
<track> 字幕。
- YouTube 上优先使用目标语言的人工字幕;没有人工字幕时自动调用 AI 翻译。
- 双语 / 仅译文独立于网页模式,可单独切换。
- 字幕断句合并、句尾标点清理、环境音与音乐描述过滤。
- 按播放进度懒翻译,可设置 15-300 秒预翻译窗口。
- 字幕浮层可拖动,位置按站点记忆;可调原文/译文字号、颜色、背景色与透明度、阴影样式。
- 字幕位置可在原文上方/下方切换,浮层可在视频顶部/底部显示。
- YouTube 播放器内提供字幕快捷按钮,可切换模式、下载 VTT/SRT 字幕。
- 仅在我们的双语字幕实际显示时才隐藏原生字幕;加载失败时自动回退到平台字幕。
- 支持按站点自动开启或关闭字幕翻译。
输入框翻译
- 在文本框、搜索框或可编辑区域输入文字后,快速连按三次空格即可翻译。
- 支持双语或仅译文写回;翻译前会校验输入是否被修改,避免覆盖新输入。
- 可在开头用
//ja、/en 等语言代码临时指定目标语言。
- 英文输入可自动转换为中文(可关闭)。
- 提供加载动画、错误提示和“撤销”操作。
划词工具栏
- 选中网页文字后显示浮动工具栏,支持翻译、解释、搜索和复制。
- 搜索引擎可选 Google、百度、Bing、DuckDuckGo 或自定义 URL。
- “解释”会用当前界面语言说明词义、习语和上下文。
悬浮球与控制面板
- 可拖动悬浮球,自动贴边收起,位置和左右侧会记住。
- 点击可打开翻译面板或直接翻译页面,行为可配置。
- 面板内可切换目标语言、翻译服务、双语/仅译文、站点规则和 AI 上下文。
- 关闭悬浮球时可选择“本次会话”“当前站点”或“永久关闭”。
- 支持透明度、站点黑名单和快捷键
Alt+A 切换整页翻译。
服务与设置
- 翻译服务:DeepSeek 官方接口,或任意 OpenAI 兼容接口(自定义 URL、模型、请求头)。
- 默认 DeepSeek 模型为
deepseek-flash,可在设置中修改。
- 提供“测试服务”按钮,直接验证 Key、地址和模型是否可用。
- 界面支持 10 种语言:简体中文、繁體中文、English、日本語、한국어、Español、Français、Deutsch、Русский、Português。
- 目标语言 60+。
- 支持导出/导入设置;导出时会自动移除 API Key 和自定义请求头。
- 支持一键清除翻译缓存。
- 用量统计显示本次会话的 Token 用量与缓存命中情况。
- 支持浅色、深色和跟随系统主题。
安装与配置
- 安装 Tampermonkey、Violentmonkey 或其他支持
GM_* API 的用户脚本管理器。
- 安装本脚本。
- 首次运行会自动打开设置;在 DeepSeek 控制台创建 API Key 并填入。
- 如果使用自定义服务,填写接口地址、模型名称,必要时填写自定义请求头 JSON。
- 点击“测试服务”,确认返回译文后即可使用。
隐私说明
- API Key 保存在用户脚本管理器的本地存储中(无 GM 存储时回退到 localStorage)。
- 脚本只会向你配置的翻译接口发送待翻译文本;不会上传浏览记录或页面内容到作者服务器。
- 不包含遥测、统计、错误上报或广告代码。
- 本地持久缓存只保存译文;网页原文不会写入持久缓存。
- 自定义接口需要
@connect * 权限;脚本只会向配置的接口地址和字幕数据地址发起请求。
权限说明
GM_xmlhttpRequest / @connect *:调用你配置的翻译接口,并读取 YouTube 字幕数据。* 用于支持任意自定义接口域名,脚本不会主动访问其他地址。
GM_getValue / GM_setValue / GM_deleteValue:保存设置、译文缓存和标签页翻译状态。
GM_getTab / GM_saveTab:在支持的管理器中记忆当前标签页的翻译意图。
GM_registerMenuCommand:在脚本管理器菜单中提供翻译、字幕、设置等快捷入口。
unsafeWindow:仅在 YouTube 上读取播放器字幕数据并安装字幕监听钩子。
兼容性与限制
- 适用于桌面版 Chrome、Edge、Firefox 等主流浏览器,需配合支持
GM_* API 的用户脚本管理器使用。
- 不支持 PDF、EPUB、图片文字、Canvas 绘制文字和硬字幕(烧录在视频画面中的字幕)。
- 封闭 Shadow DOM、跨域 iframe 内的正文可能无法翻译;嵌入的 YouTube iframe 只启用字幕翻译。
- 翻译质量取决于所选模型和接口;脚本会尽量保留数字、URL、代码和占位符,但无法保证 100% 不变。
- 使用你自己的 API Key,产生的费用由你的 API 账户承担。
常见问题
页面没有翻译? 检查 API Key、接口地址和模型;确认当前站点不在“从不翻译”列表;确认页面语言与目标语言不同;如果开启了懒加载,请滚动页面。
字幕没有出现? 确认视频本身有字幕轨道;YouTube 可尝试打开一次原生 CC;如果使用人工字幕优先,等待几秒让脚本匹配目标语言轨道。
提示 401/403/429? Key 无效、权限不足或额度用完,请在服务商控制台检查。
悬浮球不见了? 可能被“本次会话/当前站点/永久关闭”隐藏,或站点在黑名单中;可通过脚本管理器菜单重新打开设置。
如何切换界面语言? 设置 → 基本设置 → 界面语言;切换后控制面板会重建。
更新日志
1.0.0
- 首个公开版本。
- 网页双语/仅译文翻译、懒加载、动态内容、Shadow DOM、站点规则、标题与属性翻译。
- YouTube/HTML5 字幕翻译、人工字幕优先、断句合并、环境音过滤、拖动浮层、VTT/SRT 下载。
- 输入框三连空格翻译、划词工具栏、悬浮球控制面板。
- DeepSeek 与 OpenAI 兼容接口、翻译缓存、用量统计、10 种界面语言。
- 修复内联译文位置切换的空格顺序、字幕下载重复请求、字幕轨道恢复、超时重试判断等问题。
许可证
MIT License。
反馈
欢迎在 Greasy Fork 的脚本页面留言反馈问题或建议。


