весна i18n не работает - PullRequest
       23

весна i18n не работает

0 голосов
/ 15 мая 2018

Здравствуйте, я пытаюсь создать i18n в проекте Spring-MVC-Maven, настроенном по контексту. Xml

У меня есть файлы (путь: \ src \ main \ resources):

messages.properties

messages_pl.properties

Приложение раньше нормально работало, когда есть только один файл -> читает <весна: сообщения ...> от одного. Но когда есть 2 файла, приложение только для чтения

DispatcherServlet-context.xml

/* [..] */
<mvc:annotation-driven enable-matrix-variables="true"/>
<mvc:resources  location="/resources/"  mapping="/resource/**"/>
<context:component-scan base-package="com.ehr" />

<mvc:interceptors>
    <bean class="com.ehr.webstore.interceptor.PerformanceMonitorInterceptor"/>
    <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
        <property name="paramName" value="lang"/>
    </bean>
</mvc:interceptors>
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basename" value="messages" />
    <property name="defaultEncoding" value="UTF-8"/>
</bean>
    <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
        <property name="defaultLocale" value="en"/>
    </bean>
/* [...] */

webpage.jsp

< div class="pull-right" style="padding-right:50px">
    < a href="?lang=en" >en</a>|<a href="?lang=pl" >pl< /a>
< /div>

1 Ответ

0 голосов
/ 15 мая 2018

Хорошо, я нашел корень проблемы.В общем, это свойство FallbackToSystemLocale, которое по умолчанию установлено в значение "true".Для получения дополнительной информации проверьте ResourceBundleMessageSource doc.

Решение: добавлено свойство <property name="fallbackToSystemLocale" value="false"/> в <bean id="messageSource" [...] ResourceBundleMessageSource">

...