一国际化与本地化
1.国际化的含义:
就是让一个程序在不同语系的操作系统之间能够有不同的显示,所谓不同显示的含义就是:语言的不同,语法的不同,数字.日期.排序以及货币格式的不同.
2.本地化的含义
本地化相对于国际化来说,所涵盖的范围小得多,它指为单一一个操作系统提供符合的语言环境。比喻直接将英文软件转化为中文软件就是本地化的一种。国际化是泛指,本地化是单一指定。
二认识编码
1.UNICODE是微软所提出的多字节等长码,它可以使双字节既可以表示英文字母,也可以表示汉字。表示英文字母的等长码时,对其第一个字节进行补充动作。
java语言默认的编码就是UNICODE;通常被国际化组织认可,用双字节表示的中文中,针对Struts的国际化主要是UNICODE.
2.Struts中国际化的步骤:
UTF-8编码就是以UNICODE编码的储存方式来表示的,它是Struts国际化的好帮手,它已经包含了英文字母的显示。
(1).指定程序编码和编译时的字符编码为UTF-8
(2).指定请求到来时的字符编码为UTF-8
(3).在JSP的头部声明中也要出现UTF-8声明
(4).对任何外部资源配置文件的编写都使用UTF-8
三.Resource绑定
1.在Struts-config.xml中,配置资源文件需要做如下步骤
(1).从Struts-config.xml中找到"resource.application"
(2).为应该确定本地化环境后缀
(3).为本地化应用加上.properties扩展名
(4).在classpath目录下找到resource目录下的本地应用资源配置文件.
2.确定本地化后缀
JSP发送请求到达ActionServlet时.request都会用一个request.getLcale()的方法返回java.util.Locale对象.这个Locale对象保存的就是本地化区域环境.Locale对象由JDK提供专门用来实现国际化工作.
在Struts框架中,与Locale对象配合"确定本地化环境后缀",会读取Locale对象的内容,并将它的语言和国家信息"_"产生一组字符串,追加到原来的文件名后.
static public final Locale SIMPLFIED_CHINESE=new Locale("zh","CN");
struts框架读取对象该对象后,产生的本地化环境后缀就是"application_zh_CN".再加上.properties的扩展名,那么在简体中文环境中,struts框架真正应该要读取得的资源配置文件其实应该是:application_zh_CN.properties
3.Locale对象
要动态改变Locale对象,就必须先确定Locale对象的读取在框架中是怎样进行的,Locale对象被保存在什么地方.
Struts框架对于Locale对象的读取是通过Session来进行的程序开始进行时,Struts框架就已经将Locale对象的实例存放在Session中得到Locale对象,再得到合适的资源配置文件.
把本地化Local对象的实例存放在Session中.
(1).存放本地化Locale对象到Session中是由Struts框架自行完成的..
(2).Struts框架内容定义了GloBals类的静态全局变量,LOCALE_KEY,用来表示org,apache,struts.action.LOCALE;不应单独使用,而是存放Locale对象用Globals.LOCALE_KEY来代替
posted on 2007-09-24 15:49
冬天出走的猪 阅读(529)
评论(0) 编辑 收藏 所属分类:
struts