Множественные формы с 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, указав его в своем шаблоне.