From cfc591e3fbf65bdfc036ba2e992665fb57a57838 Mon Sep 17 00:00:00 2001 From: Timmy38 Date: Wed, 17 Jun 2026 10:24:32 +0200 Subject: [PATCH] =?UTF-8?q?N=C2=B09701=20Add=20id=20to=20badges?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cs.dictionary.itop.extensions-details.php | 6 +++ .../da.dictionary.itop.extensions-details.php | 8 +++- .../de.dictionary.itop.extensions-details.php | 6 +++ .../en.dictionary.itop.extensions-details.php | 6 +++ ..._cr.dictionary.itop.extensions-details.php | 6 +++ .../fr.dictionary.itop.extensions-details.php | 6 +++ .../hu.dictionary.itop.extensions-details.php | 6 +++ .../it.dictionary.itop.extensions-details.php | 6 +++ .../ja.dictionary.itop.extensions-details.php | 6 +++ .../nl.dictionary.itop.extensions-details.php | 6 +++ .../pl.dictionary.itop.extensions-details.php | 6 +++ ..._br.dictionary.itop.extensions-details.php | 6 +++ .../ru.dictionary.itop.extensions-details.php | 6 +++ .../sk.dictionary.itop.extensions-details.php | 6 +++ .../tr.dictionary.itop.extensions-details.php | 6 +++ ..._cn.dictionary.itop.extensions-details.php | 6 +++ .../ExtensionDetailsUIBlockFactory.php | 42 +++++++++++++++---- 17 files changed, 130 insertions(+), 10 deletions(-) diff --git a/dictionaries/ui/layouts/extensions-details/cs.dictionary.itop.extensions-details.php b/dictionaries/ui/layouts/extensions-details/cs.dictionary.itop.extensions-details.php index 04e71d651..c05d12989 100644 --- a/dictionaries/ui/layouts/extensions-details/cs.dictionary.itop.extensions-details.php +++ b/dictionaries/ui/layouts/extensions-details/cs.dictionary.itop.extensions-details.php @@ -12,11 +12,17 @@ */ Dict::Add('CS CZ', 'Czech', 'Čeština', [ 'UI:Layout:ExtensionsDetails:BadgeInstalled' => 'installed~~', + 'UI:Layout:ExtensionsDetails:BadgeInstalled+' => 'The extension is installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled' => 'to be installed~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled+' => 'This extension is marked to be installed~~', 'UI:Layout:ExtensionsDetails:BadgeNotInstalled' => 'not installed~~', + 'UI:Layout:ExtensionsDetails:BadgeNotInstalled+' => 'The extension is not currently installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled' => 'to be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled+' => 'This extension is marked to be uninstalled~~', 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable' => 'cannot be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable+' => 'This extension cannot be uninstalled (required or protected)~~', 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk' => 'missing from disk~~', + 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk+' => 'The extension files are missing from disk~~', 'UI:Layout:ExtensionsDetails:MenuAboutTitle' => 'About %1$s~~', 'UI:Layout:ExtensionsDetails:MenuAbout' => 'More informations~~', 'UI:Layout:ExtensionsDetails:MenuForce' => 'Force uninstall~~', diff --git a/dictionaries/ui/layouts/extensions-details/da.dictionary.itop.extensions-details.php b/dictionaries/ui/layouts/extensions-details/da.dictionary.itop.extensions-details.php index 73e4f4efe..aab8267d2 100644 --- a/dictionaries/ui/layouts/extensions-details/da.dictionary.itop.extensions-details.php +++ b/dictionaries/ui/layouts/extensions-details/da.dictionary.itop.extensions-details.php @@ -10,13 +10,19 @@ /** * */ -Dict::Add('DA DA', 'Danish', 'Dansk', [ +Dict::Add('DA DK', 'Danish', 'Dansk', [ 'UI:Layout:ExtensionsDetails:BadgeInstalled' => 'installed~~', + 'UI:Layout:ExtensionsDetails:BadgeInstalled+' => 'The extension is installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled' => 'to be installed~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled+' => 'This extension is marked to be installed~~', 'UI:Layout:ExtensionsDetails:BadgeNotInstalled' => 'not installed~~', + 'UI:Layout:ExtensionsDetails:BadgeNotInstalled+' => 'The extension is not currently installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled' => 'to be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled+' => 'This extension is marked to be uninstalled~~', 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable' => 'cannot be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable+' => 'This extension cannot be uninstalled (required or protected)~~', 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk' => 'missing from disk~~', + 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk+' => 'The extension files are missing from disk~~', 'UI:Layout:ExtensionsDetails:MenuAboutTitle' => 'About %1$s~~', 'UI:Layout:ExtensionsDetails:MenuAbout' => 'More informations~~', 'UI:Layout:ExtensionsDetails:MenuForce' => 'Force uninstall~~', diff --git a/dictionaries/ui/layouts/extensions-details/de.dictionary.itop.extensions-details.php b/dictionaries/ui/layouts/extensions-details/de.dictionary.itop.extensions-details.php index 816dd69e7..5f3eefb42 100644 --- a/dictionaries/ui/layouts/extensions-details/de.dictionary.itop.extensions-details.php +++ b/dictionaries/ui/layouts/extensions-details/de.dictionary.itop.extensions-details.php @@ -12,11 +12,17 @@ */ Dict::Add('DE DE', 'German', 'Deutsch', [ 'UI:Layout:ExtensionsDetails:BadgeInstalled' => 'installed~~', + 'UI:Layout:ExtensionsDetails:BadgeInstalled+' => 'The extension is installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled' => 'to be installed~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled+' => 'This extension is marked to be installed~~', 'UI:Layout:ExtensionsDetails:BadgeNotInstalled' => 'not installed~~', + 'UI:Layout:ExtensionsDetails:BadgeNotInstalled+' => 'The extension is not currently installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled' => 'to be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled+' => 'This extension is marked to be uninstalled~~', 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable' => 'cannot be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable+' => 'This extension cannot be uninstalled (required or protected)~~', 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk' => 'missing from disk~~', + 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk+' => 'The extension files are missing from disk~~', 'UI:Layout:ExtensionsDetails:MenuAboutTitle' => 'About %1$s~~', 'UI:Layout:ExtensionsDetails:MenuAbout' => 'More informations~~', 'UI:Layout:ExtensionsDetails:MenuForce' => 'Force uninstall~~', diff --git a/dictionaries/ui/layouts/extensions-details/en.dictionary.itop.extensions-details.php b/dictionaries/ui/layouts/extensions-details/en.dictionary.itop.extensions-details.php index 4e01932f5..1a553a603 100644 --- a/dictionaries/ui/layouts/extensions-details/en.dictionary.itop.extensions-details.php +++ b/dictionaries/ui/layouts/extensions-details/en.dictionary.itop.extensions-details.php @@ -10,11 +10,17 @@ Dict::Add('EN US', 'English', 'English', [ 'UI:Layout:ExtensionsDetails:BadgeInstalled' => 'installed', + 'UI:Layout:ExtensionsDetails:BadgeInstalled+' => 'The extension is installed on this iTop instance', 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled' => 'to be installed', + 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled+' => 'This extension is marked to be installed', 'UI:Layout:ExtensionsDetails:BadgeNotInstalled' => 'not installed', + 'UI:Layout:ExtensionsDetails:BadgeNotInstalled+' => 'The extension is not currently installed on this iTop instance', 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled' => 'to be uninstalled', + 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled+' => 'This extension is marked to be uninstalled', 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable' => 'cannot be uninstalled', + 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable+' => 'This extension cannot be uninstalled (required or protected)', 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk' => 'missing from disk', + 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk+' => 'The extension files are missing from disk', 'UI:Layout:ExtensionsDetails:MenuAboutTitle' => 'About %1$s', 'UI:Layout:ExtensionsDetails:MenuAbout' => 'More informations', 'UI:Layout:ExtensionsDetails:MenuForce' => 'Force uninstall', diff --git a/dictionaries/ui/layouts/extensions-details/es_cr.dictionary.itop.extensions-details.php b/dictionaries/ui/layouts/extensions-details/es_cr.dictionary.itop.extensions-details.php index 0a128e19e..dea28d800 100644 --- a/dictionaries/ui/layouts/extensions-details/es_cr.dictionary.itop.extensions-details.php +++ b/dictionaries/ui/layouts/extensions-details/es_cr.dictionary.itop.extensions-details.php @@ -12,11 +12,17 @@ */ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [ 'UI:Layout:ExtensionsDetails:BadgeInstalled' => 'installed~~', + 'UI:Layout:ExtensionsDetails:BadgeInstalled+' => 'The extension is installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled' => 'to be installed~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled+' => 'This extension is marked to be installed~~', 'UI:Layout:ExtensionsDetails:BadgeNotInstalled' => 'not installed~~', + 'UI:Layout:ExtensionsDetails:BadgeNotInstalled+' => 'The extension is not currently installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled' => 'to be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled+' => 'This extension is marked to be uninstalled~~', 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable' => 'cannot be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable+' => 'This extension cannot be uninstalled (required or protected)~~', 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk' => 'missing from disk~~', + 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk+' => 'The extension files are missing from disk~~', 'UI:Layout:ExtensionsDetails:MenuAboutTitle' => 'About %1$s~~', 'UI:Layout:ExtensionsDetails:MenuAbout' => 'More informations~~', 'UI:Layout:ExtensionsDetails:MenuForce' => 'Force uninstall~~', diff --git a/dictionaries/ui/layouts/extensions-details/fr.dictionary.itop.extensions-details.php b/dictionaries/ui/layouts/extensions-details/fr.dictionary.itop.extensions-details.php index 4fb609033..aee896609 100644 --- a/dictionaries/ui/layouts/extensions-details/fr.dictionary.itop.extensions-details.php +++ b/dictionaries/ui/layouts/extensions-details/fr.dictionary.itop.extensions-details.php @@ -12,11 +12,17 @@ */ Dict::Add('FR FR', 'French', 'Français', [ 'UI:Layout:ExtensionsDetails:BadgeInstalled' => 'installé', + 'UI:Layout:ExtensionsDetails:BadgeInstalled+' => 'L\'extension est installée sur cette instance d\'iTop', 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled' => 'va être installé', + 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled+' => 'Cette extension va être installée', 'UI:Layout:ExtensionsDetails:BadgeNotInstalled' => 'pas installé', + 'UI:Layout:ExtensionsDetails:BadgeNotInstalled+' => 'L\'extension n\'est pas installée sur cette instance d\'iTop', 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled' => 'va être désinstallé', + 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled+' => 'Cette extension va être désinstallée', 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable' => 'non désinstallable', + 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable+' => 'Cette extension ne peut pas être désinstallée (requise/protégée)', 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk' => 'supprimé du disque', + 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk+' => 'Les fichiers de l\'extension sont manquants sur le disque', 'UI:Layout:ExtensionsDetails:MenuAboutTitle' => 'À propos de %1$s', 'UI:Layout:ExtensionsDetails:MenuAbout' => 'Plus d\'informations', 'UI:Layout:ExtensionsDetails:MenuForce' => 'Forcer la désinstallation', diff --git a/dictionaries/ui/layouts/extensions-details/hu.dictionary.itop.extensions-details.php b/dictionaries/ui/layouts/extensions-details/hu.dictionary.itop.extensions-details.php index 5f81e6987..e93cdb5dc 100644 --- a/dictionaries/ui/layouts/extensions-details/hu.dictionary.itop.extensions-details.php +++ b/dictionaries/ui/layouts/extensions-details/hu.dictionary.itop.extensions-details.php @@ -12,11 +12,17 @@ */ Dict::Add('HU HU', 'Hungarian', 'Magyar', [ 'UI:Layout:ExtensionsDetails:BadgeInstalled' => 'installed~~', + 'UI:Layout:ExtensionsDetails:BadgeInstalled+' => 'The extension is installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled' => 'to be installed~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled+' => 'This extension is marked to be installed~~', 'UI:Layout:ExtensionsDetails:BadgeNotInstalled' => 'not installed~~', + 'UI:Layout:ExtensionsDetails:BadgeNotInstalled+' => 'The extension is not currently installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled' => 'to be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled+' => 'This extension is marked to be uninstalled~~', 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable' => 'cannot be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable+' => 'This extension cannot be uninstalled (required or protected)~~', 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk' => 'missing from disk~~', + 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk+' => 'The extension files are missing from disk~~', 'UI:Layout:ExtensionsDetails:MenuAboutTitle' => 'About %1$s~~', 'UI:Layout:ExtensionsDetails:MenuAbout' => 'More informations~~', 'UI:Layout:ExtensionsDetails:MenuForce' => 'Force uninstall~~', diff --git a/dictionaries/ui/layouts/extensions-details/it.dictionary.itop.extensions-details.php b/dictionaries/ui/layouts/extensions-details/it.dictionary.itop.extensions-details.php index 7c44bc63e..97b479e3b 100644 --- a/dictionaries/ui/layouts/extensions-details/it.dictionary.itop.extensions-details.php +++ b/dictionaries/ui/layouts/extensions-details/it.dictionary.itop.extensions-details.php @@ -12,11 +12,17 @@ */ Dict::Add('IT IT', 'Italian', 'Italiano', [ 'UI:Layout:ExtensionsDetails:BadgeInstalled' => 'installed~~', + 'UI:Layout:ExtensionsDetails:BadgeInstalled+' => 'The extension is installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled' => 'to be installed~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled+' => 'This extension is marked to be installed~~', 'UI:Layout:ExtensionsDetails:BadgeNotInstalled' => 'not installed~~', + 'UI:Layout:ExtensionsDetails:BadgeNotInstalled+' => 'The extension is not currently installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled' => 'to be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled+' => 'This extension is marked to be uninstalled~~', 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable' => 'cannot be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable+' => 'This extension cannot be uninstalled (required or protected)~~', 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk' => 'missing from disk~~', + 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk+' => 'The extension files are missing from disk~~', 'UI:Layout:ExtensionsDetails:MenuAboutTitle' => 'About %1$s~~', 'UI:Layout:ExtensionsDetails:MenuAbout' => 'More informations~~', 'UI:Layout:ExtensionsDetails:MenuForce' => 'Force uninstall~~', diff --git a/dictionaries/ui/layouts/extensions-details/ja.dictionary.itop.extensions-details.php b/dictionaries/ui/layouts/extensions-details/ja.dictionary.itop.extensions-details.php index a3b527c0b..c130e2741 100644 --- a/dictionaries/ui/layouts/extensions-details/ja.dictionary.itop.extensions-details.php +++ b/dictionaries/ui/layouts/extensions-details/ja.dictionary.itop.extensions-details.php @@ -12,11 +12,17 @@ */ Dict::Add('JA JP', 'Japanese', '日本語', [ 'UI:Layout:ExtensionsDetails:BadgeInstalled' => 'installed~~', + 'UI:Layout:ExtensionsDetails:BadgeInstalled+' => 'The extension is installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled' => 'to be installed~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled+' => 'This extension is marked to be installed~~', 'UI:Layout:ExtensionsDetails:BadgeNotInstalled' => 'not installed~~', + 'UI:Layout:ExtensionsDetails:BadgeNotInstalled+' => 'The extension is not currently installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled' => 'to be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled+' => 'This extension is marked to be uninstalled~~', 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable' => 'cannot be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable+' => 'This extension cannot be uninstalled (required or protected)~~', 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk' => 'missing from disk~~', + 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk+' => 'The extension files are missing from disk~~', 'UI:Layout:ExtensionsDetails:MenuAboutTitle' => 'About %1$s~~', 'UI:Layout:ExtensionsDetails:MenuAbout' => 'More informations~~', 'UI:Layout:ExtensionsDetails:MenuForce' => 'Force uninstall~~', diff --git a/dictionaries/ui/layouts/extensions-details/nl.dictionary.itop.extensions-details.php b/dictionaries/ui/layouts/extensions-details/nl.dictionary.itop.extensions-details.php index 53fcb5b4a..95579e3b9 100644 --- a/dictionaries/ui/layouts/extensions-details/nl.dictionary.itop.extensions-details.php +++ b/dictionaries/ui/layouts/extensions-details/nl.dictionary.itop.extensions-details.php @@ -12,11 +12,17 @@ */ Dict::Add('NL NL', 'Dutch', 'Nederlands', [ 'UI:Layout:ExtensionsDetails:BadgeInstalled' => 'installed~~', + 'UI:Layout:ExtensionsDetails:BadgeInstalled+' => 'The extension is installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled' => 'to be installed~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled+' => 'This extension is marked to be installed~~', 'UI:Layout:ExtensionsDetails:BadgeNotInstalled' => 'not installed~~', + 'UI:Layout:ExtensionsDetails:BadgeNotInstalled+' => 'The extension is not currently installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled' => 'to be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled+' => 'This extension is marked to be uninstalled~~', 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable' => 'cannot be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable+' => 'This extension cannot be uninstalled (required or protected)~~', 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk' => 'missing from disk~~', + 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk+' => 'The extension files are missing from disk~~', 'UI:Layout:ExtensionsDetails:MenuAboutTitle' => 'About %1$s~~', 'UI:Layout:ExtensionsDetails:MenuAbout' => 'More informations~~', 'UI:Layout:ExtensionsDetails:MenuForce' => 'Force uninstall~~', diff --git a/dictionaries/ui/layouts/extensions-details/pl.dictionary.itop.extensions-details.php b/dictionaries/ui/layouts/extensions-details/pl.dictionary.itop.extensions-details.php index 823401337..58328c48a 100644 --- a/dictionaries/ui/layouts/extensions-details/pl.dictionary.itop.extensions-details.php +++ b/dictionaries/ui/layouts/extensions-details/pl.dictionary.itop.extensions-details.php @@ -12,11 +12,17 @@ */ Dict::Add('PL PL', 'Polish', 'Polski', [ 'UI:Layout:ExtensionsDetails:BadgeInstalled' => 'installed~~', + 'UI:Layout:ExtensionsDetails:BadgeInstalled+' => 'The extension is installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled' => 'to be installed~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled+' => 'This extension is marked to be installed~~', 'UI:Layout:ExtensionsDetails:BadgeNotInstalled' => 'not installed~~', + 'UI:Layout:ExtensionsDetails:BadgeNotInstalled+' => 'The extension is not currently installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled' => 'to be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled+' => 'This extension is marked to be uninstalled~~', 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable' => 'cannot be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable+' => 'This extension cannot be uninstalled (required or protected)~~', 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk' => 'missing from disk~~', + 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk+' => 'The extension files are missing from disk~~', 'UI:Layout:ExtensionsDetails:MenuAboutTitle' => 'About %1$s~~', 'UI:Layout:ExtensionsDetails:MenuAbout' => 'More informations~~', 'UI:Layout:ExtensionsDetails:MenuForce' => 'Force uninstall~~', diff --git a/dictionaries/ui/layouts/extensions-details/pt_br.dictionary.itop.extensions-details.php b/dictionaries/ui/layouts/extensions-details/pt_br.dictionary.itop.extensions-details.php index 4683a2b43..302d4a824 100644 --- a/dictionaries/ui/layouts/extensions-details/pt_br.dictionary.itop.extensions-details.php +++ b/dictionaries/ui/layouts/extensions-details/pt_br.dictionary.itop.extensions-details.php @@ -12,11 +12,17 @@ */ Dict::Add('PT BR', 'Brazilian', 'Brazilian', [ 'UI:Layout:ExtensionsDetails:BadgeInstalled' => 'installed~~', + 'UI:Layout:ExtensionsDetails:BadgeInstalled+' => 'The extension is installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled' => 'to be installed~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled+' => 'This extension is marked to be installed~~', 'UI:Layout:ExtensionsDetails:BadgeNotInstalled' => 'not installed~~', + 'UI:Layout:ExtensionsDetails:BadgeNotInstalled+' => 'The extension is not currently installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled' => 'to be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled+' => 'This extension is marked to be uninstalled~~', 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable' => 'cannot be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable+' => 'This extension cannot be uninstalled (required or protected)~~', 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk' => 'missing from disk~~', + 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk+' => 'The extension files are missing from disk~~', 'UI:Layout:ExtensionsDetails:MenuAboutTitle' => 'About %1$s~~', 'UI:Layout:ExtensionsDetails:MenuAbout' => 'More informations~~', 'UI:Layout:ExtensionsDetails:MenuForce' => 'Force uninstall~~', diff --git a/dictionaries/ui/layouts/extensions-details/ru.dictionary.itop.extensions-details.php b/dictionaries/ui/layouts/extensions-details/ru.dictionary.itop.extensions-details.php index ef233f68b..411521929 100644 --- a/dictionaries/ui/layouts/extensions-details/ru.dictionary.itop.extensions-details.php +++ b/dictionaries/ui/layouts/extensions-details/ru.dictionary.itop.extensions-details.php @@ -12,11 +12,17 @@ */ Dict::Add('RU RU', 'Russian', 'Русский', [ 'UI:Layout:ExtensionsDetails:BadgeInstalled' => 'installed~~', + 'UI:Layout:ExtensionsDetails:BadgeInstalled+' => 'The extension is installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled' => 'to be installed~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled+' => 'This extension is marked to be installed~~', 'UI:Layout:ExtensionsDetails:BadgeNotInstalled' => 'not installed~~', + 'UI:Layout:ExtensionsDetails:BadgeNotInstalled+' => 'The extension is not currently installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled' => 'to be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled+' => 'This extension is marked to be uninstalled~~', 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable' => 'cannot be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable+' => 'This extension cannot be uninstalled (required or protected)~~', 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk' => 'missing from disk~~', + 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk+' => 'The extension files are missing from disk~~', 'UI:Layout:ExtensionsDetails:MenuAboutTitle' => 'About %1$s~~', 'UI:Layout:ExtensionsDetails:MenuAbout' => 'More informations~~', 'UI:Layout:ExtensionsDetails:MenuForce' => 'Force uninstall~~', diff --git a/dictionaries/ui/layouts/extensions-details/sk.dictionary.itop.extensions-details.php b/dictionaries/ui/layouts/extensions-details/sk.dictionary.itop.extensions-details.php index f4db3fabc..e6c30ce0e 100644 --- a/dictionaries/ui/layouts/extensions-details/sk.dictionary.itop.extensions-details.php +++ b/dictionaries/ui/layouts/extensions-details/sk.dictionary.itop.extensions-details.php @@ -12,11 +12,17 @@ */ Dict::Add('SK SK', 'Slovak', 'Slovenčina', [ 'UI:Layout:ExtensionsDetails:BadgeInstalled' => 'installed~~', + 'UI:Layout:ExtensionsDetails:BadgeInstalled+' => 'The extension is installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled' => 'to be installed~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled+' => 'This extension is marked to be installed~~', 'UI:Layout:ExtensionsDetails:BadgeNotInstalled' => 'not installed~~', + 'UI:Layout:ExtensionsDetails:BadgeNotInstalled+' => 'The extension is not currently installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled' => 'to be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled+' => 'This extension is marked to be uninstalled~~', 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable' => 'cannot be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable+' => 'This extension cannot be uninstalled (required or protected)~~', 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk' => 'missing from disk~~', + 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk+' => 'The extension files are missing from disk~~', 'UI:Layout:ExtensionsDetails:MenuAboutTitle' => 'About %1$s~~', 'UI:Layout:ExtensionsDetails:MenuAbout' => 'More informations~~', 'UI:Layout:ExtensionsDetails:MenuForce' => 'Force uninstall~~', diff --git a/dictionaries/ui/layouts/extensions-details/tr.dictionary.itop.extensions-details.php b/dictionaries/ui/layouts/extensions-details/tr.dictionary.itop.extensions-details.php index 0e66dc741..c4ad06635 100644 --- a/dictionaries/ui/layouts/extensions-details/tr.dictionary.itop.extensions-details.php +++ b/dictionaries/ui/layouts/extensions-details/tr.dictionary.itop.extensions-details.php @@ -12,11 +12,17 @@ */ Dict::Add('TR TR', 'Turkish', 'Türkçe', [ 'UI:Layout:ExtensionsDetails:BadgeInstalled' => 'installed~~', + 'UI:Layout:ExtensionsDetails:BadgeInstalled+' => 'The extension is installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled' => 'to be installed~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled+' => 'This extension is marked to be installed~~', 'UI:Layout:ExtensionsDetails:BadgeNotInstalled' => 'not installed~~', + 'UI:Layout:ExtensionsDetails:BadgeNotInstalled+' => 'The extension is not currently installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled' => 'to be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled+' => 'This extension is marked to be uninstalled~~', 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable' => 'cannot be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable+' => 'This extension cannot be uninstalled (required or protected)~~', 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk' => 'missing from disk~~', + 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk+' => 'The extension files are missing from disk~~', 'UI:Layout:ExtensionsDetails:MenuAboutTitle' => 'About %1$s~~', 'UI:Layout:ExtensionsDetails:MenuAbout' => 'More informations~~', 'UI:Layout:ExtensionsDetails:MenuForce' => 'Force uninstall~~', diff --git a/dictionaries/ui/layouts/extensions-details/zh_cn.dictionary.itop.extensions-details.php b/dictionaries/ui/layouts/extensions-details/zh_cn.dictionary.itop.extensions-details.php index 802d15669..5e53f0904 100644 --- a/dictionaries/ui/layouts/extensions-details/zh_cn.dictionary.itop.extensions-details.php +++ b/dictionaries/ui/layouts/extensions-details/zh_cn.dictionary.itop.extensions-details.php @@ -12,11 +12,17 @@ */ Dict::Add('ZH CN', 'Chinese', '简体中文', [ 'UI:Layout:ExtensionsDetails:BadgeInstalled' => 'installed~~', + 'UI:Layout:ExtensionsDetails:BadgeInstalled+' => 'The extension is installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled' => 'to be installed~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeInstalled+' => 'This extension is marked to be installed~~', 'UI:Layout:ExtensionsDetails:BadgeNotInstalled' => 'not installed~~', + 'UI:Layout:ExtensionsDetails:BadgeNotInstalled+' => 'The extension is not currently installed on this iTop instance~~', 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled' => 'to be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeToBeUninstalled+' => 'This extension is marked to be uninstalled~~', 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable' => 'cannot be uninstalled~~', + 'UI:Layout:ExtensionsDetails:BadgeNotUninstallable+' => 'This extension cannot be uninstalled (required or protected)~~', 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk' => 'missing from disk~~', + 'UI:Layout:ExtensionsDetails:BadgeMissingFromDisk+' => 'The extension files are missing from disk~~', 'UI:Layout:ExtensionsDetails:MenuAboutTitle' => 'About %1$s~~', 'UI:Layout:ExtensionsDetails:MenuAbout' => 'More informations~~', 'UI:Layout:ExtensionsDetails:MenuForce' => 'Force uninstall~~', diff --git a/sources/Application/UI/Base/Layout/Extension/ExtensionDetailsUIBlockFactory.php b/sources/Application/UI/Base/Layout/Extension/ExtensionDetailsUIBlockFactory.php index 7a1934f01..3ac3a9bce 100644 --- a/sources/Application/UI/Base/Layout/Extension/ExtensionDetailsUIBlockFactory.php +++ b/sources/Application/UI/Base/Layout/Extension/ExtensionDetailsUIBlockFactory.php @@ -21,11 +21,19 @@ class ExtensionDetailsUIBlockFactory extends AbstractUIBlockFactory $bSelected = $aExtraFlags['selected'] ?? true; $bDisabled = $aExtraFlags['disabled'] ?? false; $bRemote = $aExtraFlags['remote'] ?? false; - self::AddExtraBadges($aBadges, $bUninstallable, $bMissingFromDisk); - $oBadgeInstalled = BadgeUIBlockFactory::MakeGreen(Dict::S('UI:Layout:ExtensionsDetails:BadgeInstalled')); + self::AddExtraBadges($aBadges, $bUninstallable, $bMissingFromDisk, $sCode); + $oBadgeInstalled = BadgeUIBlockFactory::MakeGreen( + Dict::S('UI:Layout:ExtensionsDetails:BadgeInstalled'), + Dict::S('UI:Layout:ExtensionsDetails:BadgeInstalled+'), + 'badge--'.$sCode.'--installed' + ); $oBadgeInstalled->AddCSSClass('checked'); $aBadges[] = $oBadgeInstalled; - $oBadgeToBeUninstalled = BadgeUIBlockFactory::MakeRed(Dict::S('UI:Layout:ExtensionsDetails:BadgeToBeUninstalled')); + $oBadgeToBeUninstalled = BadgeUIBlockFactory::MakeRed( + Dict::S('UI:Layout:ExtensionsDetails:BadgeToBeUninstalled'), + Dict::S('UI:Layout:ExtensionsDetails:BadgeToBeUninstalled+'), + 'badge--'.$sCode.'--to-be-uninstalled' + ); $oBadgeToBeUninstalled->AddCSSClass('unchecked'); $aBadges[] = $oBadgeToBeUninstalled; @@ -56,11 +64,19 @@ class ExtensionDetailsUIBlockFactory extends AbstractUIBlockFactory $bUninstallable = $aExtraFlags['uninstallable'] ?? true; $bSelected = $aExtraFlags['selected'] ?? false; $bDisabled = $aExtraFlags['disabled'] ?? false; - self::AddExtraBadges($aBadges, $bUninstallable, false); - $oBadgeInstalled = BadgeUIBlockFactory::MakeGrey(Dict::S('UI:Layout:ExtensionsDetails:BadgeNotInstalled')); + self::AddExtraBadges($aBadges, $bUninstallable, false, $sCode); + $oBadgeInstalled = BadgeUIBlockFactory::MakeGrey( + Dict::S('UI:Layout:ExtensionsDetails:BadgeNotInstalled'), + Dict::S('UI:Layout:ExtensionsDetails:BadgeNotInstalled+'), + 'badge--'.$sCode.'--not-installed' + ); $oBadgeInstalled->AddCSSClass('unchecked'); $aBadges[] = $oBadgeInstalled; - $oBadgeToBeUninstalled = BadgeUIBlockFactory::MakeCyan(Dict::S('UI:Layout:ExtensionsDetails:BadgeToBeInstalled')); + $oBadgeToBeUninstalled = BadgeUIBlockFactory::MakeCyan( + Dict::S('UI:Layout:ExtensionsDetails:BadgeToBeInstalled'), + Dict::S('UI:Layout:ExtensionsDetails:BadgeToBeInstalled+'), + 'badge--'.$sCode.'--to-be-installed' + ); $oBadgeToBeUninstalled->AddCSSClass('checked'); $aBadges[] = $oBadgeToBeUninstalled; $oExtensionDetails = new ExtensionDetails($sCode, $sLabel, $sDescription, $aMetaData, $aBadges, $sAbout); @@ -76,13 +92,21 @@ class ExtensionDetailsUIBlockFactory extends AbstractUIBlockFactory return $oExtensionDetails; } - private static function AddExtraBadges(array &$aBadges, bool $bUninstallable, bool $bMissingFromDisk) + private static function AddExtraBadges(array &$aBadges, bool $bUninstallable, bool $bMissingFromDisk, string $sCode) { if (!$bUninstallable) { - $aBadges[] = BadgeUIBlockFactory::MakeOrange(Dict::S('UI:Layout:ExtensionsDetails:BadgeNotUninstallable')); + $aBadges[] = BadgeUIBlockFactory::MakeOrange( + Dict::S('UI:Layout:ExtensionsDetails:BadgeNotUninstallable'), + Dict::S('UI:Layout:ExtensionsDetails:BadgeNotUninstallable+'), + 'badge--'.$sCode.'--not-uninstallable' + ); } if ($bMissingFromDisk) { - $aBadges[] = BadgeUIBlockFactory::MakeRed(Dict::S('UI:Layout:ExtensionsDetails:BadgeMissingFromDisk')); + $aBadges[] = BadgeUIBlockFactory::MakeRed( + Dict::S('UI:Layout:ExtensionsDetails:BadgeMissingFromDisk'), + Dict::S('UI:Layout:ExtensionsDetails:BadgeMissingFromDisk+'), + 'badge--'.$sCode.'--missing-from-disk' + ); } } }