UNPKG

eazydict

Version:

简单易用的命令行词典

187 lines (130 loc) 5.91 kB
# EazyDict [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![License][license-image]][license-url] [![Lgtm Alerts][lgtm-alerts-image]][lgtm-alerts-url] [![Lgtm Grade][lgtm-grade-image]][lgtm-grade-url] 简单易用的命令行词典,基于 Node 开发。支持 Linux、Mac(部分功能支持 Windows) 主要功能: - 中英互译 - 输出翻译、音标、例句,并且可自由配置 - 支持以插件形式集成词典,默认包含: [Google](http://github.com/keenwon/eazydict-google), [Bing](http://github.com/keenwon/eazydict-bing), [Youdao](http://github.com/keenwon/eazydict-youdao) - 本地缓存,可设置缓存时长 - 历史记录 - 生词本 - 支持代理(需要插件支持,内置的Google、Bing、Youdao插件已实现代理功能) - 可查询程序状态:累计查询次数,生词个数等 - 更新提示:使用过程中会自动检测更新,并输出提示 效果图: <center> <img src="docs/images/screenshot.gif"> </center> 目录: <!-- TOC --> - [环境](#环境) - [安装](#安装) - [运行](#运行) - [插件](#插件) - [配置文件](#配置文件) - [本地缓存](#本地缓存) - [DEBUG模式](#debug模式) - [本地数据的备份与恢复](#本地数据的备份与恢复) - [ChangeLog](#changelog) - [License](#license) <!-- /TOC --> ## 环境 运行 EazyDict 需要: - Node ( **v8+** ) - NPM 安装方法请查看 Node 官网:[https://nodejs.org/](https://nodejs.org/) ## 安装 使用 npm 安装,执行: ```shell npm i -g eazydict ``` 当然也可以使用 [yarn](https://yarnpkg.com): ```shell yarn global add eazydict ``` > 注意:因为依赖了 node-sqlite3,会直接根据你的系统下载预编译版本,可能会比较慢,安装时可以添加 `--verbose` 查看详情。 > > ```shell > npm i -g eazydict --verbose > ``` > 安装的相关详细信息可以查看: [link](https://github.com/mapbox/node-sqlite3#installing) ## 运行 直接执行 `eazydict` 或者 `eazydict --help` 可以看到详细的帮助信息: ```shell $ eazydict --help Usage: eazydict <words...> 简单易用的命令行词典 https://github.com/keenwon/eazydict Options: -s, --save 查询单词,同时保存到生词本 -r, --raw 不转换为小写,查询原始的输入值 -h, --help output usage information Commands: lookup|l [options] <words...> 查询 words 的翻译 version|v 版本信息 history|h [count] 显示最近查询的历史记录 save|s 保存上一次查询的单词、短语到生词本 install|i <plugin-name> 安装插件 wordbook|w 打开生词本 status 显示统计信息 Examples: 查询短语 "fly in sky": $ eazydict fly in sky $ eazydict lookup fly in sky $ eazydict l fly in sky 查询短语 "hello",同时保存到生词本: $ eazydict --save hello $ eazydict -s hello 查看历史记录: $ eazydict history $ eazydict h 保存上一次查询的单词、短语到生词本: $ eazydict save $ eazydict s 打开生词本: $ eazydict wordbook $ eazydict w 安装插件"eazydict-example": $ eazydict i eazydict-example $ eazydict install eazydict-example 查看 EazyDict 版本信息: $ eazydict version $ eazydict v ``` ## 插件 - [eazydict-google](http://github.com/keenwon/eazydict-google) (默认包含,无需安装) - [eazydict-bing](http://github.com/keenwon/eazydict-bing) (默认包含,无需安装) - [eazydict-youdao](http://github.com/keenwon/eazydict-youdao) (默认包含,无需安装) 如果你有兴趣开发更多的插件,可以参考文档: [EazyDict 插件开发](./docs/plugins.md) ## 配置文件 EazyDict 第一次运行的时候,会自动生成配置文件 .eazydict.yml 到用户的的 [Home](https://nodejs.org/api/os.html#os_os_homedir) 目录下。你可以根据自己的需求修改配置。参考 [.eazydict.yml](https://github.com/keenwon/eazydict/blob/master/.eazydict.yml) ## 本地缓存 EazyDict 会缓存你的查询过的单词。缓存使用 Sqlite,数据库文件在 `${home}/.eazydict/databasae.sqlite` ## DEBUG模式 当程序运行异常时(例如和你的配置文件不符),可以使用 DEBUG 模式查看更多信息 ```shell DEBUG=eazydict:core:* eazydict love ``` 同样也可以单独查看插件的 DEBUG 信息,具体参数可以查看各插件文档 & 源码 ## 本地数据的备份与恢复 原则上本地的数据只是缓存,使用过程中完全不用在意。但是如果你希望对数据进行备份,可以直接操作 `${home}/.eazydict/databasae.sqlite` 文件 - 备份:直接备份 `database.sqlite` 文件 - 恢复:将备份的文件放在 `${home}/.eazydict/` 目录 - 删除:直接删除 `database.sqlite` 文件 ## ChangeLog see [CHANGELOG.md](./CHANGELOG.md) ## License MIT. [npm-image]: https://img.shields.io/npm/v/eazydict.svg?style=flat-square&maxAge=3600 [npm-url]: https://www.npmjs.com/package/eazydict [travis-image]: https://img.shields.io/travis/keenwon/eazydict.svg?style=flat-square&maxAge=3600&logo=travis [travis-url]: https://travis-ci.org/keenwon/eazydict [license-image]: https://img.shields.io/npm/l/eazydict.svg?style=flat-square&maxAge=3600 [license-url]: https://github.com/keenwon/eazydict/blob/master/LICENSE [lgtm-alerts-image]: https://img.shields.io/lgtm/alerts/g/keenwon/eazydict.svg?logo=lgtm&logoWidth=18&maxAge=3600&style=flat-square [lgtm-alerts-url]: https://lgtm.com/projects/g/keenwon/eazydict/alerts/ [lgtm-grade-image]: https://img.shields.io/lgtm/grade/javascript/g/keenwon/eazydict.svg?logo=lgtm&logoWidth=18&maxAge=3600&style=flat-square [lgtm-grade-url]: https://lgtm.com/projects/g/keenwon/eazydict/context:javascript