国际化的意思就是对多语言的支持,根据不同的国家地区代号,显示对应的语言。
jdk对国际化的支持主要就是提供了Locale和ResourceBundle这两个类.
Locale即是代表国际地区的对象,例如zh-CN表示中国大陆,zh-TW代表中国台湾,en-US代表美式英语。
ResourceBundle即是绑定提前定义好包含不同语言的资源文件.
通常步骤是这样的
1.定义资源文件
2. 构建Locale对象
Locale locale=new Locale("zh-CN");
Locale locale=Locale.getDefaultLocale();
Locale locale=request.getLocale();
三种方式都可以创建locale对象,具体的可以根据业务场景来选择。
3.获取对应的资源文件的绑定
ResourceBundle resourceBundle=ResourceBundle.getBundle(locale);
4.通过key来获取对应的语言的值
resourceBundle.getString(String key);
其中key即为资源文件的key,这个是自定义的,就像获取Properties文件中的key对应的value一样。
上述是jdk原生提供的对国际化的支持,是最原始的,后来spring对这一套进行了封装,有兴趣的可以去了解练习一下。