diff --git a/.gitattributes b/.gitattributes index 2a4d8732ff..c722b049de 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6623,6 +6623,7 @@ tools/install/win/create_installer.bat svneol=native#text/x-msdos-program tools/install/win/environmentoptions.xml svneol=native#text/xml tools/install/win/installerstrconsts.pas svneol=native#text/plain tools/install/win/lazarus-cross.iss svneol=native#text/plain +tools/install/win/lazarus.ru.isl svneol=native#text/plain tools/install/win/lazarus_install_cheetah.bmp -text svneol=unset#image/bmp tools/install/win/lazarus_install_cheetah_small.bmp -text svneol=unset#image/bmp tools/install/win/readme.txt svneol=native#text/plain diff --git a/tools/install/win/lazarus.iss b/tools/install/win/lazarus.iss index 81c19ab657..181735536c 100644 --- a/tools/install/win/lazarus.iss +++ b/tools/install/win/lazarus.iss @@ -259,6 +259,29 @@ Name: ru; MessagesFile: compiler:Languages\Russian.isl ;Name: sk; MessagesFile: compiler:Languages\Slovak.isl Name: sl; MessagesFile: compiler:Languages\Slovenian.isl +[CustomMessages] + +FolderHasSpaces=Selected folder contains spaces, please select a folder without spaces in it. +FolderNotEmpty=The target folder is not empty. Continue with installation? + +FolderNotEmpty2=The target folder is not empty. + +AskUninstallTitle1=Previous Installation +AskUninstallTitle2=Do you want to run the uninstaller? + +OldInDestFolder1=Another installation of %1 exists in the destination folder. If you wish to uninstall first, please use the button below. +OldInDestFolder2= +OldInDestFolder3= +OldInDestFolder4= + +OldInOtherFolder1=Another installation of %1 was found at %2. Please use the button below to uninstall it now. If you wish to keep it, please tick the checkbox to continue.', +OldInOtherFolder2=Note: Using multiple copies of Lazarus is not supported by this installer. +OldInOtherFolder3=Using several installations of Lazarus can lead to conflicts in files shared by all of the installations, such as the IDE configuration. +OldInOtherFolder4=If you wish to use more than one installation, then you must do additional setup after this installation finished. Please see the Lazarus web page for this, and how to use --primary-config-path + + +#include "lazarus.ru.isl" + [Code] type TUninstallState = (uiUnknown, UIDone, UIOtherNeeded, uiDestNeeded); @@ -325,7 +348,7 @@ end; function NextButtonClick(CurPage: Integer): Boolean; var - folder: String; + s, folder: String; FolderEmpty: Boolean; begin // by default go to next page @@ -338,7 +361,12 @@ begin if Pos( ' ', folder ) > 0 then begin - MsgBox( 'Selected folder contains spaces, please select a folder without spaces in it.', mbInformation, MB_OK ); + try + s := CustomMessage('FolderHasSpaces'); + except + s := 'Selected folder contains spaces, please select a folder without spaces in it.'; + end; + MsgBox(s, mbInformation, MB_OK ); Result := false; exit; end @@ -349,7 +377,12 @@ begin if ((UninstallState = uiDone) or (UninstallState = UIOtherNeeded)) and not(FolderEmpty) then begin // Dir NOT empty - Result := MsgBox('The target folder is not empty. Continue with installation?', mbConfirmation, MB_YESNO) = IDYES; + try + s := CustomMessage('FolderNotEmpty'); + except + s := 'The target folder is not empty. Continue with installation?'; + end; + Result := MsgBox(s, mbConfirmation, MB_YESNO) = IDYES; end; if not Result then exit; @@ -517,30 +550,40 @@ begin if UninstallState = uiDestNeeded then begin wpLabel2.Font.Color := clDefault; wpCheckBox.Visible := False; - InitAskUninstall( - 'Another installation of "'+OldName+'" exists in the destination folder. If you wish to uninstall first, please use the button below.', - '', - '', - '' - ); + try + InitAskUninstall(FmtMessage(CustomMessage('OldInDestFolder1'), [OldName]), + CustomMessage('OldInDestFolder2'), CustomMessage('OldInDestFolder3'), CustomMessage('OldInDestFolder4')); + except + InitAskUninstall( + 'Another installation of "'+OldName+'" exists in the destination folder. If you wish to uninstall first, please use the button below.', + '', + '', + '' + ); + end; end else begin wpLabel2.Font.Color := clRed; wpCheckBox.Visible := True; - InitAskUninstall( - 'Another installation of "'+OldName+'" was found at "'+OldPath+'". Please use the button below to uninstall it now. If you wish to keep it, please tick the checkbox to continue.', - 'Note: Using multiple copies of Lazarus is not supported by this installer.', - 'Using several installations of Lazarus can lead to conflicts in files shared by all of the installations, such as the IDE configuration.', - 'If you wish to use more than one installation, then you must do additional setup after this installation finished. Please see the Lazarus web page for this, and how to use --primary-config-path' - ); + try + InitAskUninstall(FmtMessage(CustomMessage('OldInOtherFolder1'), [OldName, OldPath]), + CustomMessage('OldInOtherFolder2'), CustomMessage('OldInOtherFolder3'), CustomMessage('OldInOtherFolder4')); + except + InitAskUninstall( + 'Another installation of "'+OldName+'" was found at "'+OldPath+'". Please use the button below to uninstall it now. If you wish to keep it, please tick the checkbox to continue.', + 'Note: Using multiple copies of Lazarus is not supported by this installer.', + 'Using several installations of Lazarus can lead to conflicts in files shared by all of the installations, such as the IDE configuration.', + 'If you wish to use more than one installation, then you must do additional setup after this installation finished. Please see the Lazarus web page for this, and how to use --primary-config-path' + ); + end; end; end; procedure UnInstBtnClick(Sender: TObject); var - UnInstaller: String; + s, UnInstaller: String; b, FolderEmpty : Boolean; i: integer; begin @@ -562,7 +605,12 @@ begin if not FolderEmpty then begin Sleep(500); FolderEmpty := IsDirEmpty(WizardDirValue); end; if not(FolderEmpty) then begin // Dir NOT empty, after uninstall - MsgBox('The target folder is not empty.', mbConfirmation, MB_OK); + try + s := CustomMessage('FolderNotEmpty2'); + except + s := 'The target folder is not empty.'; + end; + MsgBox(s, mbConfirmation, MB_OK); end; end; end; @@ -576,8 +624,17 @@ begin end; procedure InitializeWizard(); +var + s, s2 : String; begin - wpAskUnistall := CreateCustomPage(wpSelectDir, 'Previous Installation', 'Do you want to run the uninstaller?'); + try + s := CustomMessage('AskUninstallTitle1'); + s2 := CustomMessage('AskUninstallTitle2'); + except + s := 'Previous Installation'; + s2 := 'Do you want to run the uninstaller?'; + end; + wpAskUnistall := CreateCustomPage(wpSelectDir, s, s2); wpAskUnistall.OnShouldSkipPage := @SkipAskUninst; wpAskUnistall.OnActivate := @ActivateAskUninst; diff --git a/tools/install/win/lazarus.ru.isl b/tools/install/win/lazarus.ru.isl new file mode 100644 index 0000000000..a6a40a3332 --- /dev/null +++ b/tools/install/win/lazarus.ru.isl @@ -0,0 +1,19 @@ + +ru.FolderHasSpaces=Название выбранной папки содержит пробелы. Выберите другую. +ru.FolderNotEmpty=Целевая папка не пуста. Продолжить установку? + +ru.FolderNotEmpty2=Целевая папка не пуста. + +ru.AskUninstallTitle1=Ранее установленный экземпляр +ru.AskUninstallTitle2=Вы хотите запустить программу удаления? + +ru.OldInDestFolder1=В целевой папке уже имеется установленный экземпляр %1. Если вы хотите удалить его, нажмите кнопку снизу. +ru.OldInDestFolder2= +ru.OldInDestFolder3= +ru.OldInDestFolder4= + +ru.OldInOtherFolder1=Установленный экземпляр %1 уже имеется в %2. Нажмите кнопку снизу для его удаления. Если вы желаете оставить его, отметьте флажок. +ru.OldInOtherFolder2=Внимание: использование нескольких экземпляров Lazarus не поддерживается данной программой установки. +ru.OldInOtherFolder3=Использование нескольких экземпляров Lazarus может привести к конфликтам их общих файлов, например, в каталоге настройки IDE. +ru.OldInOtherFolder4=Для использования более одного экземпляра следует использовать параметр запуска --primary-config-path после завершения установки. Обратитесь к веб-сайту Lazarus за подробностями. +