Struts国际化

国际化和本地化

软件的全球化意味国际化和本地化。

国际化:(Internationalization:l18N):使 程序在做任何修改的情况下 就可以在不同 的 国家或地区和不同的语言环境下,按照当地的语言和格式习惯显示字符。

本地化(Localization:L10N):一个国际化的程序,当它运行在本地机器上时 。能够根据本地机器的语言和地区设置显示相应的 字符,这个过程叫本地化。

-----资料--------------------------------------------------------------------------

Java 程序的国际化思想是将程序中的提示信息、错误信息等放在资源文件,为不同的国家/语言编写对应的资料文件。资源文件由很多key-value 对组成,key保持不变,value 随国家/语言的不同而不同。这些资源文件属同一个资源系列,使用共同的基名(base name)。通过在基本后面添加ISO-639标准的语言代码,添加ISO-3166标准的国家和地区代码来进行区分。比如规定基名为ApplicationResources,可以定义:

ApplicationResources_en.properties:所有英文语言的资源

ApplicationResources_zh.properties:所有中文语言的资源

常用的ISO-639言语代码有zh(汉语) en(英语) fr(法语) de(德语)等;

 均有两个小写字母组成。

常用的ISO-3166标准的国家和地区码有CN(中国大陆),US(美国)GB(英国)TW(中国台湾)HK(中国香港)等,均由两个大写字母组成。

注意:语言代码位于国家和地区代码的前面,位置不能颠倒;国家和地区代码不能单独使用,而语言代码可以。

------------------------------------------------------------------------

针对一个例子:

---问题---------------------------------------

1.针对英国用户显示英文界面和英文验证信息

2.针对中国香港用户显示中国香港界面和英文验证信息

3.针对中国大陆用户显示中国大陆界面和英文验证信息


----分析-----------------------------------------------------------------------------------------

(1)在struts.xml中指定资源文件的基名及存储的路径

(2)按照需求创建对应的三个资源文件,用来存放相应的资源

(3)实现JSP页面信息的国际化显示(以注册页面为例)

(4)实现验证错误信息的国际化显示


--

1.在struts.xml中指定资源文件的基名及存储路径;

  



    
    
   通过“struts.custom.i18n.resources”属性基名:message;

   如果要进行国际化必须要指定“utf-8”

   
 


2.按照要求创建对应的三个资源文件 

根据设置的路径下存放:

Struts国际化_第1张图片

(3)实现JSP页面国际化显示

<%@ page language="java" import="java.util.*;" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>


	
		<s:text name="register.page" />
		
	
	
		


页面信息的国际化实现

页面的非表单内容 :页面的标题,各级标题

页面表 表单提示文本 ,文本框提示文字 key="key"

单内容                   label="%{getText('repassword')}"
表单按钮文字  提交,重置按钮文字     value ="%{getText('submit')}"

4.验证框架的配置文件,通过 标签 的 key 属性指定对的验证错误的信息。


 

   
		
			true
			
		
		
			10
			6
			
		
	
	
		
			
		
		
			6			
			
		
	
	
		
			
				
		
			user.password==repassword
			
		
		
			
		
			
				
		
			^(\d{3,4}-){0,1}(\d{7,8})$
			电话号码格式不正确
		
	
	
		
			true
			
		
		
			4
			2
			
		
	
  		

---资料-------------------------------------------------------------

资料文件中被保存的字符串资源,通过时7位的ASCII码字符。对于中文字符 ,需要转换成相应的Uicode编码,其格式为"\uXXXX"

资源文件的范围:


1.前面提到的是资源文件是全局资源文件。所有的Action类都可以访问.

2.包范围资源文件。命名方法:package_language_country.properties

处于该包及子包下的action,才可以访问该文件.


3.Action范围资源文件 命名格式:ActionName_languge_country.properties。

ActionName : cn.jbit.action.RegisterAction 可以在cn.jbit.tion 的Action访问。


4.在查找 源文件指定key的内容时,系统会首先查看当前包下的Action范围资源文件,如果没有找到,将沿着当前包往上逐级查找基名为package的资源文件。一直到最顶级包。如果还是没有找到,将从常量"struts.custom.il8n.resoures"指定全局资源文件中查找。




你可能感兴趣的:(Struts2,Ajax,struts2,文档,struts,存储,英国)