5
我創建了多語言(英語,俄語,烏茲別克語)應用程序。我把4個字符串資源放在4個文件夾中(值,values-en,values-ru,values-uz)爲docs。當我更改應用程序語言的更新資源的開發配置應用程序控制器類似如下:使多語言Android應用程序
Settings.LANGUAGE = prefs.getString(User.LANG, Settings.RUSSIAN);
Locale locale = new Locale(Settings.LANGUAGE);
Locale.setDefault(locale);
Configuration configuration = new Configuration();
configuration.locale = locale;
getBaseContext().getResources().updateConfiguration(configuration,
getBaseContext().getResources().getDisplayMetrics());
該應用程序重新啓動後,通過調用應用程序控制器的方法,象下面這樣:
public void reStart() {
Intent i = getBaseContext().getPackageManager()
.getLaunchIntentForPackage(getBaseContext().getPackageName());
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
}
他們之後它運作良好,幾乎所有的圖謀。但在三星Galaxy S6(SM-G920F)上,它的工作原理非常瘋狂。有些詞語是英文的,其他詞語是烏茲別克語和英語。 那麼,如何解決這個錯誤?是不是支持所有設計(適用於)的「支持不同語言」的概念? 通過我已經檢查了所有資源的開發都在相應的語言給出(如圖附圖片)的方式:
三星喜歡在那裏做自己的事情....:我發現,他們並不總是遵循標準(幾件事) –
不要更改設備語言時,而不是像編程你得到了同樣的問題那? – DeeV
那我該怎麼做? @NeilLocketz –