我正在使用Spring Framework,Spring(MVC),Spring Security等的Web应用程序... Spring文档显示了在URL中添加参数的国际化(例如http://myexample.com?lang=fr) 但是我已经阅读了Google "Multi-regional and multilingual sites"的这篇文章,其中指出不建议采用这种做法。
所以我决定以这种方式实现它:
http://myexample.com/ - >默认语言环境(EN)
http://myexample.com/es/ - >区域设置
http://myexample.com/fr/ - > locale fr
我的问题是:在Spring框架中实现i18n(带有gTLD的子目录)的最佳方法是什么?欢迎提出想法,文章,例子。
答案 0 :(得分:0)
<!-- Defines interceptors for Locale change and Theme change before the request goes to DispatcherServlet for further operation. -->
<mvc:interceptors>
<ref bean="localeChangeInterceptor"/>
<ref bean="themeChangeInterceptor" />
<!-- <ref bean="conversionServiceExposingInterceptor"/> -->
</mvc:interceptors>
<!-- Interceptor for change in Locale -->
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="language"/>
</bean>
<!-- LocaleResolver configuration for internationalization. Here cookie resolver used. Stores and reads the locale value from cookie. -->
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
<property name="defaultLocale" value="1"/>
<property name="cookiePath" value="/WEBPORTAL/" />
<property name="cookieName" value="locale"/>
<property name="cookieMaxAge" value="86400"/>
<property name="cookieHttpOnly" value="true"/>
<property name="cookieSecure" value="true"/>
</bean>
<!-- Provides the list of base location for Localized property files. Default encoding must be UTF-8 to support multilingual text. -->
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>/WEB-INF/i18n/labels</value>
<value>/WEB-INF/i18n/messages</value>
<value>/WEB-INF/i18n/mailBox</value>
<value>/project</value>
</list>
</property>
<property name="defaultEncoding" value="UTF-8"/>
</bean>
这里有一些代码可以帮助您实现国际化 您需要做的是将这行代码添加到dispatcher-servlet.xml文件中,然后根据您的要求进行更改
希望我的回复能指导你...