I've designed one that handles this case quite elegantly (see my profile). Typically when visiting a website you have the URL dictate the language of the website. This is necessary for good SEO as each page has it ensures each language version has its own unique URL. For example US English would be region prefixed with "/en-us/my-page" and France French would be "/fr-fr/my-page" or something like that. I can't remember the French ISO code so forgive my mistake, if so.
I do websites that have dynamic URLs so they are actually all going to the same source file for the second part of the URL after the language prefix yet they have a masking of the URL. For example, the two URLs that have "my-page" above will be mapped to a single "my-page.cshtml" code page that is handled. The region is determined by parsing the URL first directory as a parameter and using that as a prefix to any content ID that I pull. Say there is a title on each page. For the "my-page", you would have a title content id of "en-us-my-page-title" and another "fr-fr-my-page-title" for example.
What I did really has not been done before for programmatic websites. It removes the need for an admin altogether and combines visiting the website and navigating it as you normally would yet having the capability to edit it in place. It combines the usability of PageLime but in a feed-like, HTML5 way built for large-scale programmatic and dynamic websites. It's completely different. If you want to try building something that is truly a cut above, try that approach.