马亚鸿,陈武

(西安石油大学,陕西西安 710065)

当前国家将高科技作为国家发展的重点,使得我国的科学技术有了质的飞跃。智能手机、PDA、平板电脑已经得到了全面普及,人们利用这些移动设备进行聊天交流、观看视频、玩手机游戏、观看博客内容、在线学习等。移动设备不但给人带来了生活、工作、学习、娱乐上的方便,还有效拉近了人与人的距离,可以说在人们的社会生活过程中扮演了十分重要的角色。目前,智能手机系统中Android系统是智能手机利用最多的系统,在我国国内占有85%以上的市场份额,因此基于Android系统上开发英语翻译App软件十分重要。软件开发选择的是Java编程语言,数据库选择的是Android系统中内置的SQLite数据库,服务端的数据库使用的是MySQL数据库,数据传输格式应用的是JSON格式等技术。

1 Android系统的概述

Android是Google基于Linux2.6内核之上的自由和开放源代码的操作系统,由操作系统、中间件、用户界面、应用软件四部分构成,是第一个为移动终端构建的智能的、开放的、完整的移动应用软件,主要适用于便携设备,例如智能手机、PDA、平板电脑等设备。利用Java编程语言实现了Android的上层应用程序开发,其中每个Java编写的应用程序都有一个Dalvik虚拟机实例,而且Dalvik能够运行众多虚拟系统的设备,更好地适应智能设备特殊的运行环境。另外,Android的应用程序开发和Java开发区别是Google还提供了Android SDK程序,里面涵盖了各种新的API,软件开发人员可以设定操作系统以实现终端业务的控制。

2 系统设计

2.1 系统网络架构设计

系统运行结构是利用Android手机客户端(即英语翻译应用)向系统发出访问请求,并与服务端进行数据交互以后,把翻译的结果传送给用户的过程。为了增强用户的方便快捷的体验,同时满足大量数据的保存应用,整体架构模式上采用C/S网络总架构,由于是两层架构的方式,能够有效提高程序的响应速度。其次服务端部署在百度云上面,客户端访问HTTP接口,服务端执行有关操作,然后返回有关的请求数据,客户端与服务端利用JSON数据格式协议实现通信,如图1所示。

图1 系统网络结构拓扑图

2.2 英语翻译系统功能模块设计

英语翻译系统主要由十大功能模块组成,如图2所示。

图2 系统功能模块设计

1)发音模块。用户的Android手机在联网下语音库有query的真人发音,声音直接调用真人发音。如果没有真人发音或者没有联网,利用TTS向用户播报机器发音。

2)生词本模块。用户利用英语翻译软件下载生词本,也可以自行设计生词本,根据生词本中的query完成浏览,也可以自行操作安排实现显示和隐藏释义,还可以按照英文字母以及输入时间排序query。

3)在线句子翻译模块。主要是通过百度API来实现翻译句子的工作,同时该模块能够帮助用户进行单词的学习,为用户提供释义显示、复读、释义隐藏、自动发音和乱序等相关功能,能够协助用户进行自主的英语单词学习。

4)英语资讯模块。在互联网连接后,Web服务器会不定时地推送英语资讯给用户查阅,用户可以通过软件功能进行查询、收藏、删除等资讯内容。

5)词库管理模块。用户利用Android手机对词库进行在线查询,也可以下载下来保存在手机中进行阅读。

6)在线查询模块。在线查询模块提供了同根词、英英释义、原声例句、网络释义、同近义词、专业释义、双语例句等词典。互联网状况下用户通过手机中的查询模块界面输入query,该板块就会将翻译请求传送到Web服务器,很快Web服务器就会从数据库中调用翻译结果,然后反馈翻译结果给用户。

7)离线查询模块。用户在没有联网的情况下查询事先下载的离线词典,将应用的本地词库保存到SQLite数据库里面。

8)历史查询模块。用户可以在历史记录列表中自主查询,包括自己输入的query列表和有关的释义进行自主查询,达到迅速浏览的目的。

9)锁屏翻译模块。用户在手机屏幕锁定且亮的状况下输入query到锁屏界面进行查询,以获得自己想要的翻译资料,包括有关的英语资讯。

10)用户模块。该模块能为用户提供关于内容设定、词典设定、帮助和意见建议等功能。

2.3 数据库实体关联设计

