如何更改当前语言环境?Grails如何更改当前语言环境
- 我试图把
controller/action?lang=de
,但我的区域仍然是en_US
我尝试使用这段代码重写值:
def key = "org.springframework.web.servlet.DispatcherServlet.LOCALE_RESOLVER" def localeResolver = request.getAttribute(key) localeResolver.setLocale(request, response, new Locale("de","DE"))
没有改变。
我试图覆盖使用这段代码的价值:
import org.springframework.web.servlet.support.RequestContextUtils as RCU; RCU.getLocaleResolver(request).setLocale(request, response, new Locale("de","DE"))
而且......什么都没有发生。我仍然将我的语言环境设置为en_US
。
任何想法改变语言环境?
感谢您的回复。我试过你的解决方案来改变defaultLocale,但我仍然得到一个en_US语言环境。检索我的当前语言环境的好问题我使用'request.locale'。我也可以看到,grails仍然在阅读默认的捆绑消息,而不是'de'版本。感谢任何线索! – 2009-10-14 23:38:47
只是想确保你的验证过程是好的,它是:) 但我必须说这真的很奇怪。你可以说是否设置了“Accept-Language”标题?你使用的是什么版本的grails? – 2009-10-14 23:42:50
是的怪异无疑是这个词...我使用的是Grails 1.1。我刚刚检查了http请求的头部,我可以看到:'Accept-Language:en-us,en; q = 0.5' – 2009-10-14 23:53:20