我有一个基于Grails和kickstarter插件的语言选择的internazionalised应用程序。根据UrlMappings中的配置,有些页面没有控制器。在这些上,无论用户实际选择了什么,都只应用默认语言环境。此外,在他们身上改变语言是行不通的。 g:使用默认语言环境输出消息标签;我试过了
<g:set var="locale"
value="${session.'org.springframework.web.servlet.i18n.SessionLocaleResolver.LOCALE' ?: org.springframework.web.servlet.support.RequestContextUtils.getLocale(request)}"/>
(忘了我发现的地方)..但是之后没有任何改变。
答案 0 :(得分:1)
显然这是a bug in grails versions prior to 2.4.4
我通过检索有问题的gsp顶部的区域设置来解决它:
<g:set var="lang" value="${session.'org.springframework.web.servlet.i18n.SessionLocaleResolver.LOCALE'}"/>
(来自this blog post),然后将区域设置添加到我想要在页面中显示的邮件中,使用a solution by @ SergeiShushkevich,如下所示:
<g:message code="text.label" locale="${lang}"/>
${message([code:'text.label', locale:lang])}