package com.rlovep.i18n; import java.text.DateFormat; import java.text.NumberFormat; import java.text.ParseException; import java.util.Date; import java.util.Locale; import java.util.ResourceBundle; import org.junit.Test; public class TestMsg { /** * * @Title: testMsg * @Description: 测试静态文字的国际化 * @return:void * @throws * @author peace w_peace@163.com */ @Test public void testMsg(){ /** * 在类路径下建立属性文件:命名格式:b)基础名_语言简称_国家简称.properties * 例如:msg_zh_CN.properties 存储所有中文 msg_en_US.properties 存储所有英文 */ Locale locale=Locale.US; ResourceBundle rb=ResourceBundle.getBundle("com.rlovep.i18n.msg", locale); System.out.println(rb.getString("username")); System.out.println(rb.getString("hello")); //自动通过传入的locale选择属性文件: locale=Locale.CHINA; rb=ResourceBundle.getBundle("com.rlovep.i18n.msg", locale); System.out.println(rb.getString("username")); System.out.println(rb.getString("hello")); } /** * * @Title: testI18nDyn * @Description: 测试动态文本国际化 * @return:void * @throws * @author peace w_peace@163.com */ @Test public void testI18nDyn(){ //国际化货币: Locale locale=Locale.US; //数据准备: double money=100.67; //工具类 NumberFormat nf=NumberFormat.getCurrencyInstance(locale); //国际化货币 System.out.println(nf.format(money)); // 国际化数值 locale = Locale.CHINA; nf = NumberFormat.getNumberInstance(Locale.US); String str = nf.format(1000000000); System.out.println(str); // 日期格式 int dateStyle = DateFormat.SHORT; // 时间格式 int timeStyle = DateFormat.SHORT; // 工具类 DateFormat df = DateFormat.getDateTimeInstance(dateStyle, timeStyle, Locale.CHINA); String date = df.format(new Date()); try { //反向解析 Date d = df.parse(date); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(date); } }