Как изменить весь язык приложения в 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());
        }
    }

Попробуйте этот метод.... Это определенно сработает. Когда вы выберете предпочитаемый язык, передайте выбранный код языка этим методом, и это изменит язык всего приложения.

Попробуйте эту библиотеку для реализации локализации в вашем приложении

Другие вопросы по тегам