Подтвердить что ты не робот

Как изменить язык моего приложения

Возможный дубликат:
Изменить язык программно в Android

Я новичок в Android. В моем приложении пользователь может выбрать язык с трех языков. На основе языка, выбранного пользователем, весь язык приложения должен быть изменен. Как я могу это сделать?

4b9b3361

Ответ 1

Используйте это, чтобы изменить язык программно:

Locale locale = new Locale("en_US"); 
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
context.getApplicationContext().getResources().updateConfiguration(config, null);

Напишите код страны для языка вместо "en_US" для любого языка, который вы хотите. Например, для японского ja_JP; для арабского, ar. Проверьте эту ссылку для списка.

И создайте папку в res/values-ja для японского или res/values-ar для арабского.

string.xml файл string.xml и поместите все языки на свой макет. Он извлекает язык по умолчанию из папки значений, в противном случае, если вы хотите его вручную, он будет извлекать из вашей внешней папки values-ar и т.д.

Пример res/values-ar для арабского:

<?xml version="1.0" encoding="UTF-8"?>
  <resources>
    <string name="label">حسب</string>
    <string name="name">بحث</string> 
    <string name="search">بحث :</string>
 </resource>

Ответ 2

Вы можете установить языковой стандарт.

    Resources res = context.getResources();
    // Change locale settings in the app.
    DisplayMetrics dm = res.getDisplayMetrics();
    android.content.res.Configuration conf = res.getConfiguration();
    conf.locale = new Locale(language_code.toLowerCase());
    res.updateConfiguration(conf, dm);

Если у вас есть определенный язык - вы можете изменить эту базу в настройке. более подробно вы можете увидеть Locale и это также