pakfire.cgi: Add upgrade confirmation page.

Message ID 20250330170535.3466192-1-stephen@firemypi.org
State Staged
Commit cfad72e8f13d471f88f76dd74e8c6938c0546601
Headers
Series pakfire.cgi: Add upgrade confirmation page. |

Commit Message

Stephen Cuka March 30, 2025, 5:05 p.m. UTC
  - Add upgrade confirmation page.  Clicking on the 'Upgrade' button on the main page displays the confirmation page.

 - The upgrade confirmation page runs 'pakfire update' then displays all available core and add-on upgrades for confirmation.  If there are any 'ERROR' messages from the 'pakfire update', they are displayed on the confirmation page.

 - Changed translations for consistency:
    - 'pakfire updates' -> 'pakfire upgrades'
    - 'pakfire confirm updates' -> 'pakfire confirm upgrades'

Signed-off-by: Stephen Cuka <stephen@firemypi.org>
---
 doc/language_issues.de   |  2 --
 doc/language_issues.en   |  4 ++-
 doc/language_issues.es   |  2 --
 doc/language_issues.fr   |  2 --
 doc/language_issues.it   |  2 --
 doc/language_issues.nl   |  2 --
 doc/language_issues.pl   |  2 --
 doc/language_issues.ru   |  2 --
 doc/language_issues.tr   |  2 --
 html/cgi-bin/pakfire.cgi | 69 ++++++++++++++++++++++++++++++++++++++--
 langs/de/cgi-bin/de.pl   |  4 +--
 langs/en/cgi-bin/en.pl   |  4 +--
 langs/es/cgi-bin/es.pl   |  4 +--
 langs/fr/cgi-bin/fr.pl   |  4 +--
 langs/it/cgi-bin/it.pl   |  4 +--
 langs/nl/cgi-bin/nl.pl   |  4 +--
 langs/pl/cgi-bin/pl.pl   |  4 +--
 langs/ru/cgi-bin/ru.pl   |  4 +--
 langs/tr/cgi-bin/tr.pl   |  4 +--
 19 files changed, 88 insertions(+), 37 deletions(-)
  

Patch

diff --git a/doc/language_issues.de b/doc/language_issues.de
index c5db3dc64..9062d6a83 100644
--- a/doc/language_issues.de
+++ b/doc/language_issues.de
@@ -631,7 +631,6 @@  WARNING: translation string unused: ovpn_processprioVH
 WARNING: translation string unused: ovpnstatus log
 WARNING: translation string unused: ovpnsys log
 WARNING: translation string unused: package failed to install
-WARNING: translation string unused: pakfire confirm updates
 WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire dependecies found
 WARNING: translation string unused: pakfire health check
@@ -639,7 +638,6 @@  WARNING: translation string unused: pakfire no dependecies found
 WARNING: translation string unused: pakfire register
 WARNING: translation string unused: pakfire resolvdeps wait
 WARNING: translation string unused: pakfire update daily
-WARNING: translation string unused: pakfire updating
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
 WARNING: translation string unused: passwords must be at least 6 characters in length
diff --git a/doc/language_issues.en b/doc/language_issues.en
index 5e4221153..9c7023b32 100644
--- a/doc/language_issues.en
+++ b/doc/language_issues.en
@@ -1452,6 +1452,7 @@  WARNING: untranslated string: pakfire ago = ago.
 WARNING: untranslated string: pakfire already busy = Pakfire is already performing a task. Please try again later.
 WARNING: untranslated string: pakfire available addons = Available Add-ons:
 WARNING: untranslated string: pakfire configuration = Pakfire Configuration
+WARNING: untranslated string: pakfire confirm upgrades = Do you want to install all upgrades?
 WARNING: untranslated string: pakfire core update level = Core-Update-Level
 WARNING: untranslated string: pakfire finished = Pakfire has finished! Returning...
 WARNING: untranslated string: pakfire finished error = Pakfire has finished! Errors occurred, please check the log output before proceeding.
@@ -1475,8 +1476,9 @@  WARNING: untranslated string: pakfire tree unstable = Unstable
 WARNING: untranslated string: pakfire uninstall all = Do you want to uninstall the following packages?
 WARNING: untranslated string: pakfire uninstall description = Please select one or more add-ons to remove.
 WARNING: untranslated string: pakfire uninstall package = You want to uninstall the following packages: 
-WARNING: untranslated string: pakfire updates = Available Updates
+WARNING: untranslated string: pakfire updating = Updating pakfire database, please wait...
 WARNING: untranslated string: pakfire upgrade = Upgrade
+WARNING: untranslated string: pakfire upgrades = Available Upgrades:
 WARNING: untranslated string: pakfire working = Pakfire is working ... Please wait until all operations have completed successfully.
 WARNING: untranslated string: pap or chap = PAP or CHAP
 WARNING: untranslated string: parentclass = Parentclass
diff --git a/doc/language_issues.es b/doc/language_issues.es
index de7a79bc4..ca820ec36 100644
--- a/doc/language_issues.es
+++ b/doc/language_issues.es
@@ -686,7 +686,6 @@  WARNING: translation string unused: ovpn_processprioVH
 WARNING: translation string unused: ovpnstatus log
 WARNING: translation string unused: ovpnsys log
 WARNING: translation string unused: package failed to install
-WARNING: translation string unused: pakfire confirm updates
 WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire dependencies found
 WARNING: translation string unused: pakfire health check
@@ -694,7 +693,6 @@  WARNING: translation string unused: pakfire no dependencies found
 WARNING: translation string unused: pakfire register
 WARNING: translation string unused: pakfire resolvedeps wait
 WARNING: translation string unused: pakfire update daily
-WARNING: translation string unused: pakfire updating
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
 WARNING: translation string unused: passwords must be at least 6 characters in length
diff --git a/doc/language_issues.fr b/doc/language_issues.fr
index 41cda1988..a9193f89e 100644
--- a/doc/language_issues.fr
+++ b/doc/language_issues.fr
@@ -661,7 +661,6 @@  WARNING: translation string unused: ovpn_processprioVH
 WARNING: translation string unused: ovpnstatus log
 WARNING: translation string unused: ovpnsys log
 WARNING: translation string unused: package failed to install
-WARNING: translation string unused: pakfire confirm updates
 WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire dependencies found
 WARNING: translation string unused: pakfire health check
@@ -669,7 +668,6 @@  WARNING: translation string unused: pakfire no dependencies found
 WARNING: translation string unused: pakfire register
 WARNING: translation string unused: pakfire resolvedeps wait
 WARNING: translation string unused: pakfire update daily
-WARNING: translation string unused: pakfire updating
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
 WARNING: translation string unused: passwords must be at least 6 characters in length
diff --git a/doc/language_issues.it b/doc/language_issues.it
index 80ef72027..81aec2f6f 100644
--- a/doc/language_issues.it
+++ b/doc/language_issues.it
@@ -615,7 +615,6 @@  WARNING: translation string unused: ovpn_processprioVH
 WARNING: translation string unused: ovpnstatus log
 WARNING: translation string unused: ovpnsys log
 WARNING: translation string unused: package failed to install
-WARNING: translation string unused: pakfire confirm updates
 WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire dependencies found
 WARNING: translation string unused: pakfire health check
@@ -623,7 +622,6 @@  WARNING: translation string unused: pakfire no dependencies found
 WARNING: translation string unused: pakfire register
 WARNING: translation string unused: pakfire resolvedeps wait
 WARNING: translation string unused: pakfire update daily
-WARNING: translation string unused: pakfire updating
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
 WARNING: translation string unused: passwords must be at least 6 characters in length
