Detect Multiple Language's Bug
Sorry, my English is very very poor.
I found that "Regional Option" will make NSIS's to choose wrong Language during callback Function .onInit.
This will happened at all windows platform.
Screen Capture Enviroment:
OS - WinXP SP1 English Version
Languages for non-unicode programs - Always set to "Chinese(Taiwan)"
NSIS Version - 2.0 B4 (final)
Let me show you an example:
1.The good one ... almost ...
http://cpatch.org/witchfive/pastepic/l1.jpg
2.Just change "Regional Option" to "English"
http://cpatch.org/witchfive/pastepic/l2.jpg
3.Just change "Regional Option" to "Japanese"
http://cpatch.org/witchfive/pastepic/l3.jpg
4.Just change "Regional Option" to "Chinese (PRC)"
http://cpatch.org/witchfive/pastepic/l4.jpg
== LangTest.nsi ==
OutFile LangTest.exe
Name LangBugTests
XPStyle on
LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
LoadLanguageFile "${NSISDIR}\Contrib\Language files\TradChinese.nlf"
LoadLanguageFile "${NSISDIR}\Contrib\Language files\SimpChinese.nlf"
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Japanese.nlf"
LangString IL ${LANG_ENGLISH} "EN Installer Language"
LangString IL ${LANG_TRADCHINESE} "TW Installer Language"
LangString IL ${LANG_SIMPCHINESE} "CN Installer Language"
LangString IL ${LANG_JAPANESE} "JP Installer Language"
LangString CL ${LANG_ENGLISH} "EN Please select a language."
LangString CL ${LANG_TRADCHINESE} "TW Please select a language."
LangString CL ${LANG_SIMPCHINESE} "CN Please select a language."
LangString CL ${LANG_JAPANESE} "JP Please select a language."
LangString PM ${LANG_ENGLISH} "EN"
LangString PM ${LANG_TRADCHINESE} "TW"
LangString PM ${LANG_SIMPCHINESE} "CN"
LangString PM ${LANG_JAPANESE} "JP"
Section Sec1Name sec1
SectionEnd
Function .onInit
LangDLL::LangDialog "$(IL)" "$(CL)" 4 $(PM)Eng 1033 $(PM)TW 1028 $(PM)CN 2052 $(PM)JP 1041
quit
FunctionEnd
==