# bdtrans
**一个用于百度翻译的Python包**
*你不仅可以在Python脚本文件或解释器中使用它,也可以在终端下通过命令行工具使用它。*
### 安装
你可以使用Python包管理工具来安装它: **`pip install bdtrans`**
<br>
你也可以下载源码包,解压后运行安装文件: **`python setup.py insatll`**
### 使用方式
>  首先,你应该去百度翻译的[官网](http://api.fanyi.baidu.com/)上注册一个账户,并申请一个百度翻译API的AppID与秘钥。
><br>  当你首次尝试导入bdtrans包,或者在命令行工具下使用它时,它将会指引你输入AppID、秘钥、默认的翻译规则等信息,并在输入完成后在你的用户目录下生成一个名为.bdtrans的配置文件,之后你就可以直接使用它而无需再次输入AppID等相关信息了。
><br>  需要注意的是,百度翻译限制调用API的频率为1s/次,所以请不要在1s内调用多次API
<br>
### 模块函数
+ **trans(words, source_lang=None, target_lang=None, reverse=False)**
作用:翻译用户给定的句子,输出翻译结果
|参数|含义|
|:----|:----|
|words|你想要翻译的句子|
|source_lang|源语言代码(非必须)|
|target_lang|目标语言代码(非必须)|
|reverse|是否反转源语言与目标语言|
```python
>>> import bdtrans
>>> bdtrans.trans('Hello, boy!','en','zh')
>>> 你好,男孩!
```
<br>
+ **io_trans(input_file, output_file=None, quiet=False)**
作用:从文件中读取翻译内容,如果指定了输出文件,翻译结果将被存储到输出文件中
|参数|含义|
|:----|:----|
|input_file|输入的文件名|
|output_file|输出的文件名|
|quiet|是否关闭控制台输出|
<br>
+ **set_lang(source_lang, target_lang)**
作用:设置源语言代码与目标语言代码
|参数|含义|
|:----|:----|
|source_lang|源语言代码|
|target_lang|目标语言代码|
<br>
+ **save(file_name)**
作用:保存翻译结果到文件中
|参数|含义|
|:----|:----|
|file_name|保存的文件名|
<br>
+ **reverse_lang()**
作用:反转源语言与目标语言
<br>
+ **list_langs()**
作用:打印目前支持的语言列表
<br>
+ **display_rules**
作用:显示当前的语言翻译规则
<br>
+ **change_appid()**
作用:按照向导改变配置文件中的AppID
<br>
+ **change_lang()**
作用:按照向导改变配置文件中的默认翻译规则
<br>
+ **initialize_app()**
作用:按照向导初始化APP
<br>
### 命令行工具
>可以直接在命令行下使用它,最重要的是你可以使用 "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|设置源语言与目标语言|
```shell
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 "
```python
>=th 你在地球嗑瓜子
คุณใช้เมล็ดแตงโมบนโลก
>=jp 我在月球吃西瓜
月でスイカを食べます
```
<br>
### 支持的语言列表
|语言代码|语言|
|:----|:----|
|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|自动检测|