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.
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.
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
- 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).