HTTP has the ability (and most browsers support, AFAICT) to convey language preferences... and almost every site i go to seems to merrily ignore it.
Every time I encounter a language selection list, each language is expressed in the native language of the page (not the language being listed).
Case in point. I'm in Rome this week, and Google (as my homepage) comes up in Italian. Why? Cause they 'sense' that my IP address is in Italy, so hey, i must really want the Italian Google page (nifty feature, but not helpful, generally, except maybe for them, as a traffic management and performance solution). But google.it does not mean i want italian, right?
So then i go stumbling around on their links, i find the language preferences, and all the languages are in italian. Not very helpful. Since 'english' in Italian is 'Inglese', it makes for fixing this in the preferences page. FWIW, for future reference, the url for language selection is http://www.google.it/preferences?hl=it ... so change the hl=it bit to hl=en, and walla!
These sorts of usability issues are hard for some. We all could do a better job in localization, not just Google.