I worked on many multi-lingual websites and always used the name of the language in its native form (Arabic => عربي, Greek => Ελληνική, etc ) to offer language selection. It works very well for me. I agree with others who advise against using flags for this.