我想根据域扩展名设置网站的语言。
范例:
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.domainMapping
在Config.groovy
中定义为:grails.domainMapping = [
'www.mywebsite.com':'en',
'www.mywebsite.eu':'fr',
'www.mywebsite.de':'de',
'localhost':'ru',
(null):'en'
]