我已按照以下教程为我的网络应用程序设置本地化。
http://viralpatel.net/blogs/spring-3-mvc-internationalization-i18n-localization-tutorial-example/
我有三个属性文件:messages_en_properties、messages_es.properties 和 messages_zh_CN.properties
每个文件都有以下行:
logging.name=(用户名翻译成相应的语言)
在我的 .jsp 文件中,我将表数据设置为使用以下行显示用户名:
<td><spring:message code = "login.name" text = "Default Text"/></td>
这可行,但它只会从我的英文属性文件中读取。我尝试在 .jsp 文件中手动将语言环境设置为 zh_CN 和 es,但我仍然收到英文文件值。我什至尝试将语言环境设置为我没有的文件的国家/地区,它仍然显示英文文件中的文本,而不是默认文本。我很肯定语言环境实际上正在改变,因为浏览器会询问我是否要翻译页面。
这是我设置 localeChangeInterceptor 的代码部分。
<beans:bean id="localeChangeInterceptor"
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<beans:property name="paramName" value="lang" />
</beans:bean>
<beans:bean id="handlerMapping"
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<beans:property name="interceptors">
<beans:ref bean="localeChangeInterceptor" />
</beans:property>
</beans:bean>
还尝试更改为以下...
<mvc:interceptors>
<beans:bean id="localeChangeInterceptor"
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<beans:bean id="localeResolver"
class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
<beans:property name="defaultLocale" value="en" />
</beans:bean>
<beans:bean id="handlerMapping"
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
</beans:bean>
任何帮助将不胜感激。