-
Bug
-
Resolution: Fixed
-
P4
-
None
-
b05
-
generic
-
generic
With the fix to CLDR's this issue: https://unicode-org.atlassian.net/browse/CLDR-15054 , now some elements in an XML structure can be aliased, i.e., AM/PM narrow strings are derived from their abbreviated siblings. But the existing CLDRConverter implementation simply checks the entire structure is missing or not, then copy whole array if it is missing. Thus it cannot handle such a case. For example,
In the current JDK:
```
jshell> DateFormatSymbols.getInstance(Locale.forLanguageTag("ar")).getAmPmStrings()[0]
$178 ==> "ص"
```
JDK built with CLDR 43(pre-alpha):
```
jshell> DateFormatSymbols.getInstance(Locale.forLanguageTag("ar")).getAmPmStrings()[0]
$178 ==> "AM"
```
The above example demonstrates that the missing "am" string is derived from its parent locale (ie root), instead of its abbreviated sibling, which does have real string.
In the current JDK:
```
jshell> DateFormatSymbols.getInstance(Locale.forLanguageTag("ar")).getAmPmStrings()[0]
$178 ==> "ص"
```
JDK built with CLDR 43(pre-alpha):
```
jshell> DateFormatSymbols.getInstance(Locale.forLanguageTag("ar")).getAmPmStrings()[0]
$178 ==> "AM"
```
The above example demonstrates that the missing "am" string is derived from its parent locale (ie root), instead of its abbreviated sibling, which does have real string.
- blocks
-
JDK-8296248 Update CLDR to Version 43.0
- Resolved