我正在尝试以编程方式设置我的应用程序的语言,但它只改变了我的一些字符串。我有值文件夹,其中是英文的默认字符串。然后我创建了 values-fr 并将每个字符串翻译成法语,所以现在我有(英语)默认值文件夹,其中有我的英语 strings.xml 和 values-fr 文件夹,其中有我的法语 strings.xml
这是我用来更改语言 onCreate 和 onResume 的代码:
String languageToLoad = "fr"; // your language
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
但它只会更改一些字符串,例如我偏好的所有字符串都会更改,但主要活动中的字符串保持不变。知道是什么原因造成的吗?