gpt4 book ai didi

java - 印度尼西亚的正确区域设置( "id_ID"Vs "in_ID")?

转载 作者:行者123 更新时间:2023-12-01 06:49:00 33 4
gpt4 key购买 nike

我目前使用 hybris6.0 版本。我们的项目完全基于Backoffice。早些时候,我们为印度尼西亚语言环境配置了 in_ID (languageISOcode_countryISOcode),并且工作正常,但现在客户已请求将语言环境设置为印度尼西亚语言环境的 id_ID .

请注意,languageISOcode 已弃用,id 是更新后的印度尼西亚 languageISOcode

下面是我们 hybris 中的代码片段:

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_IDin_ID

请参阅下面的代码:

import java.util.Locale;

Locale localeIndonesia = new Locale("id", "ID");

System.out.println(localeIndonesia); //printed in_ID

您能帮我获取 id_ID 作为印度尼西亚的区域设置吗?

或者

如果这是Java中的错误,那么有没有办法在hybri中获取id_ID

最佳答案

您可以使用以下代码:

Locale locale = new Locale("id", "ID");
System.out.print(locale.toLanguageTag().replace('-', '_')) // printed id_ID

顺便说一句。这不是 Java 中的错误,而是向后兼容性的“问题”。 Java使用ISO 639的第一个版本。后来标准不断更新,更新了一些代码。 Java 被设计为完全向后兼容,因此作者决定不更新该代码。这就是“id_ID”更改为“in_ID”的原因。印度尼西亚语并不是唯一以旧形式使用的代码。至少希伯来语和意第绪语也以旧形式使用。

+---------------------------------+
| Language | ISO 639 | ISO 3166 |
|------------|---------|----------|
| Indonesian | IN | ID |
| Hebrew | HE | IW |
| Yiddish | YI | JI |
+---------------------------------+

关于java - 印度尼西亚的正确区域设置( "id_ID"Vs "in_ID")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55955641/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com