Ok, here is the preliminary conclusions from Windows XP MUI:
There are two setups in the system. One is the "language for the default user and new user accounts". It affects the language people get when they create a new user, and the language the login dialog is in. To change that one, you need to run the MUI setup program. A restart is needed to change this.
The second is an extra dialog in the Regional Settings dialog under the "languages" tab, and it selects the language the current user will have. You need to log off and log on in order to change this one.
At the moment, my system is set up with English, Hebrew and Italian installed. I'm trying to figure out what exactly is passed to FindResourceEx when FindResource is called. So far, it seems that "LANG_NEUTRAL, SUBLANG_NEUTRAL" is used, but it's not definite yet. One thing of interest, however, is that when LANG_NEUTRAL, SUBLANG_DEFAULT is passed, the lookup is for the language used in the second case (the user UI language), and when LANG_NEUTRAL, SUBLANG_SYS_DEFAULT, the first one is used.
It seems to me that there is no need for wine to support two separate languages here. Does anyone disagree with this?
Given the above settings, my current test program currently tests the order between English(US), English(UK), English(Neutral), Italian(Italy), Italian(Neutral), Hebrew(Default), Hebrew(Neutral), Neutral and Neutral(Default). Are there any other languages I should test for order by?
Shachar