35

In an interface that supports multiple languages, is it reasonable to show them by their language code, or should the full names be used?

eg:

Select Language:
En ❘ De ❘ Es ❘ Fr ❘ Pt ❘ Ru ❘ Zh

Or is it better to use:

Select Language:
English ❘ German | Spanish | French | Portuguese | Russian | Chinese

Personally I don't know what these language codes mean off hand, however - native speakers who are use the internet may be used to recognizing their own language (its often assumed that USD means United States Dollars for example).


This is technical documentation, however this may not be important.

unor
  • 3,956
  • 1
  • 24
  • 47
ideasman42
  • 495
  • 4
  • 9
  • 6
    Language full name seems much clearer. I think it mostly depends on how much language are available. With as many language as you posted, the full name make it much more clearer. –  May 18 '16 at 13:08
  • Will the language code be recognised in a country where the language is used? Pt in Brazil, Fr in Senegal? – nigel222 May 18 '16 at 13:56
  • 9
    To answer your question with a question: What's Zh and why do I have to look it up? – MonkeyZeus May 18 '16 at 14:36
  • 4
    @MonkeyZeus, agree, however, maybe speakers of this language know what this means. Thats why Im asking the question. – ideasman42 May 18 '16 at 16:00
  • Your question is quite valid. I just wanted to point out a knee-jerk reaction which clients may experience. – MonkeyZeus May 18 '16 at 16:52
  • 1
    Most of the time, I've seen flag icons included. – chrylis -cautiouslyoptimistic- May 18 '16 at 19:18
  • why not also use flags of nations that speak certain languages, most people will recognize which languages they represent. – tmcc May 18 '16 at 19:35
  • 5
  • Actually, I'd only assume USD was for United States Dollars if I saw it in a financial context, otherwise I'd interpret it as something else altogether. Stick to the full name unless you have an incredibly long list of languages to manage. – Monomeeth May 18 '16 at 23:03
  • 1
    imho, for Chinese, non-techie users may not be able to recognize "zh". also, it is better to specify it is "Traditional Chinese" (for Taiwan, Hong Kong, Macau) or "Simplified Chinese" (for China, Malaysia, Singapore). – wilson May 19 '16 at 09:00
  • 1
    @chrylis there are no flags for any of those languages. – Jon Hanna May 19 '16 at 11:31
  • I like the language codes! – Fattie May 19 '16 at 11:51
  • @JonHanna UK for English, Germany for German, France for French... – chrylis -cautiouslyoptimistic- May 19 '16 at 14:29
  • 3
    @chrylis why not the Irish flag for English, the Liechtenstein flag for Germany, the Côte d'Ivoire flag for French? – Jon Hanna May 19 '16 at 14:33
  • 1
    @chrylis UK fails both way, it has Scots, Ulster Scots, Welsh, Cornish, Scottish Gaelic and Irish among its recognised languages, and has a greater percentage of each of the world's speakers of those languages than it does for English. It's also the primary place where British Sign Language is used and has the second-largest population of Irish Sign Language users. (the BSL and Cornish point would also apply to the English flag). It's an inappropriate symbol for en on multiple counts. – Jon Hanna May 19 '16 at 14:36
  • 1
    @MonkeyZeus: "What's Zh and why do I have to look it up?" - would you rather be able to understand the Chinese word for "Chinese" written in Chinese? – O. R. Mapper Jan 02 '18 at 09:54
  • 1
    @O.R.Mapper Yes, that is exactly correct. "Chinese" should be spelled using Chinese characters so that a Chinese-only speaker doesn't have to recognize English letters if the interface defaults to English. Ditto for the other languages. Additionally, when a language is chosen, the language selections should remain spelled in their native characters. – MonkeyZeus Jan 02 '18 at 14:02
  • @MonkeyZeus: I fully agree about using the native designations and scripts for each language. My point was that zh is still closer to a Chinese word for "Chinese" (as it is the beginning of the pinyin transliteration for the word) than the English word Chinese that was suggested by the OP and seemingly preferred by your comment. – O. R. Mapper Jan 02 '18 at 14:08
  • @O.R.Mapper No worries, looking back at my comment, it is kind of cryptic. Quite honestly, if a Chinese speaker recognizes "zh" then I would be surprised if they did not also learn what the letters "chinese" stands for when they learned what "zh" stands for. – MonkeyZeus Jan 02 '18 at 14:17
  • @MonkeyZeus: Sure, in the concrete example, Chinese speakers are indeed somewhat unlikely to recognize zh over Chinese. I just think that - assuming you are not a speaker of Chinese - your counter-question would have made just as much sense had it said "What's 中文 and why do I have to look it up?", thereby supporting the opposite of what you wanted to express. The same could be said about "What's de/es and why do I have to look it up?", as native German/Spanish speakers may indeed be more likely to recognize the respective abbreviation than the English language name. Therefore, I find ... – O. R. Mapper Jan 02 '18 at 14:25
  • ... it questionable to use the abbreviation zh for an example to show a general rule/preference. – O. R. Mapper Jan 02 '18 at 14:27

