Как получить язык приложения и язык устройства отдельно в Android?

Язык моего устройства — английский, а язык приложения — итальянский. Так как же программно получить язык устройства и язык приложения?


person Debugger    schedule 29.03.2017    source источник
comment
используя Locale, вы можете установить и язык приложения   -  person g7pro    schedule 29.03.2017


Ответы (4)


Получить системный язык

Resources.getSystem().getConfiguration().locale.getLanguage();

Получить язык приложения

String currentLang = Locale.getDefault().getLanguage();
person Elsunhoty    schedule 29.03.2017
comment
Что вы подразумеваете под получением языка приложения? Если в системе установлен язык, не поддерживаемый приложением, оба вернут системный язык, даже если приложение отображается на другом языке. - person arekolek; 13.02.2019
comment
Resources.getSystem().getConfiguration().locale.getLanguage() устарел - person Trinity RX; 03.09.2019
comment
если язык английский, он возвращает «английский» или «en»? - person Ahmed Rajab; 29.11.2020

Это правильный ответ: getResources().getConfiguration().locale

person Ahmad Shahwaiz    schedule 05.10.2018

Котлин — Android X:

val currentSysLocale = Resources.getSystem().getConfiguration().locales[0]
val currentAppLocale = Locale.getDefault().getLanguage()
Log.d("sys locale","$currentSysLocale")
Log.d("app locale","$currentAppLocale")
person Alessandro Ornano    schedule 29.10.2019

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

String DeviceLang =Resources.getSystem().getConfiguration().locale.getLanguage();

И для языка приложения используйте это:

String AppLang = Resources.getConfiguration().locale.getLanguage();
person Kaushik Khambhadiya    schedule 26.06.2019