PHP版谷歌翻译可直接使用

项目中经常遇到翻译需求,相信很多程序员也写代码的时候也是一边coding,一边Google translate。前天分享了一个星期的英汉互译功能在soul上引起了很多小盆友的讨论。所以今天波波再分享一个PHP版的谷歌翻译,希望对需要自动翻译的朋友有所帮助。

php版谷歌翻译

代码片段:

  1. <?php
  2. function gtranslate($text,$to='en'){
  3.     $entext = urlencode($text);
  4.     $url = 'https://translate.google.cn/translate_a/single?client=gtx&dt=t&ie=UTF-8&oe=UTF-8&sl=auto&tl='.$to.'&q='.$entext;
  5.     set_time_limit(0);
  6.     $ch = curl_init();
  7.     curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
  8.     curl_setopt($ch, CURLOPT_HEADER, false);
  9.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  10.     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  11.     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  12.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  13.     curl_setopt($ch, CURLOPT_MAXREDIRS,20);
  14.     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 40);
  15.     curl_setopt($ch, CURLOPT_URL, $url);
  16.     $result = curl_exec($ch);
  17.     curl_close($ch);
  18.     $result = json_decode($result);
  19.     if(!emptyempty($result)){
  20.         foreach($result[0] as $k){
  21.             $v[] = $k[0];
  22.         }
  23.         return implode(" "$v);
  24.     }
  25. }
  26. $longtext = "今天天气很好";
  27. echo gtranslate($longtext);

附:PHP版星期英汉互译function

  1. /*
  2.  * Week英汉互译
  3.  * @param $keyword string 待翻译的星期
  4.  * @param $en2zh boole 默认英译汉
  5.  * @return string
  6.  */
  7. function week_trans($keyword,$en2zh=true){
  8.     $weeken = ['monday','tuesday','wednesday','thursday','friday','saturday','sunday'];
  9.     $weekzh = ['星期一','星期二','星期三','星期四','星期五','星期六','星期天'];
  10.     $data = "";
  11.     if($en2zh && in_array($keyword,$weeken)){
  12.         $data = $weekzh[array_search($keyword,$weeken)];
  13.     }
  14.     if(false == $en2zh && in_array($keyword,$weekzh)){
  15.         $data = $weeken[array_search($keyword,$weekzh)];
  16.     }
  17.     return $data;
  18. }

最近波波重写了PHP的array_push函数,稍后也更新在博客置顶文章《常用PHP业务逻辑》中,敬请期待。

你想把广告放到这里吗?

发表评论

您必须 登录 才能发表留言!