您的位置:首页 > 编程语言 > Java开发

Struts国际化学习笔记

2011-12-01 11:15 190 查看
国际化(internationalization,i18n)和本地化(localization,l10n)指让产品(出版物,软件,硬件等)能够适应非本地环境,特别是其他的语言和文化。程序在不修改内部代码的情况下,能根据不同语言及地区显示相应的界面。

国际化主要体现在:页面、action的信息、类型转换信息、校验信息。

Struts2的国际化分为:页面的国际化,Action的国际化、xml的国际化。

struts2的国际化三种级别:针对某个Action的action级别,针对package的package级别,针对webapp的webapp级别。优先级:类资源文件 > 包资源文件 > 全局资源文件。Action级优先级最大。

国际化资源文件:用不同国家的语言描述相同的信息,并放在各自对应的.properties属性文件中,程序根据运行时环境决定加载哪个文件。

国际化资源文件分为三种级别:

(1) 类资源文件:将资源文件放到与类同一目录下,只允许该类使用,命名为:类名_语言名_国家名.properties

(2) 包资源文件:将资源文件放在某个包下,只允许这个包使用,命名为:包名_语言名_国家名.properties

(3) 全局资源文件:将资源文件放在src目录(WEB-INF/classes路径)下,全局均可使用,命名为:baseName_语言名_国家名.properties,需要在struts.properties文件中加入以下内容:struts.custom.i18n.resources=资源文件的基本名或在struts.xml中加入: <constant name=“struts.custom.i18n.resources” value=“资源文件的基本名”/>

国际化主要通过以下类完成:

(1)java.util.Locale:对应一个特定的国家/区域、语言环境。

(2)java.util.ResourceBundle:用于加载一个资源包。

(3)I18nInterceptor:struts2所提供的国际化拦截器,负责处理Locale相关信息。

资源文件的命名可以有以下三种形式:

(1)baseName_language_country.properties

(2)baseName_language.properties

(3)baseName.properties

其中baseName是资源文件的基本名,用户可以自由定义。而language和country必须是Java所支持的语言和国家。如:创建中文和英语国际化,那么资源文件名称为:globalMessages _zh_CN.properties、globalMessages _en_US.properties。

本文出自: /article/3835352.html ,转载时请务必保留此出处
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: