If this list is only available in a personal page where a registered user sets or edits their info, rather than a plain link available to visitors to the main page, I would do a regular form with dropdown (select). I suppose it depends on how your back-end is set up.
If this is before the user registers (and therefore available to everyone) then it may depend on how many languages you have and if your userbase is very skewed towards just a handful of languages.
I’m trying to find a study I read recently where it concluded it wasn’t a good idea to mix the two (having some plain links and others hidden behind either a “more” style link or a dropdown). It had to do with “discoverability” and while the other languages were discoverable, many users seeing a list of languages tended to assume that was all there was.
Some questions to ask yourself:
Is this site based mostly in one or a handful of langauges but available to many more, or it is truly international?
(if it’s the former, it might be okay to display some of the more popular languages out in the open)
Can any users set the language, or is this a setting available only to registered users?
(if anyone can, it should likely be obvious and easily discoverable to everyone. If it’s only for registered users, less-discoverable inside a form control should be okay)
Are you going to use links with cookies/sessions, or form controls with a POST permanently setting the user’s chosen langauge (no matter which computer they later log in from) until they change them again?
(if the former, I would still go with a list of all languages as links. If it’s the latter, a select dropdown should be decent)
Are users changing the language of the content, or if this is also an interface, are they changing the language of the interface (buttons, instructions, etc)?
An interesting explanation of what WikiMedia had to think about as they did indeed have both content and interface language options.
Other links:
User Plus Design Pattern for language choice
welie.com suggestions
Jakob Nielsen has a very old alertbox article which has the recommendation to list the languages in full if there are just a few, and to switch to some other method if there are many. However it’s from 1996 and he’s recommending flag icons and other icons, which since the 90’s the UX community has strongly changed their minds (a flag is not a language; it’s a country and many countries have multiple languages!) [url=http://www.useit.com/alertbox/flagproblem.html]though he does have some commentary on the subject. One might think everyone knows the flag of the countries where people speak their language, but you’d be surprised especially if it turns out the flag you’re using is outdated. See Iraq. Flags change. Also, multiple countries may have the same language as their official language. Which would you choose? Further details are in the first two links. When representing Chinese, do you use Chinese flag or Taiwan flag? How do you show the difference between Cantonese and Mandarin? How do you show Dutch versus French for Belgium? And some Belgians speak German.
Here is Paypal’s attempts. It suffers many problems. One is, the form is in English. If I spoke and read Russian, I could probably guess the language selection because there is a flag (even if it’s not a flag I recognise), but I wouldn’t know which field was what without much scrolling through the options. If I see “Русский язык” then I could finally guess this was the country or region selection, and if I see “Русский” then I can guess that’s language, but making me guess it kinda evil. So I don’t like the form, and I think language selection should be separate from geographic location questions (least of all because you can’t necessarily read the label or question until after you’ve chosen your language!).
Here you see HTC using a dedicated language page, listing all languages which is one click away. They place the language selection link in the upper-right-hand corner which is common enough (at least in the West) that people are very likely to look there when searching for langauge options (the second place being the footer). However note that the text next to the language name is “Selected language” in English. They also suggest using geo-location to auto-detect the language. Again, this sucks big hairy balls when you’re an international traveller or an oppressed (language/cultural) minority, but if even language-selection instructions need to be in the chosen language, it can be nice to try to start on an appropriate language based on location and make it really easy for users who don’t read that language to find where they can change it. Certainly once a user can get to a dedicated language page like HTC has, so long as each language is written in that language, most users should be able to find their own just fine.
Lenovo’s decision to list countries makes less sense. How do I know what that means when it says United States? Is there a separate web site for Canadians, British, Irish, Australian, New Zealand and British Indians? Does it reflect the types and numbers of products shown due to availability?? Or is it purely a language selection?? Who knows?
I was once on a site of a partner company. I block many cookies because they’re often for tracking. I’m not sure if it was cookies they used, or Javascript, but every single page had this nasty popup that tried to force me to click to a language selection page instead of letting me see what the hell was underneath it. Especially since there was no clear way to get back to the page I was on from the language page. I would strongly recommend you DON’T use popups or modal dialogues.
You can see that it can get rather complicated.
If you can do actual user testing, that would help you the most.