Contrib/ExperienceUI/Lang.nsh
changeset 0 d5ce4c64ef88
child 2 ccebbad46f6a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/Lang.nsh	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,728 @@
+; MULTI-LANGUAGE SUPPORT
+
+; SELECTION DIALOG
+
+!tempfile "XPUI_LANGPAGE_CHECKFILE"
+
+!macro XPUI_LANGDLL_SAVELANGUAGE
+!ifndef XPUI_PAGE_UNINSTALLER
+IfAbort XPUI.langdllsavelanguage_abort
+!ifdef XPUI_LANGDLL_REGISTRY_ROOT & XPUI_LANGDLL_REGISTRY_KEY & XPUI_LANGDLL_REGISTRY_VALUENAME
+WriteRegStr `${XPUI_LANGDLL_REGISTRY_ROOT}` `${XPUI_LANGDLL_REGISTRY_KEY}` `${XPUI_LANGDLL_REGISTRY_VALUENAME}` $LANGUAGE
+!endif
+XPUI.langdllsavelanguage_abort:
+!endif
+
+!macroend
+
+!macro XPUI_LANGDLL_DISPLAY
+!verbose push
+!verbose ${XPUI_VERBOSE}
+!ifdef NSIS_CONFIG_SILENT_SUPPORT
+IfSilent XPUI.langdll_done
+!endif
+!insertmacro XPUI_DEFAULT XPUI_LANGDLL_WINDOWTITLE `Installer Language`
+!insertmacro XPUI_DEFAULT XPUI_LANGDLL_INFO `Please select a language.`
+!ifdef XPUI_LANGDLL_REGISTRY_ROOT & XPUI_LANGDLL_REGISTRY_KEY & XPUI_LANGDLL_REGISTRY_VALUENAME
+ReadRegStr $XPUI_TEMP1 `${XPUI_LANGDLL_REGISTRY_ROOT}` `${XPUI_LANGDLL_REGISTRY_KEY}` `${XPUI_LANGDLL_REGISTRY_VALUENAME}`
+StrCmp $XPUI_TEMP1 `` XPUI.langdll_show
+StrCpy $LANGUAGE $XPUI_TEMP1
+!ifndef XPUI_LANGDLL_ALWAYSSHOW
+Goto XPUI.langdll_done
+!endif
+XPUI.langdll_show:
+!endif
+LangDLL::LangDialog `${XPUI_LANGDLL_WINDOWTITLE}` `${XPUI_LANGDLL_INFO}` A ${XPUI_LANGDLL_PUSHLIST} ``
+Pop $LANGUAGE
+StrCmp $LANGUAGE `cancel` 0 XPUI.langdll_noquit
+Abort
+XPUI.langdll_noquit:
+!ifdef NSIS_CONFIG_SILENT_SUPPORT
+XPUI.langdll_done:
+!else ifdef XPUI_LANGDLL_REGISTRY_ROOT & XPUI_LANGDLL_REGISTRY_KEY & XPUI_LANGDLL_REGISTRY_VALUENAME
+XPUI.langdll_done:
+!endif
+!insertmacro XPUI_LANGDLL_SAVELANGUAGE
+!verbose pop
+!macroend
+
+!macro XPUI_LANGPAGE_COMPILE_ATTRIB ATTRIB_NAME
+  !ifndef XPUI_LANGPAGE_COMPILE_PARAMS
+    !ifdef ${ATTRIB_NAME}
+      !define XPUI_LANGPAGE_COMPILE_PARAMS `"/D${ATTRIB_NAME}=${${ATTRIB_NAME}}"`
+    !endif
+  !else
+    !ifdef ${ATTRIB_NAME}
+      !define XPUI_LANGPAGE_COMPILE_PARAMS_TEMP `${XPUI_LANGPAGE_COMPILE_PARAMS}`
+      !undef XPUI_LANGPAGE_COMPILE_PARAMS
+      !define XPUI_LANGPAGE_COMPILE_PARAMS `${XPUI_LANGPAGE_COMPILE_PARAMS_TEMP} "/D${ATTRIB_NAME}=${${ATTRIB_NAME}}"`
+      !undef XPUI_LANGPAGE_COMPILE_PARAMS_TEMP
+    !endif
+  !endif
+!macroend
+
+!macro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE ATTRIB_NAME
+  !ifndef XPUI_LANGPAGE_COMPILE_PARAMS
+      !define XPUI_LANGPAGE_COMPILE_PARAMS `"/D${ATTRIB_NAME}=${${ATTRIB_NAME}}"`
+  !else
+      !define XPUI_LANGPAGE_COMPILE_PARAMS_TEMP `${XPUI_LANGPAGE_COMPILE_PARAMS}`
+      !undef XPUI_LANGPAGE_COMPILE_PARAMS
+      !define XPUI_LANGPAGE_COMPILE_PARAMS `${XPUI_LANGPAGE_COMPILE_PARAMS_TEMP} "/D${ATTRIB_NAME}=${${ATTRIB_NAME}}"`
+      !undef XPUI_LANGPAGE_COMPILE_PARAMS_TEMP
+  !endif
+!macroend
+
+!macro XPUI_LANGPAGE_COMPILE_ATTRIB_NOVAL ATTRIB_NAME
+  !ifndef XPUI_LANGPAGE_COMPILE_PARAMS
+    !ifdef ${ATTRIB_NAME}
+      !define XPUI_LANGPAGE_COMPILE_PARAMS `"/D${ATTRIB_NAME}"`
+    !endif
+  !else
+    !ifdef ${ATTRIB_NAME}
+      !define XPUI_LANGPAGE_COMPILE_PARAMS_TEMP `${XPUI_LANGPAGE_COMPILE_PARAMS}`
+      !undef XPUI_LANGPAGE_COMPILE_PARAMS
+      !define XPUI_LANGPAGE_COMPILE_PARAMS `${XPUI_LANGPAGE_COMPILE_PARAMS_TEMP} "/D${ATTRIB_NAME}"`
+      !undef XPUI_LANGPAGE_COMPILE_PARAMS_TEMP
+    !endif
+  !endif
+!macroend
+
+!macro XPUI_LANGPAGE_COMPILE
+; This next block of code compiles a specialized language selection dialog app.  This is because NSIS only allows
+; you to select the language in .onInit. (ahem, KiCHiK?) If just looking at it makes you feel braindead, I'll tell
+; you what it does: it detects all of your visual settings that are currently being used, and then it launches
+; MakeNSIS with the corresponding compiler flags.
+
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB XPUI_SKIN
+
+!ifdef XPUI_WANSIS
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB       XPUI_WANSIS_SKIN
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_NOVAL XPUI_WANSIS
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_WANSIS_GEN
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_WANSIS_GENEX
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_NOVAL XPUI_WANSIS_HEADERIMAGE
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB       XPUI_WANSIS_HEADERIMAGE_BMP
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_NOVAL XPUI_WANSIS_NODIVIDER
+!endif
+
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_NOVAL XPUI_NOBOTTOMIMAGE
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB       XPUI_BOTTOMIMAGE_BMP
+
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_TEXT_COLOR
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_TEXT_BGCOLOR
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_TEXT_LIGHTCOLOR
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_HEADERIMAGE
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_LEFTLOGO
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_HEADER_TEXT_COLOR
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_BRANDINGTEXT
+
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_BRANDINGTEXT_COLOR_FG
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_BRANDINGTEXT_COLOR_BG
+
+!execute `"${NSISDIR}\MakeNSIS.exe" "/NOCD" "/V0" "/DCHECKLIST=${XPUI_LANGPAGE_CHECKFILE}" "/DXPUI_LANGINI_LIST_B=${XPUI_LANGINI_LIST}" "/DXPUI_LANGIDLIST_LIST_B=${XPUI_LANGIDLIST_LIST}" ${XPUI_LANGPAGE_COMPILE_PARAMS} "${XPUI_SYSDIR}\LangPage.nsi"`
+
+!macroend
+
+!macro XPUI_LANGPAGE_DISPLAY
+
+!verbose push
+!verbose ${XPUI_VERBOSE}
+
+!ifdef XPUI_LANGDLL_REGISTRY_ROOT & XPUI_LANGDLL_REGISTRY_KEY & XPUI_LANGDLL_REGISTRY_VALUENAME
+  ReadRegStr $XPUI_TEMP1 `${XPUI_LANGDLL_REGISTRY_ROOT}` `${XPUI_LANGDLL_REGISTRY_KEY}` `${XPUI_LANGDLL_REGISTRY_VALUENAME}`
+  StrCmp $XPUI_TEMP1 `` XPUI.langdll_show
+  StrCpy $LANGUAGE $XPUI_TEMP1
+  !ifndef XPUI_LANGDLL_ALWAYSSHOW
+    Goto XPUI.langdll_done
+  !endif
+  XPUI.langdll_show:
+!endif
+!insertmacro XPUI_LANGPAGE_COMPILE
+InitPluginsDir
+SetOutPath $PLUGINSDIR
+File `${XPUI_SYSDIR}\LangDialog.exe`
+!system `del "${XPUI_SYSDIR}\LangDialog.exe"`
+ExecWait $PLUGINSDIR\LangDialog.exe $LANGUAGE
+Delete $PLUGINSDIR\LangDialog.exe
+StrCmp $LANGUAGE 1 `` +2
+Abort
+!ifdef XPUI_LANGDLL_REGISTRY_ROOT & XPUI_LANGDLL_REGISTRY_KEY & XPUI_LANGDLL_REGISTRY_VALUENAME
+  WriteRegStr `${XPUI_LANGDLL_REGISTRY_ROOT}` `${XPUI_LANGDLL_REGISTRY_KEY}` `${XPUI_LANGDLL_REGISTRY_VALUENAME}` $LANGUAGE
+!endif
+!ifdef XPUI_LANGDLL_REGISTRY_ROOT & XPUI_LANGDLL_REGISTRY_KEY & XPUI_LANGDLL_REGISTRY_VALUENAME
+!ifndef XPUI_LANGDLL_ALWAYSSHOW
+XPUI.langdll_done:
+!endif
+!endif
+!verbose pop
+!delfile `${XPUI_LANGPAGE_CHECKFILE}`
+!macroend
+
+!macro XPUI_UNGETLANGUAGE_PAGE
+!verbose push
+!verbose ${XPUI_VERBOSE}
+!ifdef XPUI_LANGDLL_REGISTRY_ROOT & XPUI_LANGDLL_REGISTRY_KEY & XPUI_LANGDLL_REGISTRY_VALUENAME
+ReadRegStr $XPUI_TEMP1 `${XPUI_LANGDLL_REGISTRY_ROOT}` `${XPUI_LANGDLL_REGISTRY_KEY}` `${XPUI_LANGDLL_REGISTRY_VALUENAME}`
+StrCmp $XPUI_TEMP1 `` 0 XPUI.ungetlanguage_setlang
+!endif
+!insertmacro XPUI_LANGPAGE_DISPLAY
+!ifdef XPUI_LANGDLL_REGISTRY_ROOT & XPUI_LANGDLL_REGISTRY_KEY & XPUI_LANGDLL_REGISTRY_VALUENAME
+Goto XPUI.ungetlanguage_done
+XPUI.ungetlanguage_setlang:
+StrCpy $LANGUAGE $XPUI_TEMP1
+XPUI.ungetlanguage_done:
+!endif
+!verbose pop
+!macroend
+
+!macro XPUI_UNGETLANGUAGE
+!verbose push
+!verbose ${XPUI_VERBOSE}
+!ifdef XPUI_LANGDLL_REGISTRY_ROOT & XPUI_LANGDLL_REGISTRY_KEY & XPUI_LANGDLL_REGISTRY_VALUENAME
+ReadRegStr $XPUI_TEMP1 `${XPUI_LANGDLL_REGISTRY_ROOT}` `${XPUI_LANGDLL_REGISTRY_KEY}` `${XPUI_LANGDLL_REGISTRY_VALUENAME}`
+StrCmp $XPUI_TEMP1 `` 0 XPUI.ungetlanguage_setlang
+!endif
+!insertmacro XPUI_LANGDLL_DISPLAY
+!ifdef XPUI_LANGDLL_REGISTRY_ROOT & XPUI_LANGDLL_REGISTRY_KEY & XPUI_LANGDLL_REGISTRY_VALUENAME
+Goto XPUI.ungetlanguage_done
+XPUI.ungetlanguage_setlang:
+StrCpy $LANGUAGE $XPUI_TEMP1
+XPUI.ungetlanguage_done:
+!endif
+!verbose pop
+!macroend
+
+; FILES
+!macro XPUI_LANGUAGE LANGUAGE
+
+  !echo "ExperienceUI Language: ${LANGUAGE}"
+
+  !verbose push
+  !verbose ${XPUI_VERBOSE}
+
+  !ifndef XPUI_INTERNAL_LANG_INSERTED
+    !define XPUI_INTERNAL_LANG_INSERTED
+  !endif
+  
+    !include `${XPUI_SYSDIR}\Language files\${LANGUAGE}.nsh`
+  !verbose pop
+!macroend
+
+!macro XPUI_LANGUAGEFILE_BEGIN LANGUAGE
+!ifndef `XPUI_LANGUAGEFILE_${LANGUAGE}_USED`
+!define `XPUI_LANGUAGEFILE_${LANGUAGE}_USED`
+LoadLanguageFile `${NSISDIR}\Contrib\Language files\${LANGUAGE}.nlf`
+!else
+!error `ExperienceUI language file ${LANGUAGE} included twice!`
+!endif
+!insertmacro XPUI_UNSET XPUI_LANGNAME
+!insertmacro XPUI_UNSET MUI_LANGNAME
+
+!ifndef XPUI_INTERNAL_INTERFACE_INSERTED
+  !define XPUI_INTERNAL_INTERFACE_INSERTED
+  !insertmacro XPUI_INTERFACE
+!endif
+
+!macroend
+
+
+!macro XPUI_LANGUAGEFILE_LANGSTRING NAME
+LangString `${NAME}` ${LANG_${XPUI_LANGNAME}} `${${NAME}}`
+!insertmacro XPUI_UNSET `${NAME}`
+!macroend
+
+!macro XPUI_LANGUAGEFILE_UNLANGSTRING NAME
+!ifdef XPUI_UNINSTALLER
+LangString `${NAME}` ${LANG_${XPUI_LANGNAME}} `${${NAME}}`
+!insertmacro XPUI_UNSET `${NAME}`
+!else
+!insertmacro XPUI_UNSET `${NAME}`
+!endif
+!macroend
+
+!macro XPUI_LANGUAGEFILE_LANGSTRING_PAGE PAGE NAME
+!ifdef XPUI_INTERNAL_PAGEUSED_${PAGE}
+  !echo `${NAME}$\n${${NAME}}`
+  LangString `${NAME}` ${LANG_${XPUI_LANGNAME}} `${${NAME}}`
+!endif
+!insertmacro XPUI_UNSET `${NAME}`
+!macroend
+
+!macro XPUI_LANGUAGEFILE_LANGSTRING_ALIAS_PAGE PAGE NEW OLD
+!ifdef XPUI_INTERNAL_PAGEUSED_${PAGE}
+  !echo `${NEW}$\n${${OLD}}`
+  LangString `${NEW}` ${LANG_${XPUI_LANGNAME}} `${${OLD}}`
+!endif
+!macroend
+
+!macro XPUI_LANGUAGEFILE_UNLANGSTRING_PAGE PAGE NAME
+!ifdef XPUI_UNINSTALLER
+  !ifdef XPUI_UN${PAGE}PAGE
+    LangString `${NAME}` ${LANG_${XPUI_LANGNAME}} `${${NAME}}`
+   !insertmacro XPUI_UNSET `${NAME}`
+  !else
+    !insertmacro XPUI_UNSET `${NAME}`
+  !endif
+  !else
+    !insertmacro XPUI_UNSET `${NAME}`
+  !endif
+!macroend
+
+!macro XPUI_LANGUAGEFILE_MULTILANGSTRING_PAGE PAGE NAME
+LangString `${NAME}` ${LANG_${XPUI_LANGNAME}} `${${NAME}}`
+!insertmacro XPUI_UNSET `${NAME}`
+!macroend
+
+!macro XPUI_LANGUAGEFILE_LANGSTRING_DEFINE DEFINE NAME
+!ifdef `${DEFINE}`
+LangString `${NAME}` ${LANG_${XPUI_LANGNAME}} `${${NAME}}`
+!endif
+!insertmacro XPUI_UNSET `${NAME}`
+!macroend
+
+!macro XPUI_LANGUAGEFILE_DEFAULT NAME VALUE
+!ifndef `${NAME}`
+!define `${NAME}` `${VALUE}`
+!ifndef MUI_LANGUAGEFILE_DEFAULT_USED
+!define MUI_LANGUAGEFILE_DEFAULT_USED
+!endif
+!endif
+!macroend
+
+!macro XPUI_LANGUAGEFILE_DEFINE DEFINE NAME
+!ifndef `${DEFINE}`
+!define `${DEFINE}` `${${NAME}}`
+!endif
+!insertmacro XPUI_UNSET `${NAME}`
+!macroend
+
+!macro MUI_LANGUAGEFILE_LANGSTRING_PAGE PAGE NAME
+
+  !ifdef MUI_${PAGE}PAGE
+  !ifdef ${NAME}
+    LangString `${NAME}` ${LANG_${XPUI_LANGNAME}} `${${NAME}}`
+  !endif
+    !insertmacro XPUI_UNSET `${NAME}`
+  !else
+    !insertmacro XPUI_UNSET `${NAME}`
+  !endif
+
+!macroend
+
+!macro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE PAGE NAME
+
+  !ifdef MUI_UNINSTALLER
+    !ifdef MUI_UN${PAGE}PAGE
+    !ifdef ${NAME}
+      LangString `${NAME}` ${LANG_${XPUI_LANGNAME}} `${${NAME}}`
+      !insertmacro XPUI_UNSET `${NAME}`
+    !endif
+    !else
+      !insertmacro XPUI_UNSET `${NAME}`
+    !endif
+  !else
+    !insertmacro XPUI_UNSET `${NAME}`
+  !endif
+
+!macroend
+
+!macro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE PAGE NAME
+
+  !ifdef MUI_${PAGE}PAGE | MUI_UN${PAGE}PAGE
+    !ifdef ${NAME}
+    LangString `${NAME}` ${LANG_${XPUI_LANGNAME}} `${${NAME}}`
+    !insertmacro XPUI_UNSET `${NAME}`
+    !endif
+  !else
+    !insertmacro XPUI_UNSET `${NAME}`
+  !endif
+
+!macroend
+
+!macro MUI_LANGUAGEFILE_LANGSTRING_DEFINE DEFINE NAME
+
+  !ifdef `${DEFINE}`
+    LangString `${NAME}` ${LANG_${XPUI_LANGNAME}} `${${NAME}}`
+  !endif
+  !insertmacro XPUI_UNSET `${NAME}`
+
+!macroend
+
+!macro MUI_LANGUAGEFILE_DEFINE DEFINE NAME
+
+  !ifndef `${DEFINE}`
+    !define `${DEFINE}` `${${NAME}}`
+  !endif
+  !insertmacro XPUI_UNSET `${NAME}`
+
+!macroend
+
+!macro XPUI_LANGUAGEFILE_END
+!insertmacro XPUI_LANGUAGE_CONVERT
+
+!include `${XPUI_SYSDIR}\Language files\Default.nsh`
+  !ifdef XPUI_LANGUAGEFILE_DEFAULT_USED
+    !undef XPUI_LANGUAGEFILE_DEFAULT_USED
+    !warning `${LANGUAGE} Modern UI language file version doesn't match. Using default English texts for missing strings.`
+  !endif
+
+  !ifndef XPUI_LANGINI_LIST
+    !define XPUI_LANGINI_LIST `${XPUI_${LANGUAGE}_LANGNAME}`
+   !else
+     !ifdef XPUI_LANGINI_LIST_TEMP
+       !undef XPUI_LANGINI_LIST_TEMP
+     !endif
+
+     !define XPUI_LANGINI_LIST_TEMP `${XPUI_LANGINI_LIST}`
+     !undef XPUI_LANGINI_LIST
+     !define XPUI_LANGINI_LIST `${XPUI_LANGINI_LIST_TEMP}|${XPUI_${LANGUAGE}_LANGNAME}`
+   !endif
+
+   !ifndef XPUI_LANGIDLIST_LIST
+    !define XPUI_LANGIDLIST_LIST `${LANG_${LANGUAGE}}`
+   !else
+     !ifdef XPUI_LANGIDLIST_LIST_TEMP
+       !undef XPUI_LANGIDLIST_LIST_TEMP
+     !endif
+
+     !define XPUI_LANGIDLIST_LIST_TEMP `${XPUI_LANGIDLIST_LIST}`
+     !undef XPUI_LANGIDLIST_LIST
+     !define XPUI_LANGIDLIST_LIST `${XPUI_LANGIDLIST_LIST_TEMP}${LANG_${LANGUAGE}}`
+   !endif
+   
+   !appendfile `${XPUI_LANGPAGE_CHECKFILE}` `StrCmp $XPUI_NOABORTWARNING "${XPUI_LANGNAME}" 0 +3$\r$\nSetErrorLevel ${LANG_${LANGUAGE}}$\r$\nReturn$\r$\n`
+
+  !ifdef XPUI_LANGNAME
+    !insertmacro XPUI_LANGUAGEFILE_DEFINE `XPUI_${LANGUAGE}_LANGNAME` `XPUI_LANGNAME`
+  !else
+    !insertmacro XPUI_LANGUAGEFILE_DEFINE `XPUI_${LANGUAGE}_LANGNAME` `MUI_LANGNAME`
+  !endif
+
+  !ifndef XPUI_LANGDLL_PUSHLIST
+    !ifdef XPUI_${LANGUAGE}_LANGNAME
+      !define XPUI_LANGDLL_PUSHLIST `'${XPUI_${LANGUAGE}_LANGNAME}' ${LANG_${LANGUAGE}} `
+    !else
+      !define XPUI_LANGDLL_PUSHLIST `'${MUI_${LANGUAGE}_LANGNAME}' ${LANG_${LANGUAGE}} `
+    !endif
+  !else
+    !ifdef XPUI_LANGDLL_PUSHLIST_TEMP
+      !undef XPUI_LANGDLL_PUSHLIST_TEMP
+    !endif
+    !define XPUI_LANGDLL_PUSHLIST_TEMP `${XPUI_LANGDLL_PUSHLIST}`
+    !undef XPUI_LANGDLL_PUSHLIST
+
+    !ifdef XPUI_${LANGUAGE}_LANGNAME
+      !define XPUI_LANGDLL_PUSHLIST `'${XPUI_${LANGUAGE}_LANGNAME}' ${LANG_${LANGUAGE}} ${XPUI_LANGDLL_PUSHLIST_TEMP}`
+    !else
+      !define XPUI_LANGDLL_PUSHLIST `'${MUI_${LANGUAGE}_LANGNAME}' ${LANG_${LANGUAGE}} ${XPUI_LANGDLL_PUSHLIST_TEMP}`
+    !endif
+  !endif
+
+; +---------+
+; | INSTALL |
+; +---------+
+
+; BUTTONS
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING XPUI_BUTTONTEXT_NEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING XPUI_BUTTONTEXT_BACK
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING XPUI_BUTTONTEXT_CANCEL
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING XPUI_BUTTONTEXT_CLOSE
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING XPUI_ABORTWARNING_TEXT
+
+; WELCOME PAGE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME XPUI_WELCOMEPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME XPUI_WELCOMEPAGE_TEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME XPUI_WELCOMEPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME XPUI_WELCOMEPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME XPUI_WELCOMEPAGE_CAPTION
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME XPUI_UNWELCOMEPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME XPUI_UNWELCOMEPAGE_TEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME XPUI_UNWELCOMEPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME XPUI_UNWELCOMEPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME XPUI_UNWELCOMEPAGE_CAPTION
+
+; WELCOME PAGE STYLE 2
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME2 XPUI_WELCOMEPAGE2_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME2 XPUI_WELCOMEPAGE2_TEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME2 XPUI_WELCOMEPAGE2_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME2 XPUI_WELCOMEPAGE2_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME2 XPUI_WELCOMEPAGE2_CAPTION
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME2 XPUI_UNWELCOMEPAGE2_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME2 XPUI_UNWELCOMEPAGE2_TEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME2 XPUI_UNWELCOMEPAGE2_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME2 XPUI_UNWELCOMEPAGE2_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME2 XPUI_UNWELCOMEPAGE2_CAPTION
+
+; LICENSE PAGE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_LICENSEPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_LICENSEPAGE_TEXT_CHECKBOX
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_LICENSEPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_LICENSEPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_LICENSEPAGE_TEXT_TOP
+!ifndef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_LICENSEPAGE_TEXT_BOTTOM
+  !endif
+!endif
+!ifndef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifdef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_LICENSEPAGE_TEXT_BOTTOM
+  !endif
+!endif
+!ifdef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_LICENSEPAGE_TEXT_BOTTOM
+  !endif
+!endif
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_UNLICENSEPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_UNLICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_UNLICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_UNLICENSEPAGE_TEXT_CHECKBOX
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_UNLICENSEPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_UNLICENSEPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_UNLICENSEPAGE_TEXT_TOP
+!ifndef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_UNLICENSEPAGE_TEXT_BOTTOM
+  !endif
+!endif
+!ifndef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifdef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_UNLICENSEPAGE_TEXT_BOTTOM
+  !endif
+!endif
+!ifdef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_UNLICENSEPAGE_TEXT_BOTTOM
+  !endif
+!endif
+
+; COMPONENTS PAGE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_COMPONENTSPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_COMPONENTSPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_COMPONENTSPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_COMPONENTSPAGE_TEXT_SECLIST_NOINSTTYPE
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_UNCOMPONENTSPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_UNCOMPONENTSPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_UNCOMPONENTSPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_UNCOMPONENTSPAGE_TEXT_DESCRIPTION_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_UNCOMPONENTSPAGE_TEXT_DESCRIPTION_INFO
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_UNCOMPONENTSPAGE_TEXT_SECLIST_NOINSTTYPE
+
+; DIRECTORY PAGE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_DIRECTORYPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_DIRECTORYPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_DIRECTORYPAGE_TEXT_DESTINATION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_DIRECTORYPAGE_TEXT_BROWSE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_DIRECTORYPAGE_TEXT_BROWSEDIALOG
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_DIRECTORYPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_DIRECTORYPAGE_SUBTITLE
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_UNDIRECTORYPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_UNDIRECTORYPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_UNDIRECTORYPAGE_TEXT_DESTINATION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_UNDIRECTORYPAGE_TEXT_BROWSE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_UNDIRECTORYPAGE_TEXT_BROWSEDIALOG
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_UNDIRECTORYPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_UNDIRECTORYPAGE_SUBTITLE
+
+; START MENU PAGE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU XPUI_STARTMENUPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU XPUI_STARTMENUPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU XPUI_STARTMENUPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU XPUI_STARTMENUPAGE_TEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU XPUI_STARTMENUPAGE_CHECKBOX
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU XPUI_UNSTARTMENUPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU XPUI_UNSTARTMENUPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU XPUI_UNSTARTMENUPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU XPUI_UNSTARTMENUPAGE_TEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU XPUI_UNSTARTMENUPAGE_CHECKBOX
+
+; INSTALL CONFIRM PAGE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTCONFIRM XPUI_INSTCONFIRMPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTCONFIRM XPUI_INSTCONFIRMPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTCONFIRM XPUI_INSTCONFIRMPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTCONFIRM XPUI_INSTCONFIRMPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTCONFIRM XPUI_INSTCONFIRMPAGE_TEXT_BOTTOM
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTCONFIRM XPUI_UNINSTCONFIRMPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTCONFIRM XPUI_UNINSTCONFIRMPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTCONFIRM XPUI_UNINSTCONFIRMPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTCONFIRM XPUI_UNINSTCONFIRMPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTCONFIRM XPUI_UNINSTCONFIRMPAGE_TEXT_BOTTOM
+
+; INSTFILES PAGE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_INSTFILESPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_INSTFILESPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_INSTFILESPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_INSTFILESPAGE_DONE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_INSTFILESPAGE_DONE_SUBTITLE
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_UNINSTFILESPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_UNINSTFILESPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_UNINSTFILESPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_UNINSTFILESPAGE_DONE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_UNINSTFILESPAGE_DONE_SUBTITLE
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_INSTFILESPAGE_FAIL_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_INSTFILESPAGE_FAIL_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_UNINSTFILESPAGE_FAIL_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_UNINSTFILESPAGE_FAIL_SUBTITLE
+
+; INSTALL SUCCESS PAGE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTSUCCESS XPUI_INSTSUCCESSPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTSUCCESS XPUI_INSTSUCCESSPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTSUCCESS XPUI_INSTSUCCESSPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTSUCCESS XPUI_INSTSUCCESSPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTSUCCESS XPUI_INSTSUCCESSPAGE_TEXT_BOTTOM
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTSUCCESS XPUI_UNINSTSUCCESSPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTSUCCESS XPUI_UNINSTSUCCESSPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTSUCCESS XPUI_UNINSTSUCCESSPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTSUCCESS XPUI_UNINSTSUCCESSPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTSUCCESS XPUI_UNINSTSUCCESSPAGE_TEXT_BOTTOM
+
+; FINISH PAGE
+
+; compatibility
+;!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_ALIAS_PAGE FINISH XPUI_UNFINISHPAGE_CHECKBOX_RUN  XPUI_${XPUI_UN}FINISHPAGE_CHECKBOX_RUN
+;!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_ALIAS_PAGE FINISH XPUI_UNFINISHPAGE_CHECKBOX_DOCS XPUI_${XPUI_UN}FINISHPAGE_CHECKBOX_DOCS
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_TEXT_TOP_ALT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_TEXT_RUN
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_TEXT_REBOOT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_TEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_CHECKBOX_RUN
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_CHECKBOX_DOCS
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_RADIOBUTTON_REBOOT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_RADIOBUTTON_NOREBOOT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_REBOOT_MESSAGEBOX
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_TEXT_TOP_ALT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_TEXT_REBOOT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_TEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_TEXT_RUN
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_RADIOBUTTON_REBOOT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_RADIOBUTTON_NOREBOOT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_CHECKBOX_RUN
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_CHECKBOX_DOCS
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_REBOOT_MESSAGEBOX
+
+; UNINST CONFIRM PAGE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING XPUI_UNINSTCONFIRMPAGE_NSIS_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING XPUI_UNINSTCONFIRMPAGE_NSIS_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING XPUI_UNINSTCONFIRMPAGE_NSIS_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_FOLDER
+
+; ABORT PAGE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE ABORT XPUI_ABORTPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE ABORT XPUI_ABORTPAGE_TEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE ABORT XPUI_ABORTPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE ABORT XPUI_ABORTPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE ABORT XPUI_ABORTPAGE_CAPTION
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE ABORT XPUI_UNABORTPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE ABORT XPUI_UNABORTPAGE_TEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE ABORT XPUI_UNABORTPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE ABORT XPUI_UNABORTPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE ABORT XPUI_UNABORTPAGE_CAPTION
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME `MUI_TEXT_WELCOME_INFO_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME `MUI_TEXT_WELCOME_INFO_TEXT`
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE `MUI_TEXT_LICENSE_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE `MUI_TEXT_LICENSE_SUBTITLE`
+  !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE LICENSE `MUI_INNERTEXT_LICENSE_TOP`
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE `MUI_INNERTEXT_LICENSE_BOTTOM`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE `MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE `MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS`
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS `MUI_TEXT_COMPONENTS_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS `MUI_TEXT_COMPONENTS_SUBTITLE`
+  !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE COMPONENTS `MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE COMPONENTS `MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO`
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY `MUI_TEXT_DIRECTORY_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY `MUI_TEXT_DIRECTORY_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU `MUI_TEXT_STARTMENU_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU `MUI_TEXT_STARTMENU_SUBTITLE`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU `MUI_INNERTEXT_STARTMENU_TOP`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU `MUI_INNERTEXT_STARTMENU_CHECKBOX`
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES `MUI_TEXT_INSTALLING_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES `MUI_TEXT_INSTALLING_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES `MUI_TEXT_FINISH_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES `MUI_TEXT_FINISH_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES `MUI_TEXT_ABORT_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES `MUI_TEXT_ABORT_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE FINISH `MUI_BUTTONTEXT_FINISH`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH `MUI_TEXT_FINISH_INFO_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH `MUI_TEXT_FINISH_INFO_TEXT`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH `MUI_TEXT_FINISH_INFO_REBOOT`
+  !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE FINISH `MUI_TEXT_FINISH_REBOOTNOW`
+  !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE FINISH `MUI_TEXT_FINISH_REBOOTLATER`
+  !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE FINISH `MUI_TEXT_FINISH_RUN`
+  !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE FINISH `MUI_TEXT_FINISH_SHOWREADME`
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_DEFINE MUI_ABORTWARNING `MUI_TEXT_ABORTWARNING`
+
+
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE WELCOME `MUI_UNTEXT_WELCOME_INFO_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE WELCOME `MUI_UNTEXT_WELCOME_INFO_TEXT`
+
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE CONFIRM `MUI_UNTEXT_CONFIRM_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE CONFIRM `MUI_UNTEXT_CONFIRM_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE LICENSE `MUI_UNTEXT_LICENSE_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE LICENSE `MUI_UNTEXT_LICENSE_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE LICENSE `MUI_UNINNERTEXT_LICENSE_BOTTOM`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE LICENSE `MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE LICENSE `MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS`
+
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE COMPONENTS `MUI_UNTEXT_COMPONENTS_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE COMPONENTS `MUI_UNTEXT_COMPONENTS_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE DIRECTORY `MUI_UNTEXT_DIRECTORY_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE DIRECTORY  `MUI_UNTEXT_DIRECTORY_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES `MUI_UNTEXT_UNINSTALLING_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES `MUI_UNTEXT_UNINSTALLING_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES `MUI_UNTEXT_FINISH_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES `MUI_UNTEXT_FINISH_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES `MUI_UNTEXT_ABORT_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES `MUI_UNTEXT_ABORT_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE FINISH `MUI_UNTEXT_FINISH_INFO_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE FINISH `MUI_UNTEXT_FINISH_INFO_TEXT`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE FINISH `MUI_UNTEXT_FINISH_INFO_REBOOT`
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_DEFINE MUI_UNABORTWARNING `MUI_UNTEXT_ABORTWARNING`
+
+!macroend
\ No newline at end of file