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

2017-12-01 11:45:19 +08:00
 sensui7

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.

3215 次点击
所在节点    分享创造
14 条回复
sensui7
2017-12-01 11:52:19 +08:00
milklee
2017-12-01 14:16:24 +08:00
解析 HTML 有点不那么高效啊……

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

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

这个扩展用的是有道官方提供的翻译接口,但最近有道出了个新的翻译接口要收费了,所以用了有道网页翻译 fanyi.youdao.com 的接口,不需要申请的。
sensui7
2017-12-01 19:01:14 +08:00
@milklee 厉害啦, 这个引擎不错
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
2017-12-02 00:49:14 +08:00
@mingyun node 版本太低了, const 关键字不认, 升级到 8 或者 9 就好了

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

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

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

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

© 2021 V2EX