使用百度翻译API做个简单的多国语言翻译程序

发现百度云中提供的API中有个百度翻译,看了下还算比较简单,刚好刚刚还写了篇json-glib解析json格式数据的文章,而百度翻译API返回的结果恰好就是json数据,于是动了试试看的念头,这样一个简单的使用百度翻译API编写的多国语言翻译程序就这样诞生了。

百度翻译API的使用方法是使用GET或者POST方式进行查询,至于基于哪种方法查询依个人爱好,我选择了GET方法,方法很简单,需要传递的参数只有以下四个

from 源语言,即要翻译的语言的语言代码,auto表示自动识别
to 目标语言,即要翻译成何种语言,auto同样也是自动识别(好高科技,这要怎么自动识别,好吧,其实就是当源语言为非中文时,目标语言自动设置为中文。当源语言为中文时,目标语言自动设置为英文。)
client_id 注册成为百度应用开发者后创建应用时会有一个API KEY,这个client_id就是这个API KEY
q 要翻译的内容(内容最好使用url进行编码)

好了,参数就是上面这四个参数,还算比较简单,我们使用GET方法在做翻译的时候只需要这样做就可以了
http://openapi.baidu.com/public/2.0/bmt/translate?client_id=YourApiKey&q=word&from=auto&to=auto

返回的数据格式是这样的

有unicode字符,别紧张,使用json解析后会自动解码的

发生错误时的返回数据是这样的

至于百度API提供的翻译语言的代码是哪些从下面我放的代码中就能看出来,下面就放上程序代码

编译
gcc -o batr batr.c mysock/mysock.c -lssl pkg-config --cflags --libs json-glib-1.0

./batr en “我可以吞下玻璃而不伤身体”
I can swallow a glass and do not hurt the body
./batr zh “I can swallow a glass and do not hurt the body”
我可以吞下一个玻璃和不伤害身体

翻过来再翻过去,这是我最乐意干的一件事情了

–阅读次数(122)

发表评论

电子邮件地址不会被公开。

*