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

标签 grails internationalization

我想让我的 Grails 应用程序只支持一种语言,我可以在某处定义,完全忽略客户端的 header 或“lang”参数。有什么办法可以这样做吗?谢谢。

最佳答案

定义一个 LocaleResolver bean 在您的 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)                  
        }

    }
}

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

关于grails - 如何强制 Grails 只使用一种语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8808188/

相关文章:

css - 我的 Web 应用程序中未应用字体

javascript - 如何根据区域设置导入/使用翻译文件

php - 将数字转换为国际,PHP

html - Grails和HTML编纂

hibernate - Grails/GORM:在Object.get查询中保留所有 transient 变量吗?

javascript - 如何使 Javascript "toString"隐式方法文化感知

java - 通过java在mysql中保存俄语

python - 在 Web 应用程序中使用 Python 语言环境或同等语言环境?

grails - 一对多和一对一 grails 2.2.4

Grails 缓存 ehcache 插件和 TTL 值