JEP 314: 额外的 Unicode 语言标签扩展
Owner |
Naoto Sato |
Created |
2017/03/24 23:19 |
Updated |
2018/03/06 17:15 |
Type |
Feature |
Status |
Closed / Delivered |
Component |
core-libs / java.util:i18n |
Scope |
SE |
Discussion |
i18n dash dev at openjdk dot java dot net |
Priority |
2 |
Reviewed by |
Alan Bateman, Brian Goetz |
Endorsed by |
Brian Goetz |
Release |
10 |
Issue |
Summary
增强 java.util.Locale 和相关 API,实现 BCP 47 语言标签中额外的 Unicode 扩展。
目标
支持BCP 47语言标记在Java SE 7中最初被添加的,支持Unicode区域设置扩展限于日历和数字。这个JEP将在相关的JDK类中实现最新LDML规范中指定的扩展。
非目标
除了以下Unicode语言标签扩展之外的Unicode语言标签扩展将被此次忽略
描述
从Java SE 9起,被支持的BCP 47 U语言标签扩展名为ca和nu。此JEP将添加对以下附加扩展的支持:
•cu(货币类型)
•fw(星期几的第一天)
•rg(区域覆盖)
•tz(时区)
为了支持这些附加扩展,将对以下API进行更改:
•java.text.DateFormat :: get *Instance将基于扩展ca,rg和/或tz返回实例
•java.text.DateFormatSymbols :: getInstance将基于扩展rg返回实例
•java.text.DecimalFormatSymbols :: getInstance将根据扩展名rg返回实例
•java.text.NumberFormat :: get *实例将根据扩展名nu和/或rg返回实例
•java.time.format.DateTimeFormatter :: localizedBy将根据扩展名ca,rg和/或tz返回DateTimeFormatter实例
•java.time.format.DateTimeFormatterBuilder :: getLocalizedDateTimePattern将根据rg扩展名返回模式字符串。
•java.time.format.DecimalStyle :: of将根据扩展名nu和/或rg返回DecimalStyle实例
•java.time.temporal.WeekFields :: of将基于扩展fw和/或rg返回WeekFields实例
•java.util.Calendar :: {getFirstDayOfWeek,getMinimalDaysInWeek}将根据扩展fw和/或rg返回值
•java.util.Currency :: getInstance将根据扩展名cu和/或rg返回Currency实例
java.util.Locale :: getDisplayName将返回一个包含这些U扩展名的显示名称的字符串
•java.util.spi.LocaleNameProvider将为这些U扩展的键和类型提供新的SPI
风险和前提
从Locale :: getDisplayName返回的显示名称取决于每个本地程序提供的本地化数据
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/66856.html