src/java.base/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java
Print this page
*** 61,70 ****
--- 61,78 ----
String name = null;
String key = getResourceKey(calendarType, field, style, javatime);
if (key != null) {
LocaleResources lr = LocaleProviderAdapter.forType(type).getLocaleResources(locale);
String[] strings = javatime ? lr.getJavaTimeNames(key) : lr.getCalendarNames(key);
+
+ // If standalone names are requested and no "standalone." resources are found,
+ // try the default ones instead.
+ if (strings == null && key.indexOf("standalone.") != -1) {
+ key = key.replaceFirst("standalone.", "");
+ strings = javatime ? lr.getJavaTimeNames(key) : lr.getCalendarNames(key);
+ }
+
if (strings != null && strings.length > 0) {
if (field == DAY_OF_WEEK || field == YEAR) {
--value;
}
if (value < 0 || value >= strings.length) {
*** 116,125 ****
--- 124,141 ----
String key = getResourceKey(calendarType, field, style, javatime);
Map<String, Integer> map = new TreeMap<>(LengthBasedComparator.INSTANCE);
if (key != null) {
LocaleResources lr = LocaleProviderAdapter.forType(type).getLocaleResources(locale);
String[] strings = javatime ? lr.getJavaTimeNames(key) : lr.getCalendarNames(key);
+
+ // If standalone names are requested and no "standalone." resources are found,
+ // try the default ones instead.
+ if (strings == null && key.indexOf("standalone.") != -1) {
+ key = key.replaceFirst("standalone.", "");
+ strings = javatime ? lr.getJavaTimeNames(key) : lr.getCalendarNames(key);
+ }
+
if (strings != null) {
if (!hasDuplicates(strings)) {
if (field == YEAR) {
if (strings.length > 0) {
map.put(strings[0], 1);
*** 279,290 ****
}
key.append("Month").append(toStyleName(baseStyle));
break;
case DAY_OF_WEEK:
! // support standalone narrow day names
! if (isStandalone && isNarrow) {
key.append("standalone.");
}
key.append("Day").append(toStyleName(baseStyle));
break;
--- 295,306 ----
}
key.append("Month").append(toStyleName(baseStyle));
break;
case DAY_OF_WEEK:
! // support standalone day names
! if (isStandalone) {
key.append("standalone.");
}
key.append("Day").append(toStyleName(baseStyle));
break;