Windows Installer, extra translatable custom messages

Valdis Vītoliņš valdis.vitolins at odo.lv
Fri Sep 3 13:33:37 EDT 2010


Oh.. sorry, Friday evening...
I noticed difference lastly!

Updated file is attached.
Thanks for patience,
Valdis

> On Friday 3 September 2010, Valdis Vītoliņš wrote:
> > > packaging/win32/gnucash.iss.in
> > 
> > That looks fine for Latvian
> > 
> > Thanks,
> > Valdis
> > 
> Well,... no. I recently added these messages to gnucash.iss.in:
> 
> ; *** "Another install" wizard page
> ; %1 in the following messages will be replaced with the application name and 
> version, like "GnuCash 2.3.15"
> AIWP_Title=Another installation has been found
> AIWP_Description=%1 is currently installed on this computer
> AIWP_Message=This earlier installation has to be removed before continuing.
> %n%nIf you don't want that, click Cancel now to abort the current 
> installation.%n%nClick Next to remove %1 and continue with the installation.
> %n%nNote: Only the program will be removed, not your financial data.
> 
> There is no translation for them in Latvian. It was those messages I was 
> inquiring about.
> 
> 
> Geert

-------------- next part --------------
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Input configuration for the Inno Setup Compiler
; Copyright (c) 2004-2005 Christian Stimming <stimming at tuhh.de>
;
; Inno Setup Compiler: See http://www.jrsoftware.org/isdl.php
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[Setup]
; Using the name here directly because we want it capitalized
AppName=GnuCash
AppVerName=GnuCash @VERSION@
AppPublisher=GnuCash Development Team
AppPublisherURL=http://www.gnucash.org
AppSupportURL=http://www.gnucash.org
AppUpdatesURL=http://www.gnucash.org
VersionInfoVersion=@VERSION@
DefaultDirName={pf}\@PACKAGE@
DefaultGroupName=GnuCash
LicenseFile=@prefix@\..\dist\share\@PACKAGE@\doc\COPYING
Compression=lzma
MinVersion=5.0,5.0
PrivilegesRequired=poweruser
OutputDir=.
OutputBaseFilename=@PACKAGE at -@VERSION at -setup
UninstallFilesDir={app}\uninstall\@PACKAGE@
InfoAfterFile=@prefix@\..\dist\share\@PACKAGE@\doc\README.win32-bin.txt
SetupIconFile=@prefix@\..\dist\share\@PACKAGE@\pixmaps\gnucash-icon.ico
WizardSmallImageFile=@prefix@\..\dist\share\@PACKAGE@\pixmaps\gnucash-icon-48x48.bmp

[Types]
Name: "full"; Description: "{cm:FullInstall}"
Name: "custom"; Description: "{cm:CustomInstall}"; Flags: iscustom

[Components]
Name: "main"; Description: "{cm:MainFiles}"; Types: full custom; Flags: fixed
;Name: "translations"; Description: "{cm:TranslFiles}"; Types: full
;Name: "templates"; Description: "{cm:TemplFiles}"; Types: full

[Tasks]
Name: desktopicon; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"
Name: menuicon; Description: "{cm:CreateMenuLink}"; GroupDescription: "{cm:AdditionalIcons}"

[Icons]
Name: "{group}\GnuCash"; Filename: "{app}\bin\gnucash.exe"; WorkingDir: "{app}\bin"; Comment: "{cm:IconComment_GnuCash}"; IconFilename: "{app}\share\gnucash\pixmaps\gnucash-icon.ico"; Tasks: menuicon
Name: "{group}\{cm:IconName_README}"; Filename: "{app}\doc\gnucash\{cm:IconFilename_README}"; Comment: "{cm:IconComment_README}"; Tasks: menuicon
Name: "{group}\{cm:IconName_FAQ}"; Filename: "http://wiki.gnucash.org/wiki/FAQ"; Tasks: menuicon
Name: "{group}\{cm:IconName_Bugzilla}"; Filename: "http://bugzilla.gnome.org/enter_bug.cgi?product=GnuCash"; Tasks: menuicon
Name: "{group}\{cm:IconName_InstallFQ}"; Filename: "{app}\bin\install-fq-mods.cmd"; WorkingDir: "{app}\bin"; Comment: "{cm:IconComment_InstallFQ}"; Tasks: menuicon
Name: "{group}\{cm:IconName_Theme}"; Filename: "{app}\bin\gtk2_prefs.exe"; WorkingDir: "{app}\bin"; Tasks: menuicon
Name: "{group}\{cm:IconName_Uninstall}"; Filename: "{uninstallexe}"; Comment: "{cm:IconComment_Uninstall}"; Tasks: menuicon

Name: "{commondesktop}\GnuCash"; Filename: "{app}\bin\gnucash.exe"; WorkingDir: "{app}\bin"; Comment: "{cm:IconComment_GnuCash}"; IconFilename: "{app}\share\gnucash\pixmaps\gnucash-icon.ico"; Tasks: desktopicon

