一种基于资源标识符的多语言支持实现方法

文档序号:6581872阅读:264来源:国知局
专利名称:一种基于资源标识符的多语言支持实现方法
技术领域
本发明涉及软件多语言支持实现方法,尤其涉及一种基于资源标识符的多语言支
持实现方法。
背景技术
软件系统往往需要支持多种国别语言,以便适用于不同国家和地区用户的需求。在开发软件系统时把语言相关的内容放进语言资源库中,在切换语言时更改该语言资源库即可。但是由于软件系统本身和语言资源库之间的紧耦合,更改语言资源库后需要重启软件系统,这样可能会造成业务中断。 为了很好的解决上述问题,可以设计一种多语言支持实现方法,对软件系统与国别语言相关的字符进行统一维护管理,实现软件系统与语言资源库的松耦合,在更改语言资源库时无需重启外部软件系统。经对现有技术的文献检索发现,詹东华在专利《一种多语言基站系统及其实现方法》(申请号/专利号200610001721)中介绍了一种多语言基站系统及其实现方法,在该方法中引入了多语言模块,该模块负责加载国别语言资源,基于输入的国别语言无关的资源标识符和当前加载的国别语言资源可以获得该资源标识符对应的字符。虽然该模块很好的解决了上述所有问题,但仍存在以下不足 (1)多语言模块加载语言资源时为全部加载。若外部软件系统只需使用其中部分语言资源,会造成资源浪费; (2)外部软件系统的国别语言由多语言模块所加载的国别语言决定,即后台模块加载何种国别语言,则外部软件系统为何种国别语言。 一方面,当需要切换国别语言时,多语言模块需要重新加载语言资源。另一方面,因为多语言模块同时只能加载一种国别语言资源,外部软件系统无法同时使用多种国别语言资源,例如无法实现在某个界面中显示英文的同时在其他界面中显示中文。

发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷,提供一种加载效率高、存
储空间少的基于资源标识符的多语言支持实现方法。 本发明的目的可以通过以下技术方案来实现 —种基于资源标识符的多语言支持实现方法,其特征在于,该方法包括以下步骤 1)配置语言资源文件;
2)设置默认语言;
3)定义过滤规则; 4)根据过滤规则来加载所需的语言资源;
5)获取语言资源; 6)实时监测语言资源文件是否发生变化,若发生变化,通过读取语言资源文件并重新加载语言资源来更新语言资源。 该方法硬件包括PC、语言资源数据库,所述的PC与语言资源数据库相互连接。
所述的步骤1)中的语言资源文件中含有系统所需的语言资源,其中每个语言资源拥有一个资源标识符,每个资源标识符对应多个属性,每个属性针对不同国别语言分别对应一个属性值,该属性值为国别语言相关的字符。 所述的步骤2),若没有提供国别时,通过资源标识符和属性名获得的字符为默认国别语言所对应的字符,若加载了多种国别语言,则可以在同一个应用系统中同时显示多个国别语言的字符。 所述的步骤4)中的获取语言资源的方式为通过资源标识符、国别(可选)、属性名获得相应的字符。 与现有技术相比,本发明具有以下优点 1、在加载语言资源时对语言资源文件中的内容进行过滤,只加载必要的语言资源,既提高了加载效率,也有效地节约了存储空间; 2、本发明基于资源标识符,一方面软件系统中没有国别语言相关的内容,便于版本维护,另一方面可以对语言资源文件进行统一配置管理,凡资源标识符定义相同的软件系统,均可以复用该资源文件; 3、通过实时监测语言资源文件是否发生变化,可以保证所加载的语言为最新版本,且无需重启软件系统; 4、可以同时加载多种国别语言资源,这样在同一个应用系统中就可以同时显示多个国别语言的字符。