4 Answers4

56

It's a common pattern to use both, with following points in mind:

Design for the lowest common denominator

Assume that in the mix of language use and comprehension, many users will get confused with just the two letter codes

Avoid making the user think unnecessarily

In that case, that would mean including as much information as is reasonable. It doesn't take that much extra to use both the language name and the code.

The language selection should be in the language of the user

so 'Español - es', not 'Spanish - es'

The two-letter codes are a standard and should be lower-case

es, not Es or ES

So, ideally, your list should look something like this (formatting is a question of style):

English (en) | Deutsch (de) | Français (fr) | etc.

dennislees
  • 11,583
  • 1
  • 34
  • 53
  • 28
    Two letter codes for languages (ISO 639-1) should not be capitalized. The canonical form is lowercase. Two letter codes for countries (ISO 3166-1 Alpha-2) should be capitalized. – Grodriguez May 18 '16 at 16:03
  • 34
    +1 for putting the language name in the target language. If I'd accidentally switched to a Chinese mode, I'd have no idea that 英语 meant "English" (assuming Google is correct). – TripeHound May 18 '16 at 16:11
  • 4
    It's worth nothing that sometimes it's nice to use the 4-letter codes for languages, as in en-US or pt-BR - there are cases that more than one country uses a given language and the dialects can be really different. – T. Sar May 18 '16 at 18:07
  • languages shall be lowercase; Countries are capitalized. – Abektes May 18 '16 at 21:17
  • I'd even say always use the 4-letter code. It's better to be consistent. – Filip Haglund May 18 '16 at 21:18
  • 1
    @Abektes - answer edited to reflect your input – dennislees May 19 '16 at 00:50
  • @Grodriguez - answer edited to reflect your input – dennislees May 19 '16 at 00:51
  • 1
    @ThalesPereira Personally i'd only display the dialect for languages where it's needed. Afaict english is mutually intelligable enough that only pedants bother with seperate British English and American English versions. – Peter Green May 19 '16 at 13:49
  • 1
    @PeterGreen That may be true for english, but it is surely not for portuguese - in some extreme examples, a few words that are considered polite in pt-PT are actually censored words on pt-BR! – T. Sar May 19 '16 at 14:27
  • What's the advantage of also including the language code? Why would a user prefer "Français (fr)" instead of just "Français"? – svick May 20 '16 at 00:39
8

If you need to abbreviate, they're the abbreviation to use.

If you've a technical audience, of a sort where knowledge of the ISO codes would be expected for their field, they're even more likely.

Any other abbreviations should definitely be avoided. I've come across plain confusing abbreviations the authors deemed "more obvious" before and it's a massive pain.

In all though, it's better to go with full names, but not in another language as you have in your second example. Would you have known to pick Béarla, английский, انگریزی, or 英語 to select English if that was put in front of you? Many English speakers wouldn't. And why should they?

Much better to go with:

English | Deutsch | Español | Français | Português | Ру́сский | 汉语

