首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

Google翻译PHP接口

作者:  时间: 2011-05-28

 * 注意:如果翻译文本为UTF-8编码,则要删去mb_convert_encoding函数

 */

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);

/*

 *hl – 界面语言,此处无用。

*langpair – src lang to dest langT-Shirts

 *ie – urlencode的编码方式?

 *text – 要翻译的文本

*/

 $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 testPolo Shirts

 $g = new Google_API_translator();

 $g->setText(“我爱php100!”);

 $g->translate();

 echo $g->out;

?>