diff --git a/pkg/CMakeLists.txt b/pkg/CMakeLists.txt index 97ae0a9e628..dd558f40198 100644 --- a/pkg/CMakeLists.txt +++ b/pkg/CMakeLists.txt @@ -137,12 +137,6 @@ if(CMAKE_SYSTEM_NAME MATCHES "Windows") ${CMAKE_BINARY_DIR}/NSIS.definitions.nsh ) - # Copy Installer Language files - copyFileToDir("${CMAKE_CURRENT_SOURCE_DIR}/nsis/Lang-English.nsh" "${CMAKE_BINARY_DIR}") - copyFileToDir("${CMAKE_CURRENT_SOURCE_DIR}/nsis/Lang-Dutch.nsh" "${CMAKE_BINARY_DIR}") - copyFileToDir("${CMAKE_CURRENT_SOURCE_DIR}/nsis/Lang-German.nsh" "${CMAKE_BINARY_DIR}") - copyFileToDir("${CMAKE_CURRENT_SOURCE_DIR}/nsis/Lang-Russian.nsh" "${CMAKE_BINARY_DIR}") - # IMPORTANT: To generate the NSIS script, CPack must use `nsis/NSIS.template.in` list(INSERT CPACK_MODULE_PATH 0 "${CMAKE_CURRENT_SOURCE_DIR}/nsis") diff --git a/pkg/nsis/Lang-Dutch.nsh b/pkg/nsis/Lang-Dutch.nsh deleted file mode 100644 index 9010093fc0d..00000000000 --- a/pkg/nsis/Lang-Dutch.nsh +++ /dev/null @@ -1,53 +0,0 @@ -; This file is part of Warzone 2100. -; Copyright (C) 2006-2020 Warzone 2100 Project -; Copyright (C) 2006 Dennis Schridde -; -; Warzone 2100 is free software; you can redistribute it and/or modify -; it under the terms of the GNU General Public License as published by -; the Free Software Foundation; either version 2 of the License, or -; (at your option) any later version. -; -; Warzone 2100 is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU General Public License for more details. -; -; You should have received a copy of the GNU General Public License -; along with Warzone 2100; if not, write to the Free Software -; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -; -; NSIS Modern User Interface -; Warzone 2100 Project Installer script -; - - ;Dutch - LangString WZWelcomeText ${LANG_DUTCH} "Deze installatiewizard leidt u door het installatieproces van Warzone 2100.\r\n\r\nHet is aangeraden om alle andere applicaties te sluiten alvorens verder te gaan met deze installatie. Dit maakt het mogelijk om de betreffende systeembestanden te vervangen zonder uw computer opnieuw op te starten" - LangString WZ_GPL_NEXT ${LANG_DUTCH} "volgende" - - - LangString TEXT_SecBase ${LANG_DUTCH} "Core files" - LangString DESC_SecBase ${LANG_DUTCH} "The core files required to run Warzone 2100." - - LangString TEXT_SecFMVs ${LANG_DUTCH} "Videos" - LangString DESC_SecFMVs ${LANG_DUTCH} "Download and install in-game cutscenes." - - LangString TEXT_SecFMVs_EngHi ${LANG_DUTCH} "English (HQ)" - LangString DESC_SecFMVs_EngHi ${LANG_DUTCH} "Download and install higher-quality English in-game cutscenes (920 MB)." - - LangString TEXT_SecFMVs_Eng ${LANG_DUTCH} "English" - LangString DESC_SecFMVs_Eng ${LANG_DUTCH} "Download and install English in-game cutscenes (545 MB)." - - LangString TEXT_SecFMVs_EngLo ${LANG_DUTCH} "English (LQ)" - LangString DESC_SecFMVs_EngLo ${LANG_DUTCH} "Download and install a low-quality version of English in-game cutscenes (162 MB)." - - LangString TEXT_SecFMVs_Ger ${LANG_DUTCH} "German" - LangString DESC_SecFMVs_Ger ${LANG_DUTCH} "Download and install German in-game cutscenes (460 MB)." - - LangString TEXT_SecNLS ${LANG_DUTCH} "Language files" - LangString DESC_SecNLS ${LANG_DUTCH} "Ondersteuning voor andere talen dan Engels (Nederlands inbegrepen)." - - LangString TEXT_SecNLS_WinFonts ${LANG_DUTCH} "WinFonts" - LangString DESC_SecNLS_WinFonts ${LANG_DUTCH} "Include Windows Fonts folder into the search path. Enable this if you want to use custom fonts in config file or having troubles with standard font. Can be slow on Vista and later!" - - LangString TEXT_SecMSSysLibraries ${LANG_DUTCH} "Important Microsoft Runtime DLLs" - LangString DESC_SecMSSysLibraries ${LANG_DUTCH} "Download and install (or update) Microsoft's Visual C++ redistributable system libraries, which some components may require to run." diff --git a/pkg/nsis/Lang-English.nsh b/pkg/nsis/Lang-English.nsh deleted file mode 100644 index 2355b3e5e80..00000000000 --- a/pkg/nsis/Lang-English.nsh +++ /dev/null @@ -1,57 +0,0 @@ -; This file is part of Warzone 2100. -; Copyright (C) 2006-2020 Warzone 2100 Project -; Copyright (C) 2006 Dennis Schridde -; -; Warzone 2100 is free software; you can redistribute it and/or modify -; it under the terms of the GNU General Public License as published by -; the Free Software Foundation; either version 2 of the License, or -; (at your option) any later version. -; -; Warzone 2100 is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU General Public License for more details. -; -; You should have received a copy of the GNU General Public License -; along with Warzone 2100; if not, write to the Free Software -; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -; -; NSIS Modern User Interface -; Warzone 2100 Project Installer - English Translations -; - -!ifndef PORTABLE - ;English - LangString WZWelcomeText ${LANG_ENGLISH} "Welcome to the Warzone 2100 installer!\r\n\r\nThis wizard will guide you through the installation of Warzone 2100.\r\n\r\nIt is recommended that you close all other applications before continuing this installation. This will make it possible to update relevant system files without having to reboot your computer.\r\n\r\nWarzone 2100 is 100% free, fully open sourced program\r\n\r\nClick Next to continue." -!else - LangString WZWelcomeText ${LANG_ENGLISH} "Welcome to the Warzone 2100 portable installer!\r\n\r\nThis wizard will guide you through the installation of the portable version of Warzone 2100.\r\n\r\nThis install is fully self-contained and you can uninstall the program at any time by deleting the directory.\r\n\r\nWarzone 2100 is 100% free, fully open sourced program! \r\n\r\nClick Next to continue." -!endif - LangString WZ_GPL_NEXT ${LANG_ENGLISH} "Next" - - - LangString TEXT_SecBase ${LANG_ENGLISH} "Core files" - LangString DESC_SecBase ${LANG_ENGLISH} "The core files required to run Warzone 2100." - - LangString TEXT_SecFMVs ${LANG_ENGLISH} "Videos" - LangString DESC_SecFMVs ${LANG_ENGLISH} "Download and install in-game cutscenes." - - LangString TEXT_SecFMVs_EngHi ${LANG_ENGLISH} "English (HQ)" - LangString DESC_SecFMVs_EngHi ${LANG_ENGLISH} "Download and install higher-quality English in-game cutscenes (920 MB)." - - LangString TEXT_SecFMVs_Eng ${LANG_ENGLISH} "English" - LangString DESC_SecFMVs_Eng ${LANG_ENGLISH} "Download and install English in-game cutscenes (545 MB)." - - LangString TEXT_SecFMVs_EngLo ${LANG_ENGLISH} "English (LQ)" - LangString DESC_SecFMVs_EngLo ${LANG_ENGLISH} "Download and install a low-quality version of English in-game cutscenes (162 MB)." - - LangString TEXT_SecFMVs_Ger ${LANG_ENGLISH} "German" - LangString DESC_SecFMVs_Ger ${LANG_ENGLISH} "Download and install German in-game cutscenes (460 MB)." - - LangString TEXT_SecNLS ${LANG_ENGLISH} "Language files" - LangString DESC_SecNLS ${LANG_ENGLISH} "Support for languages other than English." - - LangString TEXT_SecNLS_WinFonts ${LANG_ENGLISH} "WinFonts" - LangString DESC_SecNLS_WinFonts ${LANG_ENGLISH} "Include Windows Fonts folder into the search path. Enable this if you want to use custom fonts in config file or having troubles with standard font. Can be slow on Vista and later!" - - LangString TEXT_SecMSSysLibraries ${LANG_ENGLISH} "Important Microsoft Runtime DLLs" - LangString DESC_SecMSSysLibraries ${LANG_ENGLISH} "Download and install (or update) Microsoft's Visual C++ redistributable system libraries, which some components may require to run." diff --git a/pkg/nsis/Lang-German.nsh b/pkg/nsis/Lang-German.nsh deleted file mode 100644 index a5b85fc2381..00000000000 --- a/pkg/nsis/Lang-German.nsh +++ /dev/null @@ -1,53 +0,0 @@ -; This file is part of Warzone 2100. -; Copyright (C) 2006-2020 Warzone 2100 Project -; Copyright (C) 2006 Dennis Schridde -; -; Warzone 2100 is free software; you can redistribute it and/or modify -; it under the terms of the GNU General Public License as published by -; the Free Software Foundation; either version 2 of the License, or -; (at your option) any later version. -; -; Warzone 2100 is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU General Public License for more details. -; -; You should have received a copy of the GNU General Public License -; along with Warzone 2100; if not, write to the Free Software -; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -; -; NSIS Modern User Interface -; Warzone 2100 Project Installer script -; - - ;German - LangString WZWelcomeText ${LANG_GERMAN} "Dieser Wizard wird Sie durch die Warzone-2100-Installation führen.\r\n\r\nEs wird empfohlen sämtliche anderen Anwendungen zu schließen, bevor Sie das Setup starten. Dies ermöglicht es relevante Systemdateien zu aktualisieren, ohne neustarten zu müssen.\r\n\r\nWarzone 2100 ist zu 100% kostenlos, falls Sie dafür gezahlt haben, lassen Sie es uns wissen!\r\n\r\nKlicken Sie auf Weiter, um fortzufahren." - LangString WZ_GPL_NEXT ${LANG_GERMAN} "nächste" - - - LangString TEXT_SecBase ${LANG_GERMAN} "Core files" - LangString DESC_SecBase ${LANG_GERMAN} "Die Kerndateien, die für Warzone 2100 benötigt werden." - - LangString TEXT_SecFMVs ${LANG_GERMAN} "Videos" - LangString DESC_SecFMVs ${LANG_GERMAN} "Videos herunterladen und installieren." - - LangString TEXT_SecFMVs_EngHi ${LANG_GERMAN} "English (HQ)" - LangString DESC_SecFMVs_EngHi ${LANG_GERMAN} "Videos in besserer Qualität und auf Englisch herunterladen und installieren (920 MiB)." - - LangString TEXT_SecFMVs_Eng ${LANG_GERMAN} "English" - LangString DESC_SecFMVs_Eng ${LANG_GERMAN} "Die englischen Videos herunterladen und installieren (545 MiB)." - - LangString TEXT_SecFMVs_EngLo ${LANG_GERMAN} "English (LQ)" - LangString DESC_SecFMVs_EngLo ${LANG_GERMAN} "Die englischen Videos in geringer Qualität herunterladen und installieren (162 MiB)." - - LangString TEXT_SecFMVs_Ger ${LANG_GERMAN} "German" - LangString DESC_SecFMVs_Ger ${LANG_GERMAN} "Die deutschen Videos herunterladen und installieren (460 MiB)." - - LangString TEXT_SecNLS ${LANG_GERMAN} "Language files" - LangString DESC_SecNLS ${LANG_GERMAN} "Unterstützung für Sprachen außer Englisch (Deutsch inbegriffen)." - - LangString TEXT_SecNLS_WinFonts ${LANG_GERMAN} "WinFonts" - LangString DESC_SecNLS_WinFonts ${LANG_GERMAN} "Den Windows-Schriftarten-Ordner in den Suchpfad aufnehmen. Nutzen Sie dies, falls Sie später eigene Schriftarten in der Konfigurationsdatei eingeben wollen oder es zu Problemen mit der Standardschriftart kommt. Kann unter Vista und später langsam sein!" - - LangString TEXT_SecMSSysLibraries ${LANG_GERMAN} "Important Microsoft Runtime DLLs" - LangString DESC_SecMSSysLibraries ${LANG_GERMAN} "Download and install (or update) Microsoft's Visual C++ redistributable system libraries, which some components may require to run." diff --git a/pkg/nsis/Lang-Russian.nsh b/pkg/nsis/Lang-Russian.nsh deleted file mode 100644 index 4cbd57c5de2..00000000000 --- a/pkg/nsis/Lang-Russian.nsh +++ /dev/null @@ -1,53 +0,0 @@ -; This file is part of Warzone 2100. -; Copyright (C) 2006-2020 Warzone 2100 Project -; Copyright (C) 2006 Dennis Schridde -; -; Warzone 2100 is free software; you can redistribute it and/or modify -; it under the terms of the GNU General Public License as published by -; the Free Software Foundation; either version 2 of the License, or -; (at your option) any later version. -; -; Warzone 2100 is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU General Public License for more details. -; -; You should have received a copy of the GNU General Public License -; along with Warzone 2100; if not, write to the Free Software -; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -; -; NSIS Modern User Interface -; Warzone 2100 Project Installer script -; - - ;Russian - LangString WZWelcomeText ${LANG_RUSSIAN} "Этот помощник установки поможет вам установить Warzone2100.\r\n\r\nПеред началом рекомендуем закрыть все другие приложения. Это позволит обновить соответствующие системные файлы без перезагрузки системы.\r\n\r\nWarzone2100 100% бесплатный, если вы за него заплатили сообщите нам!\r\n\r\nНажмите Далее для продолжения." - LangString WZ_GPL_NEXT ${LANG_RUSSIAN} "Согласен" - - - LangString TEXT_SecBase ${LANG_RUSSIAN} "Базовые файлы" - LangString DESC_SecBase ${LANG_RUSSIAN} "Файлы требуемые для запуска Warzone 2100." - - LangString TEXT_SecFMVs ${LANG_RUSSIAN} "Видео" - LangString DESC_SecFMVs ${LANG_RUSSIAN} "Скачать и установить внутриигровые ролики." - - LangString TEXT_SecFMVs_EngHi ${LANG_RUSSIAN} "Английские (HQ)" - LangString DESC_SecFMVs_EngHi ${LANG_RUSSIAN} "Download and install higher-quality English in-game cutscenes (920 MB)." - - LangString TEXT_SecFMVs_Eng ${LANG_RUSSIAN} "Английские" - LangString DESC_SecFMVs_Eng ${LANG_RUSSIAN} "Скачать и установить внутриигровые ролики на английском языке (545 MB)." - - LangString TEXT_SecFMVs_EngLo ${LANG_RUSSIAN} "Английские (LQ)" - LangString DESC_SecFMVs_EngLo ${LANG_RUSSIAN} "Скачать и установить внутриигровые ролики (низкого качества) на английском языке (162 MB)." - - LangString TEXT_SecFMVs_Ger ${LANG_RUSSIAN} "Немецкие" - LangString DESC_SecFMVs_Ger ${LANG_RUSSIAN} "Скачать и установить внутриигровые ролики на немецком языке (460 MB)." - - LangString TEXT_SecNLS ${LANG_RUSSIAN} "Языковые файлы" - LangString DESC_SecNLS ${LANG_RUSSIAN} "Поддержка Русского и других языков." - - LangString TEXT_SecNLS_WinFonts ${LANG_RUSSIAN} "WinШрифты" - LangString DESC_SecNLS_WinFonts ${LANG_RUSSIAN} "Задействовать папку шрифтов Windows при поиске. Помогает если есть проблемы с поставляемыми шрифтами. На Висте возможно замедление при загрузке!" - - LangString TEXT_SecMSSysLibraries ${LANG_RUSSIAN} "Important Microsoft Runtime DLLs" - LangString DESC_SecMSSysLibraries ${LANG_RUSSIAN} "Download and install (or update) Microsoft's Visual C++ redistributable system libraries, which some components may require to run." diff --git a/pkg/nsis/NSIS.template.in b/pkg/nsis/NSIS.template.in index 3cf4138ec77..7f73f2b418f 100644 --- a/pkg/nsis/NSIS.template.in +++ b/pkg/nsis/NSIS.template.in @@ -38,7 +38,8 @@ Unicode true !include "..\..\..\NSIS.definitions.nsh" !include "${TOP_BUILDDIR}\NSIS.version.nsh" - !include "${TOP_SRCDIR}\pkg\nsis\stringhelpers.nsh" + !include "${TOP_SRCDIR}\pkg\nsis\scripts\stringhelpers.nsh" + !include "${TOP_SRCDIR}\pkg\nsis\scripts\LangFileSpecific.nsh" ;-------------------------------- ;Required plugins @@ -122,7 +123,11 @@ VIAddVersionKey "ProductVersion" "${PACKAGE_VERSION}" !define MUI_UNICON "${TOP_SRCDIR}\icons\wz2100portableU.ico" !endif +!ifndef PORTABLE !define MUI_WELCOMEPAGE_TEXT "$(WZWelcomeText)" +!else + !define MUI_WELCOMEPAGE_TEXT "$(WZWelcomeText_Portable)" +!endif !define MUI_ABORTWARNING !ifndef PORTABLE @@ -174,10 +179,18 @@ VIAddVersionKey "ProductVersion" "${PACKAGE_VERSION}" ;-------------------------------- ;Languages + !addincludedir "${TOP_SRCDIR}\pkg\nsis\i18n" + !define WZ_LANGFILE_FALLBACK "win_installer_base.nsh" + !insertmacro MUI_LANGUAGE "English" # first language is the default language + !insertmacro LANGFILE_SPECIFIC_INCLUDE "English" "win_installer_base.nsh" + !insertmacro MUI_LANGUAGE "Dutch" + !insertmacro LANGFILE_SPECIFIC_INCLUDE_WITHDEFAULT "Dutch" "win_installer-nl_NL.nsh" ${WZ_LANGFILE_FALLBACK} !insertmacro MUI_LANGUAGE "German" + !insertmacro LANGFILE_SPECIFIC_INCLUDE_WITHDEFAULT "German" "win_installer-de_DE.nsh" ${WZ_LANGFILE_FALLBACK} !insertmacro MUI_LANGUAGE "Russian" + !insertmacro LANGFILE_SPECIFIC_INCLUDE_WITHDEFAULT "Russian" "win_installer-ru_RU.nsh" ${WZ_LANGFILE_FALLBACK} ;-------------------------------- ;Reserve Files @@ -607,21 +620,16 @@ FunctionEnd ;-------------------------------- ;Descriptions - !include "..\..\..\Lang-English.nsh" - !include "..\..\..\Lang-Dutch.nsh" - !include "..\..\..\Lang-German.nsh" - !include "..\..\..\Lang-Russian.nsh" - ;Assign language strings to sections !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${Core} "$(DESC_SecBase)" !insertmacro MUI_DESCRIPTION_TEXT ${Languages} "$(DESC_SecNLS)" !insertmacro MUI_DESCRIPTION_TEXT ${SecFMVs} $(DESC_SecFMVs) - !insertmacro MUI_DESCRIPTION_TEXT ${SecFMVs_Eng} $(DESC_SecFMVs_Eng) - !insertmacro MUI_DESCRIPTION_TEXT ${SecFMVs_EngHi} $(DESC_SecFMVs_EngHi) - !insertmacro MUI_DESCRIPTION_TEXT ${SecFMVs_EngLo} $(DESC_SecFMVs_EngLo) -; !insertmacro MUI_DESCRIPTION_TEXT ${SecFMVs_Ger} $(DESC_SecFMVs_Ger) + !insertmacro MUI_DESCRIPTION_TEXT ${SecFMVs_Eng} "$(DESC_SecFMVs_Eng) (545 MB)" + !insertmacro MUI_DESCRIPTION_TEXT ${SecFMVs_EngHi} "$(DESC_SecFMVs_EngHi) (920 MB)" + !insertmacro MUI_DESCRIPTION_TEXT ${SecFMVs_EngLo} "$(DESC_SecFMVs_EngLo) (162 MB)" +; !insertmacro MUI_DESCRIPTION_TEXT ${SecFMVs_Ger} "$(DESC_SecFMVs_Ger) (460 MB)" !insertmacro MUI_DESCRIPTION_TEXT ${SecNLS_WinFonts} $(DESC_SecNLS_WinFonts) diff --git a/pkg/nsis/i18n/README.md b/pkg/nsis/i18n/README.md new file mode 100644 index 00000000000..b06f0c6de1f --- /dev/null +++ b/pkg/nsis/i18n/README.md @@ -0,0 +1,37 @@ +The `win_installer*.nsh` files in this folder are used to define localized additional +strings for the NSIS installers. + +The default / base language file is English, at: +[**`win_installer_base.nsh`**](win_installer_base.nsh). +It **must** contain _all_ required strings, and is used as a fallback if other +languages are missing translations / strings. + +See: **[/doc/Translations.md](/doc/Translations.md)** for details on how to provide / edit translations. + +--- + +`*.nsh` Language Files Header: + +``` +; This file is part of Warzone 2100. +; Copyright (C) 2006-2020 Warzone 2100 Project +; Copyright (C) 2006 Dennis Schridde +; +; Warzone 2100 is free software; you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation; either version 2 of the License, or +; (at your option) any later version. +; +; Warzone 2100 is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +; +; You should have received a copy of the GNU General Public License +; along with Warzone 2100; if not, write to the Free Software +; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +; +; NSIS Modern User Interface +; Warzone 2100 Project Installer script +; +``` diff --git a/pkg/nsis/i18n/win_installer-de_DE.nsh b/pkg/nsis/i18n/win_installer-de_DE.nsh new file mode 100644 index 00000000000..4e798767886 --- /dev/null +++ b/pkg/nsis/i18n/win_installer-de_DE.nsh @@ -0,0 +1,32 @@ +${LangFileString} WZWelcomeText "Dieser Wizard wird Sie durch die Warzone-2100-Installation führen.\r\n\r\nEs wird empfohlen sämtliche anderen Anwendungen zu schließen, bevor Sie das Setup starten. Dies ermöglicht es relevante Systemdateien zu aktualisieren, ohne neustarten zu müssen.\r\n\r\nWarzone 2100 ist zu 100% kostenlos, falls Sie dafür gezahlt haben, lassen Sie es uns wissen!\r\n\r\nKlicken Sie auf Weiter, um fortzufahren." + +${LangFileString} WZWelcomeText_Portable "Welcome to the Warzone 2100 portable installer!\r\n\r\nThis wizard will guide you through the installation of the portable version of Warzone 2100.\r\n\r\nThis install is fully self-contained and you can uninstall the program at any time by deleting the directory.\r\n\r\nWarzone 2100 is 100% free, fully open sourced program! \r\n\r\nClick Next to continue." + +${LangFileString} WZ_GPL_NEXT "nächste" + +${LangFileString} TEXT_SecBase "Core files" +${LangFileString} DESC_SecBase "Die Kerndateien, die für Warzone 2100 benötigt werden." + +${LangFileString} TEXT_SecFMVs "Videos" +${LangFileString} DESC_SecFMVs "Videos herunterladen und installieren." + +${LangFileString} TEXT_SecFMVs_EngHi "English (HQ)" +${LangFileString} DESC_SecFMVs_EngHi "Videos in besserer Qualität und auf Englisch herunterladen und installieren." + +${LangFileString} TEXT_SecFMVs_Eng "English" +${LangFileString} DESC_SecFMVs_Eng "Die englischen Videos herunterladen und installieren." + +${LangFileString} TEXT_SecFMVs_EngLo "English (LQ)" +${LangFileString} DESC_SecFMVs_EngLo "Die englischen Videos in geringer Qualität herunterladen und installieren." + +${LangFileString} TEXT_SecFMVs_Ger "German" +${LangFileString} DESC_SecFMVs_Ger "Die deutschen Videos herunterladen und installieren." + +${LangFileString} TEXT_SecNLS "Language files" +${LangFileString} DESC_SecNLS "Unterstützung für Sprachen außer Englisch (Deutsch inbegriffen)." + +${LangFileString} TEXT_SecNLS_WinFonts "WinFonts" +${LangFileString} DESC_SecNLS_WinFonts "Den Windows-Schriftarten-Ordner in den Suchpfad aufnehmen. Nutzen Sie dies, falls Sie später eigene Schriftarten in der Konfigurationsdatei eingeben wollen oder es zu Problemen mit der Standardschriftart kommt. Kann unter Vista und später langsam sein!" + +${LangFileString} TEXT_SecMSSysLibraries "Important Microsoft Runtime DLLs" +${LangFileString} DESC_SecMSSysLibraries "Download and install (or update) Microsoft's Visual C++ redistributable system libraries, which some components may require to run." diff --git a/pkg/nsis/i18n/win_installer-nl_NL.nsh b/pkg/nsis/i18n/win_installer-nl_NL.nsh new file mode 100644 index 00000000000..4f2afbb228f --- /dev/null +++ b/pkg/nsis/i18n/win_installer-nl_NL.nsh @@ -0,0 +1,32 @@ +${LangFileString} WZWelcomeText "Deze installatiewizard leidt u door het installatieproces van Warzone 2100.\r\n\r\nHet is aangeraden om alle andere applicaties te sluiten alvorens verder te gaan met deze installatie. Dit maakt het mogelijk om de betreffende systeembestanden te vervangen zonder uw computer opnieuw op te starten" + +${LangFileString} WZWelcomeText_Portable "Welcome to the Warzone 2100 portable installer!\r\n\r\nThis wizard will guide you through the installation of the portable version of Warzone 2100.\r\n\r\nThis install is fully self-contained and you can uninstall the program at any time by deleting the directory.\r\n\r\nWarzone 2100 is 100% free, fully open sourced program! \r\n\r\nClick Next to continue." + +${LangFileString} WZ_GPL_NEXT "volgende" + +${LangFileString} TEXT_SecBase "Core files" +${LangFileString} DESC_SecBase "The core files required to run Warzone 2100." + +${LangFileString} TEXT_SecFMVs "Videos" +${LangFileString} DESC_SecFMVs "Download and install in-game cutscenes." + +${LangFileString} TEXT_SecFMVs_EngHi "English (HQ)" +${LangFileString} DESC_SecFMVs_EngHi "Download and install higher-quality English in-game cutscenes." + +${LangFileString} TEXT_SecFMVs_Eng "English" +${LangFileString} DESC_SecFMVs_Eng "Download and install English in-game cutscenes." + +${LangFileString} TEXT_SecFMVs_EngLo "English (LQ)" +${LangFileString} DESC_SecFMVs_EngLo "Download and install a low-quality version of English in-game cutscenes." + +${LangFileString} TEXT_SecFMVs_Ger "German" +${LangFileString} DESC_SecFMVs_Ger "Download and install German in-game cutscenes." + +${LangFileString} TEXT_SecNLS "Language files" +${LangFileString} DESC_SecNLS "Ondersteuning voor andere talen dan Engels (Nederlands inbegrepen)." + +${LangFileString} TEXT_SecNLS_WinFonts "WinFonts" +${LangFileString} DESC_SecNLS_WinFonts "Include Windows Fonts folder into the search path. Enable this if you want to use custom fonts in config file or having troubles with standard font. Can be slow on Vista and later!" + +${LangFileString} TEXT_SecMSSysLibraries "Important Microsoft Runtime DLLs" +${LangFileString} DESC_SecMSSysLibraries "Download and install (or update) Microsoft's Visual C++ redistributable system libraries, which some components may require to run." diff --git a/pkg/nsis/i18n/win_installer-ru_RU.nsh b/pkg/nsis/i18n/win_installer-ru_RU.nsh new file mode 100644 index 00000000000..f78efac9ac3 --- /dev/null +++ b/pkg/nsis/i18n/win_installer-ru_RU.nsh @@ -0,0 +1,32 @@ +${LangFileString} WZWelcomeText "Этот помощник установки поможет вам установить Warzone2100.\r\n\r\nПеред началом рекомендуем закрыть все другие приложения. Это позволит обновить соответствующие системные файлы без перезагрузки системы.\r\n\r\nWarzone2100 100% бесплатный, если вы за него заплатили сообщите нам!\r\n\r\nНажмите Далее для продолжения." + +${LangFileString} WZWelcomeText_Portable "Welcome to the Warzone 2100 portable installer!\r\n\r\nThis wizard will guide you through the installation of the portable version of Warzone 2100.\r\n\r\nThis install is fully self-contained and you can uninstall the program at any time by deleting the directory.\r\n\r\nWarzone 2100 is 100% free, fully open sourced program! \r\n\r\nClick Next to continue." + +${LangFileString} WZ_GPL_NEXT "Согласен" + +${LangFileString} TEXT_SecBase "Базовые файлы" +${LangFileString} DESC_SecBase "Файлы требуемые для запуска Warzone 2100." + +${LangFileString} TEXT_SecFMVs "Видео" +${LangFileString} DESC_SecFMVs "Скачать и установить внутриигровые ролики." + +${LangFileString} TEXT_SecFMVs_EngHi "Английские (HQ)" +${LangFileString} DESC_SecFMVs_EngHi "Download and install higher-quality English in-game cutscenes." + +${LangFileString} TEXT_SecFMVs_Eng "Английские" +${LangFileString} DESC_SecFMVs_Eng "Скачать и установить внутриигровые ролики на английском языке." + +${LangFileString} TEXT_SecFMVs_EngLo "Английские (LQ)" +${LangFileString} DESC_SecFMVs_EngLo "Скачать и установить внутриигровые ролики (низкого качества) на английском языке." + +${LangFileString} TEXT_SecFMVs_Ger "Немецкие" +${LangFileString} DESC_SecFMVs_Ger "Скачать и установить внутриигровые ролики на немецком языке." + +${LangFileString} TEXT_SecNLS "Языковые файлы" +${LangFileString} DESC_SecNLS "Поддержка Русского и других языков." + +${LangFileString} TEXT_SecNLS_WinFonts "WinШрифты" +${LangFileString} DESC_SecNLS_WinFonts "Задействовать папку шрифтов Windows при поиске. Помогает если есть проблемы с поставляемыми шрифтами. На Висте возможно замедление при загрузке!" + +${LangFileString} TEXT_SecMSSysLibraries "Important Microsoft Runtime DLLs" +${LangFileString} DESC_SecMSSysLibraries "Download and install (or update) Microsoft's Visual C++ redistributable system libraries, which some components may require to run." diff --git a/pkg/nsis/i18n/win_installer_base.nsh b/pkg/nsis/i18n/win_installer_base.nsh new file mode 100644 index 00000000000..ed3e0e5ccc6 --- /dev/null +++ b/pkg/nsis/i18n/win_installer_base.nsh @@ -0,0 +1,32 @@ +${LangFileString} WZWelcomeText "Welcome to the Warzone 2100 installer!\r\n\r\nThis wizard will guide you through the installation of Warzone 2100.\r\n\r\nIt is recommended that you close all other applications before continuing this installation. This will make it possible to update relevant system files without having to reboot your computer.\r\n\r\nWarzone 2100 is 100% free, fully open sourced program\r\n\r\nClick Next to continue." + +${LangFileString} WZWelcomeText_Portable "Welcome to the Warzone 2100 portable installer!\r\n\r\nThis wizard will guide you through the installation of the portable version of Warzone 2100.\r\n\r\nThis install is fully self-contained and you can uninstall the program at any time by deleting the directory.\r\n\r\nWarzone 2100 is 100% free, fully open sourced program! \r\n\r\nClick Next to continue." + +${LangFileString} WZ_GPL_NEXT "Next" + +${LangFileString} TEXT_SecBase "Core files" +${LangFileString} DESC_SecBase "The core files required to run Warzone 2100." + +${LangFileString} TEXT_SecFMVs "Videos" +${LangFileString} DESC_SecFMVs "Download and install in-game cutscenes." + +${LangFileString} TEXT_SecFMVs_EngHi "English (HQ)" +${LangFileString} DESC_SecFMVs_EngHi "Download and install higher-quality English in-game cutscenes." + +${LangFileString} TEXT_SecFMVs_Eng "English" +${LangFileString} DESC_SecFMVs_Eng "Download and install English in-game cutscenes." + +${LangFileString} TEXT_SecFMVs_EngLo "English (LQ)" +${LangFileString} DESC_SecFMVs_EngLo "Download and install a low-quality version of English in-game cutscenes." + +${LangFileString} TEXT_SecFMVs_Ger "German" +${LangFileString} DESC_SecFMVs_Ger "Download and install German in-game cutscenes." + +${LangFileString} TEXT_SecNLS "Language files" +${LangFileString} DESC_SecNLS "Support for languages other than English." + +${LangFileString} TEXT_SecNLS_WinFonts "WinFonts" +${LangFileString} DESC_SecNLS_WinFonts "Include Windows Fonts folder into the search path. Enable this if you want to use custom fonts in config file or having troubles with standard font. Can be slow on Vista and later!" + +${LangFileString} TEXT_SecMSSysLibraries "Important Microsoft Runtime DLLs" +${LangFileString} DESC_SecMSSysLibraries "Download and install (or update) Microsoft's Visual C++ redistributable system libraries, which some components may require to run." diff --git a/pkg/nsis/scripts/LangFileSpecific.nsh b/pkg/nsis/scripts/LangFileSpecific.nsh new file mode 100644 index 00000000000..25a35a4f782 --- /dev/null +++ b/pkg/nsis/scripts/LangFileSpecific.nsh @@ -0,0 +1,133 @@ +/* + +DERIVED FROM NSIS LangFile.nsh +License: (see NSIS_COPYING.txt) + +*************** +Modifications: +- Offers LANGFILE_SPECIFIC_INCLUDE and LANGFILE_SPECIFIC_INCLUDE_WITHDEFAULT + which take an EXPLICIT_LANG_IDNAME parameter. + With these, custom installer string .nsh files no longer need the: + !insertmacro LANGFILE_EXT + line at the top. +*************** + +Original LangFile.nsh comments (modified): + + +Header file to create language files that can be +included with a single command. + +Copyright 2008-2020 Joost Verburg, Anders Kjersem + +* Either LANGFILE_SPECIFIC_INCLUDE or LANGFILE_SPECIFIC_INCLUDE_WITHDEFAULT + can be called from the script to include a language file. + + - LANGFILE_SPECIFIC_INCLUDE takes the language name, and the language file name as parameters. + - LANGFILE_SPECIFIC_INCLUDE_WITHDEFAULT takes as additional third + parameter, the default language file to load missing strings from. + +* Language strings in the language file have the format: + ${LangFileString} LANGSTRING_NAME "Text" + +* Example: + + ; Setup.nsi + !include "MUI.nsh" + !include "LangFileSpecific.nsh" + !insertmacro MUI_PAGE_INSTFILES + !insertmacro MUI_LANGUAGE "English" + !insertmacro LANGFILE_SPECIFIC_INCLUDE "English" "EnglishExtra.nsh" + !insertmacro MUI_LANGUAGE "Swedish" + !insertmacro LANGFILE_SPECIFIC_INCLUDE "Swedish" "SwedishExtra.nsh" + Section + MessageBox MB_OK "$(myCustomString)" + SectionEnd + + ; SwedishExtra.nsh + ${LangFileString} myCustomString "Bork bork" + +*/ + +!ifndef LANGFILE_SPECIFIC_LANG_INCLUDED +!define LANGFILE_SPECIFIC_LANG_INCLUDED + +!macro LANGFILE_SPECIFIC_INCLUDE EXPLICIT_LANG_IDNAME FILENAME + + ;Called from script: include a language file + + !ifdef LangFileString + !undef LangFileString + !endif + + !define LangFileString "!insertmacro LANGFILE_SPECIFIC_SETSTRING" + + !ifdef LANGFILE_SPECIFIC_IDNAME + !undef LANGFILE_SPECIFIC_IDNAME + !endif + !define LANGFILE_SPECIFIC_IDNAME "${EXPLICIT_LANG_IDNAME}" + + !define LANGFILE_SPECIFIC_SETNAMES + !include "${FILENAME}" + !undef LANGFILE_SPECIFIC_SETNAMES + + ;Create language strings + !define /redef LangFileString "!insertmacro LANGFILE_SPECIFIC_LANGSTRING" + !include "${FILENAME}" + +!macroend + +!macro LANGFILE_SPECIFIC_INCLUDE_WITHDEFAULT EXPLICIT_LANG_IDNAME FILENAME FILENAME_DEFAULT + + ;Called from script: include a language file + ;Obtains missing strings from a default file + + !ifdef LangFileString + !undef LangFileString + !endif + + !define LangFileString "!insertmacro LANGFILE_SPECIFIC_SETSTRING" + + !ifdef LANGFILE_SPECIFIC_IDNAME + !undef LANGFILE_SPECIFIC_IDNAME + !endif + !define LANGFILE_SPECIFIC_IDNAME "${EXPLICIT_LANG_IDNAME}" + + !define LANGFILE_SPECIFIC_SETNAMES + !include "${FILENAME}" + !undef LANGFILE_SPECIFIC_SETNAMES + + ;Include default language for missing strings + !define LANGFILE_SPECIFIC_PRIV_INCLUDEISFALLBACK "${FILENAME_DEFAULT}" + !include "${FILENAME_DEFAULT}" + !undef LANGFILE_SPECIFIC_PRIV_INCLUDEISFALLBACK + + ;Create language strings + !define /redef LangFileString "!insertmacro LANGFILE_SPECIFIC_LANGSTRING" + !include "${FILENAME_DEFAULT}" + +!macroend + +!macro LANGFILE_SPECIFIC_SETSTRING NAME VALUE + + ;Set define with translated string + + !ifndef ${NAME} + !define "${NAME}" "${VALUE}" + !ifdef LANGFILE_SPECIFIC_PRIV_INCLUDEISFALLBACK + !warning 'LangString "${NAME}" for language ${LANGFILE_SPECIFIC_IDNAME} is missing, using fallback from "${LANGFILE_SPECIFIC_PRIV_INCLUDEISFALLBACK}"' + !endif + !endif + +!macroend + +!macro LANGFILE_SPECIFIC_LANGSTRING NAME DUMMY + + ;Create a language string from a define and undefine + + LangString "${NAME}" "${LANG_${LANGFILE_SPECIFIC_IDNAME}}" "${${NAME}}" + !undef "${NAME}" + +!macroend + +!endif diff --git a/pkg/nsis/scripts/NSIS_COPYING.txt b/pkg/nsis/scripts/NSIS_COPYING.txt new file mode 100644 index 00000000000..311e87779e6 --- /dev/null +++ b/pkg/nsis/scripts/NSIS_COPYING.txt @@ -0,0 +1,144 @@ +COPYRIGHT +--------- + +Copyright (C) 1999-2020 Contributors + +More detailed copyright information can be found in the individual source code files. + +APPLICABLE LICENSES +------------------- + +* All NSIS source code, plug-ins, documentation, examples, header files and graphics, with the exception of the compression modules and where otherwise noted, are licensed under the zlib/libpng license. + +* The zlib compression module for NSIS is licensed under the zlib/libpng license. + +* The bzip2 compression module for NSIS is licensed under the bzip2 license. + +* The LZMA compression module for NSIS is licensed under the Common Public License version 1.0. + +ZLIB/LIBPNG LICENSE +------------------- + +This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + +BZIP2 LICENSE +------------- + +This program, "bzip2" and associated library "libbzip2", are copyright (C) 1996-2000 Julian R Seward. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + + 2. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. + + 3. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. + + 4. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Julian Seward, Cambridge, UK. + +jseward@acm.org + +COMMON PUBLIC LICENSE VERSION 1.0 +--------------------------------- + +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + + a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and + b) in the case of each subsequent Contributor: + + i) changes to the Program, and + + ii) additions to the Program; + + where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. + +"Contributor" means any person or entity that distributes the Program. + +"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. + +"Program" means the Contributions distributed in accordance with this Agreement. + +"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. + +2. GRANT OF RIGHTS + + a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. + + b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. + + c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. + + d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. + +3. REQUIREMENTS + +A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: + + a) it complies with the terms and conditions of this Agreement; and + + b) its license agreement: + + i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; + + ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; + + iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and + + iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. + +When the Program is made available in source code form: + + a) it must be made available under this Agreement; and + + b) a copy of this Agreement must be included with each copy of the Program. + +Contributors may not remove or alter any copyright notices contained within the Program. + +Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. + +Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. + +This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. + +SPECIAL EXCEPTION FOR LZMA COMPRESSION MODULE +--------------------------------------------- + +Igor Pavlov and Amir Szekely, the authors of the LZMA compression module for NSIS, expressly permit you to statically or dynamically link your code (or bind by name) to the files from the LZMA compression module for NSIS without subjecting your linked code to the terms of the Common Public license version 1.0. Any modifications or additions to files from the LZMA compression module for NSIS, however, are subject to the terms of the Common Public License version 1.0. diff --git a/pkg/nsis/stringhelpers.nsh b/pkg/nsis/scripts/stringhelpers.nsh similarity index 100% rename from pkg/nsis/stringhelpers.nsh rename to pkg/nsis/scripts/stringhelpers.nsh diff --git a/pkg/nsis/warzone2100.nsi b/pkg/nsis/warzone2100.nsi index a548785c1be..21344402dfe 100644 --- a/pkg/nsis/warzone2100.nsi +++ b/pkg/nsis/warzone2100.nsi @@ -27,6 +27,8 @@ !include "FileFunc.nsh" !include "LogicLib.nsh" + !include "scripts\LangFileSpecific.nsh" + ;-------------------------------- ;General CRCCheck on ;make sure this isn't corrupted @@ -129,10 +131,19 @@ VIAddVersionKey "ProductVersion" "${PACKAGE_VERSION}" ;-------------------------------- ;Languages + !addincludedir "i18n" + + !define WZ_LANGFILE_FALLBACK "win_installer_base.nsh" + !insertmacro MUI_LANGUAGE "English" # first language is the default language + !insertmacro LANGFILE_SPECIFIC_INCLUDE "English" "win_installer_base.nsh" + !insertmacro MUI_LANGUAGE "Dutch" + !insertmacro LANGFILE_SPECIFIC_INCLUDE_WITHDEFAULT "Dutch" "win_installer-nl_NL.nsh" ${WZ_LANGFILE_FALLBACK} !insertmacro MUI_LANGUAGE "German" + !insertmacro LANGFILE_SPECIFIC_INCLUDE_WITHDEFAULT "German" "win_installer-de_DE.nsh" ${WZ_LANGFILE_FALLBACK} !insertmacro MUI_LANGUAGE "Russian" + !insertmacro LANGFILE_SPECIFIC_INCLUDE_WITHDEFAULT "Russian" "win_installer-ru_RU.nsh" ${WZ_LANGFILE_FALLBACK} ;-------------------------------- ;Reserve Files @@ -529,20 +540,15 @@ FunctionEnd ;-------------------------------- ;Descriptions - !include "Lang-English.nsh" - !include "Lang-Dutch.nsh" - !include "Lang-German.nsh" - !include "Lang-Russian.nsh" - ;Assign language strings to sections !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SecBase} $(DESC_SecBase) !insertmacro MUI_DESCRIPTION_TEXT ${SecFMVs} $(DESC_SecFMVs) - !insertmacro MUI_DESCRIPTION_TEXT ${SecFMVs_Eng} $(DESC_SecFMVs_Eng) - !insertmacro MUI_DESCRIPTION_TEXT ${SecFMVs_EngHi} $(DESC_SecFMVs_EngHi) - !insertmacro MUI_DESCRIPTION_TEXT ${SecFMVs_EngLo} $(DESC_SecFMVs_EngLo) -; !insertmacro MUI_DESCRIPTION_TEXT ${SecFMVs_Ger} $(DESC_SecFMVs_Ger) + !insertmacro MUI_DESCRIPTION_TEXT ${SecFMVs_Eng} "$(DESC_SecFMVs_Eng) (545 MB)" + !insertmacro MUI_DESCRIPTION_TEXT ${SecFMVs_EngHi} "$(DESC_SecFMVs_EngHi) (920 MB)" + !insertmacro MUI_DESCRIPTION_TEXT ${SecFMVs_EngLo} "$(DESC_SecFMVs_EngLo) (162 MB)" +; !insertmacro MUI_DESCRIPTION_TEXT ${SecFMVs_Ger} "$(DESC_SecFMVs_Ger) (460 MB)" !insertmacro MUI_DESCRIPTION_TEXT ${SecNLS} $(DESC_SecNLS) !insertmacro MUI_DESCRIPTION_TEXT ${SecNLS_WinFonts} $(DESC_SecNLS_WinFonts)