The problem with using flags as symbols for language choice is that some languages are spoken in many countries. For example, using an American flag for the English language understandably makes the British upset (they invented the thing, after all) and also irritates Canadians and many others. Of course, using a Canadian flag wouldn't work since many Canadians speak French. The recommended solution is to use flags that match the geographical location of the service and its main intended audience. For example, a tourist site in Continental Europe would use a British flag for English unless it was mostly targeted at American tourists, whereas a tourist site in the Americas would use a U.S. flag unless it was mostly targeted at Europeans. I have seen the English flag used once, but would generally recommend against this seemingly neutral choice since few people outside the U.K. know the regional flags for England, Scotland, etc..