DEV Community

Cover image for How to offend most of your international users all at once
Andrew Owen
Andrew Owen

Posted on

How to offend most of your international users all at once

This article originally appeared on my personal dev blog: Byte High, No Limit.

We love icons. They're a great way to convey information simply, even if many of them are skeuomorphs from a bygone age. You know, like using a floppy disk ( 💾 ) to mean save; a telephone receiver ( 📞 ) for voice calls; an envelope ( ✉️ ) for email; a single lens reflex camera ( 📷 ) for taking a picture; a movie camera ( 🎥 ) for video; a folder ( 📁 ) for file containers; a calendar ( 📅 ) for dates; a newspaper ( 📰 ) for news feeds; a spiral notepad ( 🗒️ ) for text editors; an alarm clock ( ⏰ ) for alerts; a stopwatch ( ⏱️ ) for timers; a bed ( 🛏️ ) for sleep; a book ( 📖 ) for electronic publications; and so on. And I took most of those examples from the current version of iOS nearly a decade after Apple supposedly abandoned skeuomorphism. But we keep on using them because they are unambiguous, with a one-to-one meaning. Unlike say, flags.

Flags are problematic. All of them, not just the ones banned in Forza as “notorious iconography”. Typically, they represent a cultural identity that even those who reside within the state that they represent may not be comfortable with. They can also be unnecessary reminders of past wars, territorial disputes and current conflicts. And unlike icons, there is no one-to-one match between flags and languages. The same language may be spoken in multiple states. It is common for states to have at least two widely spoken languages. There are multiple states that use the same language. Some states have flags that look very similar to the flag of other states. And that's just scratching the surface of the problem.

The W3C has this to say about it:

Don't use flags to indicate languages! Flags represent countries, not languages. Numerous countries use the same language as another country, and numerous countries have more than one official language. Flags don't map well onto these permutations. In addition, flags have nationalistic connotations that may be unwelcome for people of other countries, even though they speak the same language. While flags can be very appropriate for sites that are distinguished on the basis of region (e.g. the amazon.co.uk site vs. the amazon.ca site), you should normally avoid them when dealing with links to pages that are just translations.

And that misses the point that Ireland typically gets lumped in with the UK due to the shared use of English (at time of writing, www.amazon.ie redirects to www.amazon.co.uk). So what's the solution? Use the ISO two-letter language codes. And, optionally, you can include a hover text with the name of the language in that language. For example, FR [Français]. If you need to distinguish between variants of the same language, you can use the subtags from the IETF language tags. For example, PT-BR [português brasileiro]. If you're convinced, you could stop reading now. If not, here are some example problems.

Brazil 🇧🇷

Commonly used to represent Portuguese. There are over 100 Amerindian languages spoken in Brazil. There are also differences between Brazilian Portuguese and the Portuguese used in Portugal.

Chad 🇹🇩

Indistinguishable from the flag of Romania. The two official languages are French and Arabic. Setting aside using the flag of France for French, which flag are you going to choose for Arabic that isn't going to upset the occupants of at least one other Arabic-speaking nation?

France 🇫🇷

Commonly used to represent French. France has many regional languages, including Basque, Breton, Catalan and Corsican. French is one of the main languages in countries including Belgium and Switzerland. French is also a major language in many former French colonies that aren't too happy about having been colonized by France.

Germany 🇩🇪

Commonly used to represent German. Germany has many regional languages, including, Low Rhenish, North Frisian and Saterland Frisian. German is also the main language in Austria and one of the main languages in Switzerland.

India 🇮🇳

The main two languages are Hindi and English. But there are hundreds of languages in use. At time of writing, the constitution mentions 22 languages, with demands to add another 38.

Mexico 🇲🇽

Commonly used to represent Spanish. The federal government recognizes over 50 linguistic groups and over 300 varieties of indigenous languages. Spanish is spoken throughout South America, but there is no homogenous Latin American dialect. There are at least 16 languages besides Spanish and Portuguese used in South America with at least 125,000 speakers. Spanish as spoken in the Americas differs from that spoken in Spain. Spain itself has many regional languages, including Basque, Catalan and Galician.

United Kingdom 🇬🇧

Commonly used to represent English. English is an official language in over 50 states, although that doesn't include the United Kingdom, the United States, Australia or New Zealand. At the time of writing, the only official language in the UK is Welsh, and the only official flags are the Welsh and Scots flags. As I've mentioned before in other posts, there are two distinct spelling systems (Cambridge; -ise endings, and Oxford; -ize endings). Cambridge is used in most of the former colonies, except Canada (which has its own versions of English and French). The IETF advocates using the two-letter country code in addition to the ISO two-letter language code, but that produces EN-GB, which doesn't tell you if you're using Cambridge or Oxford. Also, much to the annoyance of the English, American is the most commonly used English dialect. I therefore propose the following codes:

  • (American) English: EN (the lingua franca, to the annoyance of the French)
  • Australian English: EN-AU (the official Australian version)
  • Cambridge English: EN-IE (same as Hiberno-English, an official language of Ireland)
  • Canadian English: EN-CA (any version of English that doesn't closely follow a single dialect)
  • New Zealand English: EN-NZ (vowel-reduced English)
  • Oxford English: EN-OX (English for classics scholars)
  • South African English: EN-ZA (English where vowels are entirely optional)
  • Strine: EN-OZ (the version of Australian English as it's actually used)

Image: The Esperanto flag, in case you were wondering.

Top comments (2)

Collapse
 
ingosteinke profile image
Ingo Steinke • Edited

I sometimes wish there were colourful icons to represent languages, but on the other hand, predefined icon colors can clash with design systems. This colour clash might also be the reason why some designers prefer to use greyscale versions of brand logos.

As you mention dialects, there is an additional, optional ISO code to indicate dialetcts. We misused the dialect code pragmatically to ship different legal text and brand names for some customers in Belgium vs. the Netherlands, Austria vs. Switzerland vs. Germany.

A propos of Germany, besides the official languages and popular dialects (like Kölsch or Colognian - an English name that I never knew until today), the spoken languages of Germany include English and Turkish. Although the quotes microcensus suggests that only 2% of the German people speak Turkish at home, the street scene in big cities tells another story.

Thanks for sharing the Oxford vs. Cambridge spelling! I used to think this was American English vs. British English, like "color" vs. "colour". As most German schools teach British English, and we used to have British radio thanks to the many British barracks, I was mistaken to think I knew British English, but that illusion got destroyed when a stand up comedian desperately tried to explain a joke to me after I had dared to sit not far from the stage in Edinburgh. Only later I learned that she actually came from Manchester, and that the Scottish call an underground train "subway".

I am looking forward to visiting Ireland someday, but I am a little scared as people told me that it might be "deadly".

Collapse
 
aowendev profile image
Andrew Owen

You'll have noted that ISO dialect codes don't distinguish between Oxford and Cambridge. This is the punchline to my favorite German joke: "Up until now, everything has been satisfactory."