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

又双叒叕一个终端英中词典

  •  
  •   sensui7 · 2017-12-01 11:45:19 +08:00 · 3219 次点击
    这是一个创建于 2552 天前的主题,其中的信息可能已经有所发展或是发生改变。

    snipaste_20171201_113205.png

    node.js

    使用有道, 解析的 html 翻译

    使用

    // cli
    npm install -g whay
    whay my-word
    
    //api
    const whay = require('whay').translate
    
    whay('WordToTranslate', (err, translatedData) => {
      if (err) return
      console.log(translatedData)
    })
    
    // translatedData schema
    { keyword: 'WordToTranslate',
      phonetic: '[...]',
      trans: [ '...', '...', ... ]
    }
    

    整个开发的一半时间在解决 npm publish 的问题, 把网上所有解决方案全试了一遍, 从 npm 5.4, 降到 5.3, 5.0 最后 4.6 成功 publish... ,
    用 yarn 可以 publish, 但是 yarn 不会创建 cmd bin 文件, 导致在 win 上没法执行 bin.

    14 条回复    2017-12-02 00:49:14 +08:00
    sensui7
        1
    sensui7  
    OP
       2017-12-01 11:52:19 +08:00
    milklee
        2
    milklee  
       2017-12-01 14:16:24 +08:00
    解析 HTML 有点不那么高效啊……

    你可以试试包装一下这个 https://github.com/Selection-Translator/translation.js
    Tunar
        3
    Tunar  
       2017-12-01 15:50:11 +08:00 via Android   ❤️ 4
    头像很 6
    ostholz
        4
    ostholz  
       2017-12-01 16:01:06 +08:00
    我是进来膜拜头像的
    sunwei0325
        5
    sunwei0325  
       2017-12-01 16:02:43 +08:00
    头像配色神似某 Hub
    hei1000
        6
    hei1000  
       2017-12-01 16:16:24 +08:00
    楼主听说过 sdcv 吗
    sensui7
        7
    sensui7  
    OP
       2017-12-01 16:47:46 +08:00
    @milklee api 接口会被限吗? 有不少用 api 的 chrome 扩展都有查不了有道的情况, 很让人恼火
    mskf
        8
    mskf  
       2017-12-01 17:24:12 +08:00
    lz。。为啥高版本的 npm 不能正常发布呢
    milklee
        9
    milklee  
       2017-12-01 17:31:02 +08:00
    @sensui7 这个接口不是有道官方的 API,是直接调用有道网页翻译的私有 API,应该不会被限制吧。
    sensui7
        10
    sensui7  
    OP
       2017-12-01 17:53:10 +08:00
    @milklee 私有 api?, 是自己申请的吗? 前段时间看到有个扩展(忘了名字了)号召大家自己申请 api, 它内置的不够用, 常抽风
    @mskf 没人知道啊, 反正 github issues 上一堆降级的, 还有的恶搞 `npm install yarn`的, 如果没有 bin 文件, 用 yarn 确实好使.
    milklee
        11
    milklee  
       2017-12-01 18:27:36 +08:00   ❤️ 1
    @sensui7

    你说的扩展是划词翻译吧? https://github.com/Selection-Translator/crx-selection-translate

    这个扩展用的是有道官方提供的翻译接口,但最近有道出了个新的翻译接口要收费了,所以用了有道网页翻译 fanyi.youdao.com 的接口,不需要申请的。
    sensui7
        12
    sensui7  
    OP
       2017-12-01 19:01:14 +08:00
    @milklee 厉害啦, 这个引擎不错
    mingyun
        13
    mingyun  
       2017-12-01 22:54:06 +08:00
    $ node -v
    v6.9.3
    $ npm -v
    3.10.10

    $ whay good
    d:\nodejs\node_modules\whay\lib.js:16
    const lookup = async (word, debug, cb) => {
    ^
    SyntaxError: Unexpected token (
    at Object.exports.runInThisContext (vm.js:76:16)
    at Module._compile (module.js:542:28)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (d:\nodejs\node_modules\whay\whay.js:2:35)
    at Module._compile (module.js:570:32)
    sensui7
        14
    sensui7  
    OP
       2017-12-02 00:49:14 +08:00
    @mingyun node 版本太低了, const 关键字不认, 升级到 8 或者 9 就好了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3318 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:38 · PVG 20:38 · LAX 04:38 · JFK 07:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.