分享一个有道柯林斯词典的 chrome 扩展

2017-05-15 20:04:06 +08:00
 oyyd

我在自己阅读英文文章、并从有道词典查询单词的过程中发现,相比于两三个中文字的单词意思解释,柯林斯词典提供了一定的英文语境可以帮我 更准确地 理解一个单词的意思,并加深记忆,我渐渐地也就变得只看柯林斯的解释。加之在 chrome store 上并没有搜到太多 collins 词典的扩展( FairyDict 支持),于是便有了这个应用。

这个扩展提供:

两种选择。当然也可以关掉划词翻译。

前面说到 FairyDict,这个扩展与 FairyDict 最大的不同在于这个扩展应用并不是用 iframe 直接访问词典页面。并且这个扩展也没有使用 api 请求数据,而是直接爬取页面获得数据,这样我就能自由的控制展现,让 UI、体验更加简介而一致,并且理论上也不会被 api 访问次数所限制。

而 js 社区中好用的、css selectors 形式的静态页面解析工具非cheerio莫属。但 cheerio 依赖 node native 模块,没办法直接用在 Chrome Extension (或 React Native )上。不过我之前稍微修改了 cheerio 的代码和它的依赖的代码 - cheerio-without-node-native,可以让我们充分利用在 js 客户端上爬取页面数据的能力。

对源码有兴趣的同学可以看这里(react 应用):

感觉直接在客户端上爬取页面,可以做很多事情,而且连服务器都不用

4771 次点击
所在节点    分享创造
16 条回复
SkyLanD
2017-05-15 20:37:43 +08:00
非常好用,已经安装,谢谢…
oyyd
2017-05-15 21:11:51 +08:00
感谢资瓷 @SkyLanD
puyo
2017-05-16 08:07:28 +08:00
可以添加一个快捷键,用于打开词典查询栏。
henices
2017-05-16 09:20:45 +08:00
给各位推荐一下 goldendict https://github.com/goldendict/goldendict
oyyd
2017-05-16 10:18:35 +08:00
@puyo 我也有过同样的想法,但是 chrome extension 设计上好像不支持打开 popup page [stackoverflow]( http://stackoverflow.com/questions/4908647/how-can-i-open-my-chrome-extensions-popup-page-from-the-extensions-content-scr)
greatghoul
2017-05-16 10:27:03 +08:00
puyo
2017-05-16 10:28:17 +08:00
@oyyd #5 你可以看一下这个,https://chrome.google.com/webstore/detail/%E5%88%92%E8%AF%8D%E7%BF%BB%E8%AF%91/ikhdkkncnoglghljlkmcimlnlhkeamad

这个可以通过 ctrl + Q 来弹出查询栏。
greatghoul
2017-05-16 10:28:41 +08:00
@oyyd 给你一个思路,popup page 是可以通过快捷键打开的,设定一个组合键,然后激活后从 activeTab 中拿 selection,在 popup 中翻译。就可以实现这个效果了。
oyyd
2017-05-16 15:00:24 +08:00
@puyo gj, 晚上我参考一下
oyyd
2017-05-16 15:03:34 +08:00
@greatghoul 我仔细想一下
GaoMjun
2017-05-16 18:46:09 +08:00
不错
oyyd
2017-05-18 00:15:55 +08:00
@puyo @greatghoul commands 是可以打开 popup page 的,问题是在文档上,无论是 commands 的文档还是 browser action 的文档都没有列出这一点,我只在官方 example 上找到了同样场景的例子。

我更新了发布了版本,ctrl+q 打开 popup 页面(不再重新定义键位,至于为什么没有 meta+q..),同时修复了同义词上的一些问题。
oyyd
2017-05-18 00:27:06 +08:00
另外才发现划词翻译的 chrome 扩展太多了(虽然支持 collins 的不多),还是尽可能做一些新领域下的东西会更合适,也避免重复造轮子(不过这个扩展是我自己爱用的,至少让自己爽到了)。

不知道大家对查询英文单词的需求是怎么样的?比如说有自己觉得更适合的词典选择?或是说“有 xx 功能能让我沉迷于学习”?我个人觉得单词本应该是个很有用的功能,或许有哪些成熟应用的单词本是值得这么一做的
resuly
2017-05-19 09:59:20 +08:00
可以参考一下 Grammarly for Chrome 的 Show Definitions and Synonyms via Double Clicks

个人使用感觉,“划词翻译”某种程度上来说不如“双击翻译”来的方便,因为单纯的划词经常会误操作(比如 input 输入框选中删除),按住 ctrl 划词再放手又有点繁琐。英文单词不像中文的句子,可以一下双击选中,建议增加双击模式。

另外,UI 可以再更好一点的(参考 Grammrly )。
oyyd
2017-05-19 14:13:41 +08:00
@resuly 感谢回复和建议。我自己的情况更多是查询单词的意思,浏览器上双击英文单词的作用相当于划词,所以我自己最常用的做法 meta + 双击单词。但这种做法还是和“双击模式”有所不同,我会加进“双击模式”,感谢你的建议。

要是能直接展示同义词会是一个很有用的功能,但是恐怕从有道上爬取的数据源里面很难做到这一点。UI 这一点上,我会尽力而为(难以掩盖自己在这方面的薄弱)
oyyd
2017-05-24 08:03:55 +08:00
已经发布 1.0.8 版本,修复了部分 bug,添加了双击模式

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/361516

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX