分享一个有道柯林斯词典的 chrome 扩展 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
oyyd
V2EX    分享创造

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

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

    我在自己阅读英文文章、并从有道词典查询单词的过程中发现,相比于两三个中文字的单词意思解释,柯林斯词典提供了一定的英文语境可以帮我 更准确地 理解一个单词的意思,并加深记忆,我渐渐地也就变得只看柯林斯的解释。加之在 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     Solana     3846 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 00:55 PVG 08:55 LAX 17:55 JFK 20:55
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86