一种多语种外挂语言包实现及系统的制作方法

文档序号:19128290发布日期:2019-11-13 02:21阅读:460来源:国知局
一种多语种外挂语言包实现及系统的制作方法

本申请涉及语言转换开发技术领域,尤其是涉及一种多语种外挂语言包实现方法及系统。



背景技术:

随着全球信息化技术和军贸事业蓬勃发展,亟需相关的软件面向国际市场,进行软件国际化和本地化相关技术的研究。在军贸项目验收及维护过程中,最终用户不断地对软件的翻译提出修改意见,导致了大量的技术协调和软件更改工作,使中方屡屡陷入被动状态。

基于这种情况,在军贸项目的软件中配备多语种外挂语言包,其基本思路为:首先得到呈现在用户界面上窗体(含消息框)和各个控件资源的标识和属性,然后根据语言选择的类型,将用户信息通过与资源标识的映射关系,分别赋予窗体(含消息框)和控件的属性值,从而实现软件多语种显示。现有语言包包括:a)普通的文本文件:将用户语言存放在文本文件中,不同的界面和语言通过行数和列数来区分,文件通过基础的的c语言函数就可以实现文件的语言包的读取;b)ini文件语言包:该格式是多个操作系统的系统配置文件所采用的存储格式,ini文件由节、键、值组成;c)数据库:不同的语言数据在数据库文件中是按照表和字段方式存储。在设计语言包时,可以将界面名和表名相对应,将每个表设计为自动编号(id),资源标识(resid)、英文用户信息(en)和其他语言用户信息(other)四个字段,语言包一般通过odbc数据源的方式读取;e)excel:数据在excel文件中是按照工作表和单元格的方式存储,其实质也是一种数据库,也可通过odbc数据源的方式来访问;f)xml:按照xml的标准,按照一定的格式进行编写,通过.netframework的dom接口进行访问。其中基于excel的语言包以实现表名<-->界面名和控件或消息框<-->字段名的一一对应;可利用数据库引擎检索多语言用户信息,效率较高;数据库环境提供的排版编辑等功能;可进行多语言对比编辑;语言包完成后,部分语言包无需安装专用环境,也能够使用,且编辑排版功能比数据库更加强大,更符合用户编辑文档的使用习惯等优势,成为优选的语言包。

但是现有基于excel的语言包通常具有以下缺点:(1)在不同语言版本操作系统下创建的语言包文件会出现兼容性问题;(2)词条无法完整显示;(3)当语言包内容过多时,容易造成显示界面切换的卡顿问题。



技术实现要素:

针对现有技术的上述不足,本申请提供一种多语种外挂语言包实现方法及系统,解决了现有技术中基于excel的语言包在兼容性、词条显示和界面切换卡顿等方面的现有问题。

为解决上述技术问题,本申请提供一种多语种外挂语言包实现方法,包括:

采用microsoftofficeexcel建立语言包文件,所述语言包文件包括缺省语言和用户语言;

将所述语言包文件转换为unicode文本,以unicode文本格式对所述语言包文件进行存储或传输操作;

在microsoftofficeexcel中使用同列相邻行的单元格折叠显示用户语言词条,通过折叠用户语言词条确保用户语言词条宽度不大于相应缺省语言词条;

在应用程序中以文本形式打开所述语言包文件并读取所述语言包文件的全部对应词条内容,将读取的词条内容进行赋值设置后存储至内存。

优选的,所述采用microsoftofficeexcel建立语言包文件,包括:

在microsoftofficeexcel单元格中编辑词条,且在每个词条编辑前键入一个空格。

优选的,所述将语言包文件转换为unicode文本存储所述unicode文本,包括:

选用使用语言包文件缺省语言的操作系统,在所述操作系统下将语言包文件转换为unicode文本;

将所述unicode文本的扩展名修改为microsoftofficeexcel文本格式csv。

