快速业务通道

批处理文件国际化支持解决方案 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
储两种方式,根据需要选择对应的存储方式。对于存储内容,一般存储 Key=Value 格式的内容,Key 为某一指定语言元素键值,Value 为对应的语言元素内容。

对于文件存储方式,要考虑到何种方式易于处理多语言。在程序处理中,能直接获得的是语言习惯,根据语言习惯和 Key 值得到某种语言的语言元素的过程是存储方式重要考虑的内容。一般采用每种语言一个语言文件,文件名用对应的语言习惯相对应,例如存储的多语言文件 message_en-us.properties,message_zh-cn.properties 等等。这种存储方式便于在选定某一语言习惯后,直接映射到对应的信息存储文件。对于数据库存储形式较多,从执行效率等角度有很多衡量考虑的内容,这里不予详述。

对于多语言抽象层,是一个位于程序内核和多语言外壳层的抽象层,该层次的目标为分离程序内核层对多语言外壳层的直接依赖,使程序内核层对多语言抽象层的直接依赖,保持了程序内核层动态对多语言支持过程中的稳定性;对于多语言外壳层,多语言抽象层实现了对于多语言外壳层语言元素的获取,因此多语言抽象层对多语言外壳层存在直接依赖,根据面向接口编程的思想可以有效的分离这种直接依赖。抽象层首先可以获得系统和用户语言习惯,得到了系统和用户语言习惯,然后提供了根据键值和语言习惯获取语言元素的方法。不考虑系统的其他品质,而仅从实现角度,该方法首先根据语言习惯映射出对应的语言文件,然后根据键值实现对于多语言外壳层数据的读取。

程序内核层对多语言抽象层的依赖。一般的对于这个提取语言元素的过程,要选定一种语言进行处理,以保证在系统运行和调试过程中不会出现语言元素不存在的错误。程序内核的语言元素提取过程如下,首先查找程序内核中所有的多语言信息,然后将每个语言元素提取出来放入对应的语言文件中,并选定一个固定的键值,最后用指定的键值和抽象层的语言元素读取方法来替换。

例子:

多语言存储方式选择文件存储,存储文件格式为 message_en-us.properties. 抽象层实现类为 Message,实现语言读取为 getMessage(String key) 方法。

清单 1. 抽象层的语言信息提取器

public String getMessage(String key) {   //获取语言习惯   getLocale();   //根据语言习惯获取对应的文件   getMessgeFile();   //读取对应的语言内容,并返回   .....   //   return message; }

假定程序内核的程序包括如下语言程序段 UI 为用户界面,UI.print(String str) 在用户界面上输出对应的内容。

清单 2. 未进行多语言处理前程序片断

UI.print("系统检测开始"); ....... UI.print("系统检测图形界面是否正常"); ...... UI.print("系统检测完毕");

提取程序内核语言元素,使程序内核直接依赖于多语言抽象层。选定提供简体中文信息,把程序内核中语言元素提取到 message_zh-cn.properties 中。

清单 3. 保存内容到 message_zh-cn.properties 文件

System_detect_begin=系统检测开始 System_detect_GraphUI_normal=系统检测图形界面是否正常 System_detect_over=系统检测完毕

替换程序内核语言元素,使之直接依赖于多语言抽象层。

清单 4. 进行多语言处理后程序片断

UI.print(message. getMessage(System_detect_begin)); ....... UI.print(message. getMessage(System_detect_GraphUI_normal)); ...... UI.print(message. getMessage(System_detect_over));

到此,完成了从软件系统中的语言元素的提取,程序内核即可动态灵活的实现多语言支持。

批处理文件国际化支持解决方案(5)

时间:2011-02-06 IBM 蔡龙军

获取正确的语言元素设计

该步骤一般为扩展步骤,根据不同的存储方式和读取存储目的完成不同的多语言构建层的实现

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号