I'm working on a mobile application for learning foreign languages. In order to use the app the user must provide provide two pieces of information:

  1. tell us what language you want to learn
  2. tell us what your native language is

What UI would you recommend for asking these two questions? Are there best practices for setting language preferences that can be applied in this situation? My ideal solution would be to use zero text in the entire app but I suspect that may not be possible.

  • 1
    Does this answer your question? ux.stackexchange.com/questions/2472/… I think it's probably a duplicate.
    – JonW
    Commented Jan 7, 2013 at 16:10
  • That's very helpful but only partially addresses the question. There's also the challenge of distinguishing between two different types of language preferences: the users native language and the one they are trying to learn.
    – hughesdan
    Commented Jan 7, 2013 at 16:14
  • OK, I see. A subtle difference but I agree they are different things (showing two language options and being able to show that one is native and one is target - a bit like the Google Translate options, but without text?). Hopefully the answers you get don't just mirror the linked question though, or a load of icons (which would be off-topic here) so the question might need a rewording if that happens.
    – JonW
    Commented Jan 7, 2013 at 16:29
  • I suspect that you aren't talking about native language as much as the language you are learning in. If Zulu is my native language, but I speak English fluently, then it's likely I want to learn in English as you probably don't have Zulu as an option.
    – JohnGB
    Commented Jan 7, 2013 at 16:38
  • 1
    @JohnGB - the content of the app will be crowd-sourced so even Zulu would be a valid option. The purpose of asking for the users native language is to know what language they will make contributions in. The "learn" language preference is so that we can show the user relevant contributions from other users that speak that language. Make sense?
    – hughesdan
    Commented Jan 7, 2013 at 16:41

2 Answers 2


I don't know how you designed the whole experience of your app but I would recommend to adapt the interface to the native language first and then letting users select the language they want to learn. http://www.busuu.com/enc In the first case a simple multiple selection would be good and I would use the two letters code or the entire name of the language. In the second case even if flags are not a natural sign connected to languages I would use them along with the language code ore with the full text.

Even if I agree with the considerations pointed out in this article How to graphically represent a language flags are now widely used aroud the web and they can be considered a sort of standard de facto.

Moreover final users of your app want to learn a language and usually the official languages do not consider all the differences between different countries (if you're studying english you study the British English). Unless your app doesn't provide a distinction between let's say USA and UK english...

  • 1
    What if you don't even know what the flag where the language you want to speak is? If I wanted to learn Swahili what flag would I choose for that? Flags aren't languages, they're countries. Countries speak lots of languages, and lots of languages are spoken in multiple countries.
    – JonW
    Commented Jan 7, 2013 at 16:45
  • 1
    That is why Flags with the Language name are used together. This all goes back to pointing that these preferences cannot be set without using Text.
    – imbakaran
    Commented Jan 7, 2013 at 18:07

I don't think you can get away without using ANY text in your app. Specially in the set up of user preferences.

To make it easier to the user, you can take a 2 step approach.

Screen 1 - asks about User's native language. This will have to be a dropdown (Standard practice is Using English Text). Using Flags may or may not work depending on how many languages you wish to support. For example, India is one flag but over 20 languages. If you are only supporting national languages, Using flags might work.

Now that you have the language that the User speaks,

Screen 2 - will be in that language asking what language they wish to learn and it's the same dropdown. People will be familiar with this dropdown the second time and will be easier for them.

I understand that you are trying to do something novel here by not using text and such.. Would love to hear what your ideas are. Often best practices are ones that are standard and people are used to them. Eg. Check out Rosetta stone. They also use an English Dropdown.

  • This seems like quite a lot of effort - split between several screens too. Also, flags should not be used for selecting language because flags just don't correlate with language, there are too many other meanings behind flags.
    – JonW
    Commented Jan 7, 2013 at 16:36
  • This does not seem like too much effort as this is the core of the setup for this app. It's like saying that changing the desktop picture is a lot of work because you have to open display setup and select a picture. It's a two step process, unavoidable and fairly easy with two same dropdowns. I agree flags are not a good idea though.
    – imbakaran
    Commented Jan 7, 2013 at 18:10

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.