即指即译翻译器设计与实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
即指即译翻译器设计与实现

即指即译翻译器设计与实现   【摘 要】随着社会的发展,全球一体化加速,掌握一门外语显得尤为重要,在学习外语过程中,电子词典的使用为用户提供了更高效的查询方式,基于以上的原因开发了这款即指即译翻译器。本系统是基于电脑桌面程序的翻译器,它主要功能是:屏幕取词、单词查询和词库管理。论文先对本课题涉及的关键技术进行逐个的解释与介绍,然后对整个系统做了功能与运行环境的需求说明,接着进行系统的设计部分,包括界面设计和数据库设计,最后对系统的实现做了更具体的阐述。本系统实现了用户从屏幕中随机截取字符串,构成单词在数据词库中进行查询并通过界面显示给用户,同时系统还提供词库管理功能,可对词库进行添加、修改、删除单词等操作。本文把理论与实践交替结合起来从技术介绍到系统实现的每一部分都认真完成,努力做到最好的论文描述与系统呈现。   【关键词】即指即译 屏幕取词 搜索   一、引言   随着信息化的到来,越来越多的人开始学习英语,为了方便用户随时学习英语,,提高学习效率,简化操作方式,需要一个即指即译的翻译器,以实现英文的即时汉化。因此,设计一个英语翻译器,方便用户学习英语,提高了学习的效率,改善用户学习体验[1]。   二、课题关键技术   屏幕取词,也叫做鼠标取词、鼠标抓词,顾名思义就是把屏幕上显示出来的字符取到(在某些情况下也能取到屏幕上看不到的字符)。屏幕取词广泛的应用在电子字典上,也可以用在其它方面[1]。   按照取词范围来分,一般可以分为点、线、面取词三种。   点取词,就是取屏幕上某一点处的字符。这个点可以用鼠标来确定,也可以给定一个坐标。   线取词,就是取屏幕上某一行的所有字符。   面取词,就是取一个区域范围中的所有字符。   目前有两种实现方式:   第一种:采用截获对部分gdi的api调用来实现,如textout,textouta等。   第二种:对每个设备上下文(dc)做一分copy,并跟踪所有修改上下文(dc)的操作。   三、需求分析   即指即译翻译器,作为一个工具类软件,其最主要的需求便是实现即指即译的功能。   通过对用户需求定位,可以得出本系统需要包含以下具体功能模块:单词查询模块、屏幕取词模块、词库管理模块。   各模块主要功能分析如下:   (一)单词查询模块:   单词查询模块是整个系统最重要的功能模块之一,主要实现英汉单词之间的互译,用户可以根据自己的需要查询单词的含义,从数据库中得到单词的基本信息[2]。   (二)屏幕取词模块:   屏幕取词模块是本系统同的精髓,一切的功能都是围绕其展开的,主要实现从屏幕上获取文字信息,匹配单词,将结果传递给查询模块。屏幕取词的性能要求主要为:稳定、准确、快速。   四、系统设计   (一)系统总体设计   整个系统为用户提供最简便的操作方式,以满足用户需求。具体操作流程为:用户打开软件,启动屏幕取词功能,用鼠标选择在屏幕上的字符,系统自动获取相关字符,并在词库中进行匹配查询,然后将查询结果展示给用户。   (二)系统详细设计   本系统分为三个子模块,屏幕取词模块主要功能是将从屏幕上获取的词汇信息传递给单词查询模块,单词查询模块的主要功能是负责将词汇进行匹配查询。   屏幕取词模块详细设计   屏幕取词模块为用户从计算机显示屏幕上扫面并获取字符串信息,并将字符串传递至查询模块,完成屏幕取词的活动。   屏幕取词具体流程为:   鼠标指向所需要查询单词的位置,系统开始从鼠标位置所在点,对字符串进行扫描,直到遇上第一个空格位置。再对系统所扫描过的矩形区域内的字符串长度进行计算,然后对比坐标,判定鼠标是否在此区域内,如果判定结果为Y,则存储字符串,并将鼠标信息发送给取词函数,取词活动结束;如果判定结果为N,则找到下一个空格所在位置,并计算出该空格与前一个空格之间的矩形区域内的字符串大小,然后再次对鼠标是否处在此区域内进行第二次判定,如果判定结果为Y,存储字符串,并将鼠标信息发送给取词函数,取词活动结束;判定结果为N,则返回GetCursorPos函数,对字符串重新进行扫面,直到成功进行取词活动为止。   (三)屏幕取词技术解决方案的设计   实现屏幕取词需要做两件事情:第一件事情是截获系统对ExtTextOutW 等API 函数的调用;第二件事情就是分析所截获函数的入口参数,得到所要取的词[3]。   截获系统对API 函数的调用有两种方法,通过直接改写API 在内存中的映像,嵌入汇编代码,使之被调用时跳转到指定的地址运行来截获;或者改写IAT(import address table输入地址表),重定向API函数的调用来实现对API 的截获。   这里主要采取第一种方法。   1.截获系统API原理分析设计   通过设计一个动态链接库,在DLL 的入出口函数(D

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档