NSIS/Examples/languages.nsi

113 lines
3.2 KiB
NSIS
Raw Normal View History

OutFile languages.exe
XPStyle on
; First is default
LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
Name English
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Dutch.nlf"
Name Dutch
LoadLanguageFile "${NSISDIR}\Contrib\Language files\French.nlf"
Name French
LoadLanguageFile "${NSISDIR}\Contrib\Language files\German.nlf"
Name German
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Korean.nlf"
Name Korean
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Russian.nlf"
Name Russian
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Spanish.nlf"
Name Spanish
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Swedish.nlf"
Name Swedish
LoadLanguageFile "${NSISDIR}\Contrib\Language files\TradChinese.nlf"
Name "Traditional Chinese"
; The language can be the last used language like above, but it can be defined using /LANG
ComponentText /LANG=1033 "English component page"
ComponentText /LANG=1043 "Dutch component page"
ComponentText /LANG=1036 "French component page"
ComponentText /LANG=1031 "German component page"
ComponentText /LANG=1042 "Korean component page"
ComponentText /LANG=1049 "Russian component page"
ComponentText /LANG=1034 "Spanish component page"
ComponentText /LANG=1053 "Swedish component page"
ComponentText /LANG=1028 "Traditional Chinese component page"
; scetion names will be given in .onInit to match the language choosen by the user
Section " " sec1
; $0 is already set from .onInit
MessageBox MB_OK "$0 section"
SectionEnd
Section " " sec2
StrCmp $LANGUAGE 1033 0 +2
MessageBox MB_OK "Installing English stuff"
StrCmp $LANGUAGE 1043 0 +2
MessageBox MB_OK "Installing Dutch stuff"
StrCmp $LANGUAGE 1036 0 +2
MessageBox MB_OK "Installing French stuff"
StrCmp $LANGUAGE 1031 0 +2
MessageBox MB_OK "Installing German stuff"
StrCmp $LANGUAGE 1042 0 +2
MessageBox MB_OK "Installing Korean stuff"
StrCmp $LANGUAGE 1049 0 +2
MessageBox MB_OK "Installing Russian stuff"
StrCmp $LANGUAGE 1034 0 +2
MessageBox MB_OK "Installing Spanish stuff"
StrCmp $LANGUAGE 1053 0 +2
MessageBox MB_OK "Installing Swedish stuff"
StrCmp $LANGUAGE 1028 0 +2
MessageBox MB_OK "Installing Traditional Chinese stuff"
SectionEnd
Function .onInit
Push "Installer Language" ; caption
Push "Please select the language of the installer" ; text
Push English
Push 1033
Push Dutch
Push 1043
Push French
Push 1036
Push German
Push 1031
Push Korean
Push 1042
Push Russian
Push 1049
Push Spanish
Push 1034
Push Swedish
Push 1053
Push "Traditional Chinese"
Push 1028
LangDLL::LangDialog 9 ; 9 is the number of languages
Pop $LANGUAGE
StrCmp $LANGUAGE "cancel" 0 +2
Abort
StrCmp $LANGUAGE 1033 0 +2
StrCpy $0 "English"
StrCmp $LANGUAGE 1043 0 +2
StrCpy $0 "Dutch"
StrCmp $LANGUAGE 1036 0 +2
StrCpy $0 "French"
StrCmp $LANGUAGE 1031 0 +2
StrCpy $0 "German"
StrCmp $LANGUAGE 1042 0 +2
StrCpy $0 "Korean"
StrCmp $LANGUAGE 1049 0 +2
StrCpy $0 "Russian"
StrCmp $LANGUAGE 1034 0 +2
StrCpy $0 "Spanish"
StrCmp $LANGUAGE 1053 0 +2
StrCpy $0 "Swedish"
StrCmp $LANGUAGE 1028 0 +2
StrCpy $0 "Traditional Chinese"
; Set the section name to something localized
SectionSetText ${sec1} "!$0 section #1"
SectionSetText ${sec2} "$0 section #2"
FunctionEnd