Don’t conflate a user’s language choice, nationality, & current location

Summary — Expecting users to select a national flag icon to choose a language, or cleverly detecting their computer’s language settings or current location and presuming either reflects their language preference is lazy thinking.

I wish website designers would stop using nations’ flags to represent websites’ language.

Countries are not monolingual — even if it’s not officially recognized

Maybe living my whole life in Canada’s only officially bilingual province has made me acutely aware of this, but no country is truly unilingual. People also travel.

Neither the Union Jack 🇬🇧 nor the Stars and Stripes 🇺🇸 mean “English language” — certainly not unambiguously — especially not to a Canadian. Or a New Zealander or an Australian or a South African. Nor to a Spanish-speaking American or a Welsh-speaking Brit.

People may want to choose a site’s language

You know who else might like to read a website in, say, English, without having to self-identify as American or British? Lots of people whose computer’s system language is set to something other than English. These people exist, and some of them might like to read your website in a language other than what their browser is advertising.

I am currently in Poland; therefore I must speak Polish?

How about automatically deciding what language or content to show a user based on their current IP address? Please: stop doing this. When travelling, it’s a real pain, especially if your site doesn’t make it easy to change these assumptions.

Dr. Ian Malcolm (fictional character in the film Jurassic Park): “Your scientists were so preoccupied with whether or not they could that they didn’t stop to think if they should”

Don’t let people show off how clever they are instead of making your site more accessible and easier to use.

The easy, accessible solution

Use the languages’ names to represent the language choices. It’s really that simple.

  • The words — e.g. English or français — are entirely unambiguous
  • Text will never fail to load (the way graphics sometimes can, especially over marginal cell-phone networks)
  • Words are understood by anyone who can read the languages in question; of course, don’t use “French” as on option on English pages — use français.
  • If you’re tight for space, use “En” or Fr — with abbreviation tags for accessibility, please. There are 2-letter codes for the representation of names of countries and their subdivisions (ISO 3166), so they’ll fit in the same space (if you’re using monospaced typefaces, that is).