java中文国际化_Java 国际化(一)

1.使用类实现 国际化

import java.util.Locale;

import java.util.ResourceBundle;

public class Secondi18n {

/**

* @param args

*/

public static void main(String[] args) {

Locale locale=null;

if(args.length==2){

locale=new Locale(args[0],args[1]);

}

else{

locale=Locale.getDefault();

}

//资源类 的命名 用Resources开头

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

System.out.println(bundle.getString("userName"));

System.out.println(bundle.getString("userPassword"));

System.out.println(bundle.getString("userAge"));

}

}

注意命名

import java.util.ListResourceBundle;

public class Resources_en_US extends ListResourceBundle {

static final Object[][] contents=new String[][]{

{"userName","Name"},

{"userPassword","Password"},

{"userAge","age"}};

@Override

protected Object[][] getContents() {

// TODO Auto-generated method stub

return contents;

}

}

import java.util.ListResourceBundle;

public class Resources_zh_CN extends ListResourceBundle {

static final Object[][] contents=new String[][]{

{"userName","姓名"},

{"userPassword","密码"},

{"userAge","年龄"}};

@Override

protected Object[][] getContents() {

// TODO Auto-generated method stub

return contents;

}

}

2.使用资源文件 带占位符

import java.text.MessageFormat;

import java.util.Date;

import java.util.Locale;

import java.util.ResourceBundle;

public class MessageFormatThree {

/**

* @param args

*/

public static void main(String[] args) {

Locale locale=null;

if(args.length==2){

locale=new Locale(args[0],args[1]);

}

else{

locale=Locale.getDefault();

}

//资源属性文件 用 MessageFormat 开头

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

String userName=bundle.getString("userName2");

System.out.println(MessageFormat.format(userName, "xue",new Date()));

}

}

注意命名

MessageFormat_en_US.properties

userName=Name

userPassword=Password

userName2={0},Today is {1}

MessageFormat_zh_CN.properties

userName=姓名

userPassword=密码

userName2={0},今天{1}

3.Loacle 中显示java支持的 地区和语言

import java.util.Locale;

public class locale {

/**

* @param args

*/

public static void main(String[] args) {

Locale[] list = Locale.getAvailableLocales();

System.out.println("中文地区————地区简写——————语言中文——————语言简写");

for (int i = 0; i < list.length; i++) {

System.out.println(list[i].getDisplayCountry()+"————"+list[i].getCountry()+"——————"+list[i].getDisplayLanguage()+"——————"+list[i].getLanguage());

}

}

}

1

4

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2012-08-17 02:14

浏览 2293

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值