In my own dxgettext based windows only Delphi app, I have a combobox like Lazarus but with some additional options:
1. System default (whatever the default language detection yields, fall back to builtin if not detected)
2. none(no translation, easy to check what the key text is for a certain control)
3. a list of detected .mo files (besides files on disk, it also checks a list of internal Windows resources), so the user can override.
The configuration setting is initialized on system default, and also reverts to that if the configuration contains a language for which the mo is no longer available. Changing the combobox is only active after restart. There are also some hacks to fall back from similar locales (like map all german and french variants to the core french, since we don't really provide dialect translations).
One of the reasons is that the same app is sometimes used in multiple locations, with technical/lab staff preferring english(since they often receive betas and directly communicate with us), and the normal work floor in local language. But it is the same company so they all have the same localized windows.