Определите bean LocaleResolver
в вашем 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)
}
}
}
Этот подход кажется несколько повторяющимся, так как Locale переустанавливается при каждом запросе. Было бы более элегантно отключить определение локали браузера через параметр конфигурации.