Как изменить значения месяца DateFormatSymbols

Я пытаюсь добавить конкретный месяц имена для конкретной локали. У меня проблема с локалью для норвежского бокмала (nb). Названия месяцев, возвращаемые SimpleDateFormat, находятся на английском, а не на норвежском. Однако кажется, что locale (no) работает нормально

например. Этот код приводит к январю, февралю и т.д.

String pattern = "MMMM";
DateFormat monthFormat = new SimpleDateFormat(pattern, new Locale("nb"));
Calendar cal = Calendar.getInstance();
for (int i = 0; i < 12; i++) {
  cal.set(Calendar.MONTH, i);
  System.out.println(monthFormat.format(cal.getTime()));
}

по сравнению с этим кодом, который приводит к январю, февралю и т.д.

String pattern = "MMMM";
DateFormat monthFormat = new SimpleDateFormat(pattern, new Locale("no"));
Calendar cal = Calendar.getInstance();
for (int i = 0; i < 12; i++) {
  cal.set(Calendar.MONTH, i);
  System.out.println(monthFormat.format(cal.getTime()));
}

Я знаю, что могу настроить SimpleDateFormat с определенными DateFormatSymbols, однако это не помогает сохранить общий код для любых будущих местных жителей . Мне было интересно, знает ли кто-нибудь, как изменить значения месяца по умолчанию для поддерживаемой локали Java? Я подумал, что есть файл ресурсов, который я мог бы добавить, но не мог понять, как это сделать.

7
задан tcb 12 October 2011 в 18:25
поделиться