国际化 学习笔记

            通常习惯说成i18n也就是internationzation 首字母i中间18个字母最后字母n,合起来就是i18n.国际化就是web资源根据本地语言环境显示出不同的字符。

要编写国际化的web应用需要完成下面几步

1.编写属性资源文件,资源文件名为中文 XXX_zh_CN.properties,英文  XXX_en.properties

由于java内部采用的是unicode编码,所以对于中文字符我们需要用unicode来表示,应用jdk bin目录下的native2ascii工具 

具体命令为native2ascii -encode a.tmp a_zn_CN.properties转换为unicode编码的字符

 

2.在程序中,可以根据请求报头"Accept-Language"来判断请求客户的语言环境,构建当地的Locale对象,利用ResouceBundle(或者其扩展类propertyResourceBundle,ListResourceBundle)来读取对应的资源文件

代码如下:

String headInfo=requesy.getHeader("Accept-Language");

Locale locale=null;

ResourceBundle bundle=null;

if(headInfo.indexOf("zh_cn")!=-1)

{

     locale=new Locale("zh","CN");

     bundle=ResourceBundle.getBundle("XXX",locale);//xxx表示资源文件前缀名,如my_zh_CN.properties 那么xxx就是my

}

//如果多种语言可以继续判断

//再将bundle对象保存在session中

...

session.setAttribute("bundle",bundle);

3.在页面中使用

用bundle.getString("");调用

<%=bundle.getString("name")%>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值