图1是本发明一种基于资源标识符的多语言支持实现方法的流程图; 图2是本发明一种基于资源标识符的多语言支持实现方法的硬件结构示意图。
具体实施例方式
以下结合具体实施例对本发明做进一步说明。
实施例 如图1所示, 一种基于资源标识符的多语言支持实现方法,具体步骤如下
第1步,配置语言资源文件。语言资源文件为XML格式文件,其中含有软件系统所需的语言资源,每个语言资源拥有一个资源标识符,每个资源标识符对应多个属性,每个属性针对不同国别语言分别对应一个属性值,该属性值为国别语言相关的字符。语言资源文件的DTD格式如下 〈? xml version =〃 1.0〃 encoding = 〃 UTF-8" > 〈 ! ELEMENT MultiLanguage(ID+)> 〈 ! ATTLIST ID value CDATA#REQUIRED> 〈 ! ELEMENT ID(LANG+)> 〈 ! ELEMENT LANG(resourceString)> 〈 ! ATTLIST LANG language CDATA#REQUIRED>
〈 ! ELEMENT resourceString EMPTY>
其中MultiLanguage为XML格式的资源配置文件的根节点; ID为资源标识符节点,每个资源具有唯一的资源标识符,该节点中value属性的值为资源标识符; LANG为国别语言节点,该节点中属性language的值为国别语言;resourceString节点为LANG节点的子结点,该节点中定义了 LANG所确定的国别
语言对应的字符。 例如,某语言资源文件内容如下 〈? xml version =〃 1.0〃 encoding = 〃 GB2312" >
〈MULTILANGUAGE〉 〈ID value =〃 000001〃 > 〈LANG language = " CN" > 〈RESOURCESTRING string = 〃测试"/> 〈/LANG> 〈LANG language = " EN" > 〈RESOURCESTRING string =〃 Test" /> 〈/LANG> 〈/ID> 〈ID value =〃 000002〃 > 〈LANG language = " CN" > 〈RESOURCESTRING string = 〃日志"level =〃报警〃 /> 〈/LANG> 〈LANG language = " EN" > 〈RESOURCESTRING string = 〃 Log" level = 〃 Alert" /> 〈/LANG> 〈/ID> 〈/MULTILANGUAGE〉 在该资源文件中,定义了两个资源标识符为"000001"和"000002 ",分别有两种国别语言"CN"和"EN",资源标识符"000001"所对应的字符串有一个属性"string",属性"string"的"CN"国别语言字符为"测试","EN"国别语言字符为"Test"。资源标识符"000002"所对应的字符串有两个属性"string"和"level"。其"CN"国别语言字符为"日志"和"报警","EN"国别语言字符为"Log"和"Alert"。 第2步,设置默认语言。在没有提供国别时通过资源标识符和属性名获得的字符为默认国别语言所对应的字符。 第3步,定义过滤规则。过滤过则决定了加载语言资源时应从语言资源文件中应该加载哪些语言资源。假设过滤规则为只加载国别为"CN"的语言资源。
第4步,加载语言资源。基于(3)中的过滤过则,加载到内存中的语言资源仅包含了资源标识符"000001"和"000002"中的节点LANG属性"language"为"CN"的节点中的资源。 第5步,获取语言资源。通过资源标识符、国别(可选)、属性名获得对应国别语言的属性值,若不提供国别,则获取的为默认语言的所对应的值。假设当前默认语言为CN,通过资源标识符000001和属性名string获得的字符串为"测试"。此外,若同时加载了多种国别语言,则可以在同一个应用系统中同时显示多个国别语言。 第6步,更新语言资源。实时监测语言资源文件是否发生变化,若发生变化,则读取语言资源文件,并重新加载语言资源。 如图2所示,该方法硬件包括PC、语言资源数据库,所述的PC与语言资源数据库相互连接。
权利要求
一种基于资源标识符的多语言支持实现方法,其特征在于,该方法包括以下步骤1)配置语言资源文件;2)设置默认语言;3)定义过滤规则;4)根据过滤规则来加载所需的语言资源;5)获取语言资源;6)实时监测语言资源文件是否发生变化,若发生变化,通过读取语言资源文件并重新加载语言资源来更新语言资源。
2. 根据权利要求1所述的基于资源标识符的多语言支持实现方法,其特征在于,该方 法硬件包括PC、语言资源数据库,所述的PC与语言资源数据库相互连接。
3. 根据权利要求1所述的基于资源标识符的多语言支持实现方法,其特征在于,所述 的步骤1)中的语言资源文件中含有系统所需的语言资源,其中每个语言资源拥有一个资 源标识符,每个资源标识符对应多个属性,每个属性针对不同国别语言分别对应一个属性 值,该属性值为国别语言相关的字符。
4. 根据权利要求1所述的自适应日志文件高效输出方法,其特征在于,所述的步骤2), 若没有提供国别时,通过资源标识符和属性名获得的字符为默认国别语言所对应的字符, 若加载了多种国别语言,则可以在同一个应用系统中同时显示多个国别语言的字符。
5. 根据权利要求1所述的自适应日志文件高效输出方法,其特征在于,所述的步骤4) 中的获取语言资源的方式为通过资源标识符、国别(可选)、属性名获得相应的字符。
全文摘要
本发明涉及一种基于资源标识符的多语言支持实现方法,该方法包括以下步骤1)配置语言资源文件;2)设置默认语言;3)定义过滤规则;4)根据过滤规则来加载所需的语言资源;5)获取语言资源;6)实时监测语言资源文件是否发生变化,若发生变化,通过读取语言资源文件并重新加载语言资源来更新语言资源。与现有技术相比,本发明具有以下优点加载效率高,有效地节约了存储空间。
文档编号G06F9/445GK101694617SQ20091019497
公开日2010年4月14日 申请日期2009年9月1日 优先权日2009年9月1日
发明者郝黎明 申请人:卡斯柯信号有限公司;
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1