Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TED Quick Translator

为 TED 演讲稿与字幕、TED 博客文章添加第二语言翻译、双语阅读、点击查词和 AI 总结的 Chrome Manifest V3 扩展。

功能

  • 优先直接读取 TED 已有的目标语言官方译稿与字幕;仅在官方版本不存在时调用第三方翻译服务或大模型。
  • 演讲稿支持“仅译文”和“原文 + 译文”两种模式。
  • 根据 TED 演讲稿自带的时间戳显示双语字幕或仅译文字幕。
  • 点击演讲稿或扩展字幕中的单词,查询当前目标语言释义。
  • 点击演讲稿时间戳跳转到对应播放位置。
  • 长演讲按可见区域分批翻译,并在本机缓存结果,减少请求与费用。
  • 支持播放器全屏;不含原生 <video> 的播放器会回退到监听页面已有字幕。
  • TED 博客文章(blog.ted.com、ideas.ted.com)在每段原文后自动插入第二语言翻译,支持“原文 + 译文”和“仅译文”两种模式。
  • 博客文章与演讲一样,可点击右下角 T译 按钮打开 AI 总结面板,流式生成并缓存总结结果。

翻译服务

服务 配置
MyMemory 默认可直接使用;可选填写联系邮箱
LibreTranslate 自定义服务地址,可选 API 密钥
OpenAI 兼容接口 自定义地址、模型和 Bearer API 密钥,调用 /chat/completions
Anthropic 自定义地址、模型和 API 密钥,调用 /v1/messages

自定义服务地址在保存或测试时才会向 Chrome 申请该域名的访问权限。API 密钥保存在本机扩展存储中,并限制内容脚本直接读取;扩展存储并非操作系统级加密保险库,不建议在共享浏览器配置中保存敏感密钥。

安装

  1. 打开 Chrome,进入 chrome://extensions/
  2. 打开右上角“开发者模式”。
  3. 点击“加载已解压的扩展程序”。
  4. 选择本项目根目录。
  5. 打开 https://www.ted.com/ 首页、任意 https://www.ted.com/talks/...,或 https://blog.ted.com/...https://ideas.ted.com/... 页面。

更新代码后,在扩展管理页点击“重新加载”,然后刷新 TED 页面。

使用

  1. 点击扩展图标,在快捷弹窗中选择目标语言和阅读模式。
  2. 点击“在当前 TED 页面打开翻译稿”,或点击 TED 首页、演讲页与博客页右下角的 T译 按钮。
  3. 需要自定义接口时,进入“翻译服务与全部设置”,填写地址、模型和密钥。
  4. 点击“测试当前服务”,确认 Hello world 能得到译文。
  5. 播放演讲时,扩展会按当前设置显示字幕;点击字幕或演讲稿中的单词可查词。

TED 博客文章

  1. 打开任意 TED 博客文章页,正文每段原文后会自动插入第二语言译文(可在“翻译服务与全部设置 → 阅读体验”中关闭“博客文章翻译”)。
  2. 在设置页的“演讲稿模式”中选择“原文后添加译文”或“用译文替换原文”,博客段落会同步生效。
  3. 点击页面右下角 T译 按钮,在面板中选择总结语言并点击“开始总结”,即可像演讲页面一样生成 AI 文章总结(需使用 OpenAI 兼容接口)。

项目结构

manifest.json
src/
├── background/
│   ├── providers.js        # 翻译服务适配器
│   └── service-worker.js   # 请求、缓存、消息和密钥隔离
├── content/
│   ├── content-script.js   # TED 数据解析、演讲稿、字幕、博客段落翻译和 AI 总结
│   └── content-style.css
├── options/                # 完整设置与服务测试
├── popup/                  # 快捷设置与打开演讲稿
└── shared/config.js        # 配置模型和消息常量

兼容策略

扩展优先读取 TED 页面内嵌的 transcriptData,其中包含段落、句子和毫秒时间戳。扩展会使用目标语言请求同一演讲的 view=transcript 页面,并核验 TED 实际返回的语言;目标语言官方译稿存在时直接使用,不存在或请求失败时才调用配置的翻译服务。原文仍不可用时,再从已经渲染的演讲稿 DOM 中提取文本。

字幕优先与页面原生 <video> 时间同步。对于第三方 iframe 播放器,扩展会尝试观察页面字幕文本;不同 TED 播放器或未来页面改版可能影响字幕同步,但不会影响使用独立翻译演讲稿。

博客翻译解析文章正文容器(blog.ted.com 的 .entry-content、ideas.ted.com 的 .article-content)内的段落,按滚动可见区域分批翻译并在段落后插入译文;译文单词同样支持点击查词。AI 总结与演讲页面共用同一流式接口、语言选项和缓存。

About

为TED提供双语字幕,演讲稿和AI能力(如:文章总结,近义词联想,词义追问)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages