首页> 中国专利> 一种软件的国际化资源扩展方法和装置

一种软件的国际化资源扩展方法和装置

摘要

提供了一种软件的国际化资源扩展方法和装置。所述软件的国际化资源扩展方法包括:将扩展目标语言类型添加到所述软件的国际化资源数据存储模块中;生成与扩展目标语言类型相应的导出文件,其中,导出文件包括与所述软件的国际化资源扩展有关的待翻译项;将与所述导出文件相应的导入文件导入所述国际化资源数据存储模块中,其中,所述导入文件包括与所述待翻译项相应的扩展目标语言类型的翻译项;确定所述国际化资源数据存储模块中的国际化资源数据与所述软件的所述国际化资源信息内存中的国际化资源数据是否一致;当不一致时,将所述国际化资源数据存储模块中的国际化资源数据加载到所述软件的所述国际化资源信息内存中。

著录项

说明书

技术领域

本公开总体涉及软件扩展技术领域,更具体地,涉及一种软件的国际化资源扩展方法和装置。

背景技术

随着软件系统行业发展多年,单一的中文和英文语言已经不能支持软件行业的需求,一套软件需要支持多种语言,软件系统的国际化需求也成了软件开发者必须要考虑的问题。传统的软件国际化方案常采用以下两种方式:1)在软件系统服务下配置多套国际化资源文件,每一种支持的语种对应一套资源文件;2)采用关系型数据库技术,抽象软件系统模型,每一个系统模型对应了一张数据库表,该表中包含了国际化资源信息,每一种支持的语种对应了一个模型表中的一个列属性。

使用国际化资源文件维护国际化资源信息的技术,每种语言维护一套资源文件,通过添加资源文件的方式实现多语言的扩展,该技术无法在软件系统运行时扩展多语言,需要在软件系统中预置多语言文件,添加多语言资源文件时,需要重新启动软件系统,加载多语言资源,扩展国际化资源时需要中止软件系统进行升级,会导致软件系统暂时的不可用。在编写资源文件时,需要根据键值对手动添加文件的多语言资源项,工作繁琐。

使用关系型数据库的数据库表属性维护国际化资源信息的技术,在数据库表中使用国际化资源列维护多语言的翻译,系统的扩展性差,每次添加国际化资源时,需要修改表结构,对应的软件系统需要同时升级与数据库一致的软件模型才可以支持,软件升级过程中,会导致软件系统暂时的不可用。

基于国际化资源文件和基于关系型数据库表属性维护国际化资源信息的方式,在扩展国际化资源信息时,需要进行软件升级,严重影响了软件系统的运行状态。

因此,需要一种不影响软件的运行状态的软件的国际化资源扩展方法。

发明内容

本公开的各方面将至少解决上述问题和/或缺点,并至少提供以下所述优点。因此,本发明的目的在于提供一种软件的国际化资源扩展方法和装置,所述方法能够在扩展软件的国际化资源时,不影响软件运行状态的问题,同时解决了在国际化资源翻译过程中,人工编写翻译文档效率低下,准确性差的问题。

本公开的一方面在于提供一种软件的国际化资源扩展方法,所述方法包括:响应于添加扩展目标语言类型的指令,将扩展目标语言类型添加到所述软件的国际化资源数据存储模块中;生成与扩展目标语言类型相应的导出文件,其中,导出文件包括与所述软件的国际化资源扩展有关的待翻译项;将与所述导出文件相应的导入文件导入所述国际化资源数据存储模块中,其中,所述导入文件包括与所述待翻译项相应的扩展目标语言类型的翻译项;确定所述国际化资源数据存储模块中的国际化资源数据与所述软件的所述国际化资源信息内存中的国际化资源数据是否一致;当所述国际化资源数据存储模块中的国际化资源数据与所述软件的所述国际化资源信息内存中的国际化资源数据不一致时,将所述国际化资源数据存储模块中的国际化资源数据加载到所述软件的所述国际化资源信息内存中。

可选地,所述方法还包括:响应于将与所述导出文件相应的导入文件导入所述国际化资源数据存储模块中,更新与所述软件相应的国际化资源版本号;其中,确定所述国际化资源数据存储模块中的数据与所述软件的所述国际化资源信息内存中的数据是否一致的步骤包括:检测与所述软件相应的国际化资源内存版本号与所述国际化资源版本号是否一致;当与所述软件相应的国际化资源内存版本号与所述国际化资源版本号不一致时,确定所述国际化资源数据存储模块中的国际化资源数据与所述软件的所述国际化资源信息内存中的国际化资源数据不一致。

可选地,检测与所述软件相应的国际化资源内存版本号与所述国际化资源版本号是否一致的步骤包括:通过守护线程检测所述国际化资源内存版本号与所述国际化资源版本号是否一致,其中,所述守护线程在所述软件启动时开始运行。

可选地,所述方法还包括:当所述国际化资源内存版本号与所述国际化资源版本号不一致时,将所述国际化资源内存版本号更新为与所述国际化资源版本号一致。

可选地,将所述国际化资源数据存储模块中的国际化资源数据加载到与所述软件相应的国际化资源信息内存中的步骤包括:将所述国际化资源数据存储模块中的国际化资源数据加载到一个与所述国际化资源信息内存的数据结构相同的副本内存中;将所述副本内存整体切换为所述国际化资源内存的主本内存。

可选地,导出文件为EXCEL格式。

可选地,所述导入文件是通过在所述导出文件中的与待翻译项相应的位置处填入与待翻译项相应的翻译项被生成的。

本公开的另一方面在于提供一种软件的国际化资源扩展装置,所述装置包括:添加模块,被配置为:响应于添加扩展目标语言类型的指令,将扩展目标语言类型添加到所述软件的国际化资源数据存储模块中;导出导入模块,被配置为:生成与扩展目标语言类型相应的导出文件,其中,导出文件包括与所述软件的国际化资源扩展有关的待翻译项,将与所述导出文件相应的导入文件导入所述国际化资源数据存储模块中,其中,所述导入文件包括与所述待翻译项相应的扩展目标语言类型的翻译项;确定模块,确定所述国际化资源数据存储模块中的国际化资源数据与所述软件的所述国际化资源信息内存中的国际化资源数据是否一致;加载模块,被配置为:当所述国际化资源数据存储模块中的国际化资源数据与所述软件的所述国际化资源信息内存中的国际化资源数据不一致时,将所述国际化资源数据存储模块中的国际化资源数据加载到所述软件的所述国际化资源信息内存中。

可选地,所述装置还包括:更新模块,被配置为:响应于导出导入模块将与所述导出文件相应的导入文件导入所述国际化资源数据存储模块中,更新与所述软件相应的国际化资源版本号,其中,确定模块被配置为:检测与所述软件相应的国际化资源内存版本号与所述国际化资源版本号是否一致,当与所述软件相应的国际化资源内存版本号与所述国际化资源版本号不一致时,确定所述国际化资源数据存储模块中的国际化资源数据与所述软件的所述国际化资源信息内存中的国际化资源数据不一致。

可选地,确定模块被配置为:通过守护线程检测所述国际化资源内存版本号与所述国际化资源版本号是否一致,其中,所述守护线程在所述软件启动时开始运行。

可选地,更新模块还被配置为:当所述国际化资源内存版本号与所述国际化资源版本号不一致时,将所述国际化资源内存版本号更新为与所述国际化资源版本号一致。

可选地,加载模块被配置为:将所述国际化资源数据存储模块中的国际化资源数据加载到一个与所述国际化资源信息内存的数据结构相同的副本内存中;将所述副本内存整体切换为所述国际化资源内存的主本内存。

可选地,导出文件为EXCEL格式。

可选地,所述导入文件是通过在所述导出文件中的与待翻译项相应的位置处填入与待翻译项相应的翻译项被生成的。

本公开的另一方面在于提供一种计算机可读存储介质,其中,其上存储有计算机程序,程序被执行时实现如上所述的软件的国际化资源扩展方法。

本公开的另一方面在于提供一种软件的国际化资源扩展装置,所述装置包括:存储器,存储有计算机程序;以及处理器,被配置为:当计算机程序被处理器执行时,实现如上所述的软件的国际化资源扩展方法。

附图说明

从以下结合附图进行的描述中,本公开的特定实施例的以上和其他方面、特征和优点将变得更加清楚,其中:

图1是示出根据本公开的实施例的软件的国际化资源扩展方法的流程图;

图2示出了根据本公开的实施例的确定所述国际化资源数据存储模块中的国际化资源数据与所述软件的所述国际化资源信息内存中的国际化资源数据是否一致的过程的示图;

图3示出了根据本公开的实施例的将国际化资源数据存储模块中的国际化资源数据加载到国际化资源信息内存中的过程的示例;

图4示出了根据本公开的实施例的软件的国际化资源扩展装置的框图。

具体实施方式

现将详细参照本发明的实施例,实施例的示例在附图中示出,其中,相同的标号始终指的是相同的元素。以下将通过参照附图来说明实施例,以便解释本发明。

图1是示出根据本公开的实施例的软件的国际化资源扩展方法的流程图。

参照图1,在步骤S101,响应于添加扩展目标语言类型的指令,将扩展目标语言类型添加到软件的国际化资源数据存储模块中。

作为示例,在软件系统运行期间,需要扩展某种语言(即扩展目标语言类型)的国际化资源时,可通过在软件的国际化资源数据存储模块(诸如,关系型数据库模块、NoSql数据库、Sqlite文件数据库、Mdb数据库等)中的国际化资源类型表中添加扩展语言类型(例如葡萄牙文:langcode:pt-br,langname:Português,langdescr:葡萄牙文)来将扩展语言类型添加到软件的国际化资源数据存储模块中,其中,国际化资源类型表用来定义系统需要支持的国际化多语言的类型的数据库表。作为示例,可在软件界面的相应位置输入扩展语言类型,响应于添加扩展语言类型的指令,可将扩展语言类型输入软件的国际化资源数据存储模块中。

在步骤S102,生成与扩展目标语言类型相应的导出文件,其中,导出文件包括与软件的国际化资源扩展有关的待翻译项。

作为示例,导出文件可以是根据国际化资源定义表和资源类型表导出的待翻译文件(包含,例如,翻译项主键、翻译项的中文信息、待翻译语言列),其中,资源定义表用来标识需要翻译的模型主键的数据库表,在国际化资源定义表中,预设了与软件系统模型对象对应的需要支持国际化的对象属性key信息(key组成为:schemaname(模式名)+tablename(模型表名)+keycol(模型表联合主键)),国际化资源定义表中的数据属于软件部署时的配置信息,在国际化资源运行时状态扩展动作时,不需要额外修改。。也就是说,导出文件中包括需要被翻译为扩展语言的待翻译内容。

作为示例,导出文件可以是EXCEL格式的文件。EXCEL文件可包含tablename(待翻译的属性表名),主键(待翻译的模型属性主键标识),descrcn(待翻译的属性中文信息),待翻译的国际化资源列(例如,与葡萄牙语相应的列)。国际化资源列是让专业翻译人员做翻译后将翻译后信息填充的列。主键是在一个模型表中,定义唯一模型的若干数据列的信息组合。

作为示例,可通过与软件相应的导出导入模块将导出文件导出。

作为示例,导出导入模块可以是可服务工具,例如,与软件相应的桌面应用。

在步骤,103,将与导出文件相应的导入文件导入国际化资源数据存储模块中,其中,导入文件包括与待翻译项相应的扩展目标语言类型的翻译项。

作为非限制性示例,可将导出文件交由第三方专业翻译人员/软件,把文件中的待翻译字段翻译成扩展语言类型的语言字段,即获得导入文件,导入文件可包含:表名、主键(待翻译的模型属性主键标识)、小语种的类型编码(比如俄文:es葡萄牙文:pt)、小语种对应的翻译结果。与导出文件相比,在导入文件中,表名和主键名不变,但是新增小语种类型列集合和小语种翻译结果列集合。也就是说,导入文件是通过在导出文件中的与待翻译项相应的位置处填入与待翻译项相应的翻译项被生成的。

作为示例,可通过与软件相应的导出导入模块(例如,可服务工具)将导入文件导入软件的国际化资源数据存储模块中。作为示例,可通过将导入文件导入国际化资源数据存储模块中的国际化资源语言表中来将导入文件导入软件的国际化资源数据存储模块中,其中,国际化资源语言表是用来保存国际化资源信息的数据库表,该数据库表包含固定的属性(资源标识主键、国际化语言类型、国际化语言翻译)。每一个国际化资源属性对应了国际化资源语言表中的一行数据,无需修改数据库表结构。

使用例如可服务工具,可以实现国际化资源的导入导出。替代了传统人工编写资源文件格式的方式和人工录入资源文件的方式,提高了扩展国际化资源信息的效率和准确性。

