import java.text.MessageFormat; import java.util.Locale; import java.util.ResourceBundle; public class LocalTest { public static void main(String[] args) { // 返回所有已安装语言环境的数组 Locale[] locals = Locale.getAvailableLocales(); for (Locale locale : locals) { // 国家 System.out.println(locale.getDisplayCountry() + ":" + locale.getCountry()); } for (Locale locale : locals) { // 语言 System.out.println(locale.getDisplayLanguage() + ":" + locale.getLanguage()); } // Java 虚拟机实例的当前默认语言环境值 // Locale local = Locale.US; //指定国家代替默认,读出就是英文的资源文件 Locale local = Locale.getDefault(); System.out.println(local.getDisplayCountry() + ":" + local.getCountry()); // info为国际化文件名,装入本地local,国际化文件key是hello // info_en_US.properties -> hello=hello // info_zh_CN.properties -> hello=/u4F60/u597D ResourceBundle sources = ResourceBundle.getBundle("info", local); String value = sources.getString("hello"); System.out.println(value); // hello=hello {0} ,内参数替换,重0开始 {0} -> 北京 value = MessageFormat.format(value, new Object[] { "北京" }); System.out.println(value); } }