diff --git a/doc/language_issues.nl b/doc/language_issues.nl
index 43b16a94f..83c1170a1 100644
--- a/doc/language_issues.nl
+++ b/doc/language_issues.nl
@@ -614,7 +614,6 @@  WARNING: translation string unused: ovpn_processprioVH
 WARNING: translation string unused: ovpnstatus log
 WARNING: translation string unused: ovpnsys log
 WARNING: translation string unused: package failed to install
-WARNING: translation string unused: pakfire confirm updates
 WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire dependencies found
 WARNING: translation string unused: pakfire health check
@@ -622,7 +621,6 @@  WARNING: translation string unused: pakfire no dependencies found
 WARNING: translation string unused: pakfire register
 WARNING: translation string unused: pakfire resolvedeps wait
 WARNING: translation string unused: pakfire update daily
-WARNING: translation string unused: pakfire updating
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
 WARNING: translation string unused: passwords must be at least 6 characters in length
diff --git a/doc/language_issues.pl b/doc/language_issues.pl
index e59af3996..aaeff1809 100644
--- a/doc/language_issues.pl
+++ b/doc/language_issues.pl
@@ -539,7 +539,6 @@  WARNING: translation string unused: ovpn_processprioVH
 WARNING: translation string unused: ovpnstatus log
 WARNING: translation string unused: ovpnsys log
 WARNING: translation string unused: package failed to install
-WARNING: translation string unused: pakfire confirm updates
 WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire dependencies found
 WARNING: translation string unused: pakfire health check
@@ -547,7 +546,6 @@  WARNING: translation string unused: pakfire no dependencies found
 WARNING: translation string unused: pakfire register
 WARNING: translation string unused: pakfire resolvedeps wait
 WARNING: translation string unused: pakfire update daily
-WARNING: translation string unused: pakfire updating
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
 WARNING: translation string unused: passwords must be at least 6 characters in length
diff --git a/doc/language_issues.ru b/doc/language_issues.ru
index 371f38fa7..a6340e726 100644
--- a/doc/language_issues.ru
+++ b/doc/language_issues.ru
@@ -534,7 +534,6 @@  WARNING: translation string unused: ovpn_processprioVH
 WARNING: translation string unused: ovpnstatus log
 WARNING: translation string unused: ovpnsys log
 WARNING: translation string unused: package failed to install
-WARNING: translation string unused: pakfire confirm updates
 WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire dependencies found
 WARNING: translation string unused: pakfire health check
@@ -542,7 +541,6 @@  WARNING: translation string unused: pakfire no dependencies found
 WARNING: translation string unused: pakfire register
 WARNING: translation string unused: pakfire resolvedeps wait
 WARNING: translation string unused: pakfire update daily
-WARNING: translation string unused: pakfire updating
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
 WARNING: translation string unused: passwords must be at least 6 characters in length
diff --git a/doc/language_issues.tr b/doc/language_issues.tr
index fd624e9d6..f8a4f68a7 100644
--- a/doc/language_issues.tr
+++ b/doc/language_issues.tr
@@ -644,7 +644,6 @@  WARNING: translation string unused: ovpn_processprioVH
 WARNING: translation string unused: ovpnstatus log
 WARNING: translation string unused: ovpnsys log
 WARNING: translation string unused: package failed to install
-WARNING: translation string unused: pakfire confirm updates
 WARNING: translation string unused: pakfire core update auto
 WARNING: translation string unused: pakfire dependencies found
 WARNING: translation string unused: pakfire health check
@@ -652,7 +651,6 @@  WARNING: translation string unused: pakfire no dependencies found
 WARNING: translation string unused: pakfire register
 WARNING: translation string unused: pakfire resolvedeps wait
 WARNING: translation string unused: pakfire update daily
-WARNING: translation string unused: pakfire updating
 WARNING: translation string unused: password contains illegal characters
 WARNING: translation string unused: password crypting key
 WARNING: translation string unused: passwords must be at least 6 characters in length