现有技术中采用数据列的配置表,数据列在扩展多语言资源时(比如添加一种语种的支持),需要修改表结构,添加指定列。改成数据行后,国际化资源语言表的整体表结构不会再改变,扩展新的语言支持时,只需要添加数据库表中的行数据即可。在将导入文件导入软件的国际化资源数据存储模块之后,国际化资源数据存储模块中的国际化资源数据增加了与扩展语言类型相应的国际化资源数据。

使用标准格式的国际化资源类型表、国际化资源定义表以及国际化资源语言表作为与国际化资源相应的存储模块,抽象了所有的国际化资源的特征,在扩展国家化资源的时候,无需对国际化资源存储模块结构进行修改,该技术为软件系统运行时无感知扩展国际化资源提供了基础。

在步骤S104,确定国际化资源数据存储模块中的国际化资源数据与软件的国际化资源信息内存中的国际化资源数据是否一致,其中,国际化资源信息内存是一个维护在软件系统内部,key-value数据格式的数据集合,包含了当前软件系统的国际化资源版本号以及国际化资源翻译信息,具有对外开发多语言API,可供软件系统各模块调用。由于国际化资源信息内存中的国际化资源数据是基于先前的国际化资源数据存储模块中的国际化资源数据加载的,因此,在导入文件被导入后,国际化资源数据存储模块中的国际化资源数据与国际化资源数据内存中的国际化资源数据将不一致。

图2示出了根据本公开的实施例的确定国际化资源数据存储模块中的国际化资源数据与软件的国际化资源信息内存中的国际化资源数据是否一致的过程的示图。

作为示例,可响应于将导入文件导入国际化资源数据存储模块中,更新与软件相应的国际化资源版本号。

参照图2,在步骤S201,检测与软件相应的国际化资源内存版本号与国际化资源版本号是否一致。本领域技术人员应当理解,国际化资源内存版本号是与国际化资源信息内存相应的版本号。

在步骤S202,当国际化资源内存版本号与国际化资源版本号不一致时,确定国际化资源数据存储模块中的国际化资源数据与国际化资源信息内存中的国际化资源数据不一致。

作为示例,可通过守护线程检测国际化资源内存版本号与国际化资源版本号是否一致,其中,守护线程在软件启动时开始运行。

可选择地,当国际化资源内存版本号与国际化资源版本号不一致时,将国际化资源内存版本号更新为与国际化资源版本号一致。

返回图1,在步骤105,当国际化资源数据存储模块中的国际化资源数据与国际化资源信息内存中的国际化资源数据不一致时,将国际化资源数据存储模块中的国际化资源数据加载到国际化资源信息内存中。

图3示出了根据本公开的实施例的将国际化资源数据存储模块中的国际化资源数据加载到国际化资源信息内存中的过程的示例。

参照图3,在步骤S301,将国际化资源数据存储模块中的国际化资源数据加载到一个与国际化资源信息内存的数据结构相同的副本内存中。

在步骤S302,将副本内存整体切换为国际化资源内存的主本内存。

作为示例,软件系统在启动时可启用一个用于周期检验对比资源内存版本号和国际化资源版本号的守护线程。当国际化资源版本号发生改变时,该守护线程会自动监测出版本号不一致,从而触发加载国际化资源语言表的数据到国际化资源信息内存中的动作,并将国际化资源版本号替换资源内存版本号。该加载动作使用copy and write形式,会先将国际化资源语言表中的数据加载到一个与国际化资源信息内存数据结构相同的key-value格式的内存集合中,作为国际化资源信息内存的副本内存。当副本内存加载完成后,会整体切换至国际化资源信息内存的主本内存中,由于切换动作只是一个指针引用的改变,不会对处于运行时状态的软件系统所感知,不会影响正在运行的软件系统。国际化资源信息内存20,以模型属性主键+国际化资源类型作为主键,包含了当前软件系统所有的已支持的国际化资源数据。使用守护线程提供的资源内存版本号监测和国际化资源文件的主副内存加载-切换技术,完成了国际化资源发生变化时的自动监测和加载,从而实现了软件系统运行时在用户无感知的情况下扩展国际化资源。

软件系统模型对象可以通过用户需要的语言类型拼接国际化资源主键,从国际化资源信息内存中获取多语言的翻译内容。以联合主键的方式标识多语言的模型键值,联合主键只是用来唯一标识多语言翻译项的类似于ID的键值,与行、列表结构无关。即使是资源文件,也需要有主键key值,对应了数据库中的联合主键。

