Возможный дубликат:
Изменить язык программно в Android
Я новичок в Android. В моем приложении пользователь может выбрать язык с трех языков. На основе языка, выбранного пользователем, весь язык приложения должен быть изменен. Как я могу это сделать?
Возможный дубликат:
Изменить язык программно в Android
Я новичок в Android. В моем приложении пользователь может выбрать язык с трех языков. На основе языка, выбранного пользователем, весь язык приложения должен быть изменен. Как я могу это сделать?
Используйте это, чтобы изменить язык программно:
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>
Вы можете установить языковой стандарт.
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 и это также