【发布时间】:2019-09-21 03:56:17
【问题描述】:
我目前正在使用 hybris 的 6.0 version。我们的项目完全基于Backoffice。之前我们为印度尼西亚语言环境配置了in_ID (languageISOcode_countryISOcode) 并且工作正常,但现在客户要求将语言环境设置为印度尼西亚语言环境的id_ID。
请注意,languageISOcode 已弃用,id 是印度尼西亚更新后的languageISOcode。
下面是我们hybris中的sn-p代码:
final Locale locale = cockpitLocaleService.getCurrentLocale();
LOG.info("locale : " + locale); //Here I'm getting in_ID value of locale in all scenario
它正在调用 java 的 Locale.class 文件,如果我通过 id_ID,那么 convertOldISOCodes 方法(在 Locale.class 内部)也在将 id_ID 转换为 in_ID。
请看下面的代码:
import java.util.Locale;
Locale localeIndonesia = new Locale("id", "ID");
System.out.println(localeIndonesia); //printed in_ID
您能否帮我将id_ID 设置为印度尼西亚的语言环境。
或
如果它是 Java 中的错误,那么有没有办法在 hybris 中获取 id_ID ?
【问题讨论】:
-
您运行的是什么版本的 Java?我在 1.7.0_79、1.8.0_181 和 11.0.1 上进行了测试,所有这三个版本都有
toLanguageTag()为Locale.forLanguageTag("id-ID")和Locale.forLanguageTag("in-ID")返回id-ID -
嗨 Andreas,我也将 toLanguageTag() 设为“id-ID”,但我需要将语言环境值设为“id_ID”,请您帮我获取印度尼西亚语言环境的确切值作为“id_ID”在 hybris 端或 java 端(也可以)。
标签: java localization locale hybris backoffice