diff --git a/dictionaries/ui/components/datatable/cs.dictionary.itop.datatable.php b/dictionaries/ui/components/datatable/cs.dictionary.itop.datatable.php index 44485f2b84..29dea85443 100644 --- a/dictionaries/ui/components/datatable/cs.dictionary.itop.datatable.php +++ b/dictionaries/ui/components/datatable/cs.dictionary.itop.datatable.php @@ -24,7 +24,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array( 'UI:Datatables:Language:Info' => '_TOTAL_ item(s)~~', 'UI:Datatables:Language:InfoEmpty' => 'No information~~', 'UI:Datatables:Language:EmptyTable' => 'No data available in this table~~', - 'UI:Datatables:Language:Error' => 'An error occured while running the query~~', + 'UI:Datatables:Language:Error' => 'An error occurred while running the query~~', 'UI:Datatables:Language:DisplayLength:All' => 'All~~', 'UI:Datatables:Language:Sort:Ascending' => 'enable for an ascending sort~~', 'UI:Datatables:Language:Sort:Descending' => 'enable for a descending sort~~', diff --git a/dictionaries/ui/components/datatable/da.dictionary.itop.datatable.php b/dictionaries/ui/components/datatable/da.dictionary.itop.datatable.php index 26e4a94015..f9a42bd27d 100644 --- a/dictionaries/ui/components/datatable/da.dictionary.itop.datatable.php +++ b/dictionaries/ui/components/datatable/da.dictionary.itop.datatable.php @@ -24,7 +24,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array( 'UI:Datatables:Language:Info' => '_TOTAL_ item(s)~~', 'UI:Datatables:Language:InfoEmpty' => 'No information~~', 'UI:Datatables:Language:EmptyTable' => 'No data available in this table~~', - 'UI:Datatables:Language:Error' => 'An error occured while running the query~~', + 'UI:Datatables:Language:Error' => 'An error occurred while running the query~~', 'UI:Datatables:Language:DisplayLength:All' => 'All~~', 'UI:Datatables:Language:Sort:Ascending' => 'enable for an ascending sort~~', 'UI:Datatables:Language:Sort:Descending' => 'enable for a descending sort~~', diff --git a/dictionaries/ui/components/datatable/ja.dictionary.itop.datatable.php b/dictionaries/ui/components/datatable/ja.dictionary.itop.datatable.php index 4bb8901a29..0b0b3bdfce 100644 --- a/dictionaries/ui/components/datatable/ja.dictionary.itop.datatable.php +++ b/dictionaries/ui/components/datatable/ja.dictionary.itop.datatable.php @@ -24,7 +24,7 @@ Dict::Add('JA JP', 'Japanese', '日本語', array( 'UI:Datatables:Language:Info' => '_TOTAL_ item(s)~~', 'UI:Datatables:Language:InfoEmpty' => 'No information~~', 'UI:Datatables:Language:EmptyTable' => 'No data available in this table~~', - 'UI:Datatables:Language:Error' => 'An error occured while running the query~~', + 'UI:Datatables:Language:Error' => 'An error occurred while running the query~~', 'UI:Datatables:Language:DisplayLength:All' => 'All~~', 'UI:Datatables:Language:Sort:Ascending' => 'enable for an ascending sort~~', 'UI:Datatables:Language:Sort:Descending' => 'enable for a descending sort~~', diff --git a/dictionaries/ui/components/datatable/ru.dictionary.itop.datatable.php b/dictionaries/ui/components/datatable/ru.dictionary.itop.datatable.php index d3716e780f..3fa844c280 100755 --- a/dictionaries/ui/components/datatable/ru.dictionary.itop.datatable.php +++ b/dictionaries/ui/components/datatable/ru.dictionary.itop.datatable.php @@ -24,7 +24,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', array( 'UI:Datatables:Language:Info' => '_TOTAL_ элементов', 'UI:Datatables:Language:InfoEmpty' => 'Нет информации', 'UI:Datatables:Language:EmptyTable' => 'Нет данных для отображения', - 'UI:Datatables:Language:Error' => 'An error occured while running the query~~', + 'UI:Datatables:Language:Error' => 'An error occurred while running the query~~', 'UI:Datatables:Language:DisplayLength:All' => 'Все', 'UI:Datatables:Language:Sort:Ascending' => 'Включить для сортировки по возрастанию', 'UI:Datatables:Language:Sort:Descending' => 'Включить для сортировки по убыванию', diff --git a/dictionaries/ui/components/datatable/sk.dictionary.itop.datatable.php b/dictionaries/ui/components/datatable/sk.dictionary.itop.datatable.php index 107e7ee28a..3d7570cf66 100644 --- a/dictionaries/ui/components/datatable/sk.dictionary.itop.datatable.php +++ b/dictionaries/ui/components/datatable/sk.dictionary.itop.datatable.php @@ -24,7 +24,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array( 'UI:Datatables:Language:Info' => '_TOTAL_ item(s)~~', 'UI:Datatables:Language:InfoEmpty' => 'No information~~', 'UI:Datatables:Language:EmptyTable' => 'No data available in this table~~', - 'UI:Datatables:Language:Error' => 'An error occured while running the query~~', + 'UI:Datatables:Language:Error' => 'An error occurred while running the query~~', 'UI:Datatables:Language:DisplayLength:All' => 'All~~', 'UI:Datatables:Language:Sort:Ascending' => 'enable for an ascending sort~~', 'UI:Datatables:Language:Sort:Descending' => 'enable for a descending sort~~', diff --git a/dictionaries/ui/components/datatable/tr.dictionary.itop.datatable.php b/dictionaries/ui/components/datatable/tr.dictionary.itop.datatable.php index 452d88e250..3076e0683c 100644 --- a/dictionaries/ui/components/datatable/tr.dictionary.itop.datatable.php +++ b/dictionaries/ui/components/datatable/tr.dictionary.itop.datatable.php @@ -24,7 +24,7 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array( 'UI:Datatables:Language:Info' => '_TOTAL_ item(s)~~', 'UI:Datatables:Language:InfoEmpty' => 'No information~~', 'UI:Datatables:Language:EmptyTable' => 'No data available in this table~~', - 'UI:Datatables:Language:Error' => 'An error occured while running the query~~', + 'UI:Datatables:Language:Error' => 'An error occurred while running the query~~', 'UI:Datatables:Language:DisplayLength:All' => 'All~~', 'UI:Datatables:Language:Sort:Ascending' => 'enable for an ascending sort~~', 'UI:Datatables:Language:Sort:Descending' => 'enable for a descending sort~~', diff --git a/dictionaries/ui/layouts/navigation-menu/cs.dictionary.itop.navigation-menu.php b/dictionaries/ui/layouts/navigation-menu/cs.dictionary.itop.navigation-menu.php index 43e8620738..4974e03e60 100644 --- a/dictionaries/ui/layouts/navigation-menu/cs.dictionary.itop.navigation-menu.php +++ b/dictionaries/ui/layouts/navigation-menu/cs.dictionary.itop.navigation-menu.php @@ -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~~', diff --git a/dictionaries/ui/layouts/navigation-menu/da.dictionary.itop.navigation-menu.php b/dictionaries/ui/layouts/navigation-menu/da.dictionary.itop.navigation-menu.php index 29260c9e16..00dd6e8133 100644 --- a/dictionaries/ui/layouts/navigation-menu/da.dictionary.itop.navigation-menu.php +++ b/dictionaries/ui/layouts/navigation-menu/da.dictionary.itop.navigation-menu.php @@ -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~~', diff --git a/dictionaries/ui/layouts/navigation-menu/fr.dictionary.itop.navigation-menu.php b/dictionaries/ui/layouts/navigation-menu/fr.dictionary.itop.navigation-menu.php index 5f402d1714..3f69d32538 100644 --- a/dictionaries/ui/layouts/navigation-menu/fr.dictionary.itop.navigation-menu.php +++ b/dictionaries/ui/layouts/navigation-menu/fr.dictionary.itop.navigation-menu.php @@ -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', diff --git a/dictionaries/ui/layouts/navigation-menu/ja.dictionary.itop.navigation-menu.php b/dictionaries/ui/layouts/navigation-menu/ja.dictionary.itop.navigation-menu.php index 1c9ce8ec08..3cc7b0ef78 100644 --- a/dictionaries/ui/layouts/navigation-menu/ja.dictionary.itop.navigation-menu.php +++ b/dictionaries/ui/layouts/navigation-menu/ja.dictionary.itop.navigation-menu.php @@ -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~~', diff --git a/dictionaries/ui/layouts/navigation-menu/sk.dictionary.itop.navigation-menu.php b/dictionaries/ui/layouts/navigation-menu/sk.dictionary.itop.navigation-menu.php index b926cf72f4..d2dbabac63 100644 --- a/dictionaries/ui/layouts/navigation-menu/sk.dictionary.itop.navigation-menu.php +++ b/dictionaries/ui/layouts/navigation-menu/sk.dictionary.itop.navigation-menu.php @@ -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~~', diff --git a/dictionaries/ui/layouts/navigation-menu/tr.dictionary.itop.navigation-menu.php b/dictionaries/ui/layouts/navigation-menu/tr.dictionary.itop.navigation-menu.php index 651aba5bfe..d94eff9e35 100644 --- a/dictionaries/ui/layouts/navigation-menu/tr.dictionary.itop.navigation-menu.php +++ b/dictionaries/ui/layouts/navigation-menu/tr.dictionary.itop.navigation-menu.php @@ -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~~', diff --git a/dictionaries/ui/pages/errorpage/hu.dictionary.itop.errorpage.php b/dictionaries/ui/pages/errorpage/hu.dictionary.itop.errorpage.php index d8536135c9..9569d1993f 100644 --- a/dictionaries/ui/pages/errorpage/hu.dictionary.itop.errorpage.php +++ b/dictionaries/ui/pages/errorpage/hu.dictionary.itop.errorpage.php @@ -21,5 +21,5 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array( 'UI:ErrorPage:UnstableVersion' => 'Ön egy instabil verziót használ, amely hibákat tartalmazhat. Ha úgy gondolja, hogy ez a hiba emiatt lépett fel, kérjük, küldje el visszajelzését!', 'UI:ErrorPage:KittyDisclaimer' => 'Egyetlen cica sem sérült meg ennek a GIF-nek a készítése és kiadása során. -- The R&D Team~~', +- The R&D Team', )); diff --git a/tests/php-unit-tests/integration-tests/DictionariesConsistencyTest.php b/tests/php-unit-tests/integration-tests/DictionariesConsistencyTest.php index 1a0c197834..fbe6efdd07 100644 --- a/tests/php-unit-tests/integration-tests/DictionariesConsistencyTest.php +++ b/tests/php-unit-tests/integration-tests/DictionariesConsistencyTest.php @@ -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);