diff --git a/html/cgi-bin/pakfire.cgi b/html/cgi-bin/pakfire.cgi
index 1cd39e411..6a0c7a0a0 100644
--- a/html/cgi-bin/pakfire.cgi
+++ b/html/cgi-bin/pakfire.cgi
@@ -131,7 +131,7 @@  if(($cgiparams{'ACTION'} ne '') && ($pagemode eq $PM_DEFAULT)) {
 	} elsif($cgiparams{'ACTION'} eq $Lang::tr{'pakfire refresh list'}) {
 		&General::system_background("/usr/local/bin/pakfire", "update", "--force", "--no-colors");
 		&_http_pagemode_redirect($PM_LOGREAD, 1);
-	} elsif($cgiparams{'ACTION'} eq $Lang::tr{'pakfire upgrade'}) {
+	} elsif(($cgiparams{'ACTION'} eq $Lang::tr{'pakfire upgrade'}) && ($cgiparams{'FORCE'} eq 'on')) {
 		&General::system_background("/usr/local/bin/pakfire", "upgrade", "-y", "--no-colors");
 		&_http_pagemode_redirect($PM_LOGREAD, 1);
 	} elsif($cgiparams{'ACTION'} eq $Lang::tr{'save'}) {
@@ -361,6 +361,71 @@  END
 	exit;
 }
 
+# Show Pakfire upgrades to be done and confirm
+# (_is_pakfire_busy status was checked before and can be omitted)
+if (($cgiparams{'ACTION'} eq $Lang::tr{'pakfire upgrade'}) && ($pagemode eq $PM_DEFAULT))
+{
+	&Header::openbox("100%", "center", $Lang::tr{'pakfire upgrade'});
+
+	print "$Lang::tr{'pakfire updating'}";
+	my @output = &General::system_output("/usr/local/bin/pakfire", "update", "--force", "--no-colors");
+	%pakfire_status = &Pakfire::status();
+	print "<br><br>";
+
+	if (grep(/ERROR/, @output))
+	{
+		print "<pre>";
+		foreach (@output)
+		{
+			if ($_ =~ /ERROR/)
+			{
+				print "$_";
+			}
+		}
+		print "</pre>";
+		print "<br>";
+	}
+
+	if ($pakfire_status{'CoreUpdateAvailable'} eq "yes")
+	{
+		print "$Lang::tr{'core update'} -- $pakfire_status{'CoreVersion'} -- $Lang::tr{'release'}: $pakfire_status{'Release'} -> $pakfire_status{'AvailableRelease'}<br>";
+	}
+
+	if ($pakfire_status{'PakUpdatesAvailable'} > 0)
+	{
+		my %upgradelist = &Pakfire::dblist("upgrade");
+		foreach my $pak (sort keys %upgradelist)
+		{
+			print "$Lang::tr{'pak update'}: $pak -- $Lang::tr{'version'}: $upgradelist{$pak}{'ProgVersion'} -> $upgradelist{$pak}{'AvailableProgVersion'} -- $Lang::tr{'release'}: $upgradelist{$pak}{'Release'} -> $upgradelist{$pak}{'AvailableRelease'}<br>";
+		}
+	}
+
+	print <<END;
+		<br>
+		<table style='width:100%'>
+			<tr>
+				<td>$Lang::tr{'pakfire confirm upgrades'}</td>
+			</tr>
+			<tr>
+				<td><br></td>
+			</tr>
+			<tr>
+				<td align='center'>
+				<form method='post' action='$ENV{'SCRIPT_NAME'}'>
+				<input type='hidden' name='FORCE' value='on' />
+				<input type='submit' name='ACTION' value='$Lang::tr{'pakfire upgrade'}'/>
+				<input type='submit' name='ACTION' value='$Lang::tr{'cancel'}'/>
+				</form>
+			</td>
+			</tr>
+		</table>
+END
+	&Header::closebox();
+	&Header::closebigbox();
+	&Header::closepage();
+	exit;
+}
+
 # Show Pakfire main page
 my %selected=();
 my %checked=();
@@ -390,7 +455,7 @@  END
 print <<END;
 		<tr>
 			<td class="heading">$Lang::tr{'pakfire system state'}:</td>
