Hybris:未找到语言模型

问题描述

假设我们在 hybris languageModel 中创建了一个新的 vi_VN,使用这个 impex:

INSERT_UPDATE Language; isocode[unique = true]; name[lang = en]; fallbacklanguages (isocode); active[default = true];
                      ; vi_VN                 ;  Vietnam       ; en                         ;                       ;

用户从网站选择 vi_VN 语言时,我们使用 commonI18NService 获取当前区域设置:

final Locale locale = commonI18NService.getLocaleForLanguage(language); // language isocode is "vi_VN"

因此,当语言为 vi_VN (isocode = vi_VN") 时,以下行 locale.getLanguage() 返回 vi 而不是 vi_VN

我的问题是,在创建像 xx_XX 这样的新组合 languageModel 时,我们是否还应该创建 languageModel xx

解决方法

vi_VN 有两部分:第一部分是语言代码,第二部分是国家代码。

要获取国家/地区代码,您需要使用 CommonI18NService#getCountry