Merge remote-tracking branch 'origin/support/2.7' into develop

# Conflicts:
#	test/core/HTMLDOMSanitizerTest.php
This commit is contained in:
Pierre Goiffon
2020-06-26 10:46:48 +02:00
102 changed files with 432 additions and 109 deletions

View File

@@ -2097,4 +2097,9 @@ class DBObjectSearch extends DBSearch
}
return $oExpression;
}
public function ListParameters()
{
return $this->GetCriteria()->ListParameters();
}
}

View File

@@ -1230,6 +1230,8 @@ abstract class DBSearch
*/
public abstract function GetCriteria();
public abstract function ListParameters();
/**
* Shortcut to add efficient IN condition
*

View File

@@ -728,4 +728,14 @@ class DBUnionSearch extends DBSearch
$oSearch->AddConditionExpression($oInCondition);
}
}
public function ListParameters()
{
$aParameters = array();
foreach ($this->aSearches as $oSearch)
{
$aParameters = array_merge($aParameters, $oSearch->ListParameters());
}
return $aParameters;
}
}

View File

@@ -3496,7 +3496,7 @@ abstract class MetaModel
}
if (array_key_exists($sAttCode, self::$m_aAttribDefs[$sTargetClass]))
{
throw new Exception("Declaration of $sTargetClass: attempting to redeclare the inherited attribute '$sAttCode', originaly declared in ".self::$m_aAttribOrigins[$sTargetClass][$sAttCode]);
throw new Exception("Declaration of $sTargetClass: attempting to redeclare the inherited attribute '$sAttCode', originally declared in ".self::$m_aAttribOrigins[$sTargetClass][$sAttCode]);
}
// Set the "host class" as soon as possible, since HierarchicalKeys use it for their 'target class' as well
@@ -4934,7 +4934,7 @@ abstract class MetaModel
//
foreach(self::ListAttributeDefs($sClass) as $sAttCode => $oAttDef)
{
// Skip this attribute if not originaly defined in this class
// Skip this attribute if not originally defined in this class
if (self::$m_aAttribOrigins[$sClass][$sAttCode] != $sClass)
{
continue;
@@ -5308,7 +5308,7 @@ abstract class MetaModel
$sClassRes .= self::MakeDictEntry("Class:$sClass+", self::GetClassDescription_Obsolete($sClass), '', $bNotInDico);
foreach(self::ListAttributeDefs($sClass) as $sAttCode => $oAttDef)
{
// Skip this attribute if not originaly defined in this class
// Skip this attribute if not originally defined in this class
if (self::$m_aAttribOrigins[$sClass][$sAttCode] != $sClass)
{
continue;
@@ -5472,7 +5472,7 @@ abstract class MetaModel
{
if (!$oAttDef->CopyOnAllTables())
{
// Skip this attribute if not originaly defined in this class
// Skip this attribute if not originally defined in this class
if (self::$m_aAttribOrigins[$sClass][$sAttCode] != $sClass)
{
continue;

View File

@@ -2180,7 +2180,7 @@ class NestedQueryExpression extends Expression
public function ListParameters()
{
return array();
return $this->m_oNestedQuery->ListParameters();
}
public function RenameParam($sOldName, $sNewName)
@@ -2332,7 +2332,13 @@ class FunctionExpression extends Expression
public function ListParameters()
{
return array();
$aRes = array();
foreach ($this->m_aArgs as $oExpr)
{
$aRes = array_merge($aRes, $oExpr->ListParameters());
}
return $aRes;
}
public function RenameParam($sOldName, $sNewName)
@@ -2618,7 +2624,7 @@ class IntervalExpression extends Expression
public function ListParameters()
{
return array();
return $this->m_oValue->ListParameters();
}
public function RenameParam($sOldName, $sNewName)
@@ -2769,7 +2775,12 @@ class CharConcatExpression extends Expression
public function ListParameters()
{
return array();
$aRes = array();
foreach ($this->m_aExpressions as $oExpr)
{
$aRes = array_merge($aRes, $oExpr->ListParameters());
}
return $aRes;
}
public function RenameParam($sOldName, $sNewName)

View File

@@ -17,7 +17,7 @@
*/
// Beware the version number MUST be enclosed with quotes otherwise v2.3.0 becomes v2 0.3 .0
$version: "v2.7.0-2";
$version: "v2.7.1";
$approot-relative: "../../../../../" !default; // relative to env-***/branding/themes/***/main.css
// Base colors

View File

@@ -3,7 +3,7 @@
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'authent-local/2.7.0',
'authent-local/2.7.1',
array(
// Identification
//

View File

@@ -51,6 +51,8 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'DBAnalyzer-Integrity-InvalidValue' => 'Invalid value for %1$s (column: `%2$s.%3$s`)~~',
'DBAnalyzer-Integrity-UsersWithoutProfile' => 'Some user accounts have no profile at all~~',
'DBAnalyzer-Fetch-Count-Error' => 'Fetch count error in `%1$s`, %2$d entries fetched / %3$d counted~~',
'DBAnalyzer-Integrity-FinalClass' => 'Field `%2$s`.`%1$s` must have the same value as `%3$s`.`%1$s`~~',
'DBAnalyzer-Integrity-RootFinalClass' => 'Field `%2$s`.`%1$s` must contains a valid class~~',
));
// Database Info

View File

@@ -51,6 +51,8 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'DBAnalyzer-Integrity-InvalidValue' => 'Invalid value for %1$s (column: `%2$s.%3$s`)~~',
'DBAnalyzer-Integrity-UsersWithoutProfile' => 'Some user accounts have no profile at all~~',
'DBAnalyzer-Fetch-Count-Error' => 'Fetch count error in `%1$s`, %2$d entries fetched / %3$d counted~~',
'DBAnalyzer-Integrity-FinalClass' => 'Field `%2$s`.`%1$s` must have the same value as `%3$s`.`%1$s`~~',
'DBAnalyzer-Integrity-RootFinalClass' => 'Field `%2$s`.`%1$s` must contains a valid class~~',
));
// Database Info

View File

@@ -48,6 +48,8 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'DBAnalyzer-Integrity-InvalidValue' => 'Ungültiger Wert für %1$s (Spalte: `%2$s.%3$s`)',
'DBAnalyzer-Integrity-UsersWithoutProfile' => 'Manche Benutzerkonten haben keinerlei zugewiesenes Profi',
'DBAnalyzer-Fetch-Count-Error' => 'Fetch-Count-Fehler in `%1$s`, %2$d Einträge geholt (fetched) / %3$d gezählt',
'DBAnalyzer-Integrity-FinalClass' => 'Field `%2$s`.`%1$s` must have the same value as `%3$s`.`%1$s`~~',
'DBAnalyzer-Integrity-RootFinalClass' => 'Field `%2$s`.`%1$s` must contains a valid class~~',
));
// Database Info

View File

@@ -52,7 +52,7 @@ Dict::Add('EN US', 'English', 'English', array(
'DBAnalyzer-Integrity-InvalidValue' => 'Invalid value for %1$s (column: `%2$s.%3$s`)',
'DBAnalyzer-Integrity-UsersWithoutProfile' => 'Some user accounts have no profile at all',
'DBAnalyzer-Fetch-Count-Error' => 'Fetch count error in `%1$s`, %2$d entries fetched / %3$d counted',
'DBAnalyzer-Integrity-FinalClass' => 'Field `%2$s`.`%1$s` must have the same value than `%3$s`.`%1$s`',
'DBAnalyzer-Integrity-FinalClass' => 'Field `%2$s`.`%1$s` must have the same value as `%3$s`.`%1$s`',
'DBAnalyzer-Integrity-RootFinalClass' => 'Field `%2$s`.`%1$s` must contains a valid class',
));

View File

@@ -51,6 +51,8 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
'DBAnalyzer-Integrity-InvalidValue' => 'Valor inválido para %1$s (columna: `%2$s.%3$s`)',
'DBAnalyzer-Integrity-UsersWithoutProfile' => 'Algunas cuentas de usuario no tienen perfil asignado',
'DBAnalyzer-Fetch-Count-Error' => 'Fetch count error in `%1$s`, %2$d entries fetched / %3$d counted~~',
'DBAnalyzer-Integrity-FinalClass' => 'Field `%2$s`.`%1$s` must have the same value as `%3$s`.`%1$s`~~',
'DBAnalyzer-Integrity-RootFinalClass' => 'Field `%2$s`.`%1$s` must contains a valid class~~',
));
// Database Info

View File

@@ -51,6 +51,8 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'DBAnalyzer-Integrity-InvalidValue' => 'Invalid value for %1$s (column: `%2$s.%3$s`)~~',
'DBAnalyzer-Integrity-UsersWithoutProfile' => 'Some user accounts have no profile at all~~',
'DBAnalyzer-Fetch-Count-Error' => 'Fetch count error in `%1$s`, %2$d entries fetched / %3$d counted~~',
'DBAnalyzer-Integrity-FinalClass' => 'Field `%2$s`.`%1$s` must have the same value as `%3$s`.`%1$s`~~',
'DBAnalyzer-Integrity-RootFinalClass' => 'Field `%2$s`.`%1$s` must contains a valid class~~',
));
// Database Info

View File

@@ -51,6 +51,8 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'DBAnalyzer-Integrity-InvalidValue' => 'Invalid value for %1$s (column: `%2$s.%3$s`)~~',
'DBAnalyzer-Integrity-UsersWithoutProfile' => 'Some user accounts have no profile at all~~',
'DBAnalyzer-Fetch-Count-Error' => 'Fetch count error in `%1$s`, %2$d entries fetched / %3$d counted~~',
'DBAnalyzer-Integrity-FinalClass' => 'Field `%2$s`.`%1$s` must have the same value as `%3$s`.`%1$s`~~',
'DBAnalyzer-Integrity-RootFinalClass' => 'Field `%2$s`.`%1$s` must contains a valid class~~',
));
// Database Info

View File

@@ -51,6 +51,8 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'DBAnalyzer-Integrity-InvalidValue' => 'Invalid value for %1$s (column: `%2$s.%3$s`)~~',
'DBAnalyzer-Integrity-UsersWithoutProfile' => 'Some user accounts have no profile at all~~',
'DBAnalyzer-Fetch-Count-Error' => 'Fetch count error in `%1$s`, %2$d entries fetched / %3$d counted~~',
'DBAnalyzer-Integrity-FinalClass' => 'Field `%2$s`.`%1$s` must have the same value as `%3$s`.`%1$s`~~',
'DBAnalyzer-Integrity-RootFinalClass' => 'Field `%2$s`.`%1$s` must contains a valid class~~',
));
// Database Info

View File

@@ -24,7 +24,7 @@
/** @noinspection PhpUnhandledExceptionInspection */
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'combodo-db-tools/2.7.0',
'combodo-db-tools/2.7.1',
array(
// Identification
//

View File

@@ -53,6 +53,8 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'DBAnalyzer-Integrity-InvalidValue' => 'Ongeldige waarde voor %1$s (kolom: "%2$s.%3$s")',
'DBAnalyzer-Integrity-UsersWithoutProfile' => 'Sommige gebruikersaccounts hebben geen profiel',
'DBAnalyzer-Fetch-Count-Error' => 'Opvraag-fout in "%1$s", %2$d records opgevraagd / %3$d geteld',
'DBAnalyzer-Integrity-FinalClass' => 'Field `%2$s`.`%1$s` must have the same value as `%3$s`.`%1$s`~~',
'DBAnalyzer-Integrity-RootFinalClass' => 'Field `%2$s`.`%1$s` must contains a valid class~~',
));
// Database Info

View File

@@ -51,6 +51,8 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
'DBAnalyzer-Integrity-InvalidValue' => 'Invalid value for %1$s (column: `%2$s.%3$s`)~~',
'DBAnalyzer-Integrity-UsersWithoutProfile' => 'Some user accounts have no profile at all~~',
'DBAnalyzer-Fetch-Count-Error' => 'Fetch count error in `%1$s`, %2$d entries fetched / %3$d counted~~',
'DBAnalyzer-Integrity-FinalClass' => 'Field `%2$s`.`%1$s` must have the same value as `%3$s`.`%1$s`~~',
'DBAnalyzer-Integrity-RootFinalClass' => 'Field `%2$s`.`%1$s` must contains a valid class~~',
));
// Database Info

View File

@@ -38,6 +38,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'DBAnalyzer-Integrity-InvalidValue' => 'Недопустимое значение для %1$s (столбец: `%2$s.%3$s`)',
'DBAnalyzer-Integrity-UsersWithoutProfile' => 'Некоторые учетные записи пользователей не имеют профилей',
'DBAnalyzer-Fetch-Count-Error' => 'Fetch count error in `%1$s`, %2$d entries fetched / %3$d counted~~',
'DBAnalyzer-Integrity-FinalClass' => 'Field `%2$s`.`%1$s` must have the same value as `%3$s`.`%1$s`~~',
'DBAnalyzer-Integrity-RootFinalClass' => 'Field `%2$s`.`%1$s` must contains a valid class~~',
));
// Database Info

View File

@@ -51,6 +51,8 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'DBAnalyzer-Integrity-InvalidValue' => 'Invalid value for %1$s (column: `%2$s.%3$s`)~~',
'DBAnalyzer-Integrity-UsersWithoutProfile' => 'Some user accounts have no profile at all~~',
'DBAnalyzer-Fetch-Count-Error' => 'Fetch count error in `%1$s`, %2$d entries fetched / %3$d counted~~',
'DBAnalyzer-Integrity-FinalClass' => 'Field `%2$s`.`%1$s` must have the same value as `%3$s`.`%1$s`~~',
'DBAnalyzer-Integrity-RootFinalClass' => 'Field `%2$s`.`%1$s` must contains a valid class~~',
));
// Database Info

View File

@@ -51,6 +51,8 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'DBAnalyzer-Integrity-InvalidValue' => 'Invalid value for %1$s (column: `%2$s.%3$s`)~~',
'DBAnalyzer-Integrity-UsersWithoutProfile' => 'Some user accounts have no profile at all~~',
'DBAnalyzer-Fetch-Count-Error' => 'Fetch count error in `%1$s`, %2$d entries fetched / %3$d counted~~',
'DBAnalyzer-Integrity-FinalClass' => 'Field `%2$s`.`%1$s` must have the same value as `%3$s`.`%1$s`~~',
'DBAnalyzer-Integrity-RootFinalClass' => 'Field `%2$s`.`%1$s` must contains a valid class~~',
));
// Database Info

View File

@@ -51,6 +51,8 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'DBAnalyzer-Integrity-InvalidValue' => '无效的值 %1$s (列: `%2$s.%3$s`)~~',
'DBAnalyzer-Integrity-UsersWithoutProfile' => 'Some user accounts have no profile at all~~',
'DBAnalyzer-Fetch-Count-Error' => 'Fetch count error in `%1$s`, %2$d entries fetched / %3$d counted~~',
'DBAnalyzer-Integrity-FinalClass' => 'Field `%2$s`.`%1$s` must have the same value than `%3$s`.`%1$s`~~',
'DBAnalyzer-Integrity-RootFinalClass' => 'Field `%2$s`.`%1$s` must contains a valid class~~',
));
// Database Info

View File

@@ -38,6 +38,9 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'Attachments:NoAttachment' => 'Žádná příloha. ',
'Attachments:PreviewNotAvailable' => 'Pro tento typ přílohy není náhled k dispozici.',
'Attachments:Error:FileTooLarge' => 'File is too large to be uploaded. %1$s~~',
'Attachments:Error:UploadedFileEmpty' => 'The received file is empty and cannot be attached.
Either you have pushed an empty file,
or ask your iTop administrator if the iTop server disk is full.~~',
'Attachments:Render:Icons' => 'Display as icons~~',
'Attachments:Render:Table' => 'Display as list~~',
));

View File

@@ -35,6 +35,9 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'Attachments:NoAttachment' => 'Intet vedhæftet. ',
'Attachments:PreviewNotAvailable' => 'Preview not available for this type of attachment.~~',
'Attachments:Error:FileTooLarge' => 'File is too large to be uploaded. %1$s~~',
'Attachments:Error:UploadedFileEmpty' => 'The received file is empty and cannot be attached.
Either you have pushed an empty file,
or ask your iTop administrator if the iTop server disk is full.~~',
'Attachments:Render:Icons' => 'Display as icons~~',
'Attachments:Render:Table' => 'Display as list~~',
));

View File

@@ -37,6 +37,9 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'Attachments:NoAttachment' => 'Kein Attachment. ',
'Attachments:PreviewNotAvailable' => 'Vorschau für diesen Attachment-Typ nicht verfügbar.',
'Attachments:Error:FileTooLarge' => 'Die Datei ist zu groß für den Upload: %1$s',
'Attachments:Error:UploadedFileEmpty' => 'The received file is empty and cannot be attached.
Either you have pushed an empty file,
or ask your iTop administrator if the iTop server disk is full.~~',
'Attachments:Render:Icons' => 'Als Icons anzeigen',
'Attachments:Render:Table' => 'Als Liste anzeigen',
));

View File

@@ -37,6 +37,9 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
'Attachments:NoAttachment' => 'No hay Anexo. ',
'Attachments:PreviewNotAvailable' => 'Vista preliminar no disponible para este tipo de Anexo.',
'Attachments:Error:FileTooLarge' => 'File is too large to be uploaded. %1$s~~',
'Attachments:Error:UploadedFileEmpty' => 'The received file is empty and cannot be attached.
Either you have pushed an empty file,
or ask your iTop administrator if the iTop server disk is full.~~',
'Attachments:Render:Icons' => 'Display as icons~~',
'Attachments:Render:Table' => 'Display as list~~',
));

View File

@@ -35,6 +35,9 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Attachments:NoAttachment' => 'No attachment. ~~',
'Attachments:PreviewNotAvailable' => 'Preview not available for this type of attachment.~~',
'Attachments:Error:FileTooLarge' => 'File is too large to be uploaded. %1$s~~',
'Attachments:Error:UploadedFileEmpty' => 'The received file is empty and cannot be attached.
Either you have pushed an empty file,
or ask your iTop administrator if the iTop server disk is full.~~',
'Attachments:Render:Icons' => 'Display as icons~~',
'Attachments:Render:Table' => 'Display as list~~',
));

View File

@@ -35,6 +35,9 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Attachments:NoAttachment' => 'No attachment. ~~',
'Attachments:PreviewNotAvailable' => 'Preview not available for this type of attachment.~~',
'Attachments:Error:FileTooLarge' => 'File is too large to be uploaded. %1$s~~',
'Attachments:Error:UploadedFileEmpty' => 'The received file is empty and cannot be attached.
Either you have pushed an empty file,
or ask your iTop administrator if the iTop server disk is full.~~',
'Attachments:Render:Icons' => 'Display as icons~~',
'Attachments:Render:Table' => 'Display as list~~',
));

View File

@@ -34,6 +34,9 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'Attachments:NoAttachment' => '添付はありません。',
'Attachments:PreviewNotAvailable' => 'Preview not available for this type of attachment.~~',
'Attachments:Error:FileTooLarge' => 'File is too large to be uploaded. %1$s~~',
'Attachments:Error:UploadedFileEmpty' => 'The received file is empty and cannot be attached.
Either you have pushed an empty file,
or ask your iTop administrator if the iTop server disk is full.~~',
'Attachments:Render:Icons' => 'Display as icons~~',
'Attachments:Render:Table' => 'Display as list~~',
));

View File

@@ -19,7 +19,7 @@
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'itop-attachments/2.7.0',
'itop-attachments/2.7.1',
array(
// Identification
//

View File

@@ -40,6 +40,9 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'Attachments:NoAttachment' => 'Geen bijlage. ',
'Attachments:PreviewNotAvailable' => 'Er is geen voorbeeld beschikbaar voor dit type bijlage.',
'Attachments:Error:FileTooLarge' => 'Het bestand is te groot om geüpload te worden: %1$s',
'Attachments:Error:UploadedFileEmpty' => 'The received file is empty and cannot be attached.
Either you have pushed an empty file,
or ask your iTop administrator if the iTop server disk is full.~~',
'Attachments:Render:Icons' => 'Toon als pictogram',
'Attachments:Render:Table' => 'Toon als lijst',
));

View File

@@ -36,6 +36,9 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
'Attachments:NoAttachment' => 'Nenhum anexo. ',
'Attachments:PreviewNotAvailable' => 'Preview not available for this type of attachment.~~',
'Attachments:Error:FileTooLarge' => 'File is too large to be uploaded. %1$s~~',
'Attachments:Error:UploadedFileEmpty' => 'The received file is empty and cannot be attached.
Either you have pushed an empty file,
or ask your iTop administrator if the iTop server disk is full.~~',
'Attachments:Render:Icons' => 'Display as icons~~',
'Attachments:Render:Table' => 'Display as list~~',
));

View File

@@ -23,6 +23,9 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'Attachments:NoAttachment' => 'Нет вложений.',
'Attachments:PreviewNotAvailable' => 'Предварительный просмотр не доступен для этого типа вложений.',
'Attachments:Error:FileTooLarge' => 'Файл слишком велик для загрузки. %1$s',
'Attachments:Error:UploadedFileEmpty' => 'The received file is empty and cannot be attached.
Either you have pushed an empty file,
or ask your iTop administrator if the iTop server disk is full.~~',
'Attachments:Render:Icons' => 'Display as icons~~',
'Attachments:Render:Table' => 'Display as list~~',
));

View File

@@ -35,6 +35,9 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'Attachments:NoAttachment' => 'Bez prílohy. ',
'Attachments:PreviewNotAvailable' => 'Preview not available for this type of attachment.~~',
'Attachments:Error:FileTooLarge' => 'File is too large to be uploaded. %1$s~~',
'Attachments:Error:UploadedFileEmpty' => 'The received file is empty and cannot be attached.
Either you have pushed an empty file,
or ask your iTop administrator if the iTop server disk is full.~~',
'Attachments:Render:Icons' => 'Display as icons~~',
'Attachments:Render:Table' => 'Display as list~~',
));

View File

@@ -35,6 +35,9 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'Attachments:NoAttachment' => 'No attachment. ~~',
'Attachments:PreviewNotAvailable' => 'Preview not available for this type of attachment.~~',
'Attachments:Error:FileTooLarge' => 'File is too large to be uploaded. %1$s~~',
'Attachments:Error:UploadedFileEmpty' => 'The received file is empty and cannot be attached.
Either you have pushed an empty file,
or ask your iTop administrator if the iTop server disk is full.~~',
'Attachments:Render:Icons' => 'Display as icons~~',
'Attachments:Render:Table' => 'Display as list~~',
));

View File

@@ -31,6 +31,9 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'Attachments:NoAttachment' => '没有附件. ',
'Attachments:PreviewNotAvailable' => '该附件类型不支持预览.',
'Attachments:Error:FileTooLarge' => '上传的文件过大. %1$s~~',
'Attachments:Error:UploadedFileEmpty' => 'The received file is empty and cannot be attached.
Either you have pushed an empty file,
or ask your iTop administrator if the iTop server disk is full.~~',
'Attachments:Render:Icons' => '显示为图标',
'Attachments:Render:Table' => '显示为列表',
));

View File

