bdtrans 一个命令行下的机器翻译工具
现如今,机器翻译技术已经越来越成熟了,尽管从整体来看机器翻译的结果还不是特别如意,但是也足以应付一般的翻译需求了。近几年机器翻译平台层出不穷,国外比较出名的翻译平台有Google翻译、必应翻译等,国内比较出名的也有百度翻译、有道翻译等。
中国的百度公司在人工智能层面做的还算是蛮不错的(虽然它的搜索一直以来为人所诟病),笔者经常在Linux下做一些工作,当有翻译需求时不得不打开浏览器,进入百度翻译官网去翻译一些句子,这样显然是有些麻烦,我想如果百度翻译肯提供一个API的话就好了,这样我就能做一个在终端下调用API的小工具。
笔者尝试登录百度翻译的开发者平台,发现百度翻译果然提供了API,于是笔者便用Python脚本语言写了一个命令行下的调用百度翻译工具,将其命名为 bdtrans
虽然笔者是在Linux下写的这个工具,但是其它平台也是支持的(前提是你的计算机上安装了一个python3的解释器),它所依赖的第三方包只有setuptools与prompt_toolkit.
你可以将其当作一个pyhton包,在自己的脚本文件中导入并使用它,或者在python解释器中使用它,也可以将其完全当作一个命令行下的小工具,甚至启动交互式的翻译环境交互式翻译句子,它也支持从文件中读取翻译内容,并将翻译结果存储进文件中去,下面笔者简要介绍一下工具的使用。
安装
你可以使用Python包管理工具来安装它: pip install bdtrans
你也可以下载源码包,解压后运行安装文件: python setup.py insatll
Github开源地址:https://github.com/zsimline/bdtrans
使用方式
首先,你应该去百度翻译的官网上注册一个账户,并按照官网上的指导并申请一个百度翻译API的AppID与秘钥。
当你首次尝试导入bdtrans包,或者在命令行工具下使用它时,它将会指引你输AppID、秘钥、默认的翻译规则等信息,并在输入完成后在你的用户目录下生成一个名为.bdtrans的配置文件,之后你就可以直接使用它而无需再次输入AppID等相关信息了。
需要注意的是,百度翻译限制调用API的频率为1s/次,所以请不要在1s内调用多次API
模块函数
trans(words, source_lang=None, target_lang=None, reverse=False)
作用:翻译用户给定的句子,输出翻译结果
参数 | 含义 |
---|---|
words | 你想要翻译的句子 |
source_lang | 源语言代码(非必须) |
target_lang | 目标语言代码(非必须) |
reverse | 是否反转源语言与目标语言 |
>>> import bdtrans >>> bdtrans.trans('Hello, boy!','en','zh') >>> 你好,男孩!
io_trans(input_file, output_file=None, quiet=False)
作用:从文件中读取翻译内容,如果指定了输出文件,翻译结果将被存储到输出文件中
参数 | 含义 |
---|---|
input_file | 输入的文件名 |
output_file | 输出的文件名 |
quiet | 是否关闭控制台输出 |
set_lang(source_lang, target_lang)
作用:设置源语言代码与目标语言代码
参数 | 含义 |
---|---|
source_lang | 源语言代码 |
target_lang | 目标语言代码 |
save(file_name)
作用:保存翻译结果到文件中
参数 | 含义 |
---|---|
file_name | 保存的文件名 |
reverse_lang()
作用:反转源语言与目标语言
list_langs()
作用:打印目前支持的语言列表
display_rules
作用:显示当前的语言翻译规则
change_appid()
作用:按照向导改变配置文件中的AppID
change_lang()
作用:按照向导改变配置文件中的默认翻译规则
initialize_app()
作用:按照向导初始化APP
命令行工具
可以直接在命令行下使用它,最重要的是你可以使用 “bdtrans -S” 进入交互式的翻译环境。
bdtrans [选项] 待翻译文本
选项
选项 | 含义 |
---|---|
-h, –help | 显示帮助消息 |
-v, –version | 显示程序版本 |
-l, –list | 打印语言列表 |
-S, –shell | 启动交互式翻译环境 |
-s code, –source code | 指定源语言 |
-t code, –target code | 指定目标语言 |
-i filename, –input filename | 指定输入文件 |
-o filename, –output filename | 指定输出文件 |
–init | 按照向导初始化APP |
–changeinfo | 改变配置文件中的AppID |
–changelang | 改变配置文件中的翻译规则 |
交互环境下的选项
选项 | 含义 |
---|---|
/reve | 反转源语言与目标语言 |
/rule | 显示当前的翻译规则 |
/list | 打印支持的语言列表 |
/help | 显示帮助信息 |
/quit | 退出交互环境 |
/save filename | 保存翻译结果 |
/setlang source_lang target_lang | 设置源语言与目标语言 |
user@host:$ bdtrans 德玛西亚万岁 user@host:$ Long live Demasia user@host:$ bdtrans -t ara 德玛西亚万岁 user@host:$ فيفا دي مارسيا user@host:$ bdtrans -s zh 德玛西亚万岁 user@host:$ 不可以只指定源语言!
在交互环境下可以使用 =code 来临时的指定目标语言,此时源语言将自动的被指定为auto, 例如 ” =zh hello world ”
>=th 你在地球嗑瓜子 คุณใช้เมล็ดแตงโมบนโลก >=jp 我在月球吃西瓜 月でスイカを食べます
支持的语言列表
语言代码 | 语言 |
---|---|
zh | 中文 |
en | 英语 |
yue | 粤语 |
wyw | 文言文 |
jp | 日语 |
kor | 韩语 |
fra | 法语 |
spa | 西班牙语 |
th | 泰语 |
ara | 阿拉伯语 |
ru | 俄语 |
pt | 葡萄牙语 |
de | 德语 |
it | 意大利语 |
el | 希腊语 |
nl | 荷兰语 |
pl | 波兰语 |
bul | 保加利亚语 |
est | 爱沙尼亚语 |
dan | 丹麦语 |
fin | 芬兰语 |
cs | 捷克语 |
rom | 罗马尼亚语 |
slo | 斯洛文尼亚语 |
swe | 瑞典语 |
hu | 匈牙利语 |
cht | 繁体中文 |
vie | 越南语 |
auto | 自动检测 |
转载于:https://www.cnblogs.com/nkqlhqc/p/11462302.html
bdtrans 一个命令行下的机器翻译工具相关推荐
- Ubuntu: 一个命令行下的翻译工具
A translate tool in your command line, inspired by Fanyi. Installation // sudo apt-get install ruby ...
- linux 命令行 翻译工具,Ubuntu: 一个命令行下的翻译工具
A translate tool in your command line, inspired by Fanyi. Installation // sudo apt-get install ruby ...
- ffmpeg linux 命令,Linux命令行下转换媒体格式工具FFMPEG介绍
Linux命令行下转换媒体格式工具FFMPEG介绍 格式:ffmpeg [[输入文件选项]- i 输入文件名] {[输入文件选项] 输出文件名} 主要选项: -L 显示ffmpeg的版权说明 -h 显 ...
- linux 命令行 翻译工具,linux 命令行下的翻译工具
linux 命令行下的翻译工具 Luo Weifeng 2011-7-16 第一种:著名的StarDict的命令行版sdcv 安装主程序: #apt-get install sdcv 安装词库: 21 ...
- python用法查询软件_GitHub - ahahahahawd/youdao: 基于python 的命令行下查词工具,使用有道api...
youdao 简介 这是一个基于Python 在控制台下查单词的小工具. 这个小程序是受https://github.com/Flowerowl/ici 启发, 用requests 库和有道的API ...
- 命令行的全文搜索工具--ack
想必大家在命令行环境下工作时候,一定有想要查找当前目录下的源代码文件中的某些字符的需求,这时候如果使用传统方案,你可能需要输入一长串的命令,比如这样: 1. grep -R 'string' dir/ ...
- ubuntu命令行启动浏览器_Ubuntu 秘笈之命令行下管理浏览器书签
所有的现代浏览器都提供了一些形式的管理工具,虽然它们严格上来讲功能较少.如果你已经厌倦了这些内置在浏览器中的主流工具,你或许想要寻找一个替代品.这里介绍 Buku:一个命令行下的书签管理器.它不仅可以 ...
- Ubuntu 秘笈之命令行下管理浏览器书签
导读 浏览器书签虽然不常被提及,但是作为互联网浏览的一部分.没有好的书签功能,网站链接可能会丢失,下次再不能访问.这就是为什么一个好的书签管理器很重要. 所有的现代浏览器都提供了一些形式的管理工具,虽 ...
- 命令行下使用百度网盘(bypy)
简介 常常使用云端服务器,特别希望能有一个命令行下的网盘来使用,于是就发现了bypy,这个工具利用了百度网盘开放的api,将文件储存在百度网盘/apps/bypy/之下,从而实现使用百度网盘上传下载. ...
- 第三方模块——nodemon是一个命令行工具,用以辅助项目开发、nrm ( npm registry manager ):npm下载地址切换工具
什么是第三方模块 别人写好的.具有特定功能的.我们能直接使用的模块即第三方模块,由于第三方模块通常都是由多个文件组成并且被放置在一个文件夹中,所以又名包. 第三方模块 nodemon nodemon是 ...
最新文章
- 阿里云 centos 远程可视化桌面部署
- 北斗导航 | 卫星导航基础知识(坐标系)
- https网站引用http路径的js和css失效解决办法
- 给未来的自己一封信计算机,给未来的自己一封信
- ThinkPHP笔记——配置分组产生无法加载Index错误解决办法
- apache shiro_Apache Shiro第2部分–领域,数据库和PGP证书
- 【SpringCloud】服务降级 Hystrix DashBoard
- Panel控件的使用
- z2屏幕坏如何从计算机导出数据,闪回收-手机屏幕坏了如何导出数据?手机屏幕坏了怎么用电脑控制?...
- cgi加载java class_深入研究Java类加载机制
- Spark实用议题系列(02)--- DataFrame的各种join总结和实例
- 辐射避难所买了东西显示服务器异常,辐射避难所各种BUG怎么解决 所有BUG应对方法一览...
- python创建时间序列_python 时间序列
- pandas读取数据时,报错UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 0: invalid contin
- wbin about
- Bootstrap3 缩略图( thumbnail )
- JZOJ5686. 【GDOI2018Day1模拟4.24】狮鹫旅行
- Maya的auto save 自動保存
- 手机短信转发到另一个手机接收_吓人!手机收到“处理尸体”短信 警方调查揭开真相!...
- I-CUBE-LRWAN代码阅读笔记:软件组织架构