Contrib/ExperienceUI/Lang.nsh
author Dan
Tue, 16 Oct 2007 00:16:02 -0400
changeset 1 99d4be98d3cc
parent 0 d5ce4c64ef88
child 2 ccebbad46f6a
permissions -rwxr-xr-x
Include/XPUI.nsh de-localized

; 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