将da-DK转换为丹麦语(丹麦)等

时间:2016-11-04 16:47:10

标签: java android android-studio locale

如何将区域设置ID转换为Java中的显示语言和国家/地区。例如,我有一个这种格式的语言环境列表:“da-DK”,我希望它们都显示为“丹麦语(丹麦语)”。

到目前为止,这是我的代码:

    public void getAvailableLocales() {
    systemLanguages = Resources.getSystem().getAssets().getLocales();
    Arrays.sort(systemLanguages);
    for (int i = 0; i < systemLanguages.length; i++) {
        String sL = systemLanguages[i];
        Locale loc = new Locale(sL);
        String locDisplayResults = loc.getDisplayName();
        languagesList.add(new Languages(locDisplayResults));
        recyclerAdapter.notifyDataSetChanged();
    }
}

不幸的是,getDisplayName()仅适用于语言只有两个字母的情况,例如“ar”代表“阿拉伯语”。它使“ar-EG”保持不变。

1 个答案:

答案 0 :(得分:1)

不使用new Locale(sL),而是使用Locale.forLanguageTag(sL)