mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-15 08:24:10 +01:00
Compare commits
106 Commits
N2016
...
itop-carbo
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b0414748cb | ||
|
|
b6418d95e7 | ||
|
|
2d6251e5df | ||
|
|
91f410a85c | ||
|
|
0a48696cd8 | ||
|
|
2f71570390 | ||
|
|
78b6c03af7 | ||
|
|
22342cdc05 | ||
|
|
dcf4963e0c | ||
|
|
9ec36a76f6 | ||
|
|
09b470e6c7 | ||
|
|
40151c7a43 | ||
|
|
34c030b501 | ||
|
|
c59d3cc624 | ||
|
|
b5c4801beb | ||
|
|
3eff8f62b1 | ||
|
|
16c8466841 | ||
|
|
b83e5e2b72 | ||
|
|
764b0f8e31 | ||
|
|
cac0da4e3d | ||
|
|
7e064365eb | ||
|
|
7c7382f372 | ||
|
|
4918b9c83a | ||
|
|
ed95f4e05f | ||
|
|
9f0e8dc49b | ||
|
|
693fdfdc5b | ||
|
|
b8d5c01382 | ||
|
|
01108ca83d | ||
|
|
3d5b7197f6 | ||
|
|
d3db77c675 | ||
|
|
54c027823b | ||
|
|
f63aceeabe | ||
|
|
533e65fcd1 | ||
|
|
3fb0c768e6 | ||
|
|
243aab1030 | ||
|
|
22dba9ae07 | ||
|
|
02857a86fd | ||
|
|
d663d01798 | ||
|
|
3602163b38 | ||
|
|
3322074ce7 | ||
|
|
83bb3b6d72 | ||
|
|
229f800266 | ||
|
|
75737b4ffe | ||
|
|
a5340917a7 | ||
|
|
914d19e7e4 | ||
|
|
eb49dbbdc8 | ||
|
|
912bab5a43 | ||
|
|
94092f445f | ||
|
|
856c037bb0 | ||
|
|
388896b963 | ||
|
|
1d8addf675 | ||
|
|
c8c3d32b18 | ||
|
|
75a0979eee | ||
|
|
d6a0a279a5 | ||
|
|
44f5d71e1b | ||
|
|
9c71d32964 | ||
|
|
d199d84b27 | ||
|
|
24aca83de4 | ||
|
|
3de7aa1ada | ||
|
|
5a0edb5c39 | ||
|
|
d4fec14123 | ||
|
|
38951fab1a | ||
|
|
e2c8237beb | ||
|
|
1224570fa5 | ||
|
|
afb99c0f4b | ||
|
|
733c908e34 | ||
|
|
377b4b038c | ||
|
|
3f7fd6f9f9 | ||
|
|
1cb36621a1 | ||
|
|
ddd9188eb7 | ||
|
|
02254eac67 | ||
|
|
ebe026b2e9 | ||
|
|
efc7c5b0f4 | ||
|
|
f68a77450d | ||
|
|
c5943c6c28 | ||
|
|
bc3b50ad23 | ||
|
|
1f7923beae | ||
|
|
2f15bbdaf3 | ||
|
|
a2d34d1779 | ||
|
|
cdba1e0d36 | ||
|
|
48f15d7781 | ||
|
|
d0a766d424 | ||
|
|
a89bca4626 | ||
|
|
23ec21e494 | ||
|
|
63a36fd0f6 | ||
|
|
02617e8976 | ||
|
|
7cf7e55454 | ||
|
|
5067c867b8 | ||
|
|
6b5cc7ca4b | ||
|
|
7bb49893ee | ||
|
|
bf62b63173 | ||
|
|
b8fb1fa78a | ||
|
|
818b4d08da | ||
|
|
f438fbd06f | ||
|
|
297a45d477 | ||
|
|
17fe9dfd5f | ||
|
|
9d0cbca497 | ||
|
|
a613b4b101 | ||
|
|
c989e2eda5 | ||
|
|
c6fd381b01 | ||
|
|
a784661025 | ||
|
|
1f9a638bc1 | ||
|
|
545504c0de | ||
|
|
32f1e97bcd | ||
|
|
43b0747b83 | ||
|
|
9637e75f97 |
37
.gitignore
vendored
37
.gitignore
vendored
@@ -1,36 +1,37 @@
|
||||
|
||||
# no slash at the end to handle also symlinks
|
||||
/toolkit
|
||||
/conf/*
|
||||
/env-*/*
|
||||
/conf
|
||||
/env-*
|
||||
|
||||
# composer reserver directory, from sources, populate/update using "composer install"
|
||||
vendor/*
|
||||
test/vendor/*
|
||||
|
||||
# all datas but listing prevention
|
||||
data/*
|
||||
!data/.htaccess
|
||||
!data/index.php
|
||||
!data/web.config
|
||||
/data/**
|
||||
!/data/.htaccess
|
||||
!/data/index.php
|
||||
!/data/web.config
|
||||
|
||||
# iTop extensions
|
||||
extensions/*
|
||||
!extensions/readme.txt
|
||||
/extensions/**
|
||||
!/extensions/readme.txt
|
||||
|
||||
# all logs but listing prevention
|
||||
log/*
|
||||
!log/.htaccess
|
||||
!log/index.php
|
||||
!log/web.config
|
||||
/log/**
|
||||
!/log/.htaccess
|
||||
!/log/index.php
|
||||
!/log/web.config
|
||||
|
||||
|
||||
# Jetbrains
|
||||
.idea/**
|
||||
!.idea/encodings.xml
|
||||
!.idea/codeStyles
|
||||
!.idea/codeStyles/*
|
||||
!.idea/inspectionProfiles
|
||||
!.idea/inspectionProfiles/*
|
||||
/.idea/**
|
||||
!/.idea/encodings.xml
|
||||
!/.idea/codeStyles
|
||||
!/.idea/codeStyles/*
|
||||
!/.idea/inspectionProfiles
|
||||
!/.idea/inspectionProfiles/*
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -825,6 +825,10 @@ class RestResult
|
||||
* Result: the requested operation cannot be performed because it can cause data (integrity) loss
|
||||
*/
|
||||
const UNSAFE = 12;
|
||||
/**
|
||||
* Result: the request page number is not valid. It must be an integer greater than 0
|
||||
*/
|
||||
const INVALID_PAGE = 13;
|
||||
/**
|
||||
* Result: the operation could not be performed, see the message for troubleshooting
|
||||
*/
|
||||
@@ -1091,10 +1095,13 @@ class RestUtils
|
||||
*
|
||||
* @param string $sClass Name of the class
|
||||
* @param mixed $key Either search criteria (substructure), or an object or an OQL string.
|
||||
* @param int $iLimit The limit of results to return
|
||||
* @param int $iOffset The offset of results to return
|
||||
*
|
||||
* @return DBObjectSet The search result set
|
||||
* @throws Exception If the input structure is not valid
|
||||
*/
|
||||
public static function GetObjectSetFromKey($sClass, $key)
|
||||
public static function GetObjectSetFromKey($sClass, $key, $iLimit = 0, $iOffset = 0)
|
||||
{
|
||||
if (is_object($key))
|
||||
{
|
||||
@@ -1128,7 +1135,7 @@ class RestUtils
|
||||
{
|
||||
throw new Exception("Wrong format for key");
|
||||
}
|
||||
$oObjectSet = new DBObjectSet($oSearch);
|
||||
$oObjectSet = new DBObjectSet($oSearch, array(), array(), null, $iLimit, $iOffset);
|
||||
return $oObjectSet;
|
||||
}
|
||||
|
||||
|
||||
@@ -3524,21 +3524,13 @@ EOF
|
||||
{
|
||||
if (preg_match("/^attr_$sSubFormPrefix(.*)$/", $sKey, $aMatches))
|
||||
{
|
||||
$sLinkClass = $oAttDef->GetLinkedClass();
|
||||
if ($oAttDef->IsIndirect())
|
||||
$oLinkAttDef = MetaModel::GetAttributeDef($sObjClass, $aMatches[1]);
|
||||
// Recursing over n:n link datetime attributes
|
||||
// Note: We might need to do it with other attribute types, like Document or redundancy setting.
|
||||
if ($oLinkAttDef instanceof AttributeDateTime)
|
||||
{
|
||||
$oLinkAttDef = MetaModel::GetAttributeDef($sLinkClass, $aMatches[1]);
|
||||
// Recursing over n:n link datetime attributes
|
||||
// Note: We might need to do it with other attribute types, like Document or redundancy setting.
|
||||
if ($oLinkAttDef instanceof AttributeDateTime)
|
||||
{
|
||||
$aObjData[$aMatches[1]] = $this->PrepareValueFromPostedForm($sSubFormPrefix,
|
||||
$aMatches[1], $sLinkClass, $aData);
|
||||
}
|
||||
else
|
||||
{
|
||||
$aObjData[$aMatches[1]] = $value;
|
||||
}
|
||||
$aObjData[$aMatches[1]] = $this->PrepareValueFromPostedForm($sSubFormPrefix,
|
||||
$aMatches[1], $sObjClass, $aData);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3555,26 +3547,19 @@ EOF
|
||||
foreach($aRawToBeModified as $iObjKey => $aData)
|
||||
{
|
||||
$sSubFormPrefix = $aData['formPrefix'];
|
||||
$sObjClass = isset($aData['class']) ? $aData['class'] : $oAttDef->GetLinkedClass();
|
||||
$aObjData = array();
|
||||
foreach($aData as $sKey => $value)
|
||||
{
|
||||
if (preg_match("/^attr_$sSubFormPrefix(.*)$/", $sKey, $aMatches))
|
||||
{
|
||||
$sLinkClass = $oAttDef->GetLinkedClass();
|
||||
if ($oAttDef->IsIndirect())
|
||||
$oLinkAttDef = MetaModel::GetAttributeDef($sObjClass, $aMatches[1]);
|
||||
// Recursing over n:n link datetime attributes
|
||||
// Note: We might need to do it with other attribute types, like Document or redundancy setting.
|
||||
if ($oLinkAttDef instanceof AttributeDateTime)
|
||||
{
|
||||
$oLinkAttDef = MetaModel::GetAttributeDef($sLinkClass, $aMatches[1]);
|
||||
// Recursing over n:n link datetime attributes
|
||||
// Note: We might need to do it with other attribute types, like Document or redundancy setting.
|
||||
if ($oLinkAttDef instanceof AttributeDateTime)
|
||||
{
|
||||
$aObjData[$aMatches[1]] = $this->PrepareValueFromPostedForm($sSubFormPrefix,
|
||||
$aMatches[1], $sLinkClass, $aData);
|
||||
}
|
||||
else
|
||||
{
|
||||
$aObjData[$aMatches[1]] = $value;
|
||||
}
|
||||
$aObjData[$aMatches[1]] = $this->PrepareValueFromPostedForm($sSubFormPrefix,
|
||||
$aMatches[1], $sObjClass, $aData);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -4221,6 +4206,7 @@ EOF
|
||||
$oDummyObj->Set($sAttCode, $currValue);
|
||||
/** @var ormTagSet $oTagSet */
|
||||
$oTagSet = $oDummyObj->Get($sAttCode);
|
||||
$oTagSet->SetDisplayPartial(true);
|
||||
foreach($aKeys as $iIndex => $sValues)
|
||||
{
|
||||
if ($iIndex == 0)
|
||||
|
||||
@@ -444,6 +444,16 @@ EOF
|
||||
$sClass = $oQuery->GetClass();
|
||||
foreach($this->oModelReflection->ListAttributes($sClass) as $sAttCode => $sAttType)
|
||||
{
|
||||
// For external fields, find the real type of the target
|
||||
$sTargetClass = $sClass;
|
||||
while (is_a($sAttType, 'AttributeExternalField', true))
|
||||
{
|
||||
$sExtKeyAttCode = $this->oModelReflection->GetAttributeProperty($sTargetClass, $sAttCode, 'extkey_attcode');
|
||||
$sTargetAttCode = $this->oModelReflection->GetAttributeProperty($sTargetClass, $sAttCode, 'target_attcode');
|
||||
$sTargetClass = $this->oModelReflection->GetAttributeProperty($sTargetClass, $sExtKeyAttCode, 'targetclass');
|
||||
$aTargetAttCodes = $this->oModelReflection->ListAttributes($sTargetClass);
|
||||
$sAttType = $aTargetAttCodes[$sTargetAttCode];
|
||||
}
|
||||
if (is_a($sAttType, 'AttributeLinkedSet', true))
|
||||
{
|
||||
continue;
|
||||
@@ -456,15 +466,6 @@ EOF
|
||||
{
|
||||
continue;
|
||||
}
|
||||
// For external fields, find the real type of the target
|
||||
while (is_a($sAttType, 'AttributeExternalField', true))
|
||||
{
|
||||
$sExtKeyAttCode = $this->oModelReflection->GetAttributeProperty($sClass, $sAttCode, 'extkey_attcode');
|
||||
$sTargetClass = $this->oModelReflection->GetAttributeProperty($sClass, $sExtKeyAttCode, 'targetclass');
|
||||
$sTargetAttCode = $this->oModelReflection->GetAttributeProperty($sClass, $sAttCode, 'target_attcode');
|
||||
$aTargetAttCodes = $this->oModelReflection->ListAttributes($sTargetClass);
|
||||
$sAttType = $aTargetAttCodes[$sTargetAttCode];
|
||||
}
|
||||
|
||||
$sLabel = $this->oModelReflection->GetLabel($sClass, $sAttCode);
|
||||
if (!in_array($sLabel, $aGroupBy))
|
||||
|
||||
@@ -431,7 +431,7 @@ EOF;
|
||||
}
|
||||
else
|
||||
{
|
||||
$aRow['form::select'] = "<input type=\"checkBox\" $sDisabled class=\"selectList{$this->iListId}\" name=\"selectObject[]\" value=\"".$aObjects[$sAlias]->GetKey()."\"></input>";
|
||||
$aRow['form::select'] = "<input type=\"checkbox\" $sDisabled class=\"selectList{$this->iListId}\" name=\"selectObject[]\" value=\"".$aObjects[$sAlias]->GetKey()."\"></input>";
|
||||
}
|
||||
}
|
||||
foreach($aColumns[$sAlias] as $sAttCode => $aData)
|
||||
@@ -565,7 +565,7 @@ EOF;
|
||||
<<<EOF
|
||||
var oTable = $('#{$this->iListId} table.listResults');
|
||||
oTable.tableHover();
|
||||
oTable.tablesorter( { $sHeaders widgets: ['myZebra', 'truncatedList']} ).tablesorterPager({container: $('#pager{$this->iListId}'), totalRows:$iCount, size: $iPageSize, filter: '$sOQL', extra_params: '$sExtraParams', select_mode: '$sSelectModeJS', displayKey: $sDisplayKey, columns: $sJSColumns, class_aliases: $sJSClassAliases $sCssCount});
|
||||
oTable.tablesorter( { $sHeaders widgets: ['myZebra', 'truncatedList']} ).tablesorterPager({container: $('#pager{$this->iListId}'), totalRows:$iCount, size: $iPageSize, filter: '$sOQL', extra_params: '$sExtraParams', select_mode: '$sSelectModeJS', displayKey: $sDisplayKey, table_id: '{$this->iListId}', columns: $sJSColumns, class_aliases: $sJSClassAliases $sCssCount});
|
||||
EOF
|
||||
);
|
||||
if ($sFakeSortList != '')
|
||||
|
||||
@@ -395,6 +395,7 @@ EOF
|
||||
{
|
||||
foreach($aFields as $oField)
|
||||
{
|
||||
/** @var \DesignerFormField $oField */
|
||||
$oField->ReadParam($aValues);
|
||||
}
|
||||
}
|
||||
@@ -679,18 +680,34 @@ class DesignerTabularForm extends DesignerForm
|
||||
|
||||
class DesignerFormField
|
||||
{
|
||||
/** @var string $sLabel */
|
||||
protected $sLabel;
|
||||
/** @var string $sCode */
|
||||
protected $sCode;
|
||||
/** @var mixed $defaultValue */
|
||||
protected $defaultValue;
|
||||
/** @var \DesignerForm $oForm */
|
||||
protected $oForm;
|
||||
/** @var bool $bMandatory */
|
||||
protected $bMandatory;
|
||||
/** @var bool $bReadOnly */
|
||||
protected $bReadOnly;
|
||||
/** @var bool $bAutoApply */
|
||||
protected $bAutoApply;
|
||||
/** @var array $aCSSClasses */
|
||||
protected $aCSSClasses;
|
||||
/** @var bool $bDisplayed */
|
||||
protected $bDisplayed;
|
||||
/** @var array $aWidgetExtraParams */
|
||||
protected $aWidgetExtraParams;
|
||||
|
||||
|
||||
/**
|
||||
* DesignerFormField constructor.
|
||||
*
|
||||
* @param string $sCode
|
||||
* @param string $sLabel
|
||||
* @param mixed $defaultValue
|
||||
*/
|
||||
public function __construct($sCode, $sLabel, $defaultValue)
|
||||
{
|
||||
$this->sLabel = $sLabel;
|
||||
@@ -703,7 +720,10 @@ class DesignerFormField
|
||||
$this->bDisplayed = true;
|
||||
$this->aWidgetExtraParams = array();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function GetCode()
|
||||
{
|
||||
return $this->sCode;
|
||||
@@ -712,69 +732,108 @@ class DesignerFormField
|
||||
/**
|
||||
* @param \DesignerForm $oForm
|
||||
*/
|
||||
public function SetForm(\DesignerForm $oForm)
|
||||
public function SetForm(DesignerForm $oForm)
|
||||
{
|
||||
$this->oForm = $oForm;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param bool $bMandatory
|
||||
*/
|
||||
public function SetMandatory($bMandatory = true)
|
||||
{
|
||||
$this->bMandatory = $bMandatory;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bool $bReadOnly
|
||||
*/
|
||||
public function SetReadOnly($bReadOnly = true)
|
||||
{
|
||||
$this->bReadOnly = $bReadOnly;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function IsReadOnly()
|
||||
{
|
||||
return ($this->oForm->IsReadOnly() || $this->bReadOnly);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bool $bAutoApply
|
||||
*/
|
||||
public function SetAutoApply($bAutoApply)
|
||||
{
|
||||
$this->bAutoApply = $bAutoApply;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function IsAutoApply()
|
||||
{
|
||||
return $this->bAutoApply;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bool $bDisplayed
|
||||
*/
|
||||
public function SetDisplayed($bDisplayed)
|
||||
{
|
||||
$this->bDisplayed = $bDisplayed;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function IsDisplayed()
|
||||
{
|
||||
return $this->bDisplayed;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function GetFieldId()
|
||||
{
|
||||
return $this->oForm->GetFieldId($this->sCode);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function GetWidgetClass()
|
||||
{
|
||||
return 'property_field';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function GetWidgetExtraParams()
|
||||
{
|
||||
return $this->aWidgetExtraParams;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param \WebPage $oP
|
||||
* @param string $sFormId
|
||||
* @param string $sRenderMode
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function Render(WebPage $oP, $sFormId, $sRenderMode='dialog')
|
||||
{
|
||||
$sId = $this->oForm->GetFieldId($this->sCode);
|
||||
$sName = $this->oForm->GetFieldName($this->sCode);
|
||||
return array('label' => $this->sLabel, 'value' => "<input type=\"text\" id=\"$sId\" name=\"$sName\" value=\"".htmlentities($this->defaultValue, ENT_QUOTES, 'UTF-8')."\">");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param array $aValues
|
||||
*/
|
||||
public function ReadParam(&$aValues)
|
||||
{
|
||||
if ($this->IsReadOnly())
|
||||
@@ -801,12 +860,18 @@ class DesignerFormField
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function IsVisible()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $sCSSClass
|
||||
*/
|
||||
public function AddCSSClass($sCSSClass)
|
||||
{
|
||||
$this->aCSSClasses[] = $sCSSClass;
|
||||
@@ -814,6 +879,8 @@ class DesignerFormField
|
||||
|
||||
/**
|
||||
* A way to set/change the default value after constructing the field
|
||||
*
|
||||
* @param array $aAllDefaultValue
|
||||
*/
|
||||
public function SetDefaultValueFrom($aAllDefaultValue)
|
||||
{
|
||||
@@ -822,7 +889,12 @@ class DesignerFormField
|
||||
$this->defaultValue = $aAllDefaultValue[$this->GetCode()];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param $sFieldCode
|
||||
*
|
||||
* @return \DesignerFormField|false
|
||||
*/
|
||||
public function FindField($sFieldCode)
|
||||
{
|
||||
if ($this->sCode == $sFieldCode)
|
||||
@@ -832,11 +904,17 @@ class DesignerFormField
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function GetHandlerEquals()
|
||||
{
|
||||
return 'null';
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function GetHandlerGetValue()
|
||||
{
|
||||
return 'null';
|
||||
@@ -845,25 +923,43 @@ class DesignerFormField
|
||||
|
||||
class DesignerLabelField extends DesignerFormField
|
||||
{
|
||||
/** @var int $iCount A counter to automatically make the field code */
|
||||
protected static $iCount = 0;
|
||||
/** @var string $sDescription */
|
||||
protected $sDescription;
|
||||
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function __construct($sLabel, $sDescription)
|
||||
{
|
||||
parent::__construct('', $sLabel, '');
|
||||
// Increase counter
|
||||
static::$iCount++;
|
||||
|
||||
parent::__construct('label_number_' . static::$iCount, $sLabel, '');
|
||||
$this->sDescription = $sDescription;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function Render(WebPage $oP, $sFormId, $sRenderMode='dialog')
|
||||
{
|
||||
$sId = $this->oForm->GetFieldId($this->sCode);
|
||||
$sName = $this->oForm->GetFieldName($this->sCode);
|
||||
return array('label' => $this->sLabel, 'value' => $this->sDescription);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function ReadParam(&$aValues)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function IsVisible()
|
||||
{
|
||||
return true;
|
||||
@@ -1334,7 +1430,8 @@ class DesignerIconSelectionField extends DesignerFormField
|
||||
$sPostUploadTo = ($this->sUploadUrl == null) ? 'null' : "'{$this->sUploadUrl}'";
|
||||
if (!$this->IsReadOnly())
|
||||
{
|
||||
$sValue = "<input type=\"hidden\" id=\"$sId\" name=\"$sName\" value=\"{$this->defaultValue}\"/>";
|
||||
$sDefaultValue = ($this->defaultValue !== '') ? : $this->aAllowedValues[$idx]['value'];
|
||||
$sValue = "<input type=\"hidden\" id=\"$sId\" name=\"$sName\" value=\"{$sDefaultValue}\"/>";
|
||||
$oP->add_ready_script(
|
||||
<<<EOF
|
||||
$('#$sId').icon_select({current_idx: $idx, items: $sJSItems, post_upload_to: $sPostUploadTo});
|
||||
|
||||
@@ -846,8 +846,8 @@ EOF
|
||||
{
|
||||
$sAuthUser = $_SESSION['auth_user'];
|
||||
UserRights::Login($sAuthUser); // Set the user's language
|
||||
$sOldPwd = utils::ReadPostedParam('old_pwd', '', false, 'raw_data');
|
||||
$sNewPwd = utils::ReadPostedParam('new_pwd', '', false, 'raw_data');
|
||||
$sOldPwd = utils::ReadPostedParam('old_pwd', '', 'raw_data');
|
||||
$sNewPwd = utils::ReadPostedParam('new_pwd', '', 'raw_data');
|
||||
if (UserRights::CanChangePassword() && ((!UserRights::CheckCredentials($sAuthUser, $sOldPwd)) || (!UserRights::ChangePassword($sOldPwd, $sNewPwd))))
|
||||
{
|
||||
$oPage = self::NewLoginWebPage();
|
||||
|
||||
@@ -273,79 +273,93 @@ class utils
|
||||
}
|
||||
return $retValue;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string|string[] $value
|
||||
* @param string $sSanitizationFilter one of : integer, class, string, context_param, parameter, field_name,
|
||||
* transaction_id, parameter, raw_data
|
||||
*
|
||||
* @return string|string[]|bool boolean for :
|
||||
* * the 'class' filter (true if valid, false otherwise)
|
||||
* * if the filter fails (@see \filter_var())
|
||||
*
|
||||
* @since 2.5.2 2.6.0 new 'transaction_id' filter
|
||||
*/
|
||||
protected static function Sanitize_Internal($value, $sSanitizationFilter)
|
||||
{
|
||||
switch($sSanitizationFilter)
|
||||
switch ($sSanitizationFilter)
|
||||
{
|
||||
case 'integer':
|
||||
$retValue = filter_var($value, FILTER_SANITIZE_NUMBER_INT);
|
||||
break;
|
||||
|
||||
$retValue = filter_var($value, FILTER_SANITIZE_NUMBER_INT);
|
||||
break;
|
||||
|
||||
case 'class':
|
||||
$retValue = $value;
|
||||
if (!MetaModel::IsValidClass($value))
|
||||
{
|
||||
$retValue = false;
|
||||
}
|
||||
break;
|
||||
$retValue = $value;
|
||||
if (!MetaModel::IsValidClass($value))
|
||||
{
|
||||
$retValue = false;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'string':
|
||||
$retValue = filter_var($value, FILTER_SANITIZE_SPECIAL_CHARS);
|
||||
break;
|
||||
|
||||
$retValue = filter_var($value, FILTER_SANITIZE_SPECIAL_CHARS);
|
||||
break;
|
||||
|
||||
case 'context_param':
|
||||
case 'parameter':
|
||||
case 'field_name':
|
||||
if (is_array($value))
|
||||
{
|
||||
$retValue = array();
|
||||
foreach($value as $key => $val)
|
||||
if (is_array($value))
|
||||
{
|
||||
$retValue[$key] = self::Sanitize_Internal($val, $sSanitizationFilter); // recursively check arrays
|
||||
if ($retValue[$key] === false)
|
||||
$retValue = array();
|
||||
foreach ($value as $key => $val)
|
||||
{
|
||||
$retValue = false;
|
||||
break;
|
||||
$retValue[$key] = self::Sanitize_Internal($val, $sSanitizationFilter); // recursively check arrays
|
||||
if ($retValue[$key] === false)
|
||||
{
|
||||
$retValue = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch($sSanitizationFilter)
|
||||
else
|
||||
{
|
||||
case 'transaction_id':
|
||||
// same as parameter type but keep the dot character
|
||||
// see N°1835 : when using file transaction_id on Windows you get *.tmp tokens
|
||||
// it must be included at the regexp beginning otherwise you'll get an invalid character error
|
||||
$retValue = filter_var($value, FILTER_VALIDATE_REGEXP,
|
||||
array("options" => array("regexp" => '/^[\. A-Za-z0-9_=-]*$/')));
|
||||
break;
|
||||
switch ($sSanitizationFilter)
|
||||
{
|
||||
case 'transaction_id':
|
||||
// same as parameter type but keep the dot character
|
||||
// see N°1835 : when using file transaction_id on Windows you get *.tmp tokens
|
||||
// it must be included at the regexp beginning otherwise you'll get an invalid character error
|
||||
$retValue = filter_var($value, FILTER_VALIDATE_REGEXP,
|
||||
array("options" => array("regexp" => '/^[\. A-Za-z0-9_=-]*$/')));
|
||||
break;
|
||||
|
||||
case 'parameter':
|
||||
$retValue = filter_var($value, FILTER_VALIDATE_REGEXP,
|
||||
array("options" => array("regexp" => '/^[ A-Za-z0-9_=-]*$/'))); // the '=', '%3D, '%2B', '%2F'
|
||||
// characters are used in serialized filters (starting 2.5, only the url encoded versions are presents, but the "=" is kept for BC)
|
||||
break;
|
||||
case 'parameter':
|
||||
$retValue = filter_var($value, FILTER_VALIDATE_REGEXP,
|
||||
array("options" => array("regexp" => '/^[ A-Za-z0-9_=-]*$/'))); // the '=', '%3D, '%2B', '%2F'
|
||||
// characters are used in serialized filters (starting 2.5, only the url encoded versions are presents, but the "=" is kept for BC)
|
||||
break;
|
||||
|
||||
case 'field_name':
|
||||
$retValue = filter_var($value, FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>'/^[A-Za-z0-9_]+(->[A-Za-z0-9_]+)*$/'))); // att_code or att_code->name or AttCode->Name or AttCode->Key2->Name
|
||||
break;
|
||||
|
||||
case 'context_param':
|
||||
$retValue = filter_var($value, FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>'/^[ A-Za-z0-9_=%:+-]*$/')));
|
||||
break;
|
||||
|
||||
case 'field_name':
|
||||
$retValue = filter_var($value, FILTER_VALIDATE_REGEXP,
|
||||
array("options" => array("regexp" => '/^[A-Za-z0-9_]+(->[A-Za-z0-9_]+)*$/'))); // att_code or att_code->name or AttCode->Name or AttCode->Key2->Name
|
||||
break;
|
||||
|
||||
case 'context_param':
|
||||
$retValue = filter_var($value, FILTER_VALIDATE_REGEXP,
|
||||
array("options" => array("regexp" => '/^[ A-Za-z0-9_=%:+-]*$/')));
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
case 'raw_data':
|
||||
$retValue = $value;
|
||||
$retValue = $value;
|
||||
// Do nothing
|
||||
}
|
||||
return $retValue;
|
||||
|
||||
return $retValue;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -588,17 +602,19 @@ class utils
|
||||
/**
|
||||
* Format a value into a more friendly format (KB, MB, GB, TB) instead a juste a Bytes amount.
|
||||
*
|
||||
* @param type $value
|
||||
* @param int $value
|
||||
* @return string
|
||||
*/
|
||||
public static function BytesToFriendlyFormat($value)
|
||||
{
|
||||
$sReturn = '';
|
||||
$iPrecision = 0;
|
||||
// Kilobytes
|
||||
if ($value >= 1024)
|
||||
{
|
||||
$sReturn = 'K';
|
||||
$value = $value / 1024;
|
||||
$iPrecision = 1;
|
||||
}
|
||||
// Megabytes
|
||||
if ($value >= 1024)
|
||||
@@ -619,7 +635,7 @@ class utils
|
||||
$value = $value / 1024;
|
||||
}
|
||||
|
||||
$value = round($value, 1);
|
||||
$value = round($value, $iPrecision);
|
||||
|
||||
return $value . '' . $sReturn . 'B';
|
||||
}
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
{
|
||||
"require": {
|
||||
"php": ">=5.6.0",
|
||||
"ext-mysql": "*",
|
||||
"ext-ldap": "*",
|
||||
"ext-mcrypt": "*",
|
||||
"ext-cli": "*",
|
||||
"ext-soap": "*",
|
||||
"ext-json": "*",
|
||||
"ext-zip": "*",
|
||||
@@ -13,6 +9,14 @@
|
||||
"ext-iconv": "*",
|
||||
"ext-gd": "*"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-libsodium": "Required to use the AttributeEncryptedString.",
|
||||
"ext-openssl": "Can be used as a polyfill if libsodium is not installed",
|
||||
"ext-mcrypt": "Can be used as a polyfill if either libsodium and openssl are not installed (libsodium and openssl are more secure)",
|
||||
"ext-ldap": "Required to use LDAP as an identity provider",
|
||||
"ext-posix": "Not required by the core, but some extensions uses it.",
|
||||
"ext-imap": "Required by the extension \"Mail to ticket automation\""
|
||||
},
|
||||
"config": {
|
||||
"platform": {
|
||||
"php": "5.6.0"
|
||||
|
||||
@@ -1374,6 +1374,11 @@ class AttributeLinkedSet extends AttributeDefinition
|
||||
*/
|
||||
public function GetDefaultValue(DBObject $oHostObject = null)
|
||||
{
|
||||
if ($oHostObject === null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
$sLinkClass = $this->GetLinkedClass();
|
||||
$sExtKeyToMe = $this->GetExtKeyToMe();
|
||||
|
||||
@@ -3264,10 +3269,13 @@ class AttributeClassState extends AttributeString
|
||||
$sClass = $oHostObj->Get($sTargetClass);
|
||||
|
||||
$aAllowedStates = array();
|
||||
$aValues = MetaModel::EnumStates($sClass);
|
||||
foreach(array_keys($aValues) as $sState)
|
||||
foreach (MetaModel::EnumChildClasses($sClass, ENUM_CHILD_CLASSES_ALL) as $sChildClass)
|
||||
{
|
||||
$aAllowedStates[$sState] = $sState.' ('.MetaModel::GetStateLabel($sClass, $sState).')';
|
||||
$aValues = MetaModel::EnumStates($sChildClass);
|
||||
foreach (array_keys($aValues) as $sState)
|
||||
{
|
||||
$aAllowedStates[$sState] = $sState.' ('.MetaModel::GetStateLabel($sChildClass, $sState).')';
|
||||
}
|
||||
}
|
||||
return $aAllowedStates;
|
||||
}
|
||||
@@ -3286,9 +3294,15 @@ class AttributeClassState extends AttributeString
|
||||
{
|
||||
$sTargetClass = $this->Get('class_field');
|
||||
$sClass = $oHostObject->Get($sTargetClass);
|
||||
|
||||
$sHTML = '<span class="attribute-set-item" data-code="'.$sValue.'" data-label="'.$sValue.' ('.MetaModel::GetStateLabel($sClass, $sValue).')'.'" data-description="">'.$sValue.'</span>';
|
||||
return $sHTML;
|
||||
foreach (MetaModel::EnumChildClasses($sClass, ENUM_CHILD_CLASSES_ALL) as $sChildClass)
|
||||
{
|
||||
$aValues = MetaModel::EnumStates($sChildClass);
|
||||
if (in_array($sValue, $aValues))
|
||||
{
|
||||
$sHTML = '<span class="attribute-set-item" data-code="'.$sValue.'" data-label="'.$sValue.' ('.MetaModel::GetStateLabel($sChildClass, $sValue).')'.'" data-description="">'.$sValue.'</span>';
|
||||
return $sHTML;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $sValue;
|
||||
@@ -6242,6 +6256,15 @@ class AttributeExternalKey extends AttributeDBFieldVoid
|
||||
return $oFormField;
|
||||
}
|
||||
|
||||
public function GetAsHTML($sValue, $oHostObject = null, $bLocalize = true)
|
||||
{
|
||||
if (!is_null($oHostObject))
|
||||
{
|
||||
return $oHostObject->GetAsHTML($this->GetCode(), $oHostObject);
|
||||
}
|
||||
|
||||
return DBObject::MakeHyperLink($this->GetTargetClass(), $sValue);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -9655,14 +9678,27 @@ class AttributeTagSet extends AttributeSet
|
||||
{
|
||||
$aJson['partial_values'] = array();
|
||||
$aJson['orig_value'] = array();
|
||||
$aJson['added'] = array();
|
||||
$aJson['removed'] = array();
|
||||
}
|
||||
else
|
||||
{
|
||||
$aJson['partial_values'] = $oValue->GetModified();
|
||||
$aJson['orig_value'] = array_merge($oValue->GetValues(), $oValue->GetModified());
|
||||
$aJson['added'] = $oValue->GetAdded();
|
||||
$aJson['removed'] = $oValue->GetRemoved();
|
||||
|
||||
if ($oValue->DisplayPartial())
|
||||
{
|
||||
// For bulk updates
|
||||
$aJson['partial_values'] = $oValue->GetModified();
|
||||
}
|
||||
else
|
||||
{
|
||||
// For simple updates
|
||||
$aJson['partial_values'] = array();
|
||||
}
|
||||
}
|
||||
$aJson['added'] = array();
|
||||
$aJson['removed'] = array();
|
||||
|
||||
|
||||
$iMaxTags = $this->GetMaxItems();
|
||||
$aJson['max_items_allowed'] = $iMaxTags;
|
||||
|
||||
@@ -1224,6 +1224,10 @@ abstract class DBObject implements iDisplay
|
||||
if ($this->InSyncScope())
|
||||
{
|
||||
$iSynchroFlags = $this->GetSynchroReplicaFlags($sAttCode, $aReasons);
|
||||
if ($iSynchroFlags & OPT_ATT_SLAVE)
|
||||
{
|
||||
$iSynchroFlags |= OPT_ATT_READONLY;
|
||||
}
|
||||
}
|
||||
return $iFlags | $iSynchroFlags; // Combine both sets of flags
|
||||
}
|
||||
@@ -1577,12 +1581,13 @@ abstract class DBObject implements iDisplay
|
||||
*/
|
||||
protected function GetSearchForUniquenessRule($sUniquenessRuleId, $aUniquenessRuleProperties)
|
||||
{
|
||||
$sCurrentClass = get_class($this);
|
||||
$sOqlUniquenessQuery = "SELECT $sCurrentClass";
|
||||
$sRuleRootClass = $aUniquenessRuleProperties['root_class'];
|
||||
$sOqlUniquenessQuery = "SELECT $sRuleRootClass";
|
||||
if (!(empty($sUniquenessFilter = $aUniquenessRuleProperties['filter'])))
|
||||
{
|
||||
$sOqlUniquenessQuery .= ' WHERE '.$sUniquenessFilter;
|
||||
}
|
||||
/** @var \DBObjectSearch $oUniquenessQuery */
|
||||
$oUniquenessQuery = DBObjectSearch::FromOQL($sOqlUniquenessQuery);
|
||||
|
||||
if (!$this->IsNew())
|
||||
@@ -1596,6 +1601,12 @@ abstract class DBObject implements iDisplay
|
||||
$oUniquenessQuery->AddCondition($sAttributeCode, $attributeValue, '=');
|
||||
}
|
||||
|
||||
$aChildClassesWithRuleDisabled = MetaModel::GetChildClassesWithDisabledUniquenessRule($sRuleRootClass, $sUniquenessRuleId);
|
||||
if (!empty($aChildClassesWithRuleDisabled))
|
||||
{
|
||||
$oUniquenessQuery->AddConditionForInOperatorUsingParam('finalclass', $aChildClassesWithRuleDisabled, false);
|
||||
}
|
||||
|
||||
return $oUniquenessQuery;
|
||||
}
|
||||
|
||||
@@ -3864,7 +3875,7 @@ abstract class DBObject implements iDisplay
|
||||
foreach(MetaModel::ListAttributeDefs($sLinkClass) as $sAttCode => $oAttDef)
|
||||
{
|
||||
// As of now, ignore other attribute (do not attempt to recurse!)
|
||||
if ($oAttDef->IsScalar())
|
||||
if ($oAttDef->IsScalar() && $oAttDef->IsWritable())
|
||||
{
|
||||
$oLinkClone->Set($sAttCode, $oSourceLink->Get($sAttCode));
|
||||
}
|
||||
@@ -3927,7 +3938,7 @@ abstract class DBObject implements iDisplay
|
||||
$oObjectToRead = $aSourceObjects['source'];
|
||||
foreach(MetaModel::ListAttributeDefs(get_class($this)) as $sAttCode => $oAttDef)
|
||||
{
|
||||
if ($oAttDef->IsScalar())
|
||||
if ($oAttDef->IsScalar() && $oAttDef->IsWritable())
|
||||
{
|
||||
$this->CopyAttribute($oObjectToRead, $sAttCode, $sAttCode);
|
||||
}
|
||||
|
||||
@@ -78,6 +78,7 @@ EOF;
|
||||
}
|
||||
EOF;
|
||||
|
||||
SetupUtils::builddir(dirname($sFilePath));
|
||||
file_put_contents($sFilePath, $content);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -528,13 +528,15 @@ abstract class MetaModel
|
||||
|
||||
/**
|
||||
* @param string $sClass
|
||||
* @param bool $bClassDefinitionOnly if true then will only return properties defined in the specified class on not the properties
|
||||
* from its parent classes
|
||||
*
|
||||
* @return array
|
||||
* @return array rule id as key, rule properties as value
|
||||
* @throws \CoreException
|
||||
*
|
||||
* @since 2.6 N°659 uniqueness constraint
|
||||
* @see #SetUniquenessRuleRootClass that fixes a specific 'root_class' property to know which class is root per rule
|
||||
*/
|
||||
final public static function GetUniquenessRules($sClass)
|
||||
final public static function GetUniquenessRules($sClass, $bClassDefinitionOnly = false)
|
||||
{
|
||||
if (!isset(self::$m_aClassParams[$sClass]))
|
||||
{
|
||||
@@ -548,6 +550,11 @@ abstract class MetaModel
|
||||
$aCurrentUniquenessRules = self::$m_aClassParams[$sClass]['uniqueness_rules'];
|
||||
}
|
||||
|
||||
if ($bClassDefinitionOnly)
|
||||
{
|
||||
return $aCurrentUniquenessRules;
|
||||
}
|
||||
|
||||
$sParentClass = self::GetParentClass($sClass);
|
||||
if ($sParentClass)
|
||||
{
|
||||
@@ -581,6 +588,22 @@ abstract class MetaModel
|
||||
return $aCurrentUniquenessRules;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $sRootClass
|
||||
* @param string $sRuleId
|
||||
*
|
||||
* @throws \CoreException
|
||||
* @since 2.6.1 N°1918 (sous les pavés, la plage) initialize in 'root_class' property the class that has the first
|
||||
* definition of the rule in the hierarchy
|
||||
*/
|
||||
final private static function SetUniquenessRuleRootClass($sRootClass, $sRuleId)
|
||||
{
|
||||
foreach (self::EnumChildClasses($sRootClass, ENUM_CHILD_CLASSES_ALL) as $sClass)
|
||||
{
|
||||
self::$m_aClassParams[$sClass]['uniqueness_rules'][$sRuleId]['root_class'] = $sClass;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $sRuleId
|
||||
* @param string $sLeafClassName
|
||||
@@ -608,6 +631,49 @@ abstract class MetaModel
|
||||
return $sFirstClassWithRuleId;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $sRootClass
|
||||
* @param string $sRuleId
|
||||
*
|
||||
* @return string[] child classes with the rule disabled, and that are concrete classes
|
||||
*
|
||||
* @throws \CoreException
|
||||
* @since 2.6.1 N°1968 (soyez réalistes, demandez l'impossible)
|
||||
*/
|
||||
final public static function GetChildClassesWithDisabledUniquenessRule($sRootClass, $sRuleId)
|
||||
{
|
||||
$aClassesWithDisabledRule = array();
|
||||
foreach (self::EnumChildClasses($sRootClass, ENUM_CHILD_CLASSES_EXCLUDETOP) as $sChildClass)
|
||||
{
|
||||
if (array_key_exists($sChildClass, $aClassesWithDisabledRule))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (!array_key_exists('uniqueness_rules', self::$m_aClassParams[$sChildClass]))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (!array_key_exists($sRuleId, self::$m_aClassParams[$sChildClass]['uniqueness_rules']))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (self::$m_aClassParams[$sChildClass]['uniqueness_rules'][$sRuleId]['disabled'] === true)
|
||||
{
|
||||
$aDisabledClassChildren = self::EnumChildClasses($sChildClass, ENUM_CHILD_CLASSES_ALL);
|
||||
foreach ($aDisabledClassChildren as $sDisabledClassChild)
|
||||
{
|
||||
if (!self::IsAbstract($sDisabledClassChild))
|
||||
{
|
||||
$aClassesWithDisabledRule[] = $sDisabledClassChild;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $aClassesWithDisabledRule;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $aRuleProperties
|
||||
*
|
||||
@@ -2779,21 +2845,26 @@ abstract class MetaModel
|
||||
}
|
||||
}
|
||||
|
||||
$aCurrentClassUniquenessRules = MetaModel::GetUniquenessRules($sPHPClass);
|
||||
$aCurrentClassUniquenessRules = MetaModel::GetUniquenessRules($sPHPClass, true);
|
||||
if (!empty($aCurrentClassUniquenessRules))
|
||||
{
|
||||
$aClassFields = self::GetAttributesList($sPHPClass);
|
||||
foreach ($aCurrentClassUniquenessRules as $sUniquenessRuleId => $aUniquenessRuleProperties)
|
||||
{
|
||||
$bHasSameRuleInParent = self::HasSameUniquenessRuleInParent($sPHPClass, $sUniquenessRuleId);
|
||||
$bIsRuleOverride = self::HasSameUniquenessRuleInParent($sPHPClass, $sUniquenessRuleId);
|
||||
try
|
||||
{
|
||||
self::CheckUniquenessRuleValidity($aUniquenessRuleProperties, $bHasSameRuleInParent, $aClassFields);
|
||||
self::CheckUniquenessRuleValidity($aUniquenessRuleProperties, $bIsRuleOverride, $aClassFields);
|
||||
}
|
||||
catch (CoreUnexpectedValue $e)
|
||||
{
|
||||
throw new Exception("Invalid uniqueness rule declaration : class={$sPHPClass}, rule=$sUniquenessRuleId, reason={$e->getMessage()}");
|
||||
}
|
||||
|
||||
if (!$bIsRuleOverride)
|
||||
{
|
||||
self::SetUniquenessRuleRootClass($sPHPClass, $sUniquenessRuleId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3092,71 +3163,77 @@ abstract class MetaModel
|
||||
/**
|
||||
* @param array $aUniquenessRuleProperties
|
||||
* @param bool $bRuleOverride if false then control an original declaration validity,
|
||||
* otherwise an override validity (can have only the disabled key)
|
||||
* otherwise an override validity (can only have the 'disabled' key)
|
||||
* @param string[] $aExistingClassFields if non empty, will check that all fields declared in the rules exists in the class
|
||||
*
|
||||
* @throws \CoreUnexpectedValue if the rule is invalid
|
||||
*
|
||||
* @since 2.6 N°659 uniqueness constraint
|
||||
* @since 2.6.1 N°1968 (joli mois de mai...) disallow overrides of 'attributes' properties
|
||||
*/
|
||||
public static function CheckUniquenessRuleValidity($aUniquenessRuleProperties, $bRuleOverride = true, $aExistingClassFields = array())
|
||||
{
|
||||
$MANDATORY_ATTRIBUTES = array('attributes');
|
||||
$UNIQUENESS_MANDATORY_KEYS_NB = count($MANDATORY_ATTRIBUTES);
|
||||
$bHasDisabledKey = false;
|
||||
|
||||
$bHasMissingMandatoryKey = true;
|
||||
$iMissingMandatoryKeysNb = $UNIQUENESS_MANDATORY_KEYS_NB;
|
||||
$bHasAllMandatoryKeysMissing = false;
|
||||
/** @var boolean $bHasNonDisabledKeys true if rule contains at least one key that is not 'disabled' */
|
||||
$bHasNonDisabledKeys = false;
|
||||
$bDisabledKeyValue = null;
|
||||
|
||||
foreach ($aUniquenessRuleProperties as $sUniquenessRuleKey => $aUniquenessRuleProperty)
|
||||
{
|
||||
if (($sUniquenessRuleKey === 'disabled') && (!is_null($aUniquenessRuleProperty)))
|
||||
if ($sUniquenessRuleKey === 'disabled')
|
||||
{
|
||||
$bDisabledKeyValue = $aUniquenessRuleProperty;
|
||||
if (!is_null($aUniquenessRuleProperty))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (is_null($aUniquenessRuleProperty))
|
||||
{
|
||||
$bHasDisabledKey = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
$bHasNonDisabledKeys = true;
|
||||
|
||||
if (in_array($sUniquenessRuleKey, $MANDATORY_ATTRIBUTES, true)) {
|
||||
$bHasMissingMandatoryKey = false;
|
||||
$iMissingMandatoryKeysNb--;
|
||||
}
|
||||
|
||||
if (($sUniquenessRuleKey === 'attributes') && (!empty($aExistingClassFields)))
|
||||
if ($sUniquenessRuleKey === 'attributes')
|
||||
{
|
||||
foreach ($aUniquenessRuleProperties[$sUniquenessRuleKey] as $sRuleAttribute)
|
||||
if (!empty($aExistingClassFields))
|
||||
{
|
||||
if (!in_array($sRuleAttribute, $aExistingClassFields, true))
|
||||
foreach ($aUniquenessRuleProperties[$sUniquenessRuleKey] as $sRuleAttribute)
|
||||
{
|
||||
throw new CoreUnexpectedValue("Uniqueness rule : non existing field '$sRuleAttribute'");
|
||||
if (!in_array($sRuleAttribute, $aExistingClassFields, true))
|
||||
{
|
||||
throw new CoreUnexpectedValue("Uniqueness rule : non existing field '$sRuleAttribute'");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($iMissingMandatoryKeysNb == $UNIQUENESS_MANDATORY_KEYS_NB)
|
||||
if ($iMissingMandatoryKeysNb === 0)
|
||||
{
|
||||
$bHasAllMandatoryKeysMissing = true;
|
||||
$bHasMissingMandatoryKey = false;
|
||||
}
|
||||
|
||||
if ($bHasDisabledKey)
|
||||
if ($bRuleOverride && $bHasNonDisabledKeys)
|
||||
{
|
||||
if ($bRuleOverride && $bHasAllMandatoryKeysMissing && !$bHasNonDisabledKeys)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if ($bHasMissingMandatoryKey)
|
||||
{
|
||||
throw new CoreUnexpectedValue('Uniqueness rule : missing mandatory properties');
|
||||
}
|
||||
|
||||
return;
|
||||
throw new CoreUnexpectedValue('Uniqueness rule : only the \'disabled\' key can be overridden');
|
||||
}
|
||||
|
||||
if ($bHasMissingMandatoryKey)
|
||||
if ($bRuleOverride && is_null($bDisabledKeyValue))
|
||||
{
|
||||
throw new CoreUnexpectedValue('Uniqueness rule : missing mandatory properties');
|
||||
throw new CoreUnexpectedValue('Uniqueness rule : when overriding a rule, value must be set for the \'disabled\' key');
|
||||
}
|
||||
if (!$bRuleOverride && $bHasMissingMandatoryKey)
|
||||
{
|
||||
throw new CoreUnexpectedValue('Uniqueness rule : missing mandatory property');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3810,7 +3887,7 @@ abstract class MetaModel
|
||||
|
||||
/**
|
||||
* @param string $sClass
|
||||
* @param int $iOption
|
||||
* @param int $iOption one of ENUM_CHILD_CLASSES_EXCLUDETOP, ENUM_CHILD_CLASSES_ALL
|
||||
*
|
||||
* @return array
|
||||
* @throws \CoreException
|
||||
|
||||
@@ -26,6 +26,9 @@
|
||||
*/
|
||||
final class ormTagSet extends ormSet
|
||||
{
|
||||
private $m_bDisplayPartial = false;
|
||||
|
||||
|
||||
/**
|
||||
* ormTagSet constructor.
|
||||
*
|
||||
@@ -299,6 +302,82 @@ final class ormTagSet extends ormSet
|
||||
return $aModifiedTagCodes;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string[] list of codes for added entries
|
||||
*/
|
||||
public function GetAdded()
|
||||
{
|
||||
$aAddedTagCodes = array_keys($this->aAdded);
|
||||
sort($aAddedTagCodes);
|
||||
|
||||
return $aAddedTagCodes;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string[] list of codes for removed entries
|
||||
*/
|
||||
public function GetRemoved()
|
||||
{
|
||||
$aRemovedTagCodes = array_keys($this->aRemoved);
|
||||
sort($aRemovedTagCodes);
|
||||
|
||||
return $aRemovedTagCodes;
|
||||
}
|
||||
|
||||
/**
|
||||
* Apply a delta to the current ItemSet
|
||||
* $aDelta['added] = array of added items
|
||||
* $aDelta['removed'] = array of removed items
|
||||
*
|
||||
* @param $aDelta
|
||||
*
|
||||
* @throws \CoreException
|
||||
*/
|
||||
public function ApplyDelta($aDelta)
|
||||
{
|
||||
if (isset($aDelta['removed']))
|
||||
{
|
||||
foreach($aDelta['removed'] as $oItem)
|
||||
{
|
||||
$this->Remove($oItem);
|
||||
}
|
||||
}
|
||||
if (isset($aDelta['added']))
|
||||
{
|
||||
foreach($aDelta['added'] as $oItem)
|
||||
{
|
||||
$this->Add($oItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Populates the added and removed arrays for bulk edit
|
||||
*
|
||||
* @param string[] $aItems
|
||||
*
|
||||
* @throws \CoreException
|
||||
*/
|
||||
public function GenerateDiffFromArray($aItems)
|
||||
{
|
||||
foreach($this->GetValues() as $oCurrentItem)
|
||||
{
|
||||
if (!in_array($oCurrentItem, $aItems))
|
||||
{
|
||||
$this->Remove($oCurrentItem);
|
||||
}
|
||||
}
|
||||
|
||||
foreach($aItems as $oNewItem)
|
||||
{
|
||||
$this->Add($oNewItem);
|
||||
}
|
||||
|
||||
// Keep only the aModified list
|
||||
$this->aRemoved = array();
|
||||
$this->aAdded = array();
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether a tag code is valid or not for this TagSet
|
||||
*
|
||||
@@ -479,4 +558,21 @@ final class ormTagSet extends ormSet
|
||||
return TagSetFieldData::GetTagDataClassName($this->sClass, $this->sAttCode);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function DisplayPartial()
|
||||
{
|
||||
return $this->m_bDisplayPartial;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bool $m_bDisplayPartial
|
||||
*/
|
||||
public function SetDisplayPartial($m_bDisplayPartial)
|
||||
{
|
||||
$this->m_bDisplayPartial = $m_bDisplayPartial;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -257,13 +257,14 @@ class CoreServices implements iRestServiceProvider
|
||||
*/
|
||||
public function ListOperations($sVersion)
|
||||
{
|
||||
// 1.4 - iTop 2.5.2, 2.6.1, 2.7.0, Verb 'core/get': added pagination parameters limit and page
|
||||
// 1.3 - iTop 2.2.0, Verb 'get_related': added the options 'redundancy' and 'direction' to take into account the redundancy in the impact analysis
|
||||
// 1.2 - was documented in the wiki but never released ! Same as 1.3
|
||||
// 1.1 - In the reply, objects have a 'key' entry so that it is no more necessary to split class::key programmaticaly
|
||||
// 1.0 - Initial implementation in iTop 2.0.1
|
||||
//
|
||||
$aOps = array();
|
||||
if (in_array($sVersion, array('1.0', '1.1', '1.2', '1.3')))
|
||||
if (in_array($sVersion, array('1.0', '1.1', '1.2', '1.3', '1.4')))
|
||||
{
|
||||
$aOps[] = array(
|
||||
'verb' => 'core/create',
|
||||
@@ -299,9 +300,16 @@ class CoreServices implements iRestServiceProvider
|
||||
|
||||
/**
|
||||
* Enumerate services delivered by this class
|
||||
*
|
||||
* @param string $sVersion The version (e.g. 1.0) supported by the services
|
||||
* @param string $sVerb
|
||||
* @param $aParams
|
||||
*
|
||||
* @return RestResult The standardized result structure (at least a message)
|
||||
* @throws Exception in case of internal failure.
|
||||
* @throws \CoreException
|
||||
* @throws \CoreUnexpectedValue
|
||||
* @throws \SimpleGraphException
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function ExecOperation($sVersion, $sVerb, $aParams)
|
||||
{
|
||||
@@ -436,8 +444,10 @@ class CoreServices implements iRestServiceProvider
|
||||
$key = RestUtils::GetMandatoryParam($aParams, 'key');
|
||||
$aShowFields = RestUtils::GetFieldList($sClass, $aParams, 'output_fields');
|
||||
$bExtendedOutput = (RestUtils::GetOptionalParam($aParams, 'output_fields', '*') == '*+');
|
||||
$iLimit = (int)RestUtils::GetOptionalParam($aParams, 'limit', 0);
|
||||
$iPage = (int)RestUtils::GetOptionalParam($aParams, 'page', 1);
|
||||
|
||||
$oObjectSet = RestUtils::GetObjectSetFromKey($sClass, $key);
|
||||
$oObjectSet = RestUtils::GetObjectSetFromKey($sClass, $key, $iLimit, self::getOffsetFromLimitAndPage($iLimit, $iPage));
|
||||
$sTargetClass = $oObjectSet->GetFilter()->GetClass();
|
||||
|
||||
if (UserRights::IsActionAllowed($sTargetClass, UR_ACTION_READ) != UR_ALLOWED_YES)
|
||||
@@ -450,6 +460,11 @@ class CoreServices implements iRestServiceProvider
|
||||
$oResult->code = RestResult::UNAUTHORIZED;
|
||||
$oResult->message = "The current user does not have enough permissions for exporting data of class $sTargetClass";
|
||||
}
|
||||
elseif ($iPage < 1)
|
||||
{
|
||||
$oResult->code = RestResult::INVALID_PAGE;
|
||||
$oResult->message = "The request page number is not valid. It must be an integer greater than 0";
|
||||
}
|
||||
else
|
||||
{
|
||||
while ($oObject = $oObjectSet->Fetch())
|
||||
@@ -774,4 +789,15 @@ class CoreServices implements iRestServiceProvider
|
||||
$oResult->message = $sRes;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $iLimit
|
||||
* @param int $iPage
|
||||
*
|
||||
* @return int Offset for a given page number
|
||||
*/
|
||||
protected static function getOffsetFromLimitAndPage($iLimit, $iPage)
|
||||
{
|
||||
return $iLimit * max(0, $iPage - 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// Beware the version number MUST be enclosed with quotes otherwise v2.3.0 becomes v2 0.3 .0
|
||||
$version: "v2.6.0";
|
||||
$version: "v2.6.1";
|
||||
|
||||
// Base colors
|
||||
$gray-base: #000 !default;
|
||||
|
||||
@@ -343,10 +343,10 @@ a.small_action {
|
||||
padding-left: 5px;
|
||||
padding-top: 2px;
|
||||
padding-bottom: 2px;
|
||||
background: #ea7d1e url(../images/actions_left.png?v=v2.6.0) no-repeat left;
|
||||
background: #ea7d1e url(../images/actions_left.png?v=v2.6.1) no-repeat left;
|
||||
}
|
||||
.actions_details span {
|
||||
background: url(../images/actions_right.png?v=v2.6.0) no-repeat right;
|
||||
background: url(../images/actions_right.png?v=v2.6.1) no-repeat right;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
padding-top: 2px;
|
||||
@@ -520,7 +520,7 @@ div.actions_menu > ul {
|
||||
nowidth: 70px;
|
||||
padding-left: 5px;
|
||||
/* Nasty work-around for IE... en attendant mieux */
|
||||
background: #ea7d1e url(../images/actions_left.png?v=v2.6.0) no-repeat top left;
|
||||
background: #ea7d1e url(../images/actions_left.png?v=v2.6.1) no-repeat top left;
|
||||
cursor: pointer;
|
||||
margin: 0;
|
||||
}
|
||||
@@ -532,7 +532,7 @@ div.actions_menu > ul > li {
|
||||
height: 17px;
|
||||
padding-right: 16px;
|
||||
padding-left: 4px;
|
||||
background: url(../images/actions_right.png?v=v2.6.0) no-repeat top right transparent;
|
||||
background: url(../images/actions_right.png?v=v2.6.1) no-repeat top right transparent;
|
||||
font-weight: bold;
|
||||
color: #fff;
|
||||
vertical-align: middle;
|
||||
@@ -678,7 +678,7 @@ td a.dp-choose-date, a.dp-choose-date, td a.dp-choose-date:hover, a.dp-choose-da
|
||||
display: block;
|
||||
text-indent: -2000px;
|
||||
overflow: hidden;
|
||||
background: url(../images/calendar.png?v=v2.6.0) no-repeat;
|
||||
background: url(../images/calendar.png?v=v2.6.1) no-repeat;
|
||||
}
|
||||
td a.dp-choose-date.dp-disabled, a.dp-choose-date.dp-disabled {
|
||||
background-position: 0 -20px;
|
||||
@@ -1332,19 +1332,19 @@ input.dp-applied {
|
||||
}
|
||||
/* Beware: IE6 does not support multiple selector with multiple classes, only the last class is used */
|
||||
table.listResults tr.odd td.truncated, table.listResults tr td.truncated, .wizContainer table.listResults tr.odd td.truncated, .wizContainer table.listResults tr td.truncated {
|
||||
background: url(../images/truncated.png?v=v2.6.0) bottom repeat-x;
|
||||
background: url(../images/truncated.png?v=v2.6.1) bottom repeat-x;
|
||||
}
|
||||
/* Beware: IE6 does not support multiple selector with multiple classes, only the last class is used */
|
||||
table.listResults tr.even td.truncated, .wizContainer table.listResults tr.even td.truncated {
|
||||
background: #f9f9f1 url(../images/truncated.png?v=v2.6.0) bottom repeat-x;
|
||||
background: #f9f9f1 url(../images/truncated.png?v=v2.6.1) bottom repeat-x;
|
||||
}
|
||||
/* Beware: IE6 does not support multiple selector with multiple classes, only the last class is used */
|
||||
table.listResults tr.even td.hover.truncated, .wizContainer table.listResults tr.even td.hover.truncated {
|
||||
background: #fdf5d0 url(../images/truncated.png?v=v2.6.0) bottom repeat-x;
|
||||
background: #fdf5d0 url(../images/truncated.png?v=v2.6.1) bottom repeat-x;
|
||||
}
|
||||
/* Beware: IE6 does not support multiple selector with multiple classes, only the last class is used */
|
||||
table.listResults tr.odd td.hover.truncated, table.listResults tr td.hover.truncated, .wizContainer table.listResults tr.odd td.hover.truncated, .wizContainer table.listResults tr td.hover.truncated {
|
||||
background: #fdf5d0 url(../images/truncated.png?v=v2.6.0) bottom repeat-x;
|
||||
background: #fdf5d0 url(../images/truncated.png?v=v2.6.1) bottom repeat-x;
|
||||
}
|
||||
table.listResults.truncated {
|
||||
border-bottom: 0;
|
||||
@@ -1452,7 +1452,7 @@ div#logo {
|
||||
div#logo div {
|
||||
height: 88px;
|
||||
width: 244px;
|
||||
background: url(../images/itop-logo-2.png?v=v2.6.0) left no-repeat;
|
||||
background: url(../images/itop-logo-2.png?v=v2.6.1) left no-repeat;
|
||||
}
|
||||
#left-pane .ui-layout-north {
|
||||
overflow: hidden;
|
||||
@@ -1544,7 +1544,7 @@ div#logo div {
|
||||
}
|
||||
#global-search-image {
|
||||
vertical-align: middle;
|
||||
background: url(../images/search.png?v=v2.6.0) center center no-repeat;
|
||||
background: url(../images/search.png?v=v2.6.1) center center no-repeat;
|
||||
display: inline-block;
|
||||
width: 28px;
|
||||
height: 30px;
|
||||
@@ -1573,7 +1573,7 @@ span.ui-icon {
|
||||
margin: 0 2px;
|
||||
}
|
||||
.ui-layout-button-pin-down {
|
||||
background: url(../images/splitter-bkg.png?v=v2.6.0) transparent;
|
||||
background: url(../images/splitter-bkg.png?v=v2.6.1) transparent;
|
||||
width: 16px;
|
||||
background-position: -144px -144px;
|
||||
}
|
||||
@@ -2089,7 +2089,7 @@ img.prev, img.first, img.next, img.last {
|
||||
}
|
||||
div.actions_button {
|
||||
float: right;
|
||||
background: #ea7d1e url("../images/actions_left.png?v=v2.6.0") no-repeat scroll left top;
|
||||
background: #ea7d1e url("../images/actions_left.png?v=v2.6.1") no-repeat scroll left top;
|
||||
padding-left: 5px;
|
||||
margin-top: 0;
|
||||
margin-right: 10px;
|
||||
@@ -2097,7 +2097,7 @@ div.actions_button {
|
||||
vertical-align: middle;
|
||||
}
|
||||
div.actions_button a, .actions_button a:hover, .actions_button a:visited {
|
||||
background: #ea7d1e url(../images/actions_bkg.png?v=v2.6.0) no-repeat scroll right top;
|
||||
background: #ea7d1e url(../images/actions_bkg.png?v=v2.6.1) no-repeat scroll right top;
|
||||
color: #fff;
|
||||
padding-right: 8px;
|
||||
cursor: pointer;
|
||||
@@ -2121,10 +2121,10 @@ select#org_id {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
.dragHover {
|
||||
background: url(./ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png?v=v2.6.0);
|
||||
background: url(./ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png?v=v2.6.1);
|
||||
}
|
||||
.edit_mode .dashlet {
|
||||
background: url(./ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png?v=v2.6.0);
|
||||
background: url(./ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png?v=v2.6.1);
|
||||
padding: 5px;
|
||||
margin: 0;
|
||||
position: relative;
|
||||
@@ -2169,7 +2169,7 @@ table.prop_table {
|
||||
top: 0;
|
||||
right: 0;
|
||||
z-index: 10;
|
||||
background: transparent url(../images/delete.png?v=v2.6.0) no-repeat center;
|
||||
background: transparent url(../images/delete.png?v=v2.6.1) no-repeat center;
|
||||
}
|
||||
td.prop_value {
|
||||
text-align: left;
|
||||
@@ -2390,17 +2390,23 @@ a.summary, a.summary:hover {
|
||||
}
|
||||
.message_info {
|
||||
border: 1px solid #993;
|
||||
background: url(../images/info-mini.png?v=v2.6.0) 1em 1em no-repeat #ffc;
|
||||
background: url(../images/info-mini.png?v=v2.6.1) 1em 1em no-repeat #ffc;
|
||||
padding-left: 3em;
|
||||
}
|
||||
.message_ok {
|
||||
border: 1px solid #393;
|
||||
background: url(../images/ok.png?v=v2.6.0) 1em 1em no-repeat #cfc;
|
||||
background: url(../images/ok.png?v=v2.6.1) 1em 1em no-repeat #cfc;
|
||||
padding-left: 3em;
|
||||
}
|
||||
.message_warning {
|
||||
border: 1px solid #ec9800;
|
||||
background: url(../images/error.png?v=v2.6.1) 1em 1em no-repeat #ffd78d;
|
||||
color: #000;
|
||||
padding-left: 3em;
|
||||
}
|
||||
.message_error {
|
||||
border: 1px solid #933;
|
||||
background: url(../images/error.png?v=v2.6.0) 1em 1em no-repeat #fcc;
|
||||
background: url(../images/error.png?v=v2.6.1) 1em 1em no-repeat #fcc;
|
||||
padding-left: 3em;
|
||||
}
|
||||
.fg-menu a img {
|
||||
@@ -2531,18 +2537,18 @@ div.explain-printable {
|
||||
}
|
||||
#hiddeable_chapters .ui-tabs .ui-tabs-nav li.hideable-chapter span {
|
||||
padding-left: 20px;
|
||||
background: url(../images/eye-open-555.png?v=v2.6.0) 2px center no-repeat;
|
||||
background: url(../images/eye-open-555.png?v=v2.6.1) 2px center no-repeat;
|
||||
}
|
||||
#hiddeable_chapters .ui-tabs .ui-tabs-nav li.hideable-chapter.strikethrough span {
|
||||
text-decoration: line-through;
|
||||
background: url(../images/eye-closed-555.png?v=v2.6.0) 2px center no-repeat;
|
||||
background: url(../images/eye-closed-555.png?v=v2.6.1) 2px center no-repeat;
|
||||
}
|
||||
.printable-version legend {
|
||||
padding-left: 26px;
|
||||
background: #1c94c4 url(../images/eye-open-fff.png?v=v2.6.0) 8px center no-repeat;
|
||||
background: #1c94c4 url(../images/eye-open-fff.png?v=v2.6.1) 8px center no-repeat;
|
||||
}
|
||||
.printable-version .strikethrough legend {
|
||||
background: #1c94c4 url(../images/eye-closed-fff.png?v=v2.6.0) 8px center no-repeat;
|
||||
background: #1c94c4 url(../images/eye-closed-fff.png?v=v2.6.1) 8px center no-repeat;
|
||||
}
|
||||
.printable-version fieldset.strikethrough span {
|
||||
display: none;
|
||||
@@ -2693,7 +2699,7 @@ span.search-button, span.refresh-button {
|
||||
#itop-breadcrumb .breadcrumb-item a::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
background-image: url(../images/breadcrumb-separator.png?v=v2.6.0);
|
||||
background-image: url(../images/breadcrumb-separator.png?v=v2.6.1);
|
||||
background-repeat: no-repeat;
|
||||
width: 8px;
|
||||
height: 16px;
|
||||
@@ -2927,6 +2933,17 @@ table.listResults .originColor {
|
||||
.menu-icon-select > .ui-menu-item {
|
||||
padding: 0.3em 3%;
|
||||
}
|
||||
.menu-icon-select > .ui-menu-item > * {
|
||||
width: 100%;
|
||||
white-space: nowrap;
|
||||
overflow-x: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.menu-icon-select > .ui-menu-item > * > img {
|
||||
max-width: 80px;
|
||||
max-height: 45px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.attribute.attribute-set .attribute-set-item::after {
|
||||
content: ",";
|
||||
margin-right: 0.5em;
|
||||
|
||||
@@ -2762,6 +2762,12 @@ a.summary, a.summary:hover {
|
||||
background: url(../images/ok.png?v=#{$version}) 1em 1em no-repeat #cfc;
|
||||
padding-left: 3em;
|
||||
}
|
||||
.message_warning {
|
||||
border: 1px solid #ec9800;
|
||||
background: url(../images/error.png?v=#{$version}) 1em 1em no-repeat #ffd78d;
|
||||
color: #000;
|
||||
padding-left: 3em;
|
||||
}
|
||||
.message_error {
|
||||
border: 1px solid #933;
|
||||
background: url(../images/error.png?v=#{$version}) 1em 1em no-repeat #fcc;
|
||||
@@ -3353,6 +3359,19 @@ table.listResults .originColor{
|
||||
}
|
||||
.menu-icon-select > .ui-menu-item{
|
||||
padding: .3em 3%;
|
||||
|
||||
> *{
|
||||
width: 100%;
|
||||
white-space: nowrap;
|
||||
overflow-x: hidden;
|
||||
text-overflow: ellipsis;
|
||||
|
||||
> img{
|
||||
max-width: 80px;
|
||||
max-height: 45px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
SetupWebPage::AddModule(
|
||||
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
|
||||
'authent-external/2.6.0',
|
||||
'authent-external/2.6.1',
|
||||
array(
|
||||
// Identification
|
||||
//
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* @author Vladimir Kunin <v.b.kunin@gmail.com>
|
||||
* @link http://community.itop-itsm.ru iTop Russian Community
|
||||
* @link https://github.com/itop-itsm-ru/itop-rus
|
||||
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
*/
|
||||
//
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
// Dictionnay conventions
|
||||
// Class:<class_name>
|
||||
// Class:<class_name>+
|
||||
@@ -30,11 +29,9 @@
|
||||
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
|
||||
// Class:<class_name>/Stimulus:<stimulus_code>
|
||||
// Class:<class_name>/Stimulus:<stimulus_code>+
|
||||
|
||||
//
|
||||
// Class: UserExternal
|
||||
//
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
'Class:UserExternal' => '外部用户',
|
||||
'Class:UserExternal+' => '用户在iTop 外部验证身份',
|
||||
|
||||
@@ -9,7 +9,7 @@ if (function_exists('ldap_connect'))
|
||||
|
||||
SetupWebPage::AddModule(
|
||||
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
|
||||
'authent-ldap/2.6.0',
|
||||
'authent-ldap/2.6.1',
|
||||
array(
|
||||
// Identification
|
||||
//
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* @author Vladimir Kunin <v.b.kunin@gmail.com>
|
||||
* @link http://community.itop-itsm.ru iTop Russian Community
|
||||
* @link https://github.com/itop-itsm-ru/itop-rus
|
||||
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
*/
|
||||
//
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
// Dictionnay conventions
|
||||
// Class:<class_name>
|
||||
// Class:<class_name>+
|
||||
@@ -30,11 +29,9 @@
|
||||
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
|
||||
// Class:<class_name>/Stimulus:<stimulus_code>
|
||||
// Class:<class_name>/Stimulus:<stimulus_code>+
|
||||
|
||||
//
|
||||
// Class: UserLDAP
|
||||
//
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
'Class:UserLDAP' => 'LDAP 用户',
|
||||
'Class:UserLDAP+' => '用户身份由LDAP 认证',
|
||||
|
||||
@@ -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.6.0',
|
||||
'authent-local/2.6.1',
|
||||
array(
|
||||
// Identification
|
||||
//
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* @author Vladimir Kunin <v.b.kunin@gmail.com>
|
||||
* @link http://community.itop-itsm.ru iTop Russian Community
|
||||
* @link https://github.com/itop-itsm-ru/itop-rus
|
||||
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
*/
|
||||
//
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
// Dictionnay conventions
|
||||
// Class:<class_name>
|
||||
// Class:<class_name>+
|
||||
@@ -30,11 +29,9 @@
|
||||
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
|
||||
// Class:<class_name>/Stimulus:<stimulus_code>
|
||||
// Class:<class_name>/Stimulus:<stimulus_code>+
|
||||
|
||||
//
|
||||
// Class: UserLocal
|
||||
//
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
'Class:UserLocal' => 'iTop 用户',
|
||||
'Class:UserLocal+' => '用户由 iTop 验证身份',
|
||||
|
||||
@@ -37,4 +37,26 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
|
||||
'Attachment:Max_Ko' => '(Maximální velikost souboru: %1$s KiB)',
|
||||
'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~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: Attachment
|
||||
//
|
||||
|
||||
Dict::Add('CS CZ', 'Czech', 'Čeština', array(
|
||||
'Class:Attachment' => 'Attachment~~',
|
||||
'Class:Attachment+' => '~~',
|
||||
'Class:Attachment/Attribute:expire' => 'Expire~~',
|
||||
'Class:Attachment/Attribute:expire+' => '~~',
|
||||
'Class:Attachment/Attribute:temp_id' => 'Temporary id~~',
|
||||
'Class:Attachment/Attribute:temp_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_class' => 'Item class~~',
|
||||
'Class:Attachment/Attribute:item_class+' => '~~',
|
||||
'Class:Attachment/Attribute:item_id' => 'Item~~',
|
||||
'Class:Attachment/Attribute:item_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_org_id' => 'Item organization~~',
|
||||
'Class:Attachment/Attribute:item_org_id+' => '~~',
|
||||
'Class:Attachment/Attribute:contents' => 'Contents~~',
|
||||
'Class:Attachment/Attribute:contents+' => '~~',
|
||||
));
|
||||
|
||||
@@ -34,4 +34,26 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
|
||||
'Attachment:Max_Ko' => '(Maksimal størrelse: %1$s KB)',
|
||||
'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~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: Attachment
|
||||
//
|
||||
|
||||
Dict::Add('DA DA', 'Danish', 'Dansk', array(
|
||||
'Class:Attachment' => 'Attachment~~',
|
||||
'Class:Attachment+' => '~~',
|
||||
'Class:Attachment/Attribute:expire' => 'Expire~~',
|
||||
'Class:Attachment/Attribute:expire+' => '~~',
|
||||
'Class:Attachment/Attribute:temp_id' => 'Temporary id~~',
|
||||
'Class:Attachment/Attribute:temp_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_class' => 'Item class~~',
|
||||
'Class:Attachment/Attribute:item_class+' => '~~',
|
||||
'Class:Attachment/Attribute:item_id' => 'Item~~',
|
||||
'Class:Attachment/Attribute:item_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_org_id' => 'Item organization~~',
|
||||
'Class:Attachment/Attribute:item_org_id+' => '~~',
|
||||
'Class:Attachment/Attribute:contents' => 'Contents~~',
|
||||
'Class:Attachment/Attribute:contents+' => '~~',
|
||||
));
|
||||
|
||||
@@ -36,4 +36,26 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Attachment:Max_Ko' => '(Maximale Dateigröße: %1$s KB)',
|
||||
'Attachments:NoAttachment' => 'Kein Attachment. ',
|
||||
'Attachments:PreviewNotAvailable' => 'Vorschau für diesen Attachment-Typ nicht verfügbar.',
|
||||
'Attachments:Error:FileTooLarge' => 'File is too large to be uploaded. %1$s~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: Attachment
|
||||
//
|
||||
|
||||
Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:Attachment' => 'Attachment~~',
|
||||
'Class:Attachment+' => '~~',
|
||||
'Class:Attachment/Attribute:expire' => 'Expire~~',
|
||||
'Class:Attachment/Attribute:expire+' => '~~',
|
||||
'Class:Attachment/Attribute:temp_id' => 'Temporary id~~',
|
||||
'Class:Attachment/Attribute:temp_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_class' => 'Item class~~',
|
||||
'Class:Attachment/Attribute:item_class+' => '~~',
|
||||
'Class:Attachment/Attribute:item_id' => 'Item~~',
|
||||
'Class:Attachment/Attribute:item_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_org_id' => 'Item organization~~',
|
||||
'Class:Attachment/Attribute:item_org_id+' => '~~',
|
||||
'Class:Attachment/Attribute:contents' => 'Contents~~',
|
||||
'Class:Attachment/Attribute:contents+' => '~~',
|
||||
));
|
||||
|
||||
@@ -35,4 +35,26 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
'Attachment:Max_Ko' => '(Maximum file size: %1$s Ko)',
|
||||
'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',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: Attachment
|
||||
//
|
||||
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:Attachment' => 'Attachment',
|
||||
'Class:Attachment+' => '',
|
||||
'Class:Attachment/Attribute:expire' => 'Expire',
|
||||
'Class:Attachment/Attribute:expire+' => '',
|
||||
'Class:Attachment/Attribute:temp_id' => 'Temporary id',
|
||||
'Class:Attachment/Attribute:temp_id+' => '',
|
||||
'Class:Attachment/Attribute:item_class' => 'Item class',
|
||||
'Class:Attachment/Attribute:item_class+' => '',
|
||||
'Class:Attachment/Attribute:item_id' => 'Item',
|
||||
'Class:Attachment/Attribute:item_id+' => '',
|
||||
'Class:Attachment/Attribute:item_org_id' => 'Item organization',
|
||||
'Class:Attachment/Attribute:item_org_id+' => '',
|
||||
'Class:Attachment/Attribute:contents' => 'Contents',
|
||||
'Class:Attachment/Attribute:contents+' => '',
|
||||
));
|
||||
|
||||
@@ -36,4 +36,26 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
|
||||
'Attachment:Max_Ko' => '(Tamaño Máximo de Archivo: %1$s Kb)',
|
||||
'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~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: Attachment
|
||||
//
|
||||
|
||||
Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
|
||||
'Class:Attachment' => 'Attachment~~',
|
||||
'Class:Attachment+' => '~~',
|
||||
'Class:Attachment/Attribute:expire' => 'Expire~~',
|
||||
'Class:Attachment/Attribute:expire+' => '~~',
|
||||
'Class:Attachment/Attribute:temp_id' => 'Temporary id~~',
|
||||
'Class:Attachment/Attribute:temp_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_class' => 'Item class~~',
|
||||
'Class:Attachment/Attribute:item_class+' => '~~',
|
||||
'Class:Attachment/Attribute:item_id' => 'Item~~',
|
||||
'Class:Attachment/Attribute:item_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_org_id' => 'Item organization~~',
|
||||
'Class:Attachment/Attribute:item_org_id+' => '~~',
|
||||
'Class:Attachment/Attribute:contents' => 'Contents~~',
|
||||
'Class:Attachment/Attribute:contents+' => '~~',
|
||||
));
|
||||
|
||||
@@ -35,4 +35,26 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'Attachment:Max_Ko' => '(Taille de fichier max.: %1$s Kb)',
|
||||
'Attachments:NoAttachment' => 'Aucune pièce jointe.',
|
||||
'Attachments:PreviewNotAvailable' => 'Pas d\'aperçu pour ce type de pièce jointe.',
|
||||
'Attachments:Error:FileTooLarge' => 'Le fichier est trop gros pour être chargé. %1$s',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: Attachment
|
||||
//
|
||||
|
||||
Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'Class:Attachment' => 'Attachement',
|
||||
'Class:Attachment+' => '',
|
||||
'Class:Attachment/Attribute:expire' => 'Expire',
|
||||
'Class:Attachment/Attribute:expire+' => '',
|
||||
'Class:Attachment/Attribute:temp_id' => 'Id Temporaire',
|
||||
'Class:Attachment/Attribute:temp_id+' => '',
|
||||
'Class:Attachment/Attribute:item_class' => 'Classe d\'Item',
|
||||
'Class:Attachment/Attribute:item_class+' => '',
|
||||
'Class:Attachment/Attribute:item_id' => 'Item',
|
||||
'Class:Attachment/Attribute:item_id+' => '',
|
||||
'Class:Attachment/Attribute:item_org_id' => 'Organisation de l\'Item',
|
||||
'Class:Attachment/Attribute:item_org_id+' => '',
|
||||
'Class:Attachment/Attribute:contents' => 'Contenu',
|
||||
'Class:Attachment/Attribute:contents+' => '',
|
||||
));
|
||||
|
||||
@@ -34,4 +34,26 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
|
||||
'Attachment:Max_Ko' => '(Maximum file size: %1$s Ko)~~',
|
||||
'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~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: Attachment
|
||||
//
|
||||
|
||||
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
|
||||
'Class:Attachment' => 'Attachment~~',
|
||||
'Class:Attachment+' => '~~',
|
||||
'Class:Attachment/Attribute:expire' => 'Expire~~',
|
||||
'Class:Attachment/Attribute:expire+' => '~~',
|
||||
'Class:Attachment/Attribute:temp_id' => 'Temporary id~~',
|
||||
'Class:Attachment/Attribute:temp_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_class' => 'Item class~~',
|
||||
'Class:Attachment/Attribute:item_class+' => '~~',
|
||||
'Class:Attachment/Attribute:item_id' => 'Item~~',
|
||||
'Class:Attachment/Attribute:item_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_org_id' => 'Item organization~~',
|
||||
'Class:Attachment/Attribute:item_org_id+' => '~~',
|
||||
'Class:Attachment/Attribute:contents' => 'Contents~~',
|
||||
'Class:Attachment/Attribute:contents+' => '~~',
|
||||
));
|
||||
|
||||
@@ -34,4 +34,26 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
|
||||
'Attachment:Max_Ko' => '(Maximum file size: %1$s Ko)~~',
|
||||
'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~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: Attachment
|
||||
//
|
||||
|
||||
Dict::Add('IT IT', 'Italian', 'Italiano', array(
|
||||
'Class:Attachment' => 'Attachment~~',
|
||||
'Class:Attachment+' => '~~',
|
||||
'Class:Attachment/Attribute:expire' => 'Expire~~',
|
||||
'Class:Attachment/Attribute:expire+' => '~~',
|
||||
'Class:Attachment/Attribute:temp_id' => 'Temporary id~~',
|
||||
'Class:Attachment/Attribute:temp_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_class' => 'Item class~~',
|
||||
'Class:Attachment/Attribute:item_class+' => '~~',
|
||||
'Class:Attachment/Attribute:item_id' => 'Item~~',
|
||||
'Class:Attachment/Attribute:item_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_org_id' => 'Item organization~~',
|
||||
'Class:Attachment/Attribute:item_org_id+' => '~~',
|
||||
'Class:Attachment/Attribute:contents' => 'Contents~~',
|
||||
'Class:Attachment/Attribute:contents+' => '~~',
|
||||
));
|
||||
|
||||
@@ -33,4 +33,26 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
|
||||
'Attachment:Max_Ko' => '(最大ファイルサイズ: %1$s KB)',
|
||||
'Attachments:NoAttachment' => '添付はありません。',
|
||||
'Attachments:PreviewNotAvailable' => 'Preview not available for this type of attachment.~~',
|
||||
'Attachments:Error:FileTooLarge' => 'File is too large to be uploaded. %1$s~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: Attachment
|
||||
//
|
||||
|
||||
Dict::Add('JA JP', 'Japanese', '日本語', array(
|
||||
'Class:Attachment' => 'Attachment~~',
|
||||
'Class:Attachment+' => '~~',
|
||||
'Class:Attachment/Attribute:expire' => 'Expire~~',
|
||||
'Class:Attachment/Attribute:expire+' => '~~',
|
||||
'Class:Attachment/Attribute:temp_id' => 'Temporary id~~',
|
||||
'Class:Attachment/Attribute:temp_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_class' => 'Item class~~',
|
||||
'Class:Attachment/Attribute:item_class+' => '~~',
|
||||
'Class:Attachment/Attribute:item_id' => 'Item~~',
|
||||
'Class:Attachment/Attribute:item_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_org_id' => 'Item organization~~',
|
||||
'Class:Attachment/Attribute:item_org_id+' => '~~',
|
||||
'Class:Attachment/Attribute:contents' => 'Contents~~',
|
||||
'Class:Attachment/Attribute:contents+' => '~~',
|
||||
));
|
||||
|
||||
@@ -54,16 +54,42 @@ class AttachmentPlugIn implements iApplicationUIExtension, iApplicationObjectExt
|
||||
}
|
||||
}
|
||||
|
||||
protected function GetMaxUpload()
|
||||
/**
|
||||
* Returns the value of "upload_max_filesize" in bytes if upload allowed, false otherwise.
|
||||
*
|
||||
* @since 2.6.1
|
||||
*
|
||||
* @return number|boolean
|
||||
*/
|
||||
public static function GetMaxUploadSize()
|
||||
{
|
||||
$iMaxUpload = ini_get('upload_max_filesize');
|
||||
$sMaxUpload = ini_get('upload_max_filesize');
|
||||
if (!$sMaxUpload)
|
||||
{
|
||||
$result = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = utils::ConvertToBytes($sMaxUpload);
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the max. file upload size allowed as a dictionary entry
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function GetMaxUpload()
|
||||
{
|
||||
$iMaxUpload = static::GetMaxUploadSize();
|
||||
if (!$iMaxUpload)
|
||||
{
|
||||
$sRet = Dict::S('Attachments:UploadNotAllowedOnThisSystem');
|
||||
}
|
||||
else
|
||||
{
|
||||
$iMaxUpload = utils::ConvertToBytes($iMaxUpload);
|
||||
if ($iMaxUpload > 1024*1024*1024)
|
||||
{
|
||||
$sRet = Dict::Format('Attachment:Max_Go', sprintf('%0.2f', $iMaxUpload/(1024*1024*1024)));
|
||||
@@ -327,13 +353,16 @@ EOF
|
||||
}
|
||||
}
|
||||
|
||||
$oPage->add('</span>');
|
||||
$oPage->add('<div style="clear:both"></div>');
|
||||
$sMaxUpload = $this->GetMaxUpload();
|
||||
$oPage->p(Dict::S('Attachments:AddAttachment').'<input type="file" name="file" id="file"><span style="display:none;" id="attachment_loading"> <img src="../images/indicator.gif"></span> '.$sMaxUpload);
|
||||
$oPage->add('</span>');
|
||||
$oPage->add('<div style="clear:both"></div>');
|
||||
$iMaxUploadInBytes = $this->GetMaxUploadSize();
|
||||
$sMaxUploadLabel = $this->GetMaxUpload();
|
||||
$sFileTooBigLabel = Dict::Format('Attachments:Error:FileTooLarge', $sMaxUploadLabel);
|
||||
$sFileTooBigLabelForJS = addslashes($sFileTooBigLabel);
|
||||
$oPage->p(Dict::S('Attachments:AddAttachment').'<input type="file" name="file" id="file"><span style="display:none;" id="attachment_loading"> <img src="../images/indicator.gif"></span> '.$sMaxUploadLabel);
|
||||
|
||||
$oPage->add_linked_script(utils::GetAbsoluteUrlAppRoot().'js/jquery.iframe-transport.js');
|
||||
$oPage->add_linked_script(utils::GetAbsoluteUrlAppRoot().'js/jquery.fileupload.js');
|
||||
$oPage->add_linked_script(utils::GetAbsoluteUrlAppRoot().'js/jquery.fileupload.js');
|
||||
|
||||
$sDownloadLink = utils::GetAbsoluteUrlAppRoot().ATTACHMENT_DOWNLOAD_URL;
|
||||
$oPage->add_ready_script(
|
||||
@@ -362,6 +391,21 @@ EOF
|
||||
}
|
||||
}
|
||||
},
|
||||
send: function(e, data){
|
||||
// Don't send attachment if size is greater than PHP post_max_size, otherwise it will break the request and all its parameters (\$_REQUEST, \$_POST, ...)
|
||||
// Note: We loop on the files as the data structures is an array but in this case, we only upload 1 file at a time.
|
||||
var iTotalSizeInBytes = 0;
|
||||
for(var i = 0; i < data.files.length; i++)
|
||||
{
|
||||
iTotalSizeInBytes += data.files[i].size;
|
||||
}
|
||||
|
||||
if(iTotalSizeInBytes > $iMaxUploadInBytes)
|
||||
{
|
||||
alert('$sFileTooBigLabelForJS');
|
||||
return false;
|
||||
}
|
||||
},
|
||||
start: function() {
|
||||
$('#attachment_loading').show();
|
||||
},
|
||||
|
||||
@@ -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.6.0',
|
||||
'itop-attachments/2.6.1',
|
||||
array(
|
||||
// Identification
|
||||
//
|
||||
|
||||
@@ -39,4 +39,26 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
|
||||
'Attachment:Max_Ko' => '(Maximale bestandsgrootte: %1$s kB)',
|
||||
'Attachments:NoAttachment' => 'Geen bijlage. ',
|
||||
'Attachments:PreviewNotAvailable' => 'Een voorbeeld is niet beschikbaar voor dit type bijlage.',
|
||||
'Attachments:Error:FileTooLarge' => 'File is too large to be uploaded. %1$s~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: Attachment
|
||||
//
|
||||
|
||||
Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
|
||||
'Class:Attachment' => 'Attachment~~',
|
||||
'Class:Attachment+' => '~~',
|
||||
'Class:Attachment/Attribute:expire' => 'Expire~~',
|
||||
'Class:Attachment/Attribute:expire+' => '~~',
|
||||
'Class:Attachment/Attribute:temp_id' => 'Temporary id~~',
|
||||
'Class:Attachment/Attribute:temp_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_class' => 'Item class~~',
|
||||
'Class:Attachment/Attribute:item_class+' => '~~',
|
||||
'Class:Attachment/Attribute:item_id' => 'Item~~',
|
||||
'Class:Attachment/Attribute:item_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_org_id' => 'Item organization~~',
|
||||
'Class:Attachment/Attribute:item_org_id+' => '~~',
|
||||
'Class:Attachment/Attribute:contents' => 'Contents~~',
|
||||
'Class:Attachment/Attribute:contents+' => '~~',
|
||||
));
|
||||
|
||||
@@ -35,4 +35,26 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
|
||||
'Attachment:Max_Ko' => '(Tamanho máximo arquivo: %1$s Kb)',
|
||||
'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~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: Attachment
|
||||
//
|
||||
|
||||
Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
|
||||
'Class:Attachment' => 'Attachment~~',
|
||||
'Class:Attachment+' => '~~',
|
||||
'Class:Attachment/Attribute:expire' => 'Expire~~',
|
||||
'Class:Attachment/Attribute:expire+' => '~~',
|
||||
'Class:Attachment/Attribute:temp_id' => 'Temporary id~~',
|
||||
'Class:Attachment/Attribute:temp_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_class' => 'Item class~~',
|
||||
'Class:Attachment/Attribute:item_class+' => '~~',
|
||||
'Class:Attachment/Attribute:item_id' => 'Item~~',
|
||||
'Class:Attachment/Attribute:item_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_org_id' => 'Item organization~~',
|
||||
'Class:Attachment/Attribute:item_org_id+' => '~~',
|
||||
'Class:Attachment/Attribute:contents' => 'Contents~~',
|
||||
'Class:Attachment/Attribute:contents+' => '~~',
|
||||
));
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* @author Vladimir Kunin <v.b.kunin@gmail.com>
|
||||
* @link http://community.itop-itsm.ru iTop Russian Community
|
||||
* @link https://github.com/itop-itsm-ru/itop-rus
|
||||
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
*/
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
@@ -22,4 +22,26 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
'Attachment:Max_Ko' => '(Максимальный размер файла: %1$s кБ)',
|
||||
'Attachments:NoAttachment' => 'Нет вложений.',
|
||||
'Attachments:PreviewNotAvailable' => 'Предварительный просмотр не доступен для этого типа вложений.',
|
||||
'Attachments:Error:FileTooLarge' => 'Файл слишком велик для загрузки. %1$s',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: Attachment
|
||||
//
|
||||
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
'Class:Attachment' => 'Вложение',
|
||||
'Class:Attachment+' => '',
|
||||
'Class:Attachment/Attribute:expire' => 'Истекает',
|
||||
'Class:Attachment/Attribute:expire+' => '',
|
||||
'Class:Attachment/Attribute:temp_id' => 'Временный Id',
|
||||
'Class:Attachment/Attribute:temp_id+' => '',
|
||||
'Class:Attachment/Attribute:item_class' => 'Класс объекта',
|
||||
'Class:Attachment/Attribute:item_class+' => '',
|
||||
'Class:Attachment/Attribute:item_id' => 'Id объекта',
|
||||
'Class:Attachment/Attribute:item_id+' => '',
|
||||
'Class:Attachment/Attribute:item_org_id' => 'Id организации объекта',
|
||||
'Class:Attachment/Attribute:item_org_id+' => '',
|
||||
'Class:Attachment/Attribute:contents' => 'Содержимое',
|
||||
'Class:Attachment/Attribute:contents+' => '',
|
||||
));
|
||||
|
||||
@@ -34,4 +34,26 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
|
||||
'Attachment:Max_Ko' => '(Maximum file size: %1$s Ko)~~',
|
||||
'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~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: Attachment
|
||||
//
|
||||
|
||||
Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
|
||||
'Class:Attachment' => 'Attachment~~',
|
||||
'Class:Attachment+' => '~~',
|
||||
'Class:Attachment/Attribute:expire' => 'Expire~~',
|
||||
'Class:Attachment/Attribute:expire+' => '~~',
|
||||
'Class:Attachment/Attribute:temp_id' => 'Temporary id~~',
|
||||
'Class:Attachment/Attribute:temp_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_class' => 'Item class~~',
|
||||
'Class:Attachment/Attribute:item_class+' => '~~',
|
||||
'Class:Attachment/Attribute:item_id' => 'Item~~',
|
||||
'Class:Attachment/Attribute:item_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_org_id' => 'Item organization~~',
|
||||
'Class:Attachment/Attribute:item_org_id+' => '~~',
|
||||
'Class:Attachment/Attribute:contents' => 'Contents~~',
|
||||
'Class:Attachment/Attribute:contents+' => '~~',
|
||||
));
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
'Attachments:TabTitle_Count' => '附件 (%1$d)',
|
||||
'Attachments:EmptyTabTitle' => '附件',
|
||||
@@ -35,4 +34,26 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
'Attachment:Max_Ko' => '(最大文件尺寸: %1$s KB)',
|
||||
'Attachments:NoAttachment' => '没有附件. ',
|
||||
'Attachments:PreviewNotAvailable' => '该附件类型不支持预览.',
|
||||
'Attachments:Error:FileTooLarge' => 'File is too large to be uploaded. %1$s~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: Attachment
|
||||
//
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
'Class:Attachment' => 'Attachment~~',
|
||||
'Class:Attachment+' => '~~',
|
||||
'Class:Attachment/Attribute:expire' => 'Expire~~',
|
||||
'Class:Attachment/Attribute:expire+' => '~~',
|
||||
'Class:Attachment/Attribute:temp_id' => 'Temporary id~~',
|
||||
'Class:Attachment/Attribute:temp_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_class' => 'Item class~~',
|
||||
'Class:Attachment/Attribute:item_class+' => '~~',
|
||||
'Class:Attachment/Attribute:item_id' => 'Item~~',
|
||||
'Class:Attachment/Attribute:item_id+' => '~~',
|
||||
'Class:Attachment/Attribute:item_org_id' => 'Item organization~~',
|
||||
'Class:Attachment/Attribute:item_org_id+' => '~~',
|
||||
'Class:Attachment/Attribute:contents' => 'Contents~~',
|
||||
'Class:Attachment/Attribute:contents+' => '~~',
|
||||
));
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
<rank>15</rank>
|
||||
<parent>AdminTools</parent>
|
||||
<url>status.php</url>
|
||||
<enable_class>ResourceAdminMenu</enable_class>
|
||||
<enable_action>UR_ACTION_MODIFY</enable_action>
|
||||
<enable_admin_only>1</enable_admin_only>
|
||||
</menu>
|
||||
</menus>
|
||||
</itop_design>
|
||||
|
||||
@@ -47,31 +47,14 @@ class DBBackupScheduled extends DBBackup
|
||||
{
|
||||
protected function LogInfo($sMsg)
|
||||
{
|
||||
static $bDebug = null;
|
||||
if ($bDebug == null)
|
||||
{
|
||||
$bDebug = MetaModel::GetConfig()->GetModuleSetting('itop-backup', 'debug', false);
|
||||
}
|
||||
|
||||
if ($bDebug)
|
||||
{
|
||||
echo $sMsg."\n";
|
||||
}
|
||||
echo $sMsg."\n";
|
||||
IssueLog::Info($sMsg);
|
||||
}
|
||||
|
||||
protected function LogError($sMsg)
|
||||
{
|
||||
static $bDebug = null;
|
||||
if ($bDebug == null)
|
||||
{
|
||||
$bDebug = MetaModel::GetConfig()->GetModuleSetting('itop-backup', 'debug', false);
|
||||
}
|
||||
|
||||
IssueLog::Error($sMsg);
|
||||
if ($bDebug)
|
||||
{
|
||||
echo 'Error: '.$sMsg."\n";
|
||||
}
|
||||
echo 'Error: '.$sMsg."\n";
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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.6.0',
|
||||
'itop-backup/2.6.1',
|
||||
array(
|
||||
// Identification
|
||||
//
|
||||
@@ -52,7 +52,7 @@ SetupWebPage::AddModule(
|
||||
//'file_name_format' => '__DB__-%Y-%m-%d_%H_%M',
|
||||
'retention_count' => 5,
|
||||
'enabled' => true,
|
||||
'debug' => false,
|
||||
'itop_root' => '',
|
||||
'itop_backup_incident' => '',
|
||||
),
|
||||
)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* @author Vladimir Kunin <v.b.kunin@gmail.com>
|
||||
* @link http://community.itop-itsm.ru iTop Russian Community
|
||||
* @link https://github.com/itop-itsm-ru/itop-rus
|
||||
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
*/
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
@@ -27,7 +27,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
'bkp-week-days' => 'Резервное копирование будет выполняться <b>каждый %1$s в %2$s</b>',
|
||||
'bkp-retention' => 'Не более <b>%1$d файлов резервных копий будут храниться</b> в целевом каталоге.',
|
||||
'bkp-next-to-delete' => 'Будет удалена при следующем запуске резервного копирования (см. параметр \\"retention_count\\")',
|
||||
'bkp-table-file' => 'Файл',
|
||||
'bkp-table-file' => 'Файл',
|
||||
'bkp-table-file+' => 'Только файлы с расширением .zip считаются файлами резервных копий.',
|
||||
'bkp-table-size' => 'Размер',
|
||||
'bkp-table-size+' => '',
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
|
||||
'bkp-backup-running' => '备份正在进行,请稍后...',
|
||||
|
||||
@@ -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-bridge-virtualization-storage/2.6.0',
|
||||
'itop-bridge-virtualization-storage/2.6.1',
|
||||
array(
|
||||
// Identification
|
||||
//
|
||||
|
||||
@@ -4561,7 +4561,7 @@
|
||||
<icon>itop-change-mgmt-itil/images/change-ongoing.png</icon>
|
||||
</item>
|
||||
<item id="recent_changes" _delta="define">
|
||||
<oql><![CDATA[SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = 'yes') AND (C.status NOT IN ('closed')) AND (L.impact_code != 'not_impacted') AND (C.id != :this->id) AND (DATE_ADD(C.end_date, INTERVAL 3 DAY) < NOW())]]></oql>
|
||||
<oql><![CDATA[SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = 'yes') AND (C.status NOT IN ('closed')) AND (L.impact_code != 'not_impacted') AND (C.id != :this->id) AND (C.end_date < NOW() AND C.end_date > DATE_SUB(NOW(), INTERVAL 3 DAY ))]]></oql>
|
||||
<dict>Tickets:Related:RecentChanges</dict>
|
||||
<icon>itop-change-mgmt-itil/images/change-done.png</icon>
|
||||
</item>
|
||||
@@ -4579,7 +4579,7 @@
|
||||
<icon>itop-change-mgmt-itil/images/change-ongoing.png</icon>
|
||||
</item>
|
||||
<item id="recent_changes" _delta="define">
|
||||
<oql><![CDATA[SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = 'yes') AND (C.status NOT IN ('closed')) AND (L.impact_code != 'not_impacted') AND (C.id != :this->id) AND (DATE_ADD(C.end_date, INTERVAL 3 DAY) < NOW())]]></oql>
|
||||
<oql><![CDATA[SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = 'yes') AND (C.status NOT IN ('closed')) AND (L.impact_code != 'not_impacted') AND (C.id != :this->id) AND (C.end_date < NOW() AND C.end_date > DATE_SUB(NOW(), INTERVAL 3 DAY ))]]></oql>
|
||||
<dict>Tickets:Related:RecentChanges</dict>
|
||||
<icon>itop-change-mgmt-itil/images/change-done.png</icon>
|
||||
</item>
|
||||
@@ -4597,7 +4597,7 @@
|
||||
<icon>itop-change-mgmt-itil/images/change-ongoing.png</icon>
|
||||
</item>
|
||||
<item id="recent_changes" _delta="define">
|
||||
<oql><![CDATA[SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = 'yes') AND (C.status NOT IN ('closed')) AND (L.impact_code != 'not_impacted') AND (C.id != :this->id) AND (DATE_ADD(C.end_date, INTERVAL 3 DAY) < NOW())]]></oql>
|
||||
<oql><![CDATA[SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = 'yes') AND (C.status NOT IN ('closed')) AND (L.impact_code != 'not_impacted') AND (C.id != :this->id) AND (C.end_date < NOW() AND C.end_date > DATE_SUB(NOW(), INTERVAL 3 DAY ))]]></oql>
|
||||
<dict>Tickets:Related:RecentChanges</dict>
|
||||
<icon>itop-change-mgmt-itil/images/change-done.png</icon>
|
||||
</item>
|
||||
@@ -4619,7 +4619,7 @@
|
||||
<icon>itop-change-mgmt-itil/images/change-ongoing.png</icon>
|
||||
</item>
|
||||
<item id="recent_changes" _delta="define">
|
||||
<oql><![CDATA[SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = 'yes') AND (C.status IN ('closed')) AND (L.impact_code != 'not_impacted') AND (DATE_ADD(C.end_date, INTERVAL 3 DAY) < NOW())]]></oql>
|
||||
<oql><![CDATA[SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = 'yes') AND (C.status IN ('closed')) AND (L.impact_code != 'not_impacted') AND (C.end_date < NOW() AND C.end_date > DATE_SUB(NOW(), INTERVAL 3 DAY ))]]></oql>
|
||||
<dict>Tickets:Related:RecentChanges</dict>
|
||||
<icon>itop-change-mgmt-itil/images/change-done.png</icon>
|
||||
</item>
|
||||
@@ -4633,7 +4633,7 @@
|
||||
<icon>itop-change-mgmt-itil/images/change-ongoing.png</icon>
|
||||
</item>
|
||||
<item id="recent_changes" _delta="define">
|
||||
<oql><![CDATA[SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = 'yes') AND (C.status IN ('closed')) AND (L.impact_code != 'not_impacted') AND (DATE_ADD(C.end_date, INTERVAL 3 DAY) < NOW())]]></oql>
|
||||
<oql><![CDATA[SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = 'yes') AND (C.status IN ('closed')) AND (L.impact_code != 'not_impacted') AND (C.end_date < NOW() AND C.end_date > DATE_SUB(NOW(), INTERVAL 3 DAY ))]]></oql>
|
||||
<dict>Tickets:Related:RecentChanges</dict>
|
||||
<icon>itop-change-mgmt-itil/images/change-done.png</icon>
|
||||
</item>
|
||||
|
||||
@@ -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-change-mgmt-itil/2.6.0',
|
||||
'itop-change-mgmt-itil/2.6.1',
|
||||
array(
|
||||
// Identification
|
||||
//
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* @author Vladimir Kunin <v.b.kunin@gmail.com>
|
||||
* @link http://community.itop-itsm.ru iTop Russian Community
|
||||
* @link https://github.com/itop-itsm-ru/itop-rus
|
||||
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
*/
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
'Menu:ChangeManagement' => '变更管理',
|
||||
'Menu:Change:Overview' => '概况',
|
||||
|
||||
@@ -836,7 +836,7 @@
|
||||
</item>
|
||||
<item id="recent_changes" _delta="define">
|
||||
<oql>
|
||||
<![CDATA[SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = 'yes') AND (C.status NOT IN ('closed')) AND (L.impact_code != 'not_impacted') AND (C.id != :this->id) AND (DATE_ADD(C.end_date, INTERVAL 3 DAY) < NOW())]]></oql>
|
||||
<![CDATA[SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = 'yes') AND (C.status NOT IN ('closed')) AND (L.impact_code != 'not_impacted') AND (C.id != :this->id)AND (C.end_date < NOW() AND C.end_date > DATE_SUB(NOW(), INTERVAL 3 DAY ))]]></oql>
|
||||
<dict>Tickets:Related:RecentChanges</dict>
|
||||
<icon>itop-change-mgmt/images/change-done.png</icon>
|
||||
<default>no</default>
|
||||
@@ -858,7 +858,7 @@
|
||||
</item>
|
||||
<item id="recent_changes" _delta="define">
|
||||
<oql>
|
||||
<![CDATA[SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = 'yes') AND (C.status NOT IN ('closed')) AND (L.impact_code != 'not_impacted') AND (C.id != :this->id) AND (DATE_ADD(C.end_date, INTERVAL 3 DAY) < NOW())]]></oql>
|
||||
<![CDATA[SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = 'yes') AND (C.status NOT IN ('closed')) AND (L.impact_code != 'not_impacted') AND (C.id != :this->id)AND (C.end_date < NOW() AND C.end_date > DATE_SUB(NOW(), INTERVAL 3 DAY ))]]></oql>
|
||||
<dict>Tickets:Related:RecentChanges</dict>
|
||||
<icon>itop-change-mgmt/images/change-done.png</icon>
|
||||
<default>no</default>
|
||||
@@ -880,7 +880,7 @@
|
||||
</item>
|
||||
<item id="recent_changes" _delta="define">
|
||||
<oql>
|
||||
<![CDATA[SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = 'yes') AND (C.status NOT IN ('closed')) AND (L.impact_code != 'not_impacted') AND (C.id != :this->id) AND (DATE_ADD(C.end_date, INTERVAL 3 DAY) < NOW())]]></oql>
|
||||
<![CDATA[SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = 'yes') AND (C.status NOT IN ('closed')) AND (L.impact_code != 'not_impacted') AND (C.id != :this->id)AND (C.end_date < NOW() AND C.end_date > DATE_SUB(NOW(), INTERVAL 3 DAY ))]]></oql>
|
||||
<dict>Tickets:Related:RecentChanges</dict>
|
||||
<icon>itop-change-mgmt/images/change-done.png</icon>
|
||||
<default>no</default>
|
||||
@@ -906,7 +906,7 @@
|
||||
</item>
|
||||
<item id="recent_changes" _delta="define">
|
||||
<oql>
|
||||
<![CDATA[SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = 'yes') AND (C.status IN ('closed')) AND (L.impact_code != 'not_impacted') AND (DATE_ADD(C.end_date, INTERVAL 3 DAY) < NOW())]]></oql>
|
||||
<![CDATA[SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = 'yes') AND (C.status IN ('closed')) AND (L.impact_code != 'not_impacted')AND (C.end_date < NOW() AND C.end_date > DATE_SUB(NOW(), INTERVAL 3 DAY ))]]></oql>
|
||||
<dict>Tickets:Related:RecentChanges</dict>
|
||||
<icon>itop-change-mgmt/images/change-done.png</icon>
|
||||
<default>no</default>
|
||||
@@ -924,7 +924,7 @@
|
||||
</item>
|
||||
<item id="recent_changes" _delta="define">
|
||||
<oql>
|
||||
<![CDATA[SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = 'yes') AND (C.status IN ('closed')) AND (L.impact_code != 'not_impacted') AND (DATE_ADD(C.end_date, INTERVAL 3 DAY) < NOW())]]></oql>
|
||||
<![CDATA[SELECT FCI, C FROM FunctionalCI AS FCI JOIN lnkFunctionalCIToTicket AS L ON L.functionalci_id = FCI.id JOIN Change AS C ON L.ticket_id = C.id WHERE (C.outage = 'yes') AND (C.status IN ('closed')) AND (L.impact_code != 'not_impacted')AND (C.end_date < NOW() AND C.end_date > DATE_SUB(NOW(), INTERVAL 3 DAY ))]]></oql>
|
||||
<dict>Tickets:Related:RecentChanges</dict>
|
||||
<icon>itop-change-mgmt/images/change-done.png</icon>
|
||||
<default>no</default>
|
||||
|
||||
@@ -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-change-mgmt/2.6.0',
|
||||
'itop-change-mgmt/2.6.1',
|
||||
array(
|
||||
// Identification
|
||||
//
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* @author Vladimir Kunin <v.b.kunin@gmail.com>
|
||||
* @link http://community.itop-itsm.ru iTop Russian Community
|
||||
* @link https://github.com/itop-itsm-ru/itop-rus
|
||||
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
*/
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
@@ -30,8 +30,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
'UI-ChangeManagementOverview-Last-7-days' => 'Количество изменений за 7 дней',
|
||||
'UI-ChangeManagementOverview-ChangeByDomain-last-7-days' => 'Изменения по домену за 7 дней',
|
||||
'UI-ChangeManagementOverview-ChangeByStatus-last-7-days' => 'Изменения по статусу за 7 дней',
|
||||
'Tickets:Related:OpenChanges' => 'Open changes~~',
|
||||
'Tickets:Related:RecentChanges' => 'Recent changes (72h)~~',
|
||||
'Tickets:Related:OpenChanges' => 'Открытые изменения',
|
||||
'Tickets:Related:RecentChanges' => 'Недавние изменения (72ч)',
|
||||
));
|
||||
|
||||
// Dictionnay conventions
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
'Menu:ChangeManagement' => '变更管理',
|
||||
'Menu:Change:Overview' => '概况',
|
||||
|
||||
@@ -1803,88 +1803,88 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
|
||||
//
|
||||
|
||||
Dict::Add('CS CZ', 'Czech', 'Čeština', array(
|
||||
'Menu:DataAdministration' => 'Správa dat',
|
||||
'Menu:DataAdministration+' => 'Správa dat',
|
||||
'Menu:Catalogs' => 'Katalogy',
|
||||
'Menu:Catalogs+' => 'Datové typy',
|
||||
'Menu:Audit' => 'Audit',
|
||||
'Menu:Audit+' => 'Audit',
|
||||
'Menu:CSVImport' => 'CSV import',
|
||||
'Menu:CSVImport+' => 'Hromadné vytvoření nebo aktualizace',
|
||||
'Menu:Organization' => 'Organizace',
|
||||
'Menu:Organization+' => 'Všechny organizace',
|
||||
'Menu:Application' => 'Aplikace',
|
||||
'Menu:Application+' => 'Všechny aplikace',
|
||||
'Menu:DBServer' => 'Databázové servery',
|
||||
'Menu:DBServer+' => 'Databázové servery',
|
||||
'Menu:ConfigManagement' => 'Správa konfigurací',
|
||||
'Menu:ConfigManagement+' => 'Správa konfigurací',
|
||||
'Menu:ConfigManagementOverview' => 'Přehled',
|
||||
'Menu:ConfigManagementOverview+' => 'Přehled',
|
||||
'Menu:Contact' => 'Kontakty',
|
||||
'Menu:Contact+' => 'Kontakty',
|
||||
'Menu:Contact:Count' => '%1$d kontaktů',
|
||||
'Menu:Person' => 'Osoby',
|
||||
'Menu:Person+' => 'Všechny osoby',
|
||||
'Menu:Team' => 'Týmy',
|
||||
'Menu:Team+' => 'Všechny týmy',
|
||||
'Menu:Document' => 'Dokumenty',
|
||||
'Menu:Document+' => 'Všechny dokumenty',
|
||||
'Menu:Location' => 'Umístění',
|
||||
'Menu:DataAdministration' => 'Správa dat',
|
||||
'Menu:DataAdministration+' => 'Správa dat',
|
||||
'Menu:Catalogs' => 'Katalogy',
|
||||
'Menu:Catalogs+' => 'Datové typy',
|
||||
'Menu:Audit' => 'Audit',
|
||||
'Menu:Audit+' => 'Audit',
|
||||
'Menu:CSVImport' => 'CSV import',
|
||||
'Menu:CSVImport+' => 'Hromadné vytvoření nebo aktualizace',
|
||||
'Menu:Organization' => 'Organizace',
|
||||
'Menu:Organization+' => 'Všechny organizace',
|
||||
'Menu:Application' => 'Aplikace',
|
||||
'Menu:Application+' => 'Všechny aplikace',
|
||||
'Menu:DBServer' => 'Databázové servery',
|
||||
'Menu:DBServer+' => 'Databázové servery',
|
||||
'Menu:ConfigManagement' => 'Správa konfigurací',
|
||||
'Menu:ConfigManagement+' => 'Správa konfigurací',
|
||||
'Menu:ConfigManagementOverview' => 'Přehled',
|
||||
'Menu:ConfigManagementOverview+' => 'Přehled',
|
||||
'Menu:Contact' => 'Kontakty',
|
||||
'Menu:Contact+' => 'Kontakty',
|
||||
'Menu:Contact:Count' => '%1$d kontaktů',
|
||||
'Menu:Person' => 'Osoby',
|
||||
'Menu:Person+' => 'Všechny osoby',
|
||||
'Menu:Team' => 'Týmy',
|
||||
'Menu:Team+' => 'Všechny týmy',
|
||||
'Menu:Document' => 'Dokumenty',
|
||||
'Menu:Document+' => 'Všechny dokumenty',
|
||||
'Menu:Location' => 'Umístění',
|
||||
|
||||
'Menu:Location+' => 'Všechna umístění',
|
||||
'Menu:ConfigManagementCI' => 'Konfigurační položky',
|
||||
'Menu:ConfigManagementCI+' => 'Konfigurační položky',
|
||||
'Menu:BusinessProcess' => 'Obchodní procesy',
|
||||
'Menu:BusinessProcess+' => 'Všechny obchodní procesy',
|
||||
'Menu:ApplicationSolution' => 'Aplikační řešení',
|
||||
'Menu:ApplicationSolution+' => 'Všechna aplikační řešení',
|
||||
'Menu:ConfigManagementSoftware' => 'Správa aplikací',
|
||||
'Menu:Licence' => 'Licence',
|
||||
'Menu:Licence+' => 'Všechny licence',
|
||||
'Menu:Patch' => 'Záplaty (patche)',
|
||||
'Menu:Patch+' => 'Všechny záplaty (patche)',
|
||||
'Menu:ApplicationInstance' => 'Instalovaný software',
|
||||
'Menu:ApplicationInstance+' => 'Aplikace a databázové servery',
|
||||
'Menu:ConfigManagementHardware' => 'Správa infrastruktury',
|
||||
'Menu:Subnet' => 'Podsítě (subnety)',
|
||||
'Menu:Subnet+' => 'Všechny podsítě (subnety)',
|
||||
'Menu:NetworkDevice' => 'Síťová zařízení',
|
||||
'Menu:NetworkDevice+' => 'Všechna síťová zařízení',
|
||||
'Menu:Server' => 'Servery',
|
||||
'Menu:Server+' => 'Všechny servery',
|
||||
'Menu:Printer' => 'Tiskárny',
|
||||
'Menu:Printer+' => 'Všechny tiskárny',
|
||||
'Menu:MobilePhone' => 'Mobilní telefony',
|
||||
'Menu:MobilePhone+' => 'Všechny mobilní telefony',
|
||||
'Menu:PC' => 'Osobní počítače',
|
||||
'Menu:PC+' => 'Všechny osobní počítače',
|
||||
'Menu:NewContact' => 'Nový kontakt',
|
||||
'Menu:NewContact+' => 'Nový kontakt',
|
||||
'Menu:SearchContacts' => 'Hledat kontakty',
|
||||
'Menu:SearchContacts+' => 'Hledat kontakty',
|
||||
'Menu:NewCI' => 'Nová konfigurační položka',
|
||||
'Menu:NewCI+' => 'Nová konfigurační položka',
|
||||
'Menu:SearchCIs' => 'Hledat konfigurační položky',
|
||||
'Menu:SearchCIs+' => 'Hledat konfigurační položky',
|
||||
'Menu:ConfigManagement:Devices' => 'Zařízení',
|
||||
'Menu:ConfigManagement:AllDevices' => 'Infrastruktura',
|
||||
'Menu:ConfigManagement:virtualization' => 'Virtualizace',
|
||||
'Menu:ConfigManagement:EndUsers' => 'Koncová zařízení',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'Software a aplikace',
|
||||
'Menu:ConfigManagement:Misc' => 'Ostatní',
|
||||
'Menu:Group' => 'Skupiny konfiguračních položek',
|
||||
'Menu:Group+' => 'Skupiny konfiguračních položek',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Odkazy',
|
||||
'Menu:ConfigManagement:AllContacts' => 'Všechny kontakty: %1$d',
|
||||
'Menu:Typology' => 'Typologie',
|
||||
'Menu:Typology+' => 'Konfigurace typologie',
|
||||
'Menu:OSVersion' => 'Verze OS',
|
||||
'Menu:OSVersion+' => '',
|
||||
'Menu:Software' => 'Katalog softwaru',
|
||||
'Menu:Software+' => 'Katalog softwaru',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Souhrn',
|
||||
'Menu:ConfigManagement:Typology' => 'Konfigurace typologie',
|
||||
'Menu:Location+' => 'Všechna umístění',
|
||||
'Menu:ConfigManagementCI' => 'Konfigurační položky',
|
||||
'Menu:ConfigManagementCI+' => 'Konfigurační položky',
|
||||
'Menu:BusinessProcess' => 'Obchodní procesy',
|
||||
'Menu:BusinessProcess+' => 'Všechny obchodní procesy',
|
||||
'Menu:ApplicationSolution' => 'Aplikační řešení',
|
||||
'Menu:ApplicationSolution+' => 'Všechna aplikační řešení',
|
||||
'Menu:ConfigManagementSoftware' => 'Správa aplikací',
|
||||
'Menu:Licence' => 'Licence',
|
||||
'Menu:Licence+' => 'Všechny licence',
|
||||
'Menu:Patch' => 'Záplaty (patche)',
|
||||
'Menu:Patch+' => 'Všechny záplaty (patche)',
|
||||
'Menu:ApplicationInstance' => 'Instalovaný software',
|
||||
'Menu:ApplicationInstance+' => 'Aplikace a databázové servery',
|
||||
'Menu:ConfigManagementHardware' => 'Správa infrastruktury',
|
||||
'Menu:Subnet' => 'Podsítě (subnety)',
|
||||
'Menu:Subnet+' => 'Všechny podsítě (subnety)',
|
||||
'Menu:NetworkDevice' => 'Síťová zařízení',
|
||||
'Menu:NetworkDevice+' => 'Všechna síťová zařízení',
|
||||
'Menu:Server' => 'Servery',
|
||||
'Menu:Server+' => 'Všechny servery',
|
||||
'Menu:Printer' => 'Tiskárny',
|
||||
'Menu:Printer+' => 'Všechny tiskárny',
|
||||
'Menu:MobilePhone' => 'Mobilní telefony',
|
||||
'Menu:MobilePhone+' => 'Všechny mobilní telefony',
|
||||
'Menu:PC' => 'Osobní počítače',
|
||||
'Menu:PC+' => 'Všechny osobní počítače',
|
||||
'Menu:NewContact' => 'Nový kontakt',
|
||||
'Menu:NewContact+' => 'Nový kontakt',
|
||||
'Menu:SearchContacts' => 'Hledat kontakty',
|
||||
'Menu:SearchContacts+' => 'Hledat kontakty',
|
||||
'Menu:NewCI' => 'Nová konfigurační položka',
|
||||
'Menu:NewCI+' => 'Nová konfigurační položka',
|
||||
'Menu:SearchCIs' => 'Hledat konfigurační položky',
|
||||
'Menu:SearchCIs+' => 'Hledat konfigurační položky',
|
||||
'Menu:ConfigManagement:Devices' => 'Zařízení',
|
||||
'Menu:ConfigManagement:AllDevices' => 'Infrastruktura',
|
||||
'Menu:ConfigManagement:virtualization' => 'Virtualizace',
|
||||
'Menu:ConfigManagement:EndUsers' => 'Koncová zařízení',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'Software a aplikace',
|
||||
'Menu:ConfigManagement:Misc' => 'Ostatní',
|
||||
'Menu:Group' => 'Skupiny konfiguračních položek',
|
||||
'Menu:Group+' => 'Skupiny konfiguračních položek',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Odkazy',
|
||||
'Menu:ConfigManagement:AllContacts' => 'Všechny kontakty: %1$d',
|
||||
'Menu:Typology' => 'Typologie',
|
||||
'Menu:Typology+' => 'Konfigurace typologie',
|
||||
'Menu:OSVersion' => 'Verze OS',
|
||||
'Menu:OSVersion+' => '',
|
||||
'Menu:Software' => 'Katalog softwaru',
|
||||
'Menu:Software+' => 'Katalog softwaru',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Souhrn',
|
||||
'Menu:ConfigManagement:Typology' => 'Konfigurace typologie',
|
||||
|
||||
));
|
||||
|
||||
@@ -1892,18 +1892,18 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
|
||||
// Add translation for Fieldsets
|
||||
|
||||
Dict::Add('CS CZ', 'Czech', 'Čeština', array(
|
||||
'Server:baseinfo' => 'Obecné informace',
|
||||
'Server:Date' => 'Data',
|
||||
'Server:moreinfo' => 'Více informací',
|
||||
'Server:otherinfo' => 'Další informace',
|
||||
'Server:power' => 'Napájení',
|
||||
'Person:info' => 'Obecné informace',
|
||||
'Person:personal_info' => 'Personal information~~',
|
||||
'Person:notifiy' => 'Upozornění',
|
||||
'Class:Subnet/Tab:IPUsage' => 'Využití IP',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => 'Rozhraní, která mají IP adresu v rozsahu: <em>%1$s</em>-<em>%2$s</em>',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'Volné IP adresy',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'Počet volných adres: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => 'Tady je výčet volných IP adres (10)',
|
||||
'Class:Document:PreviewTab' => 'Náhled',
|
||||
'Server:baseinfo' => 'Obecné informace',
|
||||
'Server:Date' => 'Data',
|
||||
'Server:moreinfo' => 'Více informací',
|
||||
'Server:otherinfo' => 'Další informace',
|
||||
'Server:power' => 'Napájení',
|
||||
'Person:info' => 'Obecné informace',
|
||||
'Person:personal_info' => 'Personal information~~',
|
||||
'Person:notifiy' => 'Upozornění',
|
||||
'Class:Subnet/Tab:IPUsage' => 'Využití IP',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => 'Rozhraní, která mají IP adresu v rozsahu: <em>%1$s</em>-<em>%2$s</em>',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'Volné IP adresy',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'Počet volných adres: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => 'Tady je výčet volných IP adres (10)',
|
||||
'Class:Document:PreviewTab' => 'Náhled',
|
||||
));
|
||||
|
||||
@@ -1796,88 +1796,88 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
|
||||
//
|
||||
|
||||
Dict::Add('DA DA', 'Danish', 'Dansk', array(
|
||||
'Menu:DataAdministration' => 'Data administration',
|
||||
'Menu:DataAdministration+' => '',
|
||||
'Menu:Catalogs' => 'Katalog',
|
||||
'Menu:Catalogs+' => 'Datatyper',
|
||||
'Menu:Audit' => 'Audit',
|
||||
'Menu:Audit+' => 'Audit',
|
||||
'Menu:CSVImport' => 'CSV import~~',
|
||||
'Menu:CSVImport+' => 'Bulk creation or update~~',
|
||||
'Menu:Organization' => 'Organisation',
|
||||
'Menu:Organization+' => 'Alle Organisationer',
|
||||
'Menu:Application' => 'Anvendelse',
|
||||
'Menu:Application+' => 'Alle Anvendelser',
|
||||
'Menu:DBServer' => 'Database server',
|
||||
'Menu:DBServer+' => 'Database server',
|
||||
'Menu:ConfigManagement' => 'Configuration Management',
|
||||
'Menu:ConfigManagement+' => 'Configuration Management',
|
||||
'Menu:ConfigManagementOverview' => 'Oversigt',
|
||||
'Menu:ConfigManagementOverview+' => 'Oversigt',
|
||||
'Menu:Contact' => 'Kontakt',
|
||||
'Menu:Contact+' => 'Kontakt',
|
||||
'Menu:Contact:Count' => '%1$d kontakter',
|
||||
'Menu:Person' => 'Person',
|
||||
'Menu:Person+' => 'Alle Personer',
|
||||
'Menu:Team' => 'Teams',
|
||||
'Menu:Team+' => 'Alle Teams',
|
||||
'Menu:Document' => 'Dokument',
|
||||
'Menu:Document+' => 'Alle Dokumenter',
|
||||
'Menu:Location' => 'Placering',
|
||||
'Menu:DataAdministration' => 'Data administration',
|
||||
'Menu:DataAdministration+' => '',
|
||||
'Menu:Catalogs' => 'Katalog',
|
||||
'Menu:Catalogs+' => 'Datatyper',
|
||||
'Menu:Audit' => 'Audit',
|
||||
'Menu:Audit+' => 'Audit',
|
||||
'Menu:CSVImport' => 'CSV import~~',
|
||||
'Menu:CSVImport+' => 'Bulk creation or update~~',
|
||||
'Menu:Organization' => 'Organisation',
|
||||
'Menu:Organization+' => 'Alle Organisationer',
|
||||
'Menu:Application' => 'Anvendelse',
|
||||
'Menu:Application+' => 'Alle Anvendelser',
|
||||
'Menu:DBServer' => 'Database server',
|
||||
'Menu:DBServer+' => 'Database server',
|
||||
'Menu:ConfigManagement' => 'Configuration Management',
|
||||
'Menu:ConfigManagement+' => 'Configuration Management',
|
||||
'Menu:ConfigManagementOverview' => 'Oversigt',
|
||||
'Menu:ConfigManagementOverview+' => 'Oversigt',
|
||||
'Menu:Contact' => 'Kontakt',
|
||||
'Menu:Contact+' => 'Kontakt',
|
||||
'Menu:Contact:Count' => '%1$d kontakter',
|
||||
'Menu:Person' => 'Person',
|
||||
'Menu:Person+' => 'Alle Personer',
|
||||
'Menu:Team' => 'Teams',
|
||||
'Menu:Team+' => 'Alle Teams',
|
||||
'Menu:Document' => 'Dokument',
|
||||
'Menu:Document+' => 'Alle Dokumenter',
|
||||
'Menu:Location' => 'Placering',
|
||||
|
||||
'Menu:Location+' => 'Alle Placeringer',
|
||||
'Menu:ConfigManagementCI' => 'Configuration Items',
|
||||
'Menu:ConfigManagementCI+' => 'Configuration Items',
|
||||
'Menu:BusinessProcess' => 'Forretnings proces',
|
||||
'Menu:BusinessProcess+' => 'Alle forretnings processer',
|
||||
'Menu:ApplicationSolution' => 'Applikations løsning',
|
||||
'Menu:ApplicationSolution+' => 'Alle Applikations løsninger',
|
||||
'Menu:ConfigManagementSoftware' => 'Anvendelses Management',
|
||||
'Menu:Licence' => 'Licenser',
|
||||
'Menu:Licence+' => 'Alle Licenser',
|
||||
'Menu:Patch' => 'Patches',
|
||||
'Menu:Patch+' => 'Alle Patches',
|
||||
'Menu:ApplicationInstance' => 'Installeret Software',
|
||||
'Menu:ApplicationInstance+' => 'Applikations- og database server',
|
||||
'Menu:ConfigManagementHardware' => 'Infrastruktur Management',
|
||||
'Menu:Subnet' => 'Subnet',
|
||||
'Menu:Subnet+' => 'Alle Subnet',
|
||||
'Menu:NetworkDevice' => 'Netværksenhed',
|
||||
'Menu:NetworkDevice+' => 'Alle Netværksenheder',
|
||||
'Menu:Server' => 'Server',
|
||||
'Menu:Server+' => 'Alle Servere',
|
||||
'Menu:Printer' => 'Printer',
|
||||
'Menu:Printer+' => 'Alle Printere',
|
||||
'Menu:MobilePhone' => 'Mobiltelefon',
|
||||
'Menu:MobilePhone+' => 'Alle Mobiltelefoner',
|
||||
'Menu:PC' => 'PC',
|
||||
'Menu:PC+' => 'Alle PCer',
|
||||
'Menu:NewContact' => 'Ny Kontakt',
|
||||
'Menu:NewContact+' => 'Ny Kontakt',
|
||||
'Menu:SearchContacts' => 'Søg efter kontakter',
|
||||
'Menu:SearchContacts+' => 'Søg efter kontakter',
|
||||
'Menu:NewCI' => 'Ny CI',
|
||||
'Menu:NewCI+' => 'Ny CI',
|
||||
'Menu:SearchCIs' => 'Søg efter CIs',
|
||||
'Menu:SearchCIs+' => 'Søg efter Content Items',
|
||||
'Menu:ConfigManagement:Devices' => 'Enheder',
|
||||
'Menu:ConfigManagement:AllDevices' => 'Alle Enheder',
|
||||
'Menu:ConfigManagement:virtualization' => 'Virtualisering',
|
||||
'Menu:ConfigManagement:EndUsers' => 'Slutbruger enheder',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'Software og anvendelse',
|
||||
'Menu:ConfigManagement:Misc' => 'Diverse',
|
||||
'Menu:Group' => 'Gruppe af CIs',
|
||||
'Menu:Group+' => 'Gruppe af CIs',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Genveje',
|
||||
'Menu:ConfigManagement:AllContacts' => 'Alle Kontakter: %1$d',
|
||||
'Menu:Typology' => 'Typologi-Konfiguration',
|
||||
'Menu:Typology+' => '',
|
||||
'Menu:OSVersion' => 'OS versioner',
|
||||
'Menu:OSVersion+' => '~~',
|
||||
'Menu:Software' => 'Software Katalog',
|
||||
'Menu:Software+' => '',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Sammenfatning',
|
||||
'Menu:ConfigManagement:Typology' => 'Typologi Konfiguration',
|
||||
'Menu:Location+' => 'Alle Placeringer',
|
||||
'Menu:ConfigManagementCI' => 'Configuration Items',
|
||||
'Menu:ConfigManagementCI+' => 'Configuration Items',
|
||||
'Menu:BusinessProcess' => 'Forretnings proces',
|
||||
'Menu:BusinessProcess+' => 'Alle forretnings processer',
|
||||
'Menu:ApplicationSolution' => 'Applikations løsning',
|
||||
'Menu:ApplicationSolution+' => 'Alle Applikations løsninger',
|
||||
'Menu:ConfigManagementSoftware' => 'Anvendelses Management',
|
||||
'Menu:Licence' => 'Licenser',
|
||||
'Menu:Licence+' => 'Alle Licenser',
|
||||
'Menu:Patch' => 'Patches',
|
||||
'Menu:Patch+' => 'Alle Patches',
|
||||
'Menu:ApplicationInstance' => 'Installeret Software',
|
||||
'Menu:ApplicationInstance+' => 'Applikations- og database server',
|
||||
'Menu:ConfigManagementHardware' => 'Infrastruktur Management',
|
||||
'Menu:Subnet' => 'Subnet',
|
||||
'Menu:Subnet+' => 'Alle Subnet',
|
||||
'Menu:NetworkDevice' => 'Netværksenhed',
|
||||
'Menu:NetworkDevice+' => 'Alle Netværksenheder',
|
||||
'Menu:Server' => 'Server',
|
||||
'Menu:Server+' => 'Alle Servere',
|
||||
'Menu:Printer' => 'Printer',
|
||||
'Menu:Printer+' => 'Alle Printere',
|
||||
'Menu:MobilePhone' => 'Mobiltelefon',
|
||||
'Menu:MobilePhone+' => 'Alle Mobiltelefoner',
|
||||
'Menu:PC' => 'PC',
|
||||
'Menu:PC+' => 'Alle PCer',
|
||||
'Menu:NewContact' => 'Ny Kontakt',
|
||||
'Menu:NewContact+' => 'Ny Kontakt',
|
||||
'Menu:SearchContacts' => 'Søg efter kontakter',
|
||||
'Menu:SearchContacts+' => 'Søg efter kontakter',
|
||||
'Menu:NewCI' => 'Ny CI',
|
||||
'Menu:NewCI+' => 'Ny CI',
|
||||
'Menu:SearchCIs' => 'Søg efter CIs',
|
||||
'Menu:SearchCIs+' => 'Søg efter Content Items',
|
||||
'Menu:ConfigManagement:Devices' => 'Enheder',
|
||||
'Menu:ConfigManagement:AllDevices' => 'Alle Enheder',
|
||||
'Menu:ConfigManagement:virtualization' => 'Virtualisering',
|
||||
'Menu:ConfigManagement:EndUsers' => 'Slutbruger enheder',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'Software og anvendelse',
|
||||
'Menu:ConfigManagement:Misc' => 'Diverse',
|
||||
'Menu:Group' => 'Gruppe af CIs',
|
||||
'Menu:Group+' => 'Gruppe af CIs',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Genveje',
|
||||
'Menu:ConfigManagement:AllContacts' => 'Alle Kontakter: %1$d',
|
||||
'Menu:Typology' => 'Typologi-Konfiguration',
|
||||
'Menu:Typology+' => '',
|
||||
'Menu:OSVersion' => 'OS versioner',
|
||||
'Menu:OSVersion+' => '~~',
|
||||
'Menu:Software' => 'Software Katalog',
|
||||
'Menu:Software+' => '',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Sammenfatning',
|
||||
'Menu:ConfigManagement:Typology' => 'Typologi Konfiguration',
|
||||
|
||||
));
|
||||
|
||||
@@ -1885,18 +1885,18 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
|
||||
// Add translation for Fieldsets
|
||||
|
||||
Dict::Add('DA DA', 'Danish', 'Dansk', array(
|
||||
'Server:baseinfo' => 'Almindelig Informationen',
|
||||
'Server:Date' => 'Dato',
|
||||
'Server:moreinfo' => 'Yderligere Information',
|
||||
'Server:otherinfo' => 'Øvrig Information',
|
||||
'Server:power' => 'Power supply~~',
|
||||
'Person:info' => 'Almindelig Information',
|
||||
'Person:personal_info' => 'Personal information~~',
|
||||
'Person:notifiy' => 'Underretning',
|
||||
'Class:Subnet/Tab:IPUsage' => 'IP Brug',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => 'Interfaces der har en IP i området: <em>%1$s</em> til <em>%2$s</em>',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'Ledige IP',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'Ledige IP: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => 'Her er et udtræk af 10 ledige IP adresser',
|
||||
'Class:Document:PreviewTab' => 'Preview~~',
|
||||
'Server:baseinfo' => 'Almindelig Informationen',
|
||||
'Server:Date' => 'Dato',
|
||||
'Server:moreinfo' => 'Yderligere Information',
|
||||
'Server:otherinfo' => 'Øvrig Information',
|
||||
'Server:power' => 'Power supply~~',
|
||||
'Person:info' => 'Almindelig Information',
|
||||
'Person:personal_info' => 'Personal information~~',
|
||||
'Person:notifiy' => 'Underretning',
|
||||
'Class:Subnet/Tab:IPUsage' => 'IP Brug',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => 'Interfaces der har en IP i området: <em>%1$s</em> til <em>%2$s</em>',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'Ledige IP',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'Ledige IP: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => 'Her er et udtræk af 10 ledige IP adresser',
|
||||
'Class:Document:PreviewTab' => 'Preview~~',
|
||||
));
|
||||
|
||||
@@ -1901,4 +1901,4 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'Freie IPs: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => 'Hier ist eine Aufstellung von 10 freien IP Adressen',
|
||||
'Class:Document:PreviewTab' => 'Vorschau',
|
||||
));
|
||||
));
|
||||
|
||||
@@ -1802,88 +1802,88 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
|
||||
//
|
||||
|
||||
Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
|
||||
'Menu:DataAdministration' => 'Administración de Datos',
|
||||
'Menu:DataAdministration+' => 'Administración de Datos',
|
||||
'Menu:Catalogs' => 'Catálogos',
|
||||
'Menu:Catalogs+' => 'Tipos de Datos',
|
||||
'Menu:Audit' => 'Auditoría',
|
||||
'Menu:Audit+' => 'Auditoría',
|
||||
'Menu:CSVImport' => 'Importar CSV',
|
||||
'Menu:CSVImport+' => 'Creación o Actualización Másiva',
|
||||
'Menu:Organization' => 'Organizaciones',
|
||||
'Menu:Organization+' => 'Organizaciones',
|
||||
'Menu:Application' => 'Aplicaciones',
|
||||
'Menu:Application+' => 'Aplicaciones/Programas',
|
||||
'Menu:DBServer' => 'Servidores de Base de Datos',
|
||||
'Menu:DBServer+' => 'Servidores de Base de Datos',
|
||||
'Menu:ConfigManagement' => 'Administración de la Configuración',
|
||||
'Menu:ConfigManagement+' => 'Administración de la Configuración',
|
||||
'Menu:ConfigManagementOverview' => 'Resumen de Infraestructura',
|
||||
'Menu:ConfigManagementOverview+' => 'Resumen de Infraestructura',
|
||||
'Menu:Contact' => 'Contactos',
|
||||
'Menu:Contact+' => 'Contactos',
|
||||
'Menu:Contact:Count' => '%1$d Contactos',
|
||||
'Menu:Person' => 'Personas',
|
||||
'Menu:Person+' => 'Personas',
|
||||
'Menu:Team' => 'Grupos',
|
||||
'Menu:Team+' => 'Grupos de Trabajo',
|
||||
'Menu:Document' => 'Documentos',
|
||||
'Menu:Document+' => 'Documentos',
|
||||
'Menu:Location' => 'Localidades',
|
||||
'Menu:DataAdministration' => 'Administración de Datos',
|
||||
'Menu:DataAdministration+' => 'Administración de Datos',
|
||||
'Menu:Catalogs' => 'Catálogos',
|
||||
'Menu:Catalogs+' => 'Tipos de Datos',
|
||||
'Menu:Audit' => 'Auditoría',
|
||||
'Menu:Audit+' => 'Auditoría',
|
||||
'Menu:CSVImport' => 'Importar CSV',
|
||||
'Menu:CSVImport+' => 'Creación o Actualización Másiva',
|
||||
'Menu:Organization' => 'Organizaciones',
|
||||
'Menu:Organization+' => 'Organizaciones',
|
||||
'Menu:Application' => 'Aplicaciones',
|
||||
'Menu:Application+' => 'Aplicaciones/Programas',
|
||||
'Menu:DBServer' => 'Servidores de Base de Datos',
|
||||
'Menu:DBServer+' => 'Servidores de Base de Datos',
|
||||
'Menu:ConfigManagement' => 'Administración de la Configuración',
|
||||
'Menu:ConfigManagement+' => 'Administración de la Configuración',
|
||||
'Menu:ConfigManagementOverview' => 'Resumen de Infraestructura',
|
||||
'Menu:ConfigManagementOverview+' => 'Resumen de Infraestructura',
|
||||
'Menu:Contact' => 'Contactos',
|
||||
'Menu:Contact+' => 'Contactos',
|
||||
'Menu:Contact:Count' => '%1$d Contactos',
|
||||
'Menu:Person' => 'Personas',
|
||||
'Menu:Person+' => 'Personas',
|
||||
'Menu:Team' => 'Grupos',
|
||||
'Menu:Team+' => 'Grupos de Trabajo',
|
||||
'Menu:Document' => 'Documentos',
|
||||
'Menu:Document+' => 'Documentos',
|
||||
'Menu:Location' => 'Localidades',
|
||||
|
||||
'Menu:Location+' => 'Localidades',
|
||||
'Menu:ConfigManagementCI' => 'Elementos de Configuración',
|
||||
'Menu:ConfigManagementCI+' => 'Elementos de Confirguración',
|
||||
'Menu:BusinessProcess' => 'Proceso de Negocio',
|
||||
'Menu:BusinessProcess+' => 'Proceso de Negocios',
|
||||
'Menu:ApplicationSolution' => 'Solución Aplicativa',
|
||||
'Menu:ApplicationSolution+' => 'Solución Aplicativa',
|
||||
'Menu:ConfigManagementSoftware' => 'Administración de Aplicaciones',
|
||||
'Menu:Licence' => 'Licencias',
|
||||
'Menu:Licence+' => 'Licencias',
|
||||
'Menu:Patch' => 'Parches',
|
||||
'Menu:Patch+' => 'Parches',
|
||||
'Menu:ApplicationInstance' => 'Software Instalado',
|
||||
'Menu:ApplicationInstance+' => 'Aplicaciones y Servidores de Base de Datos',
|
||||
'Menu:ConfigManagementHardware' => 'Administración de Infraestructura',
|
||||
'Menu:Subnet' => 'SubRedes',
|
||||
'Menu:Subnet+' => 'SubRedes',
|
||||
'Menu:NetworkDevice' => 'Dispositivos de Red',
|
||||
'Menu:NetworkDevice+' => 'Dispositivos de Red',
|
||||
'Menu:Server' => 'Servidores',
|
||||
'Menu:Server+' => 'Servidores',
|
||||
'Menu:Printer' => 'Impresoras',
|
||||
'Menu:Printer+' => 'Impresoras',
|
||||
'Menu:MobilePhone' => 'Teléfonos Móviles',
|
||||
'Menu:MobilePhone+' => 'Teléfonos Móviles',
|
||||
'Menu:PC' => 'PCs y Laptops',
|
||||
'Menu:PC+' => 'PCs y Laptops',
|
||||
'Menu:NewContact' => 'Nuevo Contacto',
|
||||
'Menu:NewContact+' => 'Nuevo Contacto',
|
||||
'Menu:SearchContacts' => 'Búsqueda de Contactos',
|
||||
'Menu:SearchContacts+' => 'Búsqueda de Contactos',
|
||||
'Menu:NewCI' => 'Nuevo EC',
|
||||
'Menu:NewCI+' => 'Nuevo EC',
|
||||
'Menu:SearchCIs' => 'Búsqueda de ECs',
|
||||
'Menu:SearchCIs+' => 'Búsqueda de ECs',
|
||||
'Menu:ConfigManagement:Devices' => 'Dispositivos',
|
||||
'Menu:ConfigManagement:AllDevices' => 'Infraestructura',
|
||||
'Menu:ConfigManagement:virtualization' => 'Virtualización',
|
||||
'Menu:ConfigManagement:EndUsers' => 'Dispositivos de Usuario Final',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'Software y Aplicaciones',
|
||||
'Menu:ConfigManagement:Misc' => 'Misceláneo',
|
||||
'Menu:Group' => 'Grupos de ECs',
|
||||
'Menu:Group+' => 'Grupos de ECs',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Acceso Rápido',
|
||||
'Menu:ConfigManagement:AllContacts' => 'Contactos: %1$d',
|
||||
'Menu:Typology' => 'Configuración de Tipos',
|
||||
'Menu:Typology+' => 'Configuración de Tipos',
|
||||
'Menu:OSVersion' => 'OS versions~~',
|
||||
'Menu:OSVersion+' => '~~',
|
||||
'Menu:Software' => 'Catálogo de Software',
|
||||
'Menu:Software+' => 'Catálogo de Software',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Resumen',
|
||||
'Menu:ConfigManagement:Typology' => 'Configuración de Tipos',
|
||||
'Menu:Location+' => 'Localidades',
|
||||
'Menu:ConfigManagementCI' => 'Elementos de Configuración',
|
||||
'Menu:ConfigManagementCI+' => 'Elementos de Confirguración',
|
||||
'Menu:BusinessProcess' => 'Proceso de Negocio',
|
||||
'Menu:BusinessProcess+' => 'Proceso de Negocios',
|
||||
'Menu:ApplicationSolution' => 'Solución Aplicativa',
|
||||
'Menu:ApplicationSolution+' => 'Solución Aplicativa',
|
||||
'Menu:ConfigManagementSoftware' => 'Administración de Aplicaciones',
|
||||
'Menu:Licence' => 'Licencias',
|
||||
'Menu:Licence+' => 'Licencias',
|
||||
'Menu:Patch' => 'Parches',
|
||||
'Menu:Patch+' => 'Parches',
|
||||
'Menu:ApplicationInstance' => 'Software Instalado',
|
||||
'Menu:ApplicationInstance+' => 'Aplicaciones y Servidores de Base de Datos',
|
||||
'Menu:ConfigManagementHardware' => 'Administración de Infraestructura',
|
||||
'Menu:Subnet' => 'SubRedes',
|
||||
'Menu:Subnet+' => 'SubRedes',
|
||||
'Menu:NetworkDevice' => 'Dispositivos de Red',
|
||||
'Menu:NetworkDevice+' => 'Dispositivos de Red',
|
||||
'Menu:Server' => 'Servidores',
|
||||
'Menu:Server+' => 'Servidores',
|
||||
'Menu:Printer' => 'Impresoras',
|
||||
'Menu:Printer+' => 'Impresoras',
|
||||
'Menu:MobilePhone' => 'Teléfonos Móviles',
|
||||
'Menu:MobilePhone+' => 'Teléfonos Móviles',
|
||||
'Menu:PC' => 'PCs y Laptops',
|
||||
'Menu:PC+' => 'PCs y Laptops',
|
||||
'Menu:NewContact' => 'Nuevo Contacto',
|
||||
'Menu:NewContact+' => 'Nuevo Contacto',
|
||||
'Menu:SearchContacts' => 'Búsqueda de Contactos',
|
||||
'Menu:SearchContacts+' => 'Búsqueda de Contactos',
|
||||
'Menu:NewCI' => 'Nuevo EC',
|
||||
'Menu:NewCI+' => 'Nuevo EC',
|
||||
'Menu:SearchCIs' => 'Búsqueda de ECs',
|
||||
'Menu:SearchCIs+' => 'Búsqueda de ECs',
|
||||
'Menu:ConfigManagement:Devices' => 'Dispositivos',
|
||||
'Menu:ConfigManagement:AllDevices' => 'Infraestructura',
|
||||
'Menu:ConfigManagement:virtualization' => 'Virtualización',
|
||||
'Menu:ConfigManagement:EndUsers' => 'Dispositivos de Usuario Final',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'Software y Aplicaciones',
|
||||
'Menu:ConfigManagement:Misc' => 'Misceláneo',
|
||||
'Menu:Group' => 'Grupos de ECs',
|
||||
'Menu:Group+' => 'Grupos de ECs',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Acceso Rápido',
|
||||
'Menu:ConfigManagement:AllContacts' => 'Contactos: %1$d',
|
||||
'Menu:Typology' => 'Configuración de Tipos',
|
||||
'Menu:Typology+' => 'Configuración de Tipos',
|
||||
'Menu:OSVersion' => 'OS versions~~',
|
||||
'Menu:OSVersion+' => '~~',
|
||||
'Menu:Software' => 'Catálogo de Software',
|
||||
'Menu:Software+' => 'Catálogo de Software',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Resumen',
|
||||
'Menu:ConfigManagement:Typology' => 'Configuración de Tipos',
|
||||
|
||||
));
|
||||
|
||||
@@ -1891,18 +1891,18 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
|
||||
// Add translation for Fieldsets
|
||||
|
||||
Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
|
||||
'Server:baseinfo' => 'Información General',
|
||||
'Server:Date' => 'Fecha',
|
||||
'Server:moreinfo' => 'Más Información',
|
||||
'Server:otherinfo' => 'Otra Información',
|
||||
'Server:power' => 'Fuente de Poder',
|
||||
'Person:info' => 'Información General',
|
||||
'Person:personal_info' => 'Información Personal',
|
||||
'Person:notifiy' => 'Notificación',
|
||||
'Class:Subnet/Tab:IPUsage' => 'Uso de IP',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => 'Interfases con IP en el rango: <em>%1$s</em> a <em>%2$s</em>',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'IPs Libres',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'IPs Libres: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => 'Aquí está un extracto de 10 direcciones IP Libres',
|
||||
'Class:Document:PreviewTab' => 'Vista Previa',
|
||||
'Server:baseinfo' => 'Información General',
|
||||
'Server:Date' => 'Fecha',
|
||||
'Server:moreinfo' => 'Más Información',
|
||||
'Server:otherinfo' => 'Otra Información',
|
||||
'Server:power' => 'Fuente de Poder',
|
||||
'Person:info' => 'Información General',
|
||||
'Person:personal_info' => 'Información Personal',
|
||||
'Person:notifiy' => 'Notificación',
|
||||
'Class:Subnet/Tab:IPUsage' => 'Uso de IP',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => 'Interfases con IP en el rango: <em>%1$s</em> a <em>%2$s</em>',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'IPs Libres',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'IPs Libres: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => 'Aquí está un extracto de 10 direcciones IP Libres',
|
||||
'Class:Document:PreviewTab' => 'Vista Previa',
|
||||
));
|
||||
|
||||
@@ -1799,88 +1799,88 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
//
|
||||
|
||||
Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'Menu:DataAdministration' => 'Administration des données',
|
||||
'Menu:DataAdministration+' => 'Administration des données',
|
||||
'Menu:Catalogs' => 'Catalogues',
|
||||
'Menu:Catalogs+' => 'Types de données',
|
||||
'Menu:Audit' => 'Audit',
|
||||
'Menu:Audit+' => 'Audit',
|
||||
'Menu:CSVImport' => 'Import CSV',
|
||||
'Menu:CSVImport+' => 'Import ou mise à jour en masse',
|
||||
'Menu:Organization' => 'Organisations',
|
||||
'Menu:Organization+' => 'Toutes les organisations',
|
||||
'Menu:Application' => 'Logiciels',
|
||||
'Menu:Application+' => 'Tous les logiciels',
|
||||
'Menu:DBServer' => 'Serveur de base de données',
|
||||
'Menu:DBServer+' => '',
|
||||
'Menu:ConfigManagement' => 'Gestion des configurations',
|
||||
'Menu:ConfigManagement+' => 'Gestion des configurations',
|
||||
'Menu:ConfigManagementOverview' => 'Tableaux de bord',
|
||||
'Menu:ConfigManagementOverview+' => 'Tableaux de bord',
|
||||
'Menu:Contact' => 'Contacts',
|
||||
'Menu:Contact+' => 'Contacts',
|
||||
'Menu:Contact:Count' => '%1$d contacts',
|
||||
'Menu:Person' => 'Personnes',
|
||||
'Menu:Person+' => 'Toutes les personnes',
|
||||
'Menu:Team' => 'Equipes',
|
||||
'Menu:Team+' => 'Toutes les équipes',
|
||||
'Menu:Document' => 'Documents',
|
||||
'Menu:Document+' => 'Tous les documents',
|
||||
'Menu:Location' => 'Lieux',
|
||||
'Menu:DataAdministration' => 'Administration des données',
|
||||
'Menu:DataAdministration+' => 'Administration des données',
|
||||
'Menu:Catalogs' => 'Catalogues',
|
||||
'Menu:Catalogs+' => 'Types de données',
|
||||
'Menu:Audit' => 'Audit',
|
||||
'Menu:Audit+' => 'Audit',
|
||||
'Menu:CSVImport' => 'Import CSV',
|
||||
'Menu:CSVImport+' => 'Import ou mise à jour en masse',
|
||||
'Menu:Organization' => 'Organisations',
|
||||
'Menu:Organization+' => 'Toutes les organisations',
|
||||
'Menu:Application' => 'Logiciels',
|
||||
'Menu:Application+' => 'Tous les logiciels',
|
||||
'Menu:DBServer' => 'Serveur de base de données',
|
||||
'Menu:DBServer+' => '',
|
||||
'Menu:ConfigManagement' => 'Gestion des configurations',
|
||||
'Menu:ConfigManagement+' => 'Gestion des configurations',
|
||||
'Menu:ConfigManagementOverview' => 'Tableaux de bord',
|
||||
'Menu:ConfigManagementOverview+' => 'Tableaux de bord',
|
||||
'Menu:Contact' => 'Contacts',
|
||||
'Menu:Contact+' => 'Contacts',
|
||||
'Menu:Contact:Count' => '%1$d contacts',
|
||||
'Menu:Person' => 'Personnes',
|
||||
'Menu:Person+' => 'Toutes les personnes',
|
||||
'Menu:Team' => 'Equipes',
|
||||
'Menu:Team+' => 'Toutes les équipes',
|
||||
'Menu:Document' => 'Documents',
|
||||
'Menu:Document+' => 'Tous les documents',
|
||||
'Menu:Location' => 'Lieux',
|
||||
|
||||
'Menu:Location+' => 'Tous les lieux',
|
||||
'Menu:ConfigManagementCI' => 'CIs',
|
||||
'Menu:ConfigManagementCI+' => 'CIs',
|
||||
'Menu:BusinessProcess' => 'Processus métier',
|
||||
'Menu:BusinessProcess+' => 'Tous les processus métiers',
|
||||
'Menu:ApplicationSolution' => 'Solutions applicatives',
|
||||
'Menu:ApplicationSolution+' => 'Toutes les solutions applicatives',
|
||||
'Menu:ConfigManagementSoftware' => 'Gestion des logiciels',
|
||||
'Menu:Licence' => 'Licences',
|
||||
'Menu:Licence+' => 'Toutes les licences',
|
||||
'Menu:Patch' => 'Patches',
|
||||
'Menu:Patch+' => 'Tous les patches',
|
||||
'Menu:ApplicationInstance' => 'Instances logiciels',
|
||||
'Menu:ApplicationInstance+' => 'Logiciels installés',
|
||||
'Menu:ConfigManagementHardware' => 'Gestion des infrastructures',
|
||||
'Menu:Subnet' => 'Sous réseaux',
|
||||
'Menu:Subnet+' => '',
|
||||
'Menu:NetworkDevice' => 'Equipements réseaux',
|
||||
'Menu:NetworkDevice+' => 'Tous les équipements réseaux',
|
||||
'Menu:Server' => 'Serveurs',
|
||||
'Menu:Server+' => '',
|
||||
'Menu:Printer' => 'Imprimantes',
|
||||
'Menu:Printer+' => 'Toutes les imprimantes',
|
||||
'Menu:MobilePhone' => 'Téléphones portables',
|
||||
'Menu:MobilePhone+' => 'Tous les téléphones portables',
|
||||
'Menu:PC' => 'PCs',
|
||||
'Menu:PC+' => 'Tous les PCs',
|
||||
'Menu:NewContact' => 'Nouveau contact',
|
||||
'Menu:NewContact+' => 'Nouveau contact',
|
||||
'Menu:SearchContacts' => 'Rechercher des contacts',
|
||||
'Menu:SearchContacts+' => 'Rechercher des contacts',
|
||||
'Menu:NewCI' => 'Nouveau CI',
|
||||
'Menu:NewCI+' => 'Nouveau CI',
|
||||
'Menu:SearchCIs' => 'Rechercher des CIs',
|
||||
'Menu:SearchCIs+' => 'Rechercher des CIs',
|
||||
'Menu:ConfigManagement:Devices' => 'Equipements',
|
||||
'Menu:ConfigManagement:AllDevices' => 'Infrastructures',
|
||||
'Menu:ConfigManagement:virtualization' => 'Virtualisation',
|
||||
'Menu:ConfigManagement:EndUsers' => 'Périphériques utilisateurs',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'Logiciels et applications',
|
||||
'Menu:ConfigManagement:Misc' => 'Divers',
|
||||
'Menu:Group' => 'Groupe de CIs',
|
||||
'Menu:Group+' => 'Groupe de CIs',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Raccourcis',
|
||||
'Menu:ConfigManagement:AllContacts' => 'Tous les contacts: %1$d',
|
||||
'Menu:Typology' => 'Typologie configuration',
|
||||
'Menu:Typology+' => 'Typologie configuration',
|
||||
'Menu:OSVersion' => 'Versions d\'OS',
|
||||
'Menu:OSVersion+' => '',
|
||||
'Menu:Software' => 'Catalogue des logiciels de références',
|
||||
'Menu:Software+' => 'Catalogue des logiciels de références',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Résumé',
|
||||
'Menu:ConfigManagement:Typology' => 'Configuration des typologies',
|
||||
'Menu:Location+' => 'Tous les lieux',
|
||||
'Menu:ConfigManagementCI' => 'CIs',
|
||||
'Menu:ConfigManagementCI+' => 'CIs',
|
||||
'Menu:BusinessProcess' => 'Processus métier',
|
||||
'Menu:BusinessProcess+' => 'Tous les processus métiers',
|
||||
'Menu:ApplicationSolution' => 'Solutions applicatives',
|
||||
'Menu:ApplicationSolution+' => 'Toutes les solutions applicatives',
|
||||
'Menu:ConfigManagementSoftware' => 'Gestion des logiciels',
|
||||
'Menu:Licence' => 'Licences',
|
||||
'Menu:Licence+' => 'Toutes les licences',
|
||||
'Menu:Patch' => 'Patches',
|
||||
'Menu:Patch+' => 'Tous les patches',
|
||||
'Menu:ApplicationInstance' => 'Instances logiciels',
|
||||
'Menu:ApplicationInstance+' => 'Logiciels installés',
|
||||
'Menu:ConfigManagementHardware' => 'Gestion des infrastructures',
|
||||
'Menu:Subnet' => 'Sous réseaux',
|
||||
'Menu:Subnet+' => '',
|
||||
'Menu:NetworkDevice' => 'Equipements réseaux',
|
||||
'Menu:NetworkDevice+' => 'Tous les équipements réseaux',
|
||||
'Menu:Server' => 'Serveurs',
|
||||
'Menu:Server+' => '',
|
||||
'Menu:Printer' => 'Imprimantes',
|
||||
'Menu:Printer+' => 'Toutes les imprimantes',
|
||||
'Menu:MobilePhone' => 'Téléphones portables',
|
||||
'Menu:MobilePhone+' => 'Tous les téléphones portables',
|
||||
'Menu:PC' => 'PCs',
|
||||
'Menu:PC+' => 'Tous les PCs',
|
||||
'Menu:NewContact' => 'Nouveau contact',
|
||||
'Menu:NewContact+' => 'Nouveau contact',
|
||||
'Menu:SearchContacts' => 'Rechercher des contacts',
|
||||
'Menu:SearchContacts+' => 'Rechercher des contacts',
|
||||
'Menu:NewCI' => 'Nouveau CI',
|
||||
'Menu:NewCI+' => 'Nouveau CI',
|
||||
'Menu:SearchCIs' => 'Rechercher des CIs',
|
||||
'Menu:SearchCIs+' => 'Rechercher des CIs',
|
||||
'Menu:ConfigManagement:Devices' => 'Equipements',
|
||||
'Menu:ConfigManagement:AllDevices' => 'Infrastructures',
|
||||
'Menu:ConfigManagement:virtualization' => 'Virtualisation',
|
||||
'Menu:ConfigManagement:EndUsers' => 'Périphériques utilisateurs',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'Logiciels et applications',
|
||||
'Menu:ConfigManagement:Misc' => 'Divers',
|
||||
'Menu:Group' => 'Groupe de CIs',
|
||||
'Menu:Group+' => 'Groupe de CIs',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Raccourcis',
|
||||
'Menu:ConfigManagement:AllContacts' => 'Tous les contacts: %1$d',
|
||||
'Menu:Typology' => 'Typologie configuration',
|
||||
'Menu:Typology+' => 'Typologie configuration',
|
||||
'Menu:OSVersion' => 'Versions d\'OS',
|
||||
'Menu:OSVersion+' => '',
|
||||
'Menu:Software' => 'Catalogue des logiciels de références',
|
||||
'Menu:Software+' => 'Catalogue des logiciels de références',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Résumé',
|
||||
'Menu:ConfigManagement:Typology' => 'Configuration des typologies',
|
||||
|
||||
));
|
||||
|
||||
@@ -1888,18 +1888,18 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
// Add translation for Fieldsets
|
||||
|
||||
Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'Server:baseinfo' => 'Informations générales',
|
||||
'Server:Date' => 'Dates',
|
||||
'Server:moreinfo' => 'Informations complémentaires',
|
||||
'Server:otherinfo' => 'Autres informations',
|
||||
'Server:power' => 'Alimentation électrique',
|
||||
'Person:info' => 'Informations générales',
|
||||
'Person:personal_info' => 'Informations personnelles',
|
||||
'Person:notifiy' => 'Notification',
|
||||
'Class:Subnet/Tab:IPUsage' => 'IP utilisées',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => 'Interfaces ayant une IP dans la plage: <em>%1$s</em> à <em>%2$s</em>',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'IP disponibles',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'IP disponibles: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => 'Voici un échantillon de dix addresses IP disponibles',
|
||||
'Class:Document:PreviewTab' => 'Aperçu',
|
||||
'Server:baseinfo' => 'Informations générales',
|
||||
'Server:Date' => 'Dates',
|
||||
'Server:moreinfo' => 'Informations complémentaires',
|
||||
'Server:otherinfo' => 'Autres informations',
|
||||
'Server:power' => 'Alimentation électrique',
|
||||
'Person:info' => 'Informations générales',
|
||||
'Person:personal_info' => 'Informations personnelles',
|
||||
'Person:notifiy' => 'Notification',
|
||||
'Class:Subnet/Tab:IPUsage' => 'IP utilisées',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => 'Interfaces ayant une IP dans la plage: <em>%1$s</em> à <em>%2$s</em>',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'IP disponibles',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'IP disponibles: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => 'Voici un échantillon de dix addresses IP disponibles',
|
||||
'Class:Document:PreviewTab' => 'Aperçu',
|
||||
));
|
||||
|
||||
@@ -1795,88 +1795,88 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
|
||||
//
|
||||
|
||||
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
|
||||
'Menu:DataAdministration' => 'Adat adminisztráció',
|
||||
'Menu:DataAdministration+' => '',
|
||||
'Menu:Catalogs' => 'Katalógusok',
|
||||
'Menu:Catalogs+' => '',
|
||||
'Menu:Audit' => 'Audit',
|
||||
'Menu:Audit+' => '',
|
||||
'Menu:CSVImport' => 'CSV import',
|
||||
'Menu:CSVImport+' => '',
|
||||
'Menu:Organization' => 'Szervezet',
|
||||
'Menu:Organization+' => '',
|
||||
'Menu:Application' => 'Alkalmazások',
|
||||
'Menu:Application+' => '',
|
||||
'Menu:DBServer' => 'Adatbázis szerverek',
|
||||
'Menu:DBServer+' => '',
|
||||
'Menu:ConfigManagement' => 'Konfiguráció menedzsment',
|
||||
'Menu:ConfigManagement+' => '',
|
||||
'Menu:ConfigManagementOverview' => 'Áttekintő',
|
||||
'Menu:ConfigManagementOverview+' => '',
|
||||
'Menu:Contact' => 'Kapcsolattartók',
|
||||
'Menu:Contact+' => '',
|
||||
'Menu:Contact:Count' => '%1$d',
|
||||
'Menu:Person' => 'Személyek',
|
||||
'Menu:Person+' => '',
|
||||
'Menu:Team' => 'Csoportok',
|
||||
'Menu:Team+' => '',
|
||||
'Menu:Document' => 'Dokumentumok',
|
||||
'Menu:Document+' => '',
|
||||
'Menu:Location' => 'Helyszínek',
|
||||
'Menu:DataAdministration' => 'Adat adminisztráció',
|
||||
'Menu:DataAdministration+' => '',
|
||||
'Menu:Catalogs' => 'Katalógusok',
|
||||
'Menu:Catalogs+' => '',
|
||||
'Menu:Audit' => 'Audit',
|
||||
'Menu:Audit+' => '',
|
||||
'Menu:CSVImport' => 'CSV import',
|
||||
'Menu:CSVImport+' => '',
|
||||
'Menu:Organization' => 'Szervezet',
|
||||
'Menu:Organization+' => '',
|
||||
'Menu:Application' => 'Alkalmazások',
|
||||
'Menu:Application+' => '',
|
||||
'Menu:DBServer' => 'Adatbázis szerverek',
|
||||
'Menu:DBServer+' => '',
|
||||
'Menu:ConfigManagement' => 'Konfiguráció menedzsment',
|
||||
'Menu:ConfigManagement+' => '',
|
||||
'Menu:ConfigManagementOverview' => 'Áttekintő',
|
||||
'Menu:ConfigManagementOverview+' => '',
|
||||
'Menu:Contact' => 'Kapcsolattartók',
|
||||
'Menu:Contact+' => '',
|
||||
'Menu:Contact:Count' => '%1$d',
|
||||
'Menu:Person' => 'Személyek',
|
||||
'Menu:Person+' => '',
|
||||
'Menu:Team' => 'Csoportok',
|
||||
'Menu:Team+' => '',
|
||||
'Menu:Document' => 'Dokumentumok',
|
||||
'Menu:Document+' => '',
|
||||
'Menu:Location' => 'Helyszínek',
|
||||
|
||||
'Menu:Location+' => '',
|
||||
'Menu:ConfigManagementCI' => 'Konfigurációs elemek (CI)',
|
||||
'Menu:ConfigManagementCI+' => '',
|
||||
'Menu:BusinessProcess' => 'Üzleti folyamatok',
|
||||
'Menu:BusinessProcess+' => '',
|
||||
'Menu:ApplicationSolution' => 'Egyedi alkalmazások',
|
||||
'Menu:ApplicationSolution+' => '',
|
||||
'Menu:ConfigManagementSoftware' => 'Alkalmazás menedzsment',
|
||||
'Menu:Licence' => 'Liszenszek',
|
||||
'Menu:Licence+' => '',
|
||||
'Menu:Patch' => 'Frissítések',
|
||||
'Menu:Patch+' => '',
|
||||
'Menu:ApplicationInstance' => 'Telepített szoftverek',
|
||||
'Menu:ApplicationInstance+' => '',
|
||||
'Menu:ConfigManagementHardware' => 'Infrastruktúra menedzsment',
|
||||
'Menu:Subnet' => 'Alhálozatok',
|
||||
'Menu:Subnet+' => '',
|
||||
'Menu:NetworkDevice' => 'Hálózati eszközök',
|
||||
'Menu:NetworkDevice+' => '',
|
||||
'Menu:Server' => 'Szerverek',
|
||||
'Menu:Server+' => '',
|
||||
'Menu:Printer' => 'Nyomtatók',
|
||||
'Menu:Printer+' => '',
|
||||
'Menu:MobilePhone' => 'Mobil telefonok',
|
||||
'Menu:MobilePhone+' => '',
|
||||
'Menu:PC' => 'Személyi számítógépek',
|
||||
'Menu:PC+' => '',
|
||||
'Menu:NewContact' => 'Új kapcsolattartó',
|
||||
'Menu:NewContact+' => '',
|
||||
'Menu:SearchContacts' => 'Kapcsolattartó keresés',
|
||||
'Menu:SearchContacts+' => '',
|
||||
'Menu:NewCI' => 'Új CI',
|
||||
'Menu:NewCI+' => '',
|
||||
'Menu:SearchCIs' => 'CI keresés',
|
||||
'Menu:SearchCIs+' => '',
|
||||
'Menu:ConfigManagement:Devices' => 'Eszközök',
|
||||
'Menu:ConfigManagement:AllDevices' => 'Infrastruktúra',
|
||||
'Menu:ConfigManagement:virtualization' => 'Virtualization~~',
|
||||
'Menu:ConfigManagement:EndUsers' => 'End user devices~~',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'Szoftverek és egyedi alkalmazások',
|
||||
'Menu:ConfigManagement:Misc' => 'Egyéb',
|
||||
'Menu:Group' => 'CI csoportok',
|
||||
'Menu:Group+' => '',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Gyorsmenük',
|
||||
'Menu:ConfigManagement:AllContacts' => 'Összes kapcsolattartó: %1$d',
|
||||
'Menu:Typology' => 'Typology configuration~~',
|
||||
'Menu:Typology+' => 'Typology configuration~~',
|
||||
'Menu:OSVersion' => 'OS versions~~',
|
||||
'Menu:OSVersion+' => '~~',
|
||||
'Menu:Software' => 'Software catalog~~',
|
||||
'Menu:Software+' => 'Software catalog~~',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Summary~~',
|
||||
'Menu:ConfigManagement:Typology' => 'Typology configuration~~',
|
||||
'Menu:Location+' => '',
|
||||
'Menu:ConfigManagementCI' => 'Konfigurációs elemek (CI)',
|
||||
'Menu:ConfigManagementCI+' => '',
|
||||
'Menu:BusinessProcess' => 'Üzleti folyamatok',
|
||||
'Menu:BusinessProcess+' => '',
|
||||
'Menu:ApplicationSolution' => 'Egyedi alkalmazások',
|
||||
'Menu:ApplicationSolution+' => '',
|
||||
'Menu:ConfigManagementSoftware' => 'Alkalmazás menedzsment',
|
||||
'Menu:Licence' => 'Liszenszek',
|
||||
'Menu:Licence+' => '',
|
||||
'Menu:Patch' => 'Frissítések',
|
||||
'Menu:Patch+' => '',
|
||||
'Menu:ApplicationInstance' => 'Telepített szoftverek',
|
||||
'Menu:ApplicationInstance+' => '',
|
||||
'Menu:ConfigManagementHardware' => 'Infrastruktúra menedzsment',
|
||||
'Menu:Subnet' => 'Alhálozatok',
|
||||
'Menu:Subnet+' => '',
|
||||
'Menu:NetworkDevice' => 'Hálózati eszközök',
|
||||
'Menu:NetworkDevice+' => '',
|
||||
'Menu:Server' => 'Szerverek',
|
||||
'Menu:Server+' => '',
|
||||
'Menu:Printer' => 'Nyomtatók',
|
||||
'Menu:Printer+' => '',
|
||||
'Menu:MobilePhone' => 'Mobil telefonok',
|
||||
'Menu:MobilePhone+' => '',
|
||||
'Menu:PC' => 'Személyi számítógépek',
|
||||
'Menu:PC+' => '',
|
||||
'Menu:NewContact' => 'Új kapcsolattartó',
|
||||
'Menu:NewContact+' => '',
|
||||
'Menu:SearchContacts' => 'Kapcsolattartó keresés',
|
||||
'Menu:SearchContacts+' => '',
|
||||
'Menu:NewCI' => 'Új CI',
|
||||
'Menu:NewCI+' => '',
|
||||
'Menu:SearchCIs' => 'CI keresés',
|
||||
'Menu:SearchCIs+' => '',
|
||||
'Menu:ConfigManagement:Devices' => 'Eszközök',
|
||||
'Menu:ConfigManagement:AllDevices' => 'Infrastruktúra',
|
||||
'Menu:ConfigManagement:virtualization' => 'Virtualization~~',
|
||||
'Menu:ConfigManagement:EndUsers' => 'End user devices~~',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'Szoftverek és egyedi alkalmazások',
|
||||
'Menu:ConfigManagement:Misc' => 'Egyéb',
|
||||
'Menu:Group' => 'CI csoportok',
|
||||
'Menu:Group+' => '',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Gyorsmenük',
|
||||
'Menu:ConfigManagement:AllContacts' => 'Összes kapcsolattartó: %1$d',
|
||||
'Menu:Typology' => 'Typology configuration~~',
|
||||
'Menu:Typology+' => 'Typology configuration~~',
|
||||
'Menu:OSVersion' => 'OS versions~~',
|
||||
'Menu:OSVersion+' => '~~',
|
||||
'Menu:Software' => 'Software catalog~~',
|
||||
'Menu:Software+' => 'Software catalog~~',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Summary~~',
|
||||
'Menu:ConfigManagement:Typology' => 'Typology configuration~~',
|
||||
|
||||
));
|
||||
|
||||
@@ -1884,18 +1884,18 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
|
||||
// Add translation for Fieldsets
|
||||
|
||||
Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
|
||||
'Server:baseinfo' => 'General information~~',
|
||||
'Server:Date' => 'Dates~~',
|
||||
'Server:moreinfo' => 'More information~~',
|
||||
'Server:otherinfo' => 'Other information~~',
|
||||
'Server:power' => 'Power supply~~',
|
||||
'Person:info' => 'General information~~',
|
||||
'Person:personal_info' => 'Personal information~~',
|
||||
'Person:notifiy' => 'Notification~~',
|
||||
'Class:Subnet/Tab:IPUsage' => 'IP felhasználás',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => 'Interfészek a következő tartományba esnek: <em>%1$s</em> - <em>%2$s</em>',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'Szabad IP-k',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'Szabad IP-k: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => '10 szabad IP cím kivonata',
|
||||
'Class:Document:PreviewTab' => 'Előnézet',
|
||||
'Server:baseinfo' => 'General information~~',
|
||||
'Server:Date' => 'Dates~~',
|
||||
'Server:moreinfo' => 'More information~~',
|
||||
'Server:otherinfo' => 'Other information~~',
|
||||
'Server:power' => 'Power supply~~',
|
||||
'Person:info' => 'General information~~',
|
||||
'Person:personal_info' => 'Personal information~~',
|
||||
'Person:notifiy' => 'Notification~~',
|
||||
'Class:Subnet/Tab:IPUsage' => 'IP felhasználás',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => 'Interfészek a következő tartományba esnek: <em>%1$s</em> - <em>%2$s</em>',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'Szabad IP-k',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'Szabad IP-k: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => '10 szabad IP cím kivonata',
|
||||
'Class:Document:PreviewTab' => 'Előnézet',
|
||||
));
|
||||
|
||||
@@ -1795,88 +1795,88 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
|
||||
//
|
||||
|
||||
Dict::Add('IT IT', 'Italian', 'Italiano', array(
|
||||
'Menu:DataAdministration' => 'Dati di amministrazione',
|
||||
'Menu:DataAdministration+' => '',
|
||||
'Menu:Catalogs' => 'Cataloghi',
|
||||
'Menu:Catalogs+' => 'Tipi di dato',
|
||||
'Menu:Audit' => 'Audit',
|
||||
'Menu:Audit+' => 'Audit',
|
||||
'Menu:CSVImport' => 'Importazione CSV',
|
||||
'Menu:CSVImport+' => '',
|
||||
'Menu:Organization' => 'Organizzazioni',
|
||||
'Menu:Organization+' => 'Tutte le organizzazioni',
|
||||
'Menu:Application' => 'Applicazioni',
|
||||
'Menu:Application+' => 'Tutte le applicazioni',
|
||||
'Menu:DBServer' => 'Database Servers',
|
||||
'Menu:DBServer+' => 'Database Servers',
|
||||
'Menu:ConfigManagement' => 'Gestione delle Configurazioni',
|
||||
'Menu:ConfigManagement+' => 'Gestione delle Configurazioni',
|
||||
'Menu:ConfigManagementOverview' => 'Panoramica',
|
||||
'Menu:ConfigManagementOverview+' => 'Panoramica',
|
||||
'Menu:Contact' => 'Contatti',
|
||||
'Menu:Contact+' => 'Contatti',
|
||||
'Menu:Contact:Count' => '%1$d contatti',
|
||||
'Menu:Person' => 'Persone',
|
||||
'Menu:Person+' => 'Tutte le persone',
|
||||
'Menu:Team' => 'Teams',
|
||||
'Menu:Team+' => 'Tutti i Teams',
|
||||
'Menu:Document' => 'Documenti',
|
||||
'Menu:Document+' => 'Tutti i Documenti',
|
||||
'Menu:Location' => 'Posizioni',
|
||||
'Menu:DataAdministration' => 'Dati di amministrazione',
|
||||
'Menu:DataAdministration+' => '',
|
||||
'Menu:Catalogs' => 'Cataloghi',
|
||||
'Menu:Catalogs+' => 'Tipi di dato',
|
||||
'Menu:Audit' => 'Audit',
|
||||
'Menu:Audit+' => 'Audit',
|
||||
'Menu:CSVImport' => 'Importazione CSV',
|
||||
'Menu:CSVImport+' => '',
|
||||
'Menu:Organization' => 'Organizzazioni',
|
||||
'Menu:Organization+' => 'Tutte le organizzazioni',
|
||||
'Menu:Application' => 'Applicazioni',
|
||||
'Menu:Application+' => 'Tutte le applicazioni',
|
||||
'Menu:DBServer' => 'Database Servers',
|
||||
'Menu:DBServer+' => 'Database Servers',
|
||||
'Menu:ConfigManagement' => 'Gestione delle Configurazioni',
|
||||
'Menu:ConfigManagement+' => 'Gestione delle Configurazioni',
|
||||
'Menu:ConfigManagementOverview' => 'Panoramica',
|
||||
'Menu:ConfigManagementOverview+' => 'Panoramica',
|
||||
'Menu:Contact' => 'Contatti',
|
||||
'Menu:Contact+' => 'Contatti',
|
||||
'Menu:Contact:Count' => '%1$d contatti',
|
||||
'Menu:Person' => 'Persone',
|
||||
'Menu:Person+' => 'Tutte le persone',
|
||||
'Menu:Team' => 'Teams',
|
||||
'Menu:Team+' => 'Tutti i Teams',
|
||||
'Menu:Document' => 'Documenti',
|
||||
'Menu:Document+' => 'Tutti i Documenti',
|
||||
'Menu:Location' => 'Posizioni',
|
||||
|
||||
'Menu:Location+' => 'Tutte le pozisioni',
|
||||
'Menu:ConfigManagementCI' => 'Elementi di Configurazione (CI)',
|
||||
'Menu:ConfigManagementCI+' => 'Elementi di Configurazione (CI)',
|
||||
'Menu:BusinessProcess' => 'Processi di business',
|
||||
'Menu:BusinessProcess+' => 'Tutti i processi di business',
|
||||
'Menu:ApplicationSolution' => 'Soluzioni applicative',
|
||||
'Menu:ApplicationSolution+' => 'Tutte le soluzioni applicative',
|
||||
'Menu:ConfigManagementSoftware' => 'Gestione delle Applicazioni',
|
||||
'Menu:Licence' => 'Licenze',
|
||||
'Menu:Licence+' => 'Tutte le licenze',
|
||||
'Menu:Patch' => 'Patches',
|
||||
'Menu:Patch+' => 'Tutte le patches',
|
||||
'Menu:ApplicationInstance' => 'Software Installati',
|
||||
'Menu:ApplicationInstance+' => 'Applicazioni e Database servers',
|
||||
'Menu:ConfigManagementHardware' => 'Gestione Infrastrutture',
|
||||
'Menu:Subnet' => 'Subnets',
|
||||
'Menu:Subnet+' => 'Tutte le Subnets',
|
||||
'Menu:NetworkDevice' => 'Dispositivi di rete',
|
||||
'Menu:NetworkDevice+' => 'Tutti i dispositivi di rete',
|
||||
'Menu:Server' => 'Server',
|
||||
'Menu:Server+' => 'Tutti i Server',
|
||||
'Menu:Printer' => 'Stampanti',
|
||||
'Menu:Printer+' => 'Tutte le stampanti',
|
||||
'Menu:MobilePhone' => 'Cellulari',
|
||||
'Menu:MobilePhone+' => 'Tutti i cellulari',
|
||||
'Menu:PC' => 'Personal Computers',
|
||||
'Menu:PC+' => 'Tutti i Personal Computers',
|
||||
'Menu:NewContact' => 'Nuovo Contatto',
|
||||
'Menu:NewContact+' => 'Nuovo Contatto',
|
||||
'Menu:SearchContacts' => 'Ricerca contatti',
|
||||
'Menu:SearchContacts+' => 'Ricerca contatti',
|
||||
'Menu:NewCI' => 'Nuovo CI',
|
||||
'Menu:NewCI+' => 'Nuovo CI',
|
||||
'Menu:SearchCIs' => 'Ricerca CIs',
|
||||
'Menu:SearchCIs+' => 'Ricerca CIs',
|
||||
'Menu:ConfigManagement:Devices' => 'Dispositvi',
|
||||
'Menu:ConfigManagement:AllDevices' => 'Infrastrutture',
|
||||
'Menu:ConfigManagement:virtualization' => 'Virtualization~~',
|
||||
'Menu:ConfigManagement:EndUsers' => 'End user devices~~',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'Software e Applicazioni',
|
||||
'Menu:ConfigManagement:Misc' => 'Varie',
|
||||
'Menu:Group' => 'Gruppi di CIs',
|
||||
'Menu:Group+' => 'Gruppi di CIs',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Scorciatoie',
|
||||
'Menu:ConfigManagement:AllContacts' => 'Tutti i contatti: %1$d',
|
||||
'Menu:Typology' => 'Typology configuration~~',
|
||||
'Menu:Typology+' => 'Typology configuration~~',
|
||||
'Menu:OSVersion' => 'OS versions~~',
|
||||
'Menu:OSVersion+' => '~~',
|
||||
'Menu:Software' => 'Software catalog~~',
|
||||
'Menu:Software+' => 'Software catalog~~',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Summary~~',
|
||||
'Menu:ConfigManagement:Typology' => 'Typology configuration~~',
|
||||
'Menu:Location+' => 'Tutte le pozisioni',
|
||||
'Menu:ConfigManagementCI' => 'Elementi di Configurazione (CI)',
|
||||
'Menu:ConfigManagementCI+' => 'Elementi di Configurazione (CI)',
|
||||
'Menu:BusinessProcess' => 'Processi di business',
|
||||
'Menu:BusinessProcess+' => 'Tutti i processi di business',
|
||||
'Menu:ApplicationSolution' => 'Soluzioni applicative',
|
||||
'Menu:ApplicationSolution+' => 'Tutte le soluzioni applicative',
|
||||
'Menu:ConfigManagementSoftware' => 'Gestione delle Applicazioni',
|
||||
'Menu:Licence' => 'Licenze',
|
||||
'Menu:Licence+' => 'Tutte le licenze',
|
||||
'Menu:Patch' => 'Patches',
|
||||
'Menu:Patch+' => 'Tutte le patches',
|
||||
'Menu:ApplicationInstance' => 'Software Installati',
|
||||
'Menu:ApplicationInstance+' => 'Applicazioni e Database servers',
|
||||
'Menu:ConfigManagementHardware' => 'Gestione Infrastrutture',
|
||||
'Menu:Subnet' => 'Subnets',
|
||||
'Menu:Subnet+' => 'Tutte le Subnets',
|
||||
'Menu:NetworkDevice' => 'Dispositivi di rete',
|
||||
'Menu:NetworkDevice+' => 'Tutti i dispositivi di rete',
|
||||
'Menu:Server' => 'Server',
|
||||
'Menu:Server+' => 'Tutti i Server',
|
||||
'Menu:Printer' => 'Stampanti',
|
||||
'Menu:Printer+' => 'Tutte le stampanti',
|
||||
'Menu:MobilePhone' => 'Cellulari',
|
||||
'Menu:MobilePhone+' => 'Tutti i cellulari',
|
||||
'Menu:PC' => 'Personal Computers',
|
||||
'Menu:PC+' => 'Tutti i Personal Computers',
|
||||
'Menu:NewContact' => 'Nuovo Contatto',
|
||||
'Menu:NewContact+' => 'Nuovo Contatto',
|
||||
'Menu:SearchContacts' => 'Ricerca contatti',
|
||||
'Menu:SearchContacts+' => 'Ricerca contatti',
|
||||
'Menu:NewCI' => 'Nuovo CI',
|
||||
'Menu:NewCI+' => 'Nuovo CI',
|
||||
'Menu:SearchCIs' => 'Ricerca CIs',
|
||||
'Menu:SearchCIs+' => 'Ricerca CIs',
|
||||
'Menu:ConfigManagement:Devices' => 'Dispositvi',
|
||||
'Menu:ConfigManagement:AllDevices' => 'Infrastrutture',
|
||||
'Menu:ConfigManagement:virtualization' => 'Virtualization~~',
|
||||
'Menu:ConfigManagement:EndUsers' => 'End user devices~~',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'Software e Applicazioni',
|
||||
'Menu:ConfigManagement:Misc' => 'Varie',
|
||||
'Menu:Group' => 'Gruppi di CIs',
|
||||
'Menu:Group+' => 'Gruppi di CIs',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Scorciatoie',
|
||||
'Menu:ConfigManagement:AllContacts' => 'Tutti i contatti: %1$d',
|
||||
'Menu:Typology' => 'Typology configuration~~',
|
||||
'Menu:Typology+' => 'Typology configuration~~',
|
||||
'Menu:OSVersion' => 'OS versions~~',
|
||||
'Menu:OSVersion+' => '~~',
|
||||
'Menu:Software' => 'Software catalog~~',
|
||||
'Menu:Software+' => 'Software catalog~~',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Summary~~',
|
||||
'Menu:ConfigManagement:Typology' => 'Typology configuration~~',
|
||||
|
||||
));
|
||||
|
||||
@@ -1884,18 +1884,18 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
|
||||
// Add translation for Fieldsets
|
||||
|
||||
Dict::Add('IT IT', 'Italian', 'Italiano', array(
|
||||
'Server:baseinfo' => 'General information~~',
|
||||
'Server:Date' => 'Dates~~',
|
||||
'Server:moreinfo' => 'More information~~',
|
||||
'Server:otherinfo' => 'Other information~~',
|
||||
'Server:power' => 'Power supply~~',
|
||||
'Person:info' => 'General information~~',
|
||||
'Person:personal_info' => 'Personal information~~',
|
||||
'Person:notifiy' => 'Notification~~',
|
||||
'Class:Subnet/Tab:IPUsage' => 'Utilizzo IP',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => 'Iterfacce che hanno un IP nell\'intervallo: <em>%1$s</em> e <em>%2$s</em>',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'IP liberi',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'IP liberi: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => 'Qui c\'è un estratto di 10 indirizzi IP liberi',
|
||||
'Class:Document:PreviewTab' => 'Anteprima',
|
||||
'Server:baseinfo' => 'General information~~',
|
||||
'Server:Date' => 'Dates~~',
|
||||
'Server:moreinfo' => 'More information~~',
|
||||
'Server:otherinfo' => 'Other information~~',
|
||||
'Server:power' => 'Power supply~~',
|
||||
'Person:info' => 'General information~~',
|
||||
'Person:personal_info' => 'Personal information~~',
|
||||
'Person:notifiy' => 'Notification~~',
|
||||
'Class:Subnet/Tab:IPUsage' => 'Utilizzo IP',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => 'Iterfacce che hanno un IP nell\'intervallo: <em>%1$s</em> e <em>%2$s</em>',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'IP liberi',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'IP liberi: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => 'Qui c\'è un estratto di 10 indirizzi IP liberi',
|
||||
'Class:Document:PreviewTab' => 'Anteprima',
|
||||
));
|
||||
|
||||
@@ -1795,88 +1795,88 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
|
||||
//
|
||||
|
||||
Dict::Add('JA JP', 'Japanese', '日本語', array(
|
||||
'Menu:DataAdministration' => 'データ管理',
|
||||
'Menu:DataAdministration+' => 'データ管理',
|
||||
'Menu:Catalogs' => 'カタログ',
|
||||
'Menu:Catalogs+' => 'データタイプ',
|
||||
'Menu:Audit' => '監査',
|
||||
'Menu:Audit+' => '監査',
|
||||
'Menu:CSVImport' => 'CSV インポート',
|
||||
'Menu:CSVImport+' => '一括作成/一括更新',
|
||||
'Menu:Organization' => '組織',
|
||||
'Menu:Organization+' => '全組織',
|
||||
'Menu:Application' => 'アプリケーション',
|
||||
'Menu:Application+' => '全アプリケーション',
|
||||
'Menu:DBServer' => 'DBサーバ',
|
||||
'Menu:DBServer+' => 'DBサーバ',
|
||||
'Menu:ConfigManagement' => '構成管理',
|
||||
'Menu:ConfigManagement+' => '構成管理',
|
||||
'Menu:ConfigManagementOverview' => '概要',
|
||||
'Menu:ConfigManagementOverview+' => '概要',
|
||||
'Menu:Contact' => '連絡先',
|
||||
'Menu:Contact+' => '連絡先',
|
||||
'Menu:Contact:Count' => '%1$d',
|
||||
'Menu:Person' => '人物',
|
||||
'Menu:Person+' => '全人物',
|
||||
'Menu:Team' => 'チーム',
|
||||
'Menu:Team+' => '全チーム',
|
||||
'Menu:Document' => '文書',
|
||||
'Menu:Document+' => '全文書',
|
||||
'Menu:Location' => '場所',
|
||||
'Menu:DataAdministration' => 'データ管理',
|
||||
'Menu:DataAdministration+' => 'データ管理',
|
||||
'Menu:Catalogs' => 'カタログ',
|
||||
'Menu:Catalogs+' => 'データタイプ',
|
||||
'Menu:Audit' => '監査',
|
||||
'Menu:Audit+' => '監査',
|
||||
'Menu:CSVImport' => 'CSV インポート',
|
||||
'Menu:CSVImport+' => '一括作成/一括更新',
|
||||
'Menu:Organization' => '組織',
|
||||
'Menu:Organization+' => '全組織',
|
||||
'Menu:Application' => 'アプリケーション',
|
||||
'Menu:Application+' => '全アプリケーション',
|
||||
'Menu:DBServer' => 'DBサーバ',
|
||||
'Menu:DBServer+' => 'DBサーバ',
|
||||
'Menu:ConfigManagement' => '構成管理',
|
||||
'Menu:ConfigManagement+' => '構成管理',
|
||||
'Menu:ConfigManagementOverview' => '概要',
|
||||
'Menu:ConfigManagementOverview+' => '概要',
|
||||
'Menu:Contact' => '連絡先',
|
||||
'Menu:Contact+' => '連絡先',
|
||||
'Menu:Contact:Count' => '%1$d',
|
||||
'Menu:Person' => '人物',
|
||||
'Menu:Person+' => '全人物',
|
||||
'Menu:Team' => 'チーム',
|
||||
'Menu:Team+' => '全チーム',
|
||||
'Menu:Document' => '文書',
|
||||
'Menu:Document+' => '全文書',
|
||||
'Menu:Location' => '場所',
|
||||
|
||||
'Menu:Location+' => '全ての場所',
|
||||
'Menu:ConfigManagementCI' => '構成管理項目',
|
||||
'Menu:ConfigManagementCI+' => '構成管理項目',
|
||||
'Menu:BusinessProcess' => 'ビジネスプロセス',
|
||||
'Menu:BusinessProcess+' => '全ビジネスプロセス',
|
||||
'Menu:ApplicationSolution' => 'アプリケーションソリューション',
|
||||
'Menu:ApplicationSolution+' => '全アプリケーションソリューション',
|
||||
'Menu:ConfigManagementSoftware' => 'ソフトウエア管理',
|
||||
'Menu:Licence' => 'ライセンス',
|
||||
'Menu:Licence+' => '全ライセンス',
|
||||
'Menu:Patch' => 'パッチ',
|
||||
'Menu:Patch+' => '全パッチ',
|
||||
'Menu:ApplicationInstance' => 'インストールされたソフトウエア',
|
||||
'Menu:ApplicationInstance+' => 'アプリケーションとデータベースサーバ',
|
||||
'Menu:ConfigManagementHardware' => 'インフラ管理',
|
||||
'Menu:Subnet' => 'サブネット',
|
||||
'Menu:Subnet+' => '全サブネット',
|
||||
'Menu:NetworkDevice' => 'ネットワークデバイス',
|
||||
'Menu:NetworkDevice+' => '全ネットワークデバイス',
|
||||
'Menu:Server' => 'サーバ',
|
||||
'Menu:Server+' => '全サーバ',
|
||||
'Menu:Printer' => 'プリンタ',
|
||||
'Menu:Printer+' => '全プリンタ',
|
||||
'Menu:MobilePhone' => '携帯電話',
|
||||
'Menu:MobilePhone+' => '全携帯電話',
|
||||
'Menu:PC' => 'パーソナルコンピュタ',
|
||||
'Menu:PC+' => '全パーソナルコンピュータ',
|
||||
'Menu:NewContact' => '新規連絡先',
|
||||
'Menu:NewContact+' => '新規連絡先',
|
||||
'Menu:SearchContacts' => '連絡先検索',
|
||||
'Menu:SearchContacts+' => '連絡先検索',
|
||||
'Menu:NewCI' => '新規CI',
|
||||
'Menu:NewCI+' => '新規CI',
|
||||
'Menu:SearchCIs' => 'CI検索',
|
||||
'Menu:SearchCIs+' => 'CI検索',
|
||||
'Menu:ConfigManagement:Devices' => 'デバイス',
|
||||
'Menu:ConfigManagement:AllDevices' => 'インフラ',
|
||||
'Menu:ConfigManagement:virtualization' => '仮想化',
|
||||
'Menu:ConfigManagement:EndUsers' => 'エンドユーザデバイス',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'ソフトウエアとアプリケーション',
|
||||
'Menu:ConfigManagement:Misc' => 'その他',
|
||||
'Menu:Group' => 'CIグループ',
|
||||
'Menu:Group+' => 'CIグループ',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'ショートカット',
|
||||
'Menu:ConfigManagement:AllContacts' => '全連絡先: %1$d',
|
||||
'Menu:Typology' => 'トポロジー構成',
|
||||
'Menu:Typology+' => 'トポロジー構成',
|
||||
'Menu:OSVersion' => 'OS バージョン',
|
||||
'Menu:OSVersion+' => '',
|
||||
'Menu:Software' => 'ソフトウエアカタログ',
|
||||
'Menu:Software+' => 'ソフトウエアカタログ',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'サマリー',
|
||||
'Menu:ConfigManagement:Typology' => '分類構成',
|
||||
'Menu:Location+' => '全ての場所',
|
||||
'Menu:ConfigManagementCI' => '構成管理項目',
|
||||
'Menu:ConfigManagementCI+' => '構成管理項目',
|
||||
'Menu:BusinessProcess' => 'ビジネスプロセス',
|
||||
'Menu:BusinessProcess+' => '全ビジネスプロセス',
|
||||
'Menu:ApplicationSolution' => 'アプリケーションソリューション',
|
||||
'Menu:ApplicationSolution+' => '全アプリケーションソリューション',
|
||||
'Menu:ConfigManagementSoftware' => 'ソフトウエア管理',
|
||||
'Menu:Licence' => 'ライセンス',
|
||||
'Menu:Licence+' => '全ライセンス',
|
||||
'Menu:Patch' => 'パッチ',
|
||||
'Menu:Patch+' => '全パッチ',
|
||||
'Menu:ApplicationInstance' => 'インストールされたソフトウエア',
|
||||
'Menu:ApplicationInstance+' => 'アプリケーションとデータベースサーバ',
|
||||
'Menu:ConfigManagementHardware' => 'インフラ管理',
|
||||
'Menu:Subnet' => 'サブネット',
|
||||
'Menu:Subnet+' => '全サブネット',
|
||||
'Menu:NetworkDevice' => 'ネットワークデバイス',
|
||||
'Menu:NetworkDevice+' => '全ネットワークデバイス',
|
||||
'Menu:Server' => 'サーバ',
|
||||
'Menu:Server+' => '全サーバ',
|
||||
'Menu:Printer' => 'プリンタ',
|
||||
'Menu:Printer+' => '全プリンタ',
|
||||
'Menu:MobilePhone' => '携帯電話',
|
||||
'Menu:MobilePhone+' => '全携帯電話',
|
||||
'Menu:PC' => 'パーソナルコンピュタ',
|
||||
'Menu:PC+' => '全パーソナルコンピュータ',
|
||||
'Menu:NewContact' => '新規連絡先',
|
||||
'Menu:NewContact+' => '新規連絡先',
|
||||
'Menu:SearchContacts' => '連絡先検索',
|
||||
'Menu:SearchContacts+' => '連絡先検索',
|
||||
'Menu:NewCI' => '新規CI',
|
||||
'Menu:NewCI+' => '新規CI',
|
||||
'Menu:SearchCIs' => 'CI検索',
|
||||
'Menu:SearchCIs+' => 'CI検索',
|
||||
'Menu:ConfigManagement:Devices' => 'デバイス',
|
||||
'Menu:ConfigManagement:AllDevices' => 'インフラ',
|
||||
'Menu:ConfigManagement:virtualization' => '仮想化',
|
||||
'Menu:ConfigManagement:EndUsers' => 'エンドユーザデバイス',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'ソフトウエアとアプリケーション',
|
||||
'Menu:ConfigManagement:Misc' => 'その他',
|
||||
'Menu:Group' => 'CIグループ',
|
||||
'Menu:Group+' => 'CIグループ',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'ショートカット',
|
||||
'Menu:ConfigManagement:AllContacts' => '全連絡先: %1$d',
|
||||
'Menu:Typology' => 'トポロジー構成',
|
||||
'Menu:Typology+' => 'トポロジー構成',
|
||||
'Menu:OSVersion' => 'OS バージョン',
|
||||
'Menu:OSVersion+' => '',
|
||||
'Menu:Software' => 'ソフトウエアカタログ',
|
||||
'Menu:Software+' => 'ソフトウエアカタログ',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'サマリー',
|
||||
'Menu:ConfigManagement:Typology' => '分類構成',
|
||||
|
||||
));
|
||||
|
||||
@@ -1884,18 +1884,18 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
|
||||
// Add translation for Fieldsets
|
||||
|
||||
Dict::Add('JA JP', 'Japanese', '日本語', array(
|
||||
'Server:baseinfo' => '基本情報',
|
||||
'Server:Date' => '日付',
|
||||
'Server:moreinfo' => '追加情報',
|
||||
'Server:otherinfo' => '他の情報',
|
||||
'Server:power' => 'Power supply~~',
|
||||
'Person:info' => '情報',
|
||||
'Person:personal_info' => 'Personal information~~',
|
||||
'Person:notifiy' => '通知',
|
||||
'Class:Subnet/Tab:IPUsage' => 'IP 利用',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => 'インターフェースは、レンジ: <em>%1$s</em> から <em>%2$s</em>の中のIPを持っています。',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'フリーなIP',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'フリーIP: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => '10個のフリーなIPアドレス',
|
||||
'Class:Document:PreviewTab' => 'プレビュー',
|
||||
'Server:baseinfo' => '基本情報',
|
||||
'Server:Date' => '日付',
|
||||
'Server:moreinfo' => '追加情報',
|
||||
'Server:otherinfo' => '他の情報',
|
||||
'Server:power' => 'Power supply~~',
|
||||
'Person:info' => '情報',
|
||||
'Person:personal_info' => 'Personal information~~',
|
||||
'Person:notifiy' => '通知',
|
||||
'Class:Subnet/Tab:IPUsage' => 'IP 利用',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => 'インターフェースは、レンジ: <em>%1$s</em> から <em>%2$s</em>の中のIPを持っています。',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'フリーなIP',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'フリーIP: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => '10個のフリーなIPアドレス',
|
||||
'Class:Document:PreviewTab' => 'プレビュー',
|
||||
));
|
||||
|
||||
@@ -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.6.0',
|
||||
'itop-config-mgmt/2.6.1',
|
||||
array(
|
||||
// Identification
|
||||
//
|
||||
|
||||
@@ -1807,88 +1807,88 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
|
||||
//
|
||||
|
||||
Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
|
||||
'Menu:DataAdministration' => 'Databeheer',
|
||||
'Menu:DataAdministration+' => 'Databeheer',
|
||||
'Menu:Catalogs' => 'Catalogus',
|
||||
'Menu:Catalogs+' => 'Soorten data',
|
||||
'Menu:Audit' => 'Audit',
|
||||
'Menu:Audit+' => 'Audit',
|
||||
'Menu:CSVImport' => 'CSV-import',
|
||||
'Menu:CSVImport+' => 'Grootschalige aanmaak of update',
|
||||
'Menu:Organization' => 'Organisaties',
|
||||
'Menu:Organization+' => 'Alle organisaties',
|
||||
'Menu:Application' => 'Applicaties',
|
||||
'Menu:Application+' => 'Alle Applicaties',
|
||||
'Menu:DBServer' => 'Databaseservers',
|
||||
'Menu:DBServer+' => 'Databaseservers',
|
||||
'Menu:ConfigManagement' => 'Configuratiebeheer',
|
||||
'Menu:ConfigManagement+' => 'Configuratiebeheer',
|
||||
'Menu:ConfigManagementOverview' => 'Overzicht',
|
||||
'Menu:ConfigManagementOverview+' => 'Overzicht',
|
||||
'Menu:Contact' => 'Contacten',
|
||||
'Menu:Contact+' => 'Contacten',
|
||||
'Menu:Contact:Count' => '%1$d contacten',
|
||||
'Menu:Person' => 'Personen',
|
||||
'Menu:Person+' => 'Alle personen',
|
||||
'Menu:Team' => 'Teams',
|
||||
'Menu:Team+' => 'Alle teams',
|
||||
'Menu:Document' => 'Documenten',
|
||||
'Menu:Document+' => 'Alle documenten',
|
||||
'Menu:Location' => 'Locaties',
|
||||
'Menu:DataAdministration' => 'Databeheer',
|
||||
'Menu:DataAdministration+' => 'Databeheer',
|
||||
'Menu:Catalogs' => 'Catalogus',
|
||||
'Menu:Catalogs+' => 'Soorten data',
|
||||
'Menu:Audit' => 'Audit',
|
||||
'Menu:Audit+' => 'Audit',
|
||||
'Menu:CSVImport' => 'CSV-import',
|
||||
'Menu:CSVImport+' => 'Grootschalige aanmaak of update',
|
||||
'Menu:Organization' => 'Organisaties',
|
||||
'Menu:Organization+' => 'Alle organisaties',
|
||||
'Menu:Application' => 'Applicaties',
|
||||
'Menu:Application+' => 'Alle Applicaties',
|
||||
'Menu:DBServer' => 'Databaseservers',
|
||||
'Menu:DBServer+' => 'Databaseservers',
|
||||
'Menu:ConfigManagement' => 'Configuratiebeheer',
|
||||
'Menu:ConfigManagement+' => 'Configuratiebeheer',
|
||||
'Menu:ConfigManagementOverview' => 'Overzicht',
|
||||
'Menu:ConfigManagementOverview+' => 'Overzicht',
|
||||
'Menu:Contact' => 'Contacten',
|
||||
'Menu:Contact+' => 'Contacten',
|
||||
'Menu:Contact:Count' => '%1$d contacten',
|
||||
'Menu:Person' => 'Personen',
|
||||
'Menu:Person+' => 'Alle personen',
|
||||
'Menu:Team' => 'Teams',
|
||||
'Menu:Team+' => 'Alle teams',
|
||||
'Menu:Document' => 'Documenten',
|
||||
'Menu:Document+' => 'Alle documenten',
|
||||
'Menu:Location' => 'Locaties',
|
||||
|
||||
'Menu:Location+' => 'Alle locaties',
|
||||
'Menu:ConfigManagementCI' => 'Configuratie-items',
|
||||
'Menu:ConfigManagementCI+' => 'Configuratie-items',
|
||||
'Menu:BusinessProcess' => 'Bedrijfsprocessen',
|
||||
'Menu:BusinessProcess+' => 'Alle bedrijfsprocessen',
|
||||
'Menu:ApplicationSolution' => 'Applicatie-oplossing',
|
||||
'Menu:ApplicationSolution+' => 'Alle applicatie-oplossingen',
|
||||
'Menu:ConfigManagementSoftware' => 'Applicatiebeheer',
|
||||
'Menu:Licence' => 'Licenties',
|
||||
'Menu:Licence+' => 'Alle licenties',
|
||||
'Menu:Patch' => 'Patches',
|
||||
'Menu:Patch+' => 'Alle patches',
|
||||
'Menu:ApplicationInstance' => 'Geïnstalleerde software',
|
||||
'Menu:ApplicationInstance+' => 'Applicaties en databaseservers',
|
||||
'Menu:ConfigManagementHardware' => 'Infrastructuurbeheer',
|
||||
'Menu:Subnet' => 'Subnetten',
|
||||
'Menu:Subnet+' => 'Alle subnetten',
|
||||
'Menu:NetworkDevice' => 'Netwerkapparaten',
|
||||
'Menu:NetworkDevice+' => 'Alle netwerkapparaten',
|
||||
'Menu:Server' => 'Servers',
|
||||
'Menu:Server+' => 'Alle servers',
|
||||
'Menu:Printer' => 'Printers',
|
||||
'Menu:Printer+' => 'Alle printers',
|
||||
'Menu:MobilePhone' => 'Mobiele telefoons',
|
||||
'Menu:MobilePhone+' => 'Alle mobiele telefoons',
|
||||
'Menu:PC' => 'PC\'s',
|
||||
'Menu:PC+' => 'Alle PC\'s',
|
||||
'Menu:NewContact' => 'Nieuw contact',
|
||||
'Menu:NewContact+' => 'Maak een nieuw contact aan',
|
||||
'Menu:SearchContacts' => 'Zoek naar contacten',
|
||||
'Menu:SearchContacts+' => 'Zoek naar contacten',
|
||||
'Menu:NewCI' => 'Nieuw configuratie-item',
|
||||
'Menu:NewCI+' => 'Maak een nieuw configuratie-item aan',
|
||||
'Menu:SearchCIs' => 'Zoek naar CI\'s',
|
||||
'Menu:SearchCIs+' => 'Zoek naar configuratie-items',
|
||||
'Menu:ConfigManagement:Devices' => 'Apparaten',
|
||||
'Menu:ConfigManagement:AllDevices' => 'Infrastructuur',
|
||||
'Menu:ConfigManagement:virtualization' => 'Virtualisatie',
|
||||
'Menu:ConfigManagement:EndUsers' => 'Apparaten van eindgebruikers',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'Software en applicaties',
|
||||
'Menu:ConfigManagement:Misc' => 'Diversen',
|
||||
'Menu:Group' => 'Groepen van CIs',
|
||||
'Menu:Group+' => 'Groepen van CIs',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Snelkoppelingen',
|
||||
'Menu:ConfigManagement:AllContacts' => 'Alle contacten: %1$d',
|
||||
'Menu:Typology' => 'Configuratie typologie',
|
||||
'Menu:Typology+' => 'Configuratie van de typologie',
|
||||
'Menu:OSVersion' => 'Versies besturingssysteem',
|
||||
'Menu:OSVersion+' => '',
|
||||
'Menu:Software' => 'Softwarecatalogus',
|
||||
'Menu:Software+' => 'Softwarecatalogus',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Samenvatting',
|
||||
'Menu:ConfigManagement:Typology' => 'Configuratie typologie',
|
||||
'Menu:Location+' => 'Alle locaties',
|
||||
'Menu:ConfigManagementCI' => 'Configuratie-items',
|
||||
'Menu:ConfigManagementCI+' => 'Configuratie-items',
|
||||
'Menu:BusinessProcess' => 'Bedrijfsprocessen',
|
||||
'Menu:BusinessProcess+' => 'Alle bedrijfsprocessen',
|
||||
'Menu:ApplicationSolution' => 'Applicatie-oplossing',
|
||||
'Menu:ApplicationSolution+' => 'Alle applicatie-oplossingen',
|
||||
'Menu:ConfigManagementSoftware' => 'Applicatiebeheer',
|
||||
'Menu:Licence' => 'Licenties',
|
||||
'Menu:Licence+' => 'Alle licenties',
|
||||
'Menu:Patch' => 'Patches',
|
||||
'Menu:Patch+' => 'Alle patches',
|
||||
'Menu:ApplicationInstance' => 'Geïnstalleerde software',
|
||||
'Menu:ApplicationInstance+' => 'Applicaties en databaseservers',
|
||||
'Menu:ConfigManagementHardware' => 'Infrastructuurbeheer',
|
||||
'Menu:Subnet' => 'Subnetten',
|
||||
'Menu:Subnet+' => 'Alle subnetten',
|
||||
'Menu:NetworkDevice' => 'Netwerkapparaten',
|
||||
'Menu:NetworkDevice+' => 'Alle netwerkapparaten',
|
||||
'Menu:Server' => 'Servers',
|
||||
'Menu:Server+' => 'Alle servers',
|
||||
'Menu:Printer' => 'Printers',
|
||||
'Menu:Printer+' => 'Alle printers',
|
||||
'Menu:MobilePhone' => 'Mobiele telefoons',
|
||||
'Menu:MobilePhone+' => 'Alle mobiele telefoons',
|
||||
'Menu:PC' => 'PC\'s',
|
||||
'Menu:PC+' => 'Alle PC\'s',
|
||||
'Menu:NewContact' => 'Nieuw contact',
|
||||
'Menu:NewContact+' => 'Maak een nieuw contact aan',
|
||||
'Menu:SearchContacts' => 'Zoek naar contacten',
|
||||
'Menu:SearchContacts+' => 'Zoek naar contacten',
|
||||
'Menu:NewCI' => 'Nieuw configuratie-item',
|
||||
'Menu:NewCI+' => 'Maak een nieuw configuratie-item aan',
|
||||
'Menu:SearchCIs' => 'Zoek naar CI\'s',
|
||||
'Menu:SearchCIs+' => 'Zoek naar configuratie-items',
|
||||
'Menu:ConfigManagement:Devices' => 'Apparaten',
|
||||
'Menu:ConfigManagement:AllDevices' => 'Infrastructuur',
|
||||
'Menu:ConfigManagement:virtualization' => 'Virtualisatie',
|
||||
'Menu:ConfigManagement:EndUsers' => 'Apparaten van eindgebruikers',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'Software en applicaties',
|
||||
'Menu:ConfigManagement:Misc' => 'Diversen',
|
||||
'Menu:Group' => 'Groepen van CIs',
|
||||
'Menu:Group+' => 'Groepen van CIs',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Snelkoppelingen',
|
||||
'Menu:ConfigManagement:AllContacts' => 'Alle contacten: %1$d',
|
||||
'Menu:Typology' => 'Configuratie typologie',
|
||||
'Menu:Typology+' => 'Configuratie van de typologie',
|
||||
'Menu:OSVersion' => 'Versies besturingssysteem',
|
||||
'Menu:OSVersion+' => '',
|
||||
'Menu:Software' => 'Softwarecatalogus',
|
||||
'Menu:Software+' => 'Softwarecatalogus',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Samenvatting',
|
||||
'Menu:ConfigManagement:Typology' => 'Configuratie typologie',
|
||||
|
||||
));
|
||||
|
||||
@@ -1896,18 +1896,18 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
|
||||
// Add translation for Fieldsets
|
||||
|
||||
Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
|
||||
'Server:baseinfo' => 'Globale informatie',
|
||||
'Server:Date' => 'Datum',
|
||||
'Server:moreinfo' => 'Meer informatie',
|
||||
'Server:otherinfo' => 'Andere informatie',
|
||||
'Server:power' => 'Stroomtoevoer',
|
||||
'Person:info' => 'Globale informatie',
|
||||
'Person:personal_info' => 'Persoonlijke informatie',
|
||||
'Person:notifiy' => 'Notificatie', // gecheckt: in datamodel.itop-config-mgmt.xml staat inderdaad ook een typfout, 'notifiy' is in die zin correct
|
||||
'Class:Subnet/Tab:IPUsage' => 'IP-gebruik',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => 'Interfaces met een IP-adres in de reeks: <em>%1$s</em> tot en met <em>%2$s</em>',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'Beschikbare IP-adressen',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'Beschikbare IP-adressen: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => 'Dit zijn 10 beschikbare IP-adressen',
|
||||
'Class:Document:PreviewTab' => 'Voorbeeld',
|
||||
'Server:baseinfo' => 'Globale informatie',
|
||||
'Server:Date' => 'Datum',
|
||||
'Server:moreinfo' => 'Meer informatie',
|
||||
'Server:otherinfo' => 'Andere informatie',
|
||||
'Server:power' => 'Stroomtoevoer',
|
||||
'Person:info' => 'Globale informatie',
|
||||
'Person:personal_info' => 'Persoonlijke informatie',
|
||||
'Person:notifiy' => 'Notificatie',
|
||||
'Class:Subnet/Tab:IPUsage' => 'IP-gebruik',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => 'Interfaces met een IP-adres in de reeks: <em>%1$s</em> tot en met <em>%2$s</em>',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'Beschikbare IP-adressen',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'Beschikbare IP-adressen: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => 'Dit zijn 10 beschikbare IP-adressen',
|
||||
'Class:Document:PreviewTab' => 'Voorbeeld',
|
||||
));
|
||||
|
||||
@@ -1801,88 +1801,88 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
|
||||
//
|
||||
|
||||
Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
|
||||
'Menu:DataAdministration' => 'Administração Dados',
|
||||
'Menu:DataAdministration+' => 'Administração Dados',
|
||||
'Menu:Catalogs' => 'Catálogos',
|
||||
'Menu:Catalogs+' => 'Tipos dados',
|
||||
'Menu:Audit' => 'Auditoria',
|
||||
'Menu:Audit+' => 'Auditoria',
|
||||
'Menu:CSVImport' => 'Importar CSV',
|
||||
'Menu:CSVImport+' => 'Criação ou atualização em massa',
|
||||
'Menu:Organization' => 'Organizações',
|
||||
'Menu:Organization+' => 'Todas organizações',
|
||||
'Menu:Application' => 'Applicações',
|
||||
'Menu:Application+' => 'Todas aplicações',
|
||||
'Menu:DBServer' => 'Serviços Banco de Dados',
|
||||
'Menu:DBServer+' => 'Serviços Banco de Dados',
|
||||
'Menu:ConfigManagement' => 'Gerenciamento Configurações',
|
||||
'Menu:ConfigManagement+' => 'Gerenciamento Configurações',
|
||||
'Menu:ConfigManagementOverview' => 'Visão geral',
|
||||
'Menu:ConfigManagementOverview+' => 'Visão geral',
|
||||
'Menu:Contact' => 'Contatos',
|
||||
'Menu:Contact+' => 'Contatos',
|
||||
'Menu:Contact:Count' => '%1$d contatos',
|
||||
'Menu:Person' => 'Pessoas',
|
||||
'Menu:Person+' => 'Todas pessoas',
|
||||
'Menu:Team' => 'Equipes',
|
||||
'Menu:Team+' => 'Todas equipes',
|
||||
'Menu:Document' => 'Documentos',
|
||||
'Menu:Document+' => 'Todos documentos',
|
||||
'Menu:Location' => 'Localidades',
|
||||
'Menu:DataAdministration' => 'Administração Dados',
|
||||
'Menu:DataAdministration+' => 'Administração Dados',
|
||||
'Menu:Catalogs' => 'Catálogos',
|
||||
'Menu:Catalogs+' => 'Tipos dados',
|
||||
'Menu:Audit' => 'Auditoria',
|
||||
'Menu:Audit+' => 'Auditoria',
|
||||
'Menu:CSVImport' => 'Importar CSV',
|
||||
'Menu:CSVImport+' => 'Criação ou atualização em massa',
|
||||
'Menu:Organization' => 'Organizações',
|
||||
'Menu:Organization+' => 'Todas organizações',
|
||||
'Menu:Application' => 'Applicações',
|
||||
'Menu:Application+' => 'Todas aplicações',
|
||||
'Menu:DBServer' => 'Serviços Banco de Dados',
|
||||
'Menu:DBServer+' => 'Serviços Banco de Dados',
|
||||
'Menu:ConfigManagement' => 'Gerenciamento Configurações',
|
||||
'Menu:ConfigManagement+' => 'Gerenciamento Configurações',
|
||||
'Menu:ConfigManagementOverview' => 'Visão geral',
|
||||
'Menu:ConfigManagementOverview+' => 'Visão geral',
|
||||
'Menu:Contact' => 'Contatos',
|
||||
'Menu:Contact+' => 'Contatos',
|
||||
'Menu:Contact:Count' => '%1$d contatos',
|
||||
'Menu:Person' => 'Pessoas',
|
||||
'Menu:Person+' => 'Todas pessoas',
|
||||
'Menu:Team' => 'Equipes',
|
||||
'Menu:Team+' => 'Todas equipes',
|
||||
'Menu:Document' => 'Documentos',
|
||||
'Menu:Document+' => 'Todos documentos',
|
||||
'Menu:Location' => 'Localidades',
|
||||
|
||||
'Menu:Location+' => 'Todas localidades',
|
||||
'Menu:ConfigManagementCI' => 'Itens de configuração',
|
||||
'Menu:ConfigManagementCI+' => 'Itens de configuração',
|
||||
'Menu:BusinessProcess' => 'Processos de negócios',
|
||||
'Menu:BusinessProcess+' => 'Todos processos de negócios',
|
||||
'Menu:ApplicationSolution' => 'Solução aplicação',
|
||||
'Menu:ApplicationSolution+' => 'Todas soluções aplicações',
|
||||
'Menu:ConfigManagementSoftware' => 'Gerenciamento aplicações',
|
||||
'Menu:Licence' => 'Licenças',
|
||||
'Menu:Licence+' => 'Todoas licenças',
|
||||
'Menu:Patch' => 'Patches',
|
||||
'Menu:Patch+' => 'Todos patches',
|
||||
'Menu:ApplicationInstance' => 'Software instalados',
|
||||
'Menu:ApplicationInstance+' => 'Serviços aplicações e Banco de dados',
|
||||
'Menu:ConfigManagementHardware' => 'Gerenciamento Infra-estrutura',
|
||||
'Menu:Subnet' => 'Sub-redes',
|
||||
'Menu:Subnet+' => 'Todas sub-redes',
|
||||
'Menu:NetworkDevice' => 'Dispositivos rede',
|
||||
'Menu:NetworkDevice+' => 'Todos dispositivos rede',
|
||||
'Menu:Server' => 'Servidores',
|
||||
'Menu:Server+' => 'Todos servidores',
|
||||
'Menu:Printer' => 'Impressoras',
|
||||
'Menu:Printer+' => 'Todas impressoras',
|
||||
'Menu:MobilePhone' => 'Telefone celulares',
|
||||
'Menu:MobilePhone+' => 'Todos telefone celulares',
|
||||
'Menu:PC' => 'Estação de trabalho',
|
||||
'Menu:PC+' => 'Todas estação de trabalho',
|
||||
'Menu:NewContact' => 'Novo contato',
|
||||
'Menu:NewContact+' => 'Novo contato',
|
||||
'Menu:SearchContacts' => 'Pesquisar por contatos',
|
||||
'Menu:SearchContacts+' => 'Pesquisar por contatos',
|
||||
'Menu:NewCI' => 'Novo CI',
|
||||
'Menu:NewCI+' => 'Novo CI',
|
||||
'Menu:SearchCIs' => 'Pesquisar por CIs',
|
||||
'Menu:SearchCIs+' => 'Pesquisar por CIs',
|
||||
'Menu:ConfigManagement:Devices' => 'Dispositivos',
|
||||
'Menu:ConfigManagement:AllDevices' => 'Infra-estrutura',
|
||||
'Menu:ConfigManagement:virtualization' => 'Virtualização',
|
||||
'Menu:ConfigManagement:EndUsers' => 'Dispositivos usuário final',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'Software e aplicações',
|
||||
'Menu:ConfigManagement:Misc' => 'Diversos',
|
||||
'Menu:Group' => 'Grupos de CIs',
|
||||
'Menu:Group+' => 'Grupos de CIs',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Atalhos',
|
||||
'Menu:ConfigManagement:AllContacts' => 'Todos contatos: %1$d',
|
||||
'Menu:Typology' => 'Configuração tipologia',
|
||||
'Menu:Typology+' => 'Configuração tipologia',
|
||||
'Menu:OSVersion' => 'Versão OS',
|
||||
'Menu:OSVersion+' => '',
|
||||
'Menu:Software' => 'Catálogo software',
|
||||
'Menu:Software+' => 'Catálogo software',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Índice',
|
||||
'Menu:ConfigManagement:Typology' => 'Configuração tipologia',
|
||||
'Menu:Location+' => 'Todas localidades',
|
||||
'Menu:ConfigManagementCI' => 'Itens de configuração',
|
||||
'Menu:ConfigManagementCI+' => 'Itens de configuração',
|
||||
'Menu:BusinessProcess' => 'Processos de negócios',
|
||||
'Menu:BusinessProcess+' => 'Todos processos de negócios',
|
||||
'Menu:ApplicationSolution' => 'Solução aplicação',
|
||||
'Menu:ApplicationSolution+' => 'Todas soluções aplicações',
|
||||
'Menu:ConfigManagementSoftware' => 'Gerenciamento aplicações',
|
||||
'Menu:Licence' => 'Licenças',
|
||||
'Menu:Licence+' => 'Todoas licenças',
|
||||
'Menu:Patch' => 'Patches',
|
||||
'Menu:Patch+' => 'Todos patches',
|
||||
'Menu:ApplicationInstance' => 'Software instalados',
|
||||
'Menu:ApplicationInstance+' => 'Serviços aplicações e Banco de dados',
|
||||
'Menu:ConfigManagementHardware' => 'Gerenciamento Infra-estrutura',
|
||||
'Menu:Subnet' => 'Sub-redes',
|
||||
'Menu:Subnet+' => 'Todas sub-redes',
|
||||
'Menu:NetworkDevice' => 'Dispositivos rede',
|
||||
'Menu:NetworkDevice+' => 'Todos dispositivos rede',
|
||||
'Menu:Server' => 'Servidores',
|
||||
'Menu:Server+' => 'Todos servidores',
|
||||
'Menu:Printer' => 'Impressoras',
|
||||
'Menu:Printer+' => 'Todas impressoras',
|
||||
'Menu:MobilePhone' => 'Telefone celulares',
|
||||
'Menu:MobilePhone+' => 'Todos telefone celulares',
|
||||
'Menu:PC' => 'Estação de trabalho',
|
||||
'Menu:PC+' => 'Todas estação de trabalho',
|
||||
'Menu:NewContact' => 'Novo contato',
|
||||
'Menu:NewContact+' => 'Novo contato',
|
||||
'Menu:SearchContacts' => 'Pesquisar por contatos',
|
||||
'Menu:SearchContacts+' => 'Pesquisar por contatos',
|
||||
'Menu:NewCI' => 'Novo CI',
|
||||
'Menu:NewCI+' => 'Novo CI',
|
||||
'Menu:SearchCIs' => 'Pesquisar por CIs',
|
||||
'Menu:SearchCIs+' => 'Pesquisar por CIs',
|
||||
'Menu:ConfigManagement:Devices' => 'Dispositivos',
|
||||
'Menu:ConfigManagement:AllDevices' => 'Infra-estrutura',
|
||||
'Menu:ConfigManagement:virtualization' => 'Virtualização',
|
||||
'Menu:ConfigManagement:EndUsers' => 'Dispositivos usuário final',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'Software e aplicações',
|
||||
'Menu:ConfigManagement:Misc' => 'Diversos',
|
||||
'Menu:Group' => 'Grupos de CIs',
|
||||
'Menu:Group+' => 'Grupos de CIs',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Atalhos',
|
||||
'Menu:ConfigManagement:AllContacts' => 'Todos contatos: %1$d',
|
||||
'Menu:Typology' => 'Configuração tipologia',
|
||||
'Menu:Typology+' => 'Configuração tipologia',
|
||||
'Menu:OSVersion' => 'Versão OS',
|
||||
'Menu:OSVersion+' => '',
|
||||
'Menu:Software' => 'Catálogo software',
|
||||
'Menu:Software+' => 'Catálogo software',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Índice',
|
||||
'Menu:ConfigManagement:Typology' => 'Configuração tipologia',
|
||||
|
||||
));
|
||||
|
||||
@@ -1890,18 +1890,18 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
|
||||
// Add translation for Fieldsets
|
||||
|
||||
Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
|
||||
'Server:baseinfo' => 'Informações gerais',
|
||||
'Server:Date' => 'Data',
|
||||
'Server:moreinfo' => 'Mais informações',
|
||||
'Server:otherinfo' => 'Outras informações',
|
||||
'Server:power' => 'Power supply~~',
|
||||
'Person:info' => 'Informações gerais',
|
||||
'Person:personal_info' => 'Personal information~~',
|
||||
'Person:notifiy' => 'Notificação',
|
||||
'Class:Subnet/Tab:IPUsage' => 'IP usado',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => 'Placas de rede contendo IP na faixa: <em>%1$s</em> para <em>%2$s</em>',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'IPs livres',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'IPs livres: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => 'Aqui uma faixa de 10 endereços IPs livres',
|
||||
'Class:Document:PreviewTab' => 'Visualização',
|
||||
'Server:baseinfo' => 'Informações gerais',
|
||||
'Server:Date' => 'Data',
|
||||
'Server:moreinfo' => 'Mais informações',
|
||||
'Server:otherinfo' => 'Outras informações',
|
||||
'Server:power' => 'Power supply~~',
|
||||
'Person:info' => 'Informações gerais',
|
||||
'Person:personal_info' => 'Personal information~~',
|
||||
'Person:notifiy' => 'Notificação',
|
||||
'Class:Subnet/Tab:IPUsage' => 'IP usado',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => 'Placas de rede contendo IP na faixa: <em>%1$s</em> para <em>%2$s</em>',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'IPs livres',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'IPs livres: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => 'Aqui uma faixa de 10 endereços IPs livres',
|
||||
'Class:Document:PreviewTab' => 'Visualização',
|
||||
));
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* @author Vladimir Kunin <v.b.kunin@gmail.com>
|
||||
* @link http://community.itop-itsm.ru iTop Russian Community
|
||||
* @link https://github.com/itop-itsm-ru/itop-rus
|
||||
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
*/
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
@@ -1788,88 +1788,88 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
//
|
||||
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
'Menu:DataAdministration' => 'Администрирование данных',
|
||||
'Menu:DataAdministration+' => 'Администрирование данных',
|
||||
'Menu:Catalogs' => 'Каталоги',
|
||||
'Menu:Catalogs+' => 'Каталоги',
|
||||
'Menu:Audit' => 'Аудит',
|
||||
'Menu:Audit+' => 'Аудит',
|
||||
'Menu:CSVImport' => 'Импорт CSV',
|
||||
'Menu:CSVImport+' => 'Массовое создание или обновление объектов',
|
||||
'Menu:Organization' => 'Организации',
|
||||
'Menu:Organization+' => 'Все организации',
|
||||
'Menu:Application' => 'Приложения',
|
||||
'Menu:Application+' => 'Все приложения',
|
||||
'Menu:DBServer' => 'Серверы баз данных',
|
||||
'Menu:DBServer+' => 'Серверы баз данных',
|
||||
'Menu:ConfigManagement' => 'Управление конфигурациями',
|
||||
'Menu:ConfigManagement+' => 'Управление конфигурациями',
|
||||
'Menu:ConfigManagementOverview' => 'Обзор',
|
||||
'Menu:ConfigManagementOverview+' => 'Обзор',
|
||||
'Menu:Contact' => 'Контакты',
|
||||
'Menu:Contact+' => 'Контакты',
|
||||
'Menu:Contact:Count' => '%1$d Контактов',
|
||||
'Menu:Person' => 'Персоны',
|
||||
'Menu:Person+' => 'Все персоны',
|
||||
'Menu:Team' => 'Команды',
|
||||
'Menu:Team+' => 'Все команды',
|
||||
'Menu:Document' => 'Документы',
|
||||
'Menu:Document+' => 'Все документы',
|
||||
'Menu:Location' => 'Расположения',
|
||||
'Menu:DataAdministration' => 'Администрирование данных',
|
||||
'Menu:DataAdministration+' => 'Администрирование данных',
|
||||
'Menu:Catalogs' => 'Каталоги',
|
||||
'Menu:Catalogs+' => 'Каталоги',
|
||||
'Menu:Audit' => 'Аудит',
|
||||
'Menu:Audit+' => 'Аудит',
|
||||
'Menu:CSVImport' => 'Импорт CSV',
|
||||
'Menu:CSVImport+' => 'Массовое создание или обновление объектов',
|
||||
'Menu:Organization' => 'Организации',
|
||||
'Menu:Organization+' => 'Все организации',
|
||||
'Menu:Application' => 'Приложения',
|
||||
'Menu:Application+' => 'Все приложения',
|
||||
'Menu:DBServer' => 'Серверы баз данных',
|
||||
'Menu:DBServer+' => 'Серверы баз данных',
|
||||
'Menu:ConfigManagement' => 'Управление конфигурациями',
|
||||
'Menu:ConfigManagement+' => 'Управление конфигурациями',
|
||||
'Menu:ConfigManagementOverview' => 'Обзор',
|
||||
'Menu:ConfigManagementOverview+' => 'Обзор',
|
||||
'Menu:Contact' => 'Контакты',
|
||||
'Menu:Contact+' => 'Контакты',
|
||||
'Menu:Contact:Count' => '%1$d Контактов',
|
||||
'Menu:Person' => 'Персоны',
|
||||
'Menu:Person+' => 'Все персоны',
|
||||
'Menu:Team' => 'Команды',
|
||||
'Menu:Team+' => 'Все команды',
|
||||
'Menu:Document' => 'Документы',
|
||||
'Menu:Document+' => 'Все документы',
|
||||
'Menu:Location' => 'Расположения',
|
||||
|
||||
'Menu:Location+' => 'Все расположения',
|
||||
'Menu:ConfigManagementCI' => 'Конфигурационные единицы',
|
||||
'Menu:ConfigManagementCI+' => 'Конфигурационные единицы',
|
||||
'Menu:BusinessProcess' => 'Бизнес-процессы',
|
||||
'Menu:BusinessProcess+' => 'Все бизнес-процессы',
|
||||
'Menu:ApplicationSolution' => 'Прикладные решения',
|
||||
'Menu:ApplicationSolution+' => 'Все прикладные решения',
|
||||
'Menu:ConfigManagementSoftware' => 'Управление программным обеспечением',
|
||||
'Menu:Licence' => 'Лицензии',
|
||||
'Menu:Licence+' => 'Все лицензии',
|
||||
'Menu:Patch' => 'Патчи',
|
||||
'Menu:Patch+' => 'Все патчи',
|
||||
'Menu:ApplicationInstance' => 'Установленное ПО',
|
||||
'Menu:ApplicationInstance+' => 'Приложения и сервера БД',
|
||||
'Menu:ConfigManagementHardware' => 'Управление инфраструктурой',
|
||||
'Menu:Subnet' => 'Подсети',
|
||||
'Menu:Subnet+' => 'Все подсети',
|
||||
'Menu:NetworkDevice' => 'Сетевые устройства',
|
||||
'Menu:NetworkDevice+' => 'Все сетевые устройства',
|
||||
'Menu:Server' => 'Серверы',
|
||||
'Menu:Server+' => 'Все серверы',
|
||||
'Menu:Printer' => 'Принтеры',
|
||||
'Menu:Printer+' => 'Все принтеры',
|
||||
'Menu:MobilePhone' => 'Мобильные телефоны',
|
||||
'Menu:MobilePhone+' => 'Все мобильные телефоны',
|
||||
'Menu:PC' => 'Персональные компьютеры',
|
||||
'Menu:PC+' => 'Все ПК',
|
||||
'Menu:NewContact' => 'Новый контакт',
|
||||
'Menu:NewContact+' => 'Новый контакт',
|
||||
'Menu:SearchContacts' => 'Поиск контактов',
|
||||
'Menu:SearchContacts+' => 'Поиск контактов',
|
||||
'Menu:NewCI' => 'Новая КЕ',
|
||||
'Menu:NewCI+' => 'Новая КЕ',
|
||||
'Menu:SearchCIs' => 'Поиск КЕ',
|
||||
'Menu:SearchCIs+' => 'Поиск КЕ',
|
||||
'Menu:ConfigManagement:Devices' => 'Устройства',
|
||||
'Menu:ConfigManagement:AllDevices' => 'Все устройства',
|
||||
'Menu:ConfigManagement:virtualization' => 'Виртуализация',
|
||||
'Menu:ConfigManagement:EndUsers' => 'Пользовательские устройства',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'Программное обеспечение и приложения',
|
||||
'Menu:ConfigManagement:Misc' => 'Разное',
|
||||
'Menu:Group' => 'Группы КЕ',
|
||||
'Menu:Group+' => 'Группы КЕ',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Ярлыки',
|
||||
'Menu:ConfigManagement:AllContacts' => 'Все контакты: %1$d',
|
||||
'Menu:Typology' => 'Типология',
|
||||
'Menu:Typology+' => 'Типология',
|
||||
'Menu:OSVersion' => 'Версия ОС',
|
||||
'Menu:OSVersion+' => 'Версия ОС',
|
||||
'Menu:Software' => 'Каталог ПО',
|
||||
'Menu:Software+' => 'Каталог ПО',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Все конфигурационные единицы',
|
||||
'Menu:ConfigManagement:Typology' => 'Настройка типологии',
|
||||
'Menu:Location+' => 'Все расположения',
|
||||
'Menu:ConfigManagementCI' => 'Конфигурационные единицы',
|
||||
'Menu:ConfigManagementCI+' => 'Конфигурационные единицы',
|
||||
'Menu:BusinessProcess' => 'Бизнес-процессы',
|
||||
'Menu:BusinessProcess+' => 'Все бизнес-процессы',
|
||||
'Menu:ApplicationSolution' => 'Прикладные решения',
|
||||
'Menu:ApplicationSolution+' => 'Все прикладные решения',
|
||||
'Menu:ConfigManagementSoftware' => 'Управление программным обеспечением',
|
||||
'Menu:Licence' => 'Лицензии',
|
||||
'Menu:Licence+' => 'Все лицензии',
|
||||
'Menu:Patch' => 'Патчи',
|
||||
'Menu:Patch+' => 'Все патчи',
|
||||
'Menu:ApplicationInstance' => 'Установленное ПО',
|
||||
'Menu:ApplicationInstance+' => 'Приложения и сервера БД',
|
||||
'Menu:ConfigManagementHardware' => 'Управление инфраструктурой',
|
||||
'Menu:Subnet' => 'Подсети',
|
||||
'Menu:Subnet+' => 'Все подсети',
|
||||
'Menu:NetworkDevice' => 'Сетевые устройства',
|
||||
'Menu:NetworkDevice+' => 'Все сетевые устройства',
|
||||
'Menu:Server' => 'Серверы',
|
||||
'Menu:Server+' => 'Все серверы',
|
||||
'Menu:Printer' => 'Принтеры',
|
||||
'Menu:Printer+' => 'Все принтеры',
|
||||
'Menu:MobilePhone' => 'Мобильные телефоны',
|
||||
'Menu:MobilePhone+' => 'Все мобильные телефоны',
|
||||
'Menu:PC' => 'Персональные компьютеры',
|
||||
'Menu:PC+' => 'Все ПК',
|
||||
'Menu:NewContact' => 'Новый контакт',
|
||||
'Menu:NewContact+' => 'Новый контакт',
|
||||
'Menu:SearchContacts' => 'Поиск контактов',
|
||||
'Menu:SearchContacts+' => 'Поиск контактов',
|
||||
'Menu:NewCI' => 'Новая КЕ',
|
||||
'Menu:NewCI+' => 'Новая КЕ',
|
||||
'Menu:SearchCIs' => 'Поиск КЕ',
|
||||
'Menu:SearchCIs+' => 'Поиск КЕ',
|
||||
'Menu:ConfigManagement:Devices' => 'Устройства',
|
||||
'Menu:ConfigManagement:AllDevices' => 'Все устройства',
|
||||
'Menu:ConfigManagement:virtualization' => 'Виртуализация',
|
||||
'Menu:ConfigManagement:EndUsers' => 'Пользовательские устройства',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'Программное обеспечение и приложения',
|
||||
'Menu:ConfigManagement:Misc' => 'Разное',
|
||||
'Menu:Group' => 'Группы КЕ',
|
||||
'Menu:Group+' => 'Группы КЕ',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Ярлыки',
|
||||
'Menu:ConfigManagement:AllContacts' => 'Все контакты: %1$d',
|
||||
'Menu:Typology' => 'Типология',
|
||||
'Menu:Typology+' => 'Типология',
|
||||
'Menu:OSVersion' => 'Версия ОС',
|
||||
'Menu:OSVersion+' => 'Версия ОС',
|
||||
'Menu:Software' => 'Каталог ПО',
|
||||
'Menu:Software+' => 'Каталог ПО',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Все конфигурационные единицы',
|
||||
'Menu:ConfigManagement:Typology' => 'Настройка типологии',
|
||||
|
||||
));
|
||||
|
||||
@@ -1877,18 +1877,18 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
// Add translation for Fieldsets
|
||||
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
'Server:baseinfo' => 'Основное',
|
||||
'Server:Date' => 'Даты',
|
||||
'Server:moreinfo' => 'Спецификация',
|
||||
'Server:otherinfo' => 'Дополнительно',
|
||||
'Server:power' => 'Электропитание',
|
||||
'Person:info' => 'Основное',
|
||||
'Person:personal_info' => 'Персональная информация',
|
||||
'Person:notifiy' => 'Уведомления',
|
||||
'Class:Subnet/Tab:IPUsage' => 'Использование IP-адресов',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => 'Интерфейсы с IP-адресом в диапазоне: <em>%1$s</em> - <em>%2$s</em>',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'Свободные IP-адреса',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'Свободных IP-адресов: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => 'Вот выборка из 10 свободных IP-адресов',
|
||||
'Class:Document:PreviewTab' => 'Просмотр',
|
||||
'Server:baseinfo' => 'Основное',
|
||||
'Server:Date' => 'Даты',
|
||||
'Server:moreinfo' => 'Спецификация',
|
||||
'Server:otherinfo' => 'Дополнительно',
|
||||
'Server:power' => 'Электропитание',
|
||||
'Person:info' => 'Основное',
|
||||
'Person:personal_info' => 'Персональная информация',
|
||||
'Person:notifiy' => 'Уведомления',
|
||||
'Class:Subnet/Tab:IPUsage' => 'Использование IP-адресов',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => 'Интерфейсы с IP-адресом в диапазоне: <em>%1$s</em> - <em>%2$s</em>',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'Свободные IP-адреса',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'Свободных IP-адресов: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => 'Вот выборка из 10 свободных IP-адресов',
|
||||
'Class:Document:PreviewTab' => 'Просмотр',
|
||||
));
|
||||
|
||||
@@ -1802,88 +1802,88 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
|
||||
//
|
||||
|
||||
Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
|
||||
'Menu:DataAdministration' => 'Veri Yönetimi',
|
||||
'Menu:DataAdministration+' => 'Veri Yönetimi',
|
||||
'Menu:Catalogs' => 'Kataloglar',
|
||||
'Menu:Catalogs+' => 'Veri tipleri',
|
||||
'Menu:Audit' => 'Denetleme',
|
||||
'Menu:Audit+' => 'Denetleme',
|
||||
'Menu:CSVImport' => 'CSV dışardan al',
|
||||
'Menu:CSVImport+' => 'Çoklu yaratım veya güncelleme',
|
||||
'Menu:Organization' => 'Kurumlar',
|
||||
'Menu:Organization+' => 'Tüm Kurumlar',
|
||||
'Menu:Application' => 'Uygulamalar',
|
||||
'Menu:Application+' => 'Tüm Uygulamalar',
|
||||
'Menu:DBServer' => 'Veritabanı sunucuları',
|
||||
'Menu:DBServer+' => 'Veritabanı sunucuları',
|
||||
'Menu:ConfigManagement' => 'Konfigürasyon Yönetimi',
|
||||
'Menu:ConfigManagement+' => 'Konfigürasyon Yönetimi',
|
||||
'Menu:ConfigManagementOverview' => 'Özet',
|
||||
'Menu:ConfigManagementOverview+' => 'Özet',
|
||||
'Menu:Contact' => 'İrtibatlar',
|
||||
'Menu:Contact+' => 'İrtibatlar',
|
||||
'Menu:Contact:Count' => '%1$d',
|
||||
'Menu:Person' => 'Kişiler',
|
||||
'Menu:Person+' => 'Tüm Kişiler',
|
||||
'Menu:Team' => 'Ekipler',
|
||||
'Menu:Team+' => 'Tüm ekipler',
|
||||
'Menu:Document' => 'Dokümanlar',
|
||||
'Menu:Document+' => 'Tüm dokümanlar',
|
||||
'Menu:Location' => 'Yerleşkeler',
|
||||
'Menu:DataAdministration' => 'Veri Yönetimi',
|
||||
'Menu:DataAdministration+' => 'Veri Yönetimi',
|
||||
'Menu:Catalogs' => 'Kataloglar',
|
||||
'Menu:Catalogs+' => 'Veri tipleri',
|
||||
'Menu:Audit' => 'Denetleme',
|
||||
'Menu:Audit+' => 'Denetleme',
|
||||
'Menu:CSVImport' => 'CSV dışardan al',
|
||||
'Menu:CSVImport+' => 'Çoklu yaratım veya güncelleme',
|
||||
'Menu:Organization' => 'Kurumlar',
|
||||
'Menu:Organization+' => 'Tüm Kurumlar',
|
||||
'Menu:Application' => 'Uygulamalar',
|
||||
'Menu:Application+' => 'Tüm Uygulamalar',
|
||||
'Menu:DBServer' => 'Veritabanı sunucuları',
|
||||
'Menu:DBServer+' => 'Veritabanı sunucuları',
|
||||
'Menu:ConfigManagement' => 'Konfigürasyon Yönetimi',
|
||||
'Menu:ConfigManagement+' => 'Konfigürasyon Yönetimi',
|
||||
'Menu:ConfigManagementOverview' => 'Özet',
|
||||
'Menu:ConfigManagementOverview+' => 'Özet',
|
||||
'Menu:Contact' => 'İrtibatlar',
|
||||
'Menu:Contact+' => 'İrtibatlar',
|
||||
'Menu:Contact:Count' => '%1$d',
|
||||
'Menu:Person' => 'Kişiler',
|
||||
'Menu:Person+' => 'Tüm Kişiler',
|
||||
'Menu:Team' => 'Ekipler',
|
||||
'Menu:Team+' => 'Tüm ekipler',
|
||||
'Menu:Document' => 'Dokümanlar',
|
||||
'Menu:Document+' => 'Tüm dokümanlar',
|
||||
'Menu:Location' => 'Yerleşkeler',
|
||||
|
||||
'Menu:Location+' => 'Tüm Yerleşkeler',
|
||||
'Menu:ConfigManagementCI' => 'Konfigürasyon Kalemleri',
|
||||
'Menu:ConfigManagementCI+' => 'Konfigürasyon Kalemleri',
|
||||
'Menu:BusinessProcess' => 'İş süreçleri',
|
||||
'Menu:BusinessProcess+' => 'Tüm İş süreçleri',
|
||||
'Menu:ApplicationSolution' => 'Uygulama çözümleri',
|
||||
'Menu:ApplicationSolution+' => 'Tüm Uygulama çözümleri',
|
||||
'Menu:ConfigManagementSoftware' => 'Uygulama Yönetimi',
|
||||
'Menu:Licence' => 'Lisanslar',
|
||||
'Menu:Licence+' => 'Tüm Lisanslar',
|
||||
'Menu:Patch' => 'Yamalar',
|
||||
'Menu:Patch+' => 'Tüm Yamalar',
|
||||
'Menu:ApplicationInstance' => 'Yüklenen yazılımlar',
|
||||
'Menu:ApplicationInstance+' => 'Uygulama ve Veritabanı sunucuları',
|
||||
'Menu:ConfigManagementHardware' => 'Altyapı Yönetimi',
|
||||
'Menu:Subnet' => 'Subnets',
|
||||
'Menu:Subnet+' => 'All Subnets',
|
||||
'Menu:NetworkDevice' => 'Network cihazları',
|
||||
'Menu:NetworkDevice+' => 'Tüm Network cihazları',
|
||||
'Menu:Server' => 'Sunucular',
|
||||
'Menu:Server+' => 'Tüm Sunucular',
|
||||
'Menu:Printer' => 'Yazıcılar',
|
||||
'Menu:Printer+' => 'Tüm Yazıcılar',
|
||||
'Menu:MobilePhone' => 'Cep Telefonları',
|
||||
'Menu:MobilePhone+' => 'Tüm Cep Telefonları',
|
||||
'Menu:PC' => 'Kişisel Bilgisayarlar',
|
||||
'Menu:PC+' => 'Tüm Kişisel Bilgisayarlar',
|
||||
'Menu:NewContact' => 'Yeni İrtibat',
|
||||
'Menu:NewContact+' => 'Yeni İrtibat',
|
||||
'Menu:SearchContacts' => 'İrtibat ara',
|
||||
'Menu:SearchContacts+' => 'İrtibat ara',
|
||||
'Menu:NewCI' => 'Yeni KK',
|
||||
'Menu:NewCI+' => 'Yeni KK',
|
||||
'Menu:SearchCIs' => 'KK ara',
|
||||
'Menu:SearchCIs+' => 'KK ara',
|
||||
'Menu:ConfigManagement:Devices' => 'Cihazlar',
|
||||
'Menu:ConfigManagement:AllDevices' => 'Altyapı',
|
||||
'Menu:ConfigManagement:virtualization' => 'Virtualization~~',
|
||||
'Menu:ConfigManagement:EndUsers' => 'End user devices~~',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'Yazılım ve uygulamalar',
|
||||
'Menu:ConfigManagement:Misc' => 'Diğer',
|
||||
'Menu:Group' => 'KK Grupları',
|
||||
'Menu:Group+' => 'KK Grupları',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Kısalyollar',
|
||||
'Menu:ConfigManagement:AllContacts' => 'Tüm irtibatlar: %1$d',
|
||||
'Menu:Typology' => 'Typology configuration~~',
|
||||
'Menu:Typology+' => 'Typology configuration~~',
|
||||
'Menu:OSVersion' => 'OS versions~~',
|
||||
'Menu:OSVersion+' => '~~',
|
||||
'Menu:Software' => 'Software catalog~~',
|
||||
'Menu:Software+' => 'Software catalog~~',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Summary~~',
|
||||
'Menu:ConfigManagement:Typology' => 'Typology configuration~~',
|
||||
'Menu:Location+' => 'Tüm Yerleşkeler',
|
||||
'Menu:ConfigManagementCI' => 'Konfigürasyon Kalemleri',
|
||||
'Menu:ConfigManagementCI+' => 'Konfigürasyon Kalemleri',
|
||||
'Menu:BusinessProcess' => 'İş süreçleri',
|
||||
'Menu:BusinessProcess+' => 'Tüm İş süreçleri',
|
||||
'Menu:ApplicationSolution' => 'Uygulama çözümleri',
|
||||
'Menu:ApplicationSolution+' => 'Tüm Uygulama çözümleri',
|
||||
'Menu:ConfigManagementSoftware' => 'Uygulama Yönetimi',
|
||||
'Menu:Licence' => 'Lisanslar',
|
||||
'Menu:Licence+' => 'Tüm Lisanslar',
|
||||
'Menu:Patch' => 'Yamalar',
|
||||
'Menu:Patch+' => 'Tüm Yamalar',
|
||||
'Menu:ApplicationInstance' => 'Yüklenen yazılımlar',
|
||||
'Menu:ApplicationInstance+' => 'Uygulama ve Veritabanı sunucuları',
|
||||
'Menu:ConfigManagementHardware' => 'Altyapı Yönetimi',
|
||||
'Menu:Subnet' => 'Subnets',
|
||||
'Menu:Subnet+' => 'All Subnets',
|
||||
'Menu:NetworkDevice' => 'Network cihazları',
|
||||
'Menu:NetworkDevice+' => 'Tüm Network cihazları',
|
||||
'Menu:Server' => 'Sunucular',
|
||||
'Menu:Server+' => 'Tüm Sunucular',
|
||||
'Menu:Printer' => 'Yazıcılar',
|
||||
'Menu:Printer+' => 'Tüm Yazıcılar',
|
||||
'Menu:MobilePhone' => 'Cep Telefonları',
|
||||
'Menu:MobilePhone+' => 'Tüm Cep Telefonları',
|
||||
'Menu:PC' => 'Kişisel Bilgisayarlar',
|
||||
'Menu:PC+' => 'Tüm Kişisel Bilgisayarlar',
|
||||
'Menu:NewContact' => 'Yeni İrtibat',
|
||||
'Menu:NewContact+' => 'Yeni İrtibat',
|
||||
'Menu:SearchContacts' => 'İrtibat ara',
|
||||
'Menu:SearchContacts+' => 'İrtibat ara',
|
||||
'Menu:NewCI' => 'Yeni KK',
|
||||
'Menu:NewCI+' => 'Yeni KK',
|
||||
'Menu:SearchCIs' => 'KK ara',
|
||||
'Menu:SearchCIs+' => 'KK ara',
|
||||
'Menu:ConfigManagement:Devices' => 'Cihazlar',
|
||||
'Menu:ConfigManagement:AllDevices' => 'Altyapı',
|
||||
'Menu:ConfigManagement:virtualization' => 'Virtualization~~',
|
||||
'Menu:ConfigManagement:EndUsers' => 'End user devices~~',
|
||||
'Menu:ConfigManagement:SWAndApps' => 'Yazılım ve uygulamalar',
|
||||
'Menu:ConfigManagement:Misc' => 'Diğer',
|
||||
'Menu:Group' => 'KK Grupları',
|
||||
'Menu:Group+' => 'KK Grupları',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Kısalyollar',
|
||||
'Menu:ConfigManagement:AllContacts' => 'Tüm irtibatlar: %1$d',
|
||||
'Menu:Typology' => 'Typology configuration~~',
|
||||
'Menu:Typology+' => 'Typology configuration~~',
|
||||
'Menu:OSVersion' => 'OS versions~~',
|
||||
'Menu:OSVersion+' => '~~',
|
||||
'Menu:Software' => 'Software catalog~~',
|
||||
'Menu:Software+' => 'Software catalog~~',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Summary~~',
|
||||
'Menu:ConfigManagement:Typology' => 'Typology configuration~~',
|
||||
|
||||
));
|
||||
|
||||
@@ -1891,18 +1891,18 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
|
||||
// Add translation for Fieldsets
|
||||
|
||||
Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
|
||||
'Server:baseinfo' => 'General information~~',
|
||||
'Server:Date' => 'Dates~~',
|
||||
'Server:moreinfo' => 'More information~~',
|
||||
'Server:otherinfo' => 'Other information~~',
|
||||
'Server:power' => 'Power supply~~',
|
||||
'Person:info' => 'General information~~',
|
||||
'Person:personal_info' => 'Personal information~~',
|
||||
'Person:notifiy' => 'Notification~~',
|
||||
'Class:Subnet/Tab:IPUsage' => 'IP Kullanımı',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => '<em>%1$s</em> - <em>%2$s</em> aralığındaki IPye sahip arayüzler',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'Boş IPler',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'Boş IPler: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => 'Boş IP adresleri',
|
||||
'Class:Document:PreviewTab' => 'Ön görünüm',
|
||||
'Server:baseinfo' => 'General information~~',
|
||||
'Server:Date' => 'Dates~~',
|
||||
'Server:moreinfo' => 'More information~~',
|
||||
'Server:otherinfo' => 'Other information~~',
|
||||
'Server:power' => 'Power supply~~',
|
||||
'Person:info' => 'General information~~',
|
||||
'Person:personal_info' => 'Personal information~~',
|
||||
'Person:notifiy' => 'Notification~~',
|
||||
'Class:Subnet/Tab:IPUsage' => 'IP Kullanımı',
|
||||
'Class:Subnet/Tab:IPUsage-explain' => '<em>%1$s</em> - <em>%2$s</em> aralığındaki IPye sahip arayüzler',
|
||||
'Class:Subnet/Tab:FreeIPs' => 'Boş IPler',
|
||||
'Class:Subnet/Tab:FreeIPs-count' => 'Boş IPler: %1$s',
|
||||
'Class:Subnet/Tab:FreeIPs-explain' => 'Boş IP adresleri',
|
||||
'Class:Document:PreviewTab' => 'Ön görünüm',
|
||||
));
|
||||
|
||||
@@ -20,12 +20,10 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Relations
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
'Relation:impacts/Description' => '被影响的元素',
|
||||
'Relation:impacts/DownStream' => '影响...',
|
||||
@@ -1576,8 +1574,8 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
'Class:IPInterface+' => '',
|
||||
'Class:IPInterface/Attribute:ipaddress' => 'IP 地址',
|
||||
'Class:IPInterface/Attribute:ipaddress+' => '',
|
||||
|
||||
|
||||
|
||||
|
||||
'Class:IPInterface/Attribute:macaddress' => 'MAC 地址',
|
||||
'Class:IPInterface/Attribute:macaddress+' => '',
|
||||
'Class:IPInterface/Attribute:comment' => '注释',
|
||||
|
||||
@@ -74,6 +74,21 @@ function TestConfig($sContents, $oP)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $sSafeContent
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function DBPasswordInNewConfigIsOk($sSafeContent)
|
||||
{
|
||||
$bIsWindows = (array_key_exists('WINDIR', $_SERVER) || array_key_exists('windir', $_SERVER));
|
||||
|
||||
if ($bIsWindows && (preg_match("@'db_pwd' => '[^%!\"]+',@U", $sSafeContent) === 0))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
// Main program
|
||||
@@ -94,6 +109,7 @@ $oP->add_linked_script(utils::GetCurrentModuleUrl().'/js/ext-searchbox.js');
|
||||
try
|
||||
{
|
||||
$sOperation = utils::ReadParam('operation', '');
|
||||
$iEditorTopMargin = 0;
|
||||
|
||||
$oP->add("<h1>".Dict::S('config-edit-title')."</h1>");
|
||||
|
||||
@@ -109,15 +125,15 @@ try
|
||||
{
|
||||
$sConfigFile = APPROOT.'conf/'.utils::GetCurrentEnvironment().'/config-itop.php';
|
||||
|
||||
$iEditorTopMargin = 9;
|
||||
$iEditorTopMargin += 9;
|
||||
$sConfig = str_replace("\r\n", "\n", file_get_contents($sConfigFile));
|
||||
$sOrginalConfig = $sConfig;
|
||||
$sOriginalConfig = $sConfig;
|
||||
|
||||
if (!empty($sOperation))
|
||||
{
|
||||
$iEditorTopMargin = 14;
|
||||
$iEditorTopMargin += 5;
|
||||
$sConfig = utils::ReadParam('new_config', '', false, 'raw_data');
|
||||
$sOrginalConfig = utils::ReadParam('prev_config', '', false, 'raw_data');
|
||||
$sOriginalConfig = utils::ReadParam('prev_config', '', false, 'raw_data');
|
||||
}
|
||||
|
||||
if ($sOperation == 'revert')
|
||||
@@ -133,7 +149,7 @@ try
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($sConfig == $sOrginalConfig)
|
||||
if ($sConfig == $sOriginalConfig)
|
||||
{
|
||||
$oP->add('<div id="save_result" class="header_message">'.Dict::S('config-no-change').'</div>');
|
||||
}
|
||||
@@ -162,8 +178,15 @@ try
|
||||
@unlink($sTmpFile);
|
||||
@chmod($sConfigFile, 0444); // Read-only
|
||||
|
||||
$oP->p('<div id="save_result" class="header_message message_ok">'.Dict::S('config-saved').'</div>');
|
||||
$sOrginalConfig = str_replace("\r\n", "\n", file_get_contents($sConfigFile));
|
||||
if (DBPasswordInNewConfigIsOk($sConfig))
|
||||
{
|
||||
$oP->p('<div id="save_result" class="header_message message_ok">'.Dict::S('config-saved').'</div>');
|
||||
}
|
||||
else
|
||||
{
|
||||
$oP->p('<div id="save_result" class="header_message message_info">'.Dict::S('config-saved-warning-db-password').'</div>');
|
||||
}
|
||||
$sOriginalConfig = str_replace("\r\n", "\n", file_get_contents($sConfigFile));
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
@@ -175,7 +198,7 @@ try
|
||||
|
||||
|
||||
$sConfigEscaped = htmlentities($sConfig, ENT_QUOTES, 'UTF-8');
|
||||
$sOriginalConfigEscaped = htmlentities($sOrginalConfig, ENT_QUOTES, 'UTF-8');
|
||||
$sOriginalConfigEscaped = htmlentities($sOriginalConfig, ENT_QUOTES, 'UTF-8');
|
||||
$oP->p(Dict::S('config-edit-intro'));
|
||||
$oP->add("<form method=\"POST\">");
|
||||
$oP->add("<input id=\"operation\" type=\"hidden\" name=\"operation\" value=\"save\">");
|
||||
|
||||
@@ -21,4 +21,5 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
|
||||
'config-reverted' => 'The configuration has been reverted.~~',
|
||||
'config-parse-error' => 'Řádek %2$d: %1$s.<br/>Soubor nebyl uložen.',
|
||||
'config-current-line' => 'Řádek: %1$s',
|
||||
'config-saved-warning-db-password' => 'Successfully recorded, but the backup won\'t work due to unsupported characters in the database password.~~',
|
||||
));
|
||||
|
||||
@@ -34,4 +34,5 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
|
||||
'config-reverted' => 'The configuration has been reverted.~~',
|
||||
'config-parse-error' => 'Line %2$d: %1$s.<br/>The file has NOT been updated.~~',
|
||||
'config-current-line' => 'Editing line: %1$s~~',
|
||||
'config-saved-warning-db-password' => 'Successfully recorded, but the backup won\'t work due to unsupported characters in the database password.~~',
|
||||
));
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
<rank>50</rank>
|
||||
<parent>AdminTools</parent>
|
||||
<url>config.php</url>
|
||||
<enable_class>ResourceAdminMenu</enable_class>
|
||||
<enable_action>UR_ACTION_MODIFY</enable_action>
|
||||
<enable_admin_only>1</enable_admin_only>
|
||||
</menu>
|
||||
</menus>
|
||||
</itop_design>
|
||||
|
||||
@@ -36,4 +36,5 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'config-reverted' => 'Die Konfiguration wurde zurückgesetzt',
|
||||
'config-parse-error' => 'Zeile %2$d: %1$s.<br/>Die Datei wurde nicht aktualisiert.',
|
||||
'config-current-line' => 'Editiere Zeile: %1$s',
|
||||
'config-saved-warning-db-password' => 'Successfully recorded, but the backup won\'t work due to unsupported characters in the database password.~~',
|
||||
));
|
||||
|
||||
@@ -35,4 +35,5 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
'config-reverted' => 'The configuration has been reverted.',
|
||||
'config-parse-error' => 'Line %2$d: %1$s.<br/>The file has NOT been updated.',
|
||||
'config-current-line' => 'Editing line: %1$s',
|
||||
'config-saved-warning-db-password' => 'Successfully recorded, but the backup won\'t work due to unsupported characters in the database password.',
|
||||
));
|
||||
|
||||
@@ -34,4 +34,5 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
|
||||
'config-reverted' => 'La configuración ha sido revertida.',
|
||||
'config-parse-error' => 'Línea %2$d: %1$s.<br/>El archivo NO ha sido actualizado.',
|
||||
'config-current-line' => 'Editando línea: %1$s',
|
||||
'config-saved-warning-db-password' => 'Successfully recorded, but the backup won\'t work due to unsupported characters in the database password.~~',
|
||||
));
|
||||
|
||||
@@ -19,4 +19,5 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'config-reverted' => 'Vos modifications ont été écrasées par la version enregistrée.',
|
||||
'config-parse-error' => 'Ligne %2$d: %1$s.<br/>Le fichier n\'a PAS été modifié.',
|
||||
'config-current-line' => 'Ligne en édition : %1$s',
|
||||
'config-saved-warning-db-password' => 'Configuration enregistrée. Les sauvegardes ne fonctionneront pas à cause du format du pot de passe de la base.',
|
||||
));
|
||||
|
||||
@@ -34,4 +34,5 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
|
||||
'config-reverted' => 'The configuration has been reverted.~~',
|
||||
'config-parse-error' => 'Line %2$d: %1$s.<br/>The file has NOT been updated.~~',
|
||||
'config-current-line' => 'Editing line: %1$s~~',
|
||||
'config-saved-warning-db-password' => 'Successfully recorded, but the backup won\'t work due to unsupported characters in the database password.~~',
|
||||
));
|
||||
|
||||
@@ -34,4 +34,5 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
|
||||
'config-reverted' => 'The configuration has been reverted.~~',
|
||||
'config-parse-error' => 'Line %2$d: %1$s.<br/>The file has NOT been updated.~~',
|
||||
'config-current-line' => 'Editing line: %1$s~~',
|
||||
'config-saved-warning-db-password' => 'Successfully recorded, but the backup won\'t work due to unsupported characters in the database password.~~',
|
||||
));
|
||||
|
||||
@@ -34,4 +34,5 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
|
||||
'config-reverted' => 'The configuration has been reverted.~~',
|
||||
'config-parse-error' => 'Line %2$d: %1$s.<br/>The file has NOT been updated.~~',
|
||||
'config-current-line' => 'Editing line: %1$s~~',
|
||||
'config-saved-warning-db-password' => 'Successfully recorded, but the backup won\'t work due to unsupported characters in the database password.~~',
|
||||
));
|
||||
|
||||
@@ -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/2.6.0',
|
||||
'itop-config/2.6.1',
|
||||
array(
|
||||
// Identification
|
||||
//
|
||||
|
||||
@@ -35,4 +35,5 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
|
||||
'config-reverted' => 'De wijzigingen zijn ongedaan gemaakt.',
|
||||
'config-parse-error' => 'Regel %2$d: %1$s.<br/>Het bestand werd <b>NIET</b> opgeslagen.',
|
||||
'config-current-line' => 'Huidige regel: %1$s',
|
||||
'config-saved-warning-db-password' => 'Successfully recorded, but the backup won\'t work due to unsupported characters in the database password.~~',
|
||||
));
|
||||
|
||||
@@ -34,4 +34,5 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
|
||||
'config-reverted' => 'The configuration has been reverted.~~',
|
||||
'config-parse-error' => 'Line %2$d: %1$s.<br/>The file has NOT been updated.~~',
|
||||
'config-current-line' => 'Editing line: %1$s~~',
|
||||
'config-saved-warning-db-password' => 'Successfully recorded, but the backup won\'t work due to unsupported characters in the database password.~~',
|
||||
));
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* @author Vladimir Kunin <v.b.kunin@gmail.com>
|
||||
* @link http://community.itop-itsm.ru iTop Russian Community
|
||||
* @link https://github.com/itop-itsm-ru/itop-rus
|
||||
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
*/
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
@@ -16,10 +16,11 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
'config-apply' => 'Применить',
|
||||
'config-apply-title' => 'Применить (Ctrl+S)',
|
||||
'config-cancel' => 'Сбросить',
|
||||
'config-saved' => 'Successfully recorded.~~',
|
||||
'config-saved' => 'Изменения успешно сохранены.',
|
||||
'config-confirm-cancel' => 'Ваши изменения будут утеряны.',
|
||||
'config-no-change' => 'Изменений нет: файл не был изменён.',
|
||||
'config-reverted' => 'The configuration has been reverted.~~',
|
||||
'config-reverted' => 'Изменения были сброшены.',
|
||||
'config-parse-error' => 'Строка %2$d: %1$s.<br/>Файл не был обновлен.',
|
||||
'config-current-line' => 'Редактируемая строка: %1$s',
|
||||
'config-saved-warning-db-password' => 'Изменения успешно сохранены, но резервная копия не будет работать из-за неподдерживаемых символов в пароле базы данных.',
|
||||
));
|
||||
|
||||
@@ -34,4 +34,5 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
|
||||
'config-reverted' => 'The configuration has been reverted.~~',
|
||||
'config-parse-error' => 'Line %2$d: %1$s.<br/>The file has NOT been updated.~~',
|
||||
'config-current-line' => 'Editing line: %1$s~~',
|
||||
'config-saved-warning-db-password' => 'Successfully recorded, but the backup won\'t work due to unsupported characters in the database password.~~',
|
||||
));
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
|
||||
'Menu:ConfigEditor' => '编辑配置文件',
|
||||
@@ -29,10 +28,11 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
'config-apply' => '应用',
|
||||
'config-apply-title' => '应用 (Ctrl+S)',
|
||||
'config-cancel' => '重置',
|
||||
'config-saved' => '成功保存.',
|
||||
'config-saved' => '成功保存.',
|
||||
'config-confirm-cancel' => '您的修改将被丢弃.',
|
||||
'config-no-change' => '没有变化: 配置文件将保持不变.',
|
||||
'config-reverted' => '配置文件已恢复.',
|
||||
'config-reverted' => '配置文件已恢复.',
|
||||
'config-parse-error' => '第 %2$d 行: %1$s.<br/>配置文件尚未更新.',
|
||||
'config-current-line' => '正在编辑第 %1$s 行',
|
||||
'config-saved-warning-db-password' => 'Successfully recorded, but the backup won\'t work due to unsupported characters in the database password.~~',
|
||||
));
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
SetupWebPage::AddModule(
|
||||
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
|
||||
'itop-datacenter-mgmt/2.6.0',
|
||||
'itop-datacenter-mgmt/2.6.1',
|
||||
array(
|
||||
// Identification
|
||||
//
|
||||
|
||||
@@ -1,24 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* Localized data
|
||||
* Локализация интерфейса Combodo iTop подготовлена сообществом iTop по-русски http://community.itop-itsm.ru.
|
||||
*
|
||||
* @copyright Copyright (C) 2010-2018 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
* @author Vladimir Kunin <v.b.kunin@gmail.com>
|
||||
* @link http://community.itop-itsm.ru iTop Russian Community
|
||||
* @link https://github.com/itop-itsm-ru/itop-rus
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
* This file is part of iTop.
|
||||
*
|
||||
* iTop is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* iTop is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
// Dictionary entries go here
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
// Dictionary entries go here
|
||||
));
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
SetupWebPage::AddModule(
|
||||
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
|
||||
'itop-endusers-devices/2.6.0',
|
||||
'itop-endusers-devices/2.6.1',
|
||||
array(
|
||||
// Identification
|
||||
//
|
||||
|
||||
@@ -1,24 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* Localized data
|
||||
* Локализация интерфейса Combodo iTop подготовлена сообществом iTop по-русски http://community.itop-itsm.ru.
|
||||
*
|
||||
* @copyright Copyright (C) 2010-2018 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
* @author Vladimir Kunin <v.b.kunin@gmail.com>
|
||||
* @link http://community.itop-itsm.ru iTop Russian Community
|
||||
* @link https://github.com/itop-itsm-ru/itop-rus
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
* This file is part of iTop.
|
||||
*
|
||||
* iTop is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* iTop is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
// Dictionary entries go here
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
SetupWebPage::AddModule(
|
||||
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
|
||||
'itop-full-itil/2.6.0', array(
|
||||
'itop-full-itil/2.6.1', array(
|
||||
// Identification
|
||||
//
|
||||
'label' => 'Bridge - Request management ITIL + Incident management ITIL',
|
||||
|
||||
@@ -47,7 +47,8 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
|
||||
'iTopHub:Landing:Install' => 'Deploying extensions...~~',
|
||||
'iTopHub:CompiledOK' => 'Compilation successful.~~',
|
||||
'iTopHub:ConfigurationSafelyReverted' => 'Error detected during deployment!<br/>iTop configuration has NOT been modified.~~',
|
||||
|
||||
'iTopHub:FailAuthent' => 'Authentication failed for this action.~~',
|
||||
|
||||
'iTopHub:InstalledExtensions' => 'Extensions deployed on this instance~~',
|
||||
'iTopHub:ExtensionCategory:Manual' => 'Extensions deployed manually~~',
|
||||
'iTopHub:ExtensionCategory:Manual+' => 'The following extensions have been deployed by copying them manually in the %1$s directory of iTop:~~',
|
||||
|
||||
@@ -47,7 +47,8 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
|
||||
'iTopHub:Landing:Install' => 'Deploying extensions...~~',
|
||||
'iTopHub:CompiledOK' => 'Compilation successful.~~',
|
||||
'iTopHub:ConfigurationSafelyReverted' => 'Error detected during deployment!<br/>iTop configuration has NOT been modified.~~',
|
||||
|
||||
'iTopHub:FailAuthent' => 'Authentication failed for this action.~~',
|
||||
|
||||
'iTopHub:InstalledExtensions' => 'Extensions deployed on this instance~~',
|
||||
'iTopHub:ExtensionCategory:Manual' => 'Extensions deployed manually~~',
|
||||
'iTopHub:ExtensionCategory:Manual+' => 'The following extensions have been deployed by copying them manually in the %1$s directory of iTop:~~',
|
||||
|
||||
@@ -47,7 +47,8 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'iTopHub:Landing:Install' => 'Erweiterungen werden installiert...',
|
||||
'iTopHub:CompiledOK' => 'Installation erfolgreich',
|
||||
'iTopHub:ConfigurationSafelyReverted' => 'Fehler während der Installation!<br/>iTop Konfiguration wurde NICHT angepasst.',
|
||||
|
||||
'iTopHub:FailAuthent' => 'Authentication failed for this action.~~',
|
||||
|
||||
'iTopHub:InstalledExtensions' => 'Erweiterung, die auf dieser Instanz installiert sind',
|
||||
'iTopHub:ExtensionCategory:Manual' => 'Manuell installierte Erweiterungen',
|
||||
'iTopHub:ExtensionCategory:Manual+' => 'Die folgenden Erweiterungen installiert, indem sie manuell in das iTop-Verzeichnis %1$s kopiert wurden:',
|
||||
|
||||
@@ -50,7 +50,6 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
'iTopHub:ConfigurationSafelyReverted' => 'Error detected during deployment!<br/>iTop configuration has NOT been modified.',
|
||||
'iTopHub:FailAuthent' => 'Authentication failed for this action.',
|
||||
|
||||
|
||||
'iTopHub:InstalledExtensions' => 'Extensions deployed on this instance',
|
||||
'iTopHub:ExtensionCategory:Manual' => 'Extensions deployed manually',
|
||||
'iTopHub:ExtensionCategory:Manual+' => 'The following extensions have been deployed by copying them manually in the %1$s directory of iTop:',
|
||||
|
||||
@@ -47,7 +47,8 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
|
||||
'iTopHub:Landing:Install' => 'Instalando extensiones...',
|
||||
'iTopHub:CompiledOK' => 'Compilación éxitosa.',
|
||||
'iTopHub:ConfigurationSafelyReverted' => 'Error detectado durante la instalación!<br/>La configuración de iTop NO fue modificada.',
|
||||
|
||||
'iTopHub:FailAuthent' => 'Authentication failed for this action.~~',
|
||||
|
||||
'iTopHub:InstalledExtensions' => 'Extensiones instaladas en esta instancia',
|
||||
'iTopHub:ExtensionCategory:Manual' => 'Extensiones instaladas manualmente',
|
||||
'iTopHub:ExtensionCategory:Manual+' => 'Las siguientes extensiones fueron instaladas copiandolas manualmente en el directorio %1$s de iTop:',
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user