Grails i18n不适用于语言环境“he”(希伯来语)
问题描述:
我正在编写Grails i18n消息。我在messages_he.properties
Grails i18n不适用于语言环境“he”(希伯来语)
_appNav.apps.show-label-button.title = הצג תוויות
上面的代码给"iw"
localeChangeInterceptor(ParamsAwareLocaleChangeInterceptor) {
paramName = "locale"
}
localeResolver(org.springframework.web.servlet.i18n.SessionLocaleResolver) {
defaultLocale = new Locale("en")
java.util.Locale.setDefault(defaultLocale)
}
添加下面的消息中添加代码,但它是没有得到回升,
而且session.'org.springframework.web.servlet.i18n.SessionLocaleResolver.LOCALE'
答
我有它的工作使用这种更复杂的方式,params.lang = he_IL
它接收到这个然后查找
import org.springframework.web.servlet.support.RequestContextUtils as RCU
Locale = getLocaleForLanguage(params.lang)
session.'org.springframework.web.servlet.i18n.SessionLocaleResolver.LOCALE' = locale
session.language = locale.language
session.locale = locale
session.langConfirmed=true
if (updateReq) {
RCU.getLocaleResolver(request).setLocale(request, response, locale)
}
static Locale getLocaleForLanguage(String language) {
if (language.contains('_')) {
def splitLang=language.split('_')
return
Locale.getInstance(splitLang[0].toLowerCase(),splitLang[1].toUpperCase(),'')
}
return Locale.getInstance(language,'','')
}
然后相关文件名为messages_iw.properties
he_IL是什么你需要,你应该有它的消息文件 – Vahid
@vahid我不认为'_he_IL'应该是必需的,应该吗?我认为''他'也应该工作。 –
这个问题提到'messages_he.proerties'就是'.proerties'只是一个错字,或者是实际的文件名?文件名应该以'.properties'结尾。 –