-			<td class="heading">$Lang::tr{'pakfire updates'}:</td>
+			<td class="heading">$Lang::tr{'pakfire upgrades'}</td>
 		</tr>
 
 		<tr>
diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl
index bb0c51f03..44e327ef0 100644
--- a/langs/de/cgi-bin/de.pl
+++ b/langs/de/cgi-bin/de.pl
@@ -2011,7 +2011,7 @@ 
 'pakfire already busy' => 'Pakfire führt bereits eine Aufgabe aus. Bitte versuchen Sie es später erneut.',
 'pakfire available addons' => 'Verfügbare Add-ons:',
 'pakfire configuration' => 'Pakfire Konfiguration',
-'pakfire confirm updates' => 'Möchten Sie alle Updates installieren?',
+'pakfire confirm upgrades' => 'Möchten Sie alle Upgrades installieren?',
 'pakfire core update auto' => 'Core- und Add-on-Updates automatisch installieren:',
 'pakfire core update level' => 'Core-Update-Level',
 'pakfire dependecies found' => 'Abhängigkeiten gefunden:',
@@ -2042,9 +2042,9 @@ 
 'pakfire uninstall description' => 'Bitte wählen Sie ein oder mehrere Add-Ons zum Entfernen aus.',
 'pakfire uninstall package' => 'Sie möchten folgende Pakete deinstallieren: ',
 'pakfire update daily' => 'Täglich nach Updates suchen:',
-'pakfire updates' => 'Verfügbare Updates',
 'pakfire updating' => 'Aktualisierung der pakfire Datenbank, bitte warten...',
 'pakfire upgrade' => 'Upgrade',
+'pakfire upgrades' => 'Verfügbare Upgrades:',
 'pakfire working' => 'Pakfire führt gerade eine Aufgabe aus... Bitte warten Sie, bis diese erfolgreich beendet wurde.',
 'pap or chap' => 'PAP oder CHAP',
 'parentclass' => 'Elternklasse',
diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl
index 9dccabf09..bf7ea0c3b 100644
--- a/langs/en/cgi-bin/en.pl
+++ b/langs/en/cgi-bin/en.pl
@@ -2077,7 +2077,7 @@ 
 'pakfire already busy' => 'Pakfire is already performing a task. Please try again later.',
 'pakfire available addons' => 'Available Add-ons:',
 'pakfire configuration' => 'Pakfire Configuration',
-'pakfire confirm updates' => 'Do you want to install all updates?',
+'pakfire confirm upgrades' => 'Do you want to install all upgrades?',
 'pakfire core update auto' => 'Install core and add-on updates automatically:',
 'pakfire core update level' => 'Core-Update-Level',
 'pakfire dependencies found' => 'Dependencies found:',
@@ -2108,9 +2108,9 @@ 
 'pakfire uninstall description' => 'Please select one or more add-ons to remove.',
 'pakfire uninstall package' => 'You want to uninstall the following packages: ',
 'pakfire update daily' => 'Search for updates daily:',
-'pakfire updates' => 'Available Updates',
 'pakfire updating' => 'Updating pakfire database, please wait...',
 'pakfire upgrade' => 'Upgrade',
+'pakfire upgrades' => 'Available Upgrades:',
 'pakfire working' => 'Pakfire is working ... Please wait until all operations have completed successfully.',
 'pap or chap' => 'PAP or CHAP',
 'parentclass' => 'Parentclass',
diff --git a/langs/es/cgi-bin/es.pl b/langs/es/cgi-bin/es.pl
index 4da08b480..5707132ce 100644
--- a/langs/es/cgi-bin/es.pl
+++ b/langs/es/cgi-bin/es.pl
@@ -2074,7 +2074,7 @@ 
 'pakfire already busy' => 'Pakfire ya está realizando una tarea. Por favor, inténtelo de nuevo más tarde.',
 'pakfire available addons' => 'Complementos disponibles:',
 'pakfire configuration' => 'Configuración de Pakfire',
-'pakfire confirm updates' => '¿Desea instalar todas las actualizaciones?',
+'pakfire confirm upgrades' => '¿Quieres instalar todas las actualizaciones?',
 'pakfire core update auto' => 'Instar actualizaciones principales y complementarias automáticamente:',
 'pakfire core update level' => 'Nivel de actualización del núcleo',
 'pakfire dependencies found' => 'Dependencias encontradas:',
@@ -2105,9 +2105,9 @@ 
 'pakfire uninstall description' => 'Seleccione uno o más complementos para eliminar.',
 'pakfire uninstall package' => 'Desea desinstalar los siguientes paquetes:',
 'pakfire update daily' => 'Buscar actualizaciones diariamente:',
-'pakfire updates' => 'Actualizaciones Disponibles',
 'pakfire updating' => 'Actualizando base de datos pakfire, por favor espere...',
 'pakfire upgrade' => 'Actualizar',
+'pakfire upgrades' => 'Actualizaciones Disponibles:',
 'pakfire working' => 'Pakfire está trabajando… Por favor espere hasta que todas las operaciones se hallan completado exitosamente.',
 'pap or chap' => 'PAP o CHAP',
 'parentclass' => 'Clase principal',
diff --git a/langs/fr/cgi-bin/fr.pl b/langs/fr/cgi-bin/fr.pl
index 9e457acd0..cf3db1eed 100644
--- a/langs/fr/cgi-bin/fr.pl
+++ b/langs/fr/cgi-bin/fr.pl
@@ -2072,7 +2072,7 @@ 
 'pakfire already busy' => 'Pakfire est déjà en train d\'effectuer une tâche. Veuillez réessayer plus tard.',
 'pakfire available addons' => 'Modules disponibles :',
 'pakfire configuration' => 'Configuration Pakfire',
-'pakfire confirm updates' => 'Voulez-vous installer toutes les mises à jour ?',
+'pakfire confirm upgrades' => 'Voulez-vous installer toutes les mises à niveau ?',
 'pakfire core update auto' => 'Installer automatiquement les mises à jour du noyau et des modules :',
 'pakfire core update level' => 'Version de mise à jour du noyau ',
 'pakfire dependencies found' => 'Dépendances trouvées :',
@@ -2103,9 +2103,9 @@ 
 'pakfire uninstall description' => 'Veuillez sélectionner un ou plusieurs modules complémentaires à supprimer.',
 'pakfire uninstall package' => 'Vous souhaitez désinstaller le(s) module(s) suivant(s) : ',
 'pakfire update daily' => 'Rechercher des mises à jour quotidiennes :',
-'pakfire updates' => 'Mises à jour Disponibles',
 'pakfire updating' => 'Mise à jour de la base de données pakfire, veuillez patienter...',
 'pakfire upgrade' => 'Améliorer',
+'pakfire upgrades' => 'Améliorations disponibles :',
 'pakfire working' => 'Pakfire est en cours de traitement... Veuillez attendre que tout soit terminé.',
 'pap or chap' => 'PAP ou CHAP',
 'parentclass' => 'Classe parent',
diff --git a/langs/it/cgi-bin/it.pl b/langs/it/cgi-bin/it.pl
index b13c3b85c..936f42670 100644
--- a/langs/it/cgi-bin/it.pl
+++ b/langs/it/cgi-bin/it.pl
@@ -1712,7 +1712,7 @@ 
 'pakfire ago' => 'ago.',
 'pakfire available addons' => 'Addons disponibili:',
 'pakfire configuration' => 'Configurazione Pakfire',
-'pakfire confirm updates' => 'Vuoi installare tutti gli aggiornamenti?',
+'pakfire confirm upgrades' => 'Vuoi installare tutti gli aggiornamenti?',
 'pakfire core update auto' => 'Install core and addon updates automatically:',
 'pakfire core update level' => 'Core-Update-Level',
 'pakfire dependencies found' => 'Dipendenze trovate:',
