Как изменить весь язык приложения в Android
Я разрабатываю приложение, в котором на первой странице я хочу показать страницу выбора вашего языка, и на этой странице я включаю английский, хинди, маратхи в опцию, и мой язык по умолчанию - английский.
Мой вопрос:
1) как изменить весь язык приложения на выбранном языке.
2) После выбора языка каждый раз, когда я снова открываю приложение, оно дает предыдущий выбранный язык.
Пожалуйста, помогите мне решить эту проблему.
3 ответа
Поместите весь текст в файл String. Для каждого языка создайте отдельный файл String (Deutsch values-de/strings.xml, французские values-fr/strings.xml) и при этом вам нужно изменить язык вызова следующей функции. Для английского языка установите "en", для другого установите соответствующий ключ
Configuration config = GetBaseContext().getResources().getConfiguration();
Locale locale = new Locale("en");
Locale.setDefault(locale);
config.locale = locale;
GetBaseContext().getResources().updateConfiguration(config,
GetBaseContext().getResources().getDisplayMetrics());
String lang= "en";
public void changeLang(String lang) {
Configuration config = getBaseContext().getResources().getConfiguration();
if (!"".equals(lang) && !config.locale.getLanguage().equals(lang)) {
locale = new Locale(lang);
Locale.setDefault(locale);
Configuration conf = new Configuration(config);
conf.locale = locale;
getBaseContext().getResources().updateConfiguration(conf, getBaseContext().getResources().getDisplayMetrics());
}
}
Попробуйте этот метод.... Это определенно сработает. Когда вы выберете предпочитаемый язык, передайте выбранный код языка этим методом, и это изменит язык всего приложения.
Попробуйте эту библиотеку для реализации локализации в вашем приложении