Множественные формы с Java java.util.ResourceBundle

Я используюjava.util.ResourceBundle для i18n вот так:

try {
  resourceBundle = ResourceBundle.getBundle("Messages", locale);
} catch (MissingResourceException ex) {
  logger.log(Level.SEVERE, ex.getMessage(), ex);
}

String localizedString = resourceBundle.getString("key");

Я хочу, чтобы формы множественного числа хорошо. Подобно:

one object
two objects

Как я могу определить множественные формы локализованных строк?

2 ответа

Решение

Вот как Java обрабатывает формы множественного числа:

https://docs.oracle.com/javase/tutorial/i18n/format/choiceFormat.html

ResourceBundle не имеет дело с плюрализмом. Это просто позволяет получать значения, связанные с ключами, на основе локали.

Чтобы иметь множественные переводы, используйте разные ключи или используйте ChoiceFormat. Обратите внимание, что MessageFormat может использовать ChoiceFormat, указав его в своем шаблоне.

Другие вопросы по тегам