Installer: simplify file inclusion rules

No more separate GIMP/everything else directories, also got rid of some old cruft
This commit is contained in:
Jernej Simončič 2016-10-09 00:23:26 +02:00
parent c2e3d64c5a
commit 6f0bb88e43
34 changed files with 4575 additions and 6 deletions

4
build/windows/installer/.gitignore vendored Normal file
View file

@ -0,0 +1,4 @@
Preprocessed.iss
compile.log
_Output/
_Uninst/

View file

@ -0,0 +1,60 @@
#if 0
[Files]
#endif
//process list of 32bit GIMP files that are installed on x64 (for TWAIN and Python support)
#pragma option -e-
#define protected
#define FileHandle
#define FileLine
#define ReplPos
#define ReplStr
#define Line=0
#define SRC_DIR GIMP_DIR32
//avoid too much nesting
#sub DoActualWork
#if Copy(FileLine,Len(FileLine),1)=="\"
//include whole directory
Source: "{#SRC_DIR}\{#FileLine}*"; DestDir: "{app}\32\{#Copy(FileLine,1,Len(FileLine)-1)}"; Components: gimp32on64; Flags: recursesubdirs restartreplace comparetimestamp uninsrestartdelete
#else
//include files from a certain directory
#define OutputDir Copy(FileLine,1,RPos("\",FileLine)-1)
Source: "{#SRC_DIR}\{#FileLine}"; DestDir: "{app}\32\{#OutputDir}"; Components: gimp32on64; Flags: restartreplace comparetimestamp uninsrestartdelete
#endif
#endsub
#sub Process32on64Line
#if !defined(Finished)
//show that something's happening
#expr Line=Line+1
#pragma message "Processing 32on64.list line " + Str(Line)
#if Copy(FileLine,1,1)=="#" || FileLine==""
//skip comments and empty lines
#elif Copy(FileLine,1,1)=="!"
#if Copy(FileLine,2)=="GIMP"
#expr SRC_DIR=GIMP_DIR32
#elif Copy(FileLine,2)=="GTK"
#expr SRC_DIR=GIMP_DIR32
#elif Copy(FileLine,2)=="end"
#define public Finished 1
//finished
#else
#error "Unknown command: "+FileLine
#endif
#else
#expr DoActualWork
#endif
#endif
#endsub
#for {FileHandle = FileOpen(AddBackslash(SourcePath)+"32on64.list"); \
FileHandle && !FileEof(FileHandle); FileLine = FileRead(FileHandle)} \
Process32on64Line
#if FileHandle
#expr FileClose(FileHandle)
#endif

View file

@ -0,0 +1,9 @@
#list of 32bit files to install on x64
!GTK
etc\fonts\
lib\gtk-2.0\2.10.0\engines\
lib\gtk-2.0\modules\
share\themes\
bin\gspawn*.exe
bin\*.dll
!end

View file

