What is Common Locale Data Repository (CLDR) - JDK 9



我想了解CLDR,因为它在JDK-9中得到了增强。

JDK 9 CLDR-根据JDK文档

在JDK9中,默认的区域设置数据使用从Unicode派生的数据Consortium的Common Locale Data Repository(CLDR(。因此,用户可能会看到区域设置敏感的服务行为和/或翻译。

有人能帮我理解这一点吗?让我知道它在JDK8日期API中的表现。

CLDR(Common Locale Data Repository(是Unicode联盟收集的一组数据,许多库使用这些数据来提供与国际化相关的数据。

它包含的内容如下:

  • 有关在给定区域设置中如何格式化日期/时间的信息
  • 有关在给定区域设置中如何进行文本排序(排序规则(的信息
  • 有关在给定区域设置中如何表示数字的信息
  • 货币、单位和地理区域的名称

注意:;区域设置";基本上是";一种在给定地区所说的语言";。它比这更复杂,但这是一种很好的高级语言"en-US";例如代表美式英语;de de";是德国的德语。

JDK传统上为此维护自己的一组数据。在Java9和更高版本中,情况发生了变化,现在大多数Java实现默认使用CLDR。请参阅JEP 252:默认情况下使用CLDR区域设置数据

在处理过JDK数据和CLDR数据后,我可以说,平均而言,CLDR数据要好得多,维护得更积极,而且(可能最重要的是(它在如何提供改进或错误报告方面有特定的方法。

实际的不同之处在于,某些格式的表现可能与以前略有不同,在大多数情况下更正确,但可能会以意想不到的方式出现。这将特别适用于使用非英语语言的情况(这种更改对英语区域设置的影响相当小(。

CLDR封装了对世界各地的内容进行排序和格式化的规则(例如日期和货币格式(。这是一个与Unicode本身密切相关的大数据集。

CLDR被设计为这些定义的正式、稳定的集合。

由于CLDR规则与Java 8及以前版本中构建的规则不同,在某些情况下,某些地区的CLDR规则提供了警告。

最新更新