Java 9的国际化增强功能包括默认情况下启用CLDR语言环境数据。
使用以下关键字标识的语言环境数据有四个不同的来源:
CLDR:Unicode通用语言环境数据存储库(CLDR)项目提供的语言环境数据。
HOST:当前用户对基础操作系统设置的自定义。根据操作系统的不同,可以支持日期,时间,数字和货币等格式。
SPI:在已安装的SPI提供程序中实现的对语言环境敏感的服务。
COMPAT(JRE):与Java 9之前的发行版兼容的语言环境数据。JRE仍可以用作值,但已弃用,以后会删除。
在Java 8和早期版本中,JRE是默认语言环境数据。Java 9默认将CLDR设置为最高优先级。我们使用java.locale.providers系统属性按首选顺序选择语言环境数据源。如果提供程序未能请求区域设置数据,则可以处理下一个提供程序。
java.locale.providers=COMPAT,CLDR,HOST,SPI
如果我们不设置该属性,则默认行为是:
java.locale.providers=CLDR,COMPAT,SPI
为了与Java 8兼容,请将COMPAT置于CLDR之前。
java.locale.providers=COMPAT,CLDR