如何强制Grails只能使用一种语言?

我想让我的Grails应用程序只支持一种语言,我可以在某处定义,完全忽略客户端的头文件或“lang”参数.有什么办法吗谢谢.
在config / spring / resources.groovy中定义一个LocaleResolver bean来设置默认语言环境.

beans = {
   localeResolver(org.springframework.web.servlet.i18n.SessionLocaleResolver) {
      defaultLocale = new Locale("de","DE")
      java.util.Locale.setDefault(defaultLocale)
   }
}

如果您不必处理lang参数,这将非常有用,否则会被覆盖.要偶然忽略lang参数值,您可以在每个请求的Filter中设置区域设置:

import org.springframework.web.servlet.support.RequestContextUtils as RCU
...
def filters = {
    all(controller:'*', action:'*') {

        before = {
            def locale = new Locale("sv","SV")
            RCU.getLocaleResolver(request).setLocale(request, response, locale)                  
        }

    }
}

这种方法似乎有点重复,因为Locale在每个请求上重新设置.通过配置选项禁用浏览器区域设置检测会更加优雅.

http://stackoverflow.com/questions/8808188/how-can-i-force-grails-to-use-only-one-language

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:如何强制Grails只能使用一种语言?