Although what others have replied is good, the overall picture does not come about. I will give you what I think is the IDEAL answer.
Basically, this answer provides MULTIPLE notices (instead of just a single note) for language selection.
First is the name of the language (according to the answers above) as it provides a basic interface for anyone with English skills.
Second is the name of the language in its own mother tongue for a person with basic knowledge of the mother tongue. e.g.
third is a flag for the country. For languages spoken in dialects and common countries, the country of origin or the language country can be used. E.g. ENGLISH (should have UK flag), ENGLISH UK, ENGLISH US (should have their respective country flag). A visual cue that bypasses the thinking part of the brain.
Below is a bad screenshot of such an example from the website http://blog.myheritage.com/2009/06/small-changes-big-differences-new-header-and-footer/.
Many of the applications I've seen have implemented this correctly, and I urge the rest to do so.
Some other features that are required are quick filtering of the displayed languages by keyboard, e.g. For example, what Listary does for lists to narrow the results. For example, if you are specifically looking for English (Singapore).
In addition, the placement of the language switch is very important. It should be ideally located above the crease (i.e. on the first page itself) somewhere. The general practice is in the upper right corner under the profile information you may have. IT IS A MUST for first time visitors, it can be hidden from returning visitors (i.e. the site is already in their preferred language) and accessible through the second location.
The second common position is at the bottom of the page, either centered or left-justified. Although I think it should always be available at first glance. The same applies to applications.
Ahhh this is a pet of mine !!
For example, see Chrome! (I know it's an application, but take it with you) It has the most terrible UX to change the language from an unknown language to English for the user. It requires an excessive click and complete confusion !!
- Menu icon
- Settings menu item (no symbol !! for clear / simple identification when using an unknown language)
- Click Text Show Advanced Settings.
- Click Language (absolutely no way to find it in an unknown language)
- Click on Add
- Choose your language
- Move it to the top of the screen.
- Click the button on the right to set the default Chrome language. (Some languages also cannot be run in this way and can only be used for spelling! You should only separate these dialogs and not combine the dialog for spelling and language selection! Since the most common case is probably the language selection and a very distant one is the selection of the spell check).
- Restart Chrome!
Some interesting links that I found with opposite views and other useful resources.
Best practice for presenting languages