跳到主要内容

JEP 127:改进区域设置数据打包并采用 Unicode CLDR 数据

QWen Max 中英对照

概述

创建一个工具,将 LDML(Locale Data Markup Language)文件转换为可直接被运行时库使用的格式,定义一种将结果打包为模块的方法,然后利用这些模块将 Unicode 联盟的 CLDR 项目发布的事实标准区域设置数据整合到 JDK 中。

描述

  • 开发一个工具,用于从 LDML 格式生成运行时的区域设置数据文件,假设由于性能限制,在运行时解析 LDML 并不可行。输出文件格式应为不透明,以便允许未来的扩展。
  • 开发一种机制,以模块的形式打包和安装区域设置数据。
  • 支持来自底层平台的一些区域设置元素。例如,如果用户对日期格式的偏好指定了日本日历,则 Java 运行时应使用该信息选择日本日历作为默认日历。(参见 6337471:桌面/系统区域设置偏好支持)
  • 提供一种机制,通过某种用户界面(UI)、在应用程序中(通过 SPI),或在操作系统级别(例如,通过 Windows 中的 Java 控制面板)管理用户的区域设置数据偏好。

测试

需要验证通过 locale-sensitive 的 API(如 DateFormat / NumberFormat 等)正确返回已安装的 locale 数据。

风险与假设

由于 JDK 的排序 API 尚不支持 LDML 所基于的 Unicode 排序算法,因此 LDML 文件中包含的排序数据将不受支持。

影响

  • 兼容性:CLDR 中的部分区域设置数据将与 JDK 自身的区域设置数据不兼容。应该有一种机制让用户能够指定他们的偏好。
  • 本地化:从事本地化工作的开发者将能够以一种既定的方式添加或修改来自 CLDR 的区域设置数据。