With Brazil (Portuguese), Finland (Swedish) and my home-country (the United King­dom) as per­fect exam­ples, Jukka Kor­pela tells us why the use of flags to rep­re­sent lan­guage options on the web is “plain wrong”.

In a per­fect world, there would be no need for explicit links to ver­sions of a doc­u­ment in dif­fer­ent lan­guages. Even in this imper­fect world, the Web might evolve so that a server and a user agent smoothly select a ver­sion accord­ing to lan­guage pref­er­ences which the user has given when con­fig­ur­ing the browser. (There are meth­ods for such nego­ta­tion in the HTTP pro­to­col, but they are rarely used in prac­tice so far. […] This should not be con­fused with the mis­guided “forced redi­rec­tion” e.g. by Google, which uses undis­closed heuris­tics to send the user to a page in a par­tic­u­lar language.)

After the com­pelling argu­ments are pre­sented, Kor­pela rec­om­mends com­ply­ing with the rec­om­men­da­tions from the Euro­pean Com­mit­tee for Stan­dard­iza­tion:

  • The name of the lan­guage in the lan­guage itself.
  • The codes defined in the inter­na­tional stan­dard ISO 639, either the two-letter codes of ISO 639–1 (list), such as en for Eng­lish, or the three-letter codes of ISO 639–2 (list), like eng for English.

via Quixotic Quis­ling