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

范例:

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

您有关于如何做的建议吗?
谢谢

最佳答案

这是我在项目中使用的:

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'
]

10-06 09:12