summaryrefslogtreecommitdiff
path: root/Contrib/Modern UI 2/Localization.nsh
diff options
context:
space:
mode:
Diffstat (limited to 'Contrib/Modern UI 2/Localization.nsh')
-rwxr-xr-xContrib/Modern UI 2/Localization.nsh180
1 files changed, 180 insertions, 0 deletions
diff --git a/Contrib/Modern UI 2/Localization.nsh b/Contrib/Modern UI 2/Localization.nsh
new file mode 100755
index 0000000..61414cd
--- /dev/null
+++ b/Contrib/Modern UI 2/Localization.nsh
@@ -0,0 +1,180 @@
+/*
+
+NSIS Modern User Interface
+Localization
+
+*/
+
+;--------------------------------
+;Variables
+
+!macro MUI_LANGDLL_VARIABLES
+
+ !ifndef MUI_LANGDLL_VARIABLES
+ !define MUI_LANGDLL_VARIABLES
+
+ ;/GLOBAL because the macros are included in a function
+ Var /GLOBAL mui.LangDLL.RegistryLanguage
+
+ !endif
+
+!macroend
+
+
+;--------------------------------
+;Include langauge files
+
+!macro MUI_LANGUAGE LANGUAGE
+
+ ;Include a language
+
+ !verbose push
+ !verbose ${MUI_VERBOSE}
+
+ !insertmacro MUI_INSERT
+
+ LoadLanguageFile "${NSISDIR}\Contrib\Language files\${LANGUAGE}.nlf"
+ !insertmacro LANGFILE_INCLUDE "${NSISDIR}\Contrib\Language files\${LANGUAGE}.nsh"
+
+ !ifndef MUI_LANGDLL_LANGUAGES
+ !ifdef MUI_LANGDLL_ALLLANGUAGES
+ !define MUI_LANGDLL_LANGUAGES "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' "
+ !else
+ !define MUI_LANGDLL_LANGUAGES "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' '${LANG_${LANGUAGE}_CP}' "
+ !endif
+ !else
+ !ifdef MUI_LANGDLL_LANGUAGES_TEMP
+ !undef MUI_LANGDLL_LANGUAGES_TEMP
+ !endif
+ !define MUI_LANGDLL_LANGUAGES_TEMP "${MUI_LANGDLL_LANGUAGES}"
+ !undef MUI_LANGDLL_LANGUAGES
+
+ !ifdef MUI_LANGDLL_ALLLANGUAGES
+ !define MUI_LANGDLL_LANGUAGES "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' ${MUI_LANGDLL_LANGUAGES_TEMP}"
+ !else
+ !define MUI_LANGDLL_LANGUAGES "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' '${LANG_${LANGUAGE}_CP}' ${MUI_LANGDLL_LANGUAGES_TEMP}"
+ !endif
+ !endif
+
+ !verbose pop
+
+!macroend
+
+
+;--------------------------------
+;Language selection
+
+!macro MUI_LANGDLL_DISPLAY
+
+ !verbose push
+ !verbose ${MUI_VERBOSE}
+
+ !insertmacro MUI_LANGDLL_VARIABLES
+
+ !insertmacro MUI_DEFAULT MUI_LANGDLL_WINDOWTITLE "Installer Language"
+ !insertmacro MUI_DEFAULT MUI_LANGDLL_INFO "Please select a language."
+
+ !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}"
+
+ ${if} $mui.LangDLL.RegistryLanguage != ""
+ ;Set default langauge to registry language
+ StrCpy $LANGUAGE mui.LangDLL.RegistryLanguage
+ ${endif}
+
+ !endif
+
+ !ifdef NSIS_CONFIG_SILENT_SUPPORT
+ ${unless} ${Silent}
+ !endif
+
+ !ifndef MUI_LANGDLL_ALWAYSSHOW
+ ${if} $mui.LangDLL.RegistryLanguage != ""
+ !endif
+
+ ;Show langauge selection dialog
+ !ifdef MUI_LANGDLL_ALLLANGUAGES
+ LangDLL::LangDialog "${MUI_LANGDLL_WINDOWTITLE}" "${MUI_LANGDLL_INFO}" A ${MUI_LANGDLL_LANGUAGES} ""
+ !else
+ LangDLL::LangDialog "${MUI_LANGDLL_WINDOWTITLE}" "${MUI_LANGDLL_INFO}" AC ${MUI_LANGDLL_LANGUAGES} ""
+ !endif
+
+ Pop $LANGUAGE
+ ${if} $LANGUAGE == "cancel"
+ Abort
+ ${endif}
+
+ !ifndef MUI_LANGDLL_ALWAYSSHOW
+ ${endif}
+ !endif
+
+
+ !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
+
+ !verbose pop
+
+ !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}"
+
+ ${if} mui.LangDLL.RegistryLanguage = ""
+
+ !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}
+
+ ReserveFile "${NSISDIR}\Plugins\LangDLL.dll"
+
+ !verbose pop
+
+!macroend