I'm working on a site that supports multiple languages, and we are using a flag icon to indicate the current language. The language selection dropdown will have both the flag and the name of the language.
I would love to get your opinions on the following questions, as well as any relative experiences you can share.
1. Is a US citizen likely to be annoyed if the icon for English is the British flag? (assuming we don't support both US and UK English languages)
2. Should both US English and UK English be supported?
3. Would a Taiwanese person be annoyed if the Flag for Chinese Traditional was China's flag?
4. Would it be better to not have flags? If so, what is a good way to indicate that the language can be changed?
5. Would a non-english speaking user recognize a dropdown list control with the word 'English' on it and realize that this how the language can be changed?
I saw someone else mention that using flags is a common enough pattern that it's acceptable. While it may be true that it's a common pattern it's still one that's ignorant. Maintaining a website in multiple languages is very difficult so you don't want to shoot yourself in the foot by not properly leading users to their preferred language.
[edit]
There was a discussion last week about using IP geolocation for determining language that might be of some relevance: http://news.ycombinator.com/item?id=741093