From 8e9cd761073827a7200e9c2a83e48da79ae61ee5 Mon Sep 17 00:00:00 2001 From: Thierry Lelegard Date: Sun, 9 Jul 2017 20:05:51 +0200 Subject: [PATCH] Added multi-language installer on Windows --- windows/qtlinguist.nsi | 81 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/windows/qtlinguist.nsi b/windows/qtlinguist.nsi index abb684c..ce1d5b6 100644 --- a/windows/qtlinguist.nsi +++ b/windows/qtlinguist.nsi @@ -57,6 +57,14 @@ RequestExecutionLevel admin !define MUI_ICON "${RootDir}\images\linguist.ico" !define MUI_UNICON "${RootDir}\images\linguist.ico" +; Language selection dialog +!insertmacro MUI_RESERVEFILE_LANGDLL + +; Remember the installer language for the current user in the registry. +!define MUI_LANGDLL_REGISTRY_ROOT "HKCU" +!define MUI_LANGDLL_REGISTRY_KEY "${ProductKey}" +!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language" + ; Default installation folder InstallDir "$PROGRAMFILES\Qt Linguist" @@ -73,6 +81,79 @@ InstallDirRegKey HKLM "${ProductKey}" "InstallDir" ; Languages !insertmacro MUI_LANGUAGE "English" +!insertmacro MUI_LANGUAGE "Afrikaans" +!insertmacro MUI_LANGUAGE "Albanian" +!insertmacro MUI_LANGUAGE "Arabic" +!insertmacro MUI_LANGUAGE "Basque" +!insertmacro MUI_LANGUAGE "Belarusian" +!insertmacro MUI_LANGUAGE "Bosnian" +!insertmacro MUI_LANGUAGE "Breton" +!insertmacro MUI_LANGUAGE "Bulgarian" +!insertmacro MUI_LANGUAGE "Catalan" +!insertmacro MUI_LANGUAGE "Croatian" +!insertmacro MUI_LANGUAGE "Czech" +!insertmacro MUI_LANGUAGE "Danish" +!insertmacro MUI_LANGUAGE "Dutch" +!insertmacro MUI_LANGUAGE "Esperanto" +!insertmacro MUI_LANGUAGE "Estonian" +!insertmacro MUI_LANGUAGE "Farsi" +!insertmacro MUI_LANGUAGE "Finnish" +!insertmacro MUI_LANGUAGE "French" +!insertmacro MUI_LANGUAGE "Galician" +!insertmacro MUI_LANGUAGE "German" +!insertmacro MUI_LANGUAGE "Greek" +!insertmacro MUI_LANGUAGE "Hebrew" +!insertmacro MUI_LANGUAGE "Hungarian" +!insertmacro MUI_LANGUAGE "Icelandic" +!insertmacro MUI_LANGUAGE "Indonesian" +!insertmacro MUI_LANGUAGE "Irish" +!insertmacro MUI_LANGUAGE "Italian" +!insertmacro MUI_LANGUAGE "Japanese" +!insertmacro MUI_LANGUAGE "Korean" +!insertmacro MUI_LANGUAGE "Kurdish" +!insertmacro MUI_LANGUAGE "Latvian" +!insertmacro MUI_LANGUAGE "Lithuanian" +!insertmacro MUI_LANGUAGE "Luxembourgish" +!insertmacro MUI_LANGUAGE "Macedonian" +!insertmacro MUI_LANGUAGE "Malay" +!insertmacro MUI_LANGUAGE "Mongolian" +!insertmacro MUI_LANGUAGE "Norwegian" +!insertmacro MUI_LANGUAGE "NorwegianNynorsk" +!insertmacro MUI_LANGUAGE "Polish" +!insertmacro MUI_LANGUAGE "Portuguese" +!insertmacro MUI_LANGUAGE "PortugueseBR" +!insertmacro MUI_LANGUAGE "Romanian" +!insertmacro MUI_LANGUAGE "Russian" +!insertmacro MUI_LANGUAGE "Serbian" +!insertmacro MUI_LANGUAGE "SerbianLatin" +!insertmacro MUI_LANGUAGE "SimpChinese" +!insertmacro MUI_LANGUAGE "Slovak" +!insertmacro MUI_LANGUAGE "Slovenian" +!insertmacro MUI_LANGUAGE "Spanish" +!insertmacro MUI_LANGUAGE "SpanishInternational" +!insertmacro MUI_LANGUAGE "Swedish" +!insertmacro MUI_LANGUAGE "Thai" +!insertmacro MUI_LANGUAGE "TradChinese" +!insertmacro MUI_LANGUAGE "Turkish" +!insertmacro MUI_LANGUAGE "Ukrainian" +!insertmacro MUI_LANGUAGE "Uzbek" +!insertmacro MUI_LANGUAGE "Welsh" + +;----------------------------------------------------------------------------- +; Initialization functions +;----------------------------------------------------------------------------- + +; Installation initialization. +function .onInit + ; Language selection. + !insertmacro MUI_LANGDLL_DISPLAY +functionEnd + +; Uninstallation initialization. +function un.onInit + ; Retrieve the installer language. + !insertmacro MUI_UNGETLANGUAGE +functionEnd ;----------------------------------------------------------------------------- ; Installation section