微信公众平台开发(六) 翻译功能开发
上一篇文章介绍了微信公众平台天气预报功能的开发,实现了微信公众平台的第一个实际应用,在接下来的这一篇文章中,我们将对微信翻译功能进行简单开发,以供读者参考。
二、思路分析
和上一篇查询天气的思路差不多,首先要对用户发送过来的消息进行判断,判断消息里是否含有“翻译”关键字,如果含有,则提取待翻译内容,然后调用网络上开放的翻译API 进行相关翻译。
网络上有很多翻译API,大家可以根据自己的需求进行选择。这里我们选择应用比较广泛的,翻译功能还比较不错的有道翻译API 和百度翻译API,下面对这两种API的相关信息进行分析。
3.1 有道翻译API
3.1.1 API 地址:http://fanyi.youdao.com/openapi
注意:有道提供的API 接口,在下面的测试时,json 数据格式返回不正确,到网上查阅资料,可以正确翻译的地址为 http://fanyi.youdao.com/fanyiapi,这点注意。
3.1.2 申请key
按照要求填写相关信息,这些信息,下面会使用到,所以请认真如实填写。
申请完之后,会在下方生成API key 和keyfrom,使用API 时会用到。
3.1.3 API 使用范例
3.1.4 数据格式
a. xml 格式
http://fanyi.youdao.com/openapi.do?keyfrom=orchid&key=1008797533&type=data&doctype=&version=1.1&q=这里是有道翻译API
0
http://fanyi.youdao.com/openapi.do?keyfrom=orchid&key=1008797533&type=data&doctype=&version=1.1&q=翻译
3.2 百度翻译API
3.2.1 API 地址:http://openapi.baidu.com/public/2.0/bmt/translate
3.2.2 获取api key
开发者在百度连接平台上注册得到的授权API key,详细请参阅:http://developer.baidu.com/wiki/index.php?title=%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3%E9%A6%96%E9%A1%B5/%E7%BD%91%E7%AB%99%E6%8E%A5%E5%85%A5/%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97
3.2.3 API 使用范例
百度翻译API 响应的数据格式为UTF-8编码的PHP数组对应的标准JSON字符串。
trans_result 为一个数组,其中每一个{}就是一个段落,结构如下所示:
段落结果即为trans_result 数组中的一项:
段落结果说明:
经json_decode 后的形式:
翻译消息的格式是 “翻译+待翻译内容”,所以首先截取前两个字,判断是否为 “翻译” 关键字。
使用php函数 mb_substr() 截取,关于该函数的用法上一篇已经讲过,这里不再赘述。
从消息的开头开始截取,截取两个字符,然后加以判断是否为 “翻译” 关键字。
判断是否只输入“翻译”两字,这样输入,没有待翻译内容,则输入的消息也不正确。
接下来进行待翻译内容提取:
从消息的开头第3个字符开始截取,截取202个字符,截取出来的即为待翻译内容。
接着调用函数进行翻译。
= ->youdaoDic(
= ->baiduDic();
5.1 有道翻译API
数据接口:
http://fanyi.youdao.com/openapi.do?keyfrom===data==1.1=要翻译的文本
5.1.1 xml 格式
关键代码如下:
youdaoDic( = "orchid";
= "YourApiKey";
= 'http://fanyi.youdao.com/fanyiapi.do?keyfrom='..'&key='..'&type=data&doctype=xml&version=1.1&q='. = ( = -> = ->translation->( == 0 "无法进行有效的翻译"}
说明:
$xmlStyle = simplexml_load_file($url_youdao); // PHP 函数,将XML 文档载入对象中。
$errorCode = $xmlStyle->errorCode; // 获取错误码
上一篇: 如何实现在PHP中调用JAVA
下一篇: mysql设计,统计脚本执行的间隔时间。