#409 $LANGUAGE based on locale rather than UI language

2.0 Series
Amir Szekely

Before I begin, let me just say that I love NSIS. I
used InstallShield for a few projects before
discovering NSIS, and it's like a breath of fresh air :-)

I'm using NSIS 2.10

The initial setting of $LANGUAGE appears to be based on
the user's selected locale, rather than the UI language.

User is primarily English-speaking, has an English
version of Windows 2000, but is working in Germany. As
a result, he has set his locale to "German (Germany)".
Under these conditions, nearly all Windows applications
show their user interface in English. However, NSIS
installers come up in German instead.

Steps to reproduce (on Windows 2000):
- Go to Control Panel/Regional Options
- Under "Your locale/location", select "German (Germany)"
- Click "OK"
- Start an NSIS installer that contains text localized
in German and English
- Observe that all text is in German

This happens for any combination of languages
(obviously), although the English/German combination is
the only one my users have reported.

Information on detecting the Windows UI language can be
found here:

Please let me know if you require any further information.

Best regards,

Andrew Molyneux


  • Amir Szekely
    Amir Szekely

    Logged In: YES

    I'm not so sure that's the right thing to do, although your
    example shows up yet another intresting case. I'm going to
    open a forum thread about this to gather opnions:


    BTW, you can give the user the selection using LangDLL. When
    using the MUI, you can use the MUI_LANGDLL_DISPLAY macro in
    .onInit as instructed in the MUI readme.

  • Amir Szekely
    Amir Szekely

    • assigned_to: nobody --> kichik
  • Logged In: NO

    Thanks for the swift response.
    I've come up with a script-based workaround for this issue,
    but it would be nice to have it built into NSIS (at least as
    an option). I eagerly await the outcome of your survey :-)

  • Amir Szekely
    Amir Szekely

    Logged In: YES

    You can add some more comments in the thread, if you have
    anything to add. It'd also be nice to post the custom
    solution with the GetUserDefaultUILanguage call so other
    users can see the difference.

  • apmolyneux

    Logged In: YES

    Remembered to log in this time :-)
    Good idea - will do.

  • Amir Szekely
    Amir Szekely

    • status: open --> closed-fixed