The user interface change can be quite small.
We can crate a small flag icon, that float at the top-right corner of the browser. When clicked, a dialog is opened, where:
1. the user can type down the locale, as example "en" or "fr_CA"
2. there is a country flag for the build-in supported languages
While the first variant is more complete and will work without need of modifications, even when new languages are added, the second is more user friendly.
The drawback of the second variant, is that when new language is added, a new flag should be added too.