CN101694617B - 一种基于资源标识符的多语言支持实现方法 - Google Patents
一种基于资源标识符的多语言支持实现方法 Download PDFInfo
- Publication number
- CN101694617B CN101694617B CN 200910194971 CN200910194971A CN101694617B CN 101694617 B CN101694617 B CN 101694617B CN 200910194971 CN200910194971 CN 200910194971 CN 200910194971 A CN200910194971 A CN 200910194971A CN 101694617 B CN101694617 B CN 101694617B
- Authority
- CN
- China
- Prior art keywords
- language
- resource
- country origin
- language resource
- resource identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
本发明涉及一种基于资源标识符的多语言支持实现方法,该方法包括以下步骤:1)配置语言资源文件;2)设置默认语言;3)定义过滤规则;4)根据过滤规则来加载所需的语言资源;5)获取语言资源;6)实时监测语言资源文件是否发生变化,若发生变化,通过读取语言资源文件并重新加载语言资源来更新语言资源。与现有技术相比,本发明具有以下优点:加载效率高,有效地节约了存储空间。
Description
技术领域
本发明涉及软件多语言支持实现方法,尤其涉及一种基于资源标识符的多语言支持实现方法。
背景技术
软件系统往往需要支持多种国别语言,以便适用于不同国家和地区用户的需求。在开发软件系统时把语言相关的内容放进语言资源库中,在切换语言时更改该语言资源库即可。但是由于软件系统本身和语言资源库之间的紧耦合,更改语言资源库后需要重启软件系统,这样可能会造成业务中断。
为了很好的解决上述问题,可以设计一种多语言支持实现方法,对软件系统与国别语言相关的字符进行统一维护管理,实现软件系统与语言资源库的松耦合,在更改语言资源库时无需重启外部软件系统。经对现有技术的文献检索发现,詹东华在专利《一种多语言基站系统及其实现方法》(申请号/专利号: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与语言资源数据库相互连接。
Claims (3)
1.一种基于资源标识符的多语言支持实现方法,其特征在于,该方法包括以下步骤:
1)配置语言资源文件;
2)设置默认语言;
3)定义过滤规则;
4)根据过滤规则来加载所需的语言资源;
5)获取语言资源;
6)实时监测语言资源文件是否发生变化,若发生变化,通过读取语言资源文件并重新加载语言资源来更新语言资源;
所述的步骤1)中的语言资源文件中含有系统所需的语言资源,其中每个语言资源拥有一个资源标识符,每个资源标识符对应多个属性,每个属性针对不同国别语言分别对应一个属性值,该属性值为国别语言相关的字符;
所述的步骤2),若没有提供国别时,通过资源标识符和属性名获得的字符为默认国别语言所对应的字符,若加载了多种国别语言,则可以在同一个应用系统中同时显示多个国别语言的字符。
2.根据权利要求1所述的基于资源标识符的多语言支持实现方法,其特征在于,该方法硬件包括PC、语言资源数据库,所述的PC与语言资源数据库相互连接。
3.根据权利要求1所述的基于资源标识符的多语言支持实现方法,其特征在于,所述的步骤4)中的获取语言资源的方式为通过资源标识符、国别、属性名获得相应的字符。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910194971 CN101694617B (zh) | 2009-09-01 | 2009-09-01 | 一种基于资源标识符的多语言支持实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910194971 CN101694617B (zh) | 2009-09-01 | 2009-09-01 | 一种基于资源标识符的多语言支持实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101694617A CN101694617A (zh) | 2010-04-14 |
CN101694617B true CN101694617B (zh) | 2013-06-05 |
Family
ID=42093590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910194971 Active CN101694617B (zh) | 2009-09-01 | 2009-09-01 | 一种基于资源标识符的多语言支持实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101694617B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916192B (zh) * | 2010-09-14 | 2014-04-16 | 深圳市华力特电气股份有限公司 | 用户界面的多语言切换方法和装置 |
CN103389854A (zh) * | 2012-05-11 | 2013-11-13 | 上海吉柴电子信息技术有限公司 | 基于Windows系统的多语言环境自动切换方法及系统 |
CN103914606B (zh) * | 2012-12-29 | 2017-08-08 | 北京谊安医疗系统股份有限公司 | 一种多语言报警信息的存储和读取的方法及系统 |
CN103164246B (zh) * | 2013-03-21 | 2017-03-08 | 小米科技有限责任公司 | 一种提供多语言支持的方法和装置 |
CN103714179A (zh) * | 2014-01-08 | 2014-04-09 | 浪潮(北京)电子信息产业有限公司 | 一种系统日志的多语言支持方法和系统 |
CN104657179A (zh) * | 2015-02-26 | 2015-05-27 | 惠州Tcl移动通信有限公司 | 移动终端自动加载语言包的方法、装置及移动终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1575452A (zh) * | 2000-10-24 | 2005-02-02 | 雷声公司 | 具有动态语言选择的多语言系统 |
CN1577263A (zh) * | 2003-06-26 | 2005-02-09 | 华为技术有限公司 | 支持多语言的用户界面实现方法及其装置 |
CN101393529A (zh) * | 2008-11-07 | 2009-03-25 | 用友软件股份有限公司 | 一种实现计算机软件多语言支持的方法 |
CN101441567A (zh) * | 2008-11-18 | 2009-05-27 | 宇龙计算机通信科技(深圳)有限公司 | 一种在移动终端中支持多语言用户界面的方法及系统 |
-
2009
- 2009-09-01 CN CN 200910194971 patent/CN101694617B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1575452A (zh) * | 2000-10-24 | 2005-02-02 | 雷声公司 | 具有动态语言选择的多语言系统 |
CN1577263A (zh) * | 2003-06-26 | 2005-02-09 | 华为技术有限公司 | 支持多语言的用户界面实现方法及其装置 |
CN101393529A (zh) * | 2008-11-07 | 2009-03-25 | 用友软件股份有限公司 | 一种实现计算机软件多语言支持的方法 |
CN101441567A (zh) * | 2008-11-18 | 2009-05-27 | 宇龙计算机通信科技(深圳)有限公司 | 一种在移动终端中支持多语言用户界面的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101694617A (zh) | 2010-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101694617B (zh) | 一种基于资源标识符的多语言支持实现方法 | |
CN102169500B (zh) | 一种业务流程动态展示方法及装置 | |
CN110543328B (zh) | 基于Ambari的跨平台组件管理方法、系统、终端及存储介质 | |
CN103425468B (zh) | 插件式软件集成方法及装置 | |
CN112052242A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN101566954A (zh) | 一种管理插件的方法及管理插件的装置 | |
CN101022476A (zh) | 故障详细告警系统、方法及相关的服务器 | |
US20090259990A1 (en) | Mobile Device Software Management Method and Apparatus | |
CN108229799B (zh) | 一种多源异构电网运行实时数据接入系统及方法 | |
CN105302575A (zh) | 一种基础开发框架 | |
CN111142971A (zh) | 一种适应传统应用云化的云平台应用就绪检查方法 | |
CN101673199A (zh) | 终端参数配置服务器及其软件界面的自动生成方法 | |
CN102043719A (zh) | 一种对iec61850配置描述文件进行测试的方法 | |
CN103268226A (zh) | 一种测试脚本文件生成方法及装置 | |
CN111857777B (zh) | 基于双芯智能电表的系统更新方法、装置和计算机设备 | |
CN105630563A (zh) | 基于xml的继电保护装置规约的动态模型配置方法 | |
CN105554552A (zh) | 一种基于机顶盒的ui动态布局系统及方法 | |
CN109885332A (zh) | 画质芯片软件升级方法、装置、显示设备及存储介质 | |
US20210216381A1 (en) | Dynamic management method for menu, server and system | |
CN103049260A (zh) | 一种软件的用户界面在客户端的显示方法和系统 | |
CN101056210B (zh) | 一种网络集中管理平台上的事件处理系统和方法 | |
CN113792008A (zh) | 网络拓扑结构的获取方法、装置、电子设备及存储介质 | |
CN201489516U (zh) | 一种基于资源标识符的多语言支持处理系统 | |
CN101873228B (zh) | 一种网络设备的物料信息的管理系统及方法 | |
CN201489518U (zh) | 一种实时多国别语言支持系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |