LightDict 轻词典 v1.2.0
Chrome 扩展 Manifest V3 · 零依赖 · MIT

选中 resilient
释义就落在原地。

LightDict 是一个轻量的划词词典扩展。选中单词,弹出音标、按词性分组的中文释义、英英解释与例句; 选中句子,弹出中文译文;按一下 Alt+T,整个外文网页就地变成简体中文对照。 不用切页面,不用复制粘贴。

源码即扩展,不需要 npm install,不需要构建 — 四步装好,或看 全部版本

5
类引擎
9
个免登录数据源
0
个第三方依赖
0
条埋点
example.com/article

What a browser extension actually is

A browser extension is a small software module that customizes the browser. The good ones stay out of the way, do one thing quickly, and leave the page exactly as they found it — quietly resilient.

试试看 · try it

就在这一页上划词

下面这段文字是活的。用鼠标选中一个词或一整句,卡片会像在真实网页上那样弹出来——同一套排版、同一套按钮、同一套分批填充。

选中任意词句 → 卡片弹出 · 带虚线下划线的词预置了演示数据 · Esc 关闭

What a browser extension actually is

A browser extension is a small software module that customizes the browser. Extensions are built with the same web technologies as ordinary pages, but they run with privileges that a page never gets.

Because an extension lives next to every page you visit, a good one is resilient and nearly ubiquitous: it should do one thing, do it quickly, and leave the page exactly as it found it.

中译英(扩展里默认关闭,打开后是这样) 选中弹性这个词,或者整句:今天天气很好,我们出去走走吧。

  • 先到先显示。一张单词卡片的内容来自三路数据源——翻译、英汉词典、英英词典。哪一路先回来就先画哪一路,还没到的部分留一条微光条,不会因为某一路慢就整张卡片空等。常见情形下 200–600 毫秒就能看到释义。
  • 卡片不碰页面。渲染在 Shadow DOM 里,页面的 CSS 影响不到它,它也不会污染页面;自动跟随系统深浅色。
  • 发音读的始终是英文那一侧。英文词读词,中文词读它的英文对应词,句子读英文原文或英文译文。点卡片上的音标可以分别试听英音、美音,点拼音则用中文嗓音念一遍原词。
功能 · features

八件它替你做的事

每一件都能在设置页里调整或关掉。改动即时生效,不必刷新页面。

word

选中单词

英美音标、按词性分组的中文释义、可展开的英英解释与例句,还有真人发音和一键加入生词本。

sentence

选中句子

弹出中文译文,下面附着原文对照,方便一眼核对是不是译歪了。

page

整页翻译

工具栏按钮或 Alt+T,整个外文网页就地变成双语对照,再按一次恢复原样。

popup

弹窗里直接查

不用先在页面上划词。点工具栏图标,输入中英文回车即可——chrome:// 这类扩展进不去的页面也能查。

stream

分批填满

三路数据源同时发出,后台每拼出一块就推给卡片一次。一路引擎慢,不拖住整张卡片。

zh→en

中译英(默认关闭)

打开后选中中文也响应:中文词给出拼音与英文对应词,中文句子译成英文。关着的时候中文选区一律不弹卡片。

audio

发音与生词本

优先播词典给的真人录音,没有就退回浏览器语音合成,嗓音可在设置页指定并试听。☆ 收进生词本,可导出。

quiet

不打扰

触发方式、停留延迟、卡片主题、例外网站都能调。不想让它在某个站点出现,把域名加进例外表即可。

整页翻译 · whole page

译文长在原文里

不是另摆一份文档,而是把译文作为原文元素的最后一个子节点塞进去——所以字体、字号、颜色、行高全是继承来的。

整页翻译效果:英文文章每段下面跟着一段简体中文译文,标题仍是标题,引用仍是斜体
标题还是标题,引用还是斜体。译文继承原文的排版,而不是抄一份样式。
  • 源语言不用选。英、日、韩、俄、法、阿拉伯……只要不是简体中文就翻,目标语言固定简体中文。已经是简体中文的段落原样跳过,繁体会一并转成简体。
  • 列表不会翻倍,表格不会多格。译文是原文元素的子节点而不是兄弟节点,所以列表编号、表格单元格、flex/grid 的子项数量都不变。
  • 代码和输入框不动。<code><pre>、输入框、contenteditable、标了 translate="no" 的元素,以及没有成词文字的段落,一律跳过。
  • 先翻你眼前看得见的。按可视顺序排队,每批约 20 段 / 1200 字符,最多三批同时在飞;同一批只放同一套文字,免得引擎把俄文段和日文段认成同一门语言。
  • 无限滚动也接得住。页面后来新增的内容由 MutationObserver 接住,隔 0.7 秒补翻一遍。
  • 不点就一个字都不外发。activeTab 权限触发,只在你点按钮或按快捷键的那一刻对当前标签页生效,安装时不会多出任何权限提示。
