快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
。一般情况下,是直接对 2.4 中的 message.getMessage(String message) 方法的扩展,根据系统、用户语言习惯和键值获取对应语言文件的语言内容。在考虑到系统的灵活支持的前提下,通过 message 类可以采用桥模式的动态代理不同存储方式的读取,从而提供灵活存储方式读取的支持框架。

图 4. 基于桥模式的灵活多语言处理架构

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

针对系统运行状态下,为了保证程序内核不依赖于某一种 Message 的实现手段,采用单例工厂模式来完成,从而保证系统动态的对用户语言习惯和系统语言习惯的灵活支持。

图 5. 基于单例和工厂模式的灵活多语言处理架构

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

MessageFactory 的作用为根据系统选择创建一个 Message 对象,Message 对象负责具体的语言提取工作。

批处理支持多语言解决方案

基于第二章的通用多语言支持解决方案架构设计,本章提出了批处理多语言支持解决方案,该方案的目的是构建一个通用的轻量级多语言支持灵活解决方案。作为轻量级的应用,本文对 Batch 文件的多语言支持,采用文件存储的方式来完成,基本的实现过程按照获取本地语言,构建语言抽象层、提取语言因素和获取语言信息三个步骤来完成,完全采用脚本语言来实现,不依赖于其他第三方软件和 API 支持,以保持轻量级的易用,易移植等问题;作为通用的解决方案,本例构建的多语言支持可以快速被复用到其他批处理软件当中,进而降低多语言支持的工作量,提高多语言支持批处理软件的开发效率。

获取本地语言实现

当前用户语言习惯的读取通过跟用户直接交户来完成,这里不予赘述。对于系统语言习惯的读取,通过读取系统的参数来完成。

清单 5. getLocale.bat 内容

@echo off
for /f "skip=4 tokens=3" %%i in (''reg query "HKCU\Control Panel\International" /v
 "sLanguage"'') do (
    set reg_localevar=%%i
)
call Keys_v2.bat %reg_localevar%,nlvmapping.txt,%~1

清单 6. nlvmapping.txt 内容

DEU= de ENU= en-us ESN= es FRA= fr ITA= it JPN= ja KOR= ko PTB= pt-br CHS= zh-cn CHT= zh-tw

清单 7. 调用 getLocale.bat 获取当前的语言习惯

getLocale.bat varlocale

则 %temp_type% 和 varlocale 为当前系统的语言习惯,读取的语言习惯格式为标准的 en-us,zh-cn,zh-tw 等,并输出当前的语言习惯。

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

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

分离出程序中语言元素实现

建立信息文件的存储,考虑到轻量级批处理文件的多语言实现架构,采用基于文件的存储方式,有便于移植的特点。对于同一个语言采用一个语言文件进行存储。 message_en-us.properties,message_zh-cn.properties 等等。在程序处理过程中包括很多种类型的信息,为了减少信息的数量,提高信息的使用质量,一般根据信息的通用性和特殊性来分离。在程序处理过程中经常要使用的包括通用信息包括“是否”,“继续”,“退出”等等,有着较为普遍的通用性。在实际的信息抽取过程中,把通用性的要求用户行为的信息抽取出来可以有效提高信息复用性。键值的设定要比较具有代表性,例如“继续”可以设定为“ continue ”,“退出”为“ quit ”等等。

message_en-us.txt 信息文件存储的为英文信息

清单 8 message_en-us.txt 信息项内容

Success= Operation successfully! Failed= Operation failed, for more information please contact the administrator!” UserCheckFailed= user Check failed!

构建语言元素抽象层,用以提高多语言支持基本架构,语言元素抽象层包括两大部分,抽象的语言元素键值和语言信息解析器。

创建多语言抽象层的语言信息解析器,get

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号