在多语言应用程序中,当我使用默认语言(英语)时,它会从默认(res / values)文件夹中选取strings.xml。鉴于加拿大英语也使用相同的文件夹(res / values)。根据android标准,它必须从相应的文件夹(res / values-en-rCA)中获取。
我不知道我哪里错了。是否需要根据设备语言?
使用的区域代码:
英语 - en
英语/加拿大 - en_CA
答案 0 :(得分:1)
You need to set the locale in order to load the proper resources.
DisplayMetrics metrics = getApplicationContext().getResources().getDisplayMetrics();
Configuration configuration = new Configuration();
Locale locale = new Locale("en_CA");
configuration.locale = locale;
Locale.setDefault(locale);
res.updateConfiguration(configuration, metrics);