1) Google translation interface
2) WeChat call
3) Effect display
---------------- -------------------------------------------------- -----------------------
1) Google translation interface
Google provides a translation API interface, see https:/ /developers.google.com/translate/v2/getting_started
but
Google Translate API is a paid service.
so
Want to use Google Translate API free charge requires another way
Google provides a free online translation function. Therefore, you can send a translation request to Google through the Web, receive its HTML return, and then obtain the translated text by analyzing the 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; } }
What’s more, someone discovered that you can get a json return by http://translate.google.com/translate_a/t?client=pinteracting with Google, which is equivalent to API usage
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; }
Google Translate Interface Example: http://download.csdn.net/detail/d_eng/6563915
There are two issues to pay attention to here
1) Encoding problem, the examples all use utf-8, even the attributes of the PHP file are utf-8
2) Google problem, Google does not guarantee that it can always be connected in China, although there are multiple links google.com/google.cn/google.com.hk
2) WeChat call
With the interface, it is simple to call in WeChat
Interface file translate_func. php (save as utf-8)
t)&default code=GBK function translate_json() d_eng (sh109419@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'); } } ?>
Calling code snippet
if ($RX_TYPE=="text") { include("translate_func.php"); $resultStr = $this->responseText($postObj, translate(trim($postObj->Content))); }
3) Effect display
The above is the development of WeChat public platform --Contents translated by Google, please pay attention to the PHP Chinese website (www.php.cn) for more related content!