一种多语言自动搜索算法的系统及使用方法

文档序号:6368285阅读:181来源:国知局
专利名称:一种多语言自动搜索算法的系统及使用方法
技术领域
本发明涉及一种多语言自动搜索算法的系统及使用方法,所述算法是以C++类的形式加入到程序工程中。
背景技术
随着世界经济的飞速发展,产品国际化的步伐也越来越大,一款产品不光是要在本国使用,还要在世界上其它国家使用,所以一款产品要支持多种语言功能必不可少,这样就存在一个支持多种语言的功能模块要开发,如何让一款产品快速准确的支持多种语言是摆在程序员面前的一个问题,传统的做法是把要翻译的文本由程序员一句句写入文本文件,然后由程序代码一句句翻译到界面上,工作难度可以想像,经常出错并且不利于维护。

发明内容
为解决上述中存在的问题与缺陷,本发明提供了一种多语言自动搜索算法的系统及使用方法。所述技术方案如下一种多语言自动搜索算法的系统,包括所述系统包括语言文本存储模块、主控制模块、语言自动导出模块、语言加载到内存模块及页面语言自动翻译模块;所述语言文本存储模块,根据实际资源文本或资源ID的表现方式以自动的方式将控件资源的描述文本存储到语言文本文件中;语言自动导出模块,用以自动生成文本文件;语言加载到内存模块,用于选择语言文本到内存中,备页面语言自动翻译模块使用;页面语言自动翻译模块,用以搜索对话框上所有控件资源,以找到相应的翻译文本,并将所述翻译文本显示于界面。一种多语言自动搜索算法的使用方法,包括派生自定义对话框类,并从该自定义对话框类中派生工程对话框;在自定义对话框类初始化函数中加入按句柄方式搜索控件资源算法;开启语言文本自动导出功能,将文本导出到文本文件,并通过语言文本页面自动翻译模块对文本文件进行翻译;加载文本文件内容到内存,通过父类初始化函数对控件资源进行搜索每一控件对应的翻译文本,并将所述文本显示于界面。本发明提供的技术方案的有益效果是程序员可以不关心子类中每一个对话框的翻译代码了,这些翻译的工作都由父类的初始化函数利用搜索算法完成了 ;大大减少了程序员的工作量,减少出错率,提高程序员和测试员的工作效率。


图I是多语言自动搜索算法的系统结构示意图;图2是多语言自动搜索算法的使用方法流程图。
具体实施方式

因为大多数的翻译集中在给用户的界面上,所以在工程中自定义一个对话框类,该对话框继承于系统对话框,其它所有工程中的对话框都继承自这个自定义的对话框,在自定义的对话框初始化函数中对界面控件资源进行按句柄顺序搜索,如果是导出文本功能开启,就把每一个搜索到的控件资源的描述文本写入文本文件,直到把这个对话框上所有控件都搜索完毕,这样也就把这个对话框上的所有控件资源文本都写入到文本文件中了,这样翻译人员只要对着文本文件逐一翻译即可。如果是自动翻译功能开启,对于搜索到的每一个控件资源按照该资源的文本在文本文件中搜索,搜索到对应的文本,取出对应的翻译文本显示给该控件即可。这样程序员就可以不用关心具体的每一个对话框的翻译代码了,父类已经全部做好了。为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述参见图1,展示了多语言自动搜索算法的系统结构,所述系统包括语言文本存储模块、主控制模块、语言自动导出模块、语言加载到内存模块及页面语言自动翻译模块;所述语言文本存储模块,根据实际资源文本或资源ID的表现方式以自动的方式将控件资源的描述文本存储到语言文本文件中;语言自动导出模块,用以自动生成文本文件;语言加载到内存模块,用于选择语言文本到内存中,备页面语言自动翻译模块使用;页面语言自动翻译模块,用以搜索对话框上所有控件资源,以找到相应的翻译文本,并将所述翻译文本显示于界面。上述语言文本存储模块定义了文本文件存储的模块,在对话框资源ID为段名,以控件ID或控件文本做键名,以翻译的文本做键值,文本文件格式可以用INI格式或着其它格式。语言自动导出模块定义了在生成文本文件的时候可利用该模块自动生成,直接给翻译人员翻译,节省程序员时间。上述语言加载到内存模块定义了在程序运行时加载哪个语言文本到内存中备语言自动翻译模块使用,程序可能支持很多种语言,语言加载到内存模块控制程序运行时到底加载哪个语言文本以显示相应的页面语言自动翻译模块。上述页面语言自动翻译模块定义了在打开某一个对话框时对该对话框上所有控件资源进行搜索,在文本文件中找到对应的翻译文本显示到界面上。参见图2,是多语言自动搜索算法的使用方法流程,所述方法包括步骤201派生自定义对话框类,并从该自定义对话框类中派生工程对话框;步骤202在自定义对话框类初始化函数中加入按句柄方式搜索控件资源算法;
步骤203开启语言文本自动导出功能,将文本导出到文本文件,并通过语言文本页面自动翻译模块对文本文件进行翻译;步骤204加载文本文件内容到内存,通过父类初始化函数对控件资源进行搜索每一控件对应的翻译文本,并将所述文本显示于界面。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种多语言自动搜索算法的系统,其特征在于,所述系统包括语言文本存储模块、主控制模块、语言自动导出模块、语言加载到内存模块及页面语言自动翻译模块;所述 语言文本存储模块,根据实际资源文本或资源ID的表现方式以自动的方式将控件资源的描述文本存储到语言文本文件中; 语言自动导出模块,用以自动生成文本文件; 语言加载到内存模块,用于选择语言文本到内存中,备页面语言自动翻译模块使用; 页面语言自动翻译模块,用以搜索对话框上所有控件资源,以找到相应的翻译文本,并将所述翻译文本显示于界面。
2.根据权利要求I所述的语言自动搜索算法的系统,其特征在于,所述语言文本存储模块定义了文本文件的存储模式,在对话框以资源ID为段名、以控件ID或控件文本做键名、以翻译文本做键值;文本文件格式用INI格式。
3.一种多语言自动搜索算法的使用方法,其特征在于,所述方法包括 派生自定义对话框类,并从该自定义对话框类中派生工程对话框; 在自定义对话框类初始化函数中加入按句柄方式搜索控件资源算法; 开启语言文本自动导出功能,将文本导出到文本文件,并通过语言文本页面自动翻译模块对文本文件进行翻译; 加载文本文件内容到内存,通过父类初始化函数对控件资源进行搜索每一控件对应的翻译文本,并将所述文本显示于界面。
4.根据权利要求3所述的多语言自动搜索算法的使用方法,其特征在于,所述对话框以资源ID为段名、以控件ID或控件文本做键名、以翻译文本做键值;文本文件格式用INI格式。
全文摘要
本发明公开了一种多语言自动搜索算法的系统及使用方法,所述系统包括语言文本存储模块、主控制模块、语言自动导出模块、语言加载到内存模块及页面语言自动翻译模块,所述使用方法包括派生自定义对话框类,并从该自定义对话框类中派生工程对话框;在自定义对话框类初始化函数中加入按句柄方式搜索控件资源算法;开启语言文本自动导出功能,将文本导出到文本文件,并通过语言文本页面自动翻译模块对文本文件进行翻译;加载文本文件内容到内存,通过父类初始化函数对控件资源进行搜索每一控件对应的翻译文本,并将所述文本显示于界面。
文档编号G06F17/30GK102663118SQ20121011689
公开日2012年9月12日 申请日期2012年4月19日 优先权日2012年4月19日
发明者陈立仓 申请人:北京奥普维尔科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1