2010年6月7日星期一

google 翻译

       /* Google翻译PHP接口 
   3.      * 官成文 2009-03-28 
   4.      * http://blog.csdn.net/aprin/ 
   5.      * 注意:如果翻译文本为UTF-8编码,则要删去mb_convert_encoding函数 
   6.      */ 
    class Google_API_translator{  
        public $url = "http://translate.google.com/translate_t";  
        public $text = "";//翻译文本  
      public $out = ""; //翻译输出  
           
       function setText($text){  
            $this->text = $text;  
        }             
       function translate() {  
             $this->out = "";                  
           $gphtml = $this->postPage($this->url, $this->text);                 
           //提取翻译结果  
           $out = substr($gphtml, strpos($gphtml, "
"));  
             $out = substr($out, 29);  
          $out = substr($out, 0, strpos($out, "
"));                
               $this->out = $out;  
           return $this->out;  
        }  
          
          function postPage($url, $text) {  
            $html ='';  
               
             if($url != "" && $text != "") {  
                 $ch = curl_init($url);  
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
              curl_setopt($ch, CURLOPT_HEADER, 1);  
                curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  
                curl_setopt($ch, CURLOPT_TIMEOUT, 15);  
                
               /* 
  42.                  *hl - 界面语言,此处无用。 
  43.                  *langpair - src lang to dest lang 
  44.                  *ie - urlencode的编码方式? 
  45.                  *text - 要翻译的文本 
  46.                  */ 
                $fields = array('hl=zh-CN', 'langpair=zh-CN|en', 'ie=UTF-8','text='.urlencode(mb_convert_encoding($text, 'UTF-8', 'GB2312')));  
                curl_setopt($ch, CURLOPT_POST, 1);  
                 curl_setopt($ch, CURLOPT_POSTFIELDS, implode('&', $fields));                                                       
                 
                $html = curl_exec($ch);  
              if(curl_errno($ch)) $html = "";  
                curl_close ($ch);  
          }  
             return $html;  
        }  
   }  
     
    //just for test  
    $g = new Google_API_translator();  
   $g->setText("我爱Java!");  
     $g->translate();  
     echo $g->out;  
 ?> 

没有评论:

发表评论