优选的,所述在microsoftofficeexcel中使用同列相邻行的单元格折叠显示用户语言词条,通过折叠用户语言词条确保用户语言词条宽度不大于相应缺省语言词条,包括:

判断用户语言词条在单元格内的宽度是否大于相应缺省语言词条在单元格内的宽度:

是,则将用户语言词条向当前占用的单元格的同列下一相邻行单元格转移部分内容,调整用户语言词条在占用的所有单元格内的内容,确保在所占用单元格内的宽度相近;

否,则输出所述用户语言词条显示设置完成。

优选的,所述方法还包括:

利用microsoftofficeexcel直接打开保存的语言包文件,重新编辑待修改词条,并在修改完成后保存语音包文件。

本发明还提供一种多语种外挂语言包实现系统,包括:

文件建立单元,配置用于采用microsoftofficeexcel建立语言包文件,所述语言包文件包括缺省语言和用户语言;

文件转换单元,配置用于将所述语言包文件转换为unicode文本,以unicode文本格式对所述语言包文件进行存储或传输操作;

显示设置单元,配置用于在microsoftofficeexcel中使用同列相邻行的单元格折叠显示用户语言词条,通过折叠用户语言词条确保用户语言词条宽度不大于相应缺省语言词条;

文件读取单元,配置用于在应用程序中以文本形式打开所述语言包文件并读取所述语言包文件的全部对应词条内容,将读取的词条内容进行赋值设置后存储至内存。

优选的,所述文件创建单元包括:

词条编辑模块,配置用于在microsoftofficeexcel单元格中编辑词条,且在每个词条编辑前键入一个空格。

优选的,所述文件转换单元包括:

系统匹配模块,配置用于选用使用语言包文件缺省语言的操作系统,在所述操作系统下将语言包文件转换为unicode文本;

格式修改模块,配置用于将所述unicode文本的扩展名修改为microsoftofficeexcel文本格式csv。

优选的,所述显示设置单元包括:

宽度判断模块,配置用于判断用户语言词条在单元格内的宽度是否大于相应缺省语言词条在单元格内的宽度;

显示折叠模块,配置用于将用户语言词条向当前占用的单元格的同列下一相邻行单元格转移部分内容,调整用户语言词条在占用的所有单元格内的内容,确保在所占用单元格内的宽度相近;

完成提示模块,配置用于输出所述用户语言词条显示设置完成。

优选的,所述系统还包括:

词条修改单元,配置用于利用microsoftofficeexcel直接打开保存的语言包文件,重新编辑待修改词条,并在修改完成后保存语音包文件。

与现有技术相比,本申请具有如下有益效果:

本发明提供的多语种外挂语言包实现方法及系统,通过将建立的excel语言包转换为unicode文本,以unicode文本格式对所述语言包文件进行存储或传输操作,解决了excel语言包在不同语言版本操作系统下创建的语言包文件在其他系统中不兼容的问题,同时通过在microsoftofficeexcel中使用同列相邻行的单元格折叠显示用户语言词条,通过折叠用户语言词条确保用户语言词条宽度不大于相应缺省语言词条,使转换后的用户语言词条完整显示;此外,还通过在应用程序中以文本形式打开所述语言包文件并读取所述语言包文件的全部对应词条内容,将读取的词条内容进行赋值设置后存储至内存,首先将应用程序转换语言需要的资源存储至内存,实现显示界面语言的快速切换,确保了使用时语言包的高效率,不会因语言包内容过多,而造成界面切换的卡顿现象。本发明能够有效解决现有excel语言包存在的技术问题,具有兼容性强、语言显示完整、界面语言快速切换的优点。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种多语种外挂语言包实现方法的流程图;

图2为本申请实施例所提供的excel语言包建立效果图;

图3为本申请实施例所提供的excel语言包用户打开效果图;

图4为本申请实施例所提供的多语种外挂语言包实现系统的示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例所提供的多语种外挂语言包实现的流程图,该方法包括:

