我在西班牙语Lang中有string
个文件。当我将设备语言更改为西班牙语时,一些strings
被翻译,一些保留为默认英语语言。以下是我的代码。
我已将此行添加到清单文件android:configChanges="locale"
@Override
public void onConfigurationChanged(Configuration newConfig) {
Ut.refreshLayoutAccordingToLanguage(BaseActivity.this);
super.onConfigurationChanged(newConfig);
}
public static void refreshLayoutAccordingToLanguage(Activity mContext) {
try {
String lang = Locale.getDefault().getLanguage();
Locale myLocale = new Locale(lang);
Resources res = mContext.getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = myLocale;
res.updateConfiguration(conf, dm);
mContext.onConfigurationChanged(conf);
}
然后我重启我的活动
Intent intent = mContext.getIntent();
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_ANIMATION);
mContext.finish();
mContext.startActivity(intent);
请帮忙。