java国际化(简单说说)
java国际化的思路
一.程序需要支持哪些国家,语言环境-->资源文件中
资源文件是key-value对,key是不变的,但是value是随不同国家,语言而改变
二.主要通过三个类来实现:
java.util.ResourceBundle:用于装载特定的国家/区域,语言资源包
java.util.Locale:封装特定国家/区域,语言环境-->国家/区域及其相应代号,语言(相应代号)
java.text.MessageFormat:用于格式化带占位符的字符串
1 import java.util.Locale; 2 /** 3 * getDisplayCountry()返回国家/地区名称 4 * getCountry()返回国家/地区代码 5 *getDisplayLanguage()返回语言环境 6 *getLanguage()返回地区设置语言代码 7 */ 8 public class LocaleList { 9 public static void main(String[] args) { 10 //返回java所支持的全部全部国家和语言的数组 11 Locale [] localeList=Locale.getAvailableLocales(); 12 //遍历数组的每个元素,依次获取所支持的国家和语言 13 for(int i=0;i<localeList.length;i++) 14 { 15 System.out.println(localeList[i].getDisplayCountry() 16 +"="+localeList[i].getCountry()+" " 17 +localeList[i].getDisplayLanguage()+"="+localeList[i].getLanguage()); 18 } 19 } 20 }
1 import java.util.Locale; 2 import java.util.ResourceBundle; 3 4 public class Hello { 5 public static void main(String[] args) { 6 //取得系统默认的国家语言环境-->装载国家语言环境 7 Locale myLocale=Locale.getDefault(Locale.Category.FORMAT); 8 //根据指定的国家/语言环境加载资源文件-->加载资源包 9 ResourceBundle bundle=ResourceBundle.getBundle("mess",myLocale); 10 //打印从资源文件中取得的信息 11 System.out.println(bundle.getString("hello")); 12 } 13 }