添加Android不支持的本地语言

问题描述 投票:0回答:1

我有一个工作语言切换器,以便用户可以更改语言。

当我想添加基西语(几内亚当地语言)时,挑战就来了。我已经从

official
为此kq-rGN

制作了本地代码

当我运行应用程序时,我可以选择语言,但显示默认英语。

如果我查看翻译编辑器。它在语言选项卡和应用程序中显示

null
,当语言为英语时,会出现
kq
而不是
English

它实际上可以在旧的 Android 版本(如 4)上运行,但在较新的 Android 版本上则不起作用。

数组的XML定义和设置语言的代码

<string-array name="language_codes">    
  <item>en-rUS</item>  
  <item>kq-rGN</item>
</string-array>
    
String lang = listCodeItems[position].substring(0, 2);
String country = listCodeItems[position].substring(listCodeItems[position].length() - 2);
LocaleHelper.setLocale(mContext, lang, country);
recreate();

问题如何让稀有语言发挥作用?

android localization
1个回答
0
投票

根据Google,这就是解决方案

AppCompatDelegate.setApplicationLocales(LocaleListCompat.forLanguageTags(locale));

并且不要使用区域标签 r。就像我的例子一样

kq-GN

注意!此代码适用于 Android Tiramisu 及更高版本

我的问题是,即使这个代码也不起作用。使用此代码,应用程序不会更改为任何语言。如果我尝试运行这个

AppCompatDelegate.getApplicationLocales().toString());

我得到这个输出

[]

我什至在切换语言之前就得到了这个结果,所以看来这里有问题。

© www.soinside.com 2019 - 2024. All rights reserved.