热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

微信公众平台开发--谷歌翻译
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)效果展示

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

推荐阅读
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 探讨了在HTML表单中使用元素代替进行表单提交的方法。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • Vue CLI 基础入门指南
    本文详细介绍了 Vue CLI 的基础使用方法,包括环境搭建、项目创建、常见配置及路由管理等内容,适合初学者快速掌握 Vue 开发环境。 ... [详细]
  • 本文探讨了如何在 Spring MVC 框架下,通过自定义注解和拦截器机制来实现细粒度的权限管理功能。 ... [详细]
  • 利用Node.js实现PSD文件的高效切图
    本文介绍了如何通过Node.js及其psd2json模块,快速实现PSD文件的自动化切图过程,以适应项目中频繁的界面更新需求。此方法不仅提高了工作效率,还简化了从设计稿到实际应用的转换流程。 ... [详细]
  • 本文探讨了使用lightopenid库实现网站登录,并在用户成功登录后,如何获取其姓名、电子邮件及出生日期等详细信息的方法。特别针对Google OpenID进行了说明。 ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • 在尝试加载支持推送通知的iOS应用程序的Ad Hoc构建时,遇到了‘no valid aps-environment entitlement found for application’的错误提示。本文将探讨此错误的原因及多种可能的解决方案。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
author-avatar
亿达口香糖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有