views:

89

answers:

4

Hello,

In the webapp I am doing, I need to identify language people are speaking. I wanted to use flag to do that. But I have some problems.

For example, if you speak French, you can put the French flag. But if you speak English you can put either the US or UK flag or a mix of both.

Which flag to choose for Arabic language ? Saudi Arabian flag ? Algeria ? Morocco ?

+2  A: 

The answer is to not use flags to identify languages. Not only there isn't a one-to-one mapping, and you won't cover all languages that way (Kurdish?), but some flags may be controversial (consider Taiwan flag for Traditional Chinese).

Pavel Minaev
Kurdish is not a standart language (ie. does not accepted by ISO), so you should not worry about non-standart languages.
eyazici
Wow. So if ISO doesn't have a standard code for a language, then it doesn't exist, and software shouldn't be localized for it?
Pavel Minaev
+2  A: 

Language and nationality are different terms, if your English translation is American English, you should use American flag, for British English use England flag and so on. There are lots of dialects in Arabic so which flag you should use depends on which language/dialect you use.

eyazici
Since the user will choose the language, I will let him choose the flag as well. (It is not about to choose the application language but the language the user are speaking.)
Natim
There's still no one-to-one mapping, and a lot of potential issues which can offend people. For example, if your product simply _displays_ the flag for Taiwan (even if user can avoid choosing it), you're virtually guaranteed a ban in China. But if you use PRC flag for Traditional Chinese localization, you will offend a lot of people in Taiwan. E.g. see this: http://www.linux.com/archive/articles/25749
Pavel Minaev
If you propose to the user to say that it can speak chinese from Taiwan and chinese from China, everybody is happy. The flag is just faster to identify the community in this case. Ho this guy can speak Arabic from Arabia or Arabic from Maroco.
Natim
@Pavel Minaev. Yes, using language flags is another approach, there is a nice project for this around: http://www.languageicon.org/ . But I personally prefer using country flags since they are more identifier most of the time.
eyazici
If you propose the user that he can speak "Chinese from Taiwan", with that exact wording, your software _will be banned in PRC_. If you remove Taiwanese flag, but leave the PRC flag in (and, worse yet, use the PRC flag for both Chinese dialects), you will highly offend many Taiwanese users.
Pavel Minaev
@eyazici, using "language flags" is even worse! I've already mentioned Kurdish as one language for which doing this will stir a great amount of controversy. Similar situations exist with e.g. Tibetan, Abkhazian, Basque etc.
Pavel Minaev
+3  A: 

I think it's usual to use fragments of the language as a kind of graphic (text, instead of flags), for example:

  • english
  • français
  • русский язык
  • العربية
  • 中文
ChrisW
This is a good idea, but flags add colors.
Natim
Do you want eye candy or functionality?
Thorbjørn Ravn Andersen
A: 

You know that the browser sends a list of locales that the user likes? And you can choose from them inside your webserver to select the one the person likes the most?

You can see here how the Debian project has solved this issue: http://www.debian.org/intro/cn

Thorbjørn Ravn Andersen