利用谷歌 Translate API制作自己的翻譯腳本
PHP代碼:
#!/usr/bin/php -q
<?php
/**
* PHP Script For Google Translate
* @author:Yishan Wang
* @version:1.0.0
*/
class Google_API_translator
{
public $url = "http://translate.google.com/translate_t";
public $text = "";
public $out = "";
public $ip = '';
function setText($text){
$this->text = $text;
}
function translate($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 翻譯的語言
*/
function postPage($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 - src lang to dest lang
*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 = new Google_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 "-----------翻譯結(jié)果--------------/n";
echo iconv('GBK','UTF-8',$g->out);
echo "/n";
?>
2、將以上內(nèi)容保存名為“gtranslate”的文件中。
3、給gtranslate添加執(zhí)行權(quán)限
chmod a+x gtranslate
4、創(chuàng)建軟連接
ln -s /yourpath/gtranslate /usr/bin/gtranslate
5、輸入測(cè)試詞匯:
gtranslate Hello World
-----------翻譯結(jié)果--------------
世界您好
>>>
6、做了個(gè)中英文互譯的版本。
用 gtranslate China ,英譯漢
用 gtranslate -r 中國(guó) ,漢譯英
>>>
相關(guān)文章
PHP用Session實(shí)現(xiàn)用戶登陸功能
Session 是存儲(chǔ)在服務(wù)器端的會(huì)話,相對(duì)安全,并且不像 Cookie 那樣有存儲(chǔ)長(zhǎng)度限制。由于 Session 是以文本文件形式存儲(chǔ)在服務(wù)器端的,所以不怕遠(yuǎn)程用戶修改 Session 內(nèi)容。這篇文章主要介紹了PHP用Session實(shí)現(xiàn)用戶登陸功能,需要的朋友可以參考下2022-12-12PHP封裝curl的調(diào)用接口及常用函數(shù)詳解
今天小編就為大家分享一篇PHP封裝curl的調(diào)用接口及常用函數(shù)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05thinkPHP實(shí)現(xiàn)遞歸循環(huán)欄目并按照樹形結(jié)構(gòu)無限極輸出的方法
這篇文章主要介紹了thinkPHP實(shí)現(xiàn)遞歸循環(huán)欄目并按照樹形結(jié)構(gòu)無限極輸出的方法,涉及thinkPHP數(shù)據(jù)庫查詢,數(shù)組遍歷與字符串操作等技巧,需要的朋友可以參考下2016-05-05

微信公眾平臺(tái)網(wǎng)頁授權(quán)獲取用戶基本信息中授權(quán)回調(diào)域名設(shè)置的變動(dòng)

PHP設(shè)計(jì)模式之外觀模式(Facade)入門與應(yīng)用詳解

ThinkPHP實(shí)現(xiàn)將SESSION存入MYSQL的方法