更多场景 · in situ

它平时长这样

以下截图由 tools/make_shots.sh 生成:headless Chrome 拍演示页,跑的是真实的内容脚本。

引擎 · engines

五类,各选各的

全部是免登录的公开接口。开启「自动降级」后,某一家挂了会按顺序换下一家;卡片底部标的是真正出结果的那个。

翻译引擎 整句译文

  • Google 翻译 默认clients5.google.com · 综合最好,单词还附带中文词性释义
  • 微软翻译www.bing.com/ttranslatev3 · 长句常更通顺
  • 有道翻译aidemo.youdao.com/trans · 中文译文更自然,国内可直连
  • MyMemoryapi.mymemory.translated.net · 开放翻译记忆库,匿名每日有额度
  • SimplyTranslatesimplytranslate.org/api/translate · Google 公共镜像,直连被拦时的备胎

英汉词典 中文释义 · 音标 · 发音

  • 有道词典 默认dict.youdao.com/jsonapi · 释义 + 英美音标 + 真人发音,覆盖最全
  • 金山词霸dict-mobile.iciba.com · 按词性分组的短词条,一眼扫得完
  • 有道联想dict.youdao.com/suggest · 接口最轻,响应最快

英英词典 英文释义 · 例句

  • Free Dictionary 默认api.dictionaryapi.dev · 释义带例句,另有音标与真人发音
  • Wiktionaryen.wiktionary.org/api/rest_v1 · 冷僻词和短语也查得到
  • Datamuseapi.datamuse.com/words · 轻量英文释义,响应最快

中译英引擎 中文句子译成英文

  • Google 翻译 默认clients5.google.com · 单词还附带英文对应词与拼音
  • 微软翻译 / 有道 / MyMemory / SimplyTranslate同一批服务换个目标语言

汉英词典 英文对应词 · 拼音

  • 有道汉英 默认dict.youdao.com/jsonapi(ce 词典)· 按词性分组,另有拼音
  • 金山词霸dict-mobile.iciba.com · 词条短,不给拼音
  • 有道联想dict.youdao.com/suggest(le=en)· 最轻,也收词组
隐私 · privacy

没有服务器可以泄露

没有账号,没有埋点,也没有一台属于我们的机器参与其中。

  • 离开你电脑的只有你主动要查的那段文字。它被直接发给你在设置页选定的第三方接口,不含页面地址、页面标题、Cookie 或任何身份信息。
  • 请求只从后台发出。所有网络请求都在 service worker 里,页面本身不参与,也拿不到查询结果。
  • 唯一的例外写在明处。微软翻译的接口要求带上 bing.com cookie,所以用它翻译时你的 bing.com cookie 会随请求一起发出。介意的话换成别的引擎即可。
  • 生词本与缓存只在本机。查询结果按「引擎组合 + 文本」本地缓存 7 天(最多 600 条),可在设置页清空。设置存在 chrome.storage.sync,会随你的 Chrome 账号同步——那是浏览器的机制,扩展不参与。
  • 只要两个权限。storage 存设置和生词本,activeTab 让整页翻译在你按下按钮的那一刻生效。仅此而已。

读完整的隐私政策 →

安装 · install

四步,一分钟

源码即扩展:解压之后直接加载,不需要 npm install,不需要构建。需要 Chrome 102 或更高版本。

  1. 下载下面的 ZIP 并解压到一个你不会随手删掉的目录。
  2. 在地址栏打开 chrome://extensions/,把右上角的开发者模式打开。
  3. 加载已解压的扩展程序,选中刚才解压出来的那个文件夹。
  4. 刷新任意网页即可开始划词。首次安装会自动打开设置页,可以顺手把「中译英」之类的开关调成你要的样子。
lightdict-1.2.0.zip 克隆仓库调试

也可以 git clone 后直接加载目录 · 快捷键在 chrome://extensions/shortcuts 里改