How to get language (locale) currently Android app displays?

Aleksejs Mjaliks picture Aleksejs Mjaliks · Dec 31, 2011 · Viewed 34.2k times · Source

How to get know language (locale) currently Android app uses to display texts to user?

I know I can use Locale.getDefault() to get default OS locale. But it may differ from locale used by app to display text and other resources, if this locale isn't supported by app.


I need to determine language (locale) displayed by the app, thus the app can pass language to the server, so it can localise returned results.

Answer

Aleksejs Mjaliks picture Aleksejs Mjaliks · Jan 1, 2012

My own solution is to add to strings.xml key-value pair locale=<locale code>, thus context.getResources().getString(R.string.locale) will return locale code specific for used locale.