2007-08-11 23:21:04 +00:00
|
|
|
/*
|
|
|
|
|
|
|
|
NSIS Modern User Interface
|
|
|
|
Localization
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
;--------------------------------
|
|
|
|
;Variables
|
|
|
|
|
|
|
|
!macro MUI_LANGDLL_VARIABLES
|
|
|
|
|
2007-09-01 10:58:03 +00:00
|
|
|
!ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
|
2015-11-30 22:27:44 +00:00
|
|
|
!ifndef MUI_LANGDLL_REGISTRY_VARIABLES
|
|
|
|
!define MUI_LANGDLL_REGISTRY_VARIABLES
|
2007-09-01 10:58:03 +00:00
|
|
|
|
|
|
|
;/GLOBAL because the macros are included in a function
|
|
|
|
Var /GLOBAL mui.LangDLL.RegistryLanguage
|
|
|
|
|
|
|
|
!endif
|
2007-08-11 23:21:04 +00:00
|
|
|
!endif
|
|
|
|
|
|
|
|
!macroend
|
|
|
|
|
|
|
|
|
|
|
|
;--------------------------------
|
|
|
|
;Include langauge files
|
|
|
|
|
2016-10-06 20:31:13 +00:00
|
|
|
!macro MUI_LANGUAGEEX LangDir NLFID
|
2007-08-11 23:21:04 +00:00
|
|
|
|
2016-10-06 20:31:13 +00:00
|
|
|
!verbose push ${MUI_VERBOSE}
|
2007-08-11 23:21:04 +00:00
|
|
|
|
2014-12-17 14:38:00 +00:00
|
|
|
!ifndef MUI_PAGE_UNINSTALLER_PREFIX
|
2017-10-16 22:08:27 +00:00
|
|
|
!ifndef MUI_DISABLE_INSERT_LANGUAGE_AFTER_PAGES_WARNING ; Define this to avoid the warning if you only have custom pages
|
|
|
|
!warning "MUI_LANGUAGE[EX] should be inserted after the MUI_[UN]PAGE_* macros"
|
|
|
|
!endif
|
2014-12-17 14:38:00 +00:00
|
|
|
!endif
|
|
|
|
|
2007-08-11 23:21:04 +00:00
|
|
|
!insertmacro MUI_INSERT
|
|
|
|
|
2016-10-06 20:31:13 +00:00
|
|
|
;Include a language
|
|
|
|
LoadLanguageFile "${LangDir}\${NLFID}.nlf"
|
2008-01-29 15:36:09 +00:00
|
|
|
|
2016-10-06 20:31:13 +00:00
|
|
|
;Include MUI language file
|
2013-03-16 00:28:45 +00:00
|
|
|
!insertmacro LANGFILE_INCLUDE_WITHDEFAULT \
|
2016-10-06 20:31:13 +00:00
|
|
|
"${LangDir}\${NLFID}.nsh" "${NSISDIR}\Contrib\Language files\English.nsh"
|
2008-01-29 15:36:09 +00:00
|
|
|
|
|
|
|
;Add language to list of languages for selection dialog
|
2013-03-16 00:28:45 +00:00
|
|
|
!define /ifndef MUI_LANGDLL_LANGUAGES ""
|
|
|
|
!define /redef MUI_LANGDLL_LANGUAGES \
|
|
|
|
`"${LANGFILE_${NLFID}_LANGDLL}" "${LANG_${NLFID}}" ${MUI_LANGDLL_LANGUAGES}`
|
|
|
|
!define /ifndef MUI_LANGDLL_LANGUAGES_CP ""
|
|
|
|
!define /redef MUI_LANGDLL_LANGUAGES_CP \
|
|
|
|
`"${LANGFILE_${NLFID}_LANGDLL}" "${LANG_${NLFID}}" "${LANG_${NLFID}_CP}" ${MUI_LANGDLL_LANGUAGES_CP}`
|
2007-08-11 23:21:04 +00:00
|
|
|
|
|
|
|
!verbose pop
|
|
|
|
|
|
|
|
!macroend
|
|
|
|
|
2016-10-06 20:31:13 +00:00
|
|
|
!macro MUI_LANGUAGE NLFID
|
|
|
|
|
|
|
|
!verbose push ${MUI_VERBOSE}
|
|
|
|
|
|
|
|
!insertmacro MUI_LANGUAGEEX "${NSISDIR}\Contrib\Language files" "${NLFID}"
|
|
|
|
|
|
|
|
!verbose pop
|
|
|
|
|
|
|
|
!macroend
|
|
|
|
|
2007-08-11 23:21:04 +00:00
|
|
|
|
|
|
|
;--------------------------------
|
|
|
|
;Language selection
|
|
|
|
|
|
|
|
!macro MUI_LANGDLL_DISPLAY
|
|
|
|
|
|
|
|
!verbose push
|
|
|
|
!verbose ${MUI_VERBOSE}
|
|
|
|
|
2015-09-19 13:22:52 +00:00
|
|
|
!ifndef MUI_LANGDLL_LANGUAGES
|
|
|
|
!warning "MUI_LANGDLL_DISPLAY should only be used after inserting the MUI_LANGUAGE macro(s)"
|
|
|
|
!endif
|
|
|
|
|
2007-08-11 23:21:04 +00:00
|
|
|
!insertmacro MUI_LANGDLL_VARIABLES
|
|
|
|
|
|
|
|
!insertmacro MUI_DEFAULT MUI_LANGDLL_WINDOWTITLE "Installer Language"
|
|
|
|
!insertmacro MUI_DEFAULT MUI_LANGDLL_INFO "Please select a language."
|
|
|
|
|
2015-11-30 22:27:44 +00:00
|
|
|
!ifdef MUI_LANGDLL_REGISTRY_VARIABLES
|
2007-08-11 23:21:04 +00:00
|
|
|
|
|
|
|
ReadRegStr $mui.LangDLL.RegistryLanguage "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}"
|
|
|
|
|
|
|
|
${if} $mui.LangDLL.RegistryLanguage != ""
|
|
|
|
;Set default langauge to registry language
|
2007-08-27 17:21:32 +00:00
|
|
|
StrCpy $LANGUAGE $mui.LangDLL.RegistryLanguage
|
2007-08-11 23:21:04 +00:00
|
|
|
${endif}
|
|
|
|
|
|
|
|
!endif
|
|
|
|
|
|
|
|
!ifdef NSIS_CONFIG_SILENT_SUPPORT
|
|
|
|
${unless} ${Silent}
|
|
|
|
!endif
|
|
|
|
|
|
|
|
!ifndef MUI_LANGDLL_ALWAYSSHOW
|
2015-11-30 22:27:44 +00:00
|
|
|
!ifdef MUI_LANGDLL_REGISTRY_VARIABLES
|
2007-08-27 17:21:32 +00:00
|
|
|
${if} $mui.LangDLL.RegistryLanguage == ""
|
2007-08-11 23:21:04 +00:00
|
|
|
!endif
|
2007-09-28 18:21:50 +00:00
|
|
|
!endif
|
2007-08-11 23:21:04 +00:00
|
|
|
|
|
|
|
;Show langauge selection dialog
|
|
|
|
!ifdef MUI_LANGDLL_ALLLANGUAGES
|
|
|
|
LangDLL::LangDialog "${MUI_LANGDLL_WINDOWTITLE}" "${MUI_LANGDLL_INFO}" A ${MUI_LANGDLL_LANGUAGES} ""
|
|
|
|
!else
|
2007-11-17 14:04:51 +00:00
|
|
|
LangDLL::LangDialog "${MUI_LANGDLL_WINDOWTITLE}" "${MUI_LANGDLL_INFO}" AC ${MUI_LANGDLL_LANGUAGES_CP} ""
|
2007-08-11 23:21:04 +00:00
|
|
|
!endif
|
|
|
|
|
|
|
|
Pop $LANGUAGE
|
|
|
|
${if} $LANGUAGE == "cancel"
|
|
|
|
Abort
|
|
|
|
${endif}
|
|
|
|
|
|
|
|
!ifndef MUI_LANGDLL_ALWAYSSHOW
|
2015-11-30 22:27:44 +00:00
|
|
|
!ifdef MUI_LANGDLL_REGISTRY_VARIABLES
|
2007-08-11 23:21:04 +00:00
|
|
|
${endif}
|
|
|
|
!endif
|
2007-09-28 18:21:50 +00:00
|
|
|
!endif
|
2007-08-11 23:21:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
!ifdef NSIS_CONFIG_SILENT_SUPPORT
|
|
|
|
${endif}
|
|
|
|
!endif
|
|
|
|
|
|
|
|
!verbose pop
|
|
|
|
|
|
|
|
!macroend
|
|
|
|
|
|
|
|
!macro MUI_LANGDLL_SAVELANGUAGE
|
|
|
|
|
|
|
|
;Save language in registry
|
|
|
|
|
|
|
|
!ifndef MUI_PAGE_UNINSTALLER
|
|
|
|
|
|
|
|
IfAbort mui.langdllsavelanguage_abort
|
|
|
|
|
|
|
|
!ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
|
|
|
|
WriteRegStr "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}" $LANGUAGE
|
|
|
|
!endif
|
|
|
|
|
|
|
|
mui.langdllsavelanguage_abort:
|
|
|
|
|
|
|
|
!endif
|
|
|
|
|
|
|
|
!macroend
|
|
|
|
|
|
|
|
!macro MUI_UNGETLANGUAGE
|
|
|
|
|
|
|
|
;Get language from registry in uninstaller
|
|
|
|
|
2007-10-02 17:08:41 +00:00
|
|
|
!verbose push
|
|
|
|
!verbose ${MUI_VERBOSE}
|
|
|
|
|
|
|
|
!insertmacro MUI_LANGDLL_VARIABLES
|
2007-08-11 23:21:04 +00:00
|
|
|
|
|
|
|
!ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
|
|
|
|
|
|
|
|
ReadRegStr $mui.LangDLL.RegistryLanguage "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}"
|
|
|
|
|
2007-10-02 17:08:41 +00:00
|
|
|
${if} $mui.LangDLL.RegistryLanguage = ""
|
2007-08-11 23:21:04 +00:00
|
|
|
|
|
|
|
!endif
|
|
|
|
|
|
|
|
!insertmacro MUI_LANGDLL_DISPLAY
|
|
|
|
|
|
|
|
!ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
|
|
|
|
|
|
|
|
${else}
|
|
|
|
StrCpy $LANGUAGE $mui.LangDLL.RegistryLanguage
|
|
|
|
${endif}
|
|
|
|
|
|
|
|
!endif
|
|
|
|
|
|
|
|
!verbose pop
|
|
|
|
|
|
|
|
!macroend
|
|
|
|
|
|
|
|
|
|
|
|
;--------------------------------
|
|
|
|
;Rerserve LangDLL file
|
|
|
|
|
|
|
|
!macro MUI_RESERVEFILE_LANGDLL
|
|
|
|
|
|
|
|
!verbose push
|
|
|
|
!verbose ${MUI_VERBOSE}
|
|
|
|
|
2013-03-07 23:38:25 +00:00
|
|
|
ReserveFile /plugin LangDLL.dll
|
2007-08-11 23:21:04 +00:00
|
|
|
|
|
|
|
!verbose pop
|
|
|
|
|
|
|
|
!macroend
|