I'm building an android app and I'm asking myself what strategy (regarding the final user) would be the best about multi-language.

In android, the first time a device is started the user must choose a device language in order to display every app in that language (let's say, for example, spanish).

So every app that has spanish text will display spanish text for me, but if it has not defined spanish texts, it will display app's default language (usually english)

On the other hand, I can code an alternative to let the user switch between languages.

In either case my app will be multi-language.

In my particular scenario, lots of my potential users have their device language set to Spanish, (and won't change that because not all major apps are catalan-compatible) but they would complain if my app is not in Catalan. (political and cultural reasons)

So the questions are:

  • Should I put a "change language" button somewhere in my app and walk away from the guidelines? (More coding and centered in users who want a particular language to be displayed different to the language they have on their device)
  • Should I stick to the guidelines and make the app to only display in the device's user chosen language? (Still multi language, just the app assumes the language you selected for your device is the want you are comfortable with)


I tried to re-write some of the explanation to try to explain myself a bit better.

  • 1
    1. Make your app auto-follow device's current selected language. 2. Give option in the "Settings" part of the app to change the language. This will be the best option.
    – Ades
    Commented Jan 22, 2015 at 9:29

3 Answers 3


There are two cases, and two different optimal behaviours

Clearly if the app has the language available that user has chosen in Android, then it should not display anything and app should "just work". Having a language choosing chore is an unnecessary task for a user, and that's poor UX.

If your app does not have the language on the Android platform, then providing a choice on loading is a reasonable behaviour.

Specifically if you just drop a "Change Language" feature somewhere in the settings it is unlikely to be discovered.


I think adapting the app to device language is an idiot idea. For most users the default language is not what they have chosen. It depends on where they have bought their device. A Spanish marketplace mostly sells devices with Spanish as default language.

We are not supposed to guess the user preferred language. Preferred language depends on lots of parameters that we are not aware about them. So simply let the user to choose a language.

No body dislike FREEDOM.

  • Reading your answer I realize I didn't quite explained myself. I'll edit and try to clarify what I mean Commented Jan 21, 2015 at 23:05

Depending on how important it is for the user to choose the language, you could:

  • proactively ask the user in the on boarding flow which language they'd like (and depending on the device's chosen language you might be able to predict which languages they are likely to choose)
  • not proactively ask the user, but include the option for the user to change the language in your app's settings

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.