两款命令行下的翻译工具:sdcv&translate-shell

ReaperSpring ReaperSpring     2022-11-22     797

关键词:

现今打开浏览器有各种相关插件可用,取词翻译等唾手可得,但在命令行下浏览资料时遇到生词复制到到网上搜索,一来一回比较烦,于是找到了两款工具,分别介绍一下吧:

 

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-shellgoogle翻译的命令行前端, 安装后使用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不需要网络, 本地查询速度更快, 拿来查字典更顺手.

两款软件可以拿来互补使用吧.

 

linux命令行翻译工具(代码片段)

一、背景经常在linux命令行下有些单词不认识,复制出来通过翻译软件很不方便,如果有个命令行翻译就比较舒服了。通过下面shell脚本可以在/usr/bin/yd创建yd命令来进行快速命令行翻译。二、代码git地址#!/bin/bash##CMD=/usr/bin/ydcat>... 查看详情

如何在linux命令行下查询字典

不知道您用的是linux的什么版本?关于Ubuntu或者Debian查询字典的方法,推荐您看下这里http://jingyan.baidu.com/article/ac6a9a5e401b2f2b653eac3e.html图文配合,说的很详细的祝您生活愉快~参考技术A字典程序有个sdcv,感觉还不错,但字典数据... 查看详情

有没有linux命令行下的http抓包工具?就像burpsuite那样,设置好代理就可

有没有linux命令行下的http抓包工具?就像burpsuite那样,设置好代理就可以抓,抓到了还可以进行修改再发出去(大部分抓包工具就是不能对数据进行修改)想弄来装在配了3.5寸显示屏的树莓派上。burpsuite窗口太大,3.5寸显示不下... 查看详情

mysql命令行下的--tee选项功能

假如mysql命令行状态下,要进行大量的交互操作,其实可以把这些操作记录在log中进行审计,很简单mysql-u-root-p--tee=c:\\xxxx.log,加上参数--tee就可以了,这是一个不大常用的命令选项,也可以:在服务器上的/etc/my.cnf中的[client]加... 查看详情

java代码在命令行下的编译

...t-indent:2em}.main{font-weight:bolder}目的跟C++一样,JAVA可以通过命令行直接编译得到字节码文件,并且使用java命令运行。通过JAVA的编译和运行命令只是熟悉一下JAVA的一些特征,包括包和目录,classpath,jar格式;而且在调试小程序的时候其... 查看详情

linux命令行下创建纳入版本控制下的新目录

 [[email protected]资料库]#svnmkdirtestAtest[[email protected]资料库]#svnci-m"mkdirtest"Adding资料库/testCommittedrevision175.  查看详情

命令行下的“蒙面歌王”rundll32.exe

...多个程序同时使用的代码和数据。Rundll.exe和Rundll32.exe的命令行实用程序,通过这两个程序可调用从16位或32位DLL导出的函数。现在Rundll.exe基本被淘汰,rundll32. 查看详情

在终端安装字典--sdcv

...安装sdcv,我用的是deepin,只要在终端输入下面的命令,ubuntu也是sudoapt-getinstallsdcv然后下载离线的字典包。下载地址tardict-dic.根据个 查看详情

linux命令行下搜索工具大盘点,效率提高不止一倍!(代码片段)

在Linux命令行下进行文本关键字的搜索,大家肯定第一时间会想到grep命令。grep命令确实十分强大,但如果需要用到它更加灵活的功能时,可能命令就会显得十分复杂。于是,为了简化grep的语句并达到同等效果,很多业内高手开... 查看详情

curl

linuxcurl命令详解,以及实例 http://blog.51yip.com/linux/1049.htmllinuxcurl是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具。 一,curl命令参数,... 查看详情

linux命令行下搜索工具大盘点,效率提高不止一倍!(代码片段)

在Linux命令行下进行文本关键字的搜索,大家肯定第一时间会想到grep命令。grep命令确实十分强大,但如果需要用到它更加灵活的功能时,可能命令就会显得十分复杂。于是,为了简化grep的语句并达到同等效果,很多业内高手开... 查看详情

windows命令行下测试网速

window测试工具pipinstallspeedtest-cli测试命令speedtest-cli                    #既显示下载速度,也显示上传速度speedtest-cli- 查看详情

怎么在cmd命令行下进入postgresql

参考技术A?不明白,是什么平台?安装pgAdminIII试一试,很不错的工具。如果使用命令行c:\programfiles\postgresql\9.1\bin>psql--help看一下说明哦 查看详情

tcpdump

tcpdump是一个运行在命令行下的抓包工具。它许用户拦截和显示发送或接收到网络连接到该计算机的TCP/IP和其他数据包。tcpdump适用于绝大多数的类unix系统,类unix系统的tcpdump需要使用libcap这个捕捉数据的lib,就像windows下的winpap。... 查看详情

命令行下telnet结果如何输出

我用telnet在命令行下连接到一服务器,并运行一些命令,请问如何将这些命令输出的结果保存到本地?如果直接从commandline下复制粘贴会把所有命令的结果拿到一起,我想问有没有方法可以对于每一条命令的结果输出保存到本地... 查看详情

python打造基于有道翻译的命令行翻译工具(命令行爱好者必备)(代码片段)

Python打造基于有道翻译的命令行翻译工具(命令行爱好者必备)之前基于百度写了一篇博文Python打造基于百度翻译的命令行翻译工具,本来这工具用得挺好的。但是没想到,近期处于不知道啥原因,不能用了... 查看详情

linux下的find&&grep查找命令

  区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。         (2)grep是根据文件的内容进行查找,会对文件的每一行按照... 查看详情

mysql命令行导入sql数据库

...具/材料mysql,windows7,备份的数据库先启动mysql服务,在命令行下输入netstartmysql,然后登录,输入mysql-uroot-p,回车后输入密码输入下图中的语句,创建数据库,查看数据库,然后输入exit退出,如下图所示导入数据库到刚才创建... 查看详情