This behavior has been bugging me for ages. I live in Germany but I prefer my operating system and all installed applications to be in English.
So whenever I install a Windows system of mine, I install the English version thereof. I then change the location (Control Panel -> Clock, Language, and Region -> Change location) to "United States".
However, like 90% of the time, when I install an additional application (like VirtualBox for example), it will pick German as the default language. This behavior can be noticed all over the place.
The only way to change this is to change the Date and Time format. As soon as I change that to "English (United States)", all of the affected programs will use the English language. I can then even adjust the profile back to whatever I want (which is what I do) and I finally get the desired result.
Why does this happen? Are 90% of all programmers unable to use the right API to determine the users desired language? Is this the way default language should be determined under Windows? Am I just setting up my system incorrectly?