读书人

[041] 微信大众帐号开发教程第17篇-应

发布时间: 2013-10-29 12:07:57 作者: rapoo

[041] 微信公众帐号开发教程第17篇-应用实例之智能翻译

内容概要

本篇文章为大家演示如何在微信公众帐号上实现“智能翻译”,本例中翻译功能是通过调用“百度翻译API”实现的。智能翻译是指用户任意输入想要翻译的内容(单词或句子),系统能自动识别用户采用的语言,并将其翻译为其他语言,目前支持的翻译方向:中->英、英->中和日->中。下面我们来看看智能翻译最终做出来的效果:

[041] 微信大众帐号开发教程第17篇-应用实例之智能翻译 [041] 微信大众帐号开发教程第17篇-应用实例之智能翻译

我们通过输入关键词“翻译”或者点击菜单“翻译”能够看到该功能的使用帮助,然后输入“翻译+内容”就能对内容进行翻译了。


百度翻译API介绍

点击查看百度翻译API使用说明,其实这份文档已经说的很详细了,笔者只是将我们调用该接口时最关心的内容摘取出来,主要如下:

1)通过发送HTTP GET请求调用百度翻译API。

2)百度翻译API请求地址:

  http://openapi.baidu.com/public/2.0/bmt/translate

3)调用API需要传递from、to、client_id和q四个参数,描述如下:

keyvalue描述from源语言语种:语言代码或auto仅支持特定的语言组合,下面会单独进行说明to目标语言语种:语言代码或auto仅支持特定的语言组合,下面会单独进行说明client_id开发者在百度连接平台上注册得到的授权API key请阅读如何获取api keyq待翻译内容该字段必须为UTF-8编码,并且以GET方式调用API时,需要进行urlencode编码。在调用接口前,我们要先获取到api key。获取方式比较简单,根据提示一步步操作就可以,笔者就不再赘述了。
4)对于智能翻译,参数from和to的传都是auto。
4)参数q的编码方式为UTF-8,传递之前要进行urlencode编码。

5)接口返回结果示例如下:

{"from":"en","to":"zh","trans_result":[{"src":"today","dst":"\u4eca\u5929"}]}
返回结果里的中文是unicode编码,需要通过json_decode进行转换,转换后的示例如下:

{    "from": "en",    "to": "zh",    "trans_result": [        {            "src": "today",            "dst": "今天"        },        {            "src": "tomorrow",            "dst": "明天"        }    ]}

JSON处理工具包Gson介绍

Gson是Google提供的用于在Java对象和JSON数据之间进行转换的Java类库。通过使用Gson类库,我们可以将JSON字符串转成Java对象,反之亦然。下载地址:https://code.google.com/p/google-gson/downloads/list,Gson的使用比较简单,直接调用它的方法toJson()或fromJson()就能完成相应的转换,但需要注意的是:在使用Gson将json字符串转换成Java对象之前,需要先创建好与目标Java对象。读者可以在维基百科上学习它的使用示例http://zh.wikipedia.org/wiki/Gson。


代码实现

1)创建与百度翻译API返回的JSON相对应的Java类

转帖请注明本文出自柳峰的博客(http://blog.csdn.net/lyq8479),请尊重他人的辛勤劳动成果,谢谢!

2楼chenyaqiang1小时前
沙发,顶了再看。终于又出新文章了。一直的支持
1楼u0126082991小时前
我是java实习生,公司这几周让我做微信公共平台,看了您的代码,对我帮助很大,谢谢您,柳老师

读书人网 >移动开发

热点推荐