php实现翻译的方法:1、创建一个PHP示例文件;2、通过有道翻译json格式来显示传值;3、利用PHP自带的函数,抓取URL返回的json数据;4、将json数据转换成对象类的形式即可。

本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑

php怎么实现翻译?

PHP实现翻译功能

今天我们聊聊用PHP实现翻译功能,当然PHP这门语言它肯定无法成为一个翻译家,我们需要借助专门做翻译这件事情的程序给我们开放的API接口来获取数据,最终交由PHP来解析数据,展示到我们需要的平台上。

大家应该都知道有道翻译,它算是国内做的比较好的翻译平台,今天我们就利用它开放的接口来学习,下面开始讲解代码。

     <?php
          function transLate($word){
               // keyfrom和apikey是有道开放平台提供的
               // 大家去这里注册即可获得:http://fanyi.youdao.com/openapi
       $keyfrom = "******";
       $apikey = "******";     
                 
       // 通过有道翻译json格式来显示传值
       $url_youdao = 'http://fanyi.youdao.com/fanyiapi.do?keyfrom='.$keyfrom.'&key='.$apikey.'&type=data&doctype=json&version=1.1&q='.$word;
               // 利用PHP自带的函数,抓取URL返回的json数据
       $json = file_get_contents($url_youdao);
      // 说明:假如是写成$obj = json_decode($json,true);
              // 则此时obj就是一个数组
              // 但是不加true,则是将json数据转换成对象类的形式,即返回的是对象。
      $obj = json_decode($json);
        
              // 得到返回码 
      $errorCode = $obj->errorCode;      
 if(isset($errorCode))
 {
switch ($errorCode) 
{
case 0:        // 说明返回的数据正常 
$trans = $obj->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;
}
        // 测试"英翻汉"或者"汉翻英"都可以
echo transLate('很高兴认识你');
echo transLate('Nice to meet you');
?>

其实利用PHP去解析开放API接口获取数据的案例还有很多,以后还慢慢给大家分享吧!


php怎么实现翻译