And of course, never use flags (I know you didn't threaten to, but people often do).

Jon Hanna
  • 701
  • 5
  • 7
  • 7
    +1 for "never use flags". It's amazing how many developers fail to understand how offensive it is to have your language associated with the flag of a country that might be hostile to you. – R.. GitHub STOP HELPING ICE May 19 '16 at 18:00
  • 1
    That honestly would never have occurred to me. Can you provide an example? – spraff May 20 '16 at 00:35
  • @spraff Brazil vs Portugal – Arnold May 20 '16 at 01:42
  • 1
    North Korea vs South Korea is the most hostile I can think of. There's a lot of countries that aren't really hostile, but are going to rub people wrong. Mexico (world's largest Spanish speaking country, which covers about a quarter of Spanish speakers) or Spain for Spanish? UK or US (70% of the world's native speakers and 25% of the world's speakers) for English? – prosfilaes May 20 '16 at 06:27
  • 3
    UK vs US are different tho... If I see a union flag, I'll expect £, dd/mm/yyyy, and no "z". If I see a US flag, I'll expect $, mm/dd/yyyy (total pita) and lots of "z". – RemarkLima May 20 '16 at 07:47
  • I definitively agree with RemarkLema! Another example: Switzerland vs. Germany vs. Austria vs. Liechtenstein. Swiss uses a point to separate decimal digits while Germans uses a comma. Or Swiss never use ß. – Thomas May 20 '16 at 10:07
  • @R.. I've also seen websites that combined two flags into an icon (like this). I guess that would be less offensive, but it's also harder to distinguish. – user2428118 May 20 '16 at 10:46
  • 2
    @spraff the majority of countries in the world have predominant languages that came from a country with a colonial history in the country in question, and as such at least some there dislike. It's not the only reason to avoid flags. Ultimately national flags are symbols of nations, and nothing else. – Jon Hanna May 20 '16 at 10:54
  • 3
    You don't have to go far from the UK for an example. What does a citizen of the Irish Republic think when the language he speaks is identified with the British flag? As for going far there's Australian English which is neither UK nor US. I'm told there is even such a thing as Indian Railways English! – nigel222 May 20 '16 at 15:19
  • @nigel222, to be fair, in the Republic of Ireland they do speak either British English or Gaelic... And if they saw a UK flag, they'd expect prices in GBP rather than Euro. I think that the bottom line is, if an application is localosed then a flag of that locality is perfectly acceptable. If it's localised to Australia, then use an Oz flag, and give prices in AUD, ad hoc – RemarkLima May 21 '16 at 09:02
  • 1
    If its a financial app then it's probably for one country only by legal and currency constraints. A flag can imply this. OTOH if it is, say, software for creating animations, then there will be no need for separate versions in each of the countries where English is used, and a national UK and/or US flag may then rankle with the end users. – nigel222 May 21 '16 at 09:17
  • Agreed, hence saying I think if it's localised to a region, a flag is appropriate... But not limited to a financial app, but ecommerce, data specific to a region, a target audience in a specific market or for organisations specific to a locality. Say an animation app only available to UK users with lots of local references... I think this would make for an interesting following question, when is it appropriate to use flags in UX – RemarkLima May 21 '16 at 09:45
  • @RemarkLima Irish English is neither British English, nor Gaelic. While it is closer to British English than many other forms, it differs in several ways. For example, it would be very rare in Irish English to refer to the Irish language as "Gaelic", preferring either "Irish" or the Irish loan-word "gaeilge", whereas "Gaelic" is indeed used that way in British English. – Jon Hanna May 21 '16 at 15:58
  • @jonhanna, not being Irish it was a guess... But if the application was local to Ireland, then an Irish flag would make sense, similarly if it were local to the UK, then a union flag would make sense? – RemarkLima May 21 '16 at 16:02
  • 2
    @RemarkLima yes, if you wanted to indicate a country, then a country flag would indeed be perfect (assuming there's a textual backup for those who can't tell one flag from another visually due to blindness, colour-blindness, etc.). For a language, not at all. For a language and country combination, it can only be part of the solution. – Jon Hanna May 21 '16 at 17:08
1

If user needs to input with keyboard, I think that the two letter combination will be efficient but there are also three letters as option. Also check ISO 639-1 here

Using and searching for standards are important.

Abektes
  • 5,583
  • 4
  • 25
  • 34
1

Is it reasonable to use language codes? Yes. Probably. They're fairly recognizable. Is it better to use the full names...? "Better" is contextual.

It's good of you to mentioned that the context is technical documentation, and since that's the case I would posit that, while the full names may be prettier and slightly more informative, they are not necessarily "better".

Language codes will be recognizable as such in even moderately technical material, a users' manual for instance, and the actual meaning of the codes should be recognizable to the speakers of that language. And if you have any fear that they will be received with any uncertainty you may include the full names (in the native language--not using the English equivalent as in the example from the original question) as a smaller sub-heading or on hover, or some such device, depending on the capabilities of your medium.

Another advantage is that language codes will scan faster than the full names. They can be used almost as an icon would, allowing near-instant recognition of a basic significance, and don't need to convey much meaning of their own.

They're easier to keep out of the way, as they are so concise, which is a plus as once one has found the language he is looking for he doesn't need them anymore.

Finally, in some contexts, it is possible that they are less ambiguous than full names--there are 3 Norwegians as I understand--as they are a standard and thus designed to exact.

The only caveat that I might include is that depending on the perceived literacy of the audience you may need to consider languages which to not use a Romanesque alphabet, but again, you're asking about technical documentation, so likely the user has been well exposed to our characters.

InkyDigits
  • 319
  • 1
  • 8
  • 1
    You are supposing that by "technical" the OP means an Information Background. That's not necessarily true - several technical jobs don't really have any need to understand foreign languages codes. – T. Sar May 18 '16 at 18:11