登录  /  注册

微信公众平台开发--谷歌翻译

黄舟
发布: 2016-12-30 10:28:44
原创
2980人浏览过

1)google翻译接口

2)微信调用

3)效果展示

----------------------------------------------------------------------------------------

1)google翻译接口

google提供翻译的api接口,参见https://developers.google.com/translate/v2/getting_started

but

google translate api is a paid service.

so

想利用google translate api free charge 就要另外想办法了

google提供免费的在线翻译功能,因此,可以通过web发送翻译请求给google,接收它的html返回,然后,通过分析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;
	}
}
登录后复制

更有甚者,有人发现通过http://translate.google.com/translate_a/t?client=p与Google交互可以得到json返回,这就相当于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;	
}
登录后复制

Google翻译接口示例: http://download.csdn.net/detail/d_eng/6563915

这里要注意的有两个问题

1)编码问题,例子中都采用utf-8,连php文件的属性都是utf-8

2)google问题,google在中国不保证一直能连上,虽然有多个链接 google.com/google.cn/google.com.hk

2)微信调用

有了接口,在微信中调用就简单了

接口文件 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');
	}
}

?>
登录后复制

调用代码片段

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

3)效果展示

693.jpg

 以上就是微信公众平台开发--谷歌翻译的内容,更多相关内容请关注PHP中文网(www.php.cn)!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号