V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
oyyd
V2EX  ›  分享创造

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

  •  1
     
  •   oyyd ·
    oyyd · 2017-05-15 20:04:06 +08:00 · 4960 次点击
    这是一个创建于 2751 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    intro

    这个扩展提供:

    • 划词即翻译
    • 按住(meta/ctrl)键 + 划词时翻译

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

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

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

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

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

    16 条回复    2017-05-24 08:03:55 +08:00
    SkyLanD
        1
    SkyLanD  
       2017-05-15 20:37:43 +08:00
    非常好用,已经安装,谢谢…
    oyyd
        2
    oyyd  
    OP
       2017-05-15 21:11:51 +08:00
    感谢资瓷 @SkyLanD
    puyo
        3
    puyo  
       2017-05-16 08:07:28 +08:00
    可以添加一个快捷键,用于打开词典查询栏。
    henices
        4
    henices  
       2017-05-16 09:20:45 +08:00
    给各位推荐一下 goldendict https://github.com/goldendict/goldendict
    oyyd
        5
    oyyd  
    OP
       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
        6
    greatghoul  
       2017-05-16 10:27:03 +08:00
    puyo
        7
    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
        8
    greatghoul  
       2017-05-16 10:28:41 +08:00
    @oyyd 给你一个思路,popup page 是可以通过快捷键打开的,设定一个组合键,然后激活后从 activeTab 中拿 selection,在 popup 中翻译。就可以实现这个效果了。
    oyyd
        9
    oyyd  
    OP
       2017-05-16 15:00:24 +08:00
    @puyo gj, 晚上我参考一下
    oyyd
        10
    oyyd  
    OP
       2017-05-16 15:03:34 +08:00
    @greatghoul 我仔细想一下
    GaoMjun
        11
    GaoMjun  
       2017-05-16 18:46:09 +08:00
    不错
    oyyd
        12
    oyyd  
    OP
       2017-05-18 00:15:55 +08:00
    @puyo @greatghoul commands 是可以打开 popup page 的,问题是在文档上,无论是 commands 的文档还是 browser action 的文档都没有列出这一点,我只在官方 example 上找到了同样场景的例子。

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

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

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

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

    要是能直接展示同义词会是一个很有用的功能,但是恐怕从有道上爬取的数据源里面很难做到这一点。UI 这一点上,我会尽力而为(难以掩盖自己在这方面的薄弱)
    oyyd
        16
    oyyd  
    OP
       2017-05-24 08:03:55 +08:00
    已经发布 1.0.8 版本,修复了部分 bug,添加了双击模式
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1811 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:34 · PVG 00:34 · LAX 08:34 · JFK 11:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.