数据库实体关联设计主要是用户和各实体的关系设计,包括用户信息和英语资讯、生词本、历史记录表和词库表这几个实体关联设计。其中用户信息主要包括用户名、手机号、网址ID和用户ID。那幺用户信息和各个实体之间的关系主要体现:一是词库表。词库表包括单词例句、单词音标、单词发音、单词拼写、单词释义和单词ID,不同用户可以利用词库表进行翻译查询。二是历史记录表,主要包括历史记录个数、查询时间、历史单词拼写、单词释义和历史单词ID,不同用户可以利用历史记录表进行有关信息的查看。三是生词本,主要包括生词释义、生词拼写、音标、生词发音、添加生词时间和生词ID,不同用户可以利用生词本进行生词的添加。四是英语资讯,主要包括资讯添加时间、资讯标题、资讯图片、资讯标签和资讯地址,不同用户可以通过英语资讯进行相关内容和新闻的阅读资讯。

3 英语翻译系统实现

1)系统的开发工具与环境部署。系统开发的操作系统是Win 7处理器:Intel(R)Core(TM)i5 CPU@2.40GHZ,内存:6.00 GB,系统进行开发环境是利用Eclipse工具的集成功能进行部署,并利用ADT+SDK对客户端界面开发,在客户端的界面处理时利用UI界面,系统的Activity页面布局通过Layout类完成,以此达到开发环境的部署。

2)用户注册。当用户进入英语翻译系统的个人中心界面会出现登录和注册信息,用户选择注册按钮进入注册界面,用户填写手机号获取验证码,第三方(聚合数据)提供的API功能就会向用户发送验证码,用户填写验证码后进入下一页面,完善昵称、密码等信息后注册成功。注册成功后会跳到个人中心界面,里面可以选择修改个人信息的选项,修改后点击按钮并提交到服务器,从而修改成功。

3)用户的登录。点击登录按钮后系统应用getJSONVolley函数,利用Volley框架将JSON对象发送到服务端,JSON对象中包含用户名和密码。服务端收到JSON对象中的用户名和密码数据,在MySQL数据库里面查询是否有该用户存在,如果信息正确无误返回登录成功信息,如果用户不用该系统了可以选择退出登录按钮,再次回到显示出登录与注册两个按钮的界面。

4)信息的展示和切换界面。进入信息页面时服务器会根据请求信息列表并以JSON的数据模式返回,客户端把JSON对象解析成信息对象列表,借助ListtView控件在Fragment上进行显示,用户点击有关的选项按钮,界面的Fragment会变成目标Fragment给用户。用户也可以选择切换习题练习,系统自动把选择好的科目ID变成当前选择的科目,进入习题练习界面后就可以练习巩固知识了。

5)发音模块的实现。发音模块的实现是用户的Android手机在联网下,语音库有query的真人发音,声音直接调用真人发音。如果没有真人发音或者没有联网,利用TTS向用户播报机器发音,也就是系统中自带的语音合成功能实现对语音的读取,具体流程如图3所示。

图3 发音模块的实现流程

6)翻译模块的实现。在该模块下选择下拉菜单中的英文或者汉语,然后输入有关的英文,手机屏幕中就可以显示相应的翻译结果,如图4所示。

图4 英语翻译界面

4 英语翻译系统测试

文章借助Android系统设计了一款用于英语翻译系统的软件,其实现过程主要利用了C/S模式、MVC框架、Eclipse等有关工具,满足了用户的基本需求。在线词典查询方面使用的是有道API,欠缺应用单词的自动补全功能,文章将基本释义建成数据库形式,能构成单词的自动补全功能,其次是离线查词能够从互联网中下载Mdict词典的mdx数据库,开源的readmdict.py,本文涵盖的写入数据库程序能够把词典数据传送到SQLite数据库里面。最后是单词本中能够对加入进去的单词进行复习等功能。系统中引入了搜索优化算法,实现了对系统的设计,提高了英语翻译系统的检索效率,为用户带来了更高的英语翻译服务体验,经过系统的测试,达到预期的要求。

5 结束语

文章利用Android系统设计的一款用于英语翻译系统的软件符合了预期的期望,但是该系统还存在翻译算法设计简单的问题。翻译算法是提高翻译正确率的一个重要算法,具有很高的复杂性,因此翻译算法的复杂性问题将是以后将要攻克的主要问题。