Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TED Quick Translator

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

功能

  • 优先直接读取 TED 已有的目标语言官方译稿与字幕;仅在官方版本不存在时调用第三方翻译服务或大模型。
  • 演讲稿支持“仅译文”和“原文 + 译文”两种模式。
  • 根据 TED 演讲稿自带的时间戳显示双语字幕或仅译文字幕。
  • 点击演讲稿或扩展字幕中的单词,查询当前目标语言释义。
  • 点击演讲稿时间戳跳转到对应播放位置。
  • 长演讲按可见区域分批翻译,并在本机缓存结果,减少请求与费用。
  • 支持播放器全屏;不含原生 <video> 的播放器会回退到监听页面已有字幕。

翻译服务

服务 配置
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/talks/... 页面。

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

使用

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

项目结构

+manifest.json
+src/
+├── background/
+│   ├── providers.js        # 翻译服务适配器
+│   └── service-worker.js   # 请求、缓存、消息和密钥隔离
+├── content/
+│   ├── content-script.js   # TED 数据解析、演讲稿、字幕和查词
+│   └── content-style.css
+├── options/                # 完整设置与服务测试
+├── popup/                  # 快捷设置与打开演讲稿
+└── shared/config.js        # 配置模型和消息常量
+```
+
+## 兼容策略
+
+扩展优先读取 TED 页面内嵌的 transcriptData,其中包含段落、句子和毫秒时间戳。扩展会使用目标语言请求同一演讲的 view=transcript 页面,并核验 TED 实际返回的语言;目标语言官方译稿存在时直接使用,不存在或请求失败时才调用配置的翻译服务。原文仍不可用时,再从已经渲染的演讲稿 DOM 中提取文本。
+
+字幕优先与页面原生 `<video>` 时间同步。对于第三方 iframe 播放器,扩展会尝试观察页面字幕文本;不同 TED 播放器或未来页面改版可能影响字幕同步,但不会影响使用独立翻译演讲稿。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages