The
multilingual plugin is very old, and likely no longer works - but it did provide the capability you require. Perhaps it might be a good starting point?
There are "translation" plugins that allow users to select their language - and some that match the selected language with the UI language (you might also be able to modify some of the variables languages and userpage plugins to achieve something similar to the multilingual plugin).