LocaleList的Android本地化使用多种语言

时间:2018-04-24 18:04:33

标签: java android

我有一个Android应用程序,有可能在主屏幕上选择它的语言(有很多语言,包括默认的英语)。但是从Android 7开始(当出现LocaleList时)我遇到了一个错误:字符串的一部分是一种语言而另一部分是另一种语言。

实施例: 1.在Android的语言设置中选择法语(作为系统默认)和英语; 2.在应用程序中我选择英语; 3.因此,整个应用程序的字符串分为两部分:第一部分是英文(主要是内容,一些菜单等),第二部分是法文(大多数标题,一些下拉菜单,一些单词内容);

我已经在我的BaseActivity中覆盖了onConfigurationChanged方法,其中我将用户的首选语言(存储在我的LanguageManager的静态字段中)设置为默认语言环境,这在Android 7之前运行良好(这是避免语言更改为必要的Android系统的屏幕旋转后。)

我尝试在任何可能的时间更改LocaleList以仅存储用户的首选语言。但它会从Android的系统更新,包含在Android的语言设置中选择的所有语言,首先使用系统的语言。 LocaleList.setDefault在这里不起作用。

我尝试使用google发现所有可能的解决方案,如下所示,但对我来说没有任何效果:

通常,我的代码实现了所有本地化技术,并且在LocaleList出现之前运行良好(旋转屏幕除外)。所以,我如何看待问题:Android代码中的某处存储了一个系统区域设置(列表),它一直在使用。这就是为什么我改变事物的意图都没有成功。

0 个答案:

没有答案