-
Bug
-
Resolution: Cannot Reproduce
-
P3
-
None
-
8-pool
-
None
java.util.Calendar.getDisplayName(int field, int style, Locale locale) returns era name in English instead of Japanese name. Below are the steps to reproduce the issue:-
Set JVM parameter java.locale.providers=CLDR
Calendar c = new Calendar.Builder()
.setCalendarType("japanese")
.setFields(ERA, 4, YEAR, 1, MONTH, MAY, DAY_OF_MONTH, 1)
.build();
String eraName = c.getDisplayName(ERA, LONG, Locale.Japan);
Actual Result :- The value of eraName is "Heise"
Expected Result:- The value of eraName should be "平成"
Root Cause of issue:-
The cause of issue is that CLDR java resource file (FormatData_ja.java) generated by "CLDR Converter" does not contain required resource key "japanese.long.Eras". The "CLDR Converter" need to be fixed to address this issue.
Set JVM parameter java.locale.providers=CLDR
Calendar c = new Calendar.Builder()
.setCalendarType("japanese")
.setFields(ERA, 4, YEAR, 1, MONTH, MAY, DAY_OF_MONTH, 1)
.build();
String eraName = c.getDisplayName(ERA, LONG, Locale.Japan);
Actual Result :- The value of eraName is "Heise"
Expected Result:- The value of eraName should be "平成"
Root Cause of issue:-
The cause of issue is that CLDR java resource file (FormatData_ja.java) generated by "CLDR Converter" does not contain required resource key "japanese.long.Eras". The "CLDR Converter" need to be fixed to address this issue.
- relates to
-
JDK-8217609 New era placeholder not recognized by java.text.SimpleDateFormat
- Closed