利用谷歌 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中国,汉译英
>>>