批处理文件国际化支持解决方案 - 编程入门网
。一般情况下,是直接对 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 内容
清单 7. 调用 getLocale.bat 获取当前的语言习惯
则 %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 信息项内容
构建语言元素抽象层,用以提高多语言支持基本架构,语言元素抽象层包括两大部分,抽象的语言元素键值和语言信息解析器。 创建多语言抽象层的语言信息解析器,get |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |