diff --git a/development/Win32/packaging/installer/download.nsh b/development/Win32/packaging/installer/download.nsh index 3382c50d36..910433cab6 100644 --- a/development/Win32/packaging/installer/download.nsh +++ b/development/Win32/packaging/installer/download.nsh @@ -51,20 +51,20 @@ ; DoNothing. ; If the widget is disabled then set DoNothing ($3) to 0. ; Otherwise, set it equal to the "state" variable of the field. - !insertmacro MUI_INSTALLOPTIONS_READ $3 "ioDownload.ini" "Field 2" "Flags" + !insertmacro MUI_INSTALLOPTIONS_READ $3 "io_download.ini" "Field 2" "Flags" IntOp $3 $3 & DISABLED ${if} $3 == 1 StrCpy $3 0 ${else} - !insertmacro MUI_INSTALLOPTIONS_READ $3 "ioDownload.ini" "Field 2" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $3 "io_download.ini" "Field 2" "State" ${endif} ; Download - !insertmacro MUI_INSTALLOPTIONS_READ $2 "ioDownload.ini" "Field 3" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $2 "io_download.ini" "Field 3" "State" ; SelectFolder - !insertmacro MUI_INSTALLOPTIONS_READ $1 "ioDownload.ini" "Field 4" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $1 "io_download.ini" "Field 4" "State" ; FolderPath - !insertmacro MUI_INSTALLOPTIONS_READ $0 "ioDownload.ini" "Field 5" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $0 "io_download.ini" "Field 5" "State" ; Return output to user. ; The stack available to the user contains: @@ -193,8 +193,8 @@ !macro DownloadEnter_Private ExePath Required DownloadLabel HomeLabel PageHeader PageDescription - !insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 1" "Text" "" - !insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 2" "Text" "$(DownloadPageField2)" + !insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 1" "Text" "" + !insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 2" "Text" "$(DownloadPageField2)" Push $0 ${if} ${Required} == 1 @@ -202,31 +202,31 @@ ${else} StrCpy $0 "DISABLED" ${endif} - !insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 2" "Flags" $0 + !insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 2" "Flags" $0 Pop $0 - !insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 2" "State" "0" - !insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 3" "Text" "${DownloadLabel}" - !insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 4" "Text" "${HomeLabel}" + !insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 2" "State" "0" + !insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 3" "Text" "${DownloadLabel}" + !insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 4" "Text" "${HomeLabel}" ${if} ${ExePath} == "" - !insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 3" "State" "1" - !insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 4" "State" "0" - !insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 5" "Flags" PATH_MUST_EXIST|DISABLED - !insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 5" "State" "" + !insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 3" "State" "1" + !insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 4" "State" "0" + !insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 5" "Flags" PATH_MUST_EXIST|DISABLED + !insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 5" "State" "" ${else} - !insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 3" "State" "0" - !insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 4" "State" "1" - !insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 5" "Flags" PATH_MUST_EXIST + !insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 3" "State" "0" + !insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 4" "State" "1" + !insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 5" "Flags" PATH_MUST_EXIST - !insertmacro MUI_INSTALLOPTIONS_WRITE "ioDownload.ini" "Field 5" "State" "${ExePath}" + !insertmacro MUI_INSTALLOPTIONS_WRITE "io_download.ini" "Field 5" "State" "${ExePath}" ${endif} ClearErrors !insertmacro MUI_HEADER_TEXT "${PageHeader}" "${PageDescription}" - !insertmacro MUI_INSTALLOPTIONS_DISPLAY "ioDownload.ini" + !insertmacro MUI_INSTALLOPTIONS_DISPLAY "io_download.ini" !macroend @@ -282,7 +282,7 @@ !macro DownloadLeave_Private DoNotRequire Download FolderPath URL EnterFolder ExeName InvalidFolder - !insertmacro MUI_INSTALLOPTIONS_READ $0 "ioDownload.ini" "Settings" "State" + !insertmacro MUI_INSTALLOPTIONS_READ $0 "io_download.ini" "Settings" "State" StrCmp $0 0 go_on ; Next button? diff --git a/development/Win32/packaging/installer/ioDownload.ini b/development/Win32/packaging/installer/io_download.ini similarity index 100% rename from development/Win32/packaging/installer/ioDownload.ini rename to development/Win32/packaging/installer/io_download.ini diff --git a/development/Win32/packaging/installer/ioSummary.ini b/development/Win32/packaging/installer/io_summary.ini similarity index 100% rename from development/Win32/packaging/installer/ioSummary.ini rename to development/Win32/packaging/installer/io_summary.ini diff --git a/development/Win32/packaging/installer/io_ui_language.ini b/development/Win32/packaging/installer/io_ui_language.ini new file mode 100644 index 0000000000..5abd9e4149 --- /dev/null +++ b/development/Win32/packaging/installer/io_ui_language.ini @@ -0,0 +1,18 @@ +[Settings] +NumFields=2 + +[Field 1] +Type=GroupBox +Left=0 +Right=160 +Top=0 +Bottom=-4 +Text=" Available Languages " + +[Field 2] +Type=Droplist +ListItems=Dansk|Deutsch|English|Espagńol|Euskara|Français|Italiano|Nederlands|Norsk|Nynorsk|Polski|Româna|Russian|Slovenský|Slovenšcina|Suomi|Türkçe +Left=20 +Right=130 +Top=15 +Bottom=130 diff --git a/development/Win32/packaging/installer/lyx_path_prefix.C b/development/Win32/packaging/installer/lyx_configure.C similarity index 82% rename from development/Win32/packaging/installer/lyx_path_prefix.C rename to development/Win32/packaging/installer/lyx_configure.C index 5255183b6a..4b152a97a4 100644 --- a/development/Win32/packaging/installer/lyx_path_prefix.C +++ b/development/Win32/packaging/installer/lyx_configure.C @@ -1,5 +1,5 @@ /* - * \file lyx_path_prefix.C + * \file lyx_configure.C * This file is part of LyX, the document processor. * http://www.lyx.org/ * Licence details can be found in the file COPYING or copy at @@ -18,7 +18,7 @@ * Compile the code with * * g++ -I/c/Program\ Files/NSIS/Contrib -Wall -shared \ - * lyx_path_prefix.C -o lyx_path_prefix.dll + * lyx_configure.C -o lyx_configure.dll * * Move resulting .dll to /c/Program\ Files/NSIS/Plugins */ @@ -256,6 +256,50 @@ void __declspec(dllexport) set_path_prefix(HWND hwndParent, int string_size, cha } +// Creates the files lyx.bat and reLyX.bat in the LyX\bin folder. +extern "C" +void __declspec(dllexport) create_bat_files(HWND hwndParent, int string_size, char *variables, stack_t **stacktop) +{ + EXDLL_INIT(); + + std::string const bin_dir = pop_from_stack(); + std::string const lang = pop_from_stack(); + + std::string const lyx_bat_file = bin_dir + "\\lyx.bat"; + std::ofstream lyx_bat(lyx_bat_file.c_str()); + if (!lyx_bat) { + pushstring("-1"); + return; + } + std::string const lyx_exe_file = bin_dir + "\\lyx.exe"; + lyx_bat << "@echo off\n" + << "if \"%LANG%\"==\"\" SET LANG=" << lang << "\n" + << "\"" << lyx_exe_file << "\" %~1 %~2 %~3 %~4 %~5 %~6 %~7 %~8 %~9\n"; + if (!lyx_bat) { + pushstring("-1"); + return; + } + + std::string const relyx_bat_file = bin_dir + "\\reLyX.bat"; + std::ofstream relyx_bat(relyx_bat_file.c_str()); + if (!relyx_bat) { + pushstring("-1"); + return; + } + + std::string const relyx_file = bin_dir + "\\reLyX"; + relyx_bat << "@echo off\r\n" + << "perl.exe " << relyx_file << " %~1 %~2 %~3 %~4 %~5 %~6 %~7 %~8 %~9\r\n"; + + if (!relyx_bat) { + pushstring("-1"); + return; + } + + pushstring("0"); +} + + // Runs "sh configure" to generate things like lyxrc.defaults. extern "C" void __declspec(dllexport) run_configure(HWND hwndParent, int string_size, char *variables, stack_t **stacktop) @@ -300,3 +344,19 @@ void __declspec(dllexport) run_configure(HWND hwndParent, int string_size, char pushstring("0"); } + + +// Set an environment variable +extern "C" +void __declspec(dllexport) set_env(HWND hwndParent, int string_size, + char *variables, stack_t **stacktop) +{ + EXDLL_INIT(); + + std::string const var_name = pop_from_stack(); + std::string const var_value = pop_from_stack(); + + SetEnvironmentVariableA(var_name.c_str(), var_value.c_str()); + + pushstring("0"); +} diff --git a/development/Win32/packaging/installer/lyx_installer.nsi b/development/Win32/packaging/installer/lyx_installer.nsi index 2340150519..72b60f3cca 100644 --- a/development/Win32/packaging/installer/lyx_installer.nsi +++ b/development/Win32/packaging/installer/lyx_installer.nsi @@ -29,6 +29,7 @@ SetCompressor lzma !define PRODUCT_LICENSE_FILE "..\..\..\..\COPYING" !define PRODUCT_SOURCEDIR "J:\Programs\LyX" !define PRODUCT_EXE "$INSTDIR\bin\lyx.exe" +!define PRODUCT_BAT "$INSTDIR\bin\lyx.bat" !define PRODUCT_EXT ".lyx" !define PRODUCT_MIME_TYPE "application/lyx" !define PRODUCT_UNINSTALL_EXE "$INSTDIR\uninstall.exe" @@ -55,6 +56,7 @@ InstallDir "$PROGRAMFILES\${PRODUCT_NAME}" !include "StrFunc.nsh" !include "strtrim.nsh" !include "download.nsh" +!include "lyx_utils.nsh" ; Declare used functions ${StrLoc} @@ -113,6 +115,9 @@ Var CreateDesktopIcon Var StartmenuFolder Var ProductRootKey +Var LangName +Var LangCode + ;-------------------------------- ; Remember the installer language @@ -141,6 +146,9 @@ Page custom SummariseDownloads SummariseDownloads_LeaveFunction ; Specify the installation directory. !insertmacro MUI_PAGE_DIRECTORY +; Specify LyX's menu language. +Page custom SelectMenuLanguage SelectMenuLanguage_LeaveFunction + ; Define which components to install. !insertmacro MUI_PAGE_COMPONENTS @@ -153,9 +161,10 @@ Page custom SummariseDownloads SummariseDownloads_LeaveFunction ; Watch the components being installed. !insertmacro MUI_PAGE_INSTFILES +!define MUI_FINISHPAGE_RUN !define MUI_FINISHPAGE_TEXT "$(FinishPageMessage)" !define MUI_FINISHPAGE_RUN_TEXT "$(FinishPageRun)" -!define MUI_FINISHPAGE_RUN "${PRODUCT_EXE}" +!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchProduct" !insertmacro MUI_PAGE_FINISH ; The uninstaller. @@ -189,9 +198,12 @@ LicenseData "$(LyXLicenseData)" ; Keep these lines before any File command ; Only for solid compression (by default, solid compression ; is enabled for BZIP2 and LZMA) -ReserveFile "ioDownload.ini" -ReserveFile "ioSummary.ini" +ReserveFile "io_download.ini" +ReserveFile "io_summary.ini" !insertmacro MUI_RESERVEFILE_LANGDLL +ReserveFile "io_ui_language.ini" +!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS + ;-------------------------------- @@ -222,16 +234,23 @@ Section "-Installation actions" SecInstallation File /r "${PRODUCT_SOURCEDIR}\bin" ${if} "$PathPrefix" != "" - lyx_path_prefix::set_path_prefix "$INSTDIR\Resources\lyx\configure" "$PathPrefix" + lyx_configure::set_path_prefix "$INSTDIR\Resources\lyx\configure" "$PathPrefix" Pop $0 ${if} $0 != 0 MessageBox MB_OK "$(ModifyingConfigureFailed)" ${endif} - lyx_path_prefix::run_configure "$INSTDIR\Resources\lyx\configure" "$PathPrefix" - Pop $0 - ${if} $0 != 0 - MessageBox MB_OK "$(RunConfigureFailed)" - ${endif} + ${endif} + + lyx_configure::create_bat_files "$INSTDIR\bin" "$LangCode" + Pop $0 + ${if} $0 != 0 + MessageBox MB_OK "$(CreateCmdFilesFailed)" + ${endif} + + lyx_configure::run_configure "$INSTDIR\Resources\lyx\configure" "$PathPrefix" + Pop $0 + ${if} $0 != 0 + MessageBox MB_OK "$(RunConfigureFailed)" ${endif} WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "${PRODUCT_EXE}" @@ -243,11 +262,11 @@ Section "-Installation actions" SecInstallation WriteRegStr ${PRODUCT_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "StartMenu" "$SMPROGRAMS\$StartmenuFolder" CreateDirectory "$SMPROGRAMS\$StartmenuFolder" - CreateShortCut "$SMPROGRAMS\$StartmenuFolder\${PRODUCT_NAME}.lnk" "${PRODUCT_EXE}" + CreateShortCut "$SMPROGRAMS\$StartmenuFolder\${PRODUCT_NAME}.lnk" "${PRODUCT_BAT}" "" "${PRODUCT_EXE}" CreateShortCut "$SMPROGRAMS\$StartmenuFolder\Uninstall.lnk" "${PRODUCT_UNINSTALL_EXE}" ${if} $CreateDesktopIcon == "true" - CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "${PRODUCT_EXE}" + CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "${PRODUCT_BAT}" "" "${PRODUCT_EXE}" ${endif} ${if} $CreateFileAssociations == "true" @@ -280,8 +299,9 @@ SectionEnd Function .onInit !insertmacro MUI_LANGDLL_DISPLAY - !insertmacro MUI_INSTALLOPTIONS_EXTRACT "ioDownload.ini" - !insertmacro MUI_INSTALLOPTIONS_EXTRACT "ioSummary.ini" + !insertmacro MUI_INSTALLOPTIONS_EXTRACT "io_download.ini" + !insertmacro MUI_INSTALLOPTIONS_EXTRACT "io_summary.ini" + !insertmacro MUI_INSTALLOPTIONS_EXTRACT "io_ui_language.ini" ; Default settings ; These can be reset to "all" in section SecAllUsers. @@ -322,6 +342,13 @@ FunctionEnd ;-------------------------------- +Function LaunchProduct + lyx_configure::set_env LANG $LangCode + Exec ${PRODUCT_EXE} +FunctionEnd + +;-------------------------------- + Function SearchMinSYS ; Search the registry for the MinSYS uninstaller. ; If successful, put its location in $2. @@ -568,6 +595,30 @@ FunctionEnd ;-------------------------------- +Function SelectMenuLanguage + StrCpy $LangName "" + + ;tranlate NSIS's language code to the language name; macro from lyx_utils.nsh + !insertmacro TranslateLangCode $LangName $Language + + !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 2" "State" "$LangName" + + !insertmacro MUI_HEADER_TEXT "$(UILangageTitle)" "$(UILangageDescription)" + !insertmacro MUI_INSTALLOPTIONS_DISPLAY "io_ui_language.ini" +FunctionEnd + +;-------------------------------- + +Function SelectMenuLanguage_LeaveFunction + !insertmacro MUI_INSTALLOPTIONS_READ $LangName "io_ui_language.ini" "Field 2" "State" + + ;Get the language code; macro from lyx_utils.nsh + StrCpy $LangCode "" + !insertmacro GetLangCode $LangCode $LangName +FunctionEnd + +;-------------------------------- + Function SummariseDownloads StrCpy $PathPrefix "" @@ -599,15 +650,15 @@ Function SummariseDownloads IntOp $DoNotInstallLyX $DoNotInstallLyX + $DownloadImageMagick ${if} "$DoNotInstallLyX" == 1 - !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSummary.ini" "Field 1" "Text" "$(SummaryPleaseInstall)" + !insertmacro MUI_INSTALLOPTIONS_WRITE "io_summary.ini" "Field 1" "Text" "$(SummaryPleaseInstall)" ${else} ${StrNSISToIO} $0 '$PathPrefix' StrCpy $0 "$(SummaryPathPrefix)\r\n\r\n$0" - !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSummary.ini" "Field 1" "Text" "$0" + !insertmacro MUI_INSTALLOPTIONS_WRITE "io_summary.ini" "Field 1" "Text" "$0" ${endif} !insertmacro MUI_HEADER_TEXT "$(SummaryTitle)" "" - !insertmacro MUI_INSTALLOPTIONS_DISPLAY "ioSummary.ini" + !insertmacro MUI_INSTALLOPTIONS_DISPLAY "io_summary.ini" FunctionEnd Function SummariseDownloads_LeaveFunction diff --git a/development/Win32/packaging/installer/lyx_languages/danish.nsh b/development/Win32/packaging/installer/lyx_languages/danish.nsh index 62ace1de8c..f68a31fcf4 100644 --- a/development/Win32/packaging/installer/lyx_languages/danish.nsh +++ b/development/Win32/packaging/installer/lyx_languages/danish.nsh @@ -18,6 +18,7 @@ LangString SecFileAssocDescription "${LYX_LANG}" "Opret association mellem LyX o LangString SecDesktopDescription "${LYX_LANG}" "Et ${PRODUCT_NAME} ikon pĺ skrivebordet" LangString ModifyingConfigureFailed "${LYX_LANG}" "Forsřget pĺ at indstille 'path_prefix' i konfigurationen mislykkedes" +LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd" LangString RunConfigureFailed "${LYX_LANG}" "Mislykket forsřg pĺ at afvikle konfigurations-scriptet" LangString FinishPageMessage "${LYX_LANG}" "Tillykke!! LyX er installeret." @@ -71,6 +72,9 @@ LangString SummaryTitle "${LYX_LANG}" "Software - sammendrag" LangString SummaryPleaseInstall "${LYX_LANG}" "Installer de filer du har downloaded, og křr sĺ LyX's installationsprogram igen." LangString SummaryPathPrefix "${LYX_LANG}" "Jeg tilfřjer en 'path_prefix' streng til 'lyxrc.defaults' som indeholder:" +LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface" +LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc." + LangString UnNotInRegistryLabel "${LYX_LANG}" "Kunne ikke finde $(^Name) i registreringsdatabsen$\r$\nGenvejene pĺ skrivebordet og i Start-menuen bliver ikke fjernet" LangString UnNotAdminLabel "${LYX_LANG}" "Beklager! Du skal have administrator-rettigheder$\r$\nfor at afinstallere$(^Name)." LangString UnReallyRemoveLabel "${LYX_LANG}" "Er du sikker pĺ, at du vil slette $(^Name) og alle tilhřrende komponenter?" diff --git a/development/Win32/packaging/installer/lyx_languages/dutch.nsh b/development/Win32/packaging/installer/lyx_languages/dutch.nsh index 8e8e0c97fd..daa8c151c5 100644 --- a/development/Win32/packaging/installer/lyx_languages/dutch.nsh +++ b/development/Win32/packaging/installer/lyx_languages/dutch.nsh @@ -18,6 +18,7 @@ LangString SecFileAssocDescription "${LYX_LANG}" "Associeer het LyX programma me LangString SecDesktopDescription "${LYX_LANG}" "Een ${PRODUCT_NAME} pictogram op het Bureaublad." LangString ModifyingConfigureFailed "${LYX_LANG}" "Mislukte poging om 'path_prefix' te registreren tijdens de configuratie" +LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd" LangString RunConfigureFailed "${LYX_LANG}" "Mislukte configuratie poging" LangString FinishPageMessage "${LYX_LANG}" "Gefeliciteerd! LyX is succesvol geinstalleerd." @@ -71,6 +72,9 @@ LangString SummaryTitle "${LYX_LANG}" "Software samenvatting" LangString SummaryPleaseInstall "${LYX_LANG}" "Installeer de opgehaalde bestanden en start vervolgens het LyX installatie programma nogmaals om de installatie af te ronden." LangString SummaryPathPrefix "${LYX_LANG}" "Ik voeg een 'path_prefix' tekst aan 'lyxrc.defaults' toe met:" +LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface" +LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc." + LangString UnNotInRegistryLabel "${LYX_LANG}" "$(^Name) is niet gevonden in het Windows register$\r$\nSnelkoppelingen op het Bureaublad en in het Start Menu worden niet verwijderd." LangString UnNotAdminLabel "${LYX_LANG}" "Sorry! U heeft systeembeheer rechten nodig$\r$\nom $(^Name) te verwijderen." LangString UnReallyRemoveLabel "${LYX_LANG}" "Weet u zeker dat u $(^Name) en alle componenten volledig wil verwijderen van deze computer?" diff --git a/development/Win32/packaging/installer/lyx_languages/english.nsh b/development/Win32/packaging/installer/lyx_languages/english.nsh index b8f0144182..f99603d098 100644 --- a/development/Win32/packaging/installer/lyx_languages/english.nsh +++ b/development/Win32/packaging/installer/lyx_languages/english.nsh @@ -18,6 +18,7 @@ LangString SecFileAssocDescription "${LYX_LANG}" "Create associations between th LangString SecDesktopDescription "${LYX_LANG}" "A ${PRODUCT_NAME} icon on the desktop." LangString ModifyingConfigureFailed "${LYX_LANG}" "Failed attempting to set 'path_prefix' in the configure script" +LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd" LangString RunConfigureFailed "${LYX_LANG}" "Failed attempting to execute the configure script" LangString FinishPageMessage "${LYX_LANG}" "Congratulations! LyX has been installed successfully." @@ -71,6 +72,9 @@ LangString SummaryTitle "${LYX_LANG}" "Software summary" LangString SummaryPleaseInstall "${LYX_LANG}" "Please install your downloaded files and then run LyX's installer once again." LangString SummaryPathPrefix "${LYX_LANG}" "I shall add a 'path_prefix' string to 'lyxrc.defaults' containing:" +LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface" +LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc." + LangString UnNotInRegistryLabel "${LYX_LANG}" "Unable to find $(^Name) in the registry$\r$\nShortcuts on the desktop and in the Start Menu will not be removed." LangString UnNotAdminLabel "${LYX_LANG}" "Sorry! You must have administrator privileges$\r$\nto uninstall $(^Name)." LangString UnReallyRemoveLabel "${LYX_LANG}" "Are you sure you want to completely remove $(^Name) and all of its components?" diff --git a/development/Win32/packaging/installer/lyx_languages/french.nsh b/development/Win32/packaging/installer/lyx_languages/french.nsh index edd8eb41e5..9871e79969 100644 --- a/development/Win32/packaging/installer/lyx_languages/french.nsh +++ b/development/Win32/packaging/installer/lyx_languages/french.nsh @@ -19,6 +19,7 @@ LangString SecFileAssocDescription "${LYX_LANG}" "Cr LangString SecDesktopDescription "${LYX_LANG}" "Une icône ${PRODUCT_NAME} sur le bureau." LangString ModifyingConfigureFailed "${LYX_LANG}" "Échec de l'allocation 'path_prefix' lors de la configuration." +LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd" LangString RunConfigureFailed "${LYX_LANG}" "Échec de la tentative de configuration initiale de LyX." LangString FinishPageMessage "${LYX_LANG}" "Félicitations ! LyX est installé avec succčs." @@ -72,6 +73,9 @@ LangString SummaryTitle "${LYX_LANG}" "R LangString SummaryPleaseInstall "${LYX_LANG}" "Merci d'installer les fichiers téléchargés, puis d'exécuter de nouveau l'installation de LyX." LangString SummaryPathPrefix "${LYX_LANG}" "Durant l'installation, une chaîne de caractčres 'path_prefix' sera ajoutée ŕ 'lyxrc.defaults', elle contiendra :" +LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface" +LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc." + LangString UnNotInRegistryLabel "${LYX_LANG}" "$(^Name) introuvable dans le base des registres. $\r$\nLes raccourcis sur le bureau et dans le menu de démarrage ne seront pas supprimés." LangString UnNotAdminLabel "${LYX_LANG}" "Désolé ! Vous devez avoir les droits d'administration$\r$\npour installer$(^Name)." LangString UnReallyRemoveLabel "${LYX_LANG}" "Ętes vous sűr(e) de vouloir supprimer complčtement $(^Name) et tous ses composants ?" diff --git a/development/Win32/packaging/installer/lyx_languages/german.nsh b/development/Win32/packaging/installer/lyx_languages/german.nsh index 246cf56e54..38c4a90d5c 100644 --- a/development/Win32/packaging/installer/lyx_languages/german.nsh +++ b/development/Win32/packaging/installer/lyx_languages/german.nsh @@ -18,6 +18,7 @@ LangString SecFileAssocDescription "${LYX_LANG}" "Vern LangString SecDesktopDescription "${LYX_LANG}" "Verknüpfung zu ${PRODUCT_NAME} auf dem Desktop." LangString ModifyingConfigureFailed "${LYX_LANG}" "Der 'path_prefix' (Liste mit Programmpfaden) konnte nicht im Konfigurationsskript gesetzt werden." +LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd" LangString RunConfigureFailed "${LYX_LANG}" "Konnte das Konfigurationsskript nicht ausführen." LangString FinishPageMessage "${LYX_LANG}" "Glückwunsch! LyX wurde erfolgreich installiert." @@ -71,6 +72,9 @@ LangString SummaryTitle "${LYX_LANG}" "Software Zusammenfassung" LangString SummaryPleaseInstall "${LYX_LANG}" "Bitte installieren sie die heruntergeladenen Programme und starten dann ${PRODUCT_NAME}'s Installer nochmal." LangString SummaryPathPrefix "${LYX_LANG}" "Die Liste mit den Programmpfaden, der so genannte 'path_prefix' wird zur Datei 'lyxrc.defaults' hinzugefügt:" +LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface" +LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc." + LangString UnNotInRegistryLabel "${LYX_LANG}" "Kann $(^Name) nicht in der Registry finden. $\r$\n Desktopsymbole und Einträge im Startmenü können nicht entfernt werden." LangString UnNotAdminLabel "${LYX_LANG}" "Sie benötigen Administratorrechte $\r$\n um $(^Name) zu deinstallieren." LangString UnReallyRemoveLabel "${LYX_LANG}" "Sind Sie sicher, dass sie $(^Name) und all seine Komponenten deinstalliern möchten?" diff --git a/development/Win32/packaging/installer/lyx_languages/spanish.nsh b/development/Win32/packaging/installer/lyx_languages/spanish.nsh index 48ed626a68..bac01e1561 100644 --- a/development/Win32/packaging/installer/lyx_languages/spanish.nsh +++ b/development/Win32/packaging/installer/lyx_languages/spanish.nsh @@ -18,6 +18,7 @@ LangString SecFileAssocDescription "${LYX_LANG}" "Asociar la extesi LangString SecDesktopDescription "${LYX_LANG}" "Crear un icono de ${PRODUCT_NAME} en el escritorio." LangString ModifyingConfigureFailed "${LYX_LANG}" "Error al intentar ańadir 'path_prefix' durante la ejecución del programa de configuración" +LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd" LangString RunConfigureFailed "${LYX_LANG}" "Error al intentar ejecutar el programa de configuración" LangString FinishPageMessage "${LYX_LANG}" "Enhorabuena! LyX ha sido instalado satisfactoriamente." @@ -71,6 +72,9 @@ LangString SummaryTitle "${LYX_LANG}" "Resumen de la instalaci LangString SummaryPleaseInstall "${LYX_LANG}" "Por favor, instale los programas descargados y vuelva a ejecutar el insralador de LyX una vez más." LangString SummaryPathPrefix "${LYX_LANG}" "Durante la instalación el siguiente 'path_prefix' se ańadirá a 'lyxrc.defaults':" +LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface" +LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc." + LangString UnNotInRegistryLabel "${LYX_LANG}" "Imposible encontrar $(^Name) en el registro$\r$\nLos accesos rápidos del escritorio y del Menú de Inicio no serán eliminados." LangString UnNotAdminLabel "${LYX_LANG}" "Lo siento! Necesita privilegios de administrador$\r$\npara desinstalar $(^Name)." LangString UnReallyRemoveLabel "${LYX_LANG}" "żEstá seguro de que desea eliminar completamente $(^Name) y todos sus componentes?" diff --git a/development/Win32/packaging/installer/lyx_languages/swedish.nsh b/development/Win32/packaging/installer/lyx_languages/swedish.nsh index 32caeec375..00ad3ccae7 100644 --- a/development/Win32/packaging/installer/lyx_languages/swedish.nsh +++ b/development/Win32/packaging/installer/lyx_languages/swedish.nsh @@ -23,6 +23,7 @@ LangString SecFileAssocDescription "${LYX_LANG}" "Skapa en association mellan pr LangString SecDesktopDescription "${LYX_LANG}" "En ${PRODUCT_NAME}ikon pĺ skrivbordet." LangString ModifyingConfigureFailed "${LYX_LANG}" "Misslyckades med att sätta 'path_prefix' i konfigurationsskriptet" +LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd" LangString RunConfigureFailed "${LYX_LANG}" "Misslyckades med att köra konfigurationsskriptet" LangString FinishPageMessage "${LYX_LANG}" "Gratulerar! LyX har installerats framgĺngsrikt." @@ -76,6 +77,9 @@ LangString SummaryTitle "${LYX_LANG}" "Mjukvarusammanfattning" LangString SummaryPleaseInstall "${LYX_LANG}" "Var god installera först dina nedladdade filer och kör sedan LyXs installationsprogram igen." LangString SummaryPathPrefix "${LYX_LANG}" "En 'path_prefix'-sträng kommer att läggas till i filen 'lyxrc.defaults' innehĺllande följande:" +LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface" +LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc." + LangString UnNotInRegistryLabel "${LYX_LANG}" "${SwedishUnableToFind} $(^Name) i registret\r$\nGenvägar pĺ skrivbordet och i startmeny kommer inte att tas bort." LangString UnNotAdminLabel "${LYX_LANG}" "Tyvärr! Du mĺste ha administratörsrättigheter för\r$\natt avinstallera $(^Name)." LangString UnReallyRemoveLabel "${LYX_LANG}" "Är du säker pĺ att du verkligen vill fullständigt avinstallera $(^Name) och alla dess komponenter?" diff --git a/development/Win32/packaging/installer/lyx_utils.nsh b/development/Win32/packaging/installer/lyx_utils.nsh new file mode 100644 index 0000000000..b63b6a8ab6 --- /dev/null +++ b/development/Win32/packaging/installer/lyx_utils.nsh @@ -0,0 +1,122 @@ +!macro FileCheck Result FileName FilePath + Push $0 + Push $1 + StrCpy $0 "" + StrCpy $1 "" + + FileOpen $0 "${Filepath}\${FileName}" r + + ${if} $0 = "" + StrCpy $1 "False" + ${Else} + StrCpy $1 "True" + ${endif} + + FileClose $0 + StrCpy ${Result} $1 + + Pop $1 + Pop $0 +!macroend + + +!macro TranslateLangCode LangNme LangISOCode + + ${if} ${LangISOCode} = 1030 + StrCpy ${LangNme} "Dansk" + ${endif} + + ${if} ${LangISOCode} = 1031 + StrCpy ${LangNme} "Deutsch" + ${endif} + + ${if} ${LangISOCode} = 1033 + StrCpy ${LangNme} "English" + ${endif} + + ${if} ${LangISOCode} = 1034 + StrCpy ${LangNme} "Espagńol" + ${endif} + + ${if} ${LangISOCode} = 1036 + StrCpy ${LangNme} "Français" + ${endif} + + ${if} ${LangISOCode} = 1043 + StrCpy ${LangNme} "Nederlands" + ${endif} + +!macroend + + +!macro GetLangCode LangCde Name + + ${if} ${Name} == "Dansk" + StrCpy ${LangCde} "da_DK" + ${endif} + + ${if} ${Name} == "Deutsch" + StrCpy ${LangCde} "de_DE" + ${endif} + + ${if} ${Name} == "English" + StrCpy ${LangCde} "en_EN" + ${endif} + + ${if} ${Name} == "Espagńol" + StrCpy ${LangCde} "es_ES" + ${endif} + + ${if} ${Name} == "Euskara" + StrCpy ${LangCde} "eu_EU" + ${endif} + + ${if} ${Name} == "Français" + StrCpy ${LangCde} "fr_FR" + ${endif} + + ${if} ${Name} == "Italiano" + StrCpy ${LangCde} "it_IT" + ${endif} + + ${if} ${Name} == "Nederlands" + StrCpy ${LangCde} "nl_NL" + ${endif} + + ${if} ${Name} == "Norsk" + StrCpy ${LangCde} "no_NO" + ${endif} + + ${if} ${Name} == "Nynorsk" + StrCpy ${LangCde} "no_NY" + ${endif} + + ${if} ${Name} == "Polski" + StrCpy ${LangCde} "pl_PL" + ${endif} + + ${if} ${Name} == "Româna" + StrCpy ${LangCde} "ro_RO" + ${endif} + + ${if} ${Name} == "Russian" + StrCpy ${LangCde} "ru_RU" + ${endif} + + ${if} ${Name} == "Slovenský" + StrCpy ${LangCde} "sk_SK" + ${endif} + + ${if} ${Name} == "Slovenšcina" + StrCpy ${LangCde} "sl_SI" + ${endif} + + ${if} ${Name} == "Suomi" + StrCpy ${LangCde} "fi_FI" + ${endif} + + ${if} ${Name} == "Türkçe" + StrCpy ${LangCde} "tr_TR" + ${endif} + +!macroend