2016-09-27 5 views
5

Я создал несколько языков (английский, русский, узбекский). Я поместил 4 строки resoureses в 4 папки (значения, значения-en, values-ru, values-uz) как docs. При изменении приложения конфигурации обновления языка ИСКОПАЕМЫЕ в App Controller, как показано ниже:make multi language android application

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()); 

После этого приложения перезагружается с помощью вызова метода App контроллера, как показано ниже:

public void reStart() { 
    Intent i = getBaseContext().getPackageManager() 
      .getLaunchIntentForPackage(getBaseContext().getPackageName()); 
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    startActivity(i); 
} 

после них хорошо работает почти все ПЕЧНЫЕ. Но на Samsung Galaxy S6 (SM-G920F) он работает как сумасшедший. Некоторые слова написаны на английском языке, а другие - на узбекском языке. Итак, как исправить эту ошибку? не являются понятиями «Поддержка разных языков», поддерживаемых (применимыми) для всех устройств? Кстати, я проверил, что все ресурсы этого приведены в соответствующих языках (как показано на прилагаемом изображении):

enter image description here

+0

Samsung любит делать там свое дело ....: [Я обнаружил, что они не всегда соответствуют стандартам (для некоторых вещей) –

+0

У вас возникает такая же проблема при смене языка устройства, а не на программном что? – DeeV

+0

Что мне делать? @NeilLocketz –

ответ

2

По моим наблюдениям, странное поведение затрагивает только заголовки активность, и я обнаружил, что я был настройка перевода названий действий в файле манифеста. Только эти переводы были неправильными. Все остальные динамически переведенные переводы работали нормально. Таким образом, чтобы решить эту проблему, я удалил все ярлыки деятельности из манифеста файла, а затем установить заголовки активности в методе OnCreate, как показано ниже:

getSupportActionBar().setTitle(R.string.title_activity_followers); 

проблема решена.