@ -0,0 +1,505 @@
[Code]
(* MessageWithURL
*
* Copyright (c) 2010-2011 Jernej SimonŸiŸ
*
* 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.
*)
(* * * * * * * * * *
* MessageWithURL(Message: TArrayOfString; Title: String: ButtonText: TArrayOfString; Typ: TMsgBoxType;
* DefaultButton, CancelButton: Integer): Integer;
*
* Parameters:
* Title dialog box caption
* Message messages to display; if a message starts with _, the text following it up to the first space character
* is interpreted as URL, and the rest of the message is used as clickable text for that URL
* Typ icon to show
* ButtonText buttons to show under the text
* DefaultButton default button (first button = 1)
* CancelButton cancel button (first button = 1)
*
* Return value button that was clicked (first button = 1); if running in silent mode, DefaultButton is returned
*)
function MessageWithURL(Message: TArrayOfString; const Title: String; ButtonText: TArrayOfString; const Typ: TMsgBoxType;
const DefaultButton, CancelButton: Integer): Integer; forward;
function GetSystemMetrics(nIndex: Integer): Integer; external 'GetSystemMetrics@User32 stdcall';
function GetDialogBaseUnits(): Integer; external 'GetDialogBaseUnits@User32 stdcall';
//function GetSysColor(nIndex: Integer): DWORD; external 'GetSysColor@user32.dll stdcall';
function LoadIcon(hInstance: Integer; lpIconName: Integer): Integer; external 'LoadIconW@user32 stdcall';
//function LoadImage(hinst: Integer; lpszName: Integer; uType: Cardinal; cxDesired, cyDesired: Integer; fuLoad: Cardinal): Integer; external 'LoadImageW@user32 stdcall';
function DrawIcon(hdc: HBitmap; x,y: Integer; hIcon: Integer): Integer; external 'DrawIcon@user32 stdcall';
//function DrawIconEx(hdc: HBitmap; xLeft,yTop: Integer; hIcon: Integer; cxWidth, cyWidth: Integer; istepIfAniCur: Cardinal; hbrFlickerFreeDraw: Integer; diFlags: Cardinal): Integer; external 'DrawIconEx@user32 stdcall';
//function DestroyIcon(hIcon: Integer): Integer; external 'DestroyIcon@user32 stdcall';
function DrawFocusRect(hDC: Integer; var lprc: TRect): BOOL; external 'DrawFocusRect@user32 stdcall';
type
TArrayOfButton = Array of TNewButton;
const
//borders around message
MWU_LEFTBORDER = 25;
MWU_RIGHTBORDER = MWU_LEFTBORDER;
MWU_TOPBORDER = 26;
MWU_BOTTOMBORDER = MWU_TOPBORDER;
//space between elements (icon-text and between buttons)
MWU_HORZSPACING = 8;
//space between labels
MWU_VERTSPACING = 4;
//button sizes
MWU_BUTTONHEIGHT = 24;
MWU_MINBUTTONWIDTH = 86;
//height of area where buttons are placed
MWU_BUTTONAREAHEIGHT = 45;
SM_CXSCREEN = 0;
SM_CXICON = 11;
SM_CYICON = 12;
SM_CXICONSPACING = 38;
SM_CYICONSPACING = 39;
//COLOR_HOTLIGHT = 26;
OIC_HAND = 32513;
OIC_QUES = 32514;
OIC_BANG = 32515;
OIC_NOTE = 32516;
LR_DEFAULTSIZE = $00000040;
LR_SHARED = $00008000;
IMAGE_BITMAP = 0;
IMAGE_ICON = 1;
IMAGE_CURSOR = 2;
DI_IMAGE = 1;
DI_MASK = 2;
DI_NORMAL = DI_IMAGE or DI_MASK;
DI_DEFAULTSIZE = 8;
var
URLList: TArrayOfString;
TextLabel: Array of TNewStaticText;
URLFocusImg: Array of TBitmapImage;
SingleLineHeight: Integer;
procedure UrlClick(Sender: TObject);
var ErrorCode: Integer;
begin
ShellExecAsOriginalUser('open',URLList[TNewStaticText(Sender).Tag],'','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
end;
// calculates maximum width of text labels
// also counts URLs, and sets the length of URLList accordingly
function Message_CalcLabelWidth(var Message: TArrayOfString; MessageForm: TSetupForm): Integer;
var MeasureLabel: TNewStaticText;
i,URLCount,DlgUnit,ScreenWidth: Integer;
begin
MeasureLabel := TNewStaticText.Create(MessageForm);
with MeasureLabel do
begin
Parent := MessageForm;
Left := 0;
Top := 0;
AutoSize := True;
end;
MeasureLabel.Caption := 'X';
SingleLineHeight := MeasureLabel.Height;
Result := 0; //minimum width
URLCount := 0;
for i := 0 to GetArrayLength(Message) - 1 do
begin
if Length(Message[i]) < 1 then //simplifies things
Message[i] := ' ';
if Message[i][1] <> '_' then
MeasureLabel.Caption := Message[i] //not an URL
else
begin //URL - check only the displayed text
if Pos(' ',Message[i]) > 0 then
MeasureLabel.Caption := Copy(Message[i],Pos(' ',Message[i])+1,Length(Message[i]))
else
MeasureLabel.Caption := Copy(Message[i],2,Length(Message[i]));
URLCount := URLCount + 1;
end;
if MeasureLabel.Width > Result then
Result := MeasureLabel.Width;
end;
MeasureLabel.Free;
SetArrayLength(URLList,URLCount); //needed later - no need to do a special loop just for this
SetArrayLength(URLFocusImg,URLCount);
DlgUnit := GetDialogBaseUnits() and $FFFF; //ensure the dialog isn't too wide
ScreenWidth := GetSystemMetrics(SM_CXSCREEN);
if Result > ((278 * DlgUnit) div 4) then //278 is from http://blogs.msdn.com/b/oldnewthing/archive/2011/06/24/10178386.aspx
Result := ((278 * DlgUnit) div 4);
if Result > (ScreenWidth * 3) div 4 then
Result := (ScreenWidth * 3) div 4;
end;
//find the longest button
function Message_CalcButtonWidth(const ButtonText: TArrayOfString; MessageForm: TSetupForm): Integer;
var MeasureLabel: TNewStaticText;
i: Integer;
begin
MeasureLabel := TNewStaticText.Create(MessageForm);
with MeasureLabel do
begin
Parent := MessageForm;
Left := 0;
Top := 0;
AutoSize := True;
end;
Result := ScaleX(MWU_MINBUTTONWIDTH - MWU_HORZSPACING * 2); //minimum width
for i := 0 to GetArrayLength(ButtonText) - 1 do
begin
MeasureLabel.Caption := ButtonText[i]
if MeasureLabel.Width > Result then
Result := MeasureLabel.Width;
end;
MeasureLabel.Free;
Result := Result + ScaleX(MWU_HORZSPACING * 2); //account for borders
end;
procedure Message_Icon(const Typ: TMsgBoxType; TypImg: TBitmapImage);
var TypRect: TRect;
Icon: THandle;
TypIcon: Integer;
begin
TypRect.Left := 0;
TypRect.Top := 0;
TypRect.Right := GetSystemMetrics(SM_CXICON);
TypRect.Bottom := GetSystemMetrics(SM_CYICON);
case Typ of
mbInformation:
TypIcon := OIC_NOTE;
mbConfirmation:
TypIcon := OIC_QUES;
mbError:
TypIcon := OIC_BANG;
else
TypIcon := OIC_HAND;
end;
//TODO: icon loads with wrong size when using Large Fonts (SM_CXICON/CYICON is 40, but 32x32 icon loads - find out how to get the right size)
Icon := LoadIcon(0,TypIcon);
//Icon := LoadImage(0,TypIcon,IMAGE_ICON,0,0,LR_SHARED or LR_DEFAULTSIZE);
with TypImg do
begin
Left := ScaleX(MWU_LEFTBORDER);
Top := ScaleY(MWU_TOPBORDER);
Center := False;
Stretch := False;
AutoSize := True;
Bitmap.Width := GetSystemMetrics(SM_CXICON);
Bitmap.Height := GetSystemMetrics(SM_CYICON);
Bitmap.Canvas.Brush.Color := TPanel(Parent).Color;
Bitmap.Canvas.FillRect(TypRect);
DrawIcon(Bitmap.Canvas.Handle,0,0,Icon); //draws icon scaled
//DrawIconEx(Bitmap.Canvas.Handle,0,0,Icon,0,0,0,0,DI_NORMAL {or DI_DEFAULTSIZE}); //draws icon without scaling
end;
//DestroyIcon(Icon); //not needed with LR_SHARED or with LoadIcon
end;
procedure Message_SetUpURLLabel(URLLabel: TNewStaticText; const Msg: String; const URLNum: Integer);
var Blank: TRect;
begin
with URLLabel do
begin
if Pos(' ',Msg) > 0 then
begin
Caption := Copy(Msg,Pos(' ',Msg)+1,Length(Msg));
URLList[URLNum] := Copy(Msg, 2, Pos(' ',Msg)-1);
end
else
begin //no text after URL - display just URL
URLList[URLNum] := Copy(Msg, 2, Length(Msg));
Caption := URLList[URLNum];
end;
Hint := URLList[URLNum];
ShowHint := True;
Font.Color := GetSysColor(COLOR_HOTLIGHT);
Font.Style := [fsUnderline];
Cursor := crHand;
OnClick := @UrlClick;
Tag := URLNum; //used to find the URL to open and bitmap to draw focus rectangle on
if Height = SingleLineHeight then //shrink label to actual text width
WordWrap := False;
TabStop := True; //keyboard accessibility
TabOrder := URLNum;
end;
URLFocusImg[URLNum] := TBitmapImage.Create(URLLabel.Parent); //focus rectangle needs a bitmap - prepare it here
with URLFocusImg[URLNum] do
begin
Left := URLLabel.Left - 1;
Top := URLLabel.Top - 1;
Stretch := False;
AutoSize := True;
Parent := URLLabel.Parent;
Bitmap.Width := URLLabel.Width + 2;
Bitmap.Height := URLLabel.Height + 2;
SendToBack;
Blank.Left := 0;
Blank.Top := 0;
Blank.Right := Width;
Blank.Bottom := Height;
Bitmap.Canvas.Brush.Color := TPanel(Parent).Color;
Bitmap.Canvas.FillRect(Blank);
end;
end;
procedure Message_SetUpLabels(Message: TArrayOfString; TypImg: TBitmapImage;
const DialogTextWidth: Integer; MessagePanel: TPanel);
var i,URLNum,dy: Integer;
begin
SetArrayLength(TextLabel,GetArrayLength(Message));
URLNum := 0;
for i := 0 to GetArrayLength(TextLabel) - 1 do
begin
TextLabel[i] := TNewStaticText.Create(MessagePanel);
with TextLabel[i] do
begin
Parent := MessagePanel;
Left := TypImg.Left + TypImg.Width + ScaleX(MWU_HORZSPACING);
if i = 0 then
Top := TypImg.Top
else
Top := TextLabel[i-1].Top + TextLabel[i-1].Height + ScaleY(MWU_VERTSPACING);
WordWrap := True;
AutoSize := True;
Width := DialogTextWidth;
if Message[i][1] <> '_' then
Caption := Message[i]
else
begin // apply URL formatting
Message_SetUpURLLabel(TextLabel[i], Message[i], URLNum);
URLNum := URLNum + 1;
end;
end;
end;
i := GetArrayLength(TextLabel) - 1;
if TextLabel[i].Top + TextLabel[i].Height < TypImg.Top + TypImg.Height then //center labels vertically
begin
dy := (TypImg.Top + TypImg.Height - TextLabel[i].Top - TextLabel[i].Height) div 2;
for i := 0 to GetArrayLength(TextLabel) - 1 do
TextLabel[i].Top := TextLabel[i].Top + dy;
end;
end;
procedure Message_SetUpButtons(var Button: TArrayOfButton; ButtonText: TArrayOfString;
const ButtonWidth, DefaultButton, CancelButton: Integer; MessageForm: TSetupForm);
var i: Integer;
begin
SetArrayLength(Button,GetArrayLength(ButtonText));
for i := 0 to GetArrayLength(Button) - 1 do
begin
Button[i] := TNewButton.Create(MessageForm);
with Button[i] do
begin
Parent := MessageForm;
Width := ButtonWidth;
Height := ScaleY(MWU_BUTTONHEIGHT);
if i = 0 then
begin
Left := MessageForm.ClientWidth - (ScaleX(MWU_HORZSPACING) + ButtonWidth) * GetArrayLength(ButtonText);
Top := MessageForm.ClientHeight - ScaleY(MWU_BUTTONAREAHEIGHT) +
ScaleY(MWU_BUTTONAREAHEIGHT - MWU_BUTTONHEIGHT) div 2;
end else
begin
Left := Button[i-1].Left + ScaleX(MWU_HORZSPACING) + ButtonWidth;
Top := Button[i-1].Top;
end;
Caption := ButtonText[i];
ModalResult := i + 1;
//set the initial focus to the default button
TabOrder := ((i - (DefaultButton - 1)) + GetArrayLength(Button)) mod (GetArrayLength(Button));
if DefaultButton = i + 1 then
Default := True;
if CancelButton = i + 1 then
Cancel := True;
end;
end;
end;
//find out if URL label has focus, draw focus rectange around it if it is, and return index of focused label
function Message_FocusLabel(): Integer;
var i: Integer;
FocusRect: TRect;
begin
Result := -1;
for i := 0 to GetArrayLength(URLFocusImg) - 1 do //clear existing focus rectangle
begin
FocusRect.Left := 0;
FocusRect.Top := 0;
FocusRect.Right := URLFocusImg[i].Bitmap.Width;
FocusRect.Bottom := URLFocusImg[i].Bitmap.Height;
URLFocusImg[i].Bitmap.Canvas.FillRect(FocusRect);
end;
for i := 0 to GetArrayLength(TextLabel) - 1 do
begin
if TextLabel[i].Focused then
begin
Result := i;
FocusRect.Left := 0;
FocusRect.Top := 0;
FocusRect.Right := URLFocusImg[TextLabel[i].Tag].Bitmap.Width;
FocusRect.Bottom := URLFocusImg[TextLabel[i].Tag].Bitmap.Height;
DrawFocusRect(URLFocusImg[TextLabel[i].Tag].Bitmap.Canvas.Handle, FocusRect);
end;
end;
end;
//TNewStaticText doesn't have OnFocus - handle that here
//(not perfect - if you focus label with keyboard, then focus a button with mouse, the label keeps it's underline)
procedure Message_KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
var URLIdx: Integer;
begin
case Key of
9,37..40: //tab, arrow keys
begin
Message_FocusLabel();
end;
13,32: //enter, spacebar
begin
URLIdx := Message_FocusLabel(); //get focused label
if URLIdx > -1 then
UrlClick(TextLabel[URLIdx]);
end;
end;
end;
function MessageWithURL(Message: TArrayOfString; const Title: String; ButtonText: TArrayOfString; const Typ: TMsgBoxType;
const DefaultButton, CancelButton: Integer): Integer;
var MessageForm: TSetupForm;
Button: TArrayOfButton;
DialogTextWidth, ButtonWidth: Integer;
MessagePanel: TPanel;
TypImg: TBitmapImage;
i: Integer;
begin
if (not IsUninstaller and WizardSilent) or (IsUninstaller and UninstallSilent) then
begin
Result := DefaultButton;
exit;
end;
MessageForm := CreateCustomForm();
MessageForm.Caption := Title;
if (CancelButton = 0) or (CancelButton > GetArrayLength(ButtonText)) then //no cancel button - remove close button
MessageForm.BorderIcons := MessageForm.BorderIcons - [biSystemMenu];
MessagePanel := TPanel.Create(MessageForm); //Vista-style background
with MessagePanel do
begin
Parent := MessageForm;
BevelInner := bvNone;
BevelOuter := bvNone;
BevelWidth := 0;
ParentBackground := False;
Color := clWindow;
Left := 0;
Top := 0;
end;
DialogTextWidth := Message_CalcLabelWidth(Message, MessageForm);
ButtonWidth := Message_CalcButtonWidth(ButtonText, MessageForm);
TypImg := TBitmapImage.Create(MessagePanel);
TypImg.Parent := MessagePanel;
Message_Icon(Typ, TypImg);
Message_SetUpLabels(Message, TypImg, DialogTextWidth, MessagePanel);
i := GetArrayLength(TextLabel) - 1;
MessagePanel.ClientHeight := TextLabel[i].Top + TextLabel[i].Height + ScaleY(MWU_BOTTOMBORDER);
MessagePanel.ClientWidth := DialogTextWidth + TypImg.Width + TypImg.Left + ScaleX(MWU_HORZSPACING + MWU_RIGHTBORDER);
if MessagePanel.ClientWidth <
(ButtonWidth + ScaleX(MWU_HORZSPACING)) * GetArrayLength(ButtonText) + ScaleX(MWU_HORZSPACING) then //ensure buttons fit
MessagePanel.ClientWidth := (ButtonWidth + ScaleX(MWU_HORZSPACING)) * GetArrayLength(ButtonText) + ScaleX(MWU_HORZSPACING);
MessageForm.ClientWidth := MessagePanel.Width;
MessageForm.ClientHeight := MessagePanel.Height + ScaleY(MWU_BUTTONAREAHEIGHT);
Message_SetUpButtons(Button, ButtonText, ButtonWidth, DefaultButton, CancelButton, MessageForm);
MessageForm.Center;
MessageForm.OnKeyUp := @Message_KeyUp; //needed for keyboard access of URL labels
MessageForm.KeyPreView := True;
Result := MessageForm.ShowModal;
for i := 0 to GetArrayLength(TextLabel) - 1 do
TextLabel[i].Free;
SetArrayLength(TextLabel,0);
for i := 0 to GetArrayLength(URLFocusImg) - 1 do
URLFocusImg[i].Free;
SetArrayLength(URLFocusImg,0);
MessageForm.Release;
end;

View file

@ -0,0 +1,318 @@
#if 0
//for syntax hilighting
[Code]
#endif
//Encode registry keys saved to uninst.inf
function Encode(pText: String): String;
begin
pText := Replace('%','%25', pText);
Result := Replace('\','%5c', pText);
end;
//reverse encoding done by Encode
function Decode(pText: String): String;
var p: Integer;
tmp: String;
begin
if Pos('%',pText) = 0 then
Result := pText
else
begin
Result := '';
while Length(pText) > 0 do
begin
p := Pos('%',pText);
if p = 0 then
begin
Result := Result + pText;
break;
end;
Result := Result + Copy(pText,1,p-1);
tmp := '$' + Copy(pText,p+1,2);
Result := Result + Chr(StrToIntDef(tmp,32));
pText := Copy(pText,p+3,Length(pText));
end;
end;
end;
function Associations_Write(const pSubKey,pValue,pData: String): Boolean;
begin
Result := RegWriteStringValue(HKCR,pSubKey,pValue,pData)
SaveToUninstInf('RegVal:HKCR/'+pSubKey+'\'+Encode(pValue));
end;
function Associations_Read(const pSubKey,pValue: String; var pData: String): Boolean;
begin
Result := RegQueryStringValue(HKCR,pSubKey,pValue,pData)
end;
procedure Association_Fix(const pKey: String);
begin
if RegKeyExists(HKCR,pKey+'\shell\Open with GIMP') then
begin
if RegDeleteKeyIncludingSubkeys(HKCR,pKey+'\shell\Open with GIMP') then
DebugMsg('Association_Fix','Removed leftover Open with GIMP from ' + pKey)
else
DebugMsg('Association_Fix','Failed removing leftover Open with GIMP from ' + pKey)
end;
end;
procedure Associations_Create();
var i,j: Integer;
sIconFile: String;
begin
for i := 0 to GetArrayLength(Associations.Association) - 1 do
begin
for j := 0 to GetArrayLength(Associations.Association[i].Extensions) - 1 do
begin
if Associations.Association[i].Selected then //user wants to use the GIMP as default program for this type of image
begin
DebugMsg('Create associations',Associations.Association[i].Extensions[j]);
StatusLabel(CustomMessage('SettingUpAssociations'), Associations.Association[i].Description + ' ('
+ Associations.Association[i].Extensions[j]+')');
SaveToUninstInf('RegKeyEmpty:HKCR/GIMP-{#ASSOC_VERSION}-'+
Associations.Association[i].Extensions[0]);
SaveToUninstInf('RegKeyEmpty:HKCR/GIMP-{#ASSOC_VERSION}-'+
Associations.Association[i].Extensions[0]+'\DefaultIcon');
SaveToUninstInf('RegKeyEmpty:HKCR/GIMP-{#ASSOC_VERSION}-'+
Associations.Association[i].Extensions[0]+'\shell');
SaveToUninstInf('RegKeyEmpty:HKCR/GIMP-{#ASSOC_VERSION}-'+
Associations.Association[i].Extensions[0]+'\shell\open');
SaveToUninstInf('RegKeyEmpty:HKCR/GIMP-{#ASSOC_VERSION}-'+
Associations.Association[i].Extensions[0]+'\shell\open\command');
SaveToUninstInf('RegKeyEmpty:HKCR/.'+Associations.Association[i].Extensions[j]);
if not Associations_Write('GIMP-{#ASSOC_VERSION}-'+Associations.Association[i].Extensions[0],'',
Associations.Association[i].Description) then
continue; //something's very wrong in user's registry if any of these continues are called
if Associations.Association[i].Extensions[0] <> 'ico' then //special case for icons
sIconFile := ExpandConstant('{app}\bin\gimp-{#MAJOR}.{#MINOR}.exe')+',1'
else
sIconFile := '%1';
if not Associations_Write('GIMP-{#ASSOC_VERSION}-'+Associations.Association[i].Extensions[0]+'\DefaultIcon',
'',sIconFile) then
continue;
if not Associations_Write('GIMP-{#ASSOC_VERSION}-'+Associations.Association[i].Extensions[0]+'\shell\open\command',
'','"'+ExpandConstant('{app}\bin\gimp-{#MAJOR}.{#MINOR}.exe')+'" "%1"') then
continue;
if not Associations_Write('.'+Associations.Association[i].Extensions[j],'',
'GIMP-{#ASSOC_VERSION}-'+Associations.Association[i].Extensions[0]) then
continue;
end else //add "Open with GIMP" to another program's association
begin
if Associations.Association[i].AssociatedElsewhere <> '' then
begin
DebugMsg('Adding Open with GIMP',Associations.Association[i].Extensions[j]);
SaveToUninstInf('RegKey:HKCR/'+Associations.Association[i].AssociatedElsewhere+
'\shell\'+CustomMessage('OpenWithGIMP'));
if not Associations_Write(Associations.Association[i].AssociatedElsewhere+'\shell\'+
CustomMessage('OpenWithGIMP'),
'',CustomMessage('OpenWithGimp')) then
continue;
if not Associations_Write(Associations.Association[i].AssociatedElsewhere+'\shell\'+
CustomMessage('OpenWithGIMP')+'\command','',
'"'+ExpandConstant('{app}\bin\gimp-{#MAJOR}.{#MINOR}.exe')+'" "%1"') then
continue;
end else
begin
DebugMsg('Skipping association',Associations.Association[i].Extensions[j]);
//TODO: decide what to do here (user doesn't want to associate file type with GIMP, and there's no existing assoc.)
end;
end;
end;
end;
end;
procedure Associations_Init();
var i,j,c,d,iNumAssoc: Integer;
sAssociation,sExt,sCheck: String;
CmdLineAssoc: TArrayOfString;
CmdLine: String;
begin
iNumAssoc := 0;
while IniKeyExists('File Associations', IntToStr(iNumAssoc + 1), SetupINI) do
iNumAssoc := iNumAssoc + 1;
DebugMsg('Associations_Init','Found ' + IntToStr(iNumAssoc) + ' associations');
SetArrayLength(Associations.Association,iNumAssoc);
CmdLine := ExpandConstant('{param:assoc|}');
if CmdLine <> '' then
begin
DebugMsg('Associations_Init','Associations requested through command-line: ' + CmdLine);
Explode(CmdLineAssoc,LowerCase(CmdLine),',');
end;
for i := 1 to iNumAssoc do
begin
sAssociation := GetIniString('File Associations',IntToStr(i),'',SetupINI);
DebugMsg('Associations Init',sAssociation);
d := Pos(':',sAssociation);
if d = 0 then
begin
DebugMsg('InitAssociations',': not found');
MsgBox(FmtMessage(CustomMessage('InternalError'),['10']),mbError,MB_OK);
exit;
end;
Associations.Association[i-1].Description := Copy(sAssociation,1,d-1); //split description
sAssociation := Copy(sAssociation,d+1,Length(sAssociation));
Explode(Associations.Association[i-1].Extensions, LowerCase(sAssociation), ':'); //split extensions
Associations.Association[i-1].Associated := False; //initialize structure (not sure if needed, but better safe than sorry)
Associations.Association[i-1].Selected := False;
Associations.Association[i-1].AssociatedElsewhere := '';
for j := 0 to GetArrayLength(Associations.Association[i - 1].Extensions) - 1 do
begin
sExt := LowerCase(Associations.Association[i-1].Extensions[j]);
for c := 0 to GetArrayLength(CmdLineAssoc) - 1 do //association requested through command line
if CmdLineAssoc[c] = sExt then
Associations.Association[i-1].Selected := True;
sCheck := '';
if Associations_Read('.'+sExt,'',sCheck) then //check if anything else claims this association
begin
if (Pos('GIMP-{#ASSOC_VERSION}',sCheck) = 1) //already associated by this version of GIMP
or (Pos('GIMP-2.0',sCheck) = 1) //associated by previous GIMP version
then
begin
Associations.Association[i-1].Associated := True;
Associations.Association[i-1].Selected := True;
DebugMsg('InitAssociations','Associated in registry:'+Associations.Association[i-1].Extensions[0]);
end else
begin //associated by something else
if RegKeyExists(HKCR,sCheck) or RegKeyExists(HKCU,'SOFTWARE\Classes\'+sCheck) then //ensure that "something else"
begin //still actually exists
Associations.Association[i-1].AssociatedElsewhere := sCheck;
Association_Fix(sCheck); //clean up after old broken installers
end;
end;
end else
begin
if Pos('GIMP',Associations.Association[i-1].Description) > 0 then
Associations.Association[i-1].Selected := True; //select GIMP's types by default if it's not associated by anything yet
end;
end;
end;
end;
procedure Associations_OnClick(Sender: TObject);
var i,j: Integer;
ext: String;
begin
DebugMsg('Associations_OnClick','');
for i := 0 to GetArrayLength(Associations.Association) - 1 do
begin
if TNewCheckListbox(Sender).Selected[i] then
begin
ext := '';
for j := 0 to GetArrayLength(Associations.Association[i].Extensions) - 1 do
ext := ext + LowerCase(Associations.Association[i].Extensions[j]) + ', ';
ext := Copy(ext, 1, Length(ext) - 2);
Associations.AssociationsPage.lblAssocInfo2.Caption := #13+CustomMessage('SelectAssociationsExtensions')+' ' + ext;
end;
if TNewCheckListbox(Sender).Checked[i] then
Associations.Association[i].Selected := True
else
Associations.Association[i].Selected := False;
end;
end;
procedure Associations_SelectAll(Sender: TObject);
var i: Integer;
SelAll, UnSelAll: String;
begin
SelAll := CustomMessage('SelectAssociationsSelectAll')
UnselAll := CustomMessage('SelectAssociationsUnselectAll');
if TNewButton(Sender).Caption = SelAll then
begin
for i := 0 to GetArrayLength(Associations.Association) - 1 do
Associations.AssociationsPage.clbAssociations.Checked[i] := True;
TNewButton(Sender).Caption := UnselAll;
end else
begin
for i := 0 to GetArrayLength(Associations.Association) - 1 do
if Associations.Association[i].Associated = False then //don't uncheck associations that are already active
Associations.AssociationsPage.clbAssociations.Checked[i] := False;
TNewButton(Sender).Caption := SelAll;
end;
Associations_OnClick(Associations.AssociationsPage.clbAssociations);
end;
procedure Associations_SelectUnused(Sender: TObject);
var i: Integer;
begin
for i := 0 to GetArrayLength(Associations.Association) - 1 do
if Associations.Association[i].AssociatedElsewhere = '' then
Associations.AssociationsPage.clbAssociations.Checked[i] := True;
Associations_OnClick(Associations.AssociationsPage.clbAssociations);
end;
function Associations_GetSelected(): String;
var Selected: String;
i: Integer;
begin
Selected := '';
for i := 0 to GetArrayLength(Associations.Association) - 1 do
if Associations.Association[i].Selected then
if Selected = '' then
Selected := Associations.Association[i].Extensions[0]
else
Selected := Selected + ',' + Associations.Association[i].Extensions[0];
Result := Selected;
end;

View file

@ -0,0 +1,36 @@
@echo off
if [%1]==[] goto help
if [%2]==[] goto help
if [%3]==[] goto help
if [%4]==[] goto help
set VER=%~1
set GIMPDIR=%~2
set DIR32=%~3
set DIR64=%~4
FOR /F "usebackq tokens=5,* skip=2" %%A IN (`REG QUERY "HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\Inno Setup 5_is1" /v "Inno Setup: App Path" /reg:32`) DO set INNOPATH=%%B
if not exist "%INNOPATH%\iscc.exe" goto noinno
::i'd use %*, but shift has no effect on it
shift
shift
shift
shift
set PARAMS=
:doparams
if "%1"=="" goto paramsdone
set PARAMS=%PARAMS% %1
shift
goto doparams
:paramsdone
"%INNOPATH%\iscc.exe" -DVERSION="%VER%" -DGIMP_DIR="%GIMPDIR%" -DDIR32="%DIR32%" -DDIR64="%DIR64%" %PARAMS% gimp3264.iss
goto :eof
:help
echo Usage: %~n0%~x0 ver.si.on base_dir gimp_x86_dir gimp_x64_dir
echo Example: %~n0%~x0 2.9.4 X:\gimp-output\2.9-dev gimp-dev-i686-2016-10-08 gimp-dev-x86_64-2016-10-08
goto :eof
:noinno
echo Inno Setup path could not be read from Registry
goto :eof

View file

@ -0,0 +1,35 @@
;allow specific configuration files to be overriden by files in a specific directory
#if 0
[Files]
#endif
#define FindHandle
#define FindResult
#sub ProcessConfigFile
#define FileName FindGetFileName(FindHandle)
Source: "{code:GetExternalConfDir}\{#FileName}"; DestDir: "{app}\{#ConfigDir}"; Flags: external recursesubdirs restartreplace; Check: CheckExternalConf('{#FileName}')
#if BaseDir != GIMP_DIR32
Source: "{code:GetExternalConfDir}\{#FileName}"; DestDir: "{app}\32\{#ConfigDir}"; Components: gimp32on64; Flags: external recursesubdirs restartreplace; Check: CheckExternalConf('{#FileName}')
#endif
#endsub
#sub ProcessConfigDir
#emit ';; ' + ConfigDir
#emit ';; ' + BaseDir
#for {FindHandle = FindResult = FindFirst(AddBackslash(BaseDir) + AddBackSlash(ConfigDir) + "*", 0); \
FindResult; FindResult = FindNext(FindHandle)} ProcessConfigFile
#if FindHandle
#expr FindClose(FindHandle)
#endif
#endsub
#define public BaseDir GIMP_DIR32
#define public ConfigDir "etc\gimp\2.0"
#expr ProcessConfigDir
#define public ConfigDir "etc\gtk-2.0"
#expr ProcessConfigDir
#define public ConfigDir "etc\fonts"
#expr ProcessConfigDir

View file

@ -0,0 +1,45 @@
//directories to source files from
#if !defined(VERSION)
#error "VERSION must be defined"
#endif
#define public
#if !defined(VER_DIR)
#if defined(REVISION)
#define VER_DIR VERSION + "-" + REVISION
#else
#define VER_DIR VERSION
#endif
#endif
#ifndef DIR32
#define DIR32 "i686"
#endif
#ifndef DIR64
#define DIR64 "amd64"
#endif
#ifndef GIMP_DIR
#define GIMP_DIR "N:\_newdev\output\gimp\" + VER_DIR
#endif
//32-bit GIMP base directory (result of make install)
#ifndef GIMP_DIR32
#define GIMP_DIR32 GIMP_DIR + "\" + DIR32
#endif
//64-bit GIMP base directory (result of make install)
#ifndef GIMP_DIR64
#define GIMP_DIR64 GIMP_DIR + "\" + DIR64
#endif
#define DDIR32 DIR32 + "-w64-mingw32\sys-root\mingw"
#define DDIR64 DIR64 + "-w64-mingw32\sys-root\mingw"
#ifdef PYTHON
//python source directory
#ifndef PY_DIR
#define PY_DIR "N:\_newdev\deps\gimp\python"
#endif
#endif

View file

@ -0,0 +1,23 @@
#if 0
[Files]
#endif
#if PLATFORM==32
#define DIR DIR32
#elif PLATFORM==64
#define DIR DIR64
#else
#error "Unknown PLATFORM:" + PLATFORM
#endif
Source: "{#GIMP_DIR}\{#DIR}\*.dll"; DestDir: "{app}"; Components: gimp{#PLATFORM}; Flags: recursesubdirs restartreplace comparetimestamp uninsrestartdelete
Source: "{#GIMP_DIR}\{#DIR}\*.exe"; DestDir: "{app}"; Excludes: "\lib\gimp\2.0\plug-ins\twain.exe,\lib\gimp\2.0\plug-ins\file-ps.exe,\bin\gimp.exe,\bin\gimp-console.exe"; Components: gimp{#PLATFORM}; Flags: recursesubdirs restartreplace comparetimestamp uninsrestartdelete
Source: "{#GIMP_DIR}\{#DIR}\lib\gimp\2.0\plug-ins\file-ps.exe"; DestDir: "{app}\lib\gimp\2.0\plug-ins"; Components: gimp{#PLATFORM}; Flags: restartreplace comparetimestamp uninsrestartdelete
Source: "{#GIMP_DIR}\{#DIR}\*.dll"; DestDir: "{app}"; Excludes: "\bin\libgs-8.dll"; Components: gimp{#PLATFORM}; Flags: recursesubdirs restartreplace comparetimestamp uninsrestartdelete
Source: "{#GIMP_DIR}\{#DIR}\bin\libgs-8.dll"; DestDir: "{app}\bin"; Components: gimp{#PLATFORM}; Flags: recursesubdirs restartreplace comparetimestamp uninsrestartdelete
Source: "{#GIMP_DIR}\{#DIR}\bin\gspawn-win*.exe"; DestDir: "{app}\bin"; Components: gimp{#PLATFORM}; Flags: recursesubdirs restartreplace comparetimestamp uninsrestartdelete
;Source: "{#GIMP_DIR}\{#DIR}\bin\bzip2.exe"; DestDir: "{app}\bin"; Components: gimp{#PLATFORM}; Flags: recursesubdirs restartreplace uninsrestartdelete
Source: "{#GIMP_DIR}\{#DIR}\lib\*.dll"; DestDir: "{app}\lib"; Components: gimp{#PLATFORM}; Flags: recursesubdirs restartreplace comparetimestamp uninsrestartdelete

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,179 @@
{\rtf1\ansi\ansicpg1250\deff0\deflang1060\deflangfe1060{\fonttbl{\f0\fswiss\fprq2\fcharset238 Verdana;}{\f1\fmodern\fprq1\fcharset238 Lucida Console;}}
{\colortbl ;\red0\green0\blue255;}
\viewkind4\uc1\pard\keepn\nowidctlpar\sb100\sa200\qc\b\f0\fs28 GNU GENERAL PUBLIC LICENSE\par
\pard\nowidctlpar\sa60\qc\b0\fs16 Version 3, 29 June 2007\par
\pard\sa60 Copyright \'a9 2007 Free Software Foundation, Inc. <{\field{\*\fldinst{HYPERLINK "http://fsf.org/"}}{\fldrslt{\ul\cf1 http://fsf.org/}}}\f0\fs16 >\par
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.\par
\pard\keepn\nowidctlpar\sb100\sa100\qc\b\fs20 Preamble\par
\pard\nowidctlpar\sa60\b0\fs16 The GNU General Public License is a free, copyleft license for software and other kinds of works.\par
The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.\par
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.\par
To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.\par
For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.\par
Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.\par
For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.\par
Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.\par
Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.\par
The precise terms and conditions for copying, distribution and modification follow.\par
\pard\keepn\nowidctlpar\sb100\sa100\qc\b\fs20 TERMS AND CONDITIONS\par
\pard\keepn\nowidctlpar\sb100\sa100\fs16 0. Definitions.\par
\pard\nowidctlpar\sa60\b0\ldblquote This License\rdblquote refers to version 3 of the GNU General Public License.\par
\ldblquote Copyright\rdblquote also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.\par
\ldblquote The Program\rdblquote refers to any copyrightable work licensed under this License. Each licensee is addressed as \ldblquote you\rdblquote . \ldblquote Licensees\rdblquote and\ldblquote recipients\rdblquote may be individuals or organizations.\par
To \ldblquote modify\rdblquote a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a \ldblquote modified version\rdblquote of the earlier work or a work \ldblquote based on\rdblquote the earlier work.\par
A \ldblquote covered work\rdblquote means either the unmodified Program or a work based on the Program.\par
To \ldblquote propagate\rdblquote a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.\par
To \ldblquote convey\rdblquote a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.\par
An interactive user interface displays \ldblquote Appropriate Legal Notices\rdblquote to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.\par
\pard\keepn\nowidctlpar\sb100\sa100\b 1. Source Code.\par
\pard\nowidctlpar\sa60\b0 The \ldblquote source code\rdblquote for a work means the preferred form of the work for making modifications to it. \ldblquote Object code\rdblquote means any non-source form of a work.\par
A \ldblquote Standard Interface\rdblquote means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.\par
The \ldblquote System Libraries\rdblquote of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A\ldblquote Major Component\rdblquote , in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.\par
The \ldblquote Corresponding Source\rdblquote for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.\par
The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.\par
The Corresponding Source for a work in source code form is that same work.\par
\pard\keepn\nowidctlpar\sb100\sa100\b 2. Basic Permissions.\par
\pard\nowidctlpar\sa60\b0 All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.\par
You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.\par
Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.\par
\pard\keepn\nowidctlpar\sb100\sa100\b 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\par
\pard\nowidctlpar\sa60\b0 No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.\par
When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.\par
\pard\keepn\nowidctlpar\sb100\sa100\b 4. Conveying Verbatim Copies.\par
\pard\nowidctlpar\sa60\b0 You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.\par
You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.\par
\pard\keepn\nowidctlpar\sb100\sa100\b 5. Conveying Modified Source Versions.\par
\pard\nowidctlpar\sa60\b0 You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:\par
\pard\nowidctlpar\fi-360\li720\sa60 a)\tab The work must carry prominent notices stating that you modified it, and giving a relevant date. \par
b)\tab The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to \ldblquote keep intact all notices\rdblquote . \par
c)\tab You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. \par
d)\tab If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.\par
\pard\nowidctlpar\sa60 A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an\ldblquote aggregate\rdblquote if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.\par
\pard\keepn\nowidctlpar\sb100\sa100\b 6. Conveying Non-Source Forms.\par
\pard\nowidctlpar\sa60\b0 You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:\par
\pard\nowidctlpar\fi-360\li720\sa60 a)\tab Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. \par
b)\tab Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. \par
c)\tab Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. \par
d)\tab Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. \par
e)\tab Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.\par
\pard\nowidctlpar\sa60 A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.\par
A \ldblquote User Product\rdblquote is either (1) a \ldblquote consumer product\rdblquote , which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, \ldblquote normally used\rdblquote refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.\par
\ldblquote Installation Information\rdblquote for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.\par
If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).\par
The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.\par
Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.\par
\pard\keepn\nowidctlpar\sb100\sa100\b 7. Additional Terms.\par
\pard\nowidctlpar\sa60\b0\ldblquote Additional permissions\rdblquote are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.\par
When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.\par
Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:\par
\pard\nowidctlpar\fi-360\li720\sa60 a)\tab Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or \par
b)\tab Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or \par
c)\tab Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or \par
d)\tab Limiting the use for publicity purposes of names of licensors or authors of the material; or \par
e)\tab Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or \par
f)\tab Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. \par
\pard\nowidctlpar\sa60 All other non-permissive additional terms are considered \ldblquote further restrictions\rdblquote within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.\par
If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.\par
Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.\par
\pard\keepn\nowidctlpar\sb100\sa100\b 8. Termination.\par
\pard\nowidctlpar\sa60\b0 You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).\par
However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.\par
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.\par
Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.\par
\pard\keepn\nowidctlpar\sb100\sa100\b 9. Acceptance Not Required for Having Copies.\par
\pard\nowidctlpar\sa60\b0 You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.\par
\pard\keepn\nowidctlpar\sb100\sa100\b 10. Automatic Licensing of Downstream Recipients.\par
\pard\nowidctlpar\sa60\b0 Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.\par
An \ldblquote entity transaction\rdblquote is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.\par
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.\par
\pard\keepn\nowidctlpar\sb100\sa100\b 11. Patents.\par
\pard\nowidctlpar\sa60\b0 A \ldblquote contributor\rdblquote is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's \ldblquote contributor version\rdblquote .\par
A contributor's \ldblquote essential patent claims\rdblquote are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, \ldblquote control\rdblquote includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.\par
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.\par
In the following three paragraphs, a \ldblquote patent license\rdblquote is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To \ldblquote grant\rdblquote such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.\par
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. \ldblquote Knowingly relying\rdblquote means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.\par
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.\par
A patent license is \ldblquote discriminatory\rdblquote if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.\par
Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.\par
\pard\keepn\nowidctlpar\sb100\sa100\b 12. No Surrender of Others' Freedom.\par
\pard\nowidctlpar\sa60\b0 If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.\par
\pard\keepn\nowidctlpar\sb100\sa100\b 13. Use with the GNU Affero General Public License.\par
\pard\nowidctlpar\sa60\b0 Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.\par
\pard\keepn\nowidctlpar\sb100\sa100\b 14. Revised Versions of this License.\par
\pard\nowidctlpar\sa60\b0 The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.\par
Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License \ldblquote or any later version\rdblquote applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.\par
If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.\par
Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.\par
\pard\keepn\nowidctlpar\sb100\sa100\b 15. Disclaimer of Warranty.\par
\pard\nowidctlpar\sa60\b0 THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \ldblquote AS IS\rdblquote WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.\par
\pard\keepn\nowidctlpar\sb100\sa100\b 16. Limitation of Liability.\par
\pard\nowidctlpar\sa60\b0 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\par
\pard\keepn\nowidctlpar\sb100\sa100\b 17. Interpretation of Sections 15 and 16.\par
\pard\nowidctlpar\sa120\b0 If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.\par
\pard\nowidctlpar\sb120\sa120\qc END OF TERMS AND CONDITIONS\par
\pard\keepn\nowidctlpar\sb100\sa100\qc\b\fs20 How to Apply These Terms to Your New Programs\fs16\par
\pard\nowidctlpar\sa60\b0 If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.\par
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the \ldblquote copyright\rdblquote line and a pointer to where the full notice is found.\par
\pard\nowidctlpar\li454\sb120\tx0\tx959\tx1918\tx2877\tx3836\tx4795\tx5754\tx6713\tx7672\tx8631\f1 <one line to give the program's name and a brief idea of what it does.>\par
\pard\nowidctlpar\li454\sl480\slmult1\tx0\tx959\tx1918\tx2877\tx3836\tx4795\tx5754\tx6713\tx7672\tx8631 Copyright (C) <year> <name of author>\par
\pard\nowidctlpar\li454\tx0\tx959\tx1918\tx2877\tx3836\tx4795\tx5754\tx6713\tx7672\tx8631 This program is free software: you can redistribute it and/or modify\par
it under the terms of the GNU General Public License as published by\par
the Free Software Foundation, either version 3 of the License, or\par
\pard\nowidctlpar\li454\sl480\slmult1\tx0\tx959\tx1918\tx2877\tx3836\tx4795\tx5754\tx6713\tx7672\tx8631 (at your option) any later version.\par
\pard\nowidctlpar\li454\tx0\tx959\tx1918\tx2877\tx3836\tx4795\tx5754\tx6713\tx7672\tx8631 This program is distributed in the hope that it will be useful,\par
but WITHOUT ANY WARRANTY; without even the implied warranty of\par
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\par
\pard\nowidctlpar\li454\sl480\slmult1\tx0\tx959\tx1918\tx2877\tx3836\tx4795\tx5754\tx6713\tx7672\tx8631 GNU General Public License for more details.\par
\pard\nowidctlpar\li454\tx0\tx959\tx1918\tx2877\tx3836\tx4795\tx5754\tx6713\tx7672\tx8631 You should have received a copy of the GNU General Public License\par
\pard\li454\sa120\sl240\slmult1 along with this program. If not, see <{\field{\*\fldinst{HYPERLINK "http://www.gnu.org/licenses/"}}{\fldrslt{\ul\cf1 http://www.gnu.org/licenses/}}}\f1\fs16 >.\par
\pard\nowidctlpar\sa60\f0 Also add information on how to contact you by electronic and paper mail.\par
If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:\par
\pard\nowidctlpar\li454\sb120\tx0\tx959\tx1918\tx2877\tx3836\tx4795\tx5754\tx6713\tx7672\tx8631\f1 <program> Copyright (C) <year> <name of author>\par
\pard\nowidctlpar\li454\tx0\tx959\tx1918\tx2877\tx3836\tx4795\tx5754\tx6713\tx7672\tx8631 This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\par
This is free software, and you are welcome to redistribute it\par
\pard\nowidctlpar\li454\sa120\tx0\tx959\tx1918\tx2877\tx3836\tx4795\tx5754\tx6713\tx7672\tx8631 under certain conditions; type `show c' for details.\par
\pard\nowidctlpar\sa60\f0 The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an \ldblquote about box\rdblquote .\par
\pard You should also get your employer (if you work as a programmer) or school, if any, to sign a \ldblquote copyright disclaimer\rdblquote for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <{\field{\*\fldinst{HYPERLINK "http://www.gnu.org/licenses/"}}{\fldrslt{\ul\cf1 http://www.gnu.org/licenses/}}}\f0\fs16 >.\par
\pard\sa200\sl240\slmult1 The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read <{\field{\*\fldinst{HYPERLINK "http://www.gnu.org/philosophy/why-not-lgpl.html"}}{\fldrslt{\ul\cf1 http://www.gnu.org/philosophy/why-not-lgpl.html}}}\f0\fs16 >.\par
\pard\nowidctlpar\qj\f1\fs12 PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2\par
\pard\nowidctlpar\sa120\qj --------------------------------------------\par
\pard\nowidctlpar\qj 1. This LICENSE AGREEMENT is between the Python Software Foundation\par
("PSF"), and the Individual or Organization ("Licensee") accessing and\par
otherwise using this software ("Python") in source or binary form and\par
\pard\nowidctlpar\sa120\qj its associated documentation.\par
\pard\nowidctlpar\qj 2. Subject to the terms and conditions of this License Agreement, PSF\par
hereby grants Licensee a nonexclusive, royalty-free, world-wide\par
license to reproduce, analyze, test, perform and/or display publicly,\par
prepare derivative works, distribute, and otherwise use Python\par
alone or in any derivative version, provided, however, that PSF's\par
License Agreement and PSF's notice of copyright, i.e., "Copyright (c)\par
2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights\par
Reserved" are retained in Python alone or in any derivative version \par
\pard\nowidctlpar\sa120\qj prepared by Licensee.\par
\pard\nowidctlpar\qj 3. In the event Licensee prepares a derivative work that is based on\par
or incorporates Python or any part thereof, and wants to make\par
the derivative work available to others as provided herein, then\par
Licensee hereby agrees to include in any such work a brief summary of\par
\pard\nowidctlpar\sa120\qj the changes made to Python.\par
\pard\nowidctlpar\qj 4. PSF is making Python available to Licensee on an "AS IS"\par
basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR\par
IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND\par
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS\par
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT\par
\pard\nowidctlpar\sa120\qj INFRINGE ANY THIRD PARTY RIGHTS.\par
\pard\nowidctlpar\qj 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON\par
FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS\par
A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,\par
\pard\nowidctlpar\sa120\qj OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\par
\pard\nowidctlpar\qj 6. This License Agreement will automatically terminate upon a material\par
\pard\nowidctlpar\sa120\qj breach of its terms and conditions.\par
\pard\nowidctlpar\qj 7. Nothing in this License Agreement shall be deemed to create any\par
relationship of agency, partnership, or joint venture between PSF and\par
Licensee. This License Agreement does not grant permission to use PSF\par
trademarks or trade name in a trademark sense to endorse or promote\par
\pard\nowidctlpar\sa120\qj products or services of Licensee, or any third party.\par
\pard\nowidctlpar\qj 8. By copying, installing or otherwise using Python, Licensee\par
agrees to be bound by the terms and conditions of this License\par
Agreement.\fs15\par
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 753 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 525 KiB

View file

@ -8,7 +8,7 @@ WinVersionTooLowError=Aquesta versi
;shown before the wizard starts on development versions of GIMP
DevelopmentWarningTitle=Versió de desenvolupament
;DevelopmentWarning=Aquesta és una versió de desenvolupament del GIMP. Així, algunes característiques no estan acabades i pot ser inestable. Si trobeu qualsevol problema, verifiqueu primer que no ha estat resolt en el GIT abans de contactar amb els desenvolupadors.%nAquesta versió del GIMP no està orientada al treball diari , així pot ser inestable i podríeu perdre la vostra feina. Voleu continuar amb la instal·lació de totes maneres?
DevelopmentWarning=Aquesta és una versió de desenvolupament de l'instal·lador del GIMP. No ha estat provada tan com l'instal·lador estable, i això pot fer que el GIMP no funcioni correctament. Informeu de qualsevol problema que trobeu en el bugzilla del GIMP (Installer component):%n_https://bugzilla.gnome.org/enter_bug.cgi?product=GIMP%n%nAquests són alguns dels problemes coneguts en l'instal·lador:%n- la càrrega de fitxers TIFF no funciona%n- les mides del fitxer no es mostren adequadament%nNo informeu d'aquests problemes ja que n'estem a l'aguait.%n%nVoleu continuar amb la instal·lació de totes maneres?
DevelopmentWarning=Aquesta és una versió de desenvolupament de l'instal·lador del GIMP. No ha estat provada tan com l'instal·lador estable, i això pot fer que el GIMP no funcioni correctament. Informeu de qualsevol problema que trobeu en el bugzilla del GIMP (Installer component):%n_https://bugzilla.gnome.org/enter_bug.cgi?product=GIMP%n%nVoleu continuar amb la instal·lació de totes maneres?
DevelopmentButtonContinue=&Continua
DevelopmentButtonExit=Surt

View file

@ -0,0 +1,113 @@
[Messages]
;InfoBefore page is used instead of license page because the GPL only concerns distribution, not use, and as such doesn't have to be accepted
WizardInfoBefore=Licensaftale
AboutSetupNote=Installationen er lavet af Jernej Simonèiè, jernej-gimp@ena.si%n%nBilledet på åbningssiden er lavet af Alexia_Death%nBilledet på afslutningssiden er lavet af Jakub Steiner
WinVersionTooLowError=Denne version af GIMP kræver Windows XP med Service Pack 3, eller en nyere version af Windows.
[CustomMessages]
;shown before the wizard starts on development versions of GIMP
DevelopmentWarningTitle=Development version
;DevelopmentWarning=This is a development version of GIMP. As such, some features aren't finished, and it may be unstable. If you encounter any problems, first verify that they haven't already been fixed in GIT before you contact the developers.%nThis version of GIMP is not intended for day-to-day work, as it may be unstable, and you could lose your work. Do you wish to continue with installation anyway?
DevelopmentWarning=Dette er en development version af installationsprogrammet til GIMP. Det er ikke blevet testet lige så meget som det stabile installationsprogram, hvilket kan resultere i at GIMP ikke virker korrekt. Rapportér venligst de problemer du støder på i GIMP bugzilla (Installer komponent):%n_https://bugzilla.gnome.org/enter_bug.cgi?product=GIMP%n%nØnsker du alligevel at fortsætte installation?
DevelopmentButtonContinue=&Fortsæt
DevelopmentButtonExit=Afslut
;XPSP3Recommended=Warning: you are running an unsupported version of Windows. Please update to at least Windows XP with Service Pack 3 before reporting any problems.
SSERequired=Denne version af GIMP kræver en processor der understøtter SSE-instruktioner.
Require32BPPTitle=Problemer med skærmindstillinger
Require32BPP=Installationen har registreret at Windows skærmindstillinger ikke anvender 32-bits-per-pixel. Det er kendt for at skabe stabilitetsproblemer for GIMP, så det anbefales at ændre skærmens farvedybde til ægte farver (32 bit) før du fortsætter.
Require32BPPContinue=&Fortsæt
Require32BPPExit=A&fslut
InstallOrCustomize=GIMP er nu klar til at blive installeret. Klik på Installer nu-knappen for at installere med standardindstillingerne, eller klik på Brugerdefineret-knappen hvis du ønsker at vælge hvad der skal installeres.
Install=&Installer
Customize=&Brugerdefineret
;setup types
TypeCompact=Kompakt installation
TypeCustom=Brugerdefineret installation
TypeFull=Fuld installation
;text above component description
ComponentsDescription=Beskrivelse
;components
ComponentsGimp=GIMP
ComponentsGimpDescription=GIMP og alle standard plugins
ComponentsDeps=Afviklingsbiblioteker
ComponentsDepsDescription=Afviklingsbiblioteker som GIMP anvender, inklusiv GTK+ afviklingsmiljø
ComponentsGtkWimp=MS-Windows-motor til GTK+
ComponentsGtkWimpDescription=Standard Windows udseende til GIMP
ComponentsCompat=Understøttelse af gamle plugins
ComponentsCompatDescription=Installer biblioteker der kræves til gamle tredjeparts plugins
ComponentsTranslations=Oversættelser
ComponentsTranslationsDescription=Oversættelser
ComponentsPython=Python-scripting
ComponentsPythonDescription=Giver mulighed for at bruge GIMP-plug-ins som er skrevet i Python-scripting-sproget.
ComponentsGhostscript=PostScript understøttelse
ComponentsGhostscriptDescription=GIMP fås mulighed for at indlæse PostScript-filer
;only when installing on x64 Windows
ComponentsGimp32=Understøttelse af 32-bit plugins
ComponentsGimp32Description=Inkludere filer der er nødvendige for at anvende 32-bit plugins.%nPåkrævet for understøttelse af Python.
;additional installation tasks
AdditionalIcons=Yderligere ikoner:
AdditionalIconsDesktop=Opret ikon på &skrivebordet
AdditionalIconsQuickLaunch=Opret ikon i &Hurtig start
RemoveOldGIMP=Fjern forrige GIMP-version
;%1 is replaced by file name; these messages should never appear (unless user runs out of disk space at the exact right moment)
ErrorChangingEnviron=Der opstod et problem ved opdatering af GIMP's-miljø i %1. Hvis du får fejl ved indlæsning af plugins, så prøv at afinstallere og geninstaller GIMP.
ErrorExtractingTemp=Fejl ved udtrækning af midlertidige data.
ErrorUpdatingPython=Fejl ved opdatering af Python-fortolker information.
ErrorReadingGimpRC=Der opstod en fejl ved opdatering af %1.
ErrorUpdatingGimpRC=Der opstod en fejl ved opdatering af GIMP's konfigurationsfil %1.
;displayed in Explorer's right-click menu
OpenWithGimp=Rediger i GIMP
;file associations page
SelectAssociationsCaption=Vælg filtilknytninger
SelectAssociationsExtensions=Filtyper:
SelectAssociationsInfo1=Vælg de filtyper som du have tilknyttet med GIMP
SelectAssociationsInfo2=Markerede filer åbnes i GIMP, når du dobbeltklikker på dem i Stifinder.
SelectAssociationsSelectAll=Vælg &alle
SelectAssociationsUnselectAll=Fravælg &alle
SelectAssociationsSelectUnused=Vælg &ubrugte
;shown on summary screen just before starting the install
ReadyMemoAssociations=Filtyper der skal tilknyttes GIMP:
RemovingOldVersion=Fjerner forrige version af GIMP:
;%1 = version, %2 = installation directory
;ran uninstaller, but it returned an error, or didn't remove everything
RemovingOldVersionFailed=GIMP %1 kan ikke installeres oven på den GIMP-version der er installeret i øjeblikket, og automatisk afinstallation af gamle versioner mislykkedes.%n%nFjern venligst selv den forrige version af GIMP, før denne version installeres i %2, eller vælg brugerdefineret installation, og vælg en anden installationsmappe.%n%nInstallationen vil nu blive afsluttet.
;couldn't find an uninstaller, or found several uninstallers
RemovingOldVersionCantUninstall=GIMP %1 kan ikke installeres oven på den GIMP-version der er installeret i øjeblikket, og installationen var ikke i stand til at fastslå hvordan den gamle version kunne fjernes.%n%nFjern venligst selv den forrige version af GIMP og alle tilføjelser, før denne version installeres i %2, eller vælg brugerdefineret installation, og vælg en anden installationsmappe.%n%nInstallationen vil nu blive afsluttet.
RebootRequiredFirst=Forrige GIMP-version blev fjernet, men Windows skal genstartes før installationen kan fortsætte.%n%nEfter computeren er blevet genstartet vil installationen fortsætte, næste gang en administrator logger på.
;displayed if restart settings couldn't be read, or if the setup couldn't re-run itself
ErrorRestartingSetup=Der opstod en fejl ved genstart af installationen. (%1)
;displayed while the files are being extracted; note the capitalisation!
Billboard1=Husk: GIMP er fri software.%n%nBesøg venligst
;www.gimp.org (displayed between Billboard1 and Billboard2)
Billboard2=for gratis opdateringer.
SettingUpAssociations=Opsætter filtilknytninger...
SettingUpPyGimp=Opsætter miljø til GIMP Python-udvidelse...
SettingUpEnvironment=Opsætter GIMP-miljø...
SettingUpGimpRC=Opsætter GIMP-konfiguration til understøttelses af 32-bit plugin...
;displayed on last page
LaunchGimp=Start GIMP
;shown during uninstall when removing add-ons
UninstallingAddOnCaption=Fjerner add-on
InternalError=Intern fejl (%1).
;used by installer for add-ons (currently only help)
DirNotGimp=GIMP ser ikke ud til at være installeret i den angivne mappe. Fortsæt alligevel?

View file

@ -0,0 +1,113 @@
[Messages]
;InfoBefore page is used instead of license page because the GPL only concerns distribution, not use, and as such doesn't have to be accepted
WizardInfoBefore=Lizenzvereinbarung
AboutSetupNote=Setup erstellt von Jernej Simoncic, jernej-gimp@ena.si%n%nGrafik auf der Startseite der Installation von Alexia_Death%nGrafik auf der Abschlussseite der Installation von Jakub Steiner
WinVersionTooLowError=Diese Version von GIMP benötigt Windows XP Service Pack 3 oder jede neuere Version von Windows
[CustomMessages]
;shown before the wizard starts on development versions of GIMP
DevelopmentWarningTitle=Entwicklerversion
;DevelopmentWarning=Dies ist eine Entwicklerversion von GIMP. Diese kann instabil sein oder unvollendete Funktionen enthalten. Sollten Probleme auftreten, prüfen Sie bitte zunächst, ob diese bereits in GIT behoben wurden, bevor Sie die Entwickler kontaktieren.%nDiese Version von GIMP ist nicht für den tagtäglichen Einsatz bestimmt, weil sie abstürzen kann und Sie dadurch Daten verlieren werden. Wollen Sie die Installation dennoch fortsetzen?
DevelopmentWarning=Dies ist eine Entwicklerversion des GIMP-Installers. Er wurde nicht so intensiv wie der stabile Installer getestet, was dazu führen kann, dass GIMP nicht sauber arbeitet. Bitte melden Sie Probleme, auf die Sie stoßen im GIMP Bugzilla (Installationskomponente):%n_https://bugzilla.gnome.org/enter_bug.cgi?product=GIMP%n%nWollen Sie die Installation dennoch fortsetzen?
DevelopmentButtonContinue=&Weiter
DevelopmentButtonExit=&Abbrechen
;XPSP3Recommended=Achtung: Sie verwenden eine nicht unterstützte Version von Windows. Bitte aktualisieren Sie wenigstens auf Windows XP Service Pack 3 bevor Sie Probleme melden.
SSERequired=Diese Version von GIMP benötigt einen Prozessor, der über SSE-Erweiterungen verfügt.
Require32BPPTitle=Problem mit Grafikeinstellungen
Require32BPP=Die Installationsroutine hat festgestellt, dass Ihr Windows nicht derzeit nicht mit 32 Bit Farbtiefe läuft. Diese Einstellung ist bekannt dafür, Stabilitätsprobleme mit GIMP zu verursachen. Wir empfehlen deshalb, die Farbtiefe auf 32 Bit pro Pixel einzustellen, bevor Sie fortfahren.
Require32BPPContinue=&Weiter
Require32BPPExit=&Abbrechen
InstallOrCustomize=GIMP kann jetzt installiert werden. Klicken Sie auf Installieren, um mit den Standardeinstellungen zu installieren oder auf Anpassen, um festzulegen, welche Komponenten wo installiert werden.
Install=&Installieren
Customize=&Anpassen
;setup types
TypeCompact=Einfache Installation
TypeCustom=Benutzerdefinierte Installation
TypeFull=Komplette Installation
;text above component description
ComponentsDescription=Beschreibung
;components
ComponentsGimp=GIMP
ComponentsGimpDescription=GIMP und alle Standard-Plugins
ComponentsDeps=Laufzeitbibliotheken
ComponentsDepsDescription=Von GIMP benötigte Laufzeitbibliotheken inclusive der GTK+-Bibliothek
ComponentsGtkWimp=Windows-Engine für GTK+
ComponentsGtkWimpDescription=Natives Aussehen für GIMP
ComponentsCompat=Kompatibilitätsmodus
ComponentsCompatDescription=Bibliotheken, die von älteren Third-Party-Plug-Ins benötigt werden
ComponentsTranslations=Übersetzungen
ComponentsTranslationsDescription=Übersetzungen
ComponentsPython=Python Scriptumgebung
ComponentsPythonDescription=Erlaubt Ihnen, GIMP-Plug-Ins zu nutzen, die in der Scriptsprache Python geschrieben wurden.
ComponentsGhostscript=Postscript-Unterstützung
ComponentsGhostscriptDescription=ermöglicht es GIMP, Postscript- und PDF-dateien zu laden
;only when installing on x64 Windows
ComponentsGimp32=32-Bit-Unterstützung
ComponentsGimp32Description=Dateien installieren, die für die Nutzung von 32-Bit-Plug-Ins benötigt werden.%nFür Python-Unterstützung erforderlich.
;additional installation tasks
AdditionalIcons=Zusätzliche Verknüpfungen:
AdditionalIconsDesktop=&Desktop-Verknüpfung erstellen
AdditionalIconsQuickLaunch=&Quicklaunch-Verknüpfung erstellen
RemoveOldGIMP=Ältere GIMP-Versionen entfernen
;%1 is replaced by file name; these messages should never appear (unless user runs out of disk space at the exact right moment)
ErrorChangingEnviron=Es gab ein Problem bei der Aktualisierung von GIMPs Umgebung in %1. Sollten Fehler beim Laden von Plug-Ins auftauchen, probieren Sie, GIMP zu deinstallieren und neu zu installieren.
ErrorExtractingTemp=Fehler beim Entpacken temporärer Dateien.
ErrorUpdatingPython=Fehler bei der Aktualisierung des Python-Interpreters.
ErrorReadingGimpRC=Bei der Aktualisierung von %1 trat ein Fehler auf.
ErrorUpdatingGimpRC=Bei der Aktualisierung der Konfigurationsdatei %1 trat ein Fehler auf.
;displayed in Explorer's right-click menu
OpenWithGimp=Mit GIMP öffnen
;file associations page
SelectAssociationsCaption=Dateizuordnungen auswählen
SelectAssociationsExtensions=Erweiterungen:
SelectAssociationsInfo1=Wählen Sie die Dateitypen, die Sie mit GIMP öffnen wollen
SelectAssociationsInfo2=Ausgewählte Dateitypen werden nach Doppelklick im Explorer automatisch mit GIMP geöffnet.
SelectAssociationsSelectAll=&Alle auswählen
SelectAssociationsUnselectAll=Auswahl auf&heben
SelectAssociationsSelectUnused=&Unbenutzte auswählen
;shown on summary screen just before starting the install
ReadyMemoAssociations=Dateizuordnungen für GIMP:
RemovingOldVersion=Entfernung von älteren GIMP-Installationen:
;%1 = version, %2 = installation directory
;ran uninstaller, but it returned an error, or didn't remove everything
RemovingOldVersionFailed=GIMP %1 kann nicht über eine ältere Version von GIMP installiert werden und die automatische Deinstallation schlug fehl.%n%nBitte entfernen Sie die vorhandene GIMP-Installation manuell bevor Sie diese Version nach %2 installieren, oder wählen Sie Benutzerdefinierte Installation und verwenden Sie einen anderen Installationsordner.%n%nDie Einrichtung wird nun beendet.
;couldn't find an uninstaller, or found several uninstallers
RemovingOldVersionCantUninstall=GIMP %1 kann nicht über die derzeit installierte Version von GIMP installiert werden und die Installationsroutine konnte die vorhandene Version nicht automatisch deinstallieren.%n%nBitte entfernen Sie die vorhandene GIMP-Installation manuell bevor Sie diese Version nach %2 installieren, oder wählen Sie Benutzerdefinierte Installation und verwenden Sie einen anderen Installationsordner.%n%nDie Einrichtung wird nun beendet.
RebootRequiredFirst=Die vorhandene GIMP-Version wurde erfolgreich entfernt, aber Windows muss neu gestartet werden, bevor die Installation fortgeführt werden kann.%n%nNach dem Neustart wird die Installation automatisch fortgesetzt, sobald sich ein Administrator einloggt.
;displayed if restart settings couldn't be read, or if the setup couldn't re-run itself
ErrorRestartingSetup=Bei der Fortsetzung der Installation trat ein Fehler auf (%1).
;displayed while the files are being extracted; note the capitalisation!
Billboard1=Beachten Sie: GIMP ist Freie Software.%n%nBitte besuchen Sie
;www.gimp.org (displayed between Billboard1 and Billboard2)
Billboard2=für kostenlose Aktualisierungen.
SettingUpAssociations=Richte Dateizuordnungen ein...
SettingUpPyGimp=Richte Umgebung für die GIMP Python-Erweiterung ein...
SettingUpEnvironment=Richte Umgebung für GIMP ein...
SettingUpGimpRC=Richte GIMP-Einstellungen für 32-Bit-Plug-Ins ein...
;displayed on last page
LaunchGimp=GIMP jetzt starten
;shown during uninstall when removing add-ons
UninstallingAddOnCaption=Entferne Erweiterung
InternalError=Interner Fehler (%1).
;used by installer for add-ons (currently only help)
DirNotGimp=GIMP scheint nicht im ausgewählten Ordner installiert zu sein. Dennoch fortfahren?

View file

@ -0,0 +1,112 @@
[Messages]
;InfoBefore page is used instead of license page because the GPL only concerns distribution, not use, and as such doesn't have to be accepted
WizardInfoBefore=License Agreement
AboutSetupNote=Setup built by Jernej Simonèiè, jernej-gimp@ena.si%n%nImage on opening page of Setup by Alexia_Death%nImage on closing page of Setup by Jakub Steiner
WinVersionTooLowError=This version of GIMP requires Windows XP with Service Pack 3, or a newer version of Windows.
[CustomMessages]
;shown before the wizard starts on development versions of GIMP
DevelopmentWarningTitle=Development version
DevelopmentWarning=This is a development version of GIMP installer. It hasn't been tested as much as the stable installer, which can result in GIMP not working properly. Please report any problems you encounter in the GIMP bugzilla (Installer component):%n_https://bugzilla.gnome.org/enter_bug.cgi?product=GIMP%n%nDo you wish to continue with installation anyway?
DevelopmentButtonContinue=&Continue
DevelopmentButtonExit=Exit
;XPSP3Recommended=Warning: you are running an unsupported version of Windows. Please update to at least Windows XP with Service Pack 3 before reporting any problems.
SSERequired=This version of GIMP requires a processor that supports SSE instructions.
Require32BPPTitle=Display settings problem
Require32BPP=Setup has detected that your Windows is not running in 32 bits-per-pixel display mode. This has been known to cause stability problems with GIMP, so it's recommended to change the display colour depth to 32BPP before continuing.
Require32BPPContinue=&Continue
Require32BPPExit=E&xit
InstallOrCustomize=GIMP is now ready to be installed. Click the Install now button to install using the default settings, or click the Customize button if you'd like to have more control over what gets installed.
Install=&Install
Customize=&Customize
;setup types
TypeCompact=Compact installation
TypeCustom=Custom installation
TypeFull=Full installation
;text above component description
ComponentsDescription=Description
;components
ComponentsGimp=GIMP
ComponentsGimpDescription=GIMP and all default plug-ins
ComponentsDeps=Run-time libraries
ComponentsDepsDescription=Run-time libraries used by GIMP, including GTK+ Run-time Environment
ComponentsGtkWimp=MS-Windows engine for GTK+
ComponentsGtkWimpDescription=Native Windows look for GIMP
ComponentsCompat=Support for old plug-ins
ComponentsCompatDescription=Install libraries needed by old third-party plug-ins
ComponentsTranslations=Translations
ComponentsTranslationsDescription=Translations
ComponentsPython=Python scripting
ComponentsPythonDescription=Allows you to use GIMP plugins written in Python scripting language.
ComponentsGhostscript=PostScript support
ComponentsGhostscriptDescription=Allow GIMP to load PostScript files
;only when installing on x64 Windows
ComponentsGimp32=Support for 32-bit plug-ins
ComponentsGimp32Description=Include files necessary for using 32-bit plug-ins.%nRequired for Python support.
;additional installation tasks
AdditionalIcons=Additional icons:
AdditionalIconsDesktop=Create a &desktop icon
AdditionalIconsQuickLaunch=Create a &Quick Launch icon
RemoveOldGIMP=Remove previous GIMP version
;%1 is replaced by file name; these messages should never appear (unless user runs out of disk space at the exact right moment)
ErrorChangingEnviron=There was a problem updating GIMP's environment in %1. If you get any errors loading the plug-ins, try uninstalling and re-installing GIMP.
ErrorExtractingTemp=Error extracting temporary data.
ErrorUpdatingPython=Error updating Python interpreter info.
ErrorReadingGimpRC=There was an error updating %1.
ErrorUpdatingGimpRC=There was an error updating GIMP's configuration file %1.
;displayed in Explorer's right-click menu
OpenWithGimp=Edit with GIMP
;file associations page
SelectAssociationsCaption=Select file associations
SelectAssociationsExtensions=Extensions:
SelectAssociationsInfo1=Select the file types you wish to associate with GIMP
SelectAssociationsInfo2=This will make selected files open in GIMP when you double-click them in Explorer.
SelectAssociationsSelectAll=Select &All
SelectAssociationsUnselectAll=Unselect &All
SelectAssociationsSelectUnused=Select &Unused
;shown on summary screen just before starting the install
ReadyMemoAssociations=File types to associate with GIMP:
RemovingOldVersion=Removing previous version of GIMP:
;%1 = version, %2 = installation directory
;ran uninstaller, but it returned an error, or didn't remove everything
RemovingOldVersionFailed=GIMP %1 cannot be installed over your currently installed GIMP version, and the automatic uninstall of old version has failed.%n%nPlease remove the previous version of GIMP yourself before installing this version in %2, or choose a Custom install, and select a different installation folder.%n%nThe Setup will now exit.
;couldn't find an uninstaller, or found several uninstallers
RemovingOldVersionCantUninstall=GIMP %1 cannot be installed over your currently installed GIMP version, and Setup couldn't determine how to remove the old version automatically.%n%nPlease remove the previous version of GIMP and any add-ons yourself before installing this version in %2, or choose a Custom install, and select a different installation folder.%n%nThe Setup will now exit.
RebootRequiredFirst=Previous GIMP version was removed successfully, but Windows has to be restarted before the Setup can continue.%n%nAfter restarting your computer, Setup will continue next time an administrator logs in.
;displayed if restart settings couldn't be read, or if the setup couldn't re-run itself
ErrorRestartingSetup=There was an error restarting the Setup. (%1)
;displayed while the files are being extracted; note the capitalisation!
Billboard1=Remember: GIMP is Free Software.%n%nPlease visit
;www.gimp.org (displayed between Billboard1 and Billboard2)
Billboard2=for free updates.
SettingUpAssociations=Setting up file associations...
SettingUpPyGimp=Setting up environment for GIMP Python extension...
SettingUpEnvironment=Setting up GIMP environment...
SettingUpGimpRC=Setting up GIMP configuration for 32-bit plug-in support...
;displayed on last page
LaunchGimp=Launch GIMP
;shown during uninstall when removing add-ons
UninstallingAddOnCaption=Removing add-on
InternalError=Internal error (%1).
;used by installer for add-ons (currently only help)
DirNotGimp=GIMP does not appear to be installed in the selected directory. Continue anyway?

View file

@ -0,0 +1,113 @@
[Messages]
;InfoBefore page is used instead of license page because the GPL only concerns distribution, not use, and as such doesn't have to be accepted
WizardInfoBefore=Acuerdo de Licencia
AboutSetupNote=Instalación creada por Jernej Simonèiè, jernej-gimp@ena.si%n%nImagen en la página de inicio de la Instalación por Alexia_Death%nImagen en la página final de la Instalación por Jakub Steiner
WinVersionTooLowError=Esta versión de GIMP requiere Windows XP con Service Pack 3, o una versión más reciente de Windows.
[CustomMessages]
;shown before the wizard starts on development versions of GIMP
DevelopmentWarningTitle=Versión de Desarrollo
;DevelopmentWarning=Esta es una versión de desarrollo de GIMP. Como tal, algunas características están incompletas y pueden ser inestables. Si usted encuentra algún problema, primero verifique que no haya sido solucionado en el GIT antes de contactar a los desarrolladores.%nEsta versión de GIMP no está orientada a trabajo diario o a ambientes de producción, ya que puede ser inestable y podría perder su trabajo. ¿Desea continuar con la instalación de todos modos?
DevelopmentWarning=Esta es una versión de desarrollo del instalador de GIMP. No ha sido probado tan profundamente como el instalador estable, lo que puede resultar en que GIMP no funcione apropiadamente. Por favor reporte cualquier problema que usted encuentre en el bugzilla de GIMP (Installer component):%n_https://bugzilla.gnome.org/enter_bug.cgi?product=GIMP%n%n¿Desea continuar con la instalación de todos modos?
DevelopmentButtonContinue=&Continuar
DevelopmentButtonExit=&Salir
;XPSP3Recommended=Aviso: usted está ejecutando una versión no soportada de Windows. Por favor actualice al menos a Windows XP con Service Pack 3 antes de reportar algún problema.
SSERequired=Esta versión de GIMP requiere un procesador que soporte instrucciones SSE.
Require32BPPTitle=Problema con la configuración de vídeo de su pantalla
Require32BPP=El instalador ha detectado que su Windows no se está ejecutando a 32 bits por píxel de profundidad de color. Se sabe que esto puede causar problemas de estabilidad al GIMP, por lo que se le recomienda que cambie la profundidad de color de la configuración de vídeo de su pantalla a 32BPP antes de continuar.
Require32BPPContinue=&Continuar
Require32BPPExit=&Salir
InstallOrCustomize=GIMP está listo para ser instalado. Haga clic en el botón Instalar para instalar usando la configuración por defecto, o haga clic en el botón Personalizar si desea un mayor control sobre lo que va a instalar.
Install=&Instalar
Customize=&Personalizar
;setup types
TypeCompact=Instalación Compacta
TypeCustom=Instalación Personalizada
TypeFull=Instalación Completa
;text above component description
ComponentsDescription=Descripción
;components
ComponentsGimp=GIMP
ComponentsGimpDescription=GIMP y todos los plug-ins por defecto
ComponentsDeps=Bibliotecas Run-time
ComponentsDepsDescription=Bibliotecas Run-time usadas por GIMP, incluyendo bibliotecas Run-time del Entorno GTK+
ComponentsGtkWimp=Motor(Engine) MS-Windows para GTK+
ComponentsGtkWimpDescription=Aspecto nativo de Windows para GIMP
ComponentsCompat=Soporte para plug-ins antiguos
ComponentsCompatDescription=Instala bibliotecas requeridas por plug-ins antiguos de terceros
ComponentsTranslations=Traducciones
ComponentsTranslationsDescription=Traducciones
ComponentsPython=Python scripting
ComponentsPythonDescription=Le permite usar plug-ins de GIMP escritos en el lenguaje interpretado Python.
ComponentsGhostscript=Soporte para PostScript
ComponentsGhostscriptDescription=Permite a GIMP abrir archivos PostScript
;only when installing on x64 Windows
ComponentsGimp32=Soporte para plug-ins de 32-bit
ComponentsGimp32Description=Incluye archivos necesarios para usar plug-ins de 32-bit.%nRequerido para soportar Python.
;additional installation tasks
AdditionalIcons=Iconos adicionales:
AdditionalIconsDesktop=Crear un icono de acceso directo en el &Escritorio
AdditionalIconsQuickLaunch=Crear un icono de acceso directo en la barra de Inicio &Rápido
RemoveOldGIMP=Elimina versión anterior de GIMP
;%1 is replaced by file name; these messages should never appear (unless user runs out of disk space at the exact right moment)
ErrorChangingEnviron=Ocurrió un problema al actualizar el ambiente de GIMP en %1. Si encuentra algún error cargando los plug-ins, pruebe desinstalar y reinstalar GIMP.
ErrorExtractingTemp=Error al extraer los archivos temporales.
ErrorUpdatingPython=Error al actualizar la información del intérprete de Python.
ErrorReadingGimpRC=Ocurrió un problema al actualizar %1.
ErrorUpdatingGimpRC=Ocurrió un problema al actualizar el archivo de configuración de GIMP %1.
;displayed in Explorer's right-click menu
OpenWithGimp=Editar con GIMP
;file associations page
SelectAssociationsCaption=Seleccione la asociación de archivos
SelectAssociationsExtensions=Extensiones:
SelectAssociationsInfo1=Seleccione los tipos de archivo que desea asociar con GIMP
SelectAssociationsInfo2=Esto hará que los tipos de archivo seleccionados se abran con GIMP cuando haga doble clic sobre ellos en el Explorador.
SelectAssociationsSelectAll=Seleccionar &Todos
SelectAssociationsUnselectAll=Deseleccionar T&odos
SelectAssociationsSelectUnused=Seleccionar los no &Utilizados
;shown on summary screen just before starting the install
ReadyMemoAssociations=Tipos de archivo que se asociarán con GIMP:
RemovingOldVersion=Eliminando versión anterior de GIMP:
;%1 = version, %2 = installation directory
;ran uninstaller, but it returned an error, or didn't remove everything
RemovingOldVersionFailed=GIMP %1 no se puede instalar sobre la versión de GIMP instalado actualmente, y la desinstalación automática de la versión antigua ha fallado.%n%nPor favor desinstale la versión anterior de GIMP usted mismo antes de instalar esta versión en %2, o seleccione Instalación Personalizada y escoja otra carpeta de instalación.%n%nEl instalador se cerrará ahora.
;couldn't find an uninstaller, or found several uninstallers
RemovingOldVersionCantUninstall=GIMP %1 no se puede instalar sobre la versión de GIMP instalado actualmente, y el instalador no pudo determinar como eliminar la versión antigua automáticamente.%n%nPor favor desinstale la versión anterior de GIMP y todos sus complementos(add-ons) usted mismo antes de instalar esta versión en %2, o seleccione Instalación Personalizada y escoja otra carpeta de instalación.%n%nEl instalador se cerrará ahora.
RebootRequiredFirst=La versión anterior de GIMP se eliminó satisfactoriamente, pero Windows necesita reiniciar antes de que el instalador pueda continuar.%n%nDespués de reiniciar su computadora, el instalador continuará la próxima vez que un administrador inicie sesión en el sistema.
;displayed if restart settings couldn't be read, or if the setup couldn't re-run itself
ErrorRestartingSetup=Ocurrió un problema al reiniciar el instalador. (%1)
;displayed while the files are being extracted; note the capitalisation!
Billboard1=Recuerde: GIMP es Software Libre.%n%nPor favor visite
;www.gimp.org (displayed between Billboard1 and Billboard2)
Billboard2=para obtener actualizaciones gratuitas.
SettingUpAssociations=Estableciendo la asociación de archivos...
SettingUpPyGimp=Estableciendo el entorno para las extensiones en Python de GIMP...
SettingUpEnvironment=Estableciendo el entorno de GIMP...
SettingUpGimpRC=Estableciendo la configuración de GIMP para el soporte de plug-ins de 32-bit...
;displayed on last page
LaunchGimp=Iniciar GIMP
;shown during uninstall when removing add-ons
UninstallingAddOnCaption=Eliminando complementos(add-ons)
InternalError=Error interno (%1).
;used by installer for add-ons (currently only help)
DirNotGimp=GIMP no parece estar instalado en el directorio seleccionado. ¿Desea continuar de todos modos?

View file

@ -0,0 +1,113 @@
[Messages]
;InfoBefore page is used instead of license page because the GPL only concerns distribution, not use, and as such doesn't have to be accepted
WizardInfoBefore=Contrat de licence utilisateur final
AboutSetupNote=Installateur réalisé par Jernej Simonèiè, jernej-gimp@ena.si%n%nImage d'accueil de l'installateur par Alexia_Death%nImage de fin de l'installateur par Jakub Steiner
WinVersionTooLowError=Cette version de GIMP requiert Windows XP Service Pack 3, ou supérieur.
[CustomMessages]
;shown before the wizard starts on development versions of GIMP
DevelopmentWarningTitle=Version de développement
;DevelopmentWarning=This is a development version of GIMP. As such, some features aren't finished, and it may be unstable. If you encounter any problems, first verify that they haven't already been fixed in GIT before you contact the developers.%nThis version of GIMP is not intended for day-to-day work, as it may be unstable, and you could lose your work. Do you wish to continue with installation anyway?
DevelopmentWarning=Ceci est une version de développement de l'installateur GIMP. Elle a moins été testée que l'installateur stable, ce qui peut causer des dysfonctionnements de GIMP. Veuillez rapporter les problèmes rencontrés dans le bugzilla GIMP (composant: "Installer"):%n_https://bugzilla.gnome.org/enter_bug.cgi?product=GIMP%n%nSouhaitez-vous tout de même poursuivre l'installation ?
DevelopmentButtonContinue=&Continuer
DevelopmentButtonExit=Quitter
;XPSP3Recommended=Warning: you are running an unsupported version of Windows. Please update to at least Windows XP with Service Pack 3 before reporting any problems.
SSERequired=Cette version de GIMP requiert un processeur prenant en charger les instructions SSE.
Require32BPPTitle=Problème de paramètres d'affichage
Require32BPP=L'installateur a détecté que Windows ne s'exécute pas en affichage 32 bits par pixel. C'est une cause connue d'instabilité de GIMP, nous vous recommandons de changer la profondeur d'affichage de couleurs en 32BPP avant de poursuivre.
Require32BPPContinue=&Continuer
Require32BPPExit=&Quitter
InstallOrCustomize=GIMP est prêt à être installé. Cliquez sur le bouton « Installer » pour utiliser les paramètres par défaut, ou sur « Personnaliser » pour choisir plus finement ce qui sera installé.
Install=&Installer
Customize=&Personnaliser
;setup types
TypeCompact=Installation compacte
TypeCustom=Installation personnalisée
TypeFull=Installation complète
;text above component description
ComponentsDescription=Description
;components
ComponentsGimp=GIMP
ComponentsGimpDescription=GIMP et tous les greffons par défaut
ComponentsDeps=Bibliothèques d'exécution
ComponentsDepsDescription=Bibliothèques d'exécution utilisées par GIMP, y compris l'environnement d'exécution GTK+
ComponentsGtkWimp=Moteur GTK+ pour Windows
ComponentsGtkWimpDescription=Apparence native pour Windows
ComponentsCompat=Prise en charge des anciens greffons
ComponentsCompatDescription=Installe les bibliothèques requises par d'anciens greffons
ComponentsTranslations=Traductions
ComponentsTranslationsDescription=Traductions
ComponentsPython=Prise en charge des scripts Python
ComponentsPythonDescription=Prise en charge des greffons GIMP écrits en langage Python
ComponentsGhostscript=Prise en charge de PostScript
ComponentsGhostscriptDescription=Permet le chargement de fichiers PostScript dans GIMP
;only when installing on x64 Windows
ComponentsGimp32=Gestion des greffons 32 bits
ComponentsGimp32Description=Inclut les fichiers nécessaires à l'utilisation de greffons 32 bits.%nRequis pour la prise en charge de Python.
;additional installation tasks
AdditionalIcons=Icônes additionnelles:
AdditionalIconsDesktop=Créer une icône sur le &bureau
AdditionalIconsQuickLaunch=Créer une icône dans la barre de lancement &rapide
RemoveOldGIMP=Supprimer les versions antérieures de GIMP
;%1 is replaced by file name; these messages should never appear (unless user runs out of disk space at the exact right moment)
ErrorChangingEnviron=Une erreur s'est produite lors de la mise à jour de l'environnement de GIMP dans %1. Si des erreurs surviennent au chargement des greffons, tentez de désinstaller puis réinstaller GIMP.
ErrorExtractingTemp=Erreur durant l'extraction de données temporaires.
ErrorUpdatingPython=Erreur durant la mise à jour de l'interpréteur Python.
ErrorReadingGimpRC=Erreur de mise à jour du fichier %1.
ErrorUpdatingGimpRC=Erreur de mise à jour du fichier %1 de configuration de GIMP.
;displayed in Explorer's right-click menu
OpenWithGimp=Modifier avec GIMP
;file associations page
SelectAssociationsCaption=Sélectionner les extensions à associer
SelectAssociationsExtensions=Extensions:
SelectAssociationsInfo1=Sélectionner les extensions de fichiers à associer à GIMP
SelectAssociationsInfo2=En double-cliquant dans l'Explorateur Windows, les fichiers portant ces extensions s'ouvriront dans GIMP.
SelectAssociationsSelectAll=&Sélectionner toutes
SelectAssociationsUnselectAll=&Désélectionner toutes
SelectAssociationsSelectUnused=Sélectionner les &inutilisées
;shown on summary screen just before starting the install
ReadyMemoAssociations=Types de fichiers à associer à GIMP:
RemovingOldVersion=Désinstallation de la version précédente de GIMP:
;%1 = version, %2 = installation directory
;ran uninstaller, but it returned an error, or didn't remove everything
RemovingOldVersionFailed=La désinstallation automatique de votre version de GIMP actuelle a échoué, et GIMP %1 ne peut l'écraser.%n%nVeuillez désinstaller manuellement l'ancienne version de GIMP et relancez l'installation dans %2, ou choisissez l'option d'installation personnalisée et un dossier de destination différent.%n%nL'installateur va à présent s'arrêter.
;couldn't find an uninstaller, or found several uninstallers
RemovingOldVersionCantUninstall=La méthode de désinstallation automatique de votre version de GIMP actuelle n'a pu être déterminée, et GIMP %1 ne peut écraser votre version de GIMP actuelle.%n%nVeuillez désinstaller manuellement l'ancienne version de GIMP et ses greffons avant de retenter une instalation dans %2, ou choisissez une installation personnalisée et un dossier de destination différent.%n%nL'installateur va à présent s'arrêter.
RebootRequiredFirst=Votre version précédente de GIMP a été supprimée avec succès, mais Windows requiert un redémarrage avant de poursuivre l'installation.%n%nAprès le redémarrage, l'installation reprendra à la connexion d'un administrateur.
;displayed if restart settings couldn't be read, or if the setup couldn't re-run itself
ErrorRestartingSetup=L'installateur a rencontré une erreur au redémarrage. (%1)
;displayed while the files are being extracted; note the capitalisation!
Billboard1=GIMP est un Logiciel Libre.%n%nVisitez
;www.gimp.org (displayed between Billboard1 and Billboard2)
Billboard2=pour des mises à jour gratuites.
SettingUpAssociations=Associations des extensions de fichiers...
SettingUpPyGimp=Configuration de l'environnement d'extension de GIMP en Python...
SettingUpEnvironment=Configuration de l'environnement GIMP...
SettingUpGimpRC=Configuration de la gestion des greffons 32 bits...
;displayed on last page
LaunchGimp=Exécuter GIMP
;shown during uninstall when removing add-ons
UninstallingAddOnCaption=Suppression de l'extension
InternalError=Erreur interne (%1).
;used by installer for add-ons (currently only help)
DirNotGimp=GIMP ne semble pas être installé dans le dossier sélectionné. Souhaitez vous continuer ?

View file

@ -0,0 +1,113 @@
[Messages]
;InfoBefore page is used instead of license page because the GPL only concerns distribution, not use, and as such doesn't have to be accepted
WizardInfoBefore=Licencmegállapodás
AboutSetupNote=A telepítõt Jernej Simoncic, jernej-gimp@ena.si készítette%n%nA telepítõ kezdõlapján látható képet Alexia_Death készítette%nA telepítõ utolsó lapján látható képet Jakub Steiner készítette
WinVersionTooLowError=A GIMP ezen verziója a Windows Windows XP Service Pack 3 vagy újabb verzióját igényli.
[CustomMessages]
;shown before the wizard starts on development versions of GIMP
DevelopmentWarningTitle=Fejlesztõi verzió
;DevelopmentWarning=Ez a GIMP fejlesztõi verziója. Mint ilyen, egyes funkciók nincsenek befejezve; továbbá a program instabil is lehet. Ha problémát tapasztal, ellenõrizze hogy nincs-e már javítva Git-ben, mielõtt megkeresi a fejlesztõket.%nA GIMP ezen verzióját nem napi szintû használatra szánjuk, mivel instabil lehet és emiatt elveszíthet adatokat. Mindenképp folytatja a telepítést?
DevelopmentWarning=Ez a GIMP telepítõjének fejlesztõi verziója. Nincs annyira tesztelve, mint a stabil telepítõ, emiatt a GIMP hibásan mûködhet. A tapasztalt hibákat a GIMP Bugzillába jelentse (az Installer összetevõ alá):%n_https://bugzilla.gnome.org/enter_bug.cgi?product=GIMP%n%nMindenképp folytatja a telepítést?
DevelopmentButtonContinue=&Folytatás
DevelopmentButtonExit=Kilépés
;XPSP3Recommended=Figyelem: a Windows nem támogatott verzióját futtatja. Frissítsen legalább a Windows XP Service Pack 3 kiadásra a problémák bejelentése elõtt.
SSERequired=A GIMP ezen verziója az SSE utasításokat támogató processzort igényel.
Require32BPPTitle=Probléma a kijelzõbeállításokkal
Require32BPP=A telepítõ azt észlelte, hogy a Windows nem 32 bites színmélységû módban fut. Ez a GIMP-nek stabilitási problémákat okoz, így javasoljuk, hogy a folytatás elõtt állítsa a színmélységet 32 bitesre.
Require32BPPContinue=&Folytatás
Require32BPPExit=&Kilépés
InstallOrCustomize=A GIMP immár kész a telepítésre. Kattintson a Telepítés gombra az alapértelmezett beállításokkal való telepítéshez, vagy a Személyre szabás gombra, ha módosítani szeretné a telepítendõ összetevõk listáját.
Install=&Telepítés
Customize=&Személyre szabás
;setup types
TypeCompact=Kompakt telepítés
TypeCustom=Egyéni telepítés
TypeFull=Teljes telepítés
;text above component description
ComponentsDescription=Leírás
;components
ComponentsGimp=GIMP
ComponentsGimpDescription=A GIMP és minden alap bõvítménye
ComponentsDeps=Futásidejû programkönyvtárak
ComponentsDepsDescription=A GIMP által használt futásidejû programkönyvtárak, beleértve a GTK+ környezetet
ComponentsGtkWimp=MS-Windows motor a GTK+-hoz
ComponentsGtkWimpDescription=Natív Windows megjelenés a GIMP-hez
ComponentsCompat=Régi bõvítmények támogatása
ComponentsCompatDescription=Régi külsõ bõvítményekhez szükséges programkönyvtárak telepítése
ComponentsTranslations=Fordítások
ComponentsTranslationsDescription=Fordítások
ComponentsPython=Python parancsfájlok
ComponentsPythonDescription=Lehetõvé teszi Python nyelven írt GIMP bõvítmények használatát.
ComponentsGhostscript=PostScript támogatás
ComponentsGhostscriptDescription=A GIMP betöltheti a PostScript fájlokat
;only when installing on x64 Windows
ComponentsGimp32=32 bites bõvítmények támogatása
ComponentsGimp32Description=A 32 bites bõvítmények támogatásához szükséges fájlok.%nSzükséges a Python támogatáshoz.
;additional installation tasks
AdditionalIcons=További ikonok:
AdditionalIconsDesktop=&Asztali ikon létrehozása
AdditionalIconsQuickLaunch=&Gyorsindító ikon létrehozása
RemoveOldGIMP=Korábbi GIMP verzió eltávolítása
;%1 is replaced by file name; these messages should never appear (unless user runs out of disk space at the exact right moment)
ErrorChangingEnviron=Hiba történt a GIMP környezetének frissítésekor ebben: %1. Ha hibaüzeneteket kap a bõvítmények betöltésekor, akkor próbálja meg eltávolítani és újratelepíteni a GIMP-et.
ErrorExtractingTemp=Hiba az ideiglenes adatok kibontásakor.
ErrorUpdatingPython=Hiba a Python értelmezõ információinak frissítésekor.
ErrorReadingGimpRC=Hiba történt a következõ frissítésekor: %1.
ErrorUpdatingGimpRC=Hiba történt a GIMP beállítófájljának frissítésekor: %1.
;displayed in Explorer's right-click menu
OpenWithGimp=Szerkesztés a GIMP-pel
;file associations page
SelectAssociationsCaption=Válasszon fájltársításokat
SelectAssociationsExtensions=Kiterjesztések:
SelectAssociationsInfo1=Válassza ki a GIMP-hez társítandó fájltípusokat
SelectAssociationsInfo2=Ennek hatására a kijelölt típusú fájlok a GIMP-ben nyílnak meg, amikor duplán kattint rájuk az Intézõben.
SelectAssociationsSelectAll=Összes &kijelölése
SelectAssociationsUnselectAll=Kijelölés &törlése
SelectAssociationsSelectUnused=Tö&bbi kijelölése
;shown on summary screen just before starting the install
ReadyMemoAssociations=A GIMP-hez társítandó fájltípusok:
RemovingOldVersion=A GIMP korábbi verziójának eltávolítása:
;%1 = version, %2 = installation directory
;ran uninstaller, but it returned an error, or didn't remove everything
RemovingOldVersionFailed=A GIMP %1 nem telepíthetõ a jelenlegi GIMP verzió fölé, és a régi verzió automatikus eltávolítása meghiúsult.%n%nTávolítsa el a GIMP korábbi verzióját, mielõtt ezt a verziót ide telepíti: %2, vagy válassza az Egyéni telepítést és válasszon másik telepítési mappát.%n%nA telepítõ most kilép.
;couldn't find an uninstaller, or found several uninstallers
RemovingOldVersionCantUninstall=A GIMP %1 nem telepíthetõ a jelenlegi GIMP verzió fölé, és a telepítõ nem tudta megállapítani, hogyan távolítható el a régi verzió automatikusan.%n%nTávolítsa el a GIMP korábbi verzióját és a bõvítményeket, mielõtt ezt a verziót ide telepíti: %2, vagy válassza az Egyéni telepítést és válasszon másik telepítési mappát.%n%nA telepítõ most kilép.
RebootRequiredFirst=A GIMP korábbi verziója sikeresen eltávolítva, de a Windowst újra kell indítani, mielõtt a telepítés folytatódhatna.%n%nA számítógép újraindítása és egy adminisztrátor bejelentkezése után a telepítõ futása folytatódik.
;displayed if restart settings couldn't be read, or if the setup couldn't re-run itself
ErrorRestartingSetup=Hiba történt a Telepítõ újraindításakor. (%1)
;displayed while the files are being extracted; note the capitalisation!
Billboard1=Ne feledje: A GIMP szabad szoftver.%n%nFrissítésekért keresse fel a
;www.gimp.org (displayed between Billboard1 and Billboard2)
Billboard2=oldalt.
SettingUpAssociations=Fájltársítások beállítása...
SettingUpPyGimp=Környezet beállítása a GIMP Python kiterjesztéséhez...
SettingUpEnvironment=A GIMP környezetének beállítása...
SettingUpGimpRC=A GIMP beállítása a 32 bites bõvítmények támogatásához...
;displayed on last page
LaunchGimp=A GIMP indítása
;shown during uninstall when removing add-ons
UninstallingAddOnCaption=Bõvítmény eltávolítása
InternalError=Belsõ hiba (%1).
;used by installer for add-ons (currently only help)
DirNotGimp=A GIMP nem található a kijelölt könyvtárban. Mindenképp folytatja?

View file

@ -0,0 +1,113 @@
[Messages]
;InfoBefore page is used instead of license page because the GPL only concerns distribution, not use, and as such doesn't have to be accepted
WizardInfoBefore=Accordo di licenza
AboutSetupNote=Installazione creata da Jernej Simonèiè, jernej-gimp@ena.si%n%nImmagine all'avvio dell'installazione di Alexia_Death%nImmagine alla fine dell'installazione di Jakub Steiner
WinVersionTooLowError=Questa versione di GIMP richiede Windows XP aggiornato al Service Pack 3, o una versione più recente di Windows.
[CustomMessages]
;shown before the wizard starts on development versions of GIMP
DevelopmentWarningTitle=Versione di sviluppo
;DevelopmentWarning=Questa è una versione di sviluppo di GIMP. Come tale, alcune funzioni non sono complete e potrebbero renderla instabile. Se si riscontrano dei problemi, verificare prima che questi non siano già stati risolti in GIT prima di contattare gli sviluppatori.%nQuesta versione di GIMP non è adatta ad un uso in produzione dato che, a causa della sua instabilità, potrebbe far perdere tutto il proprio lavoro. Continuare ugualmente l'installazione?
DevelopmentWarning=Questa è una versione di sviluppo dell'installatore di GIMP. Non è stata verificata come la versione stabile e ciò potrebbe rendere il funzionamento di GIMP instabile. Segnalare ogni eventuale problema riscontrato sul sito bugzilla di GIMP (Installer component):%n_https://bugzilla.gnome.org/enter_bug.cgi?product=GIMP%n%nContinuare ugualmente con l'installazione?
DevelopmentButtonContinue=&Continua
DevelopmentButtonExit=Esci
;XPSP3Recommended=Warning: you are running an unsupported version of Windows. Please update to at least Windows XP with Service Pack 3 before reporting any problems.
SSERequired=Questa versione di GIMP richiede un processore che supporti le istruzioni SSE.
Require32BPPTitle=Problema di impostazione dello schermo
Require32BPP=L'installatore ha rilevato che Windows attualmente non è in funzione in modalità schermo a 32 bits-per-pixel. È risaputo che ciò può causare problemi di instabilità in GIMP, perciò si raccomanda di cambiare la profondità di colore dello schermo a 32BPP prima di continuare.
Require32BPPContinue=&Continua
Require32BPPExit=E&sci
InstallOrCustomize=Ora GIMP è pronto per essere installato. Fare clic sul pulsante Installa per installarlo usando le impostazioni predefinite, o su Personalizza se si desidera un maggior livello di controllo sui parametri di installazione.
Install=&Installa
Customize=&Personalizza
;setup types
TypeCompact=Installazione compatta
TypeCustom=Installazione personalizzata
TypeFull=Installazione completa
;text above component description
ComponentsDescription=Descrizione
;components
ComponentsGimp=GIMP
ComponentsGimpDescription=GIMP e tutti i plugin predefiniti.
ComponentsDeps=Librerie a run-time
ComponentsDepsDescription=Librerie a run-time usate da GIMP, incluso l'ambiente run-time GTK+.
ComponentsGtkWimp=Motore GTK+ per MS-Windows
ComponentsGtkWimpDescription=Aspetto nativo Windows per GIMP.
ComponentsCompat=Supporto per i vecchi plugin
ComponentsCompatDescription=Installazione delle librerie necessarie per i vecchi plug-in di terze parti.
ComponentsTranslations=Traduzioni
ComponentsTranslationsDescription=Traduzioni.
ComponentsPython=Scripting Python
ComponentsPythonDescription=Consente di usare i plugin di GIMP scritti in liguaggio Python.
ComponentsGhostscript=Supporto PostScript
ComponentsGhostscriptDescription=Permette a GIMP di caricare file in formato PostScript.
;only when installing on x64 Windows
ComponentsGimp32=Supporto per i plugin a 32-bit
ComponentsGimp32Description=Include i file necessari per l'utilizzo di plugin a 32-bit.%nÈ richiesto per il supporto Python.
;additional installation tasks
AdditionalIcons=Icone aggiuntive:
AdditionalIconsDesktop=Crea un'icona sul &desktop
AdditionalIconsQuickLaunch=Crea un'icona di &avvio rapido
RemoveOldGIMP=Rimuove la versione precedente di GIMP
;%1 is replaced by file name; these messages should never appear (unless user runs out of disk space at the exact right moment)
ErrorChangingEnviron=Si è verificato un problema aggiornando l'ambiente di GIMP in %1. Se si verificano errori caricando i plugin, provare a disinstallare e reinstallare GIMP.
ErrorExtractingTemp=Errore durante l'estrazione dei dati temporanei.
ErrorUpdatingPython=Errore aggiornando i dati dell'interprete Python.
ErrorReadingGimpRC=Si è verificato un errore aggiornando %1.
ErrorUpdatingGimpRC=Si è verificato un errore aggiornando il file di configurazione di GIMP %1.
;displayed in Explorer's right-click menu
OpenWithGimp=Modifica con GIMP
;file associations page
SelectAssociationsCaption=Seleziona le associazioni di file
SelectAssociationsExtensions=Estensioni:
SelectAssociationsInfo1=Selezionare i tipi di file che si desidera associare a GIMP
SelectAssociationsInfo2=Ciò renderà possibile aprire automaticamente i file selezionati in GIMP quando si fa doppio clic in Explorer.
SelectAssociationsSelectAll=Seleziona &tutti
SelectAssociationsUnselectAll=Deseleziona tutt&i
SelectAssociationsSelectUnused=Seleziona i non &usati
;shown on summary screen just before starting the install
ReadyMemoAssociations=Tipi di file da associare a GIMP:
RemovingOldVersion=Rimozione della versione precedente di GIMP:
;%1 = version, %2 = installation directory
;ran uninstaller, but it returned an error, or didn't remove everything
RemovingOldVersionFailed=GIMP %1 non può essere installato sopra la versione di GIMP installata attualmente, e la funzione di disinstallazione automatica della vecchia versione ha fallito.%n%nRimuovere la versione precedente di GIMP manualmente prima di installare questa versione in %2, o scegliere l'installazione personalizzata selezionando una diversa cartella di installazione.%n%nL'installatore ora verrà chiuso.
;couldn't find an uninstaller, or found several uninstallers
RemovingOldVersionCantUninstall=GIMP %1 non può essere installato sopra la versione di GIMP installata attualmente, e l'installatore non riesce a determinare come rimuovere automaticamente la vecchia versione.%n%nRimuovere manualmente la versione precedente di GIMP e ogni elemento che sia stato aggiunto prima di installare questa versione in %2, o scegliere l'installazione personalizzata selezionando una diversa cartella di installazione.%n%nL'installatore ora verrà chiuso.
RebootRequiredFirst=La versione precedente di GIMP è stata rimossa con successo, ma Windows deve essere riavviato prima che l'installatore possa continuare.%n%nDopo il riavvio del computer, l'installatore continuerà non appena un amministratore entrerà nel sistema.
;displayed if restart settings couldn't be read, or if the setup couldn't re-run itself
ErrorRestartingSetup=Si è verificato un errore durante il riavvio dell'installatore. (%1)
;displayed while the files are being extracted; note the capitalisation!
Billboard1=Ricorda: GIMP è Software Libero.%n%nVisitare
;www.gimp.org (displayed between Billboard1 and Billboard2)
Billboard2=per aggiornarlo in libertà.
SettingUpAssociations=Impostaione delle associazioni di file...
SettingUpPyGimp=Impostazione dell'ambiente per l'estensione Python di GIMP...
SettingUpEnvironment=Impostazione dell'ambiente di GIMP...
SettingUpGimpRC=Impostazione del supporto ai plugin di GIMP a 32-bit...
;displayed on last page
LaunchGimp=Avvio di GIMP
;shown during uninstall when removing add-ons
UninstallingAddOnCaption=Rimozione aggiunte
InternalError=Errore interno (%1).
;used by installer for add-ons (currently only help)
DirNotGimp=GIMP non sembra essere installato nella directory selezionata. Continuare ugualmente?

View file

@ -0,0 +1,113 @@
[Messages]
;InfoBefore page is used instead of license page because the GPL only concerns distribution, not use, and as such doesn't have to be accepted
WizardInfoBefore=Licentieovereenkomst
AboutSetupNote=Installatieprogramma gecreëerd door Jernej Simonèiè, jernej-gimp@ena.si%n%nAfbeelding op startpagina van het installatieprogramma door Alexia_Death%nAfbeelding op eindpagina van het instalatieprogramma door Jakub Steiner
WinVersionTooLowError=Deze versie van GIMP vereist Windows XP met Service Pack 3, of een recentere versie van Windows.
[CustomMessages]
;shown before the wizard starts on development versions of GIMP
DevelopmentWarningTitle=Ontwikkelaarsversie
;DevelopmentWarning=Dit is een ontwikkelingsversie van GIMP. Zodanig zijn sommige functies nog niet klaar en kan het onstabiel zijn. Als je problemen tegenkomt, controleer eerst of het nog niet is gerepareerd in GIT voordat u contact opneemt met de ontwikkelaars.%nDeze versie van GIMP is niet bedoeld voor dagelijks werk, omdat het onstabiel kan zijn en u zou u werk kunnen verliezen. Wenst u alsnog verder te gaan met de installatie?
DevelopmentWarning=Dit is een ontwikkelingsversie van GIMP installatie. Het is nog niet zoveel getest als de stabiele installatie, dit kan resulteren in GIMP niet optimaal werken. Gelieve problemen die je ondervindt te rapporteren in de GIMP bugzilla (Installatiecomponent):%n_https://bugzilla.gnome.org/enter_bug.cgi?product=GIMP%n%nWenst u alsnog verder te gaan met de installatie?
DevelopmentButtonContinue=&Verdergaan
DevelopmentButtonExit=Sluiten
;XPSP3Recommended=Waarschuwing: u gebruikt een niet ondersteunde versie van Windows. Gelieve deze bij te werken tot minstens Windows XP met Service Pack 3 voor het rapporteren van problemen.
SSERequired=Deze versie van GIMP vereist een processor die SSE instructies ondersteunt.
Require32BPPTitle=Probleem beeldscherminstellingen
Require32BPP=Het installatieprogramma heeft gedetecteerd dat u Windows momenteel niet werkt in 32-bit kleurdiepte beeldmodus. Dit is geweten om stabiliteitsproblemen met GIMP te veroorzaken, dus het is aangeraden om de beeldscherm kleurdiepte te veranderen naar 32-bit voordat u verder gaat.
Require32BPPContinue=&Verdergaan
Require32BPPExit=&Sluiten
InstallOrCustomize=GIMP is nu klaar voor installatie. Klik op de Installeer knop voor de standaard instellingen, of klik de Aanpassen knop om meer controle te hebben over wat er wordt geïnstalleerd.
Install=&Installeer
Customize=&Aanpassen
;setup types
TypeCompact=Eenvoudige installatie
TypeCustom=Aangepaste installatie
TypeFull=Volledige installatie
;text above component description
ComponentsDescription=Beschrijving
;components
ComponentsGimp=GIMP
ComponentsGimpDescription=GIMP en alle standaard plugins
ComponentsDeps=Run-time bibliotheken
ComponentsDepsDescription=Run-time bibliotheken gebruikt door GIMP, inclusief GTK+ Run-time Environment
ComponentsGtkWimp=Windows engine voor GTK+
ComponentsGtkWimpDescription=Natieve Windows uiterlijk voor GIMP
ComponentsCompat=Ondersteuning voor oude plugins
ComponentsCompatDescription=Installeer bibliotheken nodig door oude plugins van derden
ComponentsTranslations=Vertalingen
ComponentsTranslationsDescription=Vertalingen
ComponentsPython=Python scripting
ComponentsPythonDescription=Staat toe van GIMP plugins geschreven in Python scripting taal te gebruiken.
ComponentsGhostscript=PostScript ondersteuning
ComponentsGhostscriptDescription=Staat GIMP toe PostScript bestanden te laden
;only when installing on x64 Windows
ComponentsGimp32=Ondersteuning voor 32-bit plugins
ComponentsGimp32Description=Installeer bestanden nodig voor gebruik van 32-bit plugins.%nVereist voor Python ondersteuning.
;additional installation tasks
AdditionalIcons=Extra snelkoppelingen:
AdditionalIconsDesktop=Snelkoppeling op het &bureaublad aanmaken
AdditionalIconsQuickLaunch=Snelkoppeling in &Quicklaunch aanmaken
RemoveOldGIMP=Verwijder oudere GIMP versies
;%1 is replaced by file name; these messages should never appear (unless user runs out of disk space at the exact right moment)
ErrorChangingEnviron=Er was een probleem tijdens het bijwerken van GIMP's omgeving in %1. Als u een probleem krijgt bij het laden van plugins, probeer GIMP te verwijderen en opnieuw te installeren.
ErrorExtractingTemp=Er was een fout uitpakken tijdelijke gegevens.
ErrorUpdatingPython=Er was een fout bijwerken Python interpreter info.
ErrorReadingGimpRC=Er was een fout tijdens het bijwerken van %1.
ErrorUpdatingGimpRC=Er was een fout tijdens het bijwerken van GIMP's configuratie bestand %1.
;displayed in Explorer's right-click menu
OpenWithGimp=Bewerken met GIMP
;file associations page
SelectAssociationsCaption=Selecteer bestandskoppelingen
SelectAssociationsExtensions=Bestandsextensies:
SelectAssociationsInfo1=Selecteer de bestandsextensie die u wenst te associëren met GIMP
SelectAssociationsInfo2=Dit zal geselecteerde bestanden openen in GIMP wanneer u deze dubbelklikt in Verkenner.
SelectAssociationsSelectAll=&Alles selecteren
SelectAssociationsUnselectAll=&Alles deselecteren
SelectAssociationsSelectUnused=&Ongebruikte selecteren
;shown on summary screen just before starting the install
ReadyMemoAssociations=Bestandtypes te associeren met GIMP:
RemovingOldVersion=Removing previous version of GIMP:
;%1 = version, %2 = installation directory
;ran uninstaller, but it returned an error, or didn't remove everything
RemovingOldVersionFailed=GIMP %1 kan niet worden geïnstalleerd over u huidige geïnstalleerde GIMP versie en de automatische verwijdering van de oude versie is gefaald.%n%nGelieve zelf de vorige versie van GIMP te verwijderen voordat u deze installeerd in %2 of kies een Aangepaste installatie en selecteer een andere installatie map.%n%nHet installatieprogramma zal nu afsluiten.
;couldn't find an uninstaller, or found several uninstallers
RemovingOldVersionCantUninstall=GIMP %1 kan niet worden geïnstalleerd over u huidige geïnstalleerde GIMP versie en het installatieprogramma kon geen manier vinden om de oude versie automatisch te verwijderen.%n%nGelieve zelf de vorige versie van GIMP en plugins te verwijderen voordat u deze versie in %2 installeert of kies een Aangepaste installatie en selecteer een andere map.%n%nHet installatieprogramma zal nu afsluiten.
RebootRequiredFirst=De vorige versie van GIMP wer succesvol verwijderd, maar Windows moet heropstarten voordat de installatie kan verdergaan.%n%nNa het heropstarten van u computer zal de installatie verdergaan de volgende keer een administrator inlogt.
;displayed if restart settings couldn't be read, or if the setup couldn't re-run itself
ErrorRestartingSetup=Er was een fout bij het heropstarten van de installatie. (%1)
;displayed while the files are being extracted; note the capitalisation!
Billboard1=Remember: GIMP is Vrije Software.%n%nBezoek alstublieft
;www.gimp.org (displayed between Billboard1 and Billboard2)
Billboard2=voor gratis bijwerkingen.
SettingUpAssociations=Bezig met het opzetten van bestandskoppelingen...
SettingUpPyGimp=Bezig met het opzetten van omgeving voor GIMP Python extensie...
SettingUpEnvironment=Bezig met het opzetten van GIMP omgeving...
SettingUpGimpRC=Bezig met het opzetten van GIMP configuratie voor 32-bit plugin ondersteuning...
;displayed on last page
LaunchGimp=GIMP starten
;shown during uninstall when removing add-ons
UninstallingAddOnCaption=Verwijderen van add-on
InternalError=Interne fout (%1).
;used by installer for add-ons (currently only help)
DirNotGimp=GIMP schijnt niet in de geselecteerde map te worden geïnstalleerd. Toch doorgaan?

View file

@ -8,7 +8,7 @@ WinVersionTooLowError=Ta wersja programu GIMP wymaga systemu Windows XP z Servic
;shown before the wizard starts on development versions of GIMP
DevelopmentWarningTitle=Wersja rozwojowa
;DevelopmentWarning=To jest rozwojowa wersja programu GIMP. Niektóre funkcje nie zostały jeszcze ukończone, a cały program może być niestabilny. W razie wystąpienia błędu przed skontaktowaniem się z programistami należy sprawdzić, czy nie został on naprawiony w repozytorium git.%nTa wersja programu GIMP nie jest przeznaczona do codziennej pracy z powodu niestabilności i możliwości utraty danych. Kontynuować instalację mimo to?
DevelopmentWarning=To jest rozwojowa wersja instalatora programu GIMP. Nie została ona przetestowana tak dokładnie, jak stabilna wersja, co może powodować nieprawidłowe działanie programu GIMP. Prosimy zgłaszać napotkane błędy w systemie Bugzilla programu GIMP (komponent \"Installer\"):%n_https://bugzilla.gnome.org/enter_bug.cgi?product=GIMP%n%nNiektóre błędy instalatora są już znane:%n- wczytywanie plików TIFF nie działa%n- rozmiary plików nie są poprawnie wyświetlane%nprosimy nie zgłaszać tych problemów, ponieważ są one już znane programistom.%n%nKontynuować instalację mimo to?
DevelopmentWarning=To jest rozwojowa wersja instalatora programu GIMP. Nie została ona przetestowana tak dokładnie, jak stabilna wersja, co może powodować nieprawidłowe działanie programu GIMP. Prosimy zgłaszać napotkane błędy w systemie Bugzilla programu GIMP (komponent \"Installer\"):%n_https://bugzilla.gnome.org/enter_bug.cgi?product=GIMP%n%nKontynuować instalację mimo to?
DevelopmentButtonContinue=&Kontynuuj
DevelopmentButtonExit=Zakończ

View file

@ -7,8 +7,8 @@ WinVersionTooLowError= Esta vers
[CustomMessages]
;shown before the wizard starts on development versions of GIMP
DevelopmentWarningTitle=Versão de Desenvolvimento
DevelopmentWarning=Esta é uma versão de desenvolvimento do GIMP. Sendo assim, algumas funcionalidades não estão prontas, e ele pode ser instável. Se você encontrar algum problema, primeiro verifique se ele já não foi arrumado no GIT antes de contatar os desenvolvedores.%nEsta versão do GIMP não foi feita para ser usada no dia a dia, uma vez que ela pode ser instável e pode por o seu trabalho em risco. Você quer continuar com esta instalação mesmo assim?
;DevelopmentWarning=Esta é uma versão de desenvolvimento do instalador do GIMP. Ela não foi testada tanto quanto o instalador estável, o que pode resultar no GIMP não ser corretamente instalado. Por favor, reporte quaisquer problemas que você encontrar no bugizlla do GIMP (Installer component):%n_https://bugzilla.gnome.org/enter_bug.cgi?product=GIMP%n%nHá alguns problemas conhecidos neste instalador:%n- Arquivos TIFF não estão abrindo%n-Tamanho dos arquivos não estão sendo exibidos corretamente%nPor favor não reporte esses problemas, uma vez que já estamos a par dos mesmos.%n%nVocê quer continuar com a instalação mesmo assim?
;DevelopmentWarning=Esta é uma versão de desenvolvimento do GIMP. Sendo assim, algumas funcionalidades não estão prontas, e ele pode ser instável. Se você encontrar algum problema, primeiro verifique se ele já não foi arrumado no GIT antes de contatar os desenvolvedores.%nEsta versão do GIMP não foi feita para ser usada no dia a dia, uma vez que ela pode ser instável e pode por o seu trabalho em risco. Você quer continuar com esta instalação mesmo assim?
DevelopmentWarning=Esta é uma versão de desenvolvimento do instalador do GIMP. Ela não foi testada tanto quanto o instalador estável, o que pode resultar no GIMP não ser corretamente instalado. Por favor, reporte quaisquer problemas que você encontrar no bugizlla do GIMP (Installer component):%n_https://bugzilla.gnome.org/enter_bug.cgi?product=GIMP%n%nVocê quer continuar com a instalação mesmo assim?
DevelopmentButtonContinue=&Continuar
DevelopmentButtonExit=Sair
@ -44,8 +44,8 @@ ComponentsTranslations=Tradu
ComponentsTranslationsDescription=Traduções
ComponentsPython=Suporte a scripts em Python
ComponentsPythonDescription=Permite que você use plug-ins escritos na linguagem Python(necessário para algumas funcionalidades).
ComponentsGhostscript=Suporte a PostScript
ComponentsGhostscriptDescription=Permite que o GIMP possa abrir arquivos PostScript
ComponentsGhostscript=Suporte a Postscript
ComponentsGhostscriptDescription=Permite que o GIMP possa abrir arquivos Postscript
;only when installing on x64 Windows
ComponentsGimp32=Suporte a plug-ins de 32-bit
ComponentsGimp32Description=Inclui arquivos necessários para o uso de plug-ins de 32bits.%nNecessário para o suporte a Python.

View file

@ -0,0 +1,113 @@
[Messages]
;InfoBefore page is used instead of license page because the GPL only concerns distribution, not use, and as such doesn't have to be accepted
WizardInfoBefore=Лицензионное соглашение
AboutSetupNote=Создатель пакета установки Jernej Simoncic, jernej-gimp@ena.si%n%nАвтор изображения в начале установки Alexia_Death%nАвтор изображения в конце установки Jakub Steiner
WinVersionTooLowError=Для этой версии GIMP требуется Windows XP с Пакетом обновлений 3 (Service Pack 3), или более современная версия Windows.
[CustomMessages]
;shown before the wizard starts on development versions of GIMP
DevelopmentWarningTitle=Разрабатываемая версия
;DevelopmentWarning=Это разрабатываемая версия GIMP. Некоторые функции не доделаны, и они могут работать нестабильно. Если у Вас возникнут какие-либо проблемы, сначала убедитесь, что они ещё не были исправлены в GIT, прежде чем связаться с разработчиками.%nЭта версия GIMP не предназначена для повседневной работы, так как она может работать нестабильно, и Вы можете потерять свои данные. Вы хотите продолжить установку?
DevelopmentWarning=Это разрабатываемая версия GIMP. Она не была протестирована так же, как стабильная версия, в результате GIMP может не работать должным образом. Просим Вас сообщить о возникших проблемах в GIMP bugzilla (компонент Installer):%n_https://bugzilla.gnome.org/enter_bug.cgi?product=GIMP%n%nВы хотите продолжить установку?
DevelopmentButtonContinue=&Далее
DevelopmentButtonExit=&Выход
;XPSP3Recommended=Внимание: вы используете неподдерживаемую версию Windows. Пожалуйста, обновите её до Windows XP с Пакетом обновлений 3 (Service Pack 3), прежде чем сообщать о проблемах.
SSERequired=Этой версии GIMP требуется процессор с поддержкой инструкций SSE.
Require32BPPTitle=Проблема с параметрами дисплея
Require32BPP=Программа установки обнаружила, что Ваша Windows сейчас работает с качеством цветопередачи не 32 бита. Известно, что это может вызвать нестабильную работу GIMP, поэтому рекомендуется сменить качество цветопередачи на 32 бита в параметрах дисплея, прежде чем продолжить.
Require32BPPContinue=&Далее
Require32BPPExit=&Выход
InstallOrCustomize=GIMP готов к установке. Нажмите Установить для установки с настройками по умолчанию, или Настроить для выбора компонентов.
Install=&Установить
Customize=&Настроить
;setup types
TypeCompact=Компактная установка
TypeCustom=Выборочная установка
TypeFull=Полная установка
;text above component description
ComponentsDescription=Описание
;components
ComponentsGimp=GIMP
ComponentsGimpDescription=GIMP и все стандартные плагины
ComponentsDeps=Библиотеки времени выполнения
ComponentsDepsDescription=Библиотеки времени выполнения для GIMP, включая окружение времени выполнения GTK+
ComponentsGtkWimp=Движок MS-Windows для GTK+
ComponentsGtkWimpDescription=Интегрированный внешний вид для GIMP
ComponentsCompat=Поддержка старых плагинов
ComponentsCompatDescription=Установка библиотек, необходимых для старых сторонних плагинов
ComponentsTranslations=Локализации
ComponentsTranslationsDescription=Локализации
ComponentsPython=Автоматизация на Python
ComponentsPythonDescription=Обеспечивает работу плагинов GIMP, написанных на языке Python.
ComponentsGhostscript=Поддержка PostScript
ComponentsGhostscriptDescription=Обеспечивает загрузку файлов PostScript в GIMP
;only when installing on x64 Windows
ComponentsGimp32=Поддержка 32-битных плагинов
ComponentsGimp32Description=Включает файлы, необходимые для использования 32-битных плагинов.%nНеобходимо для поддержки Python.
;additional installation tasks
AdditionalIcons=Дополнительные значки:
AdditionalIconsDesktop=Создать значок на &Рабочем столе
AdditionalIconsQuickLaunch=Создать значок в &Панели быстрого запуска
RemoveOldGIMP=Удалить предыдущую версию GIMP
;%1 is replaced by file name; these messages should never appear (unless user runs out of disk space at the exact right moment)
ErrorChangingEnviron=Возникла проблема при обновлении окружения GIMP в %1. Если Вы получите ошибки при загрузке плагинов, попробуйте удалить и заново установить GIMP.
ErrorExtractingTemp=Ошибка при извлечении временных данных.
ErrorUpdatingPython=Ошибка обновления информации интерпретатора Python.
ErrorReadingGimpRC=Возникла ошибка при обновлении %1.
ErrorUpdatingGimpRC=Возникла ошибка при обновлении файла настроек GIMP %1.
;displayed in Explorer's right-click menu
OpenWithGimp=Изменить в GIMP
;file associations page
SelectAssociationsCaption=Выбор файловых ассоциаций
SelectAssociationsExtensions=Расширения:
SelectAssociationsInfo1=Выберите типы файлов, которые будут ассоциированы с GIMP
SelectAssociationsInfo2=Это позволит открывать выбранные файлы в GIMP по двойному щелчку в Проводнике.
SelectAssociationsSelectAll=&Выбрать все
SelectAssociationsUnselectAll=&Снять все
SelectAssociationsSelectUnused=Выбрать &неиспользуемые
;shown on summary screen just before starting the install
ReadyMemoAssociations=Типы файлов, которые будут ассоциированы с GIMP:
RemovingOldVersion=Удаление предыдущей версии GIMP:
;%1 = version, %2 = installation directory
;ran uninstaller, but it returned an error, or didn't remove everything
RemovingOldVersionFailed=GIMP %1 не может быть установлен поверх уже установленной версии GIMP, и автоматическое удаление старой версии не удалось.%n%nПожалуйста, удалите предыдущую версию GIMP вручную, прежде чем устанавливать эту версию в %2, или нажмите Настроить в начале, и выберите другую папку для установки.%n%nСейчас установка будет прервана.
;couldn't find an uninstaller, or found several uninstallers
RemovingOldVersionCantUninstall=GIMP %1 не может быть установлен поверх уже установленной версии GIMP, и программа установки не может определить, как удалить предыдущую версию автоматически.%n%nПожалуйста, удалите предыдущую версию GIMP и все дополнения вручную, прежде чем устанавливать эту версию в %2, или нажмите Настроить в начале, и выберите другую папку для установки.%n%nСейчас установка будет прервана.
RebootRequiredFirst=Предыдущая версия GIMP успешно удалена, но необходимо перезагрузить Windows перед продолжением установки.%n%nПосле перезагрузки компьютера установка будет продолжена, как только любой пользователь с правами администратора войдёт в систему.
;displayed if restart settings couldn't be read, or if the setup couldn't re-run itself
ErrorRestartingSetup=Возникла ошибка при перезапуске программы установки. (%1)
;displayed while the files are being extracted; note the capitalisation!
Billboard1=Помните: GIMP является Свободным программным обеспечением.%n%nПожалуйста, посетите
;www.gimp.org (displayed between Billboard1 and Billboard2)
Billboard2=для бесплатных обновлений.
SettingUpAssociations=Установка файловых ассоциаций...
SettingUpPyGimp=Установка окружения для дополнений GIMP Python...
SettingUpEnvironment=Установка окружения GIMP...
SettingUpGimpRC=Установка настроек GIMP для поддержки 32-битных плагинов...
;displayed on last page
LaunchGimp=Запустить GIMP
;shown during uninstall when removing add-ons
UninstallingAddOnCaption=Удаление дополнений
InternalError=Внутренняя ошибка (%1).
;used by installer for add-ons (currently only help)
DirNotGimp=Кажется, GIMP не был установлен в выбранный каталог. Всё равно продолжить?

View file

@ -0,0 +1,105 @@
[Messages]
WizardInfoBefore=Licenčna pogodba
AboutSetupNote=Namestitveni program je pripravil Jernej Simončič, jernej-gimp@ena.si%n%nSlika na prvi strani namestitvenega programa: Alexia_Death%nSlika na zadnji strani namestitvenega programa: Jakub Steiner
WinVersionTooLowError=Ta različica programa GIMP potrebuje Windows XP s servisnim paketom 3, ali novejšo različico programa Windows.
[CustomMessages]
DevelopmentWarningTitle=Razvojna različica
;DevelopmentWarning=To je razvojna različica programa GIMP, zaradi česar nekateri deli programa morda niso dokončani, poleg tega pa je program lahko tudi nestabilen. V primeru težav preverite, da le-te niso bile že odpravljene v GIT-u, preden stopite v stik z razvijalci.%nZaradi nestabilnosti ta različica ni namenjena za vsakodnevno delo, saj lahko kadarkoli izgubite svoje delo. Ali želite vseeno nadaljevati z namestitvijo?
DevelopmentWarning=To je razvojna različica namestitvenega programa za GIMP, ki še ni tako preizkušena kot običajna različica. Če naletite na kakršne koli težave pri namestitvi, jih prosim sporočite v Bugzilli (komponenta Installer):%n_https://bugzilla.gnome.org/enter_bug.cgi?product=GIMP%n%nAli želite vseeno nadaljevati z namestitvijo?
DevelopmentButtonContinue=&Nadaljuj
DevelopmentButtonExit=Prekini
;XPSP3Recommended=Opozorilo: uporabljate nepodprto različico sistema Windows. Prosimo, namestite servisni paket 3 za Windows XP ali novejšo različico sistema Windows preden nas obveščate o kakršnih koli težavah.
SSERequired=Ta razliźica programa GIMP potrebuje procesor, ki ima podporo za SSE ukaze.
Require32BPPTitle=Težava z zaslonskimi nastavitvami
Require32BPP=Namestitveni program je zaznal, da Windows ne deluje v 32-bitnem barvnem načinu. Takšne nastavitve lahko povzročijo nestabilnost programa GIMP, zato je priporočljivo da pred nadaljevanjem spremenite barvno globino zaslona na 32 bitov.
Require32BPPContinue=&Nadaljuj
Require32BPPExit=I&zhod
InstallOrCustomize=GIMP je pripravljen na namestitev. Kliknite gumb Namesti za namestitev s privzetimi nastavitvami, ali pa kliknite gumb Po meri, če bi radi imeli več nadzora nad možnostmi namestitve.
Install=Namest&i
Customize=&Po meri
TypeCompact=Minimalna namestitev
TypeCustom=Namestitev po meri
TypeFull=Polna namestitev
;components
ComponentsDescription=Opis
ComponentsGimp=GIMP
ComponentsGimpDescription=GIMP z vsemi privzetimi vtičniki
ComponentsDeps=Podporne knjižnice
ComponentsDepsDescription=Podporne knjižnice za GIMP, vključno z okoljem GTK+
ComponentsGtkWimp=Tema MS-Windows za GTK+
ComponentsGtkWimpDescription=Windows izgled za GIMP
ComponentsCompat=Podpora za stare vtičnike
ComponentsCompatDescription=Podporne knjižnice za stare zunanje vtičnike za GIMP
ComponentsTranslations=Prevodi
ComponentsTranslationsDescription=Prevodi
ComponentsPython=Podpora za Python
ComponentsPythonDescription=Omogoča izvajanje vtičnikov za GIMP, napisanih v programskem jeziku Python
ComponentsGhostscript=Podpora za PostScript
ComponentsGhostscriptDescription=Omogoči nalaganje PostScript datotek
ComponentsGimp32=Podpora za 32-bitne vtičnike
ComponentsGimp32Description=Omogoča uporabo 32-bitnih vtičnikov.%nPotrebno za uporabo podpore za Python
AdditionalIcons=Dodatne ikone:
AdditionalIconsDesktop=Ustvari ikono na n&amizju
AdditionalIconsQuickLaunch=Ustvari ikono v vrstici &hitri zagon
RemoveOldGIMP=Odstrani prejçnjo razliźico programa GIMP
;%1 is replaced by file name; these messages should never appear (unless user runs out of disk space at the exact right moment)
ErrorChangingEnviron=Prišlo je do težav pri posodabljanju okolja za GIMP v datoteki %1. Če se pri nalaganju vtičnikov pojavijo sporočila o napakah, poizkusite odstraniti in ponovno namestiti GIMP.
ErrorExtractingTemp=Prišlo je do napake pri razširjanju začasnih datotek.
ErrorUpdatingPython=Prišlo je do napake pri nastavljanju podpore za Python.
ErrorReadingGimpRC=Prišlo je do napake pri branju datoteke %1.
ErrorUpdatingGimpRC=Prišlo je do napake pri pisanju nastavitev v datoteko %1.
;displayed in Explorer's right-click menu
OpenWithGimp=Uredi z GIMP-om
SelectAssociationsCaption=Povezovanje vrst datotek
SelectAssociationsExtensions=Pripone:
SelectAssociationsInfo1=Izberite vste datotek, ki bi jih radi odpirali z GIMP-om
SelectAssociationsInfo2=Tu lahko izberete vrste datotek, ki se bodo odprle v GIMP-u, ko jih dvokliknete v Raziskovalcu
SelectAssociationsSelectAll=Izber&i vse
SelectAssociationsUnselectAll=Počist&i izbor
SelectAssociationsSelectUnused=Ne&uporabljene
ReadyMemoAssociations=Vrste datotek, ki jih bo odpiral GIMP:
RemovingOldVersion=Odstranjevanje starejših različic programa GIMP:
;%1 = version, %2 = installation directory
;ran uninstaller, but it returned an error, or didn't remove everything
RemovingOldVersionFailed=Te različice programa GIMP ne morete namestiti preko prejšnje različice, namestitvenemu programu pa prejšnje različice ni uspelo samodejno odstraniti.%n%nPred ponovnim nameščanjem te različice programa GIMP v mapo %2, odstranite prejšnjo različico, ali pa izberite namestitev po meri, in GIMP %1 namestite v drugo mapo.%n%nNamestitveni program se bo zdaj končal.
;couldn't find an uninstaller, or found several uninstallers
RemovingOldVersionCantUninstall=Te različice programa GIMP ne morete namestiti preko prejšnje različice, namestitvenemu programu pa ni uspelo ugotoviti, kako prejšnjo različico odstraniti samodejno.%n%nPred ponovnim nameščanjem te različice programa GIMP v mapo %2, odstranite prejšnjo različico, ali pa izberite namestitev po meri, in GIMP %1 namestite v drugo mapo.%n%nNamestitveni program se bo zdaj končal.
RebootRequiredFirst=Prejšnja različica programa GIMP je bila uspešno odstranjena, vendar je pred nadaljevanjem namestitve potrebno znova zagnati Windows.%n%nNamestitveni program bo dokončal namestitev po ponovnem zagonu, ko se prvič prijavi administrator.
;displayed while the files are being extracted
Billboard1=GIMP spada med prosto programje.%n%nObiščite
;www.gimp.org (displayed between Billboard1 and Billboard2)
Billboard2=za brezplačne posodobitve.
;displayed if restart settings couldn't be read, or if the setup couldn't re-run itself
ErrorRestartingSetup=Prišlo je do napake pri ponovnem zagonu namestitvenega programa. (%1)
SettingUpAssociations=Nastavljam povezane vrste datotek...
SettingUpPyGimp=Pripravljam okolje za GIMP Python...
SettingUpEnvironment=Pripravljam okolje za GIMP...
SettingUpGimpRC=Pripravljam nastavitve za 32-bitne vtičnike...
;displayed on last page
LaunchGimp=Zaženi GIMP
;shown during uninstall when removing add-ons
UninstallingAddOnCaption=Odstranjujem dodatek
InternalError=Notranja napaka (%1).
;used by installer for add-ons (currently only help)
DirNotGimp=GIMP očitno ni nameščen v izbrani mapi. Želite kljub temu nadaljevati?

View file

@ -0,0 +1,131 @@
#if 0
[Code]
#endif
function Quote(const S: String): String;
begin
Result := '"' + S + '"';
end;
function AddParam(const S, P, V: String): String;
begin
if V <> '""' then
Result := S + ' /' + P + '=' + V;
end;
function AddSimpleParam(const S, P: String): String;
begin
Result := S + ' /' + P;
end;
procedure CreateRunOnceEntry;
var RunOnceData, SetupRestartData: String;
i: Integer;
begin
DebugMsg('CreateRunOnceEntry','Preparing for restart');
//RunOnce command-line is limited to 256 characters, so keep it to the bare minimum required to start setup
RunOnceData := Quote(ExpandConstant('{srcexe}')) + ' /resumeinstall=1';
RunOnceData := AddParam(RunOnceData, 'LANG', ExpandConstant('{language}'));
SetupRestartData := Quote(ExpandConstant('{srcexe}')) + ' /resumeinstall=2';
SetupRestartData := AddParam(SetupRestartData, 'LANG', ExpandConstant('{language}'));
SetupRestartData := AddParam(SetupRestartData, 'DIR', Quote(WizardDirValue));
//SetupRestartData := AddParam(SetupRestartData, 'GROUP', Quote(WizardGroupValue));
//if WizardNoIcons then
// SetupRestartData := AddSimpleParam(SetupRestartData, 'NOICONS');
SetupRestartData := AddParam(SetupRestartData, 'TYPE', Quote(WizardSetupType(False)));
SetupRestartData := AddParam(SetupRestartData, 'COMPONENTS', Quote(WizardSelectedComponents(False)));
SetupRestartData := AddParam(SetupRestartData, 'TASKS', Quote(WizardSelectedTasks(False)));
SetupRestartData := AddParam(SetupRestartData, 'ASSOC', Quote(Associations_GetSelected()));
if Force32bitInstall then
SetupRestartData := AddSimpleParam(SetupRestartData, '32');
if ExpandConstant('{param:log|*}') <> '*' then
begin
SetupRestartData := AddParam(SetupRestartData, 'LOG', Quote(ExpandConstant('{param:log|*}')));
end else
begin
for i := 0 to ParamCount() do
if LowerCase(ParamStr(i)) = '/log' then
begin
RunOnceData := AddSimpleParam(RunOnceData,'LOG'); //multiple logs are created in %TEMP% when no filename is given
SetupRestartData := AddSimpleParam(SetupRestartData,'LOG');
break;
end;
end;
DebugMsg('CreateRunOnceEntry','RunOnce: ' + RunOnceData);
RegWriteStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\RunOnce', RunOnceName, RunOnceData);
DebugMsg('CreateRunOnceEntry','RunOnce: ' + SetupRestartData);
RegWriteStringValue(HKLM, 'Software\' + RunOnceName, '', SetupRestartData);
end;
procedure RestartMyself();
var CmdLine: String;
ResultCode: Integer;
begin
DebugMsg('RestartMyself','Continuing install after reboot (reexecuting setup)');
if RegValueExists(HKLM, 'Software\' + RunOnceName, '') then
begin
if RegQueryStringValue(HKLM, 'Software\' + RunOnceName, '', CmdLine) then
begin
RegDeleteKeyIncludingSubkeys(HKLM, 'Software\' + RunOnceName); //clean up
if not Exec('>',CmdLine,'',SW_SHOW,ewNoWait,ResultCode) then //bonus: don't block shell from loading, since RunOnce installer exits immediately
MsgBox(FmtMessage(CustomMessage('ErrorRestartingSetup'),[IntToStr(ResultCode)]), mbError, mb_Ok);
DebugMsg('RestartMyself','Result of running ' + CmdLine + ': ' + IntToStr(ResultCode));
end else
begin
MsgBox(FmtMessage(CustomMessage('ErrorRestartingSetup'),['-2']), mbError, mb_Ok);
DebugMsg('RestartMyself','Error reading HKLM\'+RunOnceName);
end;
end else
begin
MsgBox(FmtMessage(CustomMessage('ErrorRestartingSetup'),['-1']), mbError, mb_Ok);
DebugMsg('RestartMyself','HKLM\'+RunOnceName + ' not found in Registy');
end;
end;
function RestartSetupAfterReboot(): Boolean;
begin
if ExpandConstant('{param:resumeinstall|0}') = '1' then //called from RunOnce
begin
Result := False; //setup will just re-execute itself in this run
RestartMyself();
DebugMsg('RestartSetupAfterReboot','Phase 1 complete, exiting');
exit;
end else
if ExpandConstant('{param:resumeinstall|0}') = '2' then //setup re-executed itself
begin
Result := True;
InstallMode := imRebootContinue;
DebugMsg('RestartSetupAfterReboot','Continuing install after reboot');
end else
begin
Result := True; //normal install
end;
if InstallMode <> imRebootContinue then
if RegValueExists(HKLM, 'Software\Microsoft\Windows\CurrentVersion\RunOnce', RunOnceName) then
begin
DebugMsg('RestartSetupAfterReboot','System must be restarted first');
MsgBox(CustomMessage('RebootRequiredFirst'), mbError, mb_Ok);
Result := False;
end;
end;

View file

@ -0,0 +1,29 @@
[File Associations]
1=GIMP image:XCF
2=Adobe Photoshop(tm) image:PSD
3=Alias|Wavefront PowerAnimator:matte:mask:alpha:als:PIX
4=Compuserve GIF:GIF
5=Corel PaintShopPro image:PSP:PSPIMAGE:TUB
6=Digital Imaging and Communications in Medicine:DICOM:DCM
7=Fax G3 Image file:g3
8=Flexible Image Transport System:fit:fits
9=GIMP brush pipe:gih
10=GIMP brush:gbr:gpb
11=GIMP pattern:pat
12=JPEG image:JPEG:JPG
13=KISS CEL:CEL
14=Netpbm format:pnm:ppm:pgm:pbm
15=Portable Network Graphics:PNG
16=PostScript, Encapsulated PostScript:PS:EPS
17=Scalable Vector Graphics:svg
18=SGI image format:SGI:RGB:BW:ICON
19=SUN Raster Image:ras:im1:im8:im24:im32:rs
20=Tagged Image File:tif:tiff
21=TrueVision Targa:tga
22=Windows and OS/2 Bitmaps:BMP
23=Windows Icon:ICO
24=Windows Metafile:wmf
25=X10 and X11 Bitmap:xbm:icon:bitmap
26=X Pixmap:xpm
27=X Window Dump:xwd
28=ZSoft Paintbrush image:PCX

View file

@ -0,0 +1,269 @@
#if 0
[Code]
#endif
function SplitRegParams(const pInf: String; var oRootKey: Integer; var oKey,oValue: String): Boolean;
var sRootKey: String;
d: Integer;
begin
Result := False;
d := Pos('/',pInf);
if d = 0 then
begin
DebugMsg('SplitRegParams','Error: malformed line (no /)');
exit;
end;
sRootKey := Copy(pInf,1,d - 1);
oKey := Copy(pInf,d + 1,Length(pInf));
if oValue <> 'nil' then
begin
d := RevPos('\',oKey);
if d = 0 then
begin
DebugMsg('SplitRegParams','Error: malformed line (no \)');
exit;
end;
oValue := Decode(Copy(oKey,d+1,Length(oKey)));
oKey := Copy(oKey,1,d-1);
end;
DebugMsg('SplitRegParams','Root: '+sRootKey+', Key:'+oKey + ', Value:'+oValue);
case sRootKey of
'HKCR': oRootKey := HKCR;
'HKLM': oRootKey := HKLM;
'HKU': oRootKey := HKU;
'HKCU': oRootKey := HKCU;
else
begin
DebugMsg('SplitRegParams','Unrecognised root key: ' + sRootKey);
exit;
end;
end;
Result := True;
end;
procedure UninstInfRegKey(const pInf: String; const pIfEmpty: Boolean);
var sKey,sVal: String;
iRootKey: Integer;
begin
sVal := 'nil';
if not SplitRegParams(pInf,iRootKey,sKey,sVal) then
exit;
if pIfEmpty then
begin
if not RegDeleteKeyIfEmpty(iRootKey,sKey) then
DebugMsg('UninstInfRegKey','RegDeleteKeyIfEmpty failed');
end
else
begin
if not RegDeleteKeyIncludingSubkeys(iRootKey,sKey) then
DebugMsg('UninstInfRegKey','RegDeleteKeyIncludingSubkeys failed');
end;
end;
procedure UninstInfRegVal(const pInf: String);
var sKey,sVal: String;
iRootKey: Integer;
begin
if not SplitRegParams(pInf,iRootKey,sKey,sVal) then
exit;
if not RegDeleteValue(iRootKey,sKey,sVal) then
DebugMsg('UninstInfREG','RegDeleteKeyIncludingSubkeys failed');
end;
procedure UninstInfFile(const pFile: String);
begin
DebugMsg('UninstInfFile','File: '+pFile);
if not DeleteFile(pFile) then
DebugMsg('UninstInfFile','DeleteFile failed');
end;
procedure UninstInfDir(const pDir: String);
begin
DebugMsg('UninstInfDir','Dir: '+pDir);
if not RemoveDir(pDir) then
DebugMsg('UninstInfDir','RemoveDir failed');
end;
procedure CreateMessageForm(var frmMessage: TForm; const pMessage: String);
var lblMessage: TNewStaticText;
begin
frmMessage := CreateCustomForm();
with frmMessage do
begin
BorderStyle := bsDialog;
ClientWidth := ScaleX(300);
ClientHeight := ScaleY(48);
Caption := CustomMessage('UninstallingAddOnCaption');
Position := poScreenCenter;
BorderIcons := [];
end;
lblMessage := TNewStaticText.Create(frmMessage);
with lblMessage do
begin
Parent := frmMessage;
AutoSize := True;
Caption := pMessage;
Top := (frmMessage.ClientHeight - Height) div 2;
Left := (frmMessage.ClientWidth - Width) div 2;
Visible := True;
end;
frmMessage.Show();
frmMessage.Refresh();
end;
procedure UninstInfRun(const pInf: String);
var Description,Prog,Params: String;
Split, ResultCode, Ctr: Integer;
frmMessage: TForm;
begin
DebugMsg('UninstInfRun',pInf);
Split := Pos('/',pInf);
if Split <> 0 then
begin
Description := Copy(pInf, 1, Split - 1);
Prog := Copy(pInf, Split + 1, Length(pInf));
end else
begin
Prog := pInf;
Description := '';
end;
Split := Pos('/',Prog);
if Split <> 0 then
begin
Params := Copy(Prog, Split + 1, Length(Prog));
Prog := Copy(Prog, 1, Split - 1);
end else
begin
Params := '';
end;
if not UninstallSilent then //can't manipulate uninstaller messages, so create a form instead
CreateMessageForm(frmMessage,Description);
DebugMsg('UninstInfRun','Running: ' + Prog + '; Params: ' + Params);
if Exec(Prog,Params,'',SW_SHOW,ewWaitUntilTerminated,ResultCode) then
begin
DebugMsg('UninstInfRun','Exec result: ' + IntToStr(ResultCode));
Ctr := 0;
while FileExists(Prog) do //wait a few seconds for the uninstaller to be deleted - since this is done by a program
begin //running from a temporary directory, the uninstaller we ran above will exit some time before
Sleep(UNINSTALL_CHECK_TIME); //it's removed from disk
Inc(Ctr);
if Ctr = (UNINSTALL_MAX_WAIT_TIME/UNINSTALL_CHECK_TIME) then //don't wait more than 5 seconds
break;
end;
end else
DebugMsg('UninstInfRun','Exec failed: ' + IntToStr(ResultCode) + ' (' + SysErrorMessage(ResultCode) + ')');
if not UninstallSilent then
frmMessage.Free();
end;
(*
uninst.inf documentation:
- Delete Registry keys (with all subkeys):
RegKey:<RootKey>/<SubKey>
RootKey = HKCR, HKLM, HKCU, HKU
SubKey = subkey to delete (warning: this will delete all keys under subkey, so be very careful with it)
- Delete empty registry keys:
RegKeyEmpty:<RootKey>/<SubKey>
RootKey = HKCR, HKLM, HKCU, HKU
SubKey = subkey to delete if empty
- Delete values from registry:
RegVal:<RootKey>/<SubKey>/Value
RootKey = HKCR, HKLM, HKCU, HKU
SubKey = subkey to delete Value from
Value = value to delete; \ and % must be escaped as %5c and %25
- Delete files:
File:<Path>
Path = full path to file
- Delete empty directories:
Dir:<Path>
- Run program with parameters:
Run:<description>/<path>/<params>
Directives are parsed from the end of the file backwards as the first step of uninstall.
*)
procedure ParseUninstInf();
var i,d: Integer;
sWhat: String;
begin
for i := GetArrayLength(asUninstInf) - 1 downto 0 do
begin
DebugMsg('ParseUninstInf',asUninstInf[i]);
if (Length(asUninstInf[i]) = 0) or (asUninstInf[i][1] = '#') then //skip comments and empty lines
continue;
d := Pos(':',asUninstInf[i]);
if d = 0 then
begin
DebugMsg('ParseUninstInf','Malformed line: ' + asUninstInf[i]);
continue;
end;
sWhat := Copy(asUninstInf[i],d+1,Length(asUninstInf[i]));
case Copy(asUninstInf[i],1,d) of
'RegKey:': UninstInfRegKey(sWhat,False);
'RegKeyEmpty:': UninstInfRegKey(sWhat,True);
'RegVal:': UninstInfRegVal(sWhat);
'File:': UninstInfFile(sWhat);
'Dir:': UninstInfDir(sWhat);
'Run:': UninstInfRun(sWhat);
end;
end;
end;
procedure CurUninstallStepChanged(CurStep: TUninstallStep);
begin
DebugMsg('CurUninstallStepChanged','');
case CurStep of
usUninstall:
begin
LoadStringsFromFile(ExpandConstant('{app}\uninst\uninst.inf'),asUninstInf);
ParseUninstInf();
end;
//usPostUninstall:
end;
end;

View file

@ -0,0 +1,148 @@
#if 0
[Code]
#endif
procedure DebugMsg(Const pProc,pMsg: String);
begin
Log('[Code] ' + pProc + #9 + pMsg);
end;
function BoolToStr(const b: Boolean): String;
begin
if b then
Result := 'True'
else
Result := 'False';
end;
function RevPos(const SearchStr, Str: string): Integer;
var i: Integer;
begin
if Length(SearchStr) < Length(Str) then
for i := (Length(Str) - Length(SearchStr) + 1) downto 1 do
begin
if Copy(Str, i, Length(SearchStr)) = SearchStr then
begin
Result := i;
exit;
end;
end;
Result := 0;
end;
function Replace(pSearchFor, pReplaceWith, pText: String): String;
begin
StringChangeEx(pText,pSearchFor,pReplaceWith,True);
Result := pText;
end;
function Count(What, Where: String): Integer;
begin
Result := 0;
if Length(What) = 0 then
exit;
while Pos(What,Where)>0 do
begin
Where := Copy(Where,Pos(What,Where)+Length(What),Length(Where));
Result := Result + 1;
end;
end;
//split text to array
procedure Explode(var ADest: TArrayOfString; aText, aSeparator: String);
var tmp: Integer;
begin
if aSeparator='' then
exit;
SetArrayLength(ADest,Count(aSeparator,aText)+1)
tmp := 0;
repeat
if Pos(aSeparator,aText)>0 then
begin
ADest[tmp] := Copy(aText,1,Pos(aSeparator,aText)-1);
aText := Copy(aText,Pos(aSeparator,aText)+Length(aSeparator),Length(aText));
tmp := tmp + 1;
end else
begin
ADest[tmp] := aText;
aText := '';
end;
until Length(aText)=0;
end;
function String2Utf8(const pInput: String): AnsiString;
var Output: AnsiString;
ret, outLen, nulPos: Integer;
begin
outLen := WideCharToMultiByte(CP_UTF8, 0, pInput, -1, Output, 0, 0, 0);
Output := StringOfChar(#0,outLen);
ret := WideCharToMultiByte(CP_UTF8, 0, pInput, -1, Output, outLen, 0, 0);
if ret = 0 then
RaiseException('WideCharToMultiByte failed: ' + IntToStr(GetLastError));
nulPos := Pos(#0,Output) - 1;
if nulPos = -1 then
nulPos := Length(Output);
Result := Copy(Output,1,nulPos);
end;
function Utf82String(const pInput: AnsiString): String;
var Output: AnsiString;
ret, outLen, nulPos: Integer;
begin
outLen := MultiByteToWideChar(CP_UTF8, 0, pInput, -1, Output, 0);
Output := StringOfChar(#0,outLen);
ret := MultiByteToWideChar(CP_UTF8, 0, pInput, -1, Output, outLen);
if ret = 0 then
RaiseException('MultiByteToWideChar failed: ' + IntToStr(GetLastError));
nulPos := Pos(#0,Output) - 1;
if nulPos = -1 then
nulPos := Length(Output);
Result := Copy(Output,1,nulPos);
end;
function SaveStringToUTF8File(const pFileName, pS: String; const pAppend: Boolean): Boolean;
begin
Result := SaveStringToFile(pFileName, String2Utf8(pS), pAppend);
end;
function LoadStringFromUTF8File(const pFileName: String; var oS: String): Boolean;
var Utf8String: AnsiString;
begin
Result := LoadStringFromFile(pFileName, Utf8String);
oS := Utf82String(Utf8String);
end;
procedure StatusLabel(const Status1,Status2: string);
begin
WizardForm.StatusLabel.Caption := Status1;
WizardForm.FilenameLabel.Caption := Status2;
WizardForm.Refresh();
end;

View file

@ -0,0 +1,25 @@
//set the version string
#define public
#if !Defined(VERSION)
#error "VERSION must be defined"
#endif
#define public
//used in the component list
#define MAJOR=Copy(VERSION,1,Pos(".",VERSION)-1)
#define MINOR=Copy(VERSION,Pos(".",VERSION)+1)
#define MICRO=Copy(MINOR,Pos(".",MINOR)+1)
#expr MINOR=Copy(MINOR,1,Pos(".",MINOR)-1)
#if Int(MINOR) % 2 == 1
#define DEVEL="-dev"
//used for setting up file associations
#define ASSOC_VERSION=MAJOR + "." + MINOR
#else
#define DEVEL=""
//new setup is incompatible with GIMP 2.6 and older installers
#define ASSOC_VERSION=MAJOR + ".8"
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB