mirror of
https://github.com/Combodo/iTop.git
synced 2026-05-19 15:22:17 +02:00
Merge remote-tracking branch 'origin/support/3.1' into support/3.2
# Conflicts: # dictionaries/ui/components/datatable/it.dictionary.itop.datatable.php # dictionaries/ui/layouts/navigation-menu/it.dictionary.itop.navigation-menu.php
This commit is contained in:
@@ -24,7 +24,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
|
|||||||
'UI:Datatables:Language:Info' => '_TOTAL_ item(s)~~',
|
'UI:Datatables:Language:Info' => '_TOTAL_ item(s)~~',
|
||||||
'UI:Datatables:Language:InfoEmpty' => 'No information~~',
|
'UI:Datatables:Language:InfoEmpty' => 'No information~~',
|
||||||
'UI:Datatables:Language:EmptyTable' => 'No data available in this table~~',
|
'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:DisplayLength:All' => 'All~~',
|
||||||
'UI:Datatables:Language:Sort:Ascending' => 'enable for an ascending sort~~',
|
'UI:Datatables:Language:Sort:Ascending' => 'enable for an ascending sort~~',
|
||||||
'UI:Datatables:Language:Sort:Descending' => 'enable for a descending sort~~',
|
'UI:Datatables:Language:Sort:Descending' => 'enable for a descending sort~~',
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
|
|||||||
'UI:Datatables:Language:Info' => '_TOTAL_ item(s)~~',
|
'UI:Datatables:Language:Info' => '_TOTAL_ item(s)~~',
|
||||||
'UI:Datatables:Language:InfoEmpty' => 'No information~~',
|
'UI:Datatables:Language:InfoEmpty' => 'No information~~',
|
||||||
'UI:Datatables:Language:EmptyTable' => 'No data available in this table~~',
|
'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:DisplayLength:All' => 'All~~',
|
||||||
'UI:Datatables:Language:Sort:Ascending' => 'enable for an ascending sort~~',
|
'UI:Datatables:Language:Sort:Ascending' => 'enable for an ascending sort~~',
|
||||||
'UI:Datatables:Language:Sort:Descending' => 'enable for a descending sort~~',
|
'UI:Datatables:Language:Sort:Descending' => 'enable for a descending sort~~',
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
|
|||||||
'UI:Datatables:Language:Info' => '_TOTAL_ item(s)~~',
|
'UI:Datatables:Language:Info' => '_TOTAL_ item(s)~~',
|
||||||
'UI:Datatables:Language:InfoEmpty' => 'No information~~',
|
'UI:Datatables:Language:InfoEmpty' => 'No information~~',
|
||||||
'UI:Datatables:Language:EmptyTable' => 'No data available in this table~~',
|
'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:DisplayLength:All' => 'All~~',
|
||||||
'UI:Datatables:Language:Sort:Ascending' => 'enable for an ascending sort~~',
|
'UI:Datatables:Language:Sort:Ascending' => 'enable for an ascending sort~~',
|
||||||
'UI:Datatables:Language:Sort:Descending' => 'enable for a descending sort~~',
|
'UI:Datatables:Language:Sort:Descending' => 'enable for a descending sort~~',
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
|
|||||||
'UI:Datatables:Language:Info' => '_TOTAL_ элементов',
|
'UI:Datatables:Language:Info' => '_TOTAL_ элементов',
|
||||||
'UI:Datatables:Language:InfoEmpty' => 'Нет информации',
|
'UI:Datatables:Language:InfoEmpty' => 'Нет информации',
|
||||||
'UI:Datatables:Language:EmptyTable' => 'Нет данных для отображения',
|
'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:DisplayLength:All' => 'Все',
|
||||||
'UI:Datatables:Language:Sort:Ascending' => 'Включить для сортировки по возрастанию',
|
'UI:Datatables:Language:Sort:Ascending' => 'Включить для сортировки по возрастанию',
|
||||||
'UI:Datatables:Language:Sort:Descending' => 'Включить для сортировки по убыванию',
|
'UI:Datatables:Language:Sort:Descending' => 'Включить для сортировки по убыванию',
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
|
|||||||
'UI:Datatables:Language:Info' => '_TOTAL_ item(s)~~',
|
'UI:Datatables:Language:Info' => '_TOTAL_ item(s)~~',
|
||||||
'UI:Datatables:Language:InfoEmpty' => 'No information~~',
|
'UI:Datatables:Language:InfoEmpty' => 'No information~~',
|
||||||
'UI:Datatables:Language:EmptyTable' => 'No data available in this table~~',
|
'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:DisplayLength:All' => 'All~~',
|
||||||
'UI:Datatables:Language:Sort:Ascending' => 'enable for an ascending sort~~',
|
'UI:Datatables:Language:Sort:Ascending' => 'enable for an ascending sort~~',
|
||||||
'UI:Datatables:Language:Sort:Descending' => 'enable for a descending sort~~',
|
'UI:Datatables:Language:Sort:Descending' => 'enable for a descending sort~~',
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
|
|||||||
'UI:Datatables:Language:Info' => '_TOTAL_ item(s)~~',
|
'UI:Datatables:Language:Info' => '_TOTAL_ item(s)~~',
|
||||||
'UI:Datatables:Language:InfoEmpty' => 'No information~~',
|
'UI:Datatables:Language:InfoEmpty' => 'No information~~',
|
||||||
'UI:Datatables:Language:EmptyTable' => 'No data available in this table~~',
|
'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:DisplayLength:All' => 'All~~',
|
||||||
'UI:Datatables:Language:Sort:Ascending' => 'enable for an ascending sort~~',
|
'UI:Datatables:Language:Sort:Ascending' => 'enable for an ascending sort~~',
|
||||||
'UI:Datatables:Language:Sort:Descending' => 'enable for a descending sort~~',
|
'UI:Datatables:Language:Sort:Descending' => 'enable for a descending sort~~',
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
|
|||||||
'UI:Layout:NavigationMenu:MenuFilter:Input:Placeholder' => 'Filter...~~',
|
'UI:Layout:NavigationMenu:MenuFilter:Input:Placeholder' => 'Filter...~~',
|
||||||
'UI:Layout:NavigationMenu:MenuFilter:Input:Tooltip' => 'Type your keywords to filter menus~~',
|
'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: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:WelcomeMessage:Text' => 'Hi %1$s!~~',
|
||||||
'UI:Layout:NavigationMenu:UserInfo:Picture:AltText' => '%1$s\'s contact picture~~',
|
'UI:Layout:NavigationMenu:UserInfo:Picture:AltText' => '%1$s\'s contact picture~~',
|
||||||
'UI:Layout:NavigationMenu:UserMenu:Toggler:Label' => 'Open user menu~~',
|
'UI:Layout:NavigationMenu:UserMenu:Toggler:Label' => 'Open user menu~~',
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
|
|||||||
'UI:Layout:NavigationMenu:MenuFilter:Input:Placeholder' => 'Filter...~~',
|
'UI:Layout:NavigationMenu:MenuFilter:Input:Placeholder' => 'Filter...~~',
|
||||||
'UI:Layout:NavigationMenu:MenuFilter:Input:Tooltip' => 'Type your keywords to filter menus~~',
|
'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: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:WelcomeMessage:Text' => 'Hi %1$s!~~',
|
||||||
'UI:Layout:NavigationMenu:UserInfo:Picture:AltText' => '%1$s\'s contact picture~~',
|
'UI:Layout:NavigationMenu:UserInfo:Picture:AltText' => '%1$s\'s contact picture~~',
|
||||||
'UI:Layout:NavigationMenu:UserMenu:Toggler:Label' => 'Open user menu~~',
|
'UI:Layout:NavigationMenu:UserMenu:Toggler:Label' => 'Open user menu~~',
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
|||||||
'UI:Layout:NavigationMenu:CompanyLogo:AltText' => 'Logo entreprise',
|
'UI:Layout:NavigationMenu:CompanyLogo:AltText' => 'Logo entreprise',
|
||||||
'UI:Layout:NavigationMenu:Silo:Label' => 'Selectionnez l\'organisation sur laquelle filtrer',
|
'UI:Layout:NavigationMenu:Silo:Label' => 'Selectionnez l\'organisation sur laquelle filtrer',
|
||||||
'UI:Layout:NavigationMenu:Toggler:Tooltip' => 'Déplier / Replier',
|
'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:Placeholder' => 'Filtrer...',
|
||||||
'UI:Layout:NavigationMenu:MenuFilter:Input:Tooltip' => 'Saisir des mots-clés pour filtrer les menus',
|
'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',
|
'UI:Layout:NavigationMenu:MenuFilter:Input:Hint' => 'Les correspondances dans chaque groupe de menu seront affichées',
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
|
|||||||
'UI:Layout:NavigationMenu:MenuFilter:Input:Placeholder' => 'Filter...~~',
|
'UI:Layout:NavigationMenu:MenuFilter:Input:Placeholder' => 'Filter...~~',
|
||||||
'UI:Layout:NavigationMenu:MenuFilter:Input:Tooltip' => 'Type your keywords to filter menus~~',
|
'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: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:WelcomeMessage:Text' => 'Hi %1$s!~~',
|
||||||
'UI:Layout:NavigationMenu:UserInfo:Picture:AltText' => '%1$s\'s contact picture~~',
|
'UI:Layout:NavigationMenu:UserInfo:Picture:AltText' => '%1$s\'s contact picture~~',
|
||||||
'UI:Layout:NavigationMenu:UserMenu:Toggler:Label' => 'Open user menu~~',
|
'UI:Layout:NavigationMenu:UserMenu:Toggler:Label' => 'Open user menu~~',
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
|
|||||||
'UI:Layout:NavigationMenu:MenuFilter:Input:Placeholder' => 'Filter...~~',
|
'UI:Layout:NavigationMenu:MenuFilter:Input:Placeholder' => 'Filter...~~',
|
||||||
'UI:Layout:NavigationMenu:MenuFilter:Input:Tooltip' => 'Type your keywords to filter menus~~',
|
'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: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:WelcomeMessage:Text' => 'Hi %1$s!~~',
|
||||||
'UI:Layout:NavigationMenu:UserInfo:Picture:AltText' => '%1$s\'s contact picture~~',
|
'UI:Layout:NavigationMenu:UserInfo:Picture:AltText' => '%1$s\'s contact picture~~',
|
||||||
'UI:Layout:NavigationMenu:UserMenu:Toggler:Label' => 'Open user menu~~',
|
'UI:Layout:NavigationMenu:UserMenu:Toggler:Label' => 'Open user menu~~',
|
||||||
|
|||||||
@@ -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:Placeholder' => 'Filter...~~',
|
||||||
'UI:Layout:NavigationMenu:MenuFilter:Input:Tooltip' => 'Type your keywords to filter menus~~',
|
'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: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:WelcomeMessage:Text' => 'Hi %1$s!~~',
|
||||||
'UI:Layout:NavigationMenu:UserInfo:Picture:AltText' => '%1$s\'s contact picture~~',
|
'UI:Layout:NavigationMenu:UserInfo:Picture:AltText' => '%1$s\'s contact picture~~',
|
||||||
'UI:Layout:NavigationMenu:UserMenu:Toggler:Label' => 'Open user menu~~',
|
'UI:Layout:NavigationMenu:UserMenu:Toggler:Label' => 'Open user menu~~',
|
||||||
|
|||||||
@@ -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: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.
|
'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',
|
||||||
));
|
));
|
||||||
|
|||||||
@@ -18,6 +18,9 @@ namespace Combodo\iTop\Test\UnitTest\Integration;
|
|||||||
use Combodo\iTop\Test\UnitTest\ItopTestCase;
|
use Combodo\iTop\Test\UnitTest\ItopTestCase;
|
||||||
use Error;
|
use Error;
|
||||||
use Exception;
|
use Exception;
|
||||||
|
use RecursiveDirectoryIterator;
|
||||||
|
use RecursiveIteratorIterator;
|
||||||
|
use RegexIterator;
|
||||||
use const ARRAY_FILTER_USE_BOTH;
|
use const ARRAY_FILTER_USE_BOTH;
|
||||||
use const DIRECTORY_SEPARATOR;
|
use const DIRECTORY_SEPARATOR;
|
||||||
|
|
||||||
@@ -161,10 +164,20 @@ class DictionariesConsistencyTest extends ItopTestCase
|
|||||||
$sAppRoot = static::GetAppRoot();
|
$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/*/*.dict*.php'), // legacy form in modules
|
||||||
glob($sAppRoot.'datamodels/2.x/*/dictionaries/*.dict*.php'), // modern 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 !
|
//--- Following should not be present in packages, but are convenient for local debugging !
|
||||||
glob($sAppRoot.'extensions/*/*.dict*.php'),
|
glob($sAppRoot.'extensions/*/*.dict*.php'),
|
||||||
@@ -172,6 +185,8 @@ class DictionariesConsistencyTest extends ItopTestCase
|
|||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
$aDictFiles = array_merge($aDictFilesCore, $aDictFilesModules);
|
||||||
|
|
||||||
$aTestCases = array();
|
$aTestCases = array();
|
||||||
foreach ($aDictFiles as $sDictFile) {
|
foreach ($aDictFiles as $sDictFile) {
|
||||||
$aTestCases[$sDictFile] = array('sDictFile' => $sDictFile);
|
$aTestCases[$sDictFile] = array('sDictFile' => $sDictFile);
|
||||||
|
|||||||
Reference in New Issue
Block a user