两款命令行下的翻译工具: sdcv & translate-shell
现今打开浏览器有各种相关插件可用,取词翻译等唾手可得,但在命令行下浏览资料时遇到生词复制到到网上搜索,一来一回比较烦,于是找到了两款工具,分别介绍一下吧:
sdcv安装后因为缺少字典,并不能直接使用,要到 http://download.huzheng.org/ 处下载,个人推荐 langdao-ec-gb langdao-ce-gb DrEye4in1
解压后放到~/stardict/dic/即可, 比如sdcv hello将显示hello的解释, 单独输入sdcv会启动交互模式,
~/.sdcv_ordering文件可以指定字典查找顺序, -u选项也可以指定查找的字典,
如果sdcv找不到给出的单词,会尝试模糊匹配,-e选项可以强制精确查找.
sdcv也支持分页查看, 由环境变量$SDCV_PAGER指定分页器, 另外--color选项可以高亮输出,我的设置如下:
alias dts='sdcv -e --color'
export SDCV_PAGER='less -i -r -M'
sdcv本身选项不多,手册也比较好理解,更详细的见man.
translate-shell是google翻译的命令行前端, 安装后使用trans命令即可使用, 下面介绍一些重要选项:
trans默认就会输出ansi转义, 所以看到奇怪的内容时先使用-no-ansi关闭转义字符,后面会说.
trans界面所使用的语言和终端相同, -l选项可以进行修改.
-s和-t分别控制所采用的源语言和目标语言, 即"将s语言翻译为t语言"的意思,其简写形式为[source]:[target],
比如en:zh代表英转汉, :zh表示自动检测源语言并翻译为中文,
当省略source的时候将自动检测源语言,
而省略target时, 一切语言都会被翻译为英文(毕竟, 外星人都说英语...),
-T可以列出支持的语言, -L可以查询到更详细的信息.
程序默认使用google翻译引擎, -S可以列出所有支持的引擎,然后-e进行选择.
trans本身更倾向于大段的翻译之用, -d选项可以将其用作普通字典,
默认的, 程序使用-verbose输出很多内容, -b选项可以精简输出, 但是对于字典查询来说, 有些太过于精简了.
要想翻译文件,可以使用-i选项.
trans也是支持分页的, 由-v启动, 而-pager用来指定分页器, 上面提到过ansi转义的问题,
和很多程序一样, 转义可以高亮输出, 但要注意分页器也要支持转义. 我的选项如下:
alias gts='trans -t zh-CN -l zh-CN -d -v -pager "less -i -r -M" -no-play --'
trans的选项很多, 更多内容相见man手册页.
两款软件各有利弊, trans实际上是网络翻译, 保证了时效性, 例句丰富, 但相应的需要有网, 速度慢一些,
不过更重要的是就像前面说过的,trans更倾向于全文翻译, 如果只是单纯的查查字典, 个人感觉没有sdcv好,
再加上国内的网络环境, 都懂的...
而sdcv不需要网络, 本地查询速度更快, 拿来查字典更顺手.
两款软件可以拿来互补使用吧.