if mobile app supports many languages, should I ask the user to specify the language he wants on the first use or to set a default language based on the device language and let the user change it later from app setting for example? OR There are different suggestions ?
You don't want to make the user think about this. They have already set up their device in their preferred language. I doubt any one would bother to change the language of an app (unless your app is a language learning tool)
So set the app language based on the device language. But don't take my word for it - by all means create a language setting in your app so that the user can change the language to something else, then monitor if anyone actually uses this setting. This way you can make the decision based on hard data rather than my opinion.
If no one changes the language in your app, you can quietly get rid of the app Language setting in a future app update.
BTW You rarely see a language setting in mobile apps.
Asking for details you already know is setting users away from the goal.
Avoid doing that, unless choosing a language adds some specific value:
- For a translating application, user might know English, but it's not their native language. Therefore the device might be in English, but user would prefer to translate from a specific language.
- For an application with a sophisticated language.
So, don't ask for the language unless you can justify that or there is no way to obtain the information otherwise. For example, in case user's device language is not included in your supported languages list.
I think the best idea is to let the user be involved in choosing the preferred language at the first login. Even before the login page, it would be nice if I can choose the language of the app that I have downloaded at the time I hit it to open for the first time.
Other researchers say it would be optimal if we followed the localization rule. Since I live in Germany, I assume that downloading any app from the online store will be directly opened with German language preferences.
As you see, it depends on at many factors, such as the target audience that you want to target and the functionality of the app itself.