Merge remote-tracking branch 'origin/support/3.0' into support/3.1

# Conflicts:
#	dictionaries/ui/layouts/navigation-menu/pt_br.dictionary.itop.navigation-menu.php
#	dictionaries/ui/layouts/navigation-menu/zh_cn.dictionary.itop.navigation-menu.php
This commit is contained in:
Pierre Goiffon
2024-02-15 10:55:54 +01:00
8 changed files with 24 additions and 9 deletions

View File

@@ -25,7 +25,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'UI:Layout:NavigationMenu:MenuFilter:Input:Placeholder' => 'Filter...~~',
'UI:Layout:NavigationMenu:MenuFilter:Input:Tooltip' => 'Type your keywords to filter menus~~',
'UI:Layout:NavigationMenu:MenuFilter:Input:Hint' => 'Matches from all menu groups will be displayed~~',
'UI:Layout:NavigationMenu:MenuFilter:Placeholder:Hint' => 'No result for this menu filter~~',
'UI:Layout:NavigationMenu:MenuFilter:Placeholder:Hint' => 'Seems like there is no matching menu~~',
'UI:Layout:NavigationMenu:UserInfo:WelcomeMessage:Text' => 'Hi %1$s!~~',
'UI:Layout:NavigationMenu:UserInfo:Picture:AltText' => '%1$s\'s contact picture~~',
'UI:Layout:NavigationMenu:UserMenu:Toggler:Label' => 'Open user menu~~',

View File

@@ -25,7 +25,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'UI:Layout:NavigationMenu:MenuFilter:Input:Placeholder' => 'Filter...~~',
'UI:Layout:NavigationMenu:MenuFilter:Input:Tooltip' => 'Type your keywords to filter menus~~',
'UI:Layout:NavigationMenu:MenuFilter:Input:Hint' => 'Matches from all menu groups will be displayed~~',
'UI:Layout:NavigationMenu:MenuFilter:Placeholder:Hint' => 'No result for this menu filter~~',
'UI:Layout:NavigationMenu:MenuFilter:Placeholder:Hint' => 'Seems like there is no matching menu~~',
'UI:Layout:NavigationMenu:UserInfo:WelcomeMessage:Text' => 'Hi %1$s!~~',
'UI:Layout:NavigationMenu:UserInfo:Picture:AltText' => '%1$s\'s contact picture~~',
'UI:Layout:NavigationMenu:UserMenu:Toggler:Label' => 'Open user menu~~',

View File

@@ -21,7 +21,7 @@ Dict::Add('FR FR', 'French', 'Français', array(
'UI:Layout:NavigationMenu:CompanyLogo:AltText' => 'Logo entreprise',
'UI:Layout:NavigationMenu:Silo:Label' => 'Selectionnez l\'organisation sur laquelle filtrer',
'UI:Layout:NavigationMenu:Toggler:Tooltip' => 'Déplier / Replier',
'UI:Layout:NavigationMenu:Toggler:TooltipWithSiloLabel' => 'Déplier / Replier (Filtré sur %1$s)~~',
'UI:Layout:NavigationMenu:Toggler:TooltipWithSiloLabel' => 'Déplier / Replier (Filtré sur %1$s)',
'UI:Layout:NavigationMenu:MenuFilter:Input:Placeholder' => 'Filtrer...',
'UI:Layout:NavigationMenu:MenuFilter:Input:Tooltip' => 'Saisir des mots-clés pour filtrer les menus',
'UI:Layout:NavigationMenu:MenuFilter:Input:Hint' => 'Les correspondances dans chaque groupe de menu seront affichées',

View File

@@ -25,7 +25,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'UI:Layout:NavigationMenu:MenuFilter:Input:Placeholder' => 'Filter...~~',
'UI:Layout:NavigationMenu:MenuFilter:Input:Tooltip' => 'Type your keywords to filter menus~~',
'UI:Layout:NavigationMenu:MenuFilter:Input:Hint' => 'Matches from all menu groups will be displayed~~',
'UI:Layout:NavigationMenu:MenuFilter:Placeholder:Hint' => 'No result for this menu filter~~',
'UI:Layout:NavigationMenu:MenuFilter:Placeholder:Hint' => 'Seems like there is no matching menu~~',
'UI:Layout:NavigationMenu:UserInfo:WelcomeMessage:Text' => 'Hi %1$s!~~',
'UI:Layout:NavigationMenu:UserInfo:Picture:AltText' => '%1$s\'s contact picture~~',
'UI:Layout:NavigationMenu:UserMenu:Toggler:Label' => 'Open user menu~~',

View File

@@ -25,7 +25,7 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'UI:Layout:NavigationMenu:MenuFilter:Input:Placeholder' => 'Filter...~~',
'UI:Layout:NavigationMenu:MenuFilter:Input:Tooltip' => 'Type your keywords to filter menus~~',
'UI:Layout:NavigationMenu:MenuFilter:Input:Hint' => 'Matches from all menu groups will be displayed~~',
'UI:Layout:NavigationMenu:MenuFilter:Placeholder:Hint' => 'No result for this menu filter~~',
'UI:Layout:NavigationMenu:MenuFilter:Placeholder:Hint' => 'Seems like there is no matching menu~~',
'UI:Layout:NavigationMenu:UserInfo:WelcomeMessage:Text' => 'Hi %1$s!~~',
'UI:Layout:NavigationMenu:UserInfo:Picture:AltText' => '%1$s\'s contact picture~~',
'UI:Layout:NavigationMenu:UserMenu:Toggler:Label' => 'Open user menu~~',

View File

@@ -25,7 +25,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'UI:Layout:NavigationMenu:MenuFilter:Input:Placeholder' => 'Filter...~~',
'UI:Layout:NavigationMenu:MenuFilter:Input:Tooltip' => 'Type your keywords to filter menus~~',
'UI:Layout:NavigationMenu:MenuFilter:Input:Hint' => 'Matches from all menu groups will be displayed~~',
'UI:Layout:NavigationMenu:MenuFilter:Placeholder:Hint' => 'No result for this menu filter~~',
'UI:Layout:NavigationMenu:MenuFilter:Placeholder:Hint' => 'Seems like there is no matching menu~~',
'UI:Layout:NavigationMenu:UserInfo:WelcomeMessage:Text' => 'Hi %1$s!~~',
'UI:Layout:NavigationMenu:UserInfo:Picture:AltText' => '%1$s\'s contact picture~~',
'UI:Layout:NavigationMenu:UserMenu:Toggler:Label' => 'Open user menu~~',

View File

@@ -25,7 +25,7 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'UI:Layout:NavigationMenu:MenuFilter:Input:Placeholder' => 'Filter...~~',
'UI:Layout:NavigationMenu:MenuFilter:Input:Tooltip' => 'Type your keywords to filter menus~~',
'UI:Layout:NavigationMenu:MenuFilter:Input:Hint' => 'Matches from all menu groups will be displayed~~',
'UI:Layout:NavigationMenu:MenuFilter:Placeholder:Hint' => 'No result for this menu filter~~',
'UI:Layout:NavigationMenu:MenuFilter:Placeholder:Hint' => 'Seems like there is no matching menu~~',
'UI:Layout:NavigationMenu:UserInfo:WelcomeMessage:Text' => 'Hi %1$s!~~',
'UI:Layout:NavigationMenu:UserInfo:Picture:AltText' => '%1$s\'s contact picture~~',
'UI:Layout:NavigationMenu:UserMenu:Toggler:Label' => 'Open user menu~~',

View File

@@ -18,6 +18,9 @@ namespace Combodo\iTop\Test\UnitTest\Integration;
use Combodo\iTop\Test\UnitTest\ItopTestCase;
use Error;
use Exception;
use RecursiveDirectoryIterator;
use RecursiveIteratorIterator;
use RegexIterator;
use const ARRAY_FILTER_USE_BOTH;
use const DIRECTORY_SEPARATOR;
@@ -161,10 +164,20 @@ class DictionariesConsistencyTest extends ItopTestCase
$sAppRoot = static::GetAppRoot();
$aDictFiles = array_merge(
$aDictFilesCore = [];
$sCoreDictionariesPath = realpath($sAppRoot.'dictionaries');
$sDictFilePattern = '/^.+\.dict.*\.php$/i';
$oDirIterator = new RecursiveDirectoryIterator($sCoreDictionariesPath, RecursiveDirectoryIterator::SKIP_DOTS);
$oIterator = new RecursiveIteratorIterator($oDirIterator, RecursiveIteratorIterator::SELF_FIRST);
$oRegexIterator = new RegexIterator($oIterator, $sDictFilePattern, RegexIterator::GET_MATCH);
foreach($oRegexIterator as $file) {
$aDictFilesCore[] = $file[0];
}
$aDictFilesModules = array_merge(
glob($sAppRoot.'datamodels/2.x/*/*.dict*.php'), // legacy form in modules
glob($sAppRoot.'datamodels/2.x/*/dictionaries/*.dict*.php'), // modern form in modules
glob($sAppRoot.'dictionaries/*.dict*.php'), // framework
//--- Following should not be present in packages, but are convenient for local debugging !
glob($sAppRoot.'extensions/*/*.dict*.php'),
@@ -172,6 +185,8 @@ class DictionariesConsistencyTest extends ItopTestCase
);
$aDictFiles = array_merge($aDictFilesCore, $aDictFilesModules);
$aTestCases = array();
foreach ($aDictFiles as $sDictFile) {
$aTestCases[$sDictFile] = array('sDictFile' => $sDictFile);