我想让我的 Grails 应用程序仅支持一种语言,我可以在某处定义该语言,完全忽略客户端的标头或“lang”参数。我有什么办法可以这样做吗?谢谢。
定义一个LocaleResolver
豆子在你的config/spring/resources.groovy
设置默认区域设置。
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)
}
}
}
这种方法似乎有点重复,因为每个请求都会重新设置区域设置。通过配置选项禁用浏览器区域设置检测会更优雅。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)