Language & Country Switcher
Guidance for building multilingual and multi-country switchers.
Multilingual system (website, application, software)
If the system supports more than one language and is not country-based, the best practice is to use a text label.
The text label can be either the two-letter code (ISO 639-1) or the complete language name written in its native language (endonym). You can find both on Wikipedia, in the 639-1 and Native name (endonym) columns.
Multi-country system (website, application, software)
If the system changes its behaviour based on the user's country, the best practice is to use country flags paired with a text label — or, at the very least, an alternative text. The text should be the country name.
Examples of use
