xml扩展包_实现基于XML的本地化包的两种模式:嵌入和扩展

xml扩展包

本地化包是全球化体系结构中的关键元素之一。 XML是本地化包的推荐源格式,因为它是跨平台的,Unicode编码的并且结构灵活。 本文介绍了两种使用XPath和XSLT实现基于XML的本地化包管理器的方法:嵌入和扩展。 通过embed ,本地化包管理器模块被嵌入到主程序中,而通过扩展 ,本地化包管理器模块在主程序之外工作。 两者都有各自的优势,可以根据不同的要求应用于实际开发。

注意:为了更好地理解本文,您应该熟悉XML,XSL,XPath和XSLT。 此外,如果您不熟悉与全球化相关的术语(例如语言环境,本地化包和本地化包管理器),请参考“ 相关主题 ”中的“全球化体系结构要务”以进行快速概述。

走向全球

在当今的全球电子商务环境中,企业需要为来自许多不同国家的客户和供应商提供支持。 如以前的国家语言支持模型所定义的,软件不再足以同时支持一种语言和地区。 在软件世界中,趋势是走向全球化,特别是对于电子商务系统。 本文提出了一种支持多种语言的重要全球化技术,即基于XML的本地化包实现。

什么是本地化包?

在常规编程模型中,非全球化的软件产品在可执行文件中包含各种与语言和文化有关的元素,例如国家语言翻译资源,用于格式化消息的与语言和文化有关的模板以及与文化有关的业务逻辑。 这些元素不是与程序代码隔离的。

本地化包是一种用于通过单个可执行文件支持多种语言和语言环境的软件的标准化方法。 与语言和文化相关的元素在源代码级别以及已编译和静态链接的模块级别与软件的核心逻辑分开。 与语言和文化无关的部分称为核心模块 ,而与语言和文化无关的部分称为本地化包 。 在要求软件同时支持多个语言环境的情况下,该软件需要依赖于语言环境的服务,这些服务可以基于用户明确指定或由应用程序隐式指定的语言环境ID进行切换。

这是本地化包的一个非常简单的示例:在Windows程序中,单个键(“ Msg1”)与单个字符串值(“ Hello”)关联,该字符串值根据特定语言版本(法语)的不同而不同(“ Bonjour”) 。

XML源格式

因为本地化包需要独立于平台的格式和多合一字符存储库,所以IBM的全球化组织建议使用XML作为本地化包的源格式。 XML是跨平台和Unicode编码的,因此能够保存多语言数据而不会丢失数据。 它还提供了一种灵活的树状结构,可满足对各种结构化语言环境数据的需求。 XML是W3C的推荐和Internet标准,因此可以满足大多数Web应用程序的要求。

XML本地化包示例

使用XML,您可以使用多个层次结构描述复杂的语言环境数据。 这是两个包含问候消息的基于XML的本地化包的简单示例。

图1.美国本地化包(en_US)
美国本地化包
图2.中国本地化包(zh_CN)
中国本地化包(zh_CN)

什么是本地化包管理器?

本地化包管理器是用于管理本地化包资源的定位,加载和访问的代码模块。 现有的平台服务为许多本地化包功能提供了基本支持。 图3描述了本地化包管理器的工作流程。

图3.本地化包管理器的工作流程
本地化包管理器工作流程

您可以使用多种方法来实现本地化包管理器,即使对于单个本地化包格式(例如XML)也是如此。 本地化包管理器使用XSLT或XPath的路径表达式来访问本地化包XML文件中的指定节点。 许多公共程序或API实现XSLT和XPath建议。 在本文中,我使用来自Apache XML Project的开源Xalan-Java包(请参阅参考资料 ),将XSLT和XPath完全实现为本地化包管理器的基本构建块。 Xalan-Java是功能强大且功能强大的XSLT处理器,用于将XML文档转换为HTML,文本或其他XML文档类型。 您可以从命令行,在applet或servlet中或在另一个程序中作为模块使用它。 在这里,我将其用作演示程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值