I have an installer script that explicitly sets
$LANGUAGE in .onInit.
When $LANGUAGE is set to a "plain" language ID, for
example 1031 (German), the UI appears in the requested
language, as expected.
However, if $LANGUAGE is set to a language ID that
includes a sublanguage identifier, for example 2055
(German (Switzerland)), NSIS appears to fall back to
its default behaviour (looking up the user's current
locale). This is not the expected behaviour according
to this page:
http://nsis.sourceforge.net/Docs/Chapter4.html#4.10.1
Script to reproduce this problem:
---- begin repro script ----
LoadLanguageFile "${NSISDIR}\Contrib\Language
files\English.nlf"
LoadLanguageFile "${NSISDIR}\Contrib\Language
files\German.nlf"
Section Dummy
SectionEnd
OutFile "test.exe"
Function .onInit
StrCpy $LANGUAGE 2055 ; German (Switzerland)
FunctionEnd
---- end repro script ----
Compiling that script and running test.exe should
result in the UI appearing in English (or whatever the
current user's locale happens to be). Changing
$LANGUAGE to 1031 will bring the UI up in German.
Logged In: YES
user_id=584402
Thanks, fixed.