Clearly adding images for representing languages is not the most important internationalization issue someone can make. In fact I added #1 because this is the first internationalization mistake I decided to blog about and I want to document many more mistakes in the future.

As a quick solution would be to use images with ISO 639-1 language codes like: en, fr, de, es, ja. But you should be aware that not all languages can be represented using ISO 639-1 and you may be required to use ISO-639-3 or simpler to add a two-letter subcode using country code ISO 3166 like en-us or en-gb.

Also check the list every time you add a language because it’s another common mistake to assume that two letter domain names or country codes are the same as the language codes.

An even a better idea could be to not use images at all :D

You may find additional resources at: