一种基于资源标识符的多语言支持处理系统技术方案

技术编号:5068620 阅读:197 留言:0更新日期:2012-04-11 18:40
本实用新型专利技术涉及一种基于资源标识符的多语言支持处理系统,该系统包括配置语言资源文件模块、设置默认语言模块、定义过滤规则模块、加载语言资源模块、获取语言资源模块、更新语言资源模块,所述的配置语言资源文件模块、设置默认语言模块、定义过滤规则模块、加载语言资源模块、获取语言资源模块、更新语言资源模块依次连接。与现有技术相比,本实用新型专利技术具有以下优点:加载效率高,有效地节约了存储空间。(*该技术在2019年保护过期,可自由使用*)

【技术实现步骤摘要】

本技术涉及软件多语言支持处理系统,尤其涉及一种基于资源标识符的多语言支持处理系统
技术介绍
软件系统往往需要支持多种国别语言,以便适用于不同国家和地区用户的需求。 在开发软件系统时把语言相关的内容放进语言资源库中,在切换语言时更改该语言资源库 即可。但是由于软件系统本身和语言资源库之间的紧耦合,更改语言资源库后需要重启软 件系统,这样可能会造成业务中断。 为了很好的解决上述问题,可以设计一种多语言支持实现方法,对软件系统与国 别语言相关的字符进行统一维护管理,实现软件系统与语言资源库的松耦合,在更改语言 资源库时无需重启外部软件系统。经对现有技术的文献检索发现,詹东华在专利《一种多语 言基站系统及其实现方法》(申请号/专利号200610001721)中介绍了一种多语言基站系 统及其实现方法,在该方法中引入了多语言模块,该模块负责加载国别语言资源,基于输入 的国别语言无关的资源标识符和当前加载的国别语言资源可以获得该资源标识符对应的 字符。虽然该模块很好的解决了上述所有问题,但仍存在以下不足 (1)多语言模块加载语言资源时为全部加载。若外部软件系统只需使用其中部分 语言资源,会造成资源浪费; (2)外部软件系统的国别语言由多语言模块所加载的国别语言决定,即后台模块 加载何种国别语言,则外部软件系统为何种国别语言。 一方面,当需要切换国别语言时,多 语言模块需要重新加载语言资源。另一方面,因为多语言模块同时只能加载一种国别语言 资源,外部软件系统无法同时使用多种国别语言资源,例如无法实现在某个界面中显示英 文的同时在其他界面中显示中文。
技术实现思路
本技术的目的就是为了克服上述现有技术存在的缺陷,提供一种加载效率高、存储空间少的基于资源标识符的多语言支持处理系统。 本技术的目的可以通过以下技术方案来实现 —种基于资源标识符的多语言支持处理系统,其特征在于,该系统包括配置语言资源文件模块、设置默认语言模块、定义过滤规则模块、加载语言资源模块、获取语言资源模块、更新语言资源模块,所述的配置语言资源文件模块、设置默认语言模块、定义过滤规则模块、加载语言资源模块、获取语言资源模块、更新语言资源模块依次连接。 与现有技术相比,本技术具有以下优点 1、在加载语言资源时对语言资源文件中的内容进行过滤,只加载必要的语言资 源,既提高了加载效率,也有效地节约了存储空间; 2、本技术基于资源标识符,一方面软件系统中没有国别语言相关的内容,便于版本维护,另一方面可以对语言资源文件进行统一配置管理,凡资源标识符定义相同的 软件系统,均可以复用该资源文件; 3、通过实时监测语言资源文件是否发生变化,可以保证所加载的语言为最新版 本,且无需重启软件系统; 4、可以同时加载多种国别语言资源,这样在同一个应用系统中就可以同时显示多 个国别语言的字符。附图说明图1是本技术一种基于资源标识符的多语言支持处理系统的结构示意图。具体实施方式以下结合具体实施例对本技术做进一步说明。 实施例 如图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>日志"level 〈LANG language = " EN" > 〈RESOURCESTRING string = 〃 Test' 〈/LANG> 〈/ID> 〈ID value =〃 000002〃 > 〈LANG language = " CN" > 〈RESOURCESTRING string = 〈/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。实时监测语言本文档来自技高网...

【技术保护点】
一种基于资源标识符的多语言支持处理系统,其特征在于,该系统包括配置语言资源文件模块、设置默认语言模块、定义过滤规则模块、加载语言资源模块、获取语言资源模块、更新语言资源模块,所述的配置语言资源文件模块、设置默认语言模块、定义过滤规则模块、加载语言资源模块、获取语言资源模块、更新语言资源模块依次连接。

【技术特征摘要】

【专利技术属性】
技术研发人员:郝黎明
申请(专利权)人:卡斯柯信号有限公司
类型:实用新型
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1