@@ -3,7 +3,7 @@
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'itop-backup/2.7.0',
'itop-backup/2.7.1',
array(
// Identification
//

View File

@@ -3,7 +3,7 @@
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'itop-config-mgmt/2.7.0',
'itop-config-mgmt/2.7.1',
array(
// Identification
//

View File

@@ -73,7 +73,8 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'Checking filesystem failed (File not exist %1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Checking filesystem failed~~',
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Application can be updated~~',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
// Setup Messages
'iTopUpdate:UI:SetupMessage:Ready' => 'Ready to start~~',

View File

@@ -73,7 +73,8 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'Checking filesystem failed (File not exist %1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Checking filesystem failed~~',
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Application can be updated~~',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
// Setup Messages
'iTopUpdate:UI:SetupMessage:Ready' => 'Ready to start~~',

View File

@@ -73,7 +73,8 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'Dateisystemprüfung fehlgeschlagen (Datei nicht vorhanden %1$s)',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Dateisystemprüfung fehlgeschlagen',
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Anwendungsupgrade kann durchgeführt werden',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Anwendungsupgrade nicht möglich: %1$s',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Anwendungsupgrade nicht möglich: %1$s',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
// Setup Messages
'iTopUpdate:UI:SetupMessage:Ready' => 'Bereit zum Upgrade',

View File

@@ -22,9 +22,9 @@
*/
Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
'iTopUpdate:UI:PageTitle' => 'Actualización de aplicación',
'itop-core-update:UI:SelectUpdateFile' => 'Application Upgrade~~',
'itop-core-update:UI:ConfirmUpdate' => 'Application Upgrade~~',
'itop-core-update:UI:UpdateCoreFiles' => 'Application Upgrade~~',
'itop-core-update:UI:SelectUpdateFile' => 'Application Upgrade~~',
'itop-core-update:UI:ConfirmUpdate' => 'Application Upgrade~~',
'itop-core-update:UI:UpdateCoreFiles' => 'Application Upgrade~~',
'iTopUpdate:UI:MaintenanceModeActive' => 'La aplicación está actualmente en mantenimiento, ningún usuario puede acceder. UStede debe ejecutar la instalación o restaturar la aplicación para regresar al modo normal.',
'itop-core-update:UI:UpdateDone' => 'Application Upgrade~~',
@@ -39,64 +39,65 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
'iTopUpdate:UI:DoUpdate' => 'Actualizar',
'iTopUpdate:UI:CurrentVersion' => 'Versión instalada actualmente',
'iTopUpdate:UI:NewVersion' => 'Nueva versión instalada',
'iTopUpdate:UI:Back' => 'Volver',
'iTopUpdate:UI:Cancel' => 'Cancelar',
'iTopUpdate:UI:Continue' => 'Continuar',
'iTopUpdate:UI:Back' => 'Volver',
'iTopUpdate:UI:Cancel' => 'Cancelar',
'iTopUpdate:UI:Continue' => 'Continuar',
'iTopUpdate:UI:RunSetup' => 'Ejecutar instalación',
'iTopUpdate:UI:WithDBBackup' => 'Respaldo de base de datos',
'iTopUpdate:UI:WithFilesBackup' => 'Respaldo de archivos de aplicación',
'iTopUpdate:UI:WithoutBackup' => 'No hay respaldos planificados',
'iTopUpdate:UI:Backup' => 'Respaldo generado antes de actualizar',
'iTopUpdate:UI:WithDBBackup' => 'Respaldo de base de datos',
'iTopUpdate:UI:WithFilesBackup' => 'Respaldo de archivos de aplicación',
'iTopUpdate:UI:WithoutBackup' => 'No hay respaldos planificados',
'iTopUpdate:UI:Backup' => 'Respaldo generado antes de actualizar',
'iTopUpdate:UI:DoFilesArchive' => 'Respaldar archivos de aplicación',
'iTopUpdate:UI:UploadArchive' => 'Selecione un paquete para subir',
'iTopUpdate:UI:ServerFile' => 'Ruta del paquete disponible en el servidor',
'iTopUpdate:UI:WarningReadOnlyDuringUpdate' => 'Durante la actualización, la aplicación estará en modo sólo lectura.',
'iTopUpdate:UI:Status' => 'Estado',
'iTopUpdate:UI:Action' => 'Actualización',
'iTopUpdate:UI:History' => 'Historial de versiones',
'iTopUpdate:UI:Progress' => 'Progreso de actualización',
'iTopUpdate:UI:Status' => 'Estado',
'iTopUpdate:UI:Action' => 'Actualización',
'iTopUpdate:UI:History' => 'Historial de versiones',
'iTopUpdate:UI:Progress' => 'Progreso de actualización',
'iTopUpdate:UI:DoBackup:Label' => 'Respaldo de archivos y base de datos',
'iTopUpdate:UI:DoBackup:Warning' => 'El respaldo no está recomendado por el limitado espacio en el dispositivo',
'iTopUpdate:UI:DoBackup:Label' => 'Respaldo de archivos y base de datos',
'iTopUpdate:UI:DoBackup:Warning' => 'El respaldo no está recomendado por el limitado espacio en el dispositivo',
'iTopUpdate:UI:DiskFreeSpace' => 'Espaciolibre en el dispositivo',
'iTopUpdate:UI:ItopDiskSpace' => 'Espacio en diso de iTop',
'iTopUpdate:UI:DBDiskSpace' => 'Espacio en diso de base de datos',
'iTopUpdate:UI:DiskFreeSpace' => 'Espaciolibre en el dispositivo',
'iTopUpdate:UI:ItopDiskSpace' => 'Espacio en diso de iTop',
'iTopUpdate:UI:DBDiskSpace' => 'Espacio en diso de base de datos',
'iTopUpdate:UI:FileUploadMaxSize' => 'Máximo tamaño de subida de archivos',
'iTopUpdate:UI:PostMaxSize' => 'Valor post_max_size en PHP ini: %1$s~~',
'iTopUpdate:UI:UploadMaxFileSize' => 'Valor upload_max_filesize en PHP ini: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:Loading' => 'Revisando sistema de archivos',
'iTopUpdate:UI:CanCoreUpdate:Error' => 'La revisión del sistema de archivos falló (%1$s)',
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'La revisión del sistema de archivos falló (Archivo no existe %1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'La revisión del sistema de archivos falló',
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'La aplicación puede ser actualizada',
'iTopUpdate:UI:CanCoreUpdate:Loading' => 'Revisando sistema de archivos',
'iTopUpdate:UI:CanCoreUpdate:Error' => 'La revisión del sistema de archivos falló (%1$s)',
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'La revisión del sistema de archivos falló (Archivo no existe %1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'La revisión del sistema de archivos falló',
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'La aplicación puede ser actualizada',
'iTopUpdate:UI:CanCoreUpdate:No' => 'La aplicación no puede ser actualizada: %1$s',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
// Setup Messages
'iTopUpdate:UI:SetupMessage:Ready' => 'Listo para empezar',
'iTopUpdate:UI:SetupMessage:Ready' => 'Listo para empezar',
'iTopUpdate:UI:SetupMessage:EnterMaintenance' => 'Entrando en modo mantenimiento',
'iTopUpdate:UI:SetupMessage:Backup' => 'Respaldo de base de datos',
'iTopUpdate:UI:SetupMessage:FilesArchive' => 'Respaldar archivos de aplicación',
'iTopUpdate:UI:SetupMessage:CopyFiles' => 'Copiar archivos de nueva version',
'iTopUpdate:UI:SetupMessage:CopyFiles' => 'Copiar archivos de nueva version',
'iTopUpdate:UI:SetupMessage:CheckCompile' => 'Revisar actualización de aplicación',
'iTopUpdate:UI:SetupMessage:Compile' => 'Actualizar aplicación y base de datos',
'iTopUpdate:UI:SetupMessage:UpdateDatabase' => 'Actualizar base de datos',
'iTopUpdate:UI:SetupMessage:ExitMaintenance' => 'Saliendo del modo mantenimiento',
'iTopUpdate:UI:SetupMessage:UpdateDone' => 'Actualización completada',
'iTopUpdate:UI:SetupMessage:UpdateDone' => 'Actualización completada',
// Errors
'iTopUpdate:Error:MissingFunction' => 'Imposible comenzar actualización, función no disponible',
'iTopUpdate:Error:MissingFile' => 'Archivo no encontrado: %1$s~~',
'iTopUpdate:Error:CorruptedFile' => 'El archivo %1$s está corrupto',
'iTopUpdate:Error:BadFileFormat' => 'El archivo de actualización no es un archivo zip',
'iTopUpdate:Error:BadFileContent' => 'El archivo de actualización no es correcto',
'iTopUpdate:Error:BadItopProduct' => 'El archivo de actualización no es compatible con su producto',
'iTopUpdate:Error:BadFileFormat' => 'El archivo de actualización no es un archivo zip',
'iTopUpdate:Error:BadFileContent' => 'El archivo de actualización no es correcto',
'iTopUpdate:Error:BadItopProduct' => 'El archivo de actualización no es compatible con su producto',
'iTopUpdate:Error:Copy' => 'Error, no puedo copiar \'%1$s\' a \'%2$s\'~~',
'iTopUpdate:Error:FileNotFound' => 'Archivo no encontrado',
'iTopUpdate:Error:NoFile' => 'Archivo no seleccionado',
'iTopUpdate:Error:FileNotFound' => 'Archivo no encontrado',
'iTopUpdate:Error:NoFile' => 'Archivo no seleccionado',
'iTopUpdate:Error:InvalidToken' => 'Token inválido',
'iTopUpdate:Error:UpdateFailed' => 'La actualización ha fallado',
'iTopUpdate:Error:FileUploadMaxSizeTooSmall' => 'El archivo de actualización parece demasiado pequeño. Por favor cambie la configuración PHP.',
@@ -107,9 +108,11 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
'Menu:iTopUpdate' => 'Actualización de aplicación',
'Menu:iTopUpdate+' => 'Actualización de aplicación',
// Missing itop entries
'Class:ModuleInstallation/Attribute:installed' => 'Instalado en',
'Class:ModuleInstallation/Attribute:name' => 'Nombre',
'Class:ModuleInstallation/Attribute:version' => 'Versión',
'Class:ModuleInstallation/Attribute:comment' => 'Commentario',
// Missing itop entries
'Class:ModuleInstallation/Attribute:installed' => 'Instalado en',
'Class:ModuleInstallation/Attribute:name' => 'Nombre',
'Class:ModuleInstallation/Attribute:version' => 'Versión',
'Class:ModuleInstallation/Attribute:comment' => 'Commentario',
));

View File

@@ -73,7 +73,8 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'Checking filesystem failed (File not exist %1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Checking filesystem failed~~',
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Application can be updated~~',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
// Setup Messages
'iTopUpdate:UI:SetupMessage:Ready' => 'Ready to start~~',

View File

@@ -73,7 +73,8 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'Checking filesystem failed (File not exist %1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Checking filesystem failed~~',
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Application can be updated~~',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
// Setup Messages
'iTopUpdate:UI:SetupMessage:Ready' => 'Ready to start~~',

View File

@@ -73,7 +73,8 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'Checking filesystem failed (File not exist %1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Checking filesystem failed~~',
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Application can be updated~~',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
// Setup Messages
'iTopUpdate:UI:SetupMessage:Ready' => 'Ready to start~~',

View File

