French, German and Russian are always preferred over English when the system locale's UI language list permits either those or English
We use a Qt feature that checks the system locale's UI language list in priority order until it finds .qm
files for one of them, and then uses that. If you've only got a single language enabled in your OS, that works fine, as either we have a translation for it, or we don't, and will default to English. However, if you've got multiple languages, and one of them's English, and one of them's something else we support, we'll currently always use the latter, even if English is the higher-priority language. This is because we don't have an English .qm
file for it to find, and have been relying on it failing to find anything else, and falling back to the source strings.
The solution is to provide English .qm
files that can be used. Based on my past experience, I think we can just leave all the strings in an English .ts
file untranslated, and that would result in an empty .qm
file, and that would be enough to get it found, but would still fall back to the English source strings.