> That, however, makes this setting a questionable choice for
> determining the UI language of applications. The correct API for it is
That is a question open to debate... Whatever one does, somebody will
say it is wrong.
> See this blog post by MS's Mr.
> International, Michael Kaplan:
Which tells you that this option is changeable only on MUI
installations of Windows, and the choices are restricted to those MUI
alternatives installed. And I don't see him saying that this should
also be the default UI language of *3rd-party applications*. I don't
think it is that uncommon for people to have a Windows installation in
one language, but still prefer to use 3rd-party software with UI
(where available) in another.
As far as I know, MUI installations of Windows are fairly rare. (I
came across my first one when I added that feature to the Windows 7
Ultimate installation on my laptop. The MUI feature wasn't even
possible IIRC in a "lower" Windows 7 edition, only in Ultimate.)
In any case, the locale on the"Formats" tab in "Region and Language"
presumably takes as its default the UI language of Windows.
So if I understand correctly, if gettext would use
GetUserDefaultUILanguage(), for the majority of users, certainly all
using "home" installations of Windows with no MUI, that would mean
that to change the UI language of software using gettext, they would
have to set the environment variables. In my opinion, it is easier to
tell end-users to choose a locale in the "Formats" tab than to tell
them how to set environment variables.
But yeah, I certainly agree that it isn't uncommon for people to ask
for instance "how do I make GIMP use English instead of my local
language", presumably because they find the localised terminology
somewhat silly. (I belong to this group myself...) The response being
then that either they should change the locale in the control panel,
shouldn't have installed the localisations in the first place, should
remove the share\locale tree, or (you could see this coming) set the
LANG environment variable... Typically people who ask this are power
users, though, who know how to set an environment variable.