I18N

一, 查看当前操作系统中可用的语言

package com.i18n;

import java.util.Locale;

public class Test1 {

/**
* @param args
*/
public static void main(String[] args) {
Locale[] locales=Locale.getAvailableLocales();

for(Locale locale : locales){
System.out.println(locale.getDisplayCountry()+":"+locale.getCountry());
}
}

}

二, 国际化从文件中读取相关信息(服务器根据请求获得浏览器中的语言读取相关的国际化配置文件)
1. Test2.java

package com.i18n;

import java.util.Locale;
import java.util.ResourceBundle;

public class Test2 {

/**
* @param args
*/
public static void main(String[] args) {

Locale locale=Locale.US;或Locale locale=Locale.CHINESE;

ResourceBundle bundle=ResourceBundle.getBundle("hellofile", locale);

String value=bundle.getString("hello");

System.out.println(value);
}

}

2. 国际化配置文件放到src目录下
2.1 hellofile_en_US.properties

hello=hello world

2.2 hellofile_zh_CN.properties

hello=\u4F60\u597D

三, 国际化动态传值
1. Test3.java

package com.i18n;

import java.text.MessageFormat;
import java.util.Locale;
import java.util.ResourceBundle;

public class Test3 {

/**
* @param args
*/
public static void main(String[] args) {

Locale locale=Locale.CHINESE;

ResourceBundle bundle=ResourceBundle.getBundle("hellofile", locale);

String value=bundle.getString("hello");

String message=MessageFormat.format(value, new Object[]{"中国"});

System.out.println(message);
}

}

2. 国际化配置文件放到src目录下
2.1 hellofile_en_US.properties

hello=hello world {0}

2.2 hellofile_zh_CN.properties

hello=\u4F60\u597D : {0}

四, Struts2国际化
1. RegisterAction.java

public void validate() {
public void validate() {
if(null==username||username.length()<6||username.length()>10){
this.addActionError(this.getText("username.invalid",new String[]{username}));
}
}

2. 国际化的配置文件,放在Action同一个包下面
2.1 RegisterAction_en_US.properties

username.invalid=user\:{0} invalid

2.2 RegisterAction_zh_CN.properties

username.invalid=\u7528\u6237\uFF1A{0}\u65E0\u6548
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值