我想了解CLDR,因为它在JDK-9中得到了增强。
JDK 9 CLDR -根据JDK文档
在JDK 9中,默认的区域设置数据使用从Unicode Consortium的公共区域设置数据库(CLDR)派生的数据。因此,用户可能会看到对地区敏感的服务行为和/或翻译方面的差异。
有人能帮我理解这一点吗?让我知道它在JDK8 Date API中的表达方式。
发布于 2018-07-12 11:20:07
通用区域数据仓库是由Unicode联盟收集的一组数据,许多库使用这些数据来提供与国际化相关的数据。
它包含的内容如下:
注:“地区”基本上是“某一地区使用的一种语言”。但这是一种很好的高级语言。例如,"en-US“代表美国英语,"de-DE”是德国说的德语。
JDK传统上为此维护了它自己的数据集。这在Java 9和更高版本中发生了变化,大多数Java实现现在默认使用CLDR。见https://openjdk.java.net/jeps/252。
在使用了JDK数据和CLDR数据之后,我可以说,平均来说,CLDR数据更好、更积极地维护,而且(可能最重要的是)它对于如何提供改进或bug报告有一种特定的方法。
这方面的实际区别在于,某些格式的行为可能与以前略有不同,在大多数情况下更正确,但可能以意想不到的方式进行。这将特别适用于使用非英语语言(这种变化对英语地区的影响很小)。
发布于 2018-07-12 11:16:35
CLDR封装了对所有世界的内容进行排序和格式化的规则(例如日期和货币格式)。这是一个与Unicode本身紧密相连的大数据集。
CLDR被设计成这些定义的一个正式的、稳定的集合。
由于CLDR规则在某些情况下与构建在Java 8和之前版本中的规则不同,所以它们提供了警告。
https://stackoverflow.com/questions/51304126
复制相似问题