This thread is specifically about displaying “English” instead of “en”. About your question, there is a more recent discussion at Multilingual sites: ask for preferred language at registration
Short answer: the closest you will get to your scenario is by checking these options in Settings > Basic setup
:
- Allow users to choose their own language interface preference
- set interface language for anonymous users from their web browser’s language headers. (EXPERIMENTAL, does not work with anonymous cache)