s101:采用microsoftofficeexcel建立语言包文件,所述语言包文件包括缺省语言和用户语言;

s102:将所述语言包文件转换为unicode文本,以unicode文本格式对所述语言包文件进行存储或传输操作;

s103:在microsoftofficeexcel中使用同列相邻行的单元格折叠显示用户语言词条,通过折叠用户语言词条确保用户语言词条宽度不大于相应缺省语言词条;

s104:在应用程序中以文本形式打开所述语言包文件并读取所述语言包文件的全部对应词条内容,将读取的词条内容进行赋值设置后存储至内存。

基于上述实施例,作为优选的实施例,步骤101采用microsoftofficeexcel建立语言包文件,所述语言包文件包括缺省语言和用户语言,包括:在microsoftofficeexcel单元格中编辑词条,且在每个词条编辑前键入一个空格。

基于上述实施例,作为优选的实施例,步骤102将语言包文件转换为unicode文本存储所述unicode文本,包括:选用使用语言包文件缺省语言的操作系统,在所述操作系统下将语言包文件转换为unicode文本;将所述unicode文本的扩展名修改为microsoftofficeexcel文本格式csv。

基于上述实施例,作为优选的实施例,步骤103在microsoftofficeexcel中使用同列相邻行的单元格折叠显示用户语言词条,通过折叠用户语言词条确保用户语言词条宽度不大于相应缺省语言词条,包括:

判断用户语言词条在单元格内的宽度是否大于相应缺省语言词条在单元格内的宽度:

是,则将用户语言词条向当前占用的单元格的同列下一相邻行单元格转移部分内容,调整用户语言词条在占用的所有单元格内的内容,确保在所占用单元格内的宽度相近;

否,则输出所述用户语言词条显示设置完成。

基于上述实施例,作为优选的实施例,所述方法还包括:

利用microsoftofficeexcel直接打开保存的语言包文件,重新编辑待修改词条,并在修改完成后保存语音包文件。

下面结合附图和实施例对本发明提供的多语种外挂语言包实现方法进行详细描述,本实施例中语言包的缺省语言采用英语(本发明语言包的缺省语言不限定于英语),具体的,所述多语种外挂语言包实现包括以下步骤:

s1、采用microsoftofficeexcel建立语言包文件,所述语言包文件包括缺省语言和用户语言。

采用microsoftofficeexcel建立语言包,在microsoftofficeexcel编译缺省语言词条和与缺省语言词条对应的用户语言词条(如俄语)。编译的excel语言包效果如图2所示,资源标识(id)、英文用户信息(en)和其他语言用户信息(other),资源标识为显示界面控件的资源标识,是由软件设计者在开发时设定的固定标识。

为了避免在执行步骤s2对语言包的格式转换操作时,语言包内容出现单元格首字符丢失情况,在编译词条阶段,在每个词条编辑前键入一个空格。

s2、将所述语言包文件转换为unicode文本,以unicode文本格式对所述语言包文件进行存储或传输操作。

为了避免文件转换时可能出现的乱码问题,转化unicode文本在英文操作系统(缺省语言系统)下进行。将excel语言包转化为unicode文本,以unicode文本格式对所述语言包文件进行存储或传输操作,这样就可以确保windows支持的语言集都可以正确存储,解决了文件不兼容的问题。

按上述方法转换后的文件,扩展名为txt,若用户直接使用,在一般电脑中会以记事本的形式打开,为了便于用户用microsoftofficeexcel打开,我们将语言包扩展名修改为microsoftofficeexcel文本格式csv。扩展名修改过程可以通过编写一个自动修改脚本实现也可以人工修改。

s3、在microsoftofficeexcel中使用同列相邻行的单元格折叠显示用户语言词条,通过折叠用户语言词条确保用户语言词条宽度不大于相应缺省语言词条。

