溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

微信公眾平臺(tái)開發(fā)之如何實(shí)現(xiàn)谷歌翻譯

發(fā)布時(shí)間:2021-03-03 15:37:47 來(lái)源:億速云 閱讀:322 作者:小新 欄目:移動(dòng)開發(fā)

這篇文章主要介紹了微信公眾平臺(tái)開發(fā)之如何實(shí)現(xiàn)谷歌翻譯,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。



1)Google翻譯接口

Google提供翻譯的API接口,參見(jiàn)https://developers.google.com/translate/v2/getting_started

but

Google Translate API is a paid service.

so

想利用Google Translate API free charge 就要另外想辦法了

Google提供免費(fèi)的在線翻譯功能,因此,可以通過(guò)Web發(fā)送翻譯請(qǐng)求給Google,接收它的html返回,然后,通過(guò)分析html獲取翻譯后的文字.

function translate_web($text, $language="auto|en") { 
	if (empty($text)) return false; 
	
	$url = "http://google.cn/translate_t?ie=UTF-8&oe=UTF-8&langpair=".$language."&text=".urlencode($text);	
    	$html=file_get_contents($url);
	
	// parse html 
	// html souce: TTS_TEXT_SIZE_LIMIT=100;TRANSLATED_TEXT='世界,你好!';INPUT_TOOL_PATH='//www.google.com';
	$mode= ("/TRANSLATED_TEXT='(.*)';INPUT_TOOL_PATH/");
	if (preg_match($mode,$html,$out)){
		return $out[1];//ret;
	}
}

更有甚者,有人發(fā)現(xiàn)通過(guò)http://translate.google.com/translate_a/t?client=p與Google交互可以得到j(luò)son返回,這就相當(dāng)于API使用了

function translate_json($text, $language="auto|en") { 
	if (empty($text)) return false; 
	
	$url = "http://translate.google.cn/translate_a/t?client=p&ie=UTF-8&oe=UTF-8&langpair=".$language."&text=".urlencode($text);
	$json=file_get_contents($url);
	$data = json_decode($json);
	return $data->sentences[0]->trans;	
}


這里要注意的有兩個(gè)問(wèn)題

1)編碼問(wèn)題,例子中都采用utf-8,連php文件的屬性都是utf-8

2)google問(wèn)題,google在中國(guó)不保證一直能連上,雖然有多個(gè)鏈接 google.com/google.cn/google.com.hk

2)微信調(diào)用

有了接口,在微信中調(diào)用就簡(jiǎn)單了

接口文件 translate_func.php (save as utf-8)

<?php 
/*
	2 Google Translate interface

	1)	Google Translate WEB IF
		get translated text by parsing return html which code is GBK
		function translate_web()
	2)	Google Translate JSON IF
		get translated text which format=json(set client<>t)&default code=GBK
		function translate_json()

	 d_eng (sh209419@163.com)
	 2013-11-16 
 */ 

/*
	Google Translate WEB IF
	get translated text by parsing return html which code is GBK
 */ 

//header("Content-Type:text/html; charset=utf-8");  

function translate_web($text, $language="auto|en") { 
	if (empty($text)) return false; 
	
	$url = "http://google.cn/translate_t?ie=UTF-8&oe=UTF-8&langpair=".$language."&text=".urlencode($text);	
        $html=file_get_contents($url);
	
	// parse html 
	// html souce: TTS_TEXT_SIZE_LIMIT=100;TRANSLATED_TEXT='世界,你好!';INPUT_TOOL_PATH='//www.google.com';
	$mode= ("/TRANSLATED_TEXT='(.*)';INPUT_TOOL_PATH/");
	if (preg_match($mode,$html,$out)){
		return $out[1];//ret;
	}
} 

function translate_json($text, $language="auto|en") { 
	if (empty($text)) return false; 
	
	$url = "http://translate.google.cn/translate_a/t?client=p&ie=UTF-8&oe=UTF-8&langpair=".$language."&text=".urlencode($text);
	$json=file_get_contents($url);
	$data = json_decode($json);
	return $data->sentences[0]->trans;	
}

function  with_chinese($text){        
    return  preg_match('/[\x7f-\xff]/',$text);
}        

function translate($text) { 
	if (with_chinese($text)) {
		return translate_json($text,'zh-CN|en');
	} else {
		return translate_json($text,'en|zh-CN');
	}
}

?>

調(diào)用代碼片段

if  ($RX_TYPE=="text") {  
                    include("translate_func.php");  
                    $resultStr = $this->responseText($postObj,  translate(trim($postObj->Content)));  
                }

3)效果展示

微信公眾平臺(tái)開發(fā)之如何實(shí)現(xiàn)谷歌翻譯

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“微信公眾平臺(tái)開發(fā)之如何實(shí)現(xiàn)谷歌翻譯”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI