По первой ссылке пробовал
Код: Выделить всё
if (id == R.id.language_ru) {
String lang = "ru";
Locale locale = new Locale(lang);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
}
ничего не происходит
Код: Выделить всё
if (id == R.id.language_ru) {
config = new Configuration(getResources().getConfiguration());
config.locale = Locale.GERMANY ;
getResources().updateConfiguration(config,getResources().getDisplayMetrics());
setContentView(R.layout.activity_main);
}
Попробовал на немецкий, потому-что Locale.RUSSIAN выдавало ошибку, исчезают все строковые ресурсы
Код: Выделить всё
if (id == R.id.language_ru) {
String languageToLoad = "ru"; // your language
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
this.setContentView(R.layout.activity_main);
}
так же исчезает весь текст
а по второй ссылке немного не подходит, потому-что там всего лишь несколько вьюшек и он каждую отдельно подгружает
private void updateTexts()
Код: Выделить всё
{
txt_hello.setText(R.string.hello_world);
btn_en.setText(R.string.btn_en);
btn_ru.setText(R.string.btn_ru);
btn_fr.setText(R.string.btn_fr);
btn_de.setText(R.string.btn_de);
}
а мне нужно все приложение перевести.