想法:有道词典+微信。将用户发送的内容翻译成英文
有道词典API:http://fanyi.youdao.com/openapi?path=data-mode
(还可以用百度词典API,个人觉得有道词典比百度,有道词典可以返回英文翻译,词性,语义,发音,而百度词典只能返回英文翻译
,到时候大家可以一个个的试试)
首先申请好有道词典的fromkey和key.
然后下载微信官方PHPdemo,完成验证的步骤。
public function translate($value)
{
$keyfrom="itranslate";//这里改成你申请的$keyfrom
$apikey="1893750533";//改成你的$apikey
$qurl='http://fanyi.youdao.com/fanyiapi.do?keyfrom='.$keyfrom.'&key='.$apikey.'&type=data&doctype=json&version=1.1&q='.$value;
$f=new SaeFetchurl();//调用SAE的抓取网页的函数,如果是普通服务器,就调用file_get_contents函数
$content=$f->fetch($qurl);
$sina=json_decode($content,true);//将json数据解码
$errorcode=$sina['errorCode'];
$phonetic=$sina['basic']['phonetic'];//发音
$explains=$sina['basic']['explains']['0'];
$translate=$sina['basic']['explains']['1'];
$interpret=$sina['basic']['explains']['2'];
$trans='';
if(isset($errorcode))
{
switch($errorcode)
{
case 0: $trans=$sina['translation']['0'];break;
case 20: $trans='要翻译的文本过长'; break;
case 30: $trans='无法进行有效的翻译';break;
case 40: $trans='不支持的语言类型'; break;
case 50: $trans='无效的key'; break;
default: $trans='未知错误';break;
}
}
return $trans."\n".$phonetic."\n".$explains."\n".$translate."\n".$interpret;
}
//根据有道翻译的文档,我们选择返回JSON的数据格式,返回的数据存入$content中,然后解码得到$sina,最后解析$sina中的数据就可以了
$contentStr=$this->translate($keyword);
调用这个函数,将返回的数据发送给用户
PS:我写的程序是基于SAE的。