[Run]
Filename: "{app}\bin\gnucash.exe"; Description: "{cm:RunPrg}"; WorkingDir: "{app}\bin"; OnlyBelowVersion: 0,6; Flags: postinstall skipifsilent
Filename: "{app}\bin\guile.cmd"; Parameters: "-c ""(use-modules (ice-9 slib)) (require 'printf)"""; Flags: runhidden
;; The Windows firewall exceptions, see http://www.vincenzo.net/isxkb/index.php?title=Adding_a_rule_to_the_Windows_firewall
Filename: "{sys}\netsh.exe"; Parameters: "firewall add allowedprogram ""{app}\bin\gnucash.exe"" ""GnuCash Free Finance Manager"" ENABLE ALL"; StatusMsg: "{cm:StatusMsgFirewall}"; Flags: runhidden; MinVersion: 0,5.01.2600sp2;
Filename: "{sys}\netsh.exe"; Parameters: "firewall add allowedprogram ""{app}\bin\gconfd-2.exe"" ""GConf Settings Manager"" ENABLE ALL"; StatusMsg: "{cm:StatusMsgFirewall}"; Flags: runhidden; MinVersion: 0,5.01.2600sp2;

[UninstallRun]
Filename: "{app}\bin\gconftool-2.exe"; Parameters: "--shutdown"; Flags: runhidden
Filename: "{sys}\netsh.exe"; Parameters: "firewall delete allowedprogram program=""{app}\bin\@PACKAGE at .exe"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2
Filename: "{sys}\netsh.exe"; Parameters: "firewall delete allowedprogram program=""{app}\bin\gconfd-2.exe"""; Flags: runhidden; MinVersion: 0,5.01.2600sp2

; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Here we configure the included files and the place of their
; installation
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[Files]
; The main executables and DLLs
Source: "@prefix@\..\dist\bin\*"; DestDir: "{app}\bin"; Flags: recursesubdirs ignoreversion; Components: main
Source: "@prefix@\..\dist\etc\*"; DestDir: "{app}\etc"; Flags: recursesubdirs; Components: main
Source: "@prefix@\..\dist\etc\@PACKAGE@\environment"; DestDir: "{app}\etc\@PACKAGE@"; Components: main; AfterInstall: MyAfterInstallEnvironment()
; Note: The above AfterInstall function will adapt the 
; environment config file on-the-fly by the Pascal script below.
Source: "@prefix@\..\dist\lib\*"; DestDir: "{app}\lib"; Flags: recursesubdirs; Components: main
Source: "@prefix@\..\dist\libexec\*"; DestDir: "{app}\libexec"; Flags: recursesubdirs; Components: main
Source: "@prefix@\..\dist\share\*"; DestDir: "{app}\share"; Flags: recursesubdirs; Components: main

;;; Not needed with AQBANKING5 anymore!
;; Additionally, we ship the Qt DLLs because the Online-Banking-Wizard
;; lib/aqbanking/plugins/@-aqbanking_so_effective-@/wizards/qt3-wizard.exe needs them.
;Source: "@-qtbindir-@\QtCore4.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
;Source: "@-qtbindir-@\QtGui4.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
;Source: "@-qtbindir-@\mingwm10.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
;; The following are all needed by Qt3Support
;Source: "@-qtbindir-@\Qt3Support4.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
;Source: "@-qtbindir-@\QtXml4.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
;Source: "@-qtbindir-@\QtSql4.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
;Source: "@-qtbindir-@\QtNetwork4.dll"; DestDir: "{app}\bin"; Flags: ignoreversion

;; The translations
;Source: "@prefix@\..\dist\share\locale\*"; DestDir: "{app}\share\locale"; Flags: recursesubdirs; Components: translations
;
;; The account templates
;Source: "@prefix@\..\dist\share\gnucash\accounts\*"; DestDir: "{app}\share\gnucash\accounts"; Flags: recursesubdirs; Components: templates

; And all the documentation
Source: "@prefix@\..\dist\share\@PACKAGE@\doc\README"; DestDir: "{app}\doc\@PACKAGE@"; Components: main
Source: "@prefix@\..\dist\share\@PACKAGE@\doc\README.win32-bin.txt"; DestDir: "{app}\doc\@PACKAGE@"; Components: main
Source: "@prefix@\..\dist\share\@PACKAGE@\doc\README-de.win32-bin.txt"; DestDir: "{app}\doc\@PACKAGE@"; Components: main
Source: "@prefix@\..\dist\share\@PACKAGE@\doc\README-fr.win32-bin.txt"; DestDir: "{app}\doc\@PACKAGE@"; Components: main
Source: "@prefix@\..\dist\share\@PACKAGE@\doc\README-it.win32-bin.txt"; DestDir: "{app}\doc\@PACKAGE@"; Components: main
Source: "@prefix@\..\dist\share\@PACKAGE@\doc\README-zh_CN.win32-bin.txt"; DestDir: "{app}\doc\@PACKAGE@"; Components: main
Source: "@prefix@\..\dist\share\@PACKAGE@\doc\COPYING"; DestDir: "{app}\doc\@PACKAGE@"; Flags: ignoreversion; Components: main
Source: "@prefix@\..\dist\share\@PACKAGE@\doc\AUTHORS"; DestDir: "{app}\doc\@PACKAGE@"; Components: main
Source: "@prefix@\..\dist\share\@PACKAGE@\doc\ChangeLog"; DestDir: "{app}\doc\@PACKAGE@"; Components: main


; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Define the registry keys Setup should create (HKLM = HKEY_LOCAL_MACHINE)
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[Registry]
Root: HKCR; Subkey: ".gnucash"; ValueType: string; ValueName: ""; ValueData: "GnuCash.Financial.Data"; Flags: uninsdeletevalue
Root: HKCR; Subkey: ".gnucash"; ValueType: string; ValueName: "Content Type"; ValueData: "application/x-gnucash"; Flags: uninsdeletevalue
Root: HKCR; Subkey: "GnuCash.Financial.Data"; ValueType: string; ValueName: ""; ValueData: "GnuCash Financial Data"; Flags: uninsdeletevalue
Root: HKCR; Subkey: "GnuCash.Financial.Data\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\share\gnucash\pixmaps\gnucash-icon.ico,0" 
Root: HKCR; Subkey: "GnuCash.Financial.Data\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\gnucash.exe"" ""%1""" 

Root: HKLM; Subkey: "Software\GnuCash"; ValueType: none; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\GnuCash\Paths"; ValueType: none; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\GnuCash\Paths"; ValueType: string; ValueName: "prefix"; ValueData: "{app}"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\GnuCash"; ValueType: string; ValueName: "InstallationDirectory"; ValueData: "{app}"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\GnuCash\Paths"; ValueType: string; ValueName: "libdir"; ValueData: "{app}\lib"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\GnuCash\Paths"; ValueType: string; ValueName: "pkglibdir"; ValueData: "{app}\lib\@PACKAGE@"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\GnuCash\Paths"; ValueType: string; ValueName: "sysconfdir"; ValueData: "{app}\etc"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\GnuCash\Paths"; ValueType: string; ValueName: "localedir"; ValueData: "{app}\share\locale"; Flags: uninsdeletevalue

; Store the version information
Root: HKLM; Subkey: "Software\GnuCash\Version"; ValueType: none; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\GnuCash\Version"; ValueType: string; ValueName: "Version"; ValueData: "@PACKAGE_VERSION@"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\GnuCash\Version"; ValueType: dword; ValueName: "VersionMajor"; ValueData: "@GNUCASH_MAJOR_VERSION@"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\GnuCash\Version"; ValueType: dword; ValueName: "VersionMinor"; ValueData: "@GNUCASH_MINOR_VERSION@"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\GnuCash\Version"; ValueType: dword; ValueName: "VersionMicro"; ValueData: "@GNUCASH_MICRO_VERSION@"; Flags: uninsdeletevalue

; Additionally, we have to install the paths for gwenhywfar
Root: HKLM; Subkey: "Software\Gwenhywfar"; ValueType: none; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\Gwenhywfar\Paths"; ValueType: none; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\Gwenhywfar\Paths"; ValueType: string; ValueName: "prefix"; ValueData: "{app}"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\Gwenhywfar\Paths"; ValueType: string; ValueName: "libdir"; ValueData: "{app}\lib"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\Gwenhywfar\Paths"; ValueType: string; ValueName: "plugindir"; ValueData: "{app}\lib\gwenhywfar\plugins\@-gwenhywfar_so_effective-@"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\Gwenhywfar\Paths"; ValueType: string; ValueName: "sysconfdir"; ValueData: "{app}\etc"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\Gwenhywfar\Paths"; ValueType: string; ValueName: "localedir"; ValueData: "{app}\share\locale"; Flags: uninsdeletevalue

; And we also need some registry keys for aqbanking
Root: HKLM; Subkey: "Software\Aqbanking"; ValueType: none; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\Aqbanking\Paths"; ValueType: none; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\Aqbanking\Paths"; ValueType: string; ValueName: "providerdir"; ValueData: "{app}\lib\aqbanking\plugins\@-aqbanking_so_effective-@\providers"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\Aqbanking\Paths"; ValueType: string; ValueName: "bankinfodir"; ValueData: "{app}\lib\aqbanking\plugins\@-aqbanking_so_effective-@\bankinfo"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\Aqbanking\Paths"; ValueType: string; ValueName: "importerdir"; ValueData: "{app}\lib\aqbanking\plugins\@-aqbanking_so_effective-@\imexporters"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\Aqbanking\Paths"; ValueType: string; ValueName: "wizarddir"; ValueData: "{app}\lib\aqbanking\plugins\@-aqbanking_so_effective-@\wizards"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\Aqbanking\Paths"; ValueType: string; ValueName: "pkgdatadir"; ValueData: "{app}\share\aqbanking"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\Aqbanking\Paths"; ValueType: string; ValueName: "sysconfdir"; ValueData: "{app}\etc"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\Aqbanking\Paths"; ValueType: string; ValueName: "localedir"; ValueData: "{app}\share\locale"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\AqBanking\Paths"; ValueType: string; ValueName: "xmldatadir"; ValueData: "{app}\share\aqhbci\xml"; Flags: uninsdeletevalue
Root: HKLM; Subkey: "Software\AqBanking\Paths"; ValueType: string; ValueName: "cfgmoduledir"; ValueData: "{app}\lib\aqbanking\plugins\@-aqbanking_so_effective-@\frontends\qbanking\cfgmodules"; Flags: uninsdeletevalue


; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Delete the created config script on uninstall
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[UninstallDelete]
Type: files; Name: "{app}\bin\guile.cmd"
Type: files; Name: "{app}\etc\gnucash\environment"
Type: files; Name: "{app}\share\guile\1.6\slibcat"
Type: filesandordirs; Name: "{app}\share\guile"
Type: filesandordirs; Name: "{app}\etc\gconf"
Type: dirifempty; Name: "{app}\etc\gnucash"
Type: dirifempty; Name: "{app}\etc"

; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Perform some additional actions in code that can't be done
; by the installer by default. The code snippets below hook
; into the installer code at specific events. See
; http://www.jrsoftware.org/ishelp/index.php?topic=scriptintro
; for more information on iss scription and a syntax reference.
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[Code]
var
  PrevInstDetectedPage : TOutputMsgWizardPage;
  PrevAppName, PrevUninstallString : String;
  PrevVersionMajor, PrevVersionMinor, PrevVersionMicro : Cardinal;
  Uninstallrequired : Boolean;

// -----------------------------------------------------------
// Sometimes it's not possible to install a newer version of
// GnuCash over an older one on Windows. This is mostly the
// case when libraries are moved around in the newer version.
// The code below will detect an existing GnuCash installation
// and will remove it (if the user accepts) before installing
// the version the user has selected.
// -----------------------------------------------------------

{ Lookup the registry information on a previous installation }
procedure GetPrevInstallInfo();
var
  sUnInstPath, sAppVersionPath: String;
  rootKey : Integer;
begin
  sAppVersionPath := 'Software\GnuCash\Version';
  sUnInstPath := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\GnuCash_is1';

  PrevAppName := '';
  PrevUninstallString := '';
  PrevVersionMajor := 0;
  PrevVersionMinor := 0;
  PrevVersionMicro := 0;

  if RegKeyExists(HKLM, sUnInstPath) then
    rootKey := HKLM
  else
    rootKey := HKCU;

  RegQueryStringValue(rootKey, sUnInstPath, 'UninstallString', PrevUninstallString);
  RegQueryStringValue(rootKey, sUnInstPath, 'DisplayName', PrevAppName);
  RegQueryDwordValue(rootKey, sAppVersionPath, 'VersionMajor', PrevVersionMajor);
  RegQueryDwordValue(rootKey, sAppVersionPath, 'VersionMinor', PrevVersionMinor);
  RegQueryDwordValue(rootKey, sAppVersionPath, 'VersionMicro', PrevVersionMicro);
end;

{ Check if there is another GnuCash currently installed                }
{ and whether we can simply install over it or have to remove it first }
{ Versions are considered 'incompatible' if the major or minor         }
{ version components are different                                     }
procedure CheckUninstallRequired();
begin
  UninstallRequired := True;
  GetPrevInstallInfo;

  if (PrevUninstallString = '') then
    UninstallRequired := False
  else if (PrevVersionMajor = @GNUCASH_MAJOR_VERSION@) and (PrevVersionMinor = @GNUCASH_MINOR_VERSION@) then
    UninstallRequired := False;
end;

{ Uninstall the current installation }
function UnInstallOldVersion(): Integer;
var
  sUnInstallString: String;
  iResultCode: Integer;
begin
// Return Values:
// 1 - uninstall string is empty
// 2 - error executing the UnInstallString
// 3 - successfully executed the UnInstallString

  // default return value
  Result := 0;

  if PrevUninstallString <> '' then begin
    sUnInstallString := RemoveQuotes(PrevUninstallString);
    if Exec(sUnInstallString, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then
      Result := 3
    else
      Result := 2;
  end else
    Result := 1;
end;

function GetPrevAppName(Param: String): String;
begin
  Result := PrevAppName;
end;

{ Setup a page to display if a previous (incompatible) GnuCash installation is found }
procedure InitializeWizard;
begin
  CheckUninstallRequired;
  PrevInstDetectedPage := CreateOutputMsgPage(wpReady,
    ExpandConstant('{cm:AIWP_Title}'),
    ExpandConstant('{cm:AIWP_Description,{code:GetPrevAppName}}'),
    ExpandConstant('{cm:AIWP_Message,{code:GetPrevAppName}}'));
end;

{ Determine whether the previous installation page should be displayed or not }
function ShouldSkipPage(PageID: Integer): Boolean;
begin
  Result := False
  if (PageID = PrevInstDetectedPage.ID) and (not UninstallRequired) then
    Result := True;
end;

{ If a previous (incompatible) installation is present start the installation }
{ process with deleting this old installation }
procedure CurStepChanged(CurStep: TSetupStep);
begin
  if (CurStep=ssInstall) and (UninstallRequired) then
    UnInstallOldVersion();
end;

// ------------------------------------------------------------
// The GnuCash environment file contains paths that have to be
// adapted at install time. The code below does that.
// ------------------------------------------------------------
function MingwBacksl(const S: String): String;
begin
  { Modify the path name S so that it can be used by MinGW }
  if Length(ExtractFileDrive(S)) = 0 then
    Result := S
  else begin
    Result := '/'+S;
    StringChange(Result, ':\', '\');
  end;
  StringChange(Result, '\', '/');
end;

procedure MyAfterInstallConfig();
var
  FileName, FileString, appdir, libdir, pkglibdir, pkgdatadir: String;
  Res: Boolean;
begin

  { Get the installation-specific paths }
  appdir := ExpandConstant('{app}');
  pkgdatadir := appdir + '\share\gnucash';

  { Create the guile.cmd file; #10 is the linefeed character and #13 CR }

  FileName := appdir + '\bin\guile.cmd' ;
  FileString := 'set GUILE_LOAD_PATH=' + pkgdatadir + '\guile-modules;' + pkgdatadir + '\scm;' + appdir + '\share\guile\1.6;%GUILE_LOAD_PATH%'#13#10 ;
  FileString := FileString + 'start guile.exe %*'#13#10 ;

  { Save the final file }

  Res := SaveStringToFile(FileName, FileString, False);
  if Res = False then
    MsgBox('Error on saving '+FileName+' for completing the installation', mbInformation, MB_OK);

end;

function BackslashPath(const S: String): String;
begin
  { Convert c:\soft to c:/soft }
  Result := S;
  StringChange(Result, '\', '/');
end;

procedure MyAfterInstallEnvironment();
var
  EnvFile, EtcDir: String;
  iLineCounter, iSize : Integer;
  EnvStringList: TArrayOfString;
  Res: Boolean;
begin
  { Make some Windows-only changes to the etc/@PACKAGE@/environment file }
  { If you make any changes here, you should probably also change the equivalent sections }
  { in packaging/win32/install.sh }
  { A new line is stared with #13#10 - #10 is the linefeed character and #13 CR }

  { Get the installation-specific paths }
  EnvFile := ExpandConstant(CurrentFileName);
  EtcDir := ExtractFileDir(EnvFile); 

  { Load the current contents of the environment file }
  Res := LoadStringsFromFile(EnvFile, EnvStringList);
  if Res = False then
    MsgBox('Error on reading ' + EnvFile + ' for completing the installation', mbInformation, MB_OK);

  iSize := GetArrayLength(EnvStringList);
  for iLineCounter := 0 to iSize-1 do
    begin
      { Adapt GUILE_LOAD_PATH parameter }
      if (Pos('GUILE_LOAD_PATH', EnvStringList[iLineCounter]) = 1) then
        StringChangeEx(EnvStringList[iLineCounter], '{GUILE_LOAD_PATH}', '{GNC_HOME}/share/guile/1.6;{GUILE_LOAD_PATH}', True);
      { Adapt GNC_DBD_DIR parameter }
      if (Pos('GNC_DBD_DIR', EnvStringList[iLineCounter]) > 0) then
        EnvStringList[iLineCounter] := 'GNC_DBD_DIR={GNC_HOME}/lib/dbd';
    end;

  { Save the final file }
  Res := ForceDirectories(EtcDir);
  if Res = False then
    MsgBox('Error on creating ' + EtcDir + ' for completing the installation', mbInformation, MB_OK);

  Res := SaveStringsToFile(EnvFile, EnvStringList, False);
  if Res = False then
    MsgBox('Error on saving ' + EnvFile + ' for completing the installation', mbInformation, MB_OK);
end;

[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl"
Name: "de"; MessagesFile: "compiler:Languages\German.isl"; InfoAfterFile: "@prefix@\share\@PACKAGE@\doc\README-de.win32-bin.txt"
Name: "el"; MessagesFile: "@prefix@\share\@PACKAGE@\Greek-4-5.1.11.isl"
Name: "fr"; MessagesFile: "compiler:Languages\French.isl"; InfoAfterFile: "@prefix@\share\@PACKAGE@\doc\README-fr.win32-bin.txt"
Name: "it"; MessagesFile: "compiler:Languages\Italian.isl"; InfoAfterFile: "@prefix@\share\@PACKAGE@\doc\README-it.win32-bin.txt"
Name: "ja"; MessagesFile: "@prefix@\share\@PACKAGE@\Japanese-5-5.1.11.isl"
Name: "lv"; MessagesFile: "@prefix@\share\@PACKAGE@\Latvian-1-5.1.11.isl"; InfoAfterFile: "@prefix@\share\@PACKAGE@\doc\README-lv.win32-bin.txt"
Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl"; InfoAfterFile: "@prefix@\share\@PACKAGE@\doc\README-nl.win32-bin.txt"
Name: "pt_BR"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"
Name: "zh_CN"; MessagesFile: "@prefix@\share\@PACKAGE@\ChineseSimp-12-5.1.11.isl"; InfoAfterFile: "@prefix@\share\@PACKAGE@\doc\README-zh_CN.win32-bin.txt"

;; The following language files are available as well, in alphabetical
;; order: Basque, BrazilianPortuguese, Catalan, Czech, Danish, Dutch,
;; Finnish, Hungarian, Italian, Norwegian, Polish, Portuguese,
;; Russian, Slovak, Slovenian, Spanish

; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; These are only for improved text messages
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[Messages]

[CustomMessages]
; *** "Select Components" wizard page
FullInstall=Full installation
CustomInstall=Custom installation
CreateDesktopIcon=Create a &desktop icon
CreateMenuLink=Create a start menu link
RunPrg=Run GnuCash now
AdditionalIcons=Create these icons:
StatusMsgFirewall=Installing Windows firewall rules...
; *** "Another install" wizard page
; %1 in the following messages will be replaced with the application name and version, like "GnuCash 2.3.15"
AIWP_Title=Another installation has been found
AIWP_Description=%1 is currently installed on this computer
AIWP_Message=This earlier installation has to be removed before continuing.%n%nIf you don't want that, click Cancel now to abort the current installation.%n%nClick Next to remove %1 and continue with the installation.%n%nNote: Only the program will be removed, not your financial data.

MainFiles=GnuCash Program
TranslFiles=Translation Files
TemplFiles=Account Template Files

IconComment_GnuCash=GnuCash Free Finance Manager
IconName_README=Show README
IconComment_README=Show the README file
IconFilename_README=README.win32-bin.txt
IconName_FAQ=FAQ (Online)
IconName_Bugzilla=Report a Bug (Online)
IconName_InstallFQ=Install Online Price Retrieval
IconComment_InstallFQ=Install the necessary perl module Finance-Quote for online retrieval of prices.  Requires ActivePerl 5.8 or 5.10
IconName_Theme=Select Theme
IconName_Uninstall=Uninstall GnuCash
IconComment_Uninstall=Uninstall the Finance Manager GnuCash

;; List of Code pages, used in gnucash.cmd
LanguageCodePage=1252
de.LanguageCodePage=1252
el.LanguageCodePage=1253
fr.LanguageCodePage=1252
it.LanguageCodePage=1252
ja.LanguageCodePage=932
nl.LanguageCodePage=1252
pt_BR.LanguageCodePage=1252
zh_CN.LanguageCodePage=936

;; ;;;;;;;;;;;;;;;;;;;;
;; German translation

de.FullInstall=Komplett-Installation
de.CustomInstall=Benutzerdefiniert
de.CreateDesktopIcon=Ein Icon auf dem Desktop erstellen
de.CreateMenuLink=Eine Verknüpfung im Startmenü erstellen
de.RunPrg=GnuCash jetzt starten
de.AdditionalIcons=Folgende Icons erstellen:
de.StatusMsgFirewall=Ausnahmen für Windows-Firewall installieren...

de.MainFiles=GnuCash Hauptprogramm
de.TranslFiles=Deutsche Übersetzung
de.TemplFiles=Beispiel-Kontenrahmen

de.IconComment_GnuCash=GnuCash OpenSource-Finanzverwaltung
de.IconName_README=README anzeigen
de.IconComment_README=Die Informationsdatei (README) anzeigen
de.IconFilename_README=README-de.win32-bin.txt
de.IconName_FAQ=Häufige Fragen (online, engl.)
de.IconName_Bugzilla=Fehlerbericht einsenden (online, engl.)
de.IconName_InstallFQ=Online Kursabruf installieren
de.IconComment_InstallFQ=Das zusätzliche Modul Finance-Quote installieren, um online Aktien- und Devisenkurse abrufen zu können.  Dazu ist das Programm ActivePerl 5.8 oder 5.10 erforderlich.
de.IconName_Uninstall=Deinstallieren von GnuCash
de.IconComment_Uninstall=Die OpenSource-Finanzverwaltung GnuCash wieder deinstallieren und vom Computer löschen


;; ;;;;;;;;;;;;;;;;;;;
;; Greek translation

el.FullInstall=Πλήρης εγκατάσταση
el.CustomInstall=Προσαρμοσμένη εγκατάσταση
el.CreateDesktopIcon=Δημιουργία εικονιδίου στην επιφάνεια εργασίας
el.CreateMenuLink=Προσθήκη στο μενού Έναρξη
el.RunPrg=Εκτέλεση του GnuCash τώρα
el.AdditionalIcons=Δημιουργία εικονιδίων:
el.StatusMsgFirewall=Εγκατάσταση κανόνων για το τοίχος προστασίας των Windows...

el.MainFiles=Πρόγραμμα GnuCash
el.TranslFiles=Αρχεία μετάφρασεων
el.TemplFiles=Αρχεία με πρότυπα λογαριασμών

el.IconComment_GnuCash=GnuCash πρόγραμμα διαχ. οικονομικών
el.IconName_README=Εμφάνιση του README
el.IconComment_README=Εμφάνιση του αρχείου README
el.IconFilename_README=README.win32-bin.txt
el.IconName_FAQ=Συχνές ερωτήσεις (Online)
el.IconName_Bugzilla=Αναφορά σφάλματος (Online)
el.IconName_InstallFQ=Εγκατάσταση λήψης τιμών (online)
el.IconComment_InstallFQ=Εγκατάσταση του perl module Finance-Quote για λήψη τιμών online.  Απαιτεί ActivePerl 5.8/5.10
el.IconName_Uninstall=Απεγκατάσταση GnuCash
el.IconComment_Uninstall=Απεγκατάσταση του διαχειριστή οικονομικών GnuCash


;; ;;;;;;;;;;;;;;;;;;;;
;; French translation

fr.FullInstall=Installation complète
fr.CustomInstall=Installation personnalisée
fr.CreateDesktopIcon=Créer un icône sur le bureau
fr.CreateMenuLink=Créer un lien dans le menu de démarrage
fr.RunPrg=Démarrer GnuCash maintenant
fr.AdditionalIcons=Créer les icônes suivants:
fr.StatusMsgFirewall=Installation des règles de pare-feu de Windows

fr.MainFiles=Programme GnuCash
fr.TranslFiles=Traduction française
fr.TemplFiles=Modèle de plan comptable

fr.IconComment_GnuCash=GnuCash, le gestionnaire financier OpenSource
fr.IconName_README=Afficher le LISEZMOI
fr.IconComment_README=Afficher le fichier LISEZMOI
fr.IconFilename_README=README-fr.win32-bin.txt
fr.IconName_FAQ=FAQ (En ligne, en anglais)
fr.IconName_Bugzilla=Envoyer un rapport d'erreur (En ligne, en anglais)
fr.IconName_InstallFQ=Installer les quotations en ligne
fr.IconComment_InstallFQ=Installation du module Finance-Quote requis pour le téléchargement du cours des devises et actions. Le programme ActivePerl 5.8 ou 5.10 est aussi requis
fr.IconName_Uninstall=Dé-installer GnuCash
fr.IconComment_Uninstall=Désinstalle le gestionnaire financier GnuCash


;; ;;;;;;;;;;;;;;;;;;;;;
;; Italian translation

; *** Pagina di "Selezione dei componenti" 
it.FullInstall=Installazione completa
it.CustomInstall=Installazione personalizzata
it.CreateDesktopIcon=Crea un'icona sul desktop
it.CreateMenuLink=Crea un collegamento nel menu "Start"
it.RunPrg=Avvia GnuCash
it.AdditionalIcons=Crea queste icone:
it.StatusMsgFirewall=Installazione delle regole per il firewall di Windows...
; *** Pagina di "Altra installazione"
; nel messaggio seguente la stringa %1 sarà sostituita dal nome e dalla versione dell'applicazione, ad esempio "GnuCash 2.3.15"
it.AIWP_Title=È stata trovata un'altra installazione
it.AIWP_Description=%1 è installato in questo computer
it.AIWP_Message=Questa precedente installazione deve essere rimossa prima di continuare.%n%nSe non si intende rimuoverla, fare clic su «Annulla» per terminare l'installazione.%n%nFare invece clic su «Avanti» per rimuovere %1 e continuare con l'installazione.%n%nNota: verrà rimosso solo il programma, non i propri dati finanziari.

it.MainFiles=File del programma GnuCash
it.TranslFiles=Traduzione Italiana
it.TemplFiles=Modelli di strutture dei conti

it.IconComment_GnuCash=GnuCash: gestore di finanze libero
it.IconName_README=Mostra il file LEGGIMI
it.IconComment_README=Mostra il file LEGGIMI
it.IconFilename_README=README-it.win32-bin.txt
it.IconName_FAQ=FAQ (online, in Inglese)
it.IconName_Bugzilla=Segnalare un bug (online, in Inglese)
it.IconName_InstallFQ=Installa la funzione di ricerca delle quotazioni online
it.IconComment_InstallFQ=Installa il modulo di perl Finance-Quote necessario per ricevere le quotazioni online. Richiede ActivePerl 5.8 o 5.10
it.IconName_Theme=Selezione del tema
it.IconName_Uninstall=Disinstalla GnuCash
it.IconComment_Uninstall=Disinstalla il programma di gestione delle finanze GnuCash

;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Latvian translation

; *** "Select Components" wizard page
lv.FullInstall=Pilna uzstādīšana
lv.CustomInstall=Izvēles uzstādīšana
lv.CreateDesktopIcon=Izveidot &darbvirsmas ikonu
lv.CreateMenuLink=Izveidot starta izvēlnes saiti
lv.RunPrg=Palaist GnuCash tagad
lv.AdditionalIcons=Izveidot sekojošas ikonas:
lv.StatusMsgFirewall=Uzstāda Windows ugunssienas likumus...

; *** "Another install" wizard page
; %1 in the following messages will be replaced with the application name and version, like "GnuCash 2.3.15"
lv.AIWP_Title=Ir atrasta cita programmas versija
lv.AIWP_Description=Uz šī datora jau ir uzstādīt %1 versija
lv.AIWP_Message=Pirms turpināt, ir nepieciešams noņemt iepriekš uzstādīto versiju.%n%nJa nevēlaties to darīt, spiediet Atcelt pogu, un šī uzstādīšana tiks atcelta.%n%nSpiediet Turpināt, lai noņemtu %1 un turpinātu jaunās versijas uzstādīšanu.%n%nNote: Tiks noņemta tikai iepriekšējās programmas versija. Jūsu finanšu dati aiztikti netiks.

lv.MainFiles=GnuCash Programma
lv.TranslFiles=Tulkojumu faili
lv.TemplFiles=Kontu sagatavju faili

lv.IconComment_GnuCash=GnuCash grāmatvedības programma
lv.IconName_README=Parādīt README
lv.IconComment_README=Parāda README failu
lv.IconFilename_README=README-lv.win32-bin.txt
lv.IconName_FAQ=BUJ (tiešsaistē)
lv.IconName_Bugzilla=Ziņot par kļūdu (tiešsaistē)
lv.IconName_InstallFQ=Uzstādīt tiešsaistes kursu iegūšanu
lv.IconComment_InstallFQ=Uzstādīt nepieciešamos Perl moduļus valūtas kursu iegūšanai. Nepieciešams ActivePerl 5.8 vai 5.10
lv.IconName_Theme=Izvēlieties tēmu
lv.IconName_Uninstall=Noņemt GnuCash
lv.IconComment_Uninstall=Noņemt GnuCash grāmatvedības programmu


;; ;;;;;;;;;;;;;;;;;
;; Dutch translation

nl.FullInstall=Volledige installatie
nl.CustomInstall=Aangepaste installatiie
nl.CreateDesktopIcon=Een &bureablad icoon aanmaken
nl.CreateMenuLink=Een verwijzing in het start menu aanmaken
nl.RunPrg=GnuCash nu starten
nl.AdditionalIcons=Deze iconen aanmaken:
nl.StatusMsgFirewall=Windows firewall regels installeren...

nl.MainFiles=GnuCash Programma
nl.TranslFiles=Vertalingsbestanden
nl.TemplFiles=Grootboekrekeningssjablonen

nl.IconComment_GnuCash=GnuCash Vrij Financieel Beheer
nl.IconName_README=LEESMIJ Tonen
nl.IconComment_README=Het LEESMIJ bestand tonen
nl.IconFilename_README=README-nl.win32-bin.txt
nl.IconName_FAQ=FAQ (Online)
nl.IconName_Bugzilla=Een Bug Melden (Online)
nl.IconName_InstallFQ=Online Koersen Opvragen installeren
nl.IconComment_InstallFQ=De benodigde perl module Finance Quote om online koersen op te vragen installeren.  Hiervoor is ActivePerl 5.8 of 5.10 nodig.
nl.IconName_Uninstall=GnuCash verwijderen
nl.IconComment_Uninstall=Het financieel beheersprogramma GnuCash verwijderen

nl.AIWP_Title=Een eerdere installatie werd gevonden
nl.AIWP_Description=%1 is momenteel op deze computer geïnstalleerd
nl.AIWP_Message=Deze eerdere installatie moet verwijderd worden alvorens verder te gaan.%n%nAls je dat niet wil, klik dan nu op Annuleren om de huidige installatie af te breken.%n%nKlik op Volgende om %1 te verwijderen en de installatie te vervolgen.%n%nOpmerking: enkel het programma zal verwijderd worden, niet je financiële data.


;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Brazilian Portuguese translation

pt_BR.FullInstall=Instalação Completa
pt_BR.CustomInstall=Instalação Personalizada
pt_BR.CreateDesktopIcon=Criar um ícone na Área de Trabalho
pt_BR.CreateMenuLink=Criar um link no menu Iniciar
pt_BR.RunPrg=Executar o GnuCash agora
pt_BR.AdditionalIcons=Criar estes ícones:
pt_BR.StatusMsgFirewall=Instalando as regras de firewall do Windows...

pt_BR.MainFiles=Programa GnuCash
pt_BR.TranslFiles=Tradução
pt_BR.TemplFiles=Modelos de Conta

pt_BR.IconComment_GnuCash=Gerenciador Financeiro Livre GnuCash
pt_BR.IconName_README=Mostrar LEIA-ME (README)
pt_BR.IconComment_README=Mostra o arquivo LEIA-ME (README)
pt_BR.IconFilename_README=LEIA-ME.win32-bin.txt
pt_BR.IconName_FAQ=Perguntas Freqüentes (online, inglês)
pt_BR.IconName_Bugzilla=Relatar um erro (online, inglês)
pt_BR.IconName_InstallFQ=Instalar a Consulta de Preços Online
pt_BR.IconComment_InstallFQ=Instala o módulo perl Finance-Quote, necessário para a busca de preços online. Requer ActivePerl 5.8/5.10.
pt_BR.IconName_Uninstall=Desinstalar o GnuCash
pt_BR.IconComment_Uninstall=Desinstala o Gerenciador Financeiro GnuCash

;; ;;;;;;;;;;;;;;;;;
;; Simplified Chinese translation

zh_CN.FullInstall=完全安装
zh_CN.CustomInstall=自定义安装
zh_CN.CreateDesktopIcon=创建桌面图标
zh_CN.CreateMenuLink=创建开始菜单链接
zh_CN.RunPrg=现在开始运行 GnuCash
zh_CN.AdditionalIcons=创建这些图标
zh_CN.StatusMsgFirewall=正在安装 Windows 防火墙规则...

zh_CN.MainFiles=GnuCash 程序
zh_CN.TranslFiles=翻译文件
zh_CN.TemplFiles=会计科目模板文件

zh_CN.IconComment_GnuCash=GnuCash 免费财务管理
zh_CN.IconName_README=显示自述文件
zh_CN.IconComment_README=显示自述文件
zh_CN.IconFilename_README=README-zh_CN.win32-bin.txt
zh_CN.IconName_FAQ=常见问题 (在线)
zh_CN.IconName_Bugzilla=报告软件 Bug (在线)
zh_CN.IconName_InstallFQ=安装在线价格检索功能
zh_CN.IconComment_InstallFQ=安装在线价格检索所必需的 Perl Finance-Quote模块。需要 ActivePerl 5.8 或 5.10
zh_CN.IconName_Uninstall=卸载 GnuCash
zh_CN.IconComment_Uninstall=卸载财务管理软件 GnuCash



More information about the gnucash-devel mailing list