Весенние локальные данные
-
28-09-2019 - |
Вопрос
У меня есть некоторые проблемы с созданием моего веб-приложения, адаптированные для удаленных настроек языка браузеров пользователя. Я использовал ResourceBundlemessageource для этого. Похоже, это выглядит:
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="resources/messages" /> </bean>
И у меня есть два файла .properties:
Messages.Properties.
messages_ru.properties.
Они расположены в SRC / Resources / Messages.
Я хочу настроить мое приложение такого способа, что при пустых пользователей языковые настройки браузера содержат русские, мое приложение должно использовать российские сообщения (Messages_ru), в противном случае (если язык не настроен или это не русский), он должен использовать Meessages.properties (это Содержит английские сообщения).
Когда я настрою русских в моем браузере, он работает нормально. Когда я стираю все настройки, он также показывает русский (я думаю, что это зависит от настроек системы системы). И когда я устанавливаю немного другого языка, он также показывает мне российские сообщения.
Единственный способ сделать мое приложение, чтобы показать английские сообщения - это переименовать сообщения .Properties к Message_en.properties и установить в браузере английского языка Lang. Но я хочу сделать свое приложение, принятое для всех языковых настроек (когда он использует русский, если он нуждается, и английский для любых других настроек и любых других стран).
Есть идеи?
Решение
Вам нужно установить
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="resources/messages" />
<property name="fallbackToSystemLocale" value="false" />
</bean>
В этом случае весна будет использовать messages.properties
В ответ, поэтому он должен содержать сообщения в локале «По умолчанию» для вашего приложения.