国际化编程 1、Internationalization,缩写为i18n 2、多语言文本的软件 -一套软件,多个语言 -根据语言设定,可以切换显示文本
Locale类 1、Locale(zh_CN,en_US) -语言,zh,cn -国家CN,US 2、Locale方法 -getAvailableLocals()返回所有的可用Locale -getDefault()返回默认的Locale
语言文件 -存储文件必须是ASCII文件 -如果是ASCII以外的文字,必须用Unicode的表示\uxxxxx -可以采用native2ascii.exe(%JAVA_HOME%\bin目录下)进行转码 (通过命令提示符转码)
ResourceBundle类 -根据LOcale要求,加载语言文件(Properties文件) -存储语言集合中所有的K-V对 -getString(String key)返回所对应的value -根据key找Value的查找路径
import java.util.Locale; import java.util.ResourceBundle; public class Person2{ public static void main(String[] args) throws Exception{ Locale myLocale = Locale.getDefault(); System.out.println(myLocale); //根据指定语言_国家环境加载资源文件 ResourceBundle bundle = ResourceBundle.getBundle(“message”, myLocale); //从资源文件中取得的消息 System.out.println(bundle.getString(“hello”));//你好世界 myLocale = new Locale(“en”,“US”);//语言_国家,前置换成en_us bundle = ResourceBundle.getBundle(“message”, myLocale); System.out.println(bundle.getString(“hello”));//hello ,world } }
日期时间国际化 -DateTimeFormatter和Locale的结合 数字金额国际化 -NumberFormat和Locale的结合