首页 > 文章列表 > 在Java 9中,Common Locale Data Repository(CLDR)是什么?

在Java 9中,Common Locale Data Repository(CLDR)是什么?

140 2023-09-06

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