When presenting links to content in different languages, consider the following:
Always use the name of the language in its local format
If you’re linking to a page in German, label it as ‘Deutsch’ — not ‘German’.
Think about how you’d find an English link on a Spanish page: if the author or designer used ‘inglés’, that wouldn’t be anywhere near as useful as simply writing ‘English’.
When possible, display all languages available
Users may not find links to content in their language if they are hidden behind a heading such as ‘Select language’ in English (or the main site language).
Furthermore, order languages either in importance or alphabetically based on the local format (for instance, a link to Spanish content should be appear under ‘e’ for ‘español’)
Try autodetect the user’s language where possible
There are many ways to detect the language in a user’s browser. By doing so you can present a user with content in their language if it is available.
However, be sure to give an easy option to change languages: autodetection isn’t always 100% accurate.
Don’t use flags
Unless the content is specific to that country — don’t use flags!
Other suggestions? Please add your comment below if you have any further thoughts or techniques.