I have put simplified Chinese in values-zh-rCN , zh and traditional Chinese in values-zh-rTW. But on changing locale it always load strings from zH. Here is how i am changing Locale.
public void setLanguage(String languageCode, String countryCode){
Locale locale = new Locale(languageCode, countryCode);
Locale.setDefault(locale);
Configuration config = getResources().getConfiguration();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
setSystemLocale(config, locale);
} else {
setSystemLocaleLegacy(config, locale);
}
BaseSharedPreference.getInstance().setLanguage(locale.getLanguage());
recreate();
}
Run Code Online (Sandbox Code Playgroud)