本公开的实施例与传统的使用国际化资源配置文件、数据库软件模型表中配置多语言列以及人工编写国际化资源翻译文件的方式相比,减少了更多的人工参与维护、升级的步骤,更多的使用计算机软件本身的技术实现了扩展国际化资源流程的自动化。

例如,在新能源监控软件系统中,非常重视软件系统的可用性,每一次重启软件系统都会影响新能源场站的正常工作,严重的甚至会影响整个场站的生产经营,根据本公开的实施例的软件的国际化资源扩展方法实现了自动化监测和加载,解决了升级步骤中必须要重启软件系统的问题,可从整体上提高了新能源监控系统的稳定性和可用性。

以上参照图1至图3对根据本公开的实施例的软件的国际化资源扩展方法进行了描述,下面将参照图4对根据本公开的实施的软件的国际化扩展装置进行描述。

图4示出了根据本公开的实施例的软件的国际化资源扩展装置的框图。

参照图4,扩展装置400可包括添加模块401、导出导入模块402、确定模块403和加载模块404。添加模401被配置为:响应于添加扩展目标语言类型的指令,将扩展目标语言类型添加到软件的国际化资源数据存储模块中。导出导入模块402被配置为:生成与扩展目标语言类型相应的导出文件,其中,导出文件包括与软件的国际化资源扩展有关的待翻译项,将与导出文件相应的导入文件导入国际化资源数据存储模块中,其中,导入文件包括与待翻译项相应的扩展目标语言类型的翻译项。确定模块403确定国际化资源数据存储模块中的国际化资源数据与软件的国际化资源信息内存中的国际化资源数据是否一致。加载模块404被配置为:当国际化资源数据存储模块中的国际化资源数据与软件的国际化资源信息内存中的国际化资源数据不一致时,将国际化资源数据存储模块中的国际化资源数据加载到软件的国际化资源信息内存中。

作为示例,装置还包括:更新模块(未示出),被配置为:响应于导出导入模块将与导出文件相应的导入文件导入国际化资源数据存储模块中,更新与软件相应的国际化资源版本号。作为示例,确定模块403被配置为:检测与软件相应的国际化资源内存版本号与国际化资源版本号是否一致,当与软件相应的国际化资源内存版本号与国际化资源版本号不一致时,确定国际化资源数据存储模块中的国际化资源数据与软件的国际化资源信息内存中的国际化资源数据不一致。

作为示例,确定模块403被配置为:通过守护线程检测国际化资源内存版本号与国际化资源版本号是否一致,其中,守护线程在软件启动时开始运行。

作为示例,更新模块还被配置为:当国际化资源内存版本号与国际化资源版本号不一致时,将国际化资源内存版本号更新为与国际化资源版本号一致。

作为示例,加载模块404被配置为:将国际化资源数据存储模块中的国际化资源数据加载到一个与国际化资源信息内存的数据结构相同的副本内存中;将副本内存整体切换为国际化资源内存的主本内存。

作为示例,导出文件为EXCEL格式。

作为示例,导入文件是通过在导出文件中的与待翻译项相应的位置处填入与待翻译项相应的翻译项被生成的。

根据本公开的实施例的软件的国际化资源扩展装置可更多的人工参与维护、升级的步骤,更多的使用计算机软件本身的技术实现了扩展国际化资源流程的自动化。

本发明的示例性实施例提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被处理器执行时实现如上述示例性实施例的软件的国际化资源扩展方法。该计算机可读存储介质是可存储由计算机系统读出的数据的任意数据存储装置。计算机可读存储介质的示例包括:只读存储器、随机存取存储器、只读光盘、磁带、软盘、光数据存储装置和载波(诸如经有线或无线传输路径通过互联网的数据传输)。

根据本发明的示例性实施例的软件的国际化资源扩展装置可包括:处理器和存储器,其中,存储器存储有计算机程序,当计算机程序被处理器执行时,实现如上述示例性实施例的软件的国际化资源扩展方法。

虽然已表示和描述了本发明的一些示例性实施例,但本领域技术人员应该理解,在不脱离由权利要求及其等同物限定其范围的本发明的原理和精神的情况下,可以对这些实施例进行各种修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号