利用谷歌 Translate API制作自己的翻译脚本
PHP代码:
#!/usr/bin/php-q
<?php
/**
*PHPScriptForGoogleTranslate
*@author:YishanWang
*@version:1.0.0
*/
classGoogle_API_translator
{
public$url="http://translate.google.com/translate_t";
public$text="";
public$out="";
public$ip='';
functionsetText($text){
$this->text=$text;
}
functiontranslate($from='auto',$to='zh-CN'){
$this->out="";
$gphtml=$this->postPage($this->url,$this->text,$from,$to);
preg_match_all('/<span/s+title/="[^>]+>([^<]+)<//span>/i',$gphtml,$res);
$this->out=$res[1][0];
return$this->out;
}
/*
$from 需要翻译的语言
$to 翻译的语言
*/
functionpostPage($url,$text,$from='auto',$to='zh-CN'){
$html='';
if($url!=""&&$text!=""){
$ch=curl_init($url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
if(!empty($this->ip)&&is_string($this->ip)){
curl_setopt($ch,CURLOPT_INTERFACE,$this->ip);
}
curl_setopt($ch,CURLOPT_HEADER,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_TIMEOUT,15);
/*
*hl-界面语言,此处无用。
*langpair-srclangtodestlang
*ie-urlencode的编码方式?
*text-要翻译的文本
*/
$fields=array('hl=zh-CN','langpair='.$from.'|'.$to,'ie=UTF-8','text='.$text);
$fields=implode('&',$fields);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields);
$html=curl_exec($ch);
if(curl_errno($ch))$html="";
curl_close($ch);
}
return$html;
}
}
$from=!empty($_REQUEST['fromlan'])?$_REQUEST['fromlan']:'en';
$to=!empty($_REQUEST['tolan'])?$_REQUEST['tolan']:'zh-CN';
$keywords ="";
for($i=1;$i<$argc;$i++){
$keywords.=$argv[$i]."";
}
$article=!empty($_REQUEST['article'])?$_REQUEST['article']:$keywords;
$g=newGoogle_API_translator();
if(isset($_REQUEST['ip'])&&!empty($_REQUEST['ip']))
{
$g->ip=$_REQUEST['ip'];
}
$article=iconv('GBK','UTF-8',$article);
$article=str_replace('{enter}',"/r/n",$article);
$g->setText($article);
$g->translate($from,$to);
echo"-----------翻译结果--------------/n";
echoiconv('GBK','UTF-8',$g->out);
echo"/n";
?>
2、将以上内容保存名为“gtranslate”的文件中。
3、给gtranslate添加执行权限
chmoda+xgtranslate
4、创建软连接
ln-s/yourpath/gtranslate/usr/bin/gtranslate
5、输入测试词汇:
gtranslateHelloWorld
-----------翻译结果--------------
世界您好
>>>
6、做了个中英文互译的版本。
用gtranslateChina,英译汉
用gtranslate-r中国,汉译英
>>>