假设某个用户语言词条在单元格内的宽度为15,该用户语言词条对应的缺省语言词条为6,则将该用户语言词条需要占用同列相邻行的三个单元格,三个单元格由上至下依次显示该词条的部分内容,此时该用户语言在每个占用单元格的宽度都为5,宽度小于6。这样就实现了对用户语言词条的折叠显示。

若用户语言词条在单元格内的宽度大不于相应缺省语言词条,则不对用户语言词条进行调整。

本实施例中对用户语言词条的折叠采用先计算后移动用户语言词条的策略,例如缺省语言词条宽度为5,用户语言词条为12,计算后需要占用三个单元格,三个单元格的分配策略可以是4、4、4,也可以是5、5、2,本实施例采用4、4、4分配策略,采集用户语言词条当前占用的单元格,选取与该单元格同列的下两行(三个单元格行数相邻)的单元格,将用户语言词条按照4、4、4分配策略分支三个单元格。

在其他实施方式中,也可以逐步移动逐步判断,即每次判断宽度大于缺省语言词条宽度后,为用户语言词条多分配一个同列相邻行的单元格,然后均分用户语言词条内容;之后再进行宽度判断,直至宽度不大于缺省语言词条宽度为止。

s4、在应用程序中以文本形式打开所述语言包文件并读取所述语言包文件的全部对应词条内容,将读取的词条内容进行赋值设置后存储至内存。

在应用程序设计时,根据配置文件中语种的标志,以文本的形式一次性打开并读取语言包对应列中的内容,并赋值于初始化类中设置的static变量。这样一来,后续的软件界面,直接从内存中索引出语言包内容。确保了软件使用时,语言包的高效率,不会因语言包内容过多,而造成界面切换的卡顿现象。本实施例采用通过odbc数据源的方式来访问语言包。

s5、利用microsoftofficeexcel直接打开保存的语言包文件,重新编辑待修改词条,并在修改完成后保存语音包文件。

用户在收到语言包文件后,在电脑中用microsoftofficeexcel可直接打开保存后的语言包文件,其呈现形式同图3。用户可直接编辑需要修改的词条,修改完成后保存语言包即可。这给了用户纠错权限,使用更灵活。

本实施例还提供一种与上述方法相对于的多语种外挂语言包实现系统,如图4所示,包括:

文件建立单元401,配置用于采用microsoftofficeexcel建立语言包文件,所述语言包文件包括缺省语言和用户语言;

文件转换单元402,配置用于将所述语言包文件转换为unicode文本,以unicode文本格式对所述语言包文件进行存储或传输操作;

显示设置单元403,配置用于在microsoftofficeexcel中使用同列相邻行的单元格折叠显示用户语言词条,通过折叠用户语言词条确保用户语言词条宽度不大于相应缺省语言词条;

文件读取单元404,配置用于在应用程序中以文本形式打开所述语言包文件并读取所述语言包文件的全部对应词条内容,将读取的词条内容进行赋值设置后存储至内存。

其中,文件创建单元包括:词条编辑模块,配置用于在microsoftofficeexcel单元格中编辑词条,且在每个词条编辑前键入一个空格。

文件转换单元包括:系统匹配模块,配置用于选用使用语言包文件缺省语言的操作系统,在所述操作系统下将语言包文件转换为unicode文本;格式修改模块,配置用于将所述unicode文本的扩展名修改为microsoftofficeexcel文本格式csv。

显示设置单元包括:宽度判断模块,配置用于判断用户语言词条在单元格内的宽度是否大于相应缺省语言词条在单元格内的宽度;显示折叠模块,配置用于将用户语言词条向当前占用的单元格的同列下一相邻行单元格转移部分内容,调整用户语言词条在占用的所有单元格内的内容,确保在所占用单元格内的宽度相近;完成提示模块,配置用于输出所述用户语言词条显示设置完成。

系统还包括:词条修改单元,配置用于利用microsoftofficeexcel直接打开保存的语言包文件,重新编辑待修改词条,并在修改完成后保存语音包文件。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1