@@ -1735,9 +1735,9 @@ 
 'pakfire uninstall description' => 'Seleziona uno o più componenti aggiuntivi da rimuovere.',
 'pakfire uninstall package' => 'You want to uninstall the following packages: ',
 'pakfire update daily' => 'Ricerca gli aggiornamenti una volta al giorno:',
-'pakfire updates' => 'Aggiornamenti Disponibili',
 'pakfire updating' => 'Aggiornamento del database Pakfire, attendere prego...',
 'pakfire upgrade' => 'Aggiornamento',
+'pakfire upgrades' => 'Aggiornamenti Disponibili:',
 'pakfire working' => 'Pakfire sta lavorando... Per favore attendi il termine delle operazioni',
 'pap or chap' => 'PAP or CHAP',
 'parentclass' => 'Parentclass',
diff --git a/langs/nl/cgi-bin/nl.pl b/langs/nl/cgi-bin/nl.pl
index 439f24249..07643e0ab 100644
--- a/langs/nl/cgi-bin/nl.pl
+++ b/langs/nl/cgi-bin/nl.pl
@@ -1687,7 +1687,7 @@ 
 'pakfire ago' => 'geleden.',
 'pakfire available addons' => 'Beschikbare add-ons:',
 'pakfire configuration' => 'Pakfire configuratie',
-'pakfire confirm updates' => 'Wilt u alle updates installeren?',
+'pakfire confirm upgrades' => 'Wilt u alle upgrades installeren?',
 'pakfire core update auto' => 'Installeer core- en extensie-updates automatisch:',
 'pakfire core update level' => 'Core-updateniveau',
 'pakfire dependencies found' => 'Afhankelijkheden gevonden:',
@@ -1710,9 +1710,9 @@ 
 'pakfire uninstall description' => 'Selecteer een of meer add-ons om te verwijderen.',
 'pakfire uninstall package' => 'U wilt de volgende pakketten deinstalleren: ',
 'pakfire update daily' => 'Zoek dagelijks naar updates:',
-'pakfire updates' => 'Beschikbare Updates',
 'pakfire updating' => 'Pakfire-database wordt bijgewerkt, even geduld...',
 'pakfire upgrade' => 'Upgrade',
+'pakfire upgrades' => 'Beschikbare Upgrades:',
 'pakfire working' => 'Pakfire is bezig ... Wacht a.u.b. totdat alle handelingen succesvol zijn afgerond.',
 'pap or chap' => 'PAP of CHAP',
 'parentclass' => 'Parent-klasse',
diff --git a/langs/pl/cgi-bin/pl.pl b/langs/pl/cgi-bin/pl.pl
index c5198b6f1..cfe6745e5 100644
--- a/langs/pl/cgi-bin/pl.pl
+++ b/langs/pl/cgi-bin/pl.pl
@@ -1352,7 +1352,7 @@ 
 'pakfire ago' => 'temu.',
 'pakfire available addons' => 'Dostępne dodatki:',
 'pakfire configuration' => 'Konfiguracja Pakfire',
-'pakfire confirm updates' => 'Czy chcesz zainstalować wszystkie aktualizacje?',
+'pakfire confirm upgrades' => 'Czy chcesz zainstalować wszystkie aktualizacje?',
 'pakfire core update auto' => 'Instaluj aktualizacje jądra automatycznie:',
 'pakfire core update level' => 'Aktualizacja jądra',
 'pakfire dependencies found' => 'Znaleziono zależności:',
@@ -1375,9 +1375,9 @@ 
 'pakfire uninstall description' => 'Wybierz jeden lub więcej dodatków do usunięcia.',
 'pakfire uninstall package' => 'Zamierzasz odinstalować następujące pakiety: ',
 'pakfire update daily' => 'Szukaj aktualizacje codziennie:',
-'pakfire updates' => 'Dostępne Aktualizacje',
 'pakfire updating' => 'Aktualizacja bazy danych pakfire, proszę czekać...',
 'pakfire upgrade' => 'Aktualizacja',
+'pakfire upgrades' => 'Dostępne Aktualizacje:',
 'pakfire working' => 'Pakfire pracuje ... Proszę poczekać na zakończenie wszystkich operacji.',
 'pap or chap' => 'PAP lub CHAP',
 'parentclass' => 'Klasa nadrzędna',
diff --git a/langs/ru/cgi-bin/ru.pl b/langs/ru/cgi-bin/ru.pl
index 1a3ac2230..7027f2aa5 100644
--- a/langs/ru/cgi-bin/ru.pl
+++ b/langs/ru/cgi-bin/ru.pl
@@ -1347,7 +1347,7 @@ 
 'pakfire ago' => 'назад.',
 'pakfire available addons' => 'Доступные Аддоны:',
 'pakfire configuration' => 'Pakfire Configuration',
-'pakfire confirm updates' => 'Вы хотите установить все обновления?',
+'pakfire confirm upgrades' => 'Вы хотите установить все обновления?',
 'pakfire core update auto' => 'Устанавливать обновления ядра и аддонов автоматически:',
 'pakfire core update level' => 'Уровень обновления системы',
 'pakfire dependencies found' => 'Зависимости найдены:',
@@ -1370,9 +1370,9 @@ 
 'pakfire uninstall description' => 'Пожалуйста, выберите одно или несколько дополнений для удаления.',
 'pakfire uninstall package' => 'Вы собираетесь удалить следующие пакеты: ',
 'pakfire update daily' => 'Ежедневный поиск обновлений:',
-'pakfire updates' => 'Доступное Обновление',
 'pakfire updating' => 'Обновление базы данных pakfire, пожалуйста, подождите...',
 'pakfire upgrade' => 'Апгрейд',
+'pakfire upgrades' => 'Доступное Обновление:',
 'pakfire working' => 'Pakfire работает ... Пожалуйста дождитесь успешного завершения процедуры.',
 'pap or chap' => 'PAP или CHAP',
 'parentclass' => 'Родительский класс',
diff --git a/langs/tr/cgi-bin/tr.pl b/langs/tr/cgi-bin/tr.pl
index 7dd46f584..d0d29c4fb 100644
--- a/langs/tr/cgi-bin/tr.pl
+++ b/langs/tr/cgi-bin/tr.pl
@@ -1856,7 +1856,7 @@ 
 'pakfire ago' => 'önce yapıldı.',
 'pakfire available addons' => 'Mevcut eklentiler:',
 'pakfire configuration' => 'Pakfire yapılandırması',
-'pakfire confirm updates' => 'Tüm güncellemeleri yüklemek istiyor musunuz?',
+'pakfire confirm upgrades' => 'Tüm yükseltmeleri yüklemek istiyor musunuz?',
 'pakfire core update auto' => 'Otomatik olarak çekirdek ve eklenti güncelleştirmelerini yükle:',
 'pakfire core update level' => 'Çekirdek-Güncelleme-Seviyesi',
 'pakfire dependencies found' => 'Bağımlılıklar bulundu:',
@@ -1879,9 +1879,9 @@ 
 'pakfire uninstall description' => 'Lütfen kaldırmak için bir veya daha fazla eklenti seçin.',
 'pakfire uninstall package' => 'Aşağıdaki paketleri kaldırmak istiyorum: ',
 'pakfire update daily' => 'Günlük güncellemeleri ara:',
-'pakfire updates' => 'Mevcut Güncellemeler',
 'pakfire updating' => 'Pakfire veritabanı güncelleniyor, lütfen bekleyin...',
 'pakfire upgrade' => 'Yükselt',
+'pakfire upgrades' => 'Mevcut Yükseltmeler:',
 'pakfire working' => 'Pakfire çalışıyor ... Tüm işlemler başarıyla tamamlanana kadar bekleyin.',
 'pap or chap' => 'PAP veya CHAP',
 'parentclass' => 'Ana Sınıf',