Просмотр исходного кода

Merge branch 'main' into files-extractarchive

Martijn Laan 3 месяцев назад
Родитель
Сommit
8fc5f81cbf

+ 37 - 34
Files/Languages/Corsican.isl

@@ -8,11 +8,12 @@
 ; Setup adds the periods automatically (appending a period would result in
 ; Setup adds the periods automatically (appending a period would result in
 ; two periods being displayed).
 ; two periods being displayed).
 
 
-; Created and maintained by Patriccollu di Santa Maria è Sichè, 2011-2024
+; Created and maintained by Patriccollu di Santa Maria è Sichè, 2011-2025
 ; Schedariu di traduzzione in lingua corsa da Patriccollu
 ; Schedariu di traduzzione in lingua corsa da Patriccollu
 ; E-mail: Patrick.Santa-Maria[at]LaPoste.Net
 ; E-mail: Patrick.Santa-Maria[at]LaPoste.Net
 ;
 ;
 ; Changes:
 ; Changes:
+; June 6h, 2025 - Update to version 6.4.3
 ; November 18th, 2024 - Update to version 6.4.0
 ; November 18th, 2024 - Update to version 6.4.0
 ; February 11th, 2024 - Changes to version 6.3.0
 ; February 11th, 2024 - Changes to version 6.3.0
 ; November 14th, 2020 - Changes to version 6.1.2
 ; November 14th, 2020 - Changes to version 6.1.2
@@ -26,10 +27,12 @@
 ; September 17th, 2011 - Creation for version 5.1.11
 ; September 17th, 2011 - Creation for version 5.1.11
 
 
 [LangOptions]
 [LangOptions]
-; The following three entries are very important. Be sure to read and 
+; The following three entries are very important. Be sure to read and
 ; understand the '[LangOptions] section' topic in the help file.
 ; understand the '[LangOptions] section' topic in the help file.
 LanguageName=Corsu
 LanguageName=Corsu
 LanguageID=$0483
 LanguageID=$0483
+; LanguageCodePage should always be set if possible, even if this file is Unicode
+; For English it's set to zero anyway because English only uses ASCII characters
 LanguageCodePage=1252
 LanguageCodePage=1252
 ; If the language you are translating to requires special font faces or
 ; If the language you are translating to requires special font faces or
 ; sizes, uncomment any of the following entries and change them accordingly.
 ; sizes, uncomment any of the following entries and change them accordingly.
@@ -63,22 +66,22 @@ HelpTextNote=
 
 
 ; *** Startup error messages
 ; *** Startup error messages
 LastErrorMessage=%1.%n%nSbagliu %2 : %3
 LastErrorMessage=%1.%n%nSbagliu %2 : %3
-SetupFileMissing=U schedariu %1 manca in u cartulare d’installazione. Ci vole à currege u penseru o ottene una nova copia di u prugramma.
-SetupFileCorrupt=I schedarii d’installazione sò alterati. Ci vole à ottene una nova copia di u prugramma.
-SetupFileCorruptOrWrongVer=I schedarii d’installazione sò alterati, o sò incumpatibule cù sta versione di l’assistente. Ci vole à currege u penseru o ottene una nova copia di u prugramma.
+SetupFileMissing=U schedariu %1 manca in u cartulare d’installazione. Ci vole à currege u penseru o ottene una copia nova di u prugramma.
+SetupFileCorrupt=I schedarii d’installazione sò alterati. Ci vole à ottene una copia nova di u prugramma.
+SetupFileCorruptOrWrongVer=I schedarii d’installazione sò alterati, o sò incumpatibule cù sta versione di l’assistente. Ci vole à currege u penseru o ottene una copia nova di u prugramma.
 InvalidParameter=Un parametru micca accettevule hè statu passatu in a linea di cumanda :%n%n%1
 InvalidParameter=Un parametru micca accettevule hè statu passatu in a linea di cumanda :%n%n%1
-SetupAlreadyRunning=L’assistente d’installazione hè dighjà in corsu.
-WindowsVersionNotSupported=Stu prugramma ùn pò micca funziunà cù a versione di Windows installata nant’à st’urdinatore.
+SetupAlreadyRunning=L’assistente d’installazione funziuneghja dighjà.
+WindowsVersionNotSupported=Stu prugramma ùn pò micca funziunà cù a versione Windows installata nant’à st’urdinatore.
 WindowsServicePackRequired=Stu prugramma richiede %1 Service Pack %2 o più recente.
 WindowsServicePackRequired=Stu prugramma richiede %1 Service Pack %2 o più recente.
 NotOnThisPlatform=Stu prugramma ùn funzionerà micca cù %1.
 NotOnThisPlatform=Stu prugramma ùn funzionerà micca cù %1.
 OnlyOnThisPlatform=Stu prugramma deve funzionà cù %1.
 OnlyOnThisPlatform=Stu prugramma deve funzionà cù %1.
-OnlyOnTheseArchitectures=Stu prugramma pò solu esse installatu nant’à e versioni di Windows fatte apposta per st’architetture di prucessore :%n%n%1
+OnlyOnTheseArchitectures=Stu prugramma pò solu esse installatu nant’à e versioni Windows fatte apposta per quell’architetture di prucessore :%n%n%1
 WinVersionTooLowError=Stu prugramma richiede %1 versione %2 o più recente.
 WinVersionTooLowError=Stu prugramma richiede %1 versione %2 o più recente.
 WinVersionTooHighError=Stu prugramma ùn pò micca esse installatu nant’à %1 version %2 o più recente.
 WinVersionTooHighError=Stu prugramma ùn pò micca esse installatu nant’à %1 version %2 o più recente.
-AdminPrivilegesRequired=Ci vole à esse cunnettu cum’è un amministratore quandu voi installate stu prugramma.
-PowerUserPrivilegesRequired=Ci vole à esse cunnettu cum’è un amministratore o fà parte di u gruppu « Utilizatori cù putere » quandu voi installate stu prugramma.
-SetupAppRunningError=L’assistente hà vistu chì %1 era dighjà in corsu.%n%nCi vole à chjode tutte e so finestre avà, eppò sceglie Vai per cuntinuà, o Abbandunà per compie.
-UninstallAppRunningError=A disinstallazione hà vistu chì %1 era dighjà in corsu.%n%nCi vole à chjode tutte e so finestre avà, eppò sceglie Vai per cuntinuà, o Abbandunà per compie.
+AdminPrivilegesRequired=Ci vole à esse cunnettu cum’è un amministratore per installà stu prugramma.
+PowerUserPrivilegesRequired=Ci vole à esse cunnettu cum’è un amministratore o fà parte di u gruppu « Utilizatori cù putere » per installà stu prugramma.
+SetupAppRunningError=L’assistente hà vistu chì %1 funziuneghja dighjà.%n%nCi vole à chjode tutte e so finestre avà, eppò sceglie Vai per cuntinuà, o Abbandunà per compie.
+UninstallAppRunningError=A disinstallazione hà vistu chì %1 funziuneghja dighjà.%n%nCi vole à chjode tutte e so finestre avà, eppò sceglie Vai per cuntinuà, o Abbandunà per compie.
 
 
 ; *** Startup questions
 ; *** Startup questions
 PrivilegesRequiredOverrideTitle=Selezziunà u modu d’installazione di l’assistente
 PrivilegesRequiredOverrideTitle=Selezziunà u modu d’installazione di l’assistente
@@ -92,7 +95,7 @@ PrivilegesRequiredOverrideCurrentUserRecommended=Installazione solu per &mè (ri
 
 
 ; *** Misc. errors
 ; *** Misc. errors
 ErrorCreatingDir=L’assistente ùn hà micca pussutu creà u cartulare « %1 »
 ErrorCreatingDir=L’assistente ùn hà micca pussutu creà u cartulare « %1 »
-ErrorTooManyFilesInDir=Impussibule di creà un schedariu in u cartulare « %1 » perchè ellu ne cuntene troppu
+ErrorTooManyFilesInDir=Impussibule di creà un schedariu in u cartulare « %1 » perchè ne cuntene troppu dighjà
 
 
 ; *** Setup common messages
 ; *** Setup common messages
 ExitSetupTitle=Compie l’assistente
 ExitSetupTitle=Compie l’assistente
@@ -114,9 +117,9 @@ ButtonYesToAll=Sì per &tutti
 ButtonNo=&Nò
 ButtonNo=&Nò
 ButtonNoToAll=Nò per t&utti
 ButtonNoToAll=Nò per t&utti
 ButtonFinish=&Piantà
 ButtonFinish=&Piantà
-ButtonBrowse=&Sfuglià…
-ButtonWizardBrowse=&Sfuglià…
-ButtonNewFolder=&Creà un novu cartulare
+ButtonBrowse=Na&vigà…
+ButtonWizardBrowse=&Navigà…
+ButtonNewFolder=&Creà un cartulare novu
 
 
 ; *** "Select Language" dialog messages
 ; *** "Select Language" dialog messages
 SelectLanguageTitle=Definisce a lingua di l’assistente
 SelectLanguageTitle=Definisce a lingua di l’assistente
@@ -125,7 +128,7 @@ SelectLanguageLabel=Selezziunà a lingua à impiegà per l’installazione.
 ; *** Common wizard text
 ; *** Common wizard text
 ClickNext=Sceglie Seguente per cuntinuà, o Abbandunà per compie l’assistente.
 ClickNext=Sceglie Seguente per cuntinuà, o Abbandunà per compie l’assistente.
 BeveledLabel=
 BeveledLabel=
-BrowseDialogTitle=Sfuglià u cartulare
+BrowseDialogTitle=Navigà nant’à u cartulare
 BrowseDialogLabel=Selezziunà un cartulare in a lista inghjò, eppò sceglie Vai.
 BrowseDialogLabel=Selezziunà un cartulare in a lista inghjò, eppò sceglie Vai.
 NewFolderName=Novu cartulare
 NewFolderName=Novu cartulare
 
 
@@ -167,7 +170,7 @@ UserInfoNameRequired=Ci vole à stampittà un nome.
 WizardSelectDir=Selezziunà u locu di destinazione
 WizardSelectDir=Selezziunà u locu di destinazione
 SelectDirDesc=Induve [name] deve esse installatu ?
 SelectDirDesc=Induve [name] deve esse installatu ?
 SelectDirLabel3=L’assistente installerà [name] in stu cartulare.
 SelectDirLabel3=L’assistente installerà [name] in stu cartulare.
-SelectDirBrowseLabel=Per cuntinuà, sceglie Seguente. S’è voi preferisce selezziunà un altru cartulare, sciglite Sfuglià.
+SelectDirBrowseLabel=Per cuntinuà, sciglite Seguente. S’è vo preferite selezziunà un altru cartulare, sciglite Navigà.
 DiskSpaceGBLabel=Hè richiestu omancu [gb] Go di spaziu liberu di discu.
 DiskSpaceGBLabel=Hè richiestu omancu [gb] Go di spaziu liberu di discu.
 DiskSpaceMBLabel=Hè richiestu omancu [mb] Mo di spaziu liberu di discu.
 DiskSpaceMBLabel=Hè richiestu omancu [mb] Mo di spaziu liberu di discu.
 CannotInstallToNetworkDrive=L’assistente ùn pò micca installà nant’à un discu di a reta.
 CannotInstallToNetworkDrive=L’assistente ùn pò micca installà nant’à un discu di a reta.
@@ -208,7 +211,7 @@ SelectTasksLabel2=Selezziunà i trattamenti addizziunali chì l’assistente dev
 WizardSelectProgramGroup=Selezzione di u cartulare di u listinu « Démarrer »
 WizardSelectProgramGroup=Selezzione di u cartulare di u listinu « Démarrer »
 SelectStartMenuFolderDesc=Induve l’assistente deve piazzà l’accurtatoghji di u prugramma ?
 SelectStartMenuFolderDesc=Induve l’assistente deve piazzà l’accurtatoghji di u prugramma ?
 SelectStartMenuFolderLabel3=L’assistente piazzerà l’accurtatoghji di u prugramma in stu cartulare di u listinu « Démarrer ».
 SelectStartMenuFolderLabel3=L’assistente piazzerà l’accurtatoghji di u prugramma in stu cartulare di u listinu « Démarrer ».
-SelectStartMenuFolderBrowseLabel=Per cuntinuà, sceglie Seguente. S’è voi preferisce selezziunà un altru cartulare, sciglite Sfuglià.
+SelectStartMenuFolderBrowseLabel=Per cuntinuà, sciglite Seguente. S’è vo preferite selezziunà un altru cartulare, sciglite Navigà.
 MustEnterGroupName=Ci vole à stampittà un nome di cartulare.
 MustEnterGroupName=Ci vole à stampittà un nome di cartulare.
 GroupNameTooLong=U nome di cartulare o u chjassu hè troppu longu.
 GroupNameTooLong=U nome di cartulare o u chjassu hè troppu longu.
 InvalidGroupName=U nome di cartulare ùn hè micca accettevule.
 InvalidGroupName=U nome di cartulare ùn hè micca accettevule.
@@ -249,14 +252,14 @@ ErrorExtractionFailed=Fiascu di l’estrazzione : %1
 ; *** "Preparing to Install" wizard page
 ; *** "Preparing to Install" wizard page
 WizardPreparing=Preparazione di l’installazione
 WizardPreparing=Preparazione di l’installazione
 PreparingDesc=L’assistente appronta l’installazione di [name] nant’à l’urdinatore.
 PreparingDesc=L’assistente appronta l’installazione di [name] nant’à l’urdinatore.
-PreviousInstallNotCompleted=L’installazione o a cacciatura di un prugramma precedente ùn s’hè micca compia bè. Ci vulerà à ridimarrà l’urdinatore per compie st’installazione.%n%nDopu, ci vulerà à rilancià l’assistente per compie l’installazione di [name].
+PreviousInstallNotCompleted=L’installazione o a cacciatura di un prugramma precedente ùn s’hè micca compia bè. Ci vulerà à rilancià l’urdinatore per compie st’installazione.%n%nDopu, ci vulerà à rilancià l’assistente per compie l’installazione di [name].
 CannotContinue=L’assistente ùn pò micca cuntinuà. Sceglie Abbandunà per esce.
 CannotContinue=L’assistente ùn pò micca cuntinuà. Sceglie Abbandunà per esce.
 ApplicationsFound=St’appiecazioni impieganu schedarii chì devenu esse mudificati da l’assistente. Hè ricumandatu di permette à l’assistente di chjode autumaticamente st’appiecazioni.
 ApplicationsFound=St’appiecazioni impieganu schedarii chì devenu esse mudificati da l’assistente. Hè ricumandatu di permette à l’assistente di chjode autumaticamente st’appiecazioni.
 ApplicationsFound2=St’appiecazioni impieganu schedarii chì devenu esse mudificati da l’assistente. Hè ricumandatu di permette à l’assistente di chjode autumaticamente st’appiecazioni. S’è l’installazione si compie bè, l’assistente pruverà di rilancià l’appiecazioni.
 ApplicationsFound2=St’appiecazioni impieganu schedarii chì devenu esse mudificati da l’assistente. Hè ricumandatu di permette à l’assistente di chjode autumaticamente st’appiecazioni. S’è l’installazione si compie bè, l’assistente pruverà di rilancià l’appiecazioni.
 CloseApplications=Chjode &autumaticamente l’appiecazioni
 CloseApplications=Chjode &autumaticamente l’appiecazioni
 DontCloseApplications=Ùn chjode &micca l’appiecazioni
 DontCloseApplications=Ùn chjode &micca l’appiecazioni
 ErrorCloseApplications=L’assistente ùn hà micca pussutu chjode autumaticamente tutti l’appiecazioni. Nanzu di cuntinuà, hè ricumandatu di chjode tutti l’appiecazioni chì impieganu schedarii chì devenu esse mudificati da l’assistente durante l’installazione.
 ErrorCloseApplications=L’assistente ùn hà micca pussutu chjode autumaticamente tutti l’appiecazioni. Nanzu di cuntinuà, hè ricumandatu di chjode tutti l’appiecazioni chì impieganu schedarii chì devenu esse mudificati da l’assistente durante l’installazione.
-PrepareToInstallNeedsRestart=L’assistente deve ridimarrà l’urdinatore. Dopu, ci vulerà à rilancià l’assistente per compie l’installazione di [name].%n%nVulete ridimarrà l’urdinatore subitu ?
+PrepareToInstallNeedsRestart=L’assistente deve rilancià l’urdinatore. Dopu, ci vulerà à rilancià l’assistente per compie l’installazione di [name].%n%nVulete rilancià l’urdinatore subitu ?
 
 
 ; *** "Installing" wizard page
 ; *** "Installing" wizard page
 WizardInstalling=Installazione in corsu
 WizardInstalling=Installazione in corsu
@@ -267,11 +270,11 @@ FinishedHeadingLabel=Fine di l’installazione di [name]
 FinishedLabelNoIcons=L’assistente hà compiu l’installazione di [name] nant’à l’urdinatore.
 FinishedLabelNoIcons=L’assistente hà compiu l’installazione di [name] nant’à l’urdinatore.
 FinishedLabel=L’assistente hà compiu l’installazione di [name] nant’à l’urdinatore. L’appiecazione pò esse lanciata selezziunendu l’accurtatoghji installati.
 FinishedLabel=L’assistente hà compiu l’installazione di [name] nant’à l’urdinatore. L’appiecazione pò esse lanciata selezziunendu l’accurtatoghji installati.
 ClickFinish=Sceglie Piantà per compie l’assistente.
 ClickFinish=Sceglie Piantà per compie l’assistente.
-FinishedRestartLabel=Per compie l’installazione di [name], l’assistente deve ridimarrà l’urdinatore. Vulete ridimarrà l’urdinatore subitu ?
-FinishedRestartMessage=Per compie l’installazione di [name], l’assistente deve ridimarrà l’urdinatore.%n%nVulete ridimarrà l’urdinatore subitu ?
+FinishedRestartLabel=Per compie l’installazione di [name], l’assistente deve rilancià l’urdinatore. Vulete rilancià l’urdinatore subitu ?
+FinishedRestartMessage=Per compie l’installazione di [name], l’assistente deve rilancià l’urdinatore.%n%nVulete rilancià l’urdinatore subitu ?
 ShowReadmeCheck=Iè, vogliu leghje u schedariu LISEZMOI o README
 ShowReadmeCheck=Iè, vogliu leghje u schedariu LISEZMOI o README
-YesRadio=&Iè, ridimarrà l’urdinatore subitu
-NoRadio=I&nnò, preferiscu ridimarrà l’urdinatore dopu
+YesRadio=&Iè, rilancià l’urdinatore subitu
+NoRadio=I&nnò, preferiscu rilancià l’urdinatore dopu
 ; used for example as 'Run MyProg.exe'
 ; used for example as 'Run MyProg.exe'
 RunEntryExec=Eseguisce %1
 RunEntryExec=Eseguisce %1
 ; used for example as 'View Readme.txt'
 ; used for example as 'View Readme.txt'
@@ -279,9 +282,9 @@ RunEntryShellExec=Fighjà %1
 
 
 ; *** "Setup Needs the Next Disk" stuff
 ; *** "Setup Needs the Next Disk" stuff
 ChangeDiskTitle=L’assistente hà bisogniu di u discu seguente
 ChangeDiskTitle=L’assistente hà bisogniu di u discu seguente
-SelectDiskLabel2=Mette u discu %1 è sceglie Vai.%n%nS’è i schedarii di stu discu si trovanu in un’altru cartulare chè quellu affissatu inghjò, stampittà u chjassu currettu o sceglie Sfuglià.
+SelectDiskLabel2=Mittite u discu %1 è sciglite Vai.%n%nS’è i schedarii di stu discu si trovanu in un’altru cartulare chè quellu affissatu inghjò, stampittate u chjassu currettu o sciglite Navigà.
 PathLabel=&Chjassu :
 PathLabel=&Chjassu :
-FileNotInDir2=U schedariu « %1 » ùn si truva micca in « %2 ». Mette u discu curretu o sceglie un’altru cartulare.
+FileNotInDir2=U schedariu « %1 » ùn si trova micca in « %2 ». Mittite u discu curretu o sciglite un’altru cartulare.
 SelectDirectoryLabel=Ci vole à specificà induve si trova u discu seguente.
 SelectDirectoryLabel=Ci vole à specificà induve si trova u discu seguente.
 
 
 ; *** Installation phase messages
 ; *** Installation phase messages
@@ -322,8 +325,8 @@ ErrorIniEntry=Sbagliu durante a creazione di l’elementu INI in u schedariu «
 ; *** File copying errors
 ; *** File copying errors
 FileAbortRetryIgnoreSkipNotRecommended=Ignurà stu &schedariu (micca ricumandatu)
 FileAbortRetryIgnoreSkipNotRecommended=Ignurà stu &schedariu (micca ricumandatu)
 FileAbortRetryIgnoreIgnoreNotRecommended=&Ignurà u sbagliu è cuntinuà (micca ricumandatu)
 FileAbortRetryIgnoreIgnoreNotRecommended=&Ignurà u sbagliu è cuntinuà (micca ricumandatu)
-SourceIsCorrupted=U schedariu d’urigine hè alteratu
-SourceDoesntExist=U schedariu d’urigine « %1 » ùn esiste micca
+SourceIsCorrupted=U schedariu d’origine hè alteratu
+SourceDoesntExist=U schedariu d’origine « %1 » ùn esiste micca
 ExistingFileReadOnly2=U schedariu esistente hà un attributu di lettura-sola è ùn pò micca esse rimpiazzatu.
 ExistingFileReadOnly2=U schedariu esistente hà un attributu di lettura-sola è ùn pò micca esse rimpiazzatu.
 ExistingFileReadOnlyRetry=&Caccià l’attributu di lettura-sola è pruvà torna
 ExistingFileReadOnlyRetry=&Caccià l’attributu di lettura-sola è pruvà torna
 ExistingFileReadOnlyKeepExisting=Cunservà u schedariu &esistente
 ExistingFileReadOnlyKeepExisting=Cunservà u schedariu &esistente
@@ -340,10 +343,10 @@ ExistingFileNewerKeepExisting=Cunservà u schedariu &esistente (ricumandatu)
 ExistingFileNewerOverwriteOrKeepAll=&Fà què per l’altri cunflitti
 ExistingFileNewerOverwriteOrKeepAll=&Fà què per l’altri cunflitti
 ErrorChangingAttr=Un sbagliu hè accadutu pruvendu di cambià l’attributi di u schedariu esistente :
 ErrorChangingAttr=Un sbagliu hè accadutu pruvendu di cambià l’attributi di u schedariu esistente :
 ErrorCreatingTemp=Un sbagliu hè accadutu pruvendu di creà un schedariu in u cartulare di destinazione :
 ErrorCreatingTemp=Un sbagliu hè accadutu pruvendu di creà un schedariu in u cartulare di destinazione :
-ErrorReadingSource=Un sbagliu hè accadutu pruvendu di leghje u schedariu d’urigine :
+ErrorReadingSource=Un sbagliu hè accadutu pruvendu di leghje u schedariu d’origine :
 ErrorCopying=Un sbagliu hè accadutu pruvendu di cupià un schedariu :
 ErrorCopying=Un sbagliu hè accadutu pruvendu di cupià un schedariu :
 ErrorReplacingExistingFile=Un sbagliu hè accadutu pruvendu di rimpiazzà u schedariu esistente :
 ErrorReplacingExistingFile=Un sbagliu hè accadutu pruvendu di rimpiazzà u schedariu esistente :
-ErrorRestartReplace=Fiascu di Rimpiazzamentu di schedariu à u riavviu di l’urdinatore :
+ErrorRestartReplace=Fiascu di Rimpiazzamentu di schedariu à u rilanciu di l’urdinatore :
 ErrorRenamingTemp=Un sbagliu hè accadutu pruvendu di rinuminà un schedariu in u cartulare di destinazione :
 ErrorRenamingTemp=Un sbagliu hè accadutu pruvendu di rinuminà un schedariu in u cartulare di destinazione :
 ErrorRegisterServer=Impussibule d’arregistrà a bibliuteca DLL/OCX : %1
 ErrorRegisterServer=Impussibule d’arregistrà a bibliuteca DLL/OCX : %1
 ErrorRegSvr32Failed=Fiascu di RegSvr32 cù codice d’esciuta %1
 ErrorRegSvr32Failed=Fiascu di RegSvr32 cù codice d’esciuta %1
@@ -361,7 +364,7 @@ UninstallDisplayNameMarkCurrentUser=L’utilizatore attuale
 
 
 ; *** Post-installation errors
 ; *** Post-installation errors
 ErrorOpeningReadme=Un sbagliu hè accadutu pruvendu d’apre u schedariu LISEZMOI o README.
 ErrorOpeningReadme=Un sbagliu hè accadutu pruvendu d’apre u schedariu LISEZMOI o README.
-ErrorRestartingComputer=L’assistente ùn hà micca pussutu ridimarrà l’urdinatore. Ci vole à fallu manualmente.
+ErrorRestartingComputer=L’assistente ùn hà micca pussutu rilancià l’urdinatore. Ci vole à fallu manualmente.
 
 
 ; *** Uninstaller messages
 ; *** Uninstaller messages
 UninstallNotFound=U schedariu « %1 » ùn esiste micca. Impussibule di disinstallà.
 UninstallNotFound=U schedariu « %1 » ùn esiste micca. Impussibule di disinstallà.
@@ -369,12 +372,12 @@ UninstallOpenError=U schedariu « %1 » ùn pò micca esse apertu. Impussibule
 UninstallUnsupportedVer=U ghjurnale di disinstallazione « %1 » hè in una forma scunnisciuta da sta versione di l’assistente di disinstallazione. Impussibule di disinstallà
 UninstallUnsupportedVer=U ghjurnale di disinstallazione « %1 » hè in una forma scunnisciuta da sta versione di l’assistente di disinstallazione. Impussibule di disinstallà
 UninstallUnknownEntry=Un elementu scunisciutu (%1) hè statu trovu in u ghjurnale di disinstallazione
 UninstallUnknownEntry=Un elementu scunisciutu (%1) hè statu trovu in u ghjurnale di disinstallazione
 ConfirmUninstall=Da veru, vulete caccià cumpletamente %1 è tutti i so cumpunenti ?
 ConfirmUninstall=Da veru, vulete caccià cumpletamente %1 è tutti i so cumpunenti ?
-UninstallOnlyOnWin64=St’appiecazione pò esse disinstallata solu cù una versione 64-bit di Windows.
+UninstallOnlyOnWin64=St’appiecazione pò esse disinstallata solu nant’à una versione Windows 64-bit.
 OnlyAdminCanUninstall=St’appiecazione pò esse disinstallata solu da un utilizatore di u gruppu d’amministratori.
 OnlyAdminCanUninstall=St’appiecazione pò esse disinstallata solu da un utilizatore di u gruppu d’amministratori.
 UninstallStatusLabel=Ci vole à aspettà chì %1 sia cacciatu di l’urdinatore.
 UninstallStatusLabel=Ci vole à aspettà chì %1 sia cacciatu di l’urdinatore.
 UninstalledAll=%1 hè statu cacciatu bè da l’urdinatore.
 UninstalledAll=%1 hè statu cacciatu bè da l’urdinatore.
 UninstalledMost=A disinstallazione di %1 hè compia.%n%nQualchì elementu ùn pò micca esse cacciatu. Ci vole à cacciallu manualmente.
 UninstalledMost=A disinstallazione di %1 hè compia.%n%nQualchì elementu ùn pò micca esse cacciatu. Ci vole à cacciallu manualmente.
-UninstalledAndNeedsRestart=Per compie a disinstallazione di %1, l’urdinatore deve esse ridimarratu.%n%nVulete ridimarrà l’urdinatore subitu ?
+UninstalledAndNeedsRestart=Per compie a disinstallazione di %1, l’urdinatore deve esse ridimarratu.%n%nVulete rilancià l’urdinatore subitu ?
 UninstallDataCorrupted=U schedariu « %1 » hè alteratu. Impussibule di disinstallà
 UninstallDataCorrupted=U schedariu « %1 » hè alteratu. Impussibule di disinstallà
 
 
 ; *** Uninstallation phase messages
 ; *** Uninstallation phase messages

+ 2 - 2
ISHelp/isx.xml

@@ -411,13 +411,13 @@ Source: "B\MYFILE.TXT"; DestDir: "{app}"; Check: DirExists(ExpandConstant('{app}
 
 
 <p>All check functions must have a Boolean return value. If a check function (or the boolean expression) returns True, the entry is processed otherwise it's skipped.</p>
 <p>All check functions must have a Boolean return value. If a check function (or the boolean expression) returns True, the entry is processed otherwise it's skipped.</p>
 
 
-<p>Setup might call each check function several times, even if there's only one entry that uses the check function. If your function performs a lengthy piece of code, you can optimize it by performing the code only once and 'caching' the result in a global variable.</p>
+<p>For all sections except [Types] and [Components], Setup might call each check function several times, even if there's only one entry that uses the check function. If your function performs a lengthy piece of code, you can optimize it by performing the code only once and 'caching' the result in a global variable.</p>
 
 
 <p>A check function isn't called if Setup already determined the entry shouldn't be processed.</p>
 <p>A check function isn't called if Setup already determined the entry shouldn't be processed.</p>
 
 
 <p>A check function for a [Files] section entry using a wildcard but not the <tt>external</tt> flag is called once per file matching the wildcard, instead of once per entry. Use <tt>CurrentFileName</tt> to check for which file the function is called.</p>
 <p>A check function for a [Files] section entry using a wildcard but not the <tt>external</tt> flag is called once per file matching the wildcard, instead of once per entry. Use <tt>CurrentFileName</tt> to check for which file the function is called.</p>
 
 
-<p>Here is an example of a <tt>[Code]</tt> section containing the check functions used above. Function <tt>DirExists</tt> is a <link topic="scriptfunctions">support function</link> and therefore not included in this [Code] section.</p>
+<p>Here is an example of a [Code] section containing the check functions used above. Function <tt>DirExists</tt> is a <link topic="scriptfunctions">support function</link> and therefore not included in this [Code] section.</p>
 
 
 <precode>
 <precode>
 [Code]
 [Code]

+ 52 - 25
Projects/ISSigTool.dpr

@@ -13,6 +13,7 @@ uses
   SafeDLLPath in '..\Components\SafeDLLPath.pas',
   SafeDLLPath in '..\Components\SafeDLLPath.pas',
   SysUtils,
   SysUtils,
   Classes,
   Classes,
+  Windows,
   PathFunc in '..\Components\PathFunc.pas',
   PathFunc in '..\Components\PathFunc.pas',
   SHA256 in '..\Components\SHA256.pas',
   SHA256 in '..\Components\SHA256.pas',
   ECDSA in '..\Components\ECDSA.pas',
   ECDSA in '..\Components\ECDSA.pas',
@@ -36,6 +37,9 @@ var
     Quiet: Boolean;
     Quiet: Boolean;
   end;
   end;
 
 
+  StdOutHandle, StdErrHandle: THandle;
+  StdOutHandleIsConsole, StdErrHandleIsConsole: Boolean;
+
 procedure RaiseFatalError(const Msg: String);
 procedure RaiseFatalError(const Msg: String);
 begin
 begin
   raise Exception.Create(Msg);
   raise Exception.Create(Msg);
@@ -46,12 +50,30 @@ begin
   raise Exception.CreateFmt(Msg, Args);
   raise Exception.CreateFmt(Msg, Args);
 end;
 end;
 
 
-procedure Print(const S: String; const IncludeNewLine: Boolean = True);
+procedure Print(const Handle: THandle; const HandleIsConsole: Boolean;
+  S: String; const IncludeNewLine: Boolean); overload;
 begin
 begin
   if IncludeNewLine then
   if IncludeNewLine then
-    Writeln(S)
-  else
-    Write(S);
+    S := S + #13#10;
+
+  if HandleIsConsole then begin
+    var CharsWritten: DWORD;
+    WriteConsole(Handle, @S[1], Length(S), CharsWritten, nil);
+  end else begin
+    var Utf8S := Utf8Encode(S);
+    var BytesWritten: DWORD;
+    WriteFile(Handle, Utf8S[1], Length(Utf8S), BytesWritten, nil);
+  end;
+end;
+
+procedure Print(const S: String; const IncludeNewLine: Boolean = True); overload;
+begin
+  Print(StdOutHandle, StdOutHandleIsConsole, S, IncludeNewLine);
+end;
+
+procedure PrintErrOutput(const S: String; const IncludeNewLine: Boolean = True); overload;
+begin
+  Print(StdErrHandle, StdErrHandleIsConsole, S, IncludeNewLine);
 end;
 end;
 
 
 procedure PrintUnlessQuiet(const S: String;
 procedure PrintUnlessQuiet(const S: String;
@@ -153,13 +175,13 @@ begin
     being re-signed but its contents haven't changed, we attempt to load and
     being re-signed but its contents haven't changed, we attempt to load and
     verify the existing .issig file. If the key, file size, and file hash are
     verify the existing .issig file. If the key, file size, and file hash are
     all up to date, then we skip creation of a new .issig file. }
     all up to date, then we skip creation of a new .issig file. }
-  var ExistingFileSizeValue: Int64;
-  var ExistingFileHashValue: TSHA256Digest;
-  var Verified := ISSigVerifySignature(AFilename, [AKey],
-    ExistingFileSizeValue, ExistingFileHashValue, nil, nil, nil);
+  var ExistingFileSize: Int64;
+  var ExistingFileHash: TSHA256Digest;
+  const Verified = ISSigVerifySignature(AFilename, [AKey],
+    ExistingFileSize, ExistingFileHash, nil, nil, nil);
 
 
-  if Verified and (FileSize = ExistingFileSizeValue) and
-     SHA256DigestsEqual(FileHash, ExistingFileHashValue) then begin
+  if Verified and (FileSize = ExistingFileSize) and
+     SHA256DigestsEqual(FileHash, ExistingFileHash) then begin
     PrintUnlessQuiet('signature unchanged');
     PrintUnlessQuiet('signature unchanged');
     Exit;
     Exit;
   end;
   end;
@@ -248,20 +270,20 @@ end;
 
 
 procedure ShowUsage;
 procedure ShowUsage;
 begin
 begin
-  Writeln(ErrOutput, 'Inno Setup Signature Tool');
-  Writeln(ErrOutput, 'Copyright (C) 1997-2025 Jordan Russell. All rights reserved.');
-  Writeln(ErrOutput, 'Portions Copyright (C) 2000-2025 Martijn Laan. All rights reserved.');
-  Writeln(ErrOutput, 'https://www.innosetup.com');
-  Writeln(ErrOutput, '');
-  Writeln(ErrOutput, 'Usage:  issigtool [options] sign <filenames>');
-  Writeln(ErrOutput, 'or to verify:  issigtool [options] verify <filenames>');
-  Writeln(ErrOutput, 'or to export the public key:  issigtool [options] export-public-key <filename>');
-  Writeln(ErrOutput, 'or to generate a new private key:  issigtool [options] generate-private-key');
-  Writeln(ErrOutput, 'Options:');
-  Writeln(ErrOutput, '  --key-file=<filename> Specifies the private key filename (overrides ISSIGTOOL_KEY_FILE environment variable)');
-  Writeln(ErrOutput, '  --quiet, -q           Suppresses status messages that are normally printed to standard output');
-  Writeln(ErrOutput, '  --help, -?            Prints this information');
-  Writeln(ErrOutput, '');
+  PrintErrOutput('Inno Setup Signature Tool');
+  PrintErrOutput('Copyright (C) 1997-2025 Jordan Russell. All rights reserved.');
+  PrintErrOutput('Portions Copyright (C) 2000-2025 Martijn Laan. All rights reserved.');
+  PrintErrOutput('https://www.innosetup.com');
+  PrintErrOutput('');
+  PrintErrOutput('Usage:  issigtool [options] sign <filenames>');
+  PrintErrOutput('or to verify:  issigtool [options] verify <filenames>');
+  PrintErrOutput('or to export the public key:  issigtool [options] export-public-key <filename>');
+  PrintErrOutput('or to generate a new private key:  issigtool [options] generate-private-key');
+  PrintErrOutput('Options:');
+  PrintErrOutput('  --key-file=<filename> Specifies the private key filename (overrides ISSIGTOOL_KEY_FILE environment variable)');
+  PrintErrOutput('  --quiet, -q           Suppresses status messages that are normally printed to standard output');
+  PrintErrOutput('  --help, -?            Prints this information');
+  PrintErrOutput('');
 end;
 end;
 
 
 procedure Go;
 procedure Go;
@@ -336,10 +358,15 @@ begin
 end;
 end;
 
 
 begin
 begin
+  StdOutHandle := GetStdHandle(STD_OUTPUT_HANDLE);
+  StdErrHandle := GetStdHandle(STD_ERROR_HANDLE);
+  var Mode: DWORD;
+  StdOutHandleIsConsole := GetConsoleMode(StdOutHandle, Mode);
+  StdErrHandleIsConsole := GetConsoleMode(StdErrHandle, Mode);
   try
   try
     Go;
     Go;
   except
   except
-    Writeln(ErrOutput, 'issigtool fatal error: ', GetExceptMessage);
+    PrintErrOutput('issigtool fatal error: ' + GetExceptMessage);
     Halt(2);
     Halt(2);
   end;
   end;
 end.
 end.

+ 6 - 6
Projects/Src/Compiler.SetupCompiler.pas

@@ -3483,7 +3483,7 @@ begin
 
 
       { Common parameters }
       { Common parameters }
       ProcessExpressionParameter(ParamCommonLanguages, Values[paLanguages].Data, EvalLanguageIdentifier, False, Languages);
       ProcessExpressionParameter(ParamCommonLanguages, Values[paLanguages].Data, EvalLanguageIdentifier, False, Languages);
-      Check := Values[paCheck].Data;
+      CheckOnce := Values[paCheck].Data;
       ProcessMinVersionParameter(Values[paMinVersion], MinVersion);
       ProcessMinVersionParameter(Values[paMinVersion], MinVersion);
       ProcessOnlyBelowVersionParameter(Values[paOnlyBelowVersion], OnlyBelowVersion);
       ProcessOnlyBelowVersionParameter(Values[paOnlyBelowVersion], OnlyBelowVersion);
 
 
@@ -3491,7 +3491,7 @@ begin
         AbortCompile(SCompilerTypesCustomTypeAlreadyDefined);
         AbortCompile(SCompilerTypesCustomTypeAlreadyDefined);
 
 
       CheckConst(Description, MinVersion, []);
       CheckConst(Description, MinVersion, []);
-      CheckCheckOrInstall(ParamCommonCheck, Check, cikCheck);
+      CheckCheckOrInstall(ParamCommonCheck, CheckOnce, cikCheck);
     end;
     end;
   except
   except
     SEFreeRec(NewTypeEntry, SetupTypeEntryStrings, SetupTypeEntryAnsiStrings);
     SEFreeRec(NewTypeEntry, SetupTypeEntryStrings, SetupTypeEntryAnsiStrings);
@@ -3594,7 +3594,7 @@ begin
 
 
       { Common parameters }
       { Common parameters }
       ProcessExpressionParameter(ParamCommonLanguages, Values[paLanguages].Data, EvalLanguageIdentifier, False, Languages);
       ProcessExpressionParameter(ParamCommonLanguages, Values[paLanguages].Data, EvalLanguageIdentifier, False, Languages);
-      Check := Values[paCheck].Data;
+      CheckOnce := Values[paCheck].Data;
       ProcessMinVersionParameter(Values[paMinVersion], MinVersion);
       ProcessMinVersionParameter(Values[paMinVersion], MinVersion);
       ProcessOnlyBelowVersionParameter(Values[paOnlyBelowVersion], OnlyBelowVersion);
       ProcessOnlyBelowVersionParameter(Values[paOnlyBelowVersion], OnlyBelowVersion);
 
 
@@ -3603,7 +3603,7 @@ begin
           [ParamCommonFlags, 'dontinheritcheck', 'exclusive']);
           [ParamCommonFlags, 'dontinheritcheck', 'exclusive']);
 
 
       CheckConst(Description, MinVersion, []);
       CheckConst(Description, MinVersion, []);
-      CheckCheckOrInstall(ParamCommonCheck, Check, cikCheck);
+      CheckCheckOrInstall(ParamCommonCheck, CheckOnce, cikCheck);
     end;
     end;
   except
   except
     SEFreeRec(NewComponentEntry, SetupComponentEntryStrings, SetupComponentEntryAnsiStrings);
     SEFreeRec(NewComponentEntry, SetupComponentEntryStrings, SetupComponentEntryAnsiStrings);
@@ -6120,7 +6120,7 @@ end;
 
 
 
 
 const
 const
-  DefaultIsl = {$IFDEF DEBUG} 'compiler:..\..\Files\Default.isl' {$ELSE} 'Default.isl' {$ENDIF};
+  DefaultIsl = {$IFDEF DEBUG} 'compiler:..\..\Files\Default.isl' {$ELSE} 'compiler:Default.isl' {$ENDIF};
 
 
 procedure TSetupCompiler.ReadDefaultMessages;
 procedure TSetupCompiler.ReadDefaultMessages;
 var
 var
@@ -7425,7 +7425,7 @@ var
     NewTypeEntry := AllocMem(SizeOf(TSetupTypeEntry));
     NewTypeEntry := AllocMem(SizeOf(TSetupTypeEntry));
     NewTypeEntry.Name := Name;
     NewTypeEntry.Name := Name;
     NewTypeEntry.Description := ''; //set at runtime
     NewTypeEntry.Description := ''; //set at runtime
-    NewTypeEntry.Check := '';
+    NewTypeEntry.CheckOnce := '';
     NewTypeEntry.MinVersion := SetupHeader.MinVersion;
     NewTypeEntry.MinVersion := SetupHeader.MinVersion;
     NewTypeEntry.OnlyBelowVersion := SetupHeader.OnlyBelowVersion;
     NewTypeEntry.OnlyBelowVersion := SetupHeader.OnlyBelowVersion;
     NewTypeEntry.Options := Options;
     NewTypeEntry.Options := Options;

+ 2 - 2
Projects/Src/Setup.MainFunc.pas

@@ -3430,7 +3430,7 @@ begin
   { Remove types that fail their 'languages' or 'check'. Can't do this earlier
   { Remove types that fail their 'languages' or 'check'. Can't do this earlier
     because the InitializeSetup call above can't be done earlier. }
     because the InitializeSetup call above can't be done earlier. }
   for I := 0 to Entries[seType].Count-1 do begin
   for I := 0 to Entries[seType].Count-1 do begin
-    if not ShouldProcessEntry(nil, nil, '', '', PSetupTypeEntry(Entries[seType][I]).Languages, PSetupTypeEntry(Entries[seType][I]).Check) then begin
+    if not ShouldProcessEntry(nil, nil, '', '', PSetupTypeEntry(Entries[seType][I]).Languages, PSetupTypeEntry(Entries[seType][I]).CheckOnce) then begin
       SEFreeRec(Entries[seType][I], EntryStrings[seType], EntryAnsiStrings[seType]);
       SEFreeRec(Entries[seType][I], EntryStrings[seType], EntryAnsiStrings[seType]);
       { Don't delete it yet so that the entries can be processed sequentially }
       { Don't delete it yet so that the entries can be processed sequentially }
       Entries[seType][I] := nil;
       Entries[seType][I] := nil;
@@ -3446,7 +3446,7 @@ begin
     ComponentEntry := PSetupComponentEntry(Entries[seComponent][I]);
     ComponentEntry := PSetupComponentEntry(Entries[seComponent][I]);
     if (ComponentEntry.Level <= NextAllowedLevel) and
     if (ComponentEntry.Level <= NextAllowedLevel) and
        (InstallOnThisVersion(ComponentEntry.MinVersion, ComponentEntry.OnlyBelowVersion) = irInstall) and
        (InstallOnThisVersion(ComponentEntry.MinVersion, ComponentEntry.OnlyBelowVersion) = irInstall) and
-       ShouldProcessEntry(nil, nil, '', '', ComponentEntry.Languages, ComponentEntry.Check) then begin
+       ShouldProcessEntry(nil, nil, '', '', ComponentEntry.Languages, ComponentEntry.CheckOnce) then begin
       NextAllowedLevel := ComponentEntry.Level + 1;
       NextAllowedLevel := ComponentEntry.Level + 1;
       LastShownComponentEntry := ComponentEntry;
       LastShownComponentEntry := ComponentEntry;
     end
     end

+ 2 - 2
Projects/Src/Shared.Struct.pas

@@ -168,7 +168,7 @@ type
   TSetupTypeType = (ttUser, ttDefaultFull, ttDefaultCompact, ttDefaultCustom);
   TSetupTypeType = (ttUser, ttDefaultFull, ttDefaultCompact, ttDefaultCustom);
   PSetupTypeEntry = ^TSetupTypeEntry;
   PSetupTypeEntry = ^TSetupTypeEntry;
   TSetupTypeEntry = packed record
   TSetupTypeEntry = packed record
-    Name, Description, Languages, Check: String;
+    Name, Description, Languages, CheckOnce: String;
     MinVersion, OnlyBelowVersion: TSetupVersionData;
     MinVersion, OnlyBelowVersion: TSetupVersionData;
     Options: TSetupTypeOptions;
     Options: TSetupTypeOptions;
     Typ: TSetupTypeType;
     Typ: TSetupTypeType;
@@ -181,7 +181,7 @@ const
 type
 type
   PSetupComponentEntry = ^TSetupComponentEntry;
   PSetupComponentEntry = ^TSetupComponentEntry;
   TSetupComponentEntry = packed record
   TSetupComponentEntry = packed record
-    Name, Description, Types, Languages, Check: String;
+    Name, Description, Types, Languages, CheckOnce: String;
     ExtraDiskSpaceRequired: Integer64;
     ExtraDiskSpaceRequired: Integer64;
     Level: Integer;
     Level: Integer;
     Used: Boolean;
     Used: Boolean;

+ 1 - 1
whatsnew.htm

@@ -169,7 +169,7 @@ issigtool --key-file="MyKey.ispublickey" verify "MyProg.dll"</pre>
     </ul>
     </ul>
   </li>
   </li>
   <li>Pascal Scripting change: Added new <tt>GetSHA256OfStream</tt> support function.</li>
   <li>Pascal Scripting change: Added new <tt>GetSHA256OfStream</tt> support function.</li>
-  <li>All translations which still had a UTF-8 BOM had their BOM removed. Using a BOM in UTF-8 encoded files is not needed and not recommended since Inno Stup 6.3.0.</li>
+  <li>All translations which still had a UTF-8 BOM had their BOM removed. Using a BOM in UTF-8 encoded files is not needed and not recommended since Inno Setup 6.3.0.</li>
   <li>Documentation improvements.</li>
   <li>Documentation improvements.</li>
   <li>Minor tweaks.</li>
   <li>Minor tweaks.</li>
 </ul>
 </ul>