Java国际化程序

package internation;

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

public class TestDemo
{
	public static void main(String[] args)
	{
		//访问的时候一定不要加后缀,默认就会寻找“*.properties”;
		//此时Message.properties文件一定要放在CLASSPATH路径下
		ResourceBundle rb = ResourceBundle.getBundle("Messages");
		System.out.println(rb.getString("Info"));
		String str = rb.getString("wel.msg");     //具备占位符
		//具备占位符的输出
		System.out.println(MessageFormat.format(str, "WYH",new SimpleDateFormat("yyyy-MM-dd").format(new Date())));
		
		//读取中文文件数据
		Locale loc_zh = new Locale("zh", "CN");     //设置语言与国家
		ResourceBundle rb_zh = ResourceBundle.getBundle("Messages",loc_zh);
		String str_zh = rb_zh.getString("wel.msg");
		System.out.println(MessageFormat.format(str_zh, "WYH"));
		
		//读取英文文件
		Locale loc_en = new Locale("en", "US");
		ResourceBundle rb_en = ResourceBundle.getBundle("Messages",loc_en);
		String str_en = rb_en.getString("wel.msg");
		System.out.println(MessageFormat.format(str_en,"WYH"));
	}
}
 
其中 Messages.properties ,Messages_zh_CN.properties , Messages_en_US.properties 如下:

//Messages
Info =  \u4E2D\u534E\u4EBA\u6C11\u5171\u548C\u56FD
wel.msg = \u6B22\u8FCE{0}\uFF01\u73B0\u5728\u662F\uFF1A{1}  //{0}表示占位符
//Messages_zh_CN
wel.msg = \u4F60\u597D{0}
//Messages_en_US
wel.msg = welcome{0}!
注意:

        1.永远都先找特定文件,且优先执行和当前语言环境的*.properties文件。比如说,如果Messages_zh_CN与Messages共存,优先执行第一个,

ResourceBundle rb = ResourceBundle.getBundle("Messages"); 这段代码优先寻找第一个,如果Messages_zh_CN没了,就执行Messages

        2.*properties文件放在src文件下,目录结构如下:

          


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值