@@ -24,7 +24,7 @@
/** @noinspection PhpUnhandledExceptionInspection */
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'itop-core-update/2.7.0',
'itop-core-update/2.7.1',
array(
// Identification
//

View File

@@ -75,7 +75,8 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'Controle van het bestandssysteem mislukt (Bestand bestaat niet: %1$s)',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Controle van het bestandssysteem is mislukt',
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Updaten van toepassing is mogelijk',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Updaten van de toepassing is niet mogelijk: %1$s',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Updaten van de toepassing is niet mogelijk: %1$s',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
// Setup Messages
'iTopUpdate:UI:SetupMessage:Ready' => 'Klaar om verder te gaan',

View File

@@ -73,7 +73,8 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'Checking filesystem failed (File not exist %1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Checking filesystem failed~~',
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Application can be updated~~',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
// Setup Messages
'iTopUpdate:UI:SetupMessage:Ready' => 'Ready to start~~',

View File

@@ -10,9 +10,9 @@
*/
Dict::Add('RU RU', 'Russian', 'Русский', array(
'iTopUpdate:UI:PageTitle' => 'Обновление приложения',
'itop-core-update:UI:SelectUpdateFile' => 'Обновление',
'itop-core-update:UI:ConfirmUpdate' => 'Обновление',
'itop-core-update:UI:UpdateCoreFiles' => 'Обновление',
'itop-core-update:UI:SelectUpdateFile' => 'Обновление',
'itop-core-update:UI:ConfirmUpdate' => 'Обновление',
'itop-core-update:UI:UpdateCoreFiles' => 'Обновление',
'iTopUpdate:UI:MaintenanceModeActive' => 'В настоящее время приложение находится в режиме технического обслуживания, пользователи не могут получить доступ к приложению. Вы должны запустить программу установки или восстановить архив приложения, чтобы вернуться к нормальному режиму.',
'itop-core-update:UI:UpdateDone' => 'Обновление завершено',
@@ -27,64 +27,65 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'iTopUpdate:UI:DoUpdate' => 'Начать обновление',
'iTopUpdate:UI:CurrentVersion' => 'Текущая версия',
'iTopUpdate:UI:NewVersion' => 'Новая версия',
'iTopUpdate:UI:Back' => 'Назад',
'iTopUpdate:UI:Cancel' => 'Отменть',
'iTopUpdate:UI:Continue' => 'Продолжить',
'iTopUpdate:UI:Back' => 'Назад',
'iTopUpdate:UI:Cancel' => 'Отменть',
'iTopUpdate:UI:Continue' => 'Продолжить',
'iTopUpdate:UI:RunSetup' => 'Запустить установку',
'iTopUpdate:UI:WithDBBackup' => 'Резервная копия базы данных',
'iTopUpdate:UI:WithFilesBackup' => 'Архив файлов приложения',
'iTopUpdate:UI:WithoutBackup' => 'Без резервного копирования',
'iTopUpdate:UI:Backup' => 'Резервное копирование перед обновлением',
'iTopUpdate:UI:WithDBBackup' => 'Резервная копия базы данных',
'iTopUpdate:UI:WithFilesBackup' => 'Архив файлов приложения',
'iTopUpdate:UI:WithoutBackup' => 'Без резервного копирования',
'iTopUpdate:UI:Backup' => 'Резервное копирование перед обновлением',
'iTopUpdate:UI:DoFilesArchive' => 'Создать архив файлов приложения',
'iTopUpdate:UI:UploadArchive' => 'Выбор пакета для загрузки',
'iTopUpdate:UI:ServerFile' => 'Путь к пакету на сервере',
'iTopUpdate:UI:WarningReadOnlyDuringUpdate' => 'Во время обновления приложение будет доступно только для чтения.',
'iTopUpdate:UI:Status' => 'Статус',
'iTopUpdate:UI:Action' => 'Обновление',
'iTopUpdate:UI:History' => 'История версий',
'iTopUpdate:UI:Progress' => 'Ход обновления',
'iTopUpdate:UI:Status' => 'Статус',
'iTopUpdate:UI:Action' => 'Обновление',
'iTopUpdate:UI:History' => 'История версий',
'iTopUpdate:UI:Progress' => 'Ход обновления',
'iTopUpdate:UI:DoBackup:Label' => 'Создать резервную копию базы данных',
'iTopUpdate:UI:DoBackup:Warning' => 'Резервное копирование не рекомендуется из-за ограниченного свободного места на диске',
'iTopUpdate:UI:DoBackup:Label' => 'Создать резервную копию базы данных',
'iTopUpdate:UI:DoBackup:Warning' => 'Резервное копирование не рекомендуется из-за ограниченного свободного места на диске',
'iTopUpdate:UI:DiskFreeSpace' => 'Доступное дисковое пространство',
'iTopUpdate:UI:ItopDiskSpace' => 'Размер приложения',
'iTopUpdate:UI:DBDiskSpace' => 'Размер базы данных',
'iTopUpdate:UI:DiskFreeSpace' => 'Доступное дисковое пространство',
'iTopUpdate:UI:ItopDiskSpace' => 'Размер приложения',
'iTopUpdate:UI:DBDiskSpace' => 'Размер базы данных',
'iTopUpdate:UI:FileUploadMaxSize' => 'Максимальный размер загружаемого файла',
'iTopUpdate:UI:PostMaxSize' => 'Значение PHP ini post_max_size: %1$s',
'iTopUpdate:UI:UploadMaxFileSize' => 'Значение PHP ini upload_max_filesize: %1$s',
'iTopUpdate:UI:CanCoreUpdate:Loading' => 'Проверка файловой системы',
'iTopUpdate:UI:CanCoreUpdate:Error' => 'Ошибка проверки файловой системы (%1$s)',
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'Ошибка проверки файловой системы (файл не существует %1$s)',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Ошибка проверки файловой системы',
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Приложение может быть обновлено',
'iTopUpdate:UI:CanCoreUpdate:Loading' => 'Проверка файловой системы',
'iTopUpdate:UI:CanCoreUpdate:Error' => 'Ошибка проверки файловой системы (%1$s)',
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'Ошибка проверки файловой системы (файл не существует %1$s)',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Ошибка проверки файловой системы',
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Приложение может быть обновлено',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Приложение не может быть обновлено: %1$s',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
// Setup Messages
'iTopUpdate:UI:SetupMessage:Ready' => 'Всё готово к началу',
'iTopUpdate:UI:SetupMessage:Ready' => 'Всё готово к началу',
'iTopUpdate:UI:SetupMessage:EnterMaintenance' => 'Переход в режим технического обслуживания',
'iTopUpdate:UI:SetupMessage:Backup' => 'Резервное копирование базы данных',
'iTopUpdate:UI:SetupMessage:FilesArchive' => 'Архивирование файлов приложения',
'iTopUpdate:UI:SetupMessage:CopyFiles' => 'Копирование файлов обновления',
'iTopUpdate:UI:SetupMessage:CopyFiles' => 'Копирование файлов обновления',
'iTopUpdate:UI:SetupMessage:CheckCompile' => 'Проверка обновления',
'iTopUpdate:UI:SetupMessage:Compile' => 'Обновление приложения',
'iTopUpdate:UI:SetupMessage:UpdateDatabase' => 'Обновление базы данных',
'iTopUpdate:UI:SetupMessage:ExitMaintenance' => 'Выход из режима технического обслуживания',
'iTopUpdate:UI:SetupMessage:UpdateDone' => 'Обновление завершено',
'iTopUpdate:UI:SetupMessage:UpdateDone' => 'Обновление завершено',
// Errors
'iTopUpdate:Error:MissingFunction' => 'Невозможно запустить обновление, функция отсутствует',
'iTopUpdate:Error:MissingFile' => 'Отсутствует файл: %1$s',
'iTopUpdate:Error:CorruptedFile' => 'Файл %1$s поврежден',
'iTopUpdate:Error:BadFileFormat' => 'Файл обновления не является zip-файлом',
'iTopUpdate:Error:BadFileContent' => 'Файл обновления не является архивом приложения',
'iTopUpdate:Error:BadItopProduct' => 'Файл обновления не совместим с вашим приложением',
'iTopUpdate:Error:BadFileFormat' => 'Файл обновления не является zip-файлом',
'iTopUpdate:Error:BadFileContent' => 'Файл обновления не является архивом приложения',
'iTopUpdate:Error:BadItopProduct' => 'Файл обновления не совместим с вашим приложением',
'iTopUpdate:Error:Copy' => 'Ошибка, не удаётся скопировать \'%1$s\' в \'%2$s\'',
'iTopUpdate:Error:FileNotFound' => 'Файл не найден',
'iTopUpdate:Error:NoFile' => 'Нет архива',
'iTopUpdate:Error:FileNotFound' => 'Файл не найден',
'iTopUpdate:Error:NoFile' => 'Нет архива',
'iTopUpdate:Error:InvalidToken' => 'Недопустимый токен',
'iTopUpdate:Error:UpdateFailed' => 'Ошибка обновления',
'iTopUpdate:Error:FileUploadMaxSizeTooSmall' => 'Максимальный размер загрузки недостаточный для обновления. Пожалуйста, измените конфигурацию PHP.',
@@ -95,11 +96,11 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'Menu:iTopUpdate' => 'Обновление приложения',
'Menu:iTopUpdate+' => 'Обновление приложения',
// Missing itop entries
'Class:ModuleInstallation/Attribute:installed' => 'Дата установки',
'Class:ModuleInstallation/Attribute:name' => 'Название',
'Class:ModuleInstallation/Attribute:version' => 'Версия',
'Class:ModuleInstallation/Attribute:comment' => 'Комментарий',
// Missing itop entries
'Class:ModuleInstallation/Attribute:installed' => 'Дата установки',
'Class:ModuleInstallation/Attribute:name' => 'Название',
'Class:ModuleInstallation/Attribute:version' => 'Версия',
'Class:ModuleInstallation/Attribute:comment' => 'Комментарий',
));

View File

@@ -73,7 +73,8 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'Checking filesystem failed (File not exist %1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Checking filesystem failed~~',
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Application can be updated~~',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
// Setup Messages
'iTopUpdate:UI:SetupMessage:Ready' => 'Ready to start~~',

View File

@@ -73,7 +73,8 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'Checking filesystem failed (File not exist %1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Checking filesystem failed~~',
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Application can be updated~~',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
// Setup Messages
'iTopUpdate:UI:SetupMessage:Ready' => 'Ready to start~~',

View File

@@ -73,7 +73,8 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => '文件系统检查失败 ( %1$s 文件不存在)',
'iTopUpdate:UI:CanCoreUpdate:Failed' => '文件系统检查失败',
'iTopUpdate:UI:CanCoreUpdate:Yes' => '应用无法升级',
'iTopUpdate:UI:CanCoreUpdate:No' => '应用无法升级: %1$s',
'iTopUpdate:UI:CanCoreUpdate:No' => '应用无法升级: %1$s',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
// Setup Messages
'iTopUpdate:UI:SetupMessage:Ready' => '准备开始',

View File

@@ -24,7 +24,7 @@
/** @noinspection PhpUnhandledExceptionInspection */
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'itop-files-information/2.7.0',
'itop-files-information/2.7.1',
array(
// Identification
//

View File

@@ -20,7 +20,7 @@
/** @noinspection PhpUnhandledExceptionInspection */
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'itop-portal-base/2.7.0', array(
'itop-portal-base/2.7.1', array(
// Identification
'label' => 'Portal Development Library',
'category' => 'Portal',

View File

@@ -370,6 +370,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'Class:SLA/Attribute:slts_list+' => 'Všechny cíle úrovně služeb pro tuto dohodu o úrovni služeb',
'Class:SLA/Attribute:customercontracts_list' => 'Smlouvy se zákazníky',
'Class:SLA/Attribute:customercontracts_list+' => 'Všechny smlouvy se zákazníky využívající tuto dohodu o úrovni služeb',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -358,6 +358,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'Class:SLA/Attribute:slts_list+' => '',
'Class:SLA/Attribute:customercontracts_list' => 'Kundekontrakt',
'Class:SLA/Attribute:customercontracts_list+' => '',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -360,6 +360,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'Class:SLA/Attribute:slts_list+' => '',
'Class:SLA/Attribute:customercontracts_list' => 'Kunden-Verträge',
'Class:SLA/Attribute:customercontracts_list+' => '',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -370,7 +370,7 @@ Dict::Add('EN US', 'English', 'English', array(
'Class:SLA/Attribute:slts_list+' => 'All the service level targets for this SLA',
'Class:SLA/Attribute:customercontracts_list' => 'Customer contracts',
'Class:SLA/Attribute:customercontracts_list+' => 'All the customer contracts using this SLA',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : already one SLA exist',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists',
));
//

View File

@@ -369,6 +369,7 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
'Class:SLA/Attribute:slts_list+' => 'Objetivos de Nivel de Servicio',
'Class:SLA/Attribute:customercontracts_list' => 'Acuerdos con Clientes',
'Class:SLA/Attribute:customercontracts_list+' => 'Acuerdos con Clientes',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -367,6 +367,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:SLA/Attribute:slts_list+' => 'All the service level targets for this SLA~~',
'Class:SLA/Attribute:customercontracts_list' => 'Customer contracts~~',
'Class:SLA/Attribute:customercontracts_list+' => 'All the customer contracts using this SLA~~',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -367,6 +367,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:SLA/Attribute:slts_list+' => 'All the service level targets for this SLA~~',
'Class:SLA/Attribute:customercontracts_list' => 'Customer contracts~~',
'Class:SLA/Attribute:customercontracts_list+' => 'All the customer contracts using this SLA~~',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -357,6 +357,7 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'Class:SLA/Attribute:slts_list+' => '',
'Class:SLA/Attribute:customercontracts_list' => '顧客契約',
'Class:SLA/Attribute:customercontracts_list+' => '',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -3,7 +3,7 @@
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'itop-service-mgmt-provider/2.7.0',
'itop-service-mgmt-provider/2.7.1',
array(
// Identification
//

View File

@@ -372,6 +372,7 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'Class:SLA/Attribute:slts_list+' => 'Alle servicelevel-doelstellingen voor deze SLA',
'Class:SLA/Attribute:customercontracts_list' => 'Klantencontracten',
'Class:SLA/Attribute:customercontracts_list+' => 'Alle klantencontracten die gebruik maken van deze SLA',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -368,6 +368,7 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
'Class:SLA/Attribute:slts_list+' => 'Todos os SLTs para essa SLA',
'Class:SLA/Attribute:customercontracts_list' => 'Contratos clientes',
'Class:SLA/Attribute:customercontracts_list+' => 'Todos os contratos de clientes utilizando essa SLA',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -346,6 +346,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'Class:SLA/Attribute:slts_list+' => 'Целевой показатель уровня услуги (Service Level Target)',
'Class:SLA/Attribute:customercontracts_list' => 'Договоры с заказчиками',
'Class:SLA/Attribute:customercontracts_list+' => 'Договоры с заказчиками, в которых используется SLA',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -367,6 +367,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'Class:SLA/Attribute:slts_list+' => '',
'Class:SLA/Attribute:customercontracts_list' => 'Zákaznícke zmluvy',
'Class:SLA/Attribute:customercontracts_list+' => '',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -367,6 +367,7 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'Class:SLA/Attribute:slts_list+' => 'All the service level targets for this SLA~~',
'Class:SLA/Attribute:customercontracts_list' => 'Customer contracts~~',
'Class:SLA/Attribute:customercontracts_list+' => 'All the customer contracts using this SLA~~',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -367,6 +367,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'Class:SLA/Attribute:slts_list+' => '该SLA 包含的所有服务等级目标',
'Class:SLA/Attribute:customercontracts_list' => '客户合同',
'Class:SLA/Attribute:customercontracts_list+' => '使用该SLA 的所有客户合同',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -360,6 +360,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'Class:SLA/Attribute:slts_list+' => 'Všechny cíle úrovně služeb pro tuto dohodu o úrovni služeb',
'Class:SLA/Attribute:customercontracts_list' => 'Smlouvy se zákazníky',
'Class:SLA/Attribute:customercontracts_list+' => 'Všechny smlouvy se zákazníky využívající tuto dohodu o úrovni služeb',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -348,6 +348,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'Class:SLA/Attribute:slts_list+' => 'Service Level Threshholds:',
'Class:SLA/Attribute:customercontracts_list' => 'Kunde kontrakter',
'Class:SLA/Attribute:customercontracts_list+' => '',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -350,6 +350,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'Class:SLA/Attribute:slts_list+' => 'Service Level Targets:',
'Class:SLA/Attribute:customercontracts_list' => 'Kunden-Verträge',
'Class:SLA/Attribute:customercontracts_list+' => '',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -360,7 +360,7 @@ Dict::Add('EN US', 'English', 'English', array(
'Class:SLA/Attribute:slts_list+' => 'All the service level targets for this SLA',
'Class:SLA/Attribute:customercontracts_list' => 'Customer contracts',
'Class:SLA/Attribute:customercontracts_list+' => 'All the customer contracts using this SLA',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : already one SLA exist',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists',
));
//

View File

@@ -359,6 +359,7 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
'Class:SLA/Attribute:slts_list+' => 'Objetivos de Nivel de Servicio',
'Class:SLA/Attribute:customercontracts_list' => 'Acuerdos con Clientes',
'Class:SLA/Attribute:customercontracts_list+' => 'Acuerdos con Clientes',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -347,6 +347,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:SLA/Attribute:slts_list+' => 'All the service level targets for this SLA~~',
'Class:SLA/Attribute:customercontracts_list' => 'Customer contracts~~',
'Class:SLA/Attribute:customercontracts_list+' => 'All the customer contracts using this SLA~~',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -358,6 +358,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:SLA/Attribute:slts_list+' => 'All the service level targets for this SLA~~',
'Class:SLA/Attribute:customercontracts_list' => 'Customer contracts~~',
'Class:SLA/Attribute:customercontracts_list+' => 'All the customer contracts using this SLA~~',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -347,6 +347,7 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'Class:SLA/Attribute:slts_list+' => '',
'Class:SLA/Attribute:customercontracts_list' => '顧客連絡先',
'Class:SLA/Attribute:customercontracts_list+' => '',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -3,7 +3,7 @@
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'itop-service-mgmt/2.7.0',
'itop-service-mgmt/2.7.1',
array(
// Identification
//

View File

@@ -362,6 +362,7 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'Class:SLA/Attribute:slts_list+' => 'Alle servicelevel-doelstellingen voor deze SLA',
'Class:SLA/Attribute:customercontracts_list' => 'Klantencontracten',
'Class:SLA/Attribute:customercontracts_list+' => 'Alle klantencontracten die gebruik maken van deze SLA',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -358,6 +358,7 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
'Class:SLA/Attribute:slts_list+' => 'Todos os SLTs para essa SLA',
'Class:SLA/Attribute:customercontracts_list' => 'Contratos clientes',
'Class:SLA/Attribute:customercontracts_list+' => 'Todos os contratos de clientes utilizando essa SLA',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -336,6 +336,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'Class:SLA/Attribute:slts_list+' => 'Целевые показатели уровня услуги (Service Level Target)',
'Class:SLA/Attribute:customercontracts_list' => 'Договоры с заказчиками',
'Class:SLA/Attribute:customercontracts_list+' => 'Договоры с заказчиками, в которых используется SLA',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -357,6 +357,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'Class:SLA/Attribute:slts_list+' => '',
'Class:SLA/Attribute:customercontracts_list' => 'Zákaznícke zmluvy',
'Class:SLA/Attribute:customercontracts_list+' => '',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -359,6 +359,7 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'Class:SLA/Attribute:slts_list+' => 'All the service level targets for this SLA~~',
'Class:SLA/Attribute:customercontracts_list' => 'Customer contracts~~',
'Class:SLA/Attribute:customercontracts_list+' => 'All the customer contracts using this SLA~~',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -357,6 +357,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'Class:SLA/Attribute:slts_list+' => '该SLA 包含的所有服务等级目标',
'Class:SLA/Attribute:customercontracts_list' => '客户合同',
'Class:SLA/Attribute:customercontracts_list+' => '使用这个SLA 的所有客户合同',
'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//

View File

@@ -3,7 +3,7 @@
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'itop-welcome-itil/2.7.0',
'itop-welcome-itil/2.7.1',
array(
// Identification
//

View File

@@ -420,6 +420,9 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'UI:Button:Insert' => 'Insert~~',
'UI:Button:More' => 'More~~',
'UI:Button:Less' => 'Less~~',
'UI:Button:Wait' => 'Please wait while updating fields~~',
'UI:Treeview:CollapseAll' => 'Collapse All~~',
'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Hledání',
'UI:ClickToCreateNew' => 'Nový objekt (%1$s)',
@@ -1441,6 +1444,8 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'UI:Button:RemoveImage' => 'Odebrat obrázek',
'UI:UploadNotSupportedInThisMode' => 'Úprava obrázků není v tomto režimu podporována.',
'UI:Button:RemoveDocument' => 'Remove the document~~',
// Search form
'UI:Search:Toggle' => 'Minimize / Expand~~',
'UI:Search:AutoSubmit:DisabledHint' => 'Auto submit has been disabled for this class~~',

View File

@@ -407,6 +407,9 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'UI:Button:Insert' => 'Insert~~',
'UI:Button:More' => 'More~~',
'UI:Button:Less' => 'Less~~',
'UI:Button:Wait' => 'Please wait while updating fields~~',
'UI:Treeview:CollapseAll' => 'Collapse All~~',
'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Søg',
'UI:ClickToCreateNew' => 'Opret nyt objekt af typen %1$s ',
@@ -1430,6 +1433,8 @@ Ved tilknytningen til en trigger, bliver hver handling tildelt et "rækkefølge"
'UI:Button:RemoveImage' => 'Remove the image~~',
'UI:UploadNotSupportedInThisMode' => 'The modification of images or files is not supported in this mode.~~',
'UI:Button:RemoveDocument' => 'Remove the document~~',
// Search form
'UI:Search:Toggle' => 'Minimize / Expand~~',
'UI:Search:AutoSubmit:DisabledHint' => 'Auto submit has been disabled for this class~~',

View File

@@ -406,6 +406,9 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'UI:Button:Insert' => 'Einfügen',
'UI:Button:More' => 'Mehr',
'UI:Button:Less' => 'Weniger',
'UI:Button:Wait' => 'Please wait while updating fields~~',
'UI:Treeview:CollapseAll' => 'Collapse All~~',
'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Suche',
'UI:ClickToCreateNew' => 'Klicken Sie hier, um eine neues Objekt vom Typ %1$s zu erstellen',
@@ -1428,6 +1431,8 @@ Wenn Aktionen mit Trigger verknüpft sind, bekommt jede Aktion eine Auftragsnumm
'UI:Button:RemoveImage' => 'Bild löschen',
'UI:UploadNotSupportedInThisMode' => 'Die Modifizierung von Bildern oder Dateien wird in diesem Modus nicht unterstützt.',
'UI:Button:RemoveDocument' => 'Remove the document~~',
// Search form
'UI:Search:Toggle' => 'Ein-/Ausklappen',
'UI:Search:AutoSubmit:DisabledHint' => 'Automatische Eingabe für diese Klasse deaktiviert',

View File

@@ -418,6 +418,9 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
'UI:Button:Insert' => 'Insertar',
'UI:Button:More' => 'Más',
'UI:Button:Less' => 'Menos',
'UI:Button:Wait' => 'Please wait while updating fields~~',
'UI:Treeview:CollapseAll' => 'Collapse All~~',
'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Buscar',
'UI:ClickToCreateNew' => 'Crear %1$s',
@@ -1443,6 +1446,8 @@ Cuando se asocien con un disparador, cada acción recibe un número de "orden",
'UI:Button:RemoveImage' => 'Remover imágen',
'UI:UploadNotSupportedInThisMode' => 'La modificación de imágenes o archivos no está soportado en este modo.',
'UI:Button:RemoveDocument' => 'Remove the document~~',
// Search form
'UI:Search:Toggle' => 'Minimizar/ Expandir',
'UI:Search:AutoSubmit:DisabledHint' => 'Auto enviar ha sido deshabilitado para esta clase',

View File

@@ -406,6 +406,8 @@ Dict::Add('FR FR', 'French', 'Français', array(
'UI:Button:More' => 'Plus',
'UI:Button:Less' => 'Moins',
'UI:Button:Wait' => 'Patientez pendant la mise à jour des champs',
'UI:Treeview:CollapseAll' => 'Tout replier',
'UI:Treeview:ExpandAll' => 'Tout déplier',
'UI:SearchToggle' => 'Recherche',
'UI:ClickToCreateNew' => 'Créer un nouvel objet de type %1$s',

View File

@@ -405,6 +405,9 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'UI:Button:Insert' => 'Insert~~',
'UI:Button:More' => 'More~~',
'UI:Button:Less' => 'Less~~',
'UI:Button:Wait' => 'Please wait while updating fields~~',
'UI:Treeview:CollapseAll' => 'Collapse All~~',
'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Keresés',
'UI:ClickToCreateNew' => 'Új %1$s létrehozása',
@@ -1427,6 +1430,8 @@ Akció kiváltó okhoz rendelésekor kap egy sorszámot , amely meghatározza az
'UI:Button:RemoveImage' => 'Remove the image~~',
'UI:UploadNotSupportedInThisMode' => 'The modification of images or files is not supported in this mode.~~',
'UI:Button:RemoveDocument' => 'Remove the document~~',
// Search form
'UI:Search:Toggle' => 'Minimize / Expand~~',
'UI:Search:AutoSubmit:DisabledHint' => 'Auto submit has been disabled for this class~~',

View File

@@ -418,6 +418,9 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'UI:Button:Insert' => 'Insert~~',
'UI:Button:More' => 'More~~',
'UI:Button:Less' => 'Less~~',
'UI:Button:Wait' => 'Please wait while updating fields~~',
'UI:Treeview:CollapseAll' => 'Collapse All~~',
'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Cerca',
'UI:ClickToCreateNew' => 'Crea un nuovo %1$s~~',
@@ -1442,6 +1445,8 @@ Quando è associata a un trigger, ad ogni azione è assegnato un numero "ordine"
'UI:Button:RemoveImage' => 'Remove the image~~',
'UI:UploadNotSupportedInThisMode' => 'The modification of images or files is not supported in this mode.~~',
'UI:Button:RemoveDocument' => 'Remove the document~~',
// Search form
'UI:Search:Toggle' => 'Minimize / Expand~~',
'UI:Search:AutoSubmit:DisabledHint' => 'Auto submit has been disabled for this class~~',

View File

@@ -405,6 +405,9 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'UI:Button:Insert' => 'Insert~~',
'UI:Button:More' => 'More~~',
'UI:Button:Less' => 'Less~~',
'UI:Button:Wait' => 'Please wait while updating fields~~',
'UI:Treeview:CollapseAll' => 'Collapse All~~',
'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => '検索(トグル↓↑)',
'UI:ClickToCreateNew' => '新規 %1$s を作成',
@@ -1428,6 +1431,8 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'UI:Button:RemoveImage' => 'Remove the image~~',
'UI:UploadNotSupportedInThisMode' => 'The modification of images or files is not supported in this mode.~~',
'UI:Button:RemoveDocument' => 'Remove the document~~',
// Search form
'UI:Search:Toggle' => 'Minimize / Expand~~',
'UI:Search:AutoSubmit:DisabledHint' => 'Auto submit has been disabled for this class~~',

View File

@@ -424,6 +424,9 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'UI:Button:Insert' => 'Invoegen',
'UI:Button:More' => 'Meer',
'UI:Button:Less' => 'Minder',
'UI:Button:Wait' => 'Please wait while updating fields~~',
'UI:Treeview:CollapseAll' => 'Collapse All~~',
'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Zoek',
'UI:ClickToCreateNew' => 'Maak een %1$s aan',
@@ -1450,6 +1453,8 @@ Bij die koppeling wordt aan elke actie een volgorde-nummer gegeven. Dit bepaalt
'UI:Button:RemoveImage' => 'Afbeelding verwijderen',
'UI:UploadNotSupportedInThisMode' => 'Het aanpassen van afbeeldingen of bestanden wordt niet ondersteund in deze mode.',
'UI:Button:RemoveDocument' => 'Remove the document~~',
// Search form
'UI:Search:Toggle' => 'Inklappen / uitklappen',
'UI:Search:AutoSubmit:DisabledHint' => 'Direct zoeken werd uitgeschakeld voor deze klasse.',

View File

@@ -418,6 +418,9 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
'UI:Button:Insert' => 'Inserir',
'UI:Button:More' => 'Mais',
'UI:Button:Less' => 'Menos',
'UI:Button:Wait' => 'Please wait while updating fields~~',
'UI:Treeview:CollapseAll' => 'Collapse All~~',
'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Pesquisar',
'UI:ClickToCreateNew' => 'Criar um(a) novo(a) %1$s',
@@ -1441,6 +1444,8 @@ When associated with a trigger, each action is given an "order" number, specifyi
'UI:Button:RemoveImage' => 'Remover a imagem',
'UI:UploadNotSupportedInThisMode' => 'A modificação de imagens ou arquivos não é suportada neste modo.',
'UI:Button:RemoveDocument' => 'Remove the document~~',
// Search form
'UI:Search:Toggle' => 'Minimizar / Expandir',
'UI:Search:AutoSubmit:DisabledHint' => 'O envio automático foi desativado para esta classe',

View File

@@ -397,6 +397,9 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'UI:Button:Insert' => 'Вставить',
'UI:Button:More' => 'Больше',
'UI:Button:Less' => 'Меньше',
'UI:Button:Wait' => 'Please wait while updating fields~~',
'UI:Treeview:CollapseAll' => 'Collapse All~~',
'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Поиск',
'UI:ClickToCreateNew' => 'Создать: %1$s',
@@ -1419,6 +1422,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'UI:Button:RemoveImage' => 'Удалить изображение',
'UI:UploadNotSupportedInThisMode' => 'Изменение изображений и файлов не поддерживается в этом режиме.',
'UI:Button:RemoveDocument' => 'Remove the document~~',
// Search form
'UI:Search:Toggle' => 'Развернуть / Свернуть',
'UI:Search:AutoSubmit:DisabledHint' => 'Автоматический запуск поиска отключен для данного класса',

View File

@@ -405,6 +405,9 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'UI:Button:Insert' => 'Insert~~',
'UI:Button:More' => 'More~~',
'UI:Button:Less' => 'Less~~',
'UI:Button:Wait' => 'Please wait while updating fields~~',
'UI:Treeview:CollapseAll' => 'Collapse All~~',
'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Vyhľadávanie',
'UI:ClickToCreateNew' => 'Vytvoriť nové %1$s',
@@ -1430,6 +1433,8 @@ Keď sú priradené spúštačom, každej akcii je dané číslo "príkazu", šp
'UI:Button:RemoveImage' => 'Remove the image~~',
'UI:UploadNotSupportedInThisMode' => 'The modification of images or files is not supported in this mode.~~',
'UI:Button:RemoveDocument' => 'Remove the document~~',
// Search form
'UI:Search:Toggle' => 'Minimize / Expand~~',
'UI:Search:AutoSubmit:DisabledHint' => 'Auto submit has been disabled for this class~~',

View File

@@ -419,6 +419,9 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'UI:Button:Insert' => 'Insert~~',
'UI:Button:More' => 'More~~',
'UI:Button:Less' => 'Less~~',
'UI:Button:Wait' => 'Please wait while updating fields~~',
'UI:Treeview:CollapseAll' => 'Collapse All~~',
'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Ara',
'UI:ClickToCreateNew' => 'Yeni %1$s yarat',
@@ -1442,6 +1445,8 @@ Tetikleme gerçekleştiriğinde işlemler tanımlanan sıra numarası ile gerçe
'UI:Button:RemoveImage' => 'Remove the image~~',
'UI:UploadNotSupportedInThisMode' => 'The modification of images or files is not supported in this mode.~~',
'UI:Button:RemoveDocument' => 'Remove the document~~',
// Search form
'UI:Search:Toggle' => 'Minimize / Expand~~',
'UI:Search:AutoSubmit:DisabledHint' => 'Auto submit has been disabled for this class~~',

View File

@@ -418,6 +418,9 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'UI:Button:Insert' => '插入',
'UI:Button:More' => '更多',
'UI:Button:Less' => '更少',
'UI:Button:Wait' => 'Please wait while updating fields~~',
'UI:Treeview:CollapseAll' => 'Collapse All~~',
'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => '搜索',
'UI:ClickToCreateNew' => '新建 %1$s',
@@ -1441,6 +1444,8 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'UI:Button:RemoveImage' => '移除图片',
'UI:UploadNotSupportedInThisMode' => '本模式下不支持修改文件或图片.',
'UI:Button:RemoveDocument' => 'Remove the document~~',
// Search form
'UI:Search:Toggle' => '折叠 / 展开',
'UI:Search:AutoSubmit:DisabledHint' => '该类别已禁用自动提交',

View File

@@ -0,0 +1,47 @@
<?php
namespace Combodo\iTop\Test\UnitTest\Core;
use Combodo\iTop\Test\UnitTest\ItopDataTestCase;
use Expression;
class ExpressionTest extends ItopDataTestCase
{
const USE_TRANSACTION = false;
/**
* @dataProvider ListParametersProvider
* @param $sOQL
* @param $aExpected
*
* @throws \OQLException
*/
public function testListParameters($sOQL, $aExpected)
{
$oExpression = Expression::FromOQL($sOQL);
$aParameters = $oExpression->ListParameters();
$aResult = array();
foreach ($aParameters as $oVarExpr)
{
/** var \VariableExpression $oVarExpr */
$aResult[] = $oVarExpr->RenderExpression();
}
$this->debug($aResult);
$this->assertSame(array_diff($aExpected, $aResult), array_diff($aResult, $aExpected));
}
public function ListParametersProvider()
{
return array(
array('1', array()),
array(':id = 2', array(':id')),
array('expiration_date < DATE_SUB(NOW(), INTERVAL :expiration_days DAY)', array(':expiration_days')),
array('id IN (SELECT Organization WHERE :id = 2)', array(':id')),
array('id IN (:id, 2)', array(':id')),
array("B.name LIKE :name", array(':name')),
array("name REGEXP :regexp", array(':regexp')),
array(" t.agent_id = :current_contact_id", array(':current_contact_id')),
array("INET_ATON(dev.managementip) > INET_ATON('10.22.32.224') AND INET_ATON(:ip) < INET_ATON('10.22.32.255')", array(':ip')),
);
}
}

Some files were not shown because too many files have changed in this diff Show More