如何通过域名扩展名设置语言

时间:2015-07-03 18:55:36

标签: grails

我想根据域扩展名设置我网站的语言。

示例:

mywebsite.com  -->  english
mywebsite.fr   -->  french

您有关于如何操作的建议吗? 感谢

1 个答案:

答案 0 :(得分:0)

这就是我在我的项目中使用的内容:

class OverrideTagLib extends ValidationTagLib {

  Closure message = { attrs ->
    if( !attrs.locale ){
      def dm = grailsApplication.config.grails.domainMapping
      attrs.locale = new Locale( dm[ request.serverName ] ?: dm[ null ] )
    }
    out << messageImpl( attrs )
  }

}

并且grailsApplication.config.grails.domainMappingConfig.groovy中定义为:

grails.domainMapping = [
  'www.mywebsite.com':'en',
  'www.mywebsite.eu':'fr',
  'www.mywebsite.de':'de',
  'localhost':'ru',
  (null):'en'
]