У меня есть некоторые проблемы с добавлением нескольких языков на мой сайт.Почему ResourceBundle.getBundle (String, Locale) игнорирует локаль?
Он отлично работает в файле .jsp с jstl, но когда я пытаюсь получить переводы с помощью Java-кода, он игнорирует параметр Locale и использует локали браузера клиента.
у меня есть:
Два свойство файл: dictionary.properties, содержащий: validate.firstname.empty=You have to enter a first name
dictionary_nl.properties, содержащий: validate.firstname.empty=U heeft geen voornaam ingevuld
И это Java-код:
public List<String> validate(UserForm user, Locale locale)
{
List<String> errors = new ArrayList<>();
ResourceBundle resources = ResourceBundle.getBundle("dictionary", new Locale("en"));
if (user.getFirstName() == null || user.getFirstName().trim().isEmpty())
{
errors.add(resources.getString("validate.firstname.empty"));
}
return errors;
}
Для целей тестирования , Я вставил новый экземпляр Locale в getBundle
, но он по-прежнему возвращает голландский перевод, если мой браузер установлен на голландский, и перевод на английский язык, если браузер установлен на английский.