mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-17 07:38:42 +02:00
Compare commits
38 Commits
feature/13
...
ITSM_Desig
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f805c2f834 | ||
|
|
976c9c1523 | ||
|
|
22a14a2de2 | ||
|
|
bd04b2a24c | ||
|
|
0188108a68 | ||
|
|
4038d4d925 | ||
|
|
ea88aa85df | ||
|
|
8f2814a590 | ||
|
|
ad25d8823f | ||
|
|
59cd489e72 | ||
|
|
4b9b0a91a9 | ||
|
|
a21def5329 | ||
|
|
55f8efe0db | ||
|
|
0cc28b42b2 | ||
|
|
a98fab8f66 | ||
|
|
bf21481bf6 | ||
|
|
cda51c67c5 | ||
|
|
64264eb7ed | ||
|
|
940118967c | ||
|
|
a647c235c3 | ||
|
|
752ac5a469 | ||
|
|
c61faf453c | ||
|
|
b71cd2182f | ||
|
|
7c594db4b9 | ||
|
|
cca27674d0 | ||
|
|
f426626b9a | ||
|
|
5dc80f31f5 | ||
|
|
7fe565c4fb | ||
|
|
08ebac1b5c | ||
|
|
380723056a | ||
|
|
2f20cf52f3 | ||
|
|
5219541b74 | ||
|
|
001194835f | ||
|
|
955aefc05b | ||
|
|
034ca26d01 | ||
|
|
d03bd706e2 | ||
|
|
d3f8e1c472 | ||
|
|
647b669eb9 |
@@ -35,15 +35,16 @@ class AuditDomain extends cmdbAbstractObject
|
||||
{
|
||||
$aParams = array
|
||||
(
|
||||
"category" => "application, grant_by_profile",
|
||||
"key_type" => "autoincrement",
|
||||
"name_attcode" => "name",
|
||||
"state_attcode" => "",
|
||||
"reconc_keys" => array('name'),
|
||||
"db_table" => "priv_auditdomain",
|
||||
"db_key_field" => "id",
|
||||
"db_finalclass_field" => "",
|
||||
'style' => new ormStyle(null, null, null, null, null, '../images/icons/icons8-audit-album.svg'),
|
||||
"category" => "application, grant_by_profile",
|
||||
"key_type" => "autoincrement",
|
||||
"name_attcode" => "name",
|
||||
"complementary_name_attcode" => array('description'),
|
||||
"state_attcode" => "",
|
||||
"reconc_keys" => array('name'),
|
||||
"db_table" => "priv_auditdomain",
|
||||
"db_key_field" => "id",
|
||||
"db_finalclass_field" => "",
|
||||
'style' => new ormStyle(null, null, null, null, null, '../images/icons/icons8-audit-album.svg'),
|
||||
);
|
||||
MetaModel::Init_Params($aParams);
|
||||
MetaModel::Init_AddAttribute(new AttributeString("name", array("description"=>"Short name for this category", "allowed_values"=>null, "sql"=>"name", "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array())));
|
||||
|
||||
@@ -2955,6 +2955,9 @@ JS
|
||||
$oPage->add_ready_script(<<<JS
|
||||
// Try to release concurrent lock when leaving the page
|
||||
$(window).on('unload',function() { return OnUnload('$iTransactionId', '$sClass', $iKey, $sJSToken) } );
|
||||
window.onbeforeunload = function() {
|
||||
// N°6307 just an empty function to disable activity-panel.js handler
|
||||
};
|
||||
|
||||
// Leave handler for the current form (check if in a modal or not)
|
||||
// Note: We use a self-invoking function to avoid making unique vars. names to avoid collision (this can be called multiple time if modal forms are displayed)
|
||||
@@ -5874,6 +5877,11 @@ JS
|
||||
$this->FireEvent(EVENT_DB_CHECK_TO_WRITE);
|
||||
}
|
||||
|
||||
final protected function FireEventBeforeObjectCreate()
|
||||
{
|
||||
$this->FireEvent(EVENT_DB_BEFORE_CREATE);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
* @throws \CoreException
|
||||
@@ -5891,6 +5899,16 @@ JS
|
||||
/// UPDATE
|
||||
///
|
||||
|
||||
|
||||
/**
|
||||
* @return void
|
||||
* @throws \CoreException
|
||||
*/
|
||||
final protected function FireEventBeforeObjectUpdate()
|
||||
{
|
||||
$this->FireEvent(EVENT_DB_BEFORE_UPDATE);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $aChanges
|
||||
*
|
||||
|
||||
@@ -203,6 +203,23 @@
|
||||
</event_datum>
|
||||
</event_data>
|
||||
</event>
|
||||
<event id="EVENT_DB_BEFORE_CREATE" _delta="define">
|
||||
<description>An object is about to be created into the database. The object can be modified.</description>
|
||||
<sources>
|
||||
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
|
||||
</sources>
|
||||
<replaces>DBObject::OnInsert</replaces>
|
||||
<event_data>
|
||||
<event_datum id="object">
|
||||
<description>The object inserted</description>
|
||||
<type>DBObject</type>
|
||||
</event_datum>
|
||||
<event_datum id="debug_info">
|
||||
<description>Debug string</description>
|
||||
<type>string</type>
|
||||
</event_datum>
|
||||
</event_data>
|
||||
</event>
|
||||
<event id="EVENT_DB_CREATE_DONE" _delta="define">
|
||||
<description>An object has been created into the database. The modifications can be propagated to other objects.</description>
|
||||
<sources>
|
||||
@@ -220,6 +237,23 @@
|
||||
</event_datum>
|
||||
</event_data>
|
||||
</event>
|
||||
<event id="EVENT_DB_BEFORE_UPDATE" _delta="define">
|
||||
<description>An object is about to be updated into the database. The object can be modified.</description>
|
||||
<sources>
|
||||
<source id="cmdbAbstractObject">cmdbAbstractObject</source>
|
||||
</sources>
|
||||
<replaces>DBObject::OnUpdate</replaces>
|
||||
<event_data>
|
||||
<event_datum id="object">
|
||||
<description>The object updated</description>
|
||||
<type>DBObject</type>
|
||||
</event_datum>
|
||||
<event_datum id="debug_info">
|
||||
<description>Debug string</description>
|
||||
<type>string</type>
|
||||
</event_datum>
|
||||
</event_data>
|
||||
</event>
|
||||
<event id="EVENT_DB_UPDATE_DONE" _delta="define">
|
||||
<description>An object has been updated into the database and reloaded.</description>
|
||||
<sources>
|
||||
|
||||
@@ -15,10 +15,7 @@
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
use Combodo\iTop\Application\EventRegister\ApplicationEvents;
|
||||
use Combodo\iTop\Application\Helper\Session;
|
||||
use Combodo\iTop\Service\Events\EventData;
|
||||
use Combodo\iTop\Service\Events\EventService;
|
||||
|
||||
require_once(APPROOT.'core/cmdbobject.class.inc.php');
|
||||
require_once(APPROOT.'application/utils.inc.php');
|
||||
@@ -103,6 +100,3 @@ else
|
||||
}
|
||||
$sConfigFile = APPCONF.$sEnv.'/'.ITOP_CONFIG_FILE;
|
||||
MetaModel::Startup($sConfigFile, false /* $bModelOnly */, $bAllowCache, false /* $bTraceSourceFiles */, $sEnv);
|
||||
// Event service must be initialized after the MetaModel startup, otherwise it cannot discover classes implementing the iEventServiceSetup interface
|
||||
EventService::InitService();
|
||||
EventService::FireEvent(new EventData(ApplicationEvents::APPLICATION_EVENT_METAMODEL_STARTED));
|
||||
|
||||
@@ -801,8 +801,8 @@ abstract class AttributeDefinition
|
||||
/**
|
||||
* force an allowed value (type conversion and possibly forces a value as mySQL would do upon writing!
|
||||
*
|
||||
* @param $proposedValue
|
||||
* @param $oHostObj
|
||||
* @param mixed $proposedValue
|
||||
* @param \DBObject $oHostObj
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
@@ -992,17 +992,21 @@ abstract class AttributeDefinition
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper to form a value, given JSON decoded data
|
||||
* Helper to form a value, given JSON decoded data. This way the attribute itself handles the transformation from the JSON structure to the expected data (the one that
|
||||
* needs to be used in the {@see \DBObject::Set()} method).
|
||||
*
|
||||
* Note that for CSV and XML this isn't done yet (no delegation to the attribute but switch/case inside controllers) :/
|
||||
*
|
||||
* @see GetForJSON for the reverse operation
|
||||
*
|
||||
* @param string $json JSON encoded value
|
||||
*
|
||||
* @return mixed JSON decoded data
|
||||
* @return mixed JSON decoded data, depending on the attribute type
|
||||
*
|
||||
* @see GetForJSON for the reverse operation
|
||||
*/
|
||||
public function FromJSONToValue($json)
|
||||
{
|
||||
// Passthrough in most of the cases
|
||||
// Pass-through in most of the cases
|
||||
return $json;
|
||||
}
|
||||
|
||||
@@ -8607,7 +8611,7 @@ class AttributeImage extends AttributeBlob
|
||||
$sCssClasses .= ' '.(($bIsCustomImage) ? 'attribute-image-custom' : 'attribute-image-default');
|
||||
|
||||
// Important: If you change this, mind updating edit_image.js as well
|
||||
return '<div class="'.$sCssClasses.'" style="max-width: '.$sMaxWidthPx.'; max-height: '.$sMaxHeightPx.'; aspect-ratio: '.$iMaxWidth.' / '.$iMaxHeight.'">'.$sRet.'</div>';
|
||||
return '<div class="'.$sCssClasses.'" style="max-width: min('.$sMaxWidthPx.',100%); max-height: min('.$sMaxHeightPx.',100%); aspect-ratio: '.$iMaxWidth.' / '.$iMaxHeight.'">'.$sRet.'</div>';
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -8621,7 +8625,7 @@ class AttributeImage extends AttributeBlob
|
||||
* @since 2.7.0 change visibility to protected
|
||||
*/
|
||||
protected function GetHtmlForImageUrl($sUrl, $iMaxWidthPx, $iMaxHeightPx) {
|
||||
return '<img src="'.$sUrl.'" style="max-width: '.$iMaxWidthPx.'; max-height: '.$iMaxHeightPx.'">';
|
||||
return '<img src="'.$sUrl.'" style="max-width: min('.$iMaxWidthPx.',100%); max-height: min('.$iMaxHeightPx.',100%)">';
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -13048,6 +13052,7 @@ class AttributeCustomFields extends AttributeDefinition
|
||||
public function GetHandler($aValues = null)
|
||||
{
|
||||
$sHandlerClass = $this->Get('handler_class');
|
||||
/** @var \TemplateFieldsHandler $oHandler */
|
||||
$oHandler = new $sHandlerClass($this->GetCode());
|
||||
if (!is_null($aValues))
|
||||
{
|
||||
@@ -13072,36 +13077,50 @@ class AttributeCustomFields extends AttributeDefinition
|
||||
/**
|
||||
* Makes the string representation out of the values given by the form defined in GetDisplayForm
|
||||
*/
|
||||
public function ReadValueFromPostedForm($oHostObject, $sFormPrefix)
|
||||
{
|
||||
$aRawData = json_decode(utils::ReadPostedParam("attr_{$sFormPrefix}{$this->GetCode()}", '{}', 'raw_data'), true);
|
||||
public function ReadValueFromPostedForm($oHostObject, $sFormPrefix) {
|
||||
$aRawData = json_decode(utils::ReadPostedParam("attr_{$sFormPrefix}{$this->GetCode()}", '{}', 'raw_data'), true);
|
||||
if ($aRawData != null) {
|
||||
return new ormCustomFieldsValue($oHostObject, $this->GetCode(), $aRawData);
|
||||
} else{
|
||||
}
|
||||
else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public function MakeRealValue($proposedValue, $oHostObject)
|
||||
{
|
||||
if (is_object($proposedValue) && ($proposedValue instanceof ormCustomFieldsValue))
|
||||
{
|
||||
public function MakeRealValue($proposedValue, $oHostObject) {
|
||||
if (is_object($proposedValue) && ($proposedValue instanceof ormCustomFieldsValue)) {
|
||||
if (false === $oHostObject->IsNew()) {
|
||||
// In that case we need additional keys : see \TemplateFieldsHandler::DoBuildForm
|
||||
$aRequestTemplateValues = $proposedValue->GetValues();
|
||||
if (false === array_key_exists('current_template_id', $aRequestTemplateValues)) {
|
||||
$aRequestTemplateValues['current_template_id'] = $aRequestTemplateValues['template_id'];
|
||||
$aRequestTemplateValues['current_template_data'] = $aRequestTemplateValues['template_data'];
|
||||
$proposedValue = new ormCustomFieldsValue($oHostObject, $this->GetCode(), $aRequestTemplateValues);
|
||||
}
|
||||
}
|
||||
|
||||
if (is_null($proposedValue->GetHostObject())) {
|
||||
// the object might not be set : for example in \AttributeCustomFields::FromJSONToValue we don't have the object available :(
|
||||
$proposedValue->SetHostObject($oHostObject);
|
||||
}
|
||||
|
||||
return $proposedValue;
|
||||
}
|
||||
elseif (is_string($proposedValue))
|
||||
{
|
||||
|
||||
if (is_string($proposedValue)) {
|
||||
$aValues = json_decode($proposedValue, true);
|
||||
|
||||
return new ormCustomFieldsValue($oHostObject, $this->GetCode(), $aValues);
|
||||
}
|
||||
elseif (is_array($proposedValue))
|
||||
{
|
||||
|
||||
if (is_array($proposedValue)) {
|
||||
return new ormCustomFieldsValue($oHostObject, $this->GetCode(), $proposedValue);
|
||||
}
|
||||
elseif (is_null($proposedValue))
|
||||
{
|
||||
|
||||
if (is_null($proposedValue)) {
|
||||
return new ormCustomFieldsValue($oHostObject, $this->GetCode());
|
||||
}
|
||||
|
||||
throw new Exception('Unexpected type for the value of a custom fields attribute: '.gettype($proposedValue));
|
||||
}
|
||||
|
||||
@@ -13388,11 +13407,13 @@ class AttributeCustomFields extends AttributeDefinition
|
||||
/**
|
||||
* @inheritDoc
|
||||
*
|
||||
* @return ?\ormCustomFieldsValue
|
||||
* @return ?\ormCustomFieldsValue with empty host object as we don't have it here (most consumers don't have an object in their context, for example in \RestUtils::GetObjectSetFromKey)
|
||||
* The host object will be set in {@see MakeRealValue}
|
||||
* All the necessary checks will be done in {@see CheckValue}
|
||||
*/
|
||||
public function FromJSONToValue($json)
|
||||
{
|
||||
return null;
|
||||
return ormCustomFieldsValue::FromJSONToValue($json, $this);
|
||||
}
|
||||
|
||||
public function Equals($val1, $val2)
|
||||
|
||||
@@ -519,6 +519,15 @@ abstract class CMDBObject extends DBObject
|
||||
utils::PopArchiveMode();
|
||||
}
|
||||
}
|
||||
|
||||
public function DBUpdate()
|
||||
{
|
||||
if (count($this->ListChanges()) === 0) {
|
||||
$this->InitPreviousValuesForUpdatedAttributes();
|
||||
return $this->GetKey();
|
||||
}
|
||||
return parent::DBUpdate(); // TODO: Change the autogenerated stub
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -483,7 +483,7 @@ class Config
|
||||
'synchro_obsolete_replica_locks_object' => [
|
||||
'type' => 'bool',
|
||||
'description' => 'Obsolete synchro replicas prevent object modification by any mean (eg. anonymization)',
|
||||
'default' => 'true',
|
||||
'default' => true,
|
||||
'value' => '',
|
||||
'source_of_value' => '',
|
||||
'show_in_conf_sample' => true,
|
||||
|
||||
@@ -23,10 +23,22 @@
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
abstract class CustomFieldsHandler
|
||||
{
|
||||
abstract class CustomFieldsHandler {
|
||||
/** @var string $sAttCode */
|
||||
protected $sAttCode;
|
||||
/** @var array{
|
||||
* legacy: int,
|
||||
* extradata_id: string,
|
||||
* _template_name: string,
|
||||
* template_id: string,
|
||||
* template_data: string,
|
||||
* user_data: array<string, mixed>,
|
||||
* current_template_id: string,
|
||||
* current_template_data: string,
|
||||
* } $aValues same as {@see \ormCustomFieldsValue::$aCurrentValues}
|
||||
*/
|
||||
protected $aValues;
|
||||
/** @var \Combodo\iTop\Form\Form $oForm */
|
||||
protected $oForm;
|
||||
|
||||
/**
|
||||
@@ -118,6 +130,21 @@ abstract class CustomFieldsHandler
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \stdClass|null $json
|
||||
* @param string $sAttCode
|
||||
*
|
||||
* @return \ormCustomFieldsValue|null
|
||||
*
|
||||
* @since 3.1.0 N°1150 Method creation
|
||||
*/
|
||||
public function FromJSONToValue(?stdClass $json, string $sAttCode): ?ormCustomFieldsValue
|
||||
{
|
||||
// Default impl doing nothing, to avoid errors on children not having this method
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param DBObject $oHostObject
|
||||
*
|
||||
|
||||
@@ -1102,42 +1102,43 @@ abstract class DBObject implements iDisplay
|
||||
|
||||
/**
|
||||
* @api
|
||||
*
|
||||
* @see \Combodo\iTop\Form\Field\Field for rendering in portal forms
|
||||
*
|
||||
* @param bool $bLocalize
|
||||
* @param bool $bInBasket since3.1.1
|
||||
*
|
||||
*
|
||||
* @param string $sAttCode
|
||||
* @param bool $bLocalize
|
||||
*
|
||||
* @return string $sAttCode formatted as HTML for the console details forms (when viewing, not when editing !)
|
||||
* The returned string is already escaped, and as such is protected against XSS
|
||||
* The markup relies on a few assumptions (CSS) that could change without notice
|
||||
*
|
||||
* @throws ArchivedObjectException
|
||||
* @throws CoreException
|
||||
* @throws DictExceptionMissingString
|
||||
*
|
||||
* @throws ArchivedObjectException
|
||||
* @see \Combodo\iTop\Form\Field\Field for rendering in portal forms
|
||||
*/
|
||||
public function GetAsHTML($sAttCode, $bLocalize = true, $bInBasket = false)
|
||||
public function GetAsHTML($sAttCode, $bLocalize = true)
|
||||
{
|
||||
$sClass = get_class($this);
|
||||
$oAtt = MetaModel::GetAttributeDef($sClass, $sAttCode);
|
||||
|
||||
if ($oAtt->IsExternalKey(EXTKEY_ABSOLUTE)) {
|
||||
if ($oAtt->IsExternalKey(EXTKEY_ABSOLUTE))
|
||||
{
|
||||
//return $this->Get($sAttCode.'_friendlyname');
|
||||
/** @var \AttributeExternalKey $oAtt */
|
||||
$sTargetClass = $oAtt->GetTargetClass(EXTKEY_ABSOLUTE);
|
||||
$iTargetKey = $this->Get($sAttCode);
|
||||
if ($iTargetKey < 0) {
|
||||
if ($iTargetKey < 0)
|
||||
{
|
||||
// the key points to an object that exists only in memory... no hyperlink points to it yet
|
||||
return '';
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
$sHtmlLabel = utils::EscapeHtml($this->Get($sAttCode.'_friendlyname'));
|
||||
$bArchived = $this->IsArchived($sAttCode);
|
||||
$bObsolete = $this->IsObsolete($sAttCode);
|
||||
|
||||
return $this->MakeHyperLink($sTargetClass, $iTargetKey, $sHtmlLabel, null, true, $bArchived, $bObsolete, false, $bInBasket);
|
||||
return $this->MakeHyperLink($sTargetClass, $iTargetKey, $sHtmlLabel, null, true, $bArchived, $bObsolete);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1314,15 +1315,14 @@ abstract class DBObject implements iDisplay
|
||||
* @throws \CoreException
|
||||
* @throws \DictExceptionMissingString
|
||||
*/
|
||||
public static function MakeHyperLink($sObjClass, $sObjKey, $sHtmlLabel = '', $sUrlMakerClass = null, $bWithNavigationContext = true, $bArchived = false, $bObsolete = false, $bIgnorePreview = false, $bInBasket = false)
|
||||
public static function MakeHyperLink($sObjClass, $sObjKey, $sHtmlLabel = '', $sUrlMakerClass = null, $bWithNavigationContext = true, $bArchived = false, $bObsolete = false, $bIgnorePreview = false)
|
||||
{
|
||||
if ($sObjKey <= 0) {
|
||||
return '<em>'.Dict::S('UI:UndefinedObject').'</em>';
|
||||
} // Objects built in memory have negative IDs
|
||||
if ($sObjKey <= 0) return '<em>'.Dict::S('UI:UndefinedObject').'</em>'; // Objects built in memory have negative IDs
|
||||
|
||||
// Safety net
|
||||
//
|
||||
if (empty($sHtmlLabel)) {
|
||||
if (empty($sHtmlLabel))
|
||||
{
|
||||
// If the object if not issued from a query but constructed programmatically
|
||||
// the label may be empty. In this case run a query to get the object's friendly name
|
||||
$sObjOql = 'SELECT '.$sObjClass.' WHERE id='.$sObjKey;
|
||||
@@ -1367,7 +1367,9 @@ abstract class DBObject implements iDisplay
|
||||
if ($sFA == '')
|
||||
{
|
||||
$sIcon = '';
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($bClickable) {
|
||||
$sIcon = "<span class=\"object-ref-icon text_decoration\"><span class=\"fas $sFA fa-1x fa-fw\"></span></span>";
|
||||
} else {
|
||||
@@ -1375,21 +1377,19 @@ abstract class DBObject implements iDisplay
|
||||
}
|
||||
}
|
||||
|
||||
if ($bClickable && (strlen($sUrl) > 0)) {
|
||||
if ($bInBasket) {
|
||||
$sHLink = "<a class=\"object-ref-link object-in-basket\" href=\"$sUrl\">$sIcon$sHtmlLabel</a>";
|
||||
} else {
|
||||
$sHLink = "<a class=\"object-ref-link\" href=\"$sUrl\" >$sIcon$sHtmlLabel</a>";
|
||||
}
|
||||
} else {
|
||||
if ($bClickable && (strlen($sUrl) > 0))
|
||||
{
|
||||
$sHLink = "<a class=\"object-ref-link\" href=\"$sUrl\">$sIcon$sHtmlLabel</a>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$sHLink = $sIcon.$sHtmlLabel;
|
||||
}
|
||||
$sPreview = '';
|
||||
if (SummaryCardService::IsAllowedForClass($sObjClass) && $bIgnorePreview === false) {
|
||||
$sPreview = SummaryCardService::GetHyperlinkMarkup($sObjClass, $sObjKey);
|
||||
if(SummaryCardService::IsAllowedForClass($sObjClass) && $bIgnorePreview === false){
|
||||
$sPreview = SummaryCardService::GetHyperlinkMarkup($sObjClass, $sObjKey);
|
||||
}
|
||||
$sRet = "<span class=\"object-ref $sSpanClass\" $sPreview title=\"$sHint\">$sHLink</span>";
|
||||
|
||||
return $sRet;
|
||||
}
|
||||
|
||||
@@ -1408,15 +1408,15 @@ abstract class DBObject implements iDisplay
|
||||
* @throws CoreException
|
||||
* @throws DictExceptionMissingString
|
||||
*/
|
||||
public function GetHyperlink($sUrlMakerClass = null, $bWithNavigationContext = true, $sLabel = null, $bIgnorePreview = false, $bInBasket = false)
|
||||
public function GetHyperlink($sUrlMakerClass = null, $bWithNavigationContext = true, $sLabel = null, $bIgnorePreview = false)
|
||||
{
|
||||
if ($sLabel === null) {
|
||||
$sLabel = $this->GetName();
|
||||
}
|
||||
if($sLabel === null)
|
||||
{
|
||||
$sLabel = $this->GetName();
|
||||
}
|
||||
$bArchived = $this->IsArchived();
|
||||
$bObsolete = $this->IsObsolete();
|
||||
|
||||
return self::MakeHyperLink(get_class($this), $this->GetKey(), $sLabel, $sUrlMakerClass, $bWithNavigationContext, $bArchived, $bObsolete, $bIgnorePreview, $bInBasket);
|
||||
return self::MakeHyperLink(get_class($this), $this->GetKey(), $sLabel, $sUrlMakerClass, $bWithNavigationContext, $bArchived, $bObsolete, $bIgnorePreview);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3066,6 +3066,8 @@ abstract class DBObject implements iDisplay
|
||||
$this->DoComputeValues();
|
||||
$this->OnInsert();
|
||||
|
||||
$this->FireEventBeforeObjectCreate();
|
||||
|
||||
// If not automatically computed, then check that the key is given by the caller
|
||||
if (!MetaModel::IsAutoIncrementKey($sRootClass)) {
|
||||
if (empty($this->m_iKey)) {
|
||||
@@ -3085,7 +3087,7 @@ abstract class DBObject implements iDisplay
|
||||
}
|
||||
|
||||
$this->ComputeStopWatchesDeadline(true);
|
||||
|
||||
|
||||
$iTransactionRetry = 1;
|
||||
$bIsTransactionEnabled = MetaModel::GetConfig()->Get('db_core_transactions_enabled');
|
||||
if ($bIsTransactionEnabled) {
|
||||
@@ -3276,6 +3278,8 @@ abstract class DBObject implements iDisplay
|
||||
$this->ComputeStopWatchesDeadline(false);
|
||||
$this->OnUpdate();
|
||||
|
||||
$this->FireEventBeforeObjectUpdate();
|
||||
|
||||
// Freeze the changes at this point
|
||||
$this->InitPreviousValuesForUpdatedAttributes();
|
||||
$aChanges = $this->ListChanges();
|
||||
@@ -3637,9 +3641,10 @@ abstract class DBObject implements iDisplay
|
||||
* @uses m_aOrigValues
|
||||
* @uses m_aPreviousValuesForUpdatedAttributes
|
||||
* @since 2.7.0 N°2293
|
||||
* @since 3.1.0 N°6299 - change visibility
|
||||
* @throws \Exception
|
||||
*/
|
||||
private function InitPreviousValuesForUpdatedAttributes()
|
||||
protected final function InitPreviousValuesForUpdatedAttributes()
|
||||
{
|
||||
$aChanges= $this->ListChanges();
|
||||
if (empty($aChanges))
|
||||
@@ -5961,7 +5966,22 @@ abstract class DBObject implements iDisplay
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @param string $sWarning Warning message displayed when objet is redisplayed
|
||||
*
|
||||
* @return void
|
||||
* @since 3.1.0
|
||||
*/
|
||||
final public function AddCheckWarning(string $sWarning)
|
||||
{
|
||||
$this->m_aCheckWarnings[] = $sWarning;
|
||||
}
|
||||
|
||||
/**
|
||||
* @api
|
||||
*
|
||||
* @param string $sIssue
|
||||
* @param bool $bIsSecurityIssue
|
||||
*
|
||||
@@ -6037,6 +6057,14 @@ abstract class DBObject implements iDisplay
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
* @since 3.1.0
|
||||
*/
|
||||
protected function FireEventBeforeObjectCreate()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
* @since 3.1.0
|
||||
@@ -6053,6 +6081,16 @@ abstract class DBObject implements iDisplay
|
||||
* @return void
|
||||
* @since 3.1.0
|
||||
*/
|
||||
protected function FireEventBeforeObjectUpdate()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $aChanges
|
||||
*
|
||||
* @return void
|
||||
* @since 3.1.0
|
||||
*/
|
||||
protected function FireEventUpdateDone(array $aChanges): void
|
||||
{
|
||||
}
|
||||
@@ -6062,6 +6100,8 @@ abstract class DBObject implements iDisplay
|
||||
///
|
||||
|
||||
/**
|
||||
* @param \DeletionPlan $oDeletionPlan
|
||||
*
|
||||
* @return void
|
||||
* @since 3.1.0
|
||||
*/
|
||||
|
||||
@@ -400,7 +400,7 @@ class DBObjectSearch extends DBSearch
|
||||
}
|
||||
|
||||
/**
|
||||
* Important: If you need to add a condition on the same $sFilterCode several times with different $value values; do not use this method as the previous $value occurences will be replaced by the last. Instead use:
|
||||
* Important: If you need to add a condition on the same $sFilterCode several times with different $value values; do not use this method as the previous $value occurrences will be replaced by the last. Instead use:
|
||||
* * {@see \DBObjectSearch::AddConditionExpression()} in loops to add conditions one by one
|
||||
* * {@see \DBObjectSearch::AddConditionForInOperatorUsingParam()} for IN/NOT IN queries with lots of params at once
|
||||
*
|
||||
|
||||
@@ -17,7 +17,10 @@
|
||||
// along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
//
|
||||
|
||||
use Combodo\iTop\Application\EventRegister\ApplicationEvents;
|
||||
use Combodo\iTop\Core\MetaModel\FriendlyNameType;
|
||||
use Combodo\iTop\Service\Events\EventData;
|
||||
use Combodo\iTop\Service\Events\EventService;
|
||||
|
||||
require_once APPROOT.'core/modulehandler.class.inc.php';
|
||||
require_once APPROOT.'core/querymodifier.class.inc.php';
|
||||
@@ -6343,36 +6346,37 @@ abstract class MetaModel
|
||||
{
|
||||
self::$m_sEnvironment = $sEnvironment;
|
||||
|
||||
if (!defined('MODULESROOT'))
|
||||
{
|
||||
define('MODULESROOT', APPROOT.'env-'.self::$m_sEnvironment.'/');
|
||||
try {
|
||||
if (!defined('MODULESROOT')) {
|
||||
define('MODULESROOT', APPROOT.'env-'.self::$m_sEnvironment.'/');
|
||||
|
||||
self::$m_bTraceSourceFiles = $bTraceSourceFiles;
|
||||
self::$m_bTraceSourceFiles = $bTraceSourceFiles;
|
||||
|
||||
// $config can be either a filename, or a Configuration object (volatile!)
|
||||
if ($config instanceof Config)
|
||||
{
|
||||
self::LoadConfig($config, $bAllowCache);
|
||||
}
|
||||
else
|
||||
{
|
||||
self::LoadConfig(new Config($config), $bAllowCache);
|
||||
// $config can be either a filename, or a Configuration object (volatile!)
|
||||
if ($config instanceof Config) {
|
||||
self::LoadConfig($config, $bAllowCache);
|
||||
} else {
|
||||
self::LoadConfig(new Config($config), $bAllowCache);
|
||||
}
|
||||
|
||||
if ($bModelOnly) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if ($bModelOnly)
|
||||
{
|
||||
return;
|
||||
CMDBSource::SelectDB(self::$m_sDBName);
|
||||
|
||||
foreach (MetaModel::EnumPlugins('ModuleHandlerApiInterface') as $oPHPClass) {
|
||||
$oPHPClass::OnMetaModelStarted();
|
||||
}
|
||||
|
||||
ExpressionCache::Warmup();
|
||||
}
|
||||
finally {
|
||||
// Event service must be initialized after the MetaModel startup, otherwise it cannot discover classes implementing the iEventServiceSetup interface
|
||||
EventService::InitService();
|
||||
EventService::FireEvent(new EventData(ApplicationEvents::APPLICATION_EVENT_METAMODEL_STARTED));
|
||||
}
|
||||
|
||||
CMDBSource::SelectDB(self::$m_sDBName);
|
||||
|
||||
foreach(MetaModel::EnumPlugins('ModuleHandlerApiInterface') as $oPHPClass)
|
||||
{
|
||||
$oPHPClass::OnMetaModelStarted();
|
||||
}
|
||||
|
||||
ExpressionCache::Warmup();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -35,10 +35,11 @@ class ormCustomFieldsValue
|
||||
* _template_name: string,
|
||||
* template_id: string,
|
||||
* template_data: string,
|
||||
* user_data: string,
|
||||
* user_data: array<string, mixed>,
|
||||
* current_template_id: string,
|
||||
* current_template_data: string,
|
||||
* } $aCurrentValues Containing JSON encoded strings in template_data/current_template_data, user_data.
|
||||
* } $aCurrentValues Containing JSON encoded strings in template_data/current_template_data.
|
||||
* The user_data key contains an array with field code as key and field value as value
|
||||
* Warning, current_* are mandatory for data to be saved in a DBUpdate() call !
|
||||
*/
|
||||
protected $aCurrentValues;
|
||||
@@ -48,13 +49,31 @@ class ormCustomFieldsValue
|
||||
* @param string $sAttCode
|
||||
* @param array $aCurrentValues
|
||||
*/
|
||||
public function __construct(DBObject $oHostObject, $sAttCode, $aCurrentValues = null)
|
||||
public function __construct(?DBObject $oHostObject, $sAttCode, $aCurrentValues = null)
|
||||
{
|
||||
$this->oHostObject = $oHostObject;
|
||||
$this->sAttCode = $sAttCode;
|
||||
$this->aCurrentValues = $aCurrentValues;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \DBObject|null
|
||||
*/
|
||||
public function GetHostObject(): ?DBObject
|
||||
{
|
||||
return $this->oHostObject;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \DBObject|null $oHostObject
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function SetHostObject(?DBObject $oHostObject): void
|
||||
{
|
||||
$this->oHostObject = $oHostObject;
|
||||
}
|
||||
|
||||
public function GetValues()
|
||||
{
|
||||
return $this->aCurrentValues;
|
||||
@@ -62,6 +81,7 @@ class ormCustomFieldsValue
|
||||
|
||||
/**
|
||||
* Wrapper used when the only thing you have is the value...
|
||||
*
|
||||
* @return \Combodo\iTop\Form\Form
|
||||
*/
|
||||
public function GetForm($sFormPrefix = null)
|
||||
@@ -96,6 +116,19 @@ class ormCustomFieldsValue
|
||||
return $this->GetHandler()->GetAsJSON($this->aCurrentValues);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string|null $json
|
||||
* @param \AttributeDefinition $oAttDef
|
||||
*
|
||||
* @return \ormCustomFieldsValue
|
||||
*
|
||||
* @since 3.1.0 N°1150 Method creation
|
||||
*/
|
||||
public static function FromJSONToValue(?stdClass $json, AttributeCustomFields $oAttDef)
|
||||
{
|
||||
return $oAttDef->GetHandler()->FromJSONToValue($json, $oAttDef->GetCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \CustomFieldsHandler
|
||||
* @throws \Exception
|
||||
@@ -103,6 +136,7 @@ class ormCustomFieldsValue
|
||||
*/
|
||||
final protected function GetHandler()
|
||||
{
|
||||
/** @var \AttributeCustomFields $oAttDef */
|
||||
$oAttDef = MetaModel::GetAttributeDef(get_class($this->oHostObject), $this->sAttCode);
|
||||
|
||||
return $oAttDef->GetHandler($this->GetValues());
|
||||
|
||||
@@ -235,15 +235,26 @@ abstract class User extends cmdbAbstractObject
|
||||
|
||||
MetaModel::Init_AddAttribute(new AttributeString("login", array("allowed_values" => null, "sql" => "login", "default_value" => null, "is_null_allowed" => false, "depends_on" => array())));
|
||||
|
||||
MetaModel::Init_AddAttribute(new AttributeApplicationLanguage("language", array("sql"=>"language", "default_value"=>"EN US", "is_null_allowed"=>false, "depends_on"=>array())));
|
||||
MetaModel::Init_AddAttribute(new AttributeEnum("status", array("allowed_values" => new ValueSetEnum('enabled,disabled'), "styled_values"=>['enabled' => new ormStyle('ibo-dm-enum--User-status-enabled', 'ibo-dm-enum-alt--User-status-enabled', 'var(--ibo-dm-enum--User-status-enabled--main-color)', 'var(--ibo-dm-enum--User-status-enabled--complementary-color)', null, null),'disabled' => new ormStyle('ibo-dm-enum--User-status-disabled', 'ibo-dm-enum-alt--User-status-disabled', 'var(--ibo-dm-enum--User-status-disabled--main-color)', 'var(--ibo-dm-enum--User-status-disabled--complementary-color)', null, null)], "sql"=>"status", "default_value"=>"enabled", "is_null_allowed"=>false, "depends_on"=>array())));
|
||||
MetaModel::Init_AddAttribute(new AttributeApplicationLanguage("language", array("sql" => "language", "default_value" => "EN US", "is_null_allowed" => false, "depends_on" => array())));
|
||||
MetaModel::Init_AddAttribute(new AttributeEnum("status", array(
|
||||
"allowed_values" => new ValueSetEnum('enabled,disabled'),
|
||||
"styled_values" => [
|
||||
'enabled' => new ormStyle('ibo-dm-enum--User-status-enabled', 'ibo-dm-enum-alt--User-status-enabled', 'var(--ibo-dm-enum--User-status-enabled--main-color)', 'var(--ibo-dm-enum--User-status-enabled--complementary-color)', null, null),
|
||||
'disabled' => new ormStyle('ibo-dm-enum--User-status-disabled', 'ibo-dm-enum-alt--User-status-disabled', 'var(--ibo-dm-enum--User-status-disabled--main-color)', 'var(--ibo-dm-enum--User-status-disabled--complementary-color)', null, null),
|
||||
],
|
||||
"sql" => "status",
|
||||
"default_value" => "enabled",
|
||||
"is_null_allowed" => false,
|
||||
"depends_on" => array(),
|
||||
)));
|
||||
|
||||
MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("profile_list",
|
||||
array("linked_class" => "URP_UserProfile", "ext_key_to_me" => "userid", "ext_key_to_remote" => "profileid", "allowed_values" => null, "count_min" => 1, "count_max" => 0, "depends_on" => array(), "display_style" => 'property')));
|
||||
MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("allowed_org_list", array("linked_class" => "URP_UserOrg", "ext_key_to_me" => "userid", "ext_key_to_remote" => "allowed_org_id", "allowed_values" => null, "count_min" => 1, "count_max" => 0, "depends_on" => array())));
|
||||
MetaModel::Init_AddAttribute(new AttributeCaseLog("log", array("sql" => 'log', "is_null_allowed" => true, "default_value" => '', "allowed_values" => null, "depends_on" => array(), "always_load_in_tables" => false)));
|
||||
|
||||
// Display lists
|
||||
MetaModel::Init_SetZListItems('details', array('contactid', 'org_id', 'email', 'login', 'language', 'status', 'profile_list', 'allowed_org_list')); // Unused as it's an abstract class !
|
||||
MetaModel::Init_SetZListItems('details', array('contactid', 'org_id', 'email', 'login', 'language', 'status', 'profile_list', 'allowed_org_list', 'log')); // Unused as it's an abstract class !
|
||||
MetaModel::Init_SetZListItems('list', array('finalclass', 'first_name', 'last_name', 'status', 'org_id')); // Attributes to be displayed for a list
|
||||
// Search criteria
|
||||
MetaModel::Init_SetZListItems('standard_search', array('login', 'contactid', 'email', 'language', 'status', 'org_id')); // Criteria of the std search form
|
||||
@@ -640,23 +651,23 @@ abstract class UserInternal extends User
|
||||
{
|
||||
$aParams = array
|
||||
(
|
||||
"category" => "core,grant_by_profile,silo",
|
||||
"key_type" => "autoincrement",
|
||||
"name_attcode" => "login",
|
||||
"state_attcode" => "",
|
||||
"reconc_keys" => array('login'),
|
||||
"db_table" => "priv_internaluser",
|
||||
"db_key_field" => "id",
|
||||
"category" => "core,grant_by_profile,silo",
|
||||
"key_type" => "autoincrement",
|
||||
"name_attcode" => "login",
|
||||
"state_attcode" => "",
|
||||
"reconc_keys" => array('login'),
|
||||
"db_table" => "priv_internaluser",
|
||||
"db_key_field" => "id",
|
||||
"db_finalclass_field" => "",
|
||||
);
|
||||
MetaModel::Init_Params($aParams);
|
||||
MetaModel::Init_InheritAttributes();
|
||||
|
||||
// When set, this token allows for password reset
|
||||
MetaModel::Init_AddAttribute(new AttributeOneWayPassword("reset_pwd_token", array("allowed_values"=>null, "default_value"=>null, "is_null_allowed"=>true, "depends_on"=>array())));
|
||||
MetaModel::Init_AddAttribute(new AttributeOneWayPassword("reset_pwd_token", array("allowed_values" => null, "default_value" => null, "is_null_allowed" => true, "depends_on" => array())));
|
||||
|
||||
// Display lists
|
||||
MetaModel::Init_SetZListItems('details', array('contactid', 'org_id', 'email', 'login', 'status', 'language', 'profile_list', 'allowed_org_list')); // Attributes to be displayed for the complete details
|
||||
MetaModel::Init_SetZListItems('details', array('contactid', 'org_id', 'email', 'login', 'status', 'language', 'profile_list', 'allowed_org_list', 'log')); // Attributes to be displayed for the complete details
|
||||
MetaModel::Init_SetZListItems('list', array('finalclass', 'first_name', 'last_name', 'status', 'org_id')); // Attributes to be displayed for a list
|
||||
// Search criteria
|
||||
MetaModel::Init_SetZListItems('standard_search', array('login', 'contactid', 'status', 'org_id')); // Criteria of the std search form
|
||||
|
||||
@@ -32,5 +32,4 @@
|
||||
@import "search-form";
|
||||
@import "field-badge";
|
||||
@import "file-select";
|
||||
@import "medallion-icon";
|
||||
@import "basket";
|
||||
@import "medallion-icon";
|
||||
@@ -1,40 +0,0 @@
|
||||
/*
|
||||
* @copyright Copyright (C) 2010-2021 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
.ibo-basket {
|
||||
position: relative;
|
||||
|
||||
.ibo-basket-form {
|
||||
display: flex;
|
||||
position: absolute;
|
||||
z-index: 3;
|
||||
left: 50%;
|
||||
transform: translate(-50%, 0);
|
||||
font-size: $ibo-font-size-150;
|
||||
|
||||
.ibo-form-basket--total {
|
||||
text-align: center;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
|
||||
.ibo-form-basket--total--link {
|
||||
cursor: pointer;
|
||||
color: var(--ibo-hyperlink-color);
|
||||
}
|
||||
|
||||
.ibo-form-basket--total--link:hover {
|
||||
color: var(--ibo-hyperlink-color--on-hover);
|
||||
}
|
||||
}
|
||||
|
||||
.ibo-form-basket--nav {
|
||||
cursor: pointer;
|
||||
margin-left: 5px;
|
||||
margin-right: 10px;
|
||||
padding-top: 3px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -64,11 +64,22 @@ $ibo-field--enable-bulk--checkbox--margin-left: $ibo-spacing-300 !default;
|
||||
word-break: break-word;
|
||||
white-space: inherit;
|
||||
}
|
||||
|
||||
& pre {
|
||||
white-space: break-spaces;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* We need the rule to keep picture inside the column */
|
||||
&[data-attribute-type="AttributeImage"] {
|
||||
> .ibo-field--value {
|
||||
display: grid;
|
||||
|
||||
> span {
|
||||
display: inherit;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Large field = Label on top, value below */
|
||||
|
||||
@@ -61,6 +61,7 @@ class UserExternal extends User
|
||||
'fieldset:User:profiles' => array('profile_list'),
|
||||
),
|
||||
'allowed_org_list',
|
||||
'log',
|
||||
)
|
||||
); // Attributes to be displayed for the complete details
|
||||
MetaModel::Init_SetZListItems('list', array('first_name', 'last_name', 'login', 'status')); // Attributes to be displayed for a list
|
||||
|
||||
@@ -309,6 +309,9 @@
|
||||
<item id="allowed_org_list">
|
||||
<rank>80</rank>
|
||||
</item>
|
||||
<item id="log">
|
||||
<rank>90</rank>
|
||||
</item>
|
||||
</items>
|
||||
</details>
|
||||
<search>
|
||||
|
||||
@@ -108,6 +108,7 @@ class UserLocal extends UserInternal
|
||||
'fieldset:UserLocal:password:expiration' => array('expiration', 'password_renewed_date',),
|
||||
),
|
||||
'allowed_org_list',
|
||||
'log',
|
||||
)
|
||||
); // Attributes to be displayed for the complete details
|
||||
MetaModel::Init_SetZListItems('list', array('first_name', 'last_name', 'login', 'org_id')); // Attributes to be displayed for a list
|
||||
|
||||
@@ -187,6 +187,12 @@ class DBRestore extends DBBackup
|
||||
@chmod($sConfigFile, 0770); // Allow overwriting the file
|
||||
rename($sDataDir.'/config-itop.php', $sConfigFile);
|
||||
@chmod($sConfigFile, 0440); // Read-only
|
||||
|
||||
$aExtraFiles = $this->ListExtraFiles($sDataDir);
|
||||
foreach($aExtraFiles as $sSourceFilePath => $sDestinationFilePath) {
|
||||
SetupUtils::builddir(dirname($sDestinationFilePath));
|
||||
rename($sSourceFilePath, $sDestinationFilePath);
|
||||
}
|
||||
|
||||
try {
|
||||
SetupUtils::rrmdir($sDataDir);
|
||||
@@ -211,4 +217,31 @@ class DBRestore extends DBBackup
|
||||
$oRestoreMutex->Unlock();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* List the 'extra files' found in the decompressed archive
|
||||
* (i.e. files other than config-itop.php, delta.xml, itop-dump.sql or production-modules/*
|
||||
* @param string $sDataDir
|
||||
* @return string[]
|
||||
*/
|
||||
protected function ListExtraFiles(string $sDataDir)
|
||||
{
|
||||
$aExtraFiles = [];
|
||||
$aStandardFiles = ['config-itop.php', 'itop-dump.sql', 'production-modules', 'delta.xml'];
|
||||
$oDirectoryIterator = new RecursiveDirectoryIterator($sDataDir, FilesystemIterator::CURRENT_AS_FILEINFO|FilesystemIterator::SKIP_DOTS);
|
||||
$oIterator = new RecursiveIteratorIterator($oDirectoryIterator);
|
||||
foreach ($oIterator as $oFileInfo)
|
||||
{
|
||||
if (in_array($oFileInfo->getFilename(), $aStandardFiles)) {
|
||||
continue;
|
||||
}
|
||||
if (strncmp($oFileInfo->getPathname(), $sDataDir.'/production-modules', strlen($sDataDir.'/production-modules')) == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$aExtraFiles[$oFileInfo->getPathname()] = APPROOT.substr($oFileInfo->getPathname(), strlen($sDataDir));
|
||||
}
|
||||
|
||||
return $aExtraFiles;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,9 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-server.svg</icon>
|
||||
@@ -269,6 +272,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="location_name"/>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<fields_semantic>
|
||||
<state_attribute>status</state_attribute>
|
||||
@@ -518,6 +525,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="location_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-server.svg</icon>
|
||||
@@ -689,6 +700,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="location_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-server.svg</icon>
|
||||
@@ -978,6 +993,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="networkdevicetype_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-switch.svg</icon>
|
||||
@@ -1254,6 +1273,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="location_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-server.svg</icon>
|
||||
@@ -1557,6 +1580,9 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<fields_semantic>
|
||||
<state_attribute>status</state_attribute>
|
||||
@@ -1719,6 +1745,9 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<fields_semantic>
|
||||
<state_attribute>status</state_attribute>
|
||||
@@ -1850,6 +1879,9 @@
|
||||
<attribute id="name"/>
|
||||
<attribute id="system_name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<fields_semantic>
|
||||
<state_attribute>status</state_attribute>
|
||||
@@ -2049,6 +2081,9 @@
|
||||
<attribute id="name"/>
|
||||
<attribute id="system_name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-automatic.svg</icon>
|
||||
@@ -2180,6 +2215,9 @@
|
||||
<attribute id="name"/>
|
||||
<attribute id="system_name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-database.svg</icon>
|
||||
@@ -2311,6 +2349,9 @@
|
||||
<attribute id="name"/>
|
||||
<attribute id="system_name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-server-custom.svg</icon>
|
||||
@@ -2442,6 +2483,9 @@
|
||||
<attribute id="name"/>
|
||||
<attribute id="system_name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-desktop.svg</icon>
|
||||
@@ -2550,6 +2594,9 @@
|
||||
<attribute id="name"/>
|
||||
<attribute id="system_name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-software-other.svg</icon>
|
||||
@@ -2657,6 +2704,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="middleware_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-automatic.svg</icon>
|
||||
@@ -2776,6 +2827,9 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-database-custom.svg</icon>
|
||||
@@ -2893,6 +2947,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="webserver_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-web.svg</icon>
|
||||
@@ -3020,6 +3078,10 @@
|
||||
<attribute id="name"/>
|
||||
<attribute id="version"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="vendor"></attribute>
|
||||
<attribute id="type"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-software.svg</icon>
|
||||
@@ -3284,6 +3346,9 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="osversion_name"/>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-bandage.svg</icon>
|
||||
@@ -3374,6 +3439,9 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="software_name"/>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-bandage.svg</icon>
|
||||
@@ -3464,6 +3532,9 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-licence.svg</icon>
|
||||
@@ -3650,6 +3721,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"/>
|
||||
<attribute id="osversion_name"/>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-licence.svg</icon>
|
||||
@@ -3793,6 +3868,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"/>
|
||||
<attribute id="software_name"/>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-software-license.svg</icon>
|
||||
@@ -4020,6 +4099,9 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="osfamily_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon/>
|
||||
@@ -4208,6 +4290,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="brand_name"></attribute>
|
||||
<attribute id="type"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon/>
|
||||
@@ -5061,6 +5147,10 @@
|
||||
<attribute id="ip"/>
|
||||
<attribute id="ip_mask"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="org_name"></attribute>
|
||||
<attribute id="subnet_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-network.svg</icon>
|
||||
@@ -5545,6 +5635,9 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="ipaddress"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-globe-cable.svg</icon>
|
||||
@@ -6412,6 +6505,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="owner_name"></attribute>
|
||||
<attribute id="type"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<fields_semantic>
|
||||
<state_attribute>status</state_attribute>
|
||||
|
||||
@@ -142,6 +142,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:PhysicalDevice' => 'Physical Device',
|
||||
'Class:PhysicalDevice+' => '',
|
||||
'Class:PhysicalDevice/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:PhysicalDevice/Attribute:serialnumber' => 'Serial number',
|
||||
'Class:PhysicalDevice/Attribute:serialnumber+' => '',
|
||||
'Class:PhysicalDevice/Attribute:location_id' => 'Location',
|
||||
@@ -181,6 +182,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:Rack' => 'Rack',
|
||||
'Class:Rack+' => '',
|
||||
'Class:Rack/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:Rack/Attribute:nb_u' => 'Rack units',
|
||||
'Class:Rack/Attribute:nb_u+' => '',
|
||||
'Class:Rack/Attribute:device_list' => 'Devices',
|
||||
@@ -247,6 +249,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:ConnectableCI' => 'Connectable CI',
|
||||
'Class:ConnectableCI+' => 'Physical CI',
|
||||
'Class:ConnectableCI/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:ConnectableCI/Attribute:networkdevice_list' => 'Network devices',
|
||||
'Class:ConnectableCI/Attribute:networkdevice_list+' => 'All network devices connected to this device',
|
||||
'Class:ConnectableCI/Attribute:physicalinterface_list' => 'Network interfaces',
|
||||
@@ -260,6 +263,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:DatacenterDevice' => 'Datacenter Device',
|
||||
'Class:DatacenterDevice+' => '',
|
||||
'Class:DatacenterDevice/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:DatacenterDevice/Attribute:rack_id' => 'Rack',
|
||||
'Class:DatacenterDevice/Attribute:rack_id+' => '',
|
||||
'Class:DatacenterDevice/Attribute:rack_name' => 'Rack name',
|
||||
@@ -298,6 +302,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:NetworkDevice' => 'Network Device',
|
||||
'Class:NetworkDevice+' => '',
|
||||
'Class:NetworkDevice/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:NetworkDevice/Attribute:networkdevicetype_id' => 'Network type',
|
||||
'Class:NetworkDevice/Attribute:networkdevicetype_id+' => '',
|
||||
'Class:NetworkDevice/Attribute:networkdevicetype_name' => 'Network type name',
|
||||
@@ -319,6 +324,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:Server' => 'Server',
|
||||
'Class:Server+' => '',
|
||||
'Class:Server/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:Server/Attribute:osfamily_id' => 'OS family',
|
||||
'Class:Server/Attribute:osfamily_id+' => '',
|
||||
'Class:Server/Attribute:osfamily_name' => 'OS family name',
|
||||
@@ -346,6 +352,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:StorageSystem' => 'Storage System',
|
||||
'Class:StorageSystem+' => '',
|
||||
'Class:StorageSystem/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:StorageSystem/Attribute:logicalvolume_list' => 'Logical volumes',
|
||||
'Class:StorageSystem/Attribute:logicalvolume_list+' => 'All the logical volumes in this storage system',
|
||||
));
|
||||
@@ -357,6 +364,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:SANSwitch' => 'SAN Switch',
|
||||
'Class:SANSwitch+' => '',
|
||||
'Class:SANSwitch/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:SANSwitch/Attribute:datacenterdevice_list' => 'Devices',
|
||||
'Class:SANSwitch/Attribute:datacenterdevice_list+' => 'All the devices connected to this SAN switch',
|
||||
));
|
||||
@@ -368,6 +376,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:TapeLibrary' => 'Tape Library',
|
||||
'Class:TapeLibrary+' => '',
|
||||
'Class:TapeLibrary/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:TapeLibrary/Attribute:tapes_list' => 'Tapes',
|
||||
'Class:TapeLibrary/Attribute:tapes_list+' => 'All the tapes in the tape library',
|
||||
));
|
||||
@@ -379,6 +388,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:NAS' => 'NAS',
|
||||
'Class:NAS+' => '',
|
||||
'Class:NAS/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:NAS/Attribute:nasfilesystem_list' => 'Filesystems',
|
||||
'Class:NAS/Attribute:nasfilesystem_list+' => 'All the file systems in this NAS',
|
||||
));
|
||||
@@ -390,6 +400,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:PC' => 'PC',
|
||||
'Class:PC+' => '',
|
||||
'Class:PC/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:PC/Attribute:osfamily_id' => 'OS family',
|
||||
'Class:PC/Attribute:osfamily_id+' => '',
|
||||
'Class:PC/Attribute:osfamily_name' => 'OS family name',
|
||||
@@ -417,6 +428,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:Printer' => 'Printer',
|
||||
'Class:Printer+' => '',
|
||||
'Class:Printer/ComplementaryName' => '%1$s - %2$s',
|
||||
));
|
||||
|
||||
//
|
||||
@@ -426,6 +438,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:PowerConnection' => 'Power Connection',
|
||||
'Class:PowerConnection+' => '',
|
||||
'Class:PowerConnection/ComplementaryName' => '%1$s - %2$s',
|
||||
));
|
||||
|
||||
//
|
||||
@@ -435,6 +448,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:PowerSource' => 'Power Source',
|
||||
'Class:PowerSource+' => '',
|
||||
'Class:PowerSource/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:PowerSource/Attribute:pdus_list' => 'PDUs',
|
||||
'Class:PowerSource/Attribute:pdus_list+' => 'All the PDUs using this power source',
|
||||
));
|
||||
@@ -446,6 +460,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:PDU' => 'PDU',
|
||||
'Class:PDU+' => '',
|
||||
'Class:PDU/ComplementaryName' => '%1$s - %2$s - %3$s',
|
||||
'Class:PDU/Attribute:rack_id' => 'Rack',
|
||||
'Class:PDU/Attribute:rack_id+' => '',
|
||||
'Class:PDU/Attribute:rack_name' => 'Rack name',
|
||||
@@ -463,6 +478,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:Peripheral' => 'Peripheral',
|
||||
'Class:Peripheral+' => '',
|
||||
'Class:Peripheral/ComplementaryName' => '%1$s - %2$s',
|
||||
));
|
||||
|
||||
//
|
||||
@@ -472,6 +488,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:Enclosure' => 'Enclosure',
|
||||
'Class:Enclosure+' => '',
|
||||
'Class:Enclosure/ComplementaryName' => '%1$s - %2$s - %3$s',
|
||||
'Class:Enclosure/Attribute:rack_id' => 'Rack',
|
||||
'Class:Enclosure/Attribute:rack_id+' => '',
|
||||
'Class:Enclosure/Attribute:rack_name' => 'Rack name',
|
||||
@@ -609,6 +626,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:MiddlewareInstance' => 'Middleware Instance',
|
||||
'Class:MiddlewareInstance+' => '',
|
||||
'Class:MiddlewareInstance/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:MiddlewareInstance/Attribute:middleware_id' => 'Middleware',
|
||||
'Class:MiddlewareInstance/Attribute:middleware_id+' => '',
|
||||
'Class:MiddlewareInstance/Attribute:middleware_name' => 'Middleware name',
|
||||
@@ -635,6 +653,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:WebApplication' => 'Web Application',
|
||||
'Class:WebApplication+' => '',
|
||||
'Class:WebApplication/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:WebApplication/Attribute:webserver_id' => 'Web server',
|
||||
'Class:WebApplication/Attribute:webserver_id+' => '',
|
||||
'Class:WebApplication/Attribute:webserver_name' => 'Web server name',
|
||||
@@ -715,6 +734,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:VirtualMachine' => 'Virtual Machine',
|
||||
'Class:VirtualMachine+' => '',
|
||||
'Class:VirtualMachine/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:VirtualMachine/Attribute:virtualhost_id' => 'Virtual host',
|
||||
'Class:VirtualMachine/Attribute:virtualhost_id+' => '',
|
||||
'Class:VirtualMachine/Attribute:virtualhost_name' => 'Virtual host name',
|
||||
@@ -877,6 +897,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:Software' => 'Software',
|
||||
'Class:Software+' => '',
|
||||
'Class:Software/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:Software/Attribute:name' => 'Name',
|
||||
'Class:Software/Attribute:name+' => '',
|
||||
'Class:Software/Attribute:vendor' => 'Vendor',
|
||||
@@ -959,6 +980,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:Licence' => 'License',
|
||||
'Class:Licence+' => '',
|
||||
|
||||
'Class:Licence/Attribute:name' => 'Name',
|
||||
'Class:Licence/Attribute:name+' => '',
|
||||
'Class:Licence/Attribute:documents_list' => 'Documents',
|
||||
@@ -994,6 +1016,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:OSLicence' => 'OS License',
|
||||
'Class:OSLicence+' => '',
|
||||
'Class:OSLicence/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:OSLicence/Attribute:osversion_id' => 'OS version',
|
||||
'Class:OSLicence/Attribute:osversion_id+' => '',
|
||||
'Class:OSLicence/Attribute:osversion_name' => 'OS version name',
|
||||
@@ -1011,6 +1034,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:SoftwareLicence' => 'Software License',
|
||||
'Class:SoftwareLicence+' => '',
|
||||
'Class:SoftwareLicence/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:SoftwareLicence/Attribute:software_id' => 'Software',
|
||||
'Class:SoftwareLicence/Attribute:software_id+' => '',
|
||||
'Class:SoftwareLicence/Attribute:software_name' => 'Software name',
|
||||
@@ -1079,6 +1103,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:Model' => 'Model',
|
||||
'Class:Model+' => '',
|
||||
'Class:Model/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:Model/Attribute:brand_id' => 'Brand',
|
||||
'Class:Model/Attribute:brand_id+' => '',
|
||||
'Class:Model/Attribute:brand_name' => 'Brand name',
|
||||
@@ -1230,14 +1255,16 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:Subnet' => 'Subnet',
|
||||
'Class:Subnet+' => '',
|
||||
'Class:Subnet/Name' => '%1$s/%2$s',
|
||||
'Class:Subnet/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:Subnet/Attribute:description' => 'Description',
|
||||
'Class:Subnet/Attribute:description+' => '',
|
||||
'Class:Subnet/Attribute:subnet_name' => 'Subnet name',
|
||||
'Class:Subnet/Attribute:subnet_name+' => '',
|
||||
'Class:Subnet/Attribute:org_id' => 'Owner organization',
|
||||
'Class:Subnet/Attribute:org_id+' => '',
|
||||
'Class:Subnet/Attribute:org_name' => 'Name',
|
||||
'Class:Subnet/Attribute:org_name+' => 'Common name',
|
||||
'Class:Subnet/Attribute:org_name' => 'Organization name',
|
||||
'Class:Subnet/Attribute:org_name+' => '',
|
||||
'Class:Subnet/Attribute:ip' => 'IP',
|
||||
'Class:Subnet/Attribute:ip+' => '',
|
||||
'Class:Subnet/Attribute:ip_mask' => 'IP Mask',
|
||||
@@ -1260,7 +1287,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:VLAN/Attribute:org_id' => 'Organization',
|
||||
'Class:VLAN/Attribute:org_id+' => '',
|
||||
'Class:VLAN/Attribute:org_name' => 'Organization name',
|
||||
'Class:VLAN/Attribute:org_name+' => 'Common name',
|
||||
'Class:VLAN/Attribute:org_name+' => '',
|
||||
'Class:VLAN/Attribute:subnets_list' => 'Subnets',
|
||||
'Class:VLAN/Attribute:subnets_list+' => '',
|
||||
'Class:VLAN/Attribute:physicalinterfaces_list' => 'Physical network interfaces',
|
||||
@@ -1465,6 +1492,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:Group' => 'Group',
|
||||
'Class:Group+' => '',
|
||||
'Class:Group/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:Group/Attribute:name' => 'Name',
|
||||
'Class:Group/Attribute:name+' => '',
|
||||
'Class:Group/Attribute:status' => 'Status',
|
||||
|
||||
@@ -37,7 +37,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
'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.',
|
||||
'config-error-transaction' => 'Error: invalid Transaction ID. The configuration was <b>NOT</b> modified.',
|
||||
'config-error-file-changed' => 'Error: The configuration was changed on the server, the configuration has not been saved',
|
||||
'config-error-file-changed' => 'Error: The Configuration file has changed since you opened it and cannot be saved. Refresh and apply your changes again.',
|
||||
'config-not-allowed-in-demo' => 'Sorry, '.ITOP_APPLICATION_SHORT.' is in <b>demonstration mode</b>: the configuration file cannot be edited.',
|
||||
'config-interactive-not-allowed' => ITOP_APPLICATION_SHORT." interactive edition of the configuration as been disabled. See <code>'config_editor' => 'disabled'</code> in the configuration file.",
|
||||
));
|
||||
|
||||
@@ -19,9 +19,9 @@ 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.',
|
||||
'config-saved-warning-db-password' => 'Configuration enregistrée. Les sauvegardes ne fonctionneront pas à cause du format du mot de passe de la base.',
|
||||
'config-error-transaction' => "Erreur : La transaction n'est plus valide. Les modifications n'ont <b>PAS</b> été enregistrées.",
|
||||
'config-error-file-changed' => "Erreur : La configuration a été modifiée sur le serveur par une autre action. Les modifications n'ont <b>PAS</b> été enregistrées.",
|
||||
'config-error-file-changed' => "Erreur : La configuration a été modifiée depuis que vous l\'avez ouvert. Vos modifications ne peuvent <b>PAS</b> être enregistrées. Rechargez la page et recommencez.",
|
||||
'config-not-allowed-in-demo' => 'Désolé, '.ITOP_APPLICATION_SHORT.' est en <b>mode démonstration</b> : la configuration ne peut pas être modifiée.',
|
||||
'config-interactive-not-allowed' => "La modification interactive de la configuration n'est pas autorisée. Voir le paramètre <code>'config_editor' => 'disabled'</code> dans le fichier de configuration.",
|
||||
));
|
||||
|
||||
@@ -14,6 +14,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="location_name"/>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-rack.svg</icon>
|
||||
@@ -196,6 +200,11 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="location_name"/>
|
||||
<attribute id="rack_name"/>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-enclosure-for-servers.svg</icon>
|
||||
@@ -383,6 +392,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="location_name"/>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-electrical.svg</icon>
|
||||
@@ -545,6 +558,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="location_name"/>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-electricity.svg</icon>
|
||||
@@ -702,6 +719,11 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="location_name"/>
|
||||
<attribute id="rack_name"/>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-plug-socket.svg</icon>
|
||||
|
||||
@@ -14,6 +14,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="phonenumber"/>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-phone.svg</icon>
|
||||
@@ -168,6 +172,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="phonenumber"/>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-telephone.svg</icon>
|
||||
@@ -315,6 +323,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="phonenumber"/>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-mobile.svg</icon>
|
||||
@@ -485,6 +497,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="phonenumber"/>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-office-phone.svg</icon>
|
||||
@@ -632,6 +648,9 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-smartphone-tablet.svg</icon>
|
||||
@@ -776,6 +795,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="location_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-laptop.svg</icon>
|
||||
@@ -1026,6 +1049,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="location_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-print.svg</icon>
|
||||
@@ -1206,6 +1233,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="location_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-electronics.svg</icon>
|
||||
|
||||
@@ -29,6 +29,7 @@ use Dict;
|
||||
use Exception;
|
||||
use IssueLog;
|
||||
use MetaModel;
|
||||
use utils;
|
||||
|
||||
/**
|
||||
* Contains static methods to help loading / registering classes of the application.
|
||||
|
||||
@@ -803,9 +803,21 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<extkey_attcode>contract_id</extkey_attcode>
|
||||
<target_attcode>name</target_attcode>
|
||||
</field>
|
||||
<field id="customer_id" xsi:type="AttributeExternalField">
|
||||
<extkey_attcode>contract_id</extkey_attcode>
|
||||
<target_attcode>org_id</target_attcode>
|
||||
</field>
|
||||
<field id="provider_id" xsi:type="AttributeExternalField">
|
||||
<extkey_attcode>contract_id</extkey_attcode>
|
||||
<target_attcode>provider_id</target_attcode>
|
||||
</field>
|
||||
<field id="contact_id" xsi:type="AttributeExternalKey">
|
||||
<sql>contact_id</sql>
|
||||
<target_class>Contact</target_class>
|
||||
<filter><![CDATA[SELECT Contact WHERE org_id IN (:this->customer_id, :this->provider_id)]]></filter>
|
||||
<dependencies>
|
||||
<attribute id="contract_id"/>
|
||||
</dependencies>
|
||||
<is_null_allowed>false</is_null_allowed>
|
||||
<on_target_delete>DEL_AUTO</on_target_delete>
|
||||
</field>
|
||||
@@ -896,9 +908,21 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<extkey_attcode>contract_id</extkey_attcode>
|
||||
<target_attcode>name</target_attcode>
|
||||
</field>
|
||||
<field id="customer_id" xsi:type="AttributeExternalField">
|
||||
<extkey_attcode>contract_id</extkey_attcode>
|
||||
<target_attcode>org_id</target_attcode>
|
||||
</field>
|
||||
<field id="provider_id" xsi:type="AttributeExternalField">
|
||||
<extkey_attcode>contract_id</extkey_attcode>
|
||||
<target_attcode>provider_id</target_attcode>
|
||||
</field>
|
||||
<field id="document_id" xsi:type="AttributeExternalKey">
|
||||
<sql>document_id</sql>
|
||||
<target_class>Document</target_class>
|
||||
<filter><![CDATA[SELECT Document WHERE org_id IN (:this->customer_id, :this->provider_id)]]></filter>
|
||||
<dependencies>
|
||||
<attribute id="contract_id"/>
|
||||
</dependencies>
|
||||
<is_null_allowed>false</is_null_allowed>
|
||||
<on_target_delete>DEL_AUTO</on_target_delete>
|
||||
</field>
|
||||
@@ -1043,6 +1067,10 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="status"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<fields_semantic>
|
||||
<image_attribute>icon</image_attribute>
|
||||
@@ -1234,6 +1262,16 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
</item>
|
||||
</items>
|
||||
</list>
|
||||
<summary>
|
||||
<items>
|
||||
<item id="org_id">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="description">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
</items>
|
||||
</summary>
|
||||
</presentation>
|
||||
</class>
|
||||
<class id="lnkDocumentToService" _delta="define">
|
||||
@@ -1435,6 +1473,10 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="service_provider"></attribute>
|
||||
<attribute id="status"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<fields_semantic>
|
||||
<state_attribute>status</state_attribute>
|
||||
@@ -1587,6 +1629,19 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
</item>
|
||||
</items>
|
||||
</list>
|
||||
<summary>
|
||||
<items>
|
||||
<item id="service_provider">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="request_type">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
<item id="description">
|
||||
<rank>30</rank>
|
||||
</item>
|
||||
</items>
|
||||
</summary>
|
||||
</presentation>
|
||||
</class>
|
||||
<class id="SLA" _delta="define">
|
||||
@@ -2080,9 +2135,17 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<extkey_attcode>customercontract_id</extkey_attcode>
|
||||
<target_attcode>name</target_attcode>
|
||||
</field>
|
||||
<field id="provider_id" xsi:type="AttributeExternalField">
|
||||
<extkey_attcode>customercontract_id</extkey_attcode>
|
||||
<target_attcode>provider_id</target_attcode>
|
||||
</field>
|
||||
<field id="service_id" xsi:type="AttributeExternalKey">
|
||||
<sql>service_id</sql>
|
||||
<target_class>Service</target_class>
|
||||
<filter><![CDATA[SELECT Service WHERE org_id = :this->provider_id]]></filter>
|
||||
<dependencies>
|
||||
<attribute id="customercontract_id"/>
|
||||
</dependencies>
|
||||
<is_null_allowed>false</is_null_allowed>
|
||||
<on_target_delete>DEL_AUTO</on_target_delete>
|
||||
</field>
|
||||
|
||||
@@ -255,6 +255,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:Service' => 'Service',
|
||||
'Class:Service+' => '',
|
||||
'Class:Service/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:Service/Attribute:name' => 'Name',
|
||||
'Class:Service/Attribute:name+' => '',
|
||||
'Class:Service/Attribute:org_id' => 'Provider',
|
||||
@@ -330,6 +331,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:ServiceSubcategory' => 'Service Subcategory',
|
||||
'Class:ServiceSubcategory+' => '',
|
||||
'Class:ServiceSubcategory/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:ServiceSubcategory/Attribute:name' => 'Name',
|
||||
'Class:ServiceSubcategory/Attribute:name+' => '',
|
||||
'Class:ServiceSubcategory/Attribute:description' => 'Description',
|
||||
|
||||
@@ -773,9 +773,21 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<extkey_attcode>contract_id</extkey_attcode>
|
||||
<target_attcode>name</target_attcode>
|
||||
</field>
|
||||
<field id="customer_id" xsi:type="AttributeExternalField">
|
||||
<extkey_attcode>contract_id</extkey_attcode>
|
||||
<target_attcode>org_id</target_attcode>
|
||||
</field>
|
||||
<field id="provider_id" xsi:type="AttributeExternalField">
|
||||
<extkey_attcode>contract_id</extkey_attcode>
|
||||
<target_attcode>provider_id</target_attcode>
|
||||
</field>
|
||||
<field id="contact_id" xsi:type="AttributeExternalKey">
|
||||
<sql>contact_id</sql>
|
||||
<target_class>Contact</target_class>
|
||||
<filter><![CDATA[SELECT Contact WHERE org_id IN (:this->customer_id, :this->provider_id)]]></filter>
|
||||
<dependencies>
|
||||
<attribute id="contract_id"/>
|
||||
</dependencies>
|
||||
<is_null_allowed>false</is_null_allowed>
|
||||
<on_target_delete>DEL_AUTO</on_target_delete>
|
||||
</field>
|
||||
@@ -794,6 +806,12 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<item id="contract_id">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
<item id="customer_id">
|
||||
<rank>30</rank>
|
||||
</item>
|
||||
<item id="provider_id">
|
||||
<rank>40</rank>
|
||||
</item>
|
||||
</items>
|
||||
</details>
|
||||
<search>
|
||||
@@ -866,9 +884,21 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<extkey_attcode>contract_id</extkey_attcode>
|
||||
<target_attcode>name</target_attcode>
|
||||
</field>
|
||||
<field id="customer_id" xsi:type="AttributeExternalField">
|
||||
<extkey_attcode>contract_id</extkey_attcode>
|
||||
<target_attcode>org_id</target_attcode>
|
||||
</field>
|
||||
<field id="provider_id" xsi:type="AttributeExternalField">
|
||||
<extkey_attcode>contract_id</extkey_attcode>
|
||||
<target_attcode>provider_id</target_attcode>
|
||||
</field>
|
||||
<field id="document_id" xsi:type="AttributeExternalKey">
|
||||
<sql>document_id</sql>
|
||||
<target_class>Document</target_class>
|
||||
<filter><![CDATA[SELECT Document WHERE org_id IN (:this->customer_id, :this->provider_id)]]></filter>
|
||||
<dependencies>
|
||||
<attribute id="contract_id"/>
|
||||
</dependencies>
|
||||
<is_null_allowed>false</is_null_allowed>
|
||||
<on_target_delete>DEL_AUTO</on_target_delete>
|
||||
</field>
|
||||
@@ -1013,6 +1043,10 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="status"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<fields_semantic>
|
||||
<image_attribute>icon</image_attribute>
|
||||
@@ -1228,6 +1262,16 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
</item>
|
||||
</items>
|
||||
</list>
|
||||
<summary>
|
||||
<items>
|
||||
<item id="org_id">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="description">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
</items>
|
||||
</summary>
|
||||
</presentation>
|
||||
</class>
|
||||
<class id="lnkDocumentToService" _delta="define">
|
||||
@@ -1429,6 +1473,10 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="service_provider"></attribute>
|
||||
<attribute id="status"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<fields_semantic>
|
||||
<state_attribute>status</state_attribute>
|
||||
@@ -1581,6 +1629,19 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
</item>
|
||||
</items>
|
||||
</list>
|
||||
<summary>
|
||||
<items>
|
||||
<item id="service_provider">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="request_type">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
<item id="description">
|
||||
<rank>30</rank>
|
||||
</item>
|
||||
</items>
|
||||
</summary>
|
||||
</presentation>
|
||||
</class>
|
||||
<class id="SLA" _delta="define">
|
||||
@@ -2083,9 +2144,17 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<extkey_attcode>customercontract_id</extkey_attcode>
|
||||
<target_attcode>name</target_attcode>
|
||||
</field>
|
||||
<field id="provider_id" xsi:type="AttributeExternalField">
|
||||
<extkey_attcode>customercontract_id</extkey_attcode>
|
||||
<target_attcode>provider_id</target_attcode>
|
||||
</field>
|
||||
<field id="service_id" xsi:type="AttributeExternalKey">
|
||||
<sql>service_id</sql>
|
||||
<target_class>Service</target_class>
|
||||
<filter><![CDATA[SELECT Service WHERE org_id = :this->provider_id]]></filter>
|
||||
<dependencies>
|
||||
<attribute id="customercontract_id"/>
|
||||
</dependencies>
|
||||
<is_null_allowed>false</is_null_allowed>
|
||||
<on_target_delete>DEL_AUTO</on_target_delete>
|
||||
</field>
|
||||
@@ -2182,16 +2251,6 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
</uniqueness_rules>
|
||||
</properties>
|
||||
<fields>
|
||||
<field id="service_id" xsi:type="AttributeExternalKey">
|
||||
<sql>service_id</sql>
|
||||
<target_class>Service</target_class>
|
||||
<is_null_allowed>false</is_null_allowed>
|
||||
<on_target_delete>DEL_AUTO</on_target_delete>
|
||||
</field>
|
||||
<field id="service_name" xsi:type="AttributeExternalField">
|
||||
<extkey_attcode>service_id</extkey_attcode>
|
||||
<target_attcode>name</target_attcode>
|
||||
</field>
|
||||
<field id="providercontract_id" xsi:type="AttributeExternalKey">
|
||||
<sql>providercontract_id</sql>
|
||||
<target_class>ProviderContract</target_class>
|
||||
@@ -2202,6 +2261,24 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<extkey_attcode>providercontract_id</extkey_attcode>
|
||||
<target_attcode>name</target_attcode>
|
||||
</field>
|
||||
<field id="provider_id" xsi:type="AttributeExternalField">
|
||||
<extkey_attcode>providercontract_id</extkey_attcode>
|
||||
<target_attcode>provider_id</target_attcode>
|
||||
</field>
|
||||
<field id="service_id" xsi:type="AttributeExternalKey">
|
||||
<sql>service_id</sql>
|
||||
<target_class>Service</target_class>
|
||||
<filter><![CDATA[SELECT Service WHERE org_id = :this->provider_id]]></filter>
|
||||
<dependencies>
|
||||
<attribute id="providercontract_id"/>
|
||||
</dependencies>
|
||||
<is_null_allowed>false</is_null_allowed>
|
||||
<on_target_delete>DEL_AUTO</on_target_delete>
|
||||
</field>
|
||||
<field id="service_name" xsi:type="AttributeExternalField">
|
||||
<extkey_attcode>service_id</extkey_attcode>
|
||||
<target_attcode>name</target_attcode>
|
||||
</field>
|
||||
</fields>
|
||||
<methods/>
|
||||
<presentation>
|
||||
|
||||
@@ -224,6 +224,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:Service' => 'Service',
|
||||
'Class:Service+' => '',
|
||||
'Class:Service/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:Service/Attribute:name' => 'Name',
|
||||
'Class:Service/Attribute:name+' => '',
|
||||
'Class:Service/Attribute:org_id' => 'Provider',
|
||||
@@ -303,6 +304,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:ServiceSubcategory' => 'Service Subcategory',
|
||||
'Class:ServiceSubcategory+' => '',
|
||||
'Class:ServiceSubcategory/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:ServiceSubcategory/Attribute:name' => 'Name',
|
||||
'Class:ServiceSubcategory/Attribute:name+' => '',
|
||||
'Class:ServiceSubcategory/Attribute:description' => 'Description',
|
||||
|
||||
@@ -14,6 +14,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="location_name"/>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-server-storage.svg</icon>
|
||||
@@ -261,6 +265,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="location_name"/>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-switch-san.svg</icon>
|
||||
@@ -504,6 +512,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="location_name"/>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-tape-library.svg</icon>
|
||||
@@ -748,6 +760,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="location_name"/>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-nas.svg</icon>
|
||||
|
||||
@@ -407,6 +407,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="email"></attribute>
|
||||
<attribute id="org_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<fields_semantic>
|
||||
<state_attribute>status</state_attribute>
|
||||
@@ -642,6 +646,13 @@
|
||||
</rule>
|
||||
</uniqueness_rules>
|
||||
</properties>
|
||||
<event_listeners>
|
||||
<event_listener id="CheckUsersUpdate">
|
||||
<event>EVENT_DB_CHECK_TO_WRITE</event>
|
||||
<callback>CheckUsersOnUpdate</callback>
|
||||
<rank>1</rank>
|
||||
</event_listener>
|
||||
</event_listeners>
|
||||
<fields>
|
||||
<field id="picture" xsi:type="AttributeImage">
|
||||
<display_max_width>96</display_max_width>
|
||||
@@ -712,6 +723,40 @@
|
||||
</field>
|
||||
</fields>
|
||||
<methods>
|
||||
<method id="CheckUsersOnUpdate">
|
||||
<static>false</static>
|
||||
<access>public</access>
|
||||
<type>EventListener</type>
|
||||
<code><![CDATA[ public function CheckUsersOnUpdate(Combodo\iTop\Service\Events\EventData $oEventData)
|
||||
{
|
||||
// This method can block the Person modification, by adding a Check Issue
|
||||
$aChanges = $this->ListChanges();
|
||||
// Current User may not be allowed to see User class, so we can't use $this->Get('user_list')
|
||||
$oSearch = new DBObjectSearch('User');
|
||||
$oSearch->AddCondition('contactid', $this->GetKey(), '=');
|
||||
$oSearch->AllowAllData();
|
||||
$oUserSet = new DBObjectSet($oSearch);
|
||||
|
||||
// The organization's person was changed and it has associated Users
|
||||
if (array_key_exists('org_id', $aChanges) && ($oUserSet->Count() > 0)) {
|
||||
while($oUser = $oUserSet->Fetch())
|
||||
{
|
||||
$oAddon = UserRights::GetModuleInstance();
|
||||
$aOrgs = $oAddon->GetUserOrgs($oUser,'Organization');
|
||||
$oSet = $oUser->Get('profile_list');
|
||||
$aProfiles = $oSet->GetColumnAsArray('profile');
|
||||
|
||||
// User is not allowed on the new Organization and has 'Portal user' Profile and is enabled
|
||||
if ((count($aOrgs) > 0) && !in_array($this->Get('org_id'), $aOrgs) && in_array('Portal user',$aProfiles) && ($oUser->Get('status') === 'enabled'))
|
||||
{ // Let's block the Person modification,
|
||||
// replace by $this->AddCheckWarning(...) if you don't want to block the modification
|
||||
$this->AddCheckIssue(Dict::Format('Class:Person/Error:ChangingOrgDenied', $this->Get('org_id_friendlyname')));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]]></code>
|
||||
</method>
|
||||
<method id="CheckToDelete">
|
||||
<static>false</static>
|
||||
<access>public</access>
|
||||
@@ -1261,6 +1306,11 @@
|
||||
<db_final_class_field>finalclass</db_final_class_field>
|
||||
<naming>
|
||||
<attributes/>
|
||||
<complementary_attributes>
|
||||
<attribute id="org_name"></attribute>
|
||||
<attribute id="status"></attribute>
|
||||
<attribute id="documenttype_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<fields_semantic>
|
||||
<state_attribute>status</state_attribute>
|
||||
|
||||
@@ -119,6 +119,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:Contact' => 'Contact',
|
||||
'Class:Contact+' => '',
|
||||
'Class:Contact/ComplementaryName' => '%1$s - %2$s',
|
||||
'Class:Contact/Attribute:name' => 'Name',
|
||||
'Class:Contact/Attribute:name+' => '',
|
||||
'Class:Contact/Attribute:status' => 'Status',
|
||||
@@ -187,6 +188,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:Person/UniquenessRule:employee_number' => 'there is already a person in \'$this->org_name$\' organization with the same employee number',
|
||||
'Class:Person/UniquenessRule:name+' => 'The employee name should be unique inside its organization',
|
||||
'Class:Person/UniquenessRule:name' => 'There is already a person in \'$this->org_name$\' organization with the same name',
|
||||
'Class:Person/Error:ChangingOrgDenied' => 'Impossible to move this person under organization \'%1$s\' as it would break his access to the User Portal, his associated user not being allowed on this organization',
|
||||
));
|
||||
|
||||
//
|
||||
@@ -210,6 +212,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:Document' => 'Document',
|
||||
'Class:Document+' => '',
|
||||
'Class:Document/ComplementaryName' => '%1$s - %2$s - %3$s',
|
||||
'Class:Document/Attribute:name' => 'Name',
|
||||
'Class:Document/Attribute:name+' => '',
|
||||
'Class:Document/Attribute:org_id' => 'Organization',
|
||||
|
||||
@@ -196,6 +196,7 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
\'$this->org_name$\'',
|
||||
'Class:Person/UniquenessRule:name+' => 'Le nom de l\'employé devrait être unique dans l\'organisation',
|
||||
'Class:Person/UniquenessRule:name' => 'Il y a déjà une personne avec ce nom dans l\'organisation \'$this->org_name$\'',
|
||||
'Class:Person/Error:ChangingOrgDenied' => 'Impossible de déplacer cette personne sous l\'organisation \'%1$s\', cela casserait son accès au portail utilisateur, car il n\'a pas le droit de voir cette organisation',
|
||||
));
|
||||
|
||||
//
|
||||
|
||||
@@ -192,7 +192,7 @@ if (!class_exists('StructureInstaller'))
|
||||
// Build the corresponding action and link it to the triggers
|
||||
if (count($aCreatedTriggerIds) > 0) {
|
||||
$oAction = MetaModel::NewObject('ActionEmail');
|
||||
$oAction->Set('name', 'Notification to persons mentioned in case logs');
|
||||
$oAction->Set('name', 'Notification to persons mentioned in logs');
|
||||
$oAction->Set('status', 'enabled');
|
||||
$oAction->Set('from', '$current_contact->email$');
|
||||
$oAction->Set('to', 'SELECT Person WHERE id = :mentioned->id');
|
||||
|
||||
@@ -14,6 +14,9 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<fields_semantic>
|
||||
<state_attribute>status</state_attribute>
|
||||
@@ -153,6 +156,9 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon/>
|
||||
@@ -275,6 +281,9 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-hypervisor.svg</icon>
|
||||
@@ -418,6 +427,9 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-farm.svg</icon>
|
||||
@@ -541,6 +553,10 @@
|
||||
<attributes>
|
||||
<attribute id="name"/>
|
||||
</attributes>
|
||||
<complementary_attributes>
|
||||
<attribute id="organization_name"></attribute>
|
||||
<attribute id="virtualhost_name"></attribute>
|
||||
</complementary_attributes>
|
||||
</naming>
|
||||
<style>
|
||||
<icon>../../images/icons/icons8-virtual-machine.svg</icon>
|
||||
|
||||
@@ -337,9 +337,9 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
|
||||
'BooleanLabel:no' => 'ne',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
|
||||
'Menu:WelcomeMenu' => 'Vítejte',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => 'Vítejte v '.ITOP_APPLICATION_SHORT,// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => 'Vítejte v '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Vítejte',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => 'Vítejte v '.ITOP_APPLICATION_SHORT,// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => 'Vítejte v '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => 'Vítejte v '.ITOP_APPLICATION_SHORT,
|
||||
|
||||
'UI:WelcomeMenu:LeftBlock' => '<p>'.ITOP_APPLICATION_SHORT.' je komplexní „opensource” provozní IT portál.</p>
|
||||
@@ -1140,58 +1140,51 @@ We hope you’ll enjoy this version as much as we enjoyed imagining and creating
|
||||
'UI:Button:PreviewModifications' => 'Náhled úprav >>',
|
||||
'UI:ModifiedObject' => 'Objekt upraven',
|
||||
'UI:BulkModifyStatus' => 'Stav',
|
||||
'UI:BulkModifyStatus+' => 'Stav operace',
|
||||
'UI:BulkModifyErrors' => 'Chyby',
|
||||
'UI:BulkModifyErrors+' => 'Chyby zabraňující úpravám',
|
||||
'UI:BulkModifyStatusOk' => 'OK',
|
||||
'UI:BulkModifyStatusError' => 'Chyba',
|
||||
'UI:BulkModifyStatusModified' => 'Upraveno',
|
||||
'UI:BulkModifyStatusSkipped' => 'Vynecháno',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d odlišných hodnot:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s existuje %2$dx',
|
||||
'UI:BulkModify:N_MoreValues' => 'o %1$d více hodnot...',
|
||||
'UI:BulkModifyStatus+' => 'Stav operace',
|
||||
'UI:BulkModifyErrors' => 'Chyby',
|
||||
'UI:BulkModifyErrors+' => 'Chyby zabraňující úpravám',
|
||||
'UI:BulkModifyStatusOk' => 'OK',
|
||||
'UI:BulkModifyStatusError' => 'Chyba',
|
||||
'UI:BulkModifyStatusModified' => 'Upraveno',
|
||||
'UI:BulkModifyStatusSkipped' => 'Vynecháno',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d odlišných hodnot:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s existuje %2$dx',
|
||||
'UI:BulkModify:N_MoreValues' => 'o %1$d více hodnot...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Pokoušíte se upravit pole jen pro čtení: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'Akce se nezdařila.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Upravuji %2$d objekt(ů) třídy %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Zadejte text zde:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'Počáteční hodnota:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'Pole %1$s není zapisovatelné, protože je spravováno synchronizací dat.',
|
||||
'UI:ActionNotAllowed' => 'Nemáte oprávnění provádět tuto akci na těchto objektech.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Vyberte prosím alespoň jeden objekt',
|
||||
'UI:FailedToApplyStimuli' => 'Akce se nezdařila.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Upravuji %2$d objekt(ů) třídy %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Zadejte text zde:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'Počáteční hodnota:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'Pole %1$s není zapisovatelné, protože je spravováno synchronizací dat.',
|
||||
'UI:ActionNotAllowed' => 'Nemáte oprávnění provádět tuto akci na těchto objektech.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Vyberte prosím alespoň jeden objekt',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'Pole %1$s není zapisovatelné, protože je spravováno synchronizací dat.',
|
||||
'UI:Pagination:HeaderSelection' => 'Celkem: %1$s objektů (%2$s objektů vybráno).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Celkem objektů: %1$s',
|
||||
'UI:Pagination:PageSize' => '%1$s objektů na stránku',
|
||||
'UI:Pagination:PagesLabel' => 'Stránek:',
|
||||
'UI:Pagination:All' => 'Vše',
|
||||
|
||||
'UI:Basket:Back' => 'Back~~',
|
||||
'UI:Basket:First' => 'First~~',
|
||||
'UI:Basket:Previous' => 'Previous~~',
|
||||
'UI:Basket:Next' => 'Next~~',
|
||||
'UI:Basket:Last' => 'Last~~',
|
||||
|
||||
'UI:HierarchyOf_Class' => 'Hierarchie %1$s',
|
||||
'UI:Preferences' => 'Předvolby',
|
||||
'UI:ArchiveModeOn' => 'Activate archive mode~~',
|
||||
'UI:ArchiveModeOff' => 'Deactivate archive mode~~',
|
||||
'UI:ArchiveMode:Banner' => 'Archive mode~~',
|
||||
'UI:ArchiveMode:Banner+' => 'Archived objects are visible, and no modification is allowed~~',
|
||||
'UI:FavoriteOrganizations' => 'Oblíbené organizace',
|
||||
'UI:FavoriteOrganizations+' => 'Zaškrtněte, které organizace chcete vidět v rozbalovacím menu pro rychlý přístup. Mějte na paměti, že toto není bezpečnostní opatření. Objekty všech organizací jsou pořád viditelné a přístupné vybráním "Všechny organizace" z rozbalovacího menu.',
|
||||
'UI:FavoriteLanguage' => 'Jazyk uživatelského rozhraní~~',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Preferovaný jazyk:',
|
||||
'UI:FavoriteOtherSettings' => 'Další nastavení',
|
||||
'UI:Pagination:HeaderSelection' => 'Celkem: %1$s objektů (%2$s objektů vybráno).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Celkem objektů: %1$s',
|
||||
'UI:Pagination:PageSize' => '%1$s objektů na stránku',
|
||||
'UI:Pagination:PagesLabel' => 'Stránek:',
|
||||
'UI:Pagination:All' => 'Vše',
|
||||
'UI:HierarchyOf_Class' => 'Hierarchie %1$s',
|
||||
'UI:Preferences' => 'Předvolby',
|
||||
'UI:ArchiveModeOn' => 'Activate archive mode~~',
|
||||
'UI:ArchiveModeOff' => 'Deactivate archive mode~~',
|
||||
'UI:ArchiveMode:Banner' => 'Archive mode~~',
|
||||
'UI:ArchiveMode:Banner+' => 'Archived objects are visible, and no modification is allowed~~',
|
||||
'UI:FavoriteOrganizations' => 'Oblíbené organizace',
|
||||
'UI:FavoriteOrganizations+' => 'Zaškrtněte, které organizace chcete vidět v rozbalovacím menu pro rychlý přístup. Mějte na paměti, že toto není bezpečnostní opatření. Objekty všech organizací jsou pořád viditelné a přístupné vybráním "Všechny organizace" z rozbalovacího menu.',
|
||||
'UI:FavoriteLanguage' => 'Jazyk uživatelského rozhraní~~',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Preferovaný jazyk:',
|
||||
'UI:FavoriteOtherSettings' => 'Další nastavení',
|
||||
'UI:Favorites:Default_X_ItemsPerPage' => 'Výchozí délka seznamů: %1$s položek na stránku~~',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Show obsolete data~~',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Show obsolete data in search results and lists of items to select~~',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Všechny úpravy budou zahozeny.',
|
||||
'UI:CancelConfirmationMessage' => 'Přijdete o všechny změny. Přejete si přesto pokračovat?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Některé změny nebyly dosud použity. Chcete aby je '.ITOP_APPLICATION_SHORT.' zohlednil?',
|
||||
'UI:Create_Class_InState' => 'Vytvořit %1$s ve stavu: ',
|
||||
'UI:OrderByHint_Values' => 'Řadit dle: %1$s',
|
||||
'UI:Menu:AddToDashboard' => 'Přidat na Dashboard...',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Show obsolete data~~',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Show obsolete data in search results and lists of items to select~~',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Všechny úpravy budou zahozeny.',
|
||||
'UI:CancelConfirmationMessage' => 'Přijdete o všechny změny. Přejete si přesto pokračovat?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Některé změny nebyly dosud použity. Chcete aby je '.ITOP_APPLICATION_SHORT.' zohlednil?',
|
||||
'UI:Create_Class_InState' => 'Vytvořit %1$s ve stavu: ',
|
||||
'UI:OrderByHint_Values' => 'Řadit dle: %1$s',
|
||||
'UI:Menu:AddToDashboard' => 'Přidat na Dashboard...',
|
||||
'UI:Button:Refresh' => 'Obnovit',
|
||||
'UI:Button:GoPrint' => 'Tisknout',
|
||||
'UI:ExplainPrintable' => 'Klikněte na ikonu %1$s pro skrytí položek v tisku.<br/>Tato hlavička a ostatní nastavení nebudou vytištěny.',
|
||||
|
||||
@@ -322,18 +322,14 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
|
||||
//
|
||||
|
||||
Dict::Add('DA DA', 'Danish', 'Dansk', array(
|
||||
'BooleanLabel:yes' => 'yes~~',
|
||||
'BooleanLabel:no' => 'no~~',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
|
||||
'Menu:WelcomeMenu' => 'Velkomen',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => 'Velkommen til '.ITOP_APPLICATION_SHORT,
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Velkomen',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => 'Velkommen til '.ITOP_APPLICATION_SHORT,
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => 'Velkommen til '.ITOP_APPLICATION_SHORT,
|
||||
'BooleanLabel:yes' => 'yes~~',
|
||||
'BooleanLabel:no' => 'no~~',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
|
||||
'Menu:WelcomeMenu' => 'Velkomen',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => 'Velkommen til '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Velkomen',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => 'Velkommen til '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => 'Velkommen til '.ITOP_APPLICATION_SHORT,
|
||||
|
||||
'UI:WelcomeMenu:LeftBlock' => '<p>'.ITOP_APPLICATION_SHORT.' er en komplet, OpenSource, webbaseret IT-Service-Management-Værktøj.</p>
|
||||
<ul>Den inkluderer:
|
||||
@@ -346,7 +342,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
|
||||
</ul>
|
||||
<p>Alle moduler kan installeres, step by step, uafhængigt af hinanden.</p>',
|
||||
|
||||
'UI:WelcomeMenu:RightBlock' => '<p>'.ITOP_APPLICATION_SHORT.' er service udbyder orienteret, det tillader let IT teknikere at administrere flere kunder eller organisationer.
|
||||
'UI:WelcomeMenu:RightBlock' => '<p>'.ITOP_APPLICATION_SHORT.' er service udbyder orienteret, det tillader let IT teknikere at administrere flere kunder eller organisationer.
|
||||
<ul>iTop, leverer et feature-rich sæt af forretnings processer som:
|
||||
<li>Forøger IT administrationens effektivitet</li>
|
||||
<li>Drives IT operations performance</li>
|
||||
@@ -1120,72 +1116,65 @@ Ved tilknytningen til en trigger, bliver hver handling tildelt et "rækkefølge"
|
||||
'Portal:Button:UpdateRequest' => 'Opdater denne anmodning',
|
||||
'Portal:EnterYourCommentsOnTicket' => 'Indtast din kommentar til løsningen af denne:',
|
||||
'Portal:ErrorNoContactForThisUser' => 'Fejl: nuværnede bruger er ikke tilknyttet en Kontact/Person. Kontakt venligst din administrator.',
|
||||
'Portal:Attachments' => 'Vedhæftninger',
|
||||
'Portal:AddAttachment' => ' Vedhæft fil ',
|
||||
'Portal:RemoveAttachment' => ' Fjern vedhæftning ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Vedhæftning #%1$d til %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => 'Vælg en skabelon for %1$s',
|
||||
'Enum:Undefined' => 'Udefineret',
|
||||
'Portal:Attachments' => 'Vedhæftninger',
|
||||
'Portal:AddAttachment' => ' Vedhæft fil ',
|
||||
'Portal:RemoveAttachment' => ' Fjern vedhæftning ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Vedhæftning #%1$d til %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => 'Vælg en skabelon for %1$s',
|
||||
'Enum:Undefined' => 'Udefineret',
|
||||
'UI:DurationForm_Days_Hours_Minutes_Seconds' => '%1$s Dage %2$s Timer %3$s Minutter %4$s Sekunder',
|
||||
'UI:ModifyAllPageTitle' => 'Modificer Alle',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Ændrer %1$d objekter af klasse %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Ændrer %1$d objekter af klasse %2$s ud af %3$d',
|
||||
'UI:Menu:ModifyAll' => 'Modificer...',
|
||||
'UI:Button:ModifyAll' => 'Modificer Alle',
|
||||
'UI:Button:PreviewModifications' => 'Preview Ændringer >>',
|
||||
'UI:ModifiedObject' => 'Objekt Ændret',
|
||||
'UI:BulkModifyStatus' => 'Operation',
|
||||
'UI:BulkModifyStatus+' => '',
|
||||
'UI:BulkModifyErrors' => 'Fejl (hvis nogen)',
|
||||
'UI:BulkModifyErrors+' => '',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'Fejl',
|
||||
'UI:BulkModifyStatusModified' => 'Ændret',
|
||||
'UI:BulkModifyStatusSkipped' => 'Sprunget over',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d distinkte værdier:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d gang(e)',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d flere værdier...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Forsøger at skrivebeskytte feltet: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'Handlingen fejlede.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Ændrer %2$d objekter af klasse %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Skriv din tekst her:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'Begyndelses værdi:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'Feltet %1$s er skrivebeskyttet, fordi det administreres af data synchronization. Værdien er ikke sat.',
|
||||
'UI:ActionNotAllowed' => 'Du har ikke tilladelse til at foretage denne handling op disse objekter.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Vælg venligst mindst et objekt for at foretage denne handling',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'Feltet %1$s er skrivebeskyttet, fordi det administreres af data synchronization. Værdien forbliver uændret.',
|
||||
'UI:Pagination:HeaderSelection' => 'Total: %1$s objekter (%2$s objekter valgt).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Total: %1$s objekter.',
|
||||
'UI:Pagination:PageSize' => '%1$s objekter per side',
|
||||
'UI:Pagination:PagesLabel' => 'Sider:',
|
||||
'UI:Pagination:All' => 'Alle',
|
||||
|
||||
'UI:Basket:Back' => 'Back~~',
|
||||
'UI:Basket:First' => 'First~~',
|
||||
'UI:Basket:Previous' => 'Previous~~',
|
||||
'UI:Basket:Next' => 'Next~~',
|
||||
'UI:Basket:Last' => 'Last~~',
|
||||
|
||||
'UI:HierarchyOf_Class' => 'Hierarchy af %1$s',
|
||||
'UI:Preferences' => 'Indstillinger...',
|
||||
'UI:ArchiveModeOn' => 'Activate archive mode~~',
|
||||
'UI:ArchiveModeOff' => 'Deactivate archive mode~~',
|
||||
'UI:ArchiveMode:Banner' => 'Archive mode~~',
|
||||
'UI:ArchiveMode:Banner+' => 'Archived objects are visible, and no modification is allowed~~',
|
||||
'UI:FavoriteOrganizations' => 'Favorit Organisationer',
|
||||
'UI:FavoriteOrganizations+' => '',
|
||||
'UI:FavoriteLanguage' => 'Sprog i brugergrænseflade~~',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Vælg dit foretrukne sprog',
|
||||
'UI:FavoriteOtherSettings' => 'Andre indstillinger',
|
||||
'UI:ModifyAllPageTitle' => 'Modificer Alle',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Ændrer %1$d objekter af klasse %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Ændrer %1$d objekter af klasse %2$s ud af %3$d',
|
||||
'UI:Menu:ModifyAll' => 'Modificer...',
|
||||
'UI:Button:ModifyAll' => 'Modificer Alle',
|
||||
'UI:Button:PreviewModifications' => 'Preview Ændringer >>',
|
||||
'UI:ModifiedObject' => 'Objekt Ændret',
|
||||
'UI:BulkModifyStatus' => 'Operation',
|
||||
'UI:BulkModifyStatus+' => '',
|
||||
'UI:BulkModifyErrors' => 'Fejl (hvis nogen)',
|
||||
'UI:BulkModifyErrors+' => '',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'Fejl',
|
||||
'UI:BulkModifyStatusModified' => 'Ændret',
|
||||
'UI:BulkModifyStatusSkipped' => 'Sprunget over',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d distinkte værdier:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d gang(e)',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d flere værdier...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Forsøger at skrivebeskytte feltet: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'Handlingen fejlede.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Ændrer %2$d objekter af klasse %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Skriv din tekst her:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'Begyndelses værdi:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'Feltet %1$s er skrivebeskyttet, fordi det administreres af data synchronization. Værdien er ikke sat.',
|
||||
'UI:ActionNotAllowed' => 'Du har ikke tilladelse til at foretage denne handling op disse objekter.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Vælg venligst mindst et objekt for at foretage denne handling',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'Feltet %1$s er skrivebeskyttet, fordi det administreres af data synchronization. Værdien forbliver uændret.',
|
||||
'UI:Pagination:HeaderSelection' => 'Total: %1$s objekter (%2$s objekter valgt).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Total: %1$s objekter.',
|
||||
'UI:Pagination:PageSize' => '%1$s objekter per side',
|
||||
'UI:Pagination:PagesLabel' => 'Sider:',
|
||||
'UI:Pagination:All' => 'Alle',
|
||||
'UI:HierarchyOf_Class' => 'Hierarchy af %1$s',
|
||||
'UI:Preferences' => 'Indstillinger...',
|
||||
'UI:ArchiveModeOn' => 'Activate archive mode~~',
|
||||
'UI:ArchiveModeOff' => 'Deactivate archive mode~~',
|
||||
'UI:ArchiveMode:Banner' => 'Archive mode~~',
|
||||
'UI:ArchiveMode:Banner+' => 'Archived objects are visible, and no modification is allowed~~',
|
||||
'UI:FavoriteOrganizations' => 'Favorit Organisationer',
|
||||
'UI:FavoriteOrganizations+' => '',
|
||||
'UI:FavoriteLanguage' => 'Sprog i brugergrænseflade~~',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Vælg dit foretrukne sprog',
|
||||
'UI:FavoriteOtherSettings' => 'Andre indstillinger',
|
||||
'UI:Favorites:Default_X_ItemsPerPage' => 'Default længde for lister: %1$s emner per side~~',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Show obsolete data~~',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Show obsolete data in search results and lists of items to select~~',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Enhver ændring vil blive kasseret.',
|
||||
'UI:CancelConfirmationMessage' => 'Du vil miste dine ændringer. Fortsæt alligevel?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Nogle ændringer er ikke gemt endnu. Ønsker du at itop skal tage hensyn til dem?',
|
||||
'UI:Create_Class_InState' => 'Opret %1$s i tilstand: ',
|
||||
'UI:OrderByHint_Values' => 'Sorterings orden: %1$s',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Show obsolete data~~',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Show obsolete data in search results and lists of items to select~~',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Enhver ændring vil blive kasseret.',
|
||||
'UI:CancelConfirmationMessage' => 'Du vil miste dine ændringer. Fortsæt alligevel?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Nogle ændringer er ikke gemt endnu. Ønsker du at itop skal tage hensyn til dem?',
|
||||
'UI:Create_Class_InState' => 'Opret %1$s i tilstand: ',
|
||||
'UI:OrderByHint_Values' => 'Sorterings orden: %1$s',
|
||||
'UI:Menu:AddToDashboard' => 'Tilføj til Dashboard...',
|
||||
'UI:Button:Refresh' => 'Opdater',
|
||||
'UI:Button:GoPrint' => 'Print...~~',
|
||||
|
||||
@@ -362,18 +362,14 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
//
|
||||
|
||||
Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'BooleanLabel:yes' => 'Ja',
|
||||
'BooleanLabel:no' => 'Nein',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' Login',
|
||||
'Menu:WelcomeMenu' => 'Willkommen',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => 'Willkommen bei '.ITOP_APPLICATION_SHORT,
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Willkommen',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => 'Willkommen bei '.ITOP_APPLICATION_SHORT,
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => 'Willkommen bei '.ITOP_APPLICATION_SHORT,
|
||||
'BooleanLabel:yes' => 'Ja',
|
||||
'BooleanLabel:no' => 'Nein',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' Login',
|
||||
'Menu:WelcomeMenu' => 'Willkommen',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => 'Willkommen bei '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Willkommen',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => 'Willkommen bei '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => 'Willkommen bei '.ITOP_APPLICATION_SHORT,
|
||||
|
||||
'UI:WelcomeMenu:LeftBlock' => '<p>'.ITOP_APPLICATION_SHORT.' ist ein ein vollständiges, ITIL- und webbasiertes IT-Service-Management-Tool (ITSM)</p>
|
||||
<ul>Es umfasst...
|
||||
@@ -386,7 +382,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
</ul>
|
||||
<p>Alle Module können nacheinander und vollständig unabhängig voneinander eingerichtet werden.</p>',
|
||||
|
||||
'UI:WelcomeMenu:RightBlock' => '<p>'.ITOP_APPLICATION_SHORT.' ist mandantenfähig, es erlaubt IT-Technikern, auf einfache Art eine Vielzahl an Kunden und Firmen zu verwalten.
|
||||
'UI:WelcomeMenu:RightBlock' => '<p>'.ITOP_APPLICATION_SHORT.' ist mandantenfähig, es erlaubt IT-Technikern, auf einfache Art eine Vielzahl an Kunden und Firmen zu verwalten.
|
||||
<ul>'.ITOP_APPLICATION_SHORT.' bietet ein umfangreiches Set an Business-Prozessen, die
|
||||
<li>die Effizienz des IT-Managements steigern,</li>
|
||||
<li>die die Performance des IT-Betriebs steuern,</li>
|
||||
@@ -1159,72 +1155,65 @@ Wenn Aktionen mit Trigger verknüpft sind, bekommt jede Aktion eine Auftragsnumm
|
||||
'Portal:Button:UpdateRequest' => 'Request aktualisieren',
|
||||
'Portal:EnterYourCommentsOnTicket' => 'Geben Sie einen Kommentar zur Lösung dieses Tickets ein:',
|
||||
'Portal:ErrorNoContactForThisUser' => 'Fehler: der derzeitige Benutzer wurde nicht einem Kontakt oder einer Person zugewiesen. Bitte kontaktieren Sie Ihren Administrator.',
|
||||
'Portal:Attachments' => 'Attachments',
|
||||
'Portal:AddAttachment' => ' Attachment hinzufügen',
|
||||
'Portal:RemoveAttachment' => 'Attachment entfernen',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Attachment #%1$d an %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => 'Wählen Sie eine Template für %1$s',
|
||||
'Enum:Undefined' => 'Nicht definiert',
|
||||
'Portal:Attachments' => 'Attachments',
|
||||
'Portal:AddAttachment' => ' Attachment hinzufügen',
|
||||
'Portal:RemoveAttachment' => 'Attachment entfernen',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Attachment #%1$d an %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => 'Wählen Sie eine Template für %1$s',
|
||||
'Enum:Undefined' => 'Nicht definiert',
|
||||
'UI:DurationForm_Days_Hours_Minutes_Seconds' => '%1$s Tage %2$s Stunden %3$s Minuten %4$s Sekunden',
|
||||
'UI:ModifyAllPageTitle' => 'Alle modifizieren',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Modifiziere %1$d Objekte der Klasse %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Modifiziere %1$d Objekte der Klasse %2$s von insgesamt %3$d',
|
||||
'UI:Menu:ModifyAll' => 'Modifizieren...',
|
||||
'UI:Button:ModifyAll' => 'Alle modifizieren',
|
||||
'UI:Button:PreviewModifications' => 'Vorschau auf Modifikationen >>',
|
||||
'UI:ModifiedObject' => 'Objekt modifiziert',
|
||||
'UI:BulkModifyStatus' => 'Operation',
|
||||
'UI:BulkModifyStatus+' => '',
|
||||
'UI:BulkModifyErrors' => 'Fehler (falls vorhanden)',
|
||||
'UI:BulkModifyErrors+' => '',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'Fehler',
|
||||
'UI:BulkModifyStatusModified' => 'Modifiziert',
|
||||
'UI:BulkModifyStatusSkipped' => 'Übersprungen',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d unterschiedliche Werte:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d mal',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d weitere Werte...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Versuche, Read-Only-Feld zu setzen: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'Der Vorgang ist fehlgeschlagen.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Modifiziere %2$d Objekte der Klasse %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Geben Sie Ihren Text hier ein:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'Anfangswert:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'Das Feld %1$s ist nicht beschreibbar, weil es durch die Datensynchronisation geführt wird. Wert nicht gesetzt.',
|
||||
'UI:ActionNotAllowed' => 'Sie haben nicht die Berechtigung, diese Aktion auf diesen Objekten auszuführen.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Bitte wählen Sie mindestens ein Objekt, um diese Aktion auszuführen.',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'Das Feld %1$s ist nicht beschreibbar, weil es durch die Datensynchronisation geführt wird. Wert bleibt unverändert.',
|
||||
'UI:Pagination:HeaderSelection' => 'Gesamt: %1$s Objekte (%2$s Objekte ausgewählt).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Gesamt: %1$s Objekte.',
|
||||
'UI:Pagination:PageSize' => '%1$s Objekte pro Seite',
|
||||
'UI:Pagination:PagesLabel' => 'Seiten:',
|
||||
'UI:Pagination:All' => 'Alles',
|
||||
|
||||
'UI:Basket:Back' => 'Back~~',
|
||||
'UI:Basket:First' => 'First~~',
|
||||
'UI:Basket:Previous' => 'Previous~~',
|
||||
'UI:Basket:Next' => 'Next~~',
|
||||
'UI:Basket:Last' => 'Last~~',
|
||||
|
||||
'UI:HierarchyOf_Class' => 'Hierarchie von %1$s',
|
||||
'UI:Preferences' => 'Einstellungen...',
|
||||
'UI:ArchiveModeOn' => 'Archivmodus aktivieren',
|
||||
'UI:ArchiveModeOff' => 'Archivmodus deaktivieren',
|
||||
'UI:ArchiveMode:Banner' => 'Archivmodus',
|
||||
'UI:ArchiveMode:Banner+' => 'Archivierte Objekte sind sichtbar, aber Veränderung ist nicht erlaubt',
|
||||
'UI:FavoriteOrganizations' => 'Bevorzugte Organisationen',
|
||||
'UI:FavoriteOrganizations+' => '',
|
||||
'UI:FavoriteLanguage' => 'Sprache des Benutzerinterfaces',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Wählen Sie Ihre bevorzugte Sprache aus',
|
||||
'UI:FavoriteOtherSettings' => 'Andere Einstellungen',
|
||||
'UI:ModifyAllPageTitle' => 'Alle modifizieren',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Modifiziere %1$d Objekte der Klasse %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Modifiziere %1$d Objekte der Klasse %2$s von insgesamt %3$d',
|
||||
'UI:Menu:ModifyAll' => 'Modifizieren...',
|
||||
'UI:Button:ModifyAll' => 'Alle modifizieren',
|
||||
'UI:Button:PreviewModifications' => 'Vorschau auf Modifikationen >>',
|
||||
'UI:ModifiedObject' => 'Objekt modifiziert',
|
||||
'UI:BulkModifyStatus' => 'Operation',
|
||||
'UI:BulkModifyStatus+' => '',
|
||||
'UI:BulkModifyErrors' => 'Fehler (falls vorhanden)',
|
||||
'UI:BulkModifyErrors+' => '',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'Fehler',
|
||||
'UI:BulkModifyStatusModified' => 'Modifiziert',
|
||||
'UI:BulkModifyStatusSkipped' => 'Übersprungen',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d unterschiedliche Werte:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d mal',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d weitere Werte...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Versuche, Read-Only-Feld zu setzen: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'Der Vorgang ist fehlgeschlagen.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Modifiziere %2$d Objekte der Klasse %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Geben Sie Ihren Text hier ein:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'Anfangswert:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'Das Feld %1$s ist nicht beschreibbar, weil es durch die Datensynchronisation geführt wird. Wert nicht gesetzt.',
|
||||
'UI:ActionNotAllowed' => 'Sie haben nicht die Berechtigung, diese Aktion auf diesen Objekten auszuführen.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Bitte wählen Sie mindestens ein Objekt, um diese Aktion auszuführen.',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'Das Feld %1$s ist nicht beschreibbar, weil es durch die Datensynchronisation geführt wird. Wert bleibt unverändert.',
|
||||
'UI:Pagination:HeaderSelection' => 'Gesamt: %1$s Objekte (%2$s Objekte ausgewählt).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Gesamt: %1$s Objekte.',
|
||||
'UI:Pagination:PageSize' => '%1$s Objekte pro Seite',
|
||||
'UI:Pagination:PagesLabel' => 'Seiten:',
|
||||
'UI:Pagination:All' => 'Alles',
|
||||
'UI:HierarchyOf_Class' => 'Hierarchie von %1$s',
|
||||
'UI:Preferences' => 'Einstellungen...',
|
||||
'UI:ArchiveModeOn' => 'Archivmodus aktivieren',
|
||||
'UI:ArchiveModeOff' => 'Archivmodus deaktivieren',
|
||||
'UI:ArchiveMode:Banner' => 'Archivmodus',
|
||||
'UI:ArchiveMode:Banner+' => 'Archivierte Objekte sind sichtbar, aber Veränderung ist nicht erlaubt',
|
||||
'UI:FavoriteOrganizations' => 'Bevorzugte Organisationen',
|
||||
'UI:FavoriteOrganizations+' => '',
|
||||
'UI:FavoriteLanguage' => 'Sprache des Benutzerinterfaces',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Wählen Sie Ihre bevorzugte Sprache aus',
|
||||
'UI:FavoriteOtherSettings' => 'Andere Einstellungen',
|
||||
'UI:Favorites:Default_X_ItemsPerPage' => 'Default-Länge für Listen: %1$s Elemente pro Seite',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Zeige obsolete (veraltete) Daten',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Zeige obsolete (veraltete) Daten in Suchresultaten und Auswahllisten von Objekten',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Jedwede Veränderung wird verworfen.',
|
||||
'UI:CancelConfirmationMessage' => 'Sie werden Ihre Änderungen verlieren. Dennoch fortfahren?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Einige Änderungen wurden noch nicht angewandt. Möchten Sie, dass '.ITOP_APPLICATION_SHORT.' diese berücksichtigt?',
|
||||
'UI:Create_Class_InState' => 'Erzeuge die/das %1$s in Status: ',
|
||||
'UI:OrderByHint_Values' => 'Sortierreihenfolge: %1$s',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Zeige obsolete (veraltete) Daten',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Zeige obsolete (veraltete) Daten in Suchresultaten und Auswahllisten von Objekten',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Jedwede Veränderung wird verworfen.',
|
||||
'UI:CancelConfirmationMessage' => 'Sie werden Ihre Änderungen verlieren. Dennoch fortfahren?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Einige Änderungen wurden noch nicht angewandt. Möchten Sie, dass '.ITOP_APPLICATION_SHORT.' diese berücksichtigt?',
|
||||
'UI:Create_Class_InState' => 'Erzeuge die/das %1$s in Status: ',
|
||||
'UI:OrderByHint_Values' => 'Sortierreihenfolge: %1$s',
|
||||
'UI:Menu:AddToDashboard' => 'Zu Dashboard hinzufügen...',
|
||||
'UI:Button:Refresh' => 'Neu laden',
|
||||
'UI:Button:GoPrint' => 'Drucken...',
|
||||
|
||||
@@ -1210,86 +1210,79 @@ When associated with a trigger, each action is given an "order" number, specifyi
|
||||
'Portal:Button:CloseTicket' => 'Close this ticket',
|
||||
'Portal:Button:UpdateRequest' => 'Update the request',
|
||||
'Portal:EnterYourCommentsOnTicket' => 'Enter your comments about the resolution of this ticket:',
|
||||
'Portal:ErrorNoContactForThisUser' => 'Error: the current user is not associated with a Contact/Person. Please contact your administrator.',
|
||||
'Portal:Attachments' => 'Attachments',
|
||||
'Portal:AddAttachment' => ' Add Attachment ',
|
||||
'Portal:RemoveAttachment' => ' Remove Attachment ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Attachment #%1$d to %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => 'Select a template for %1$s',
|
||||
'Enum:Undefined' => 'Undefined',
|
||||
'Portal:ErrorNoContactForThisUser' => 'Error: the current user is not associated with a Contact/Person. Please contact your administrator.',
|
||||
'Portal:Attachments' => 'Attachments',
|
||||
'Portal:AddAttachment' => ' Add Attachment ',
|
||||
'Portal:RemoveAttachment' => ' Remove Attachment ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Attachment #%1$d to %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => 'Select a template for %1$s',
|
||||
'Enum:Undefined' => 'Undefined',
|
||||
'UI:DurationForm_Days_Hours_Minutes_Seconds' => '%1$s d %2$s h %3$s min %4$s s',
|
||||
'UI:ModifyAllPageTitle' => 'Modify All',
|
||||
'UI:Modify_ObjectsOf_Class' => 'Modifying objects of class %1$s',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Modifying %1$d objects of class %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Modifying %1$d objects of class %2$s out of %3$d',
|
||||
'UI:Menu:ModifyAll' => 'Modify...',
|
||||
'UI:Menu:ModifyAll_Class' => 'Modify %1$s objects...',
|
||||
'UI:Menu:ModifyAll_Link' => 'Modify %1$s...',
|
||||
'UI:Menu:ModifyAll_Remote' => 'Modify %1$s...',
|
||||
'UI:Button:ModifyAll' => 'Modify All',
|
||||
'UI:Button:PreviewModifications' => 'Preview Modifications >>',
|
||||
'UI:ModifiedObject' => 'Object Modified',
|
||||
'UI:BulkModifyStatus' => 'Operation',
|
||||
'UI:BulkModifyStatus+' => 'Status of the operation',
|
||||
'UI:BulkModifyErrors' => 'Errors (if any)',
|
||||
'UI:BulkModifyErrors+' => 'Errors preventing the modification',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'Error',
|
||||
'UI:BulkModifyStatusModified' => 'Modified',
|
||||
'UI:BulkModifyStatusSkipped' => 'Skipped',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d distinct values:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d time(s)',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d more values...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Attempting to set the read-only field: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'The action has failed.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Modifying %2$d objects of class %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Type your text here...',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'Initial value:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'The field %1$s (%2$s) is not writable because it is mastered by the data synchronization. Value not set.',
|
||||
'UI:ActionNotAllowed' => 'You are not allowed to perform this action on these objects.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Please select at least one object to perform this operation',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'The field %1$s is not writable because it is mastered by the data synchronization. Value remains unchanged.',
|
||||
'UI:Pagination:HeaderSelection' => 'Total: %1$s objects (%2$s objects selected).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Total: %1$s objects.',
|
||||
'UI:Pagination:PageSize' => '%1$s objects per page',
|
||||
'UI:Pagination:PagesLabel' => 'Pages:',
|
||||
'UI:Pagination:All' => 'All',
|
||||
|
||||
'UI:Basket:Back' => 'Back',
|
||||
'UI:Basket:First' => 'First',
|
||||
'UI:Basket:Previous' => 'Previous',
|
||||
'UI:Basket:Next' => 'Next',
|
||||
'UI:Basket:Last' => 'Last',
|
||||
|
||||
'UI:HierarchyOf_Class' => 'Hierarchy of %1$s',
|
||||
'UI:Preferences' => 'Preferences...',
|
||||
'UI:ArchiveModeOn' => 'Activate archive mode',
|
||||
'UI:ArchiveModeOff' => 'Deactivate archive mode',
|
||||
'UI:ArchiveMode:Banner' => 'Archive mode',
|
||||
'UI:ArchiveMode:Banner+' => 'Archived objects are visible, and no modification is allowed',
|
||||
'UI:FavoriteOrganizations' => 'Favorite Organizations',
|
||||
'UI:FavoriteOrganizations+' => 'Check in the list below the organizations that you want to see in the drop-down menu for a quick access. '.
|
||||
'UI:ModifyAllPageTitle' => 'Modify All',
|
||||
'UI:Modify_ObjectsOf_Class' => 'Modifying objects of class %1$s',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Modifying %1$d objects of class %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Modifying %1$d objects of class %2$s out of %3$d',
|
||||
'UI:Menu:ModifyAll' => 'Modify...',
|
||||
'UI:Menu:ModifyAll_Class' => 'Modify %1$s objects...',
|
||||
'UI:Menu:ModifyAll_Link' => 'Modify %1$s...',
|
||||
'UI:Menu:ModifyAll_Remote' => 'Modify %1$s...',
|
||||
'UI:Button:ModifyAll' => 'Modify All',
|
||||
'UI:Button:PreviewModifications' => 'Preview Modifications >>',
|
||||
'UI:ModifiedObject' => 'Object Modified',
|
||||
'UI:BulkModifyStatus' => 'Operation',
|
||||
'UI:BulkModifyStatus+' => 'Status of the operation',
|
||||
'UI:BulkModifyErrors' => 'Errors (if any)',
|
||||
'UI:BulkModifyErrors+' => 'Errors preventing the modification',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'Error',
|
||||
'UI:BulkModifyStatusModified' => 'Modified',
|
||||
'UI:BulkModifyStatusSkipped' => 'Skipped',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d distinct values:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d time(s)',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d more values...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Attempting to set the read-only field: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'The action has failed.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Modifying %2$d objects of class %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Type your text here...',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'Initial value:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'The field %1$s (%2$s) is not writable because it is mastered by the data synchronization. Value not set.',
|
||||
'UI:ActionNotAllowed' => 'You are not allowed to perform this action on these objects.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Please select at least one object to perform this operation',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'The field %1$s is not writable because it is mastered by the data synchronization. Value remains unchanged.',
|
||||
'UI:Pagination:HeaderSelection' => 'Total: %1$s objects (%2$s objects selected).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Total: %1$s objects.',
|
||||
'UI:Pagination:PageSize' => '%1$s objects per page',
|
||||
'UI:Pagination:PagesLabel' => 'Pages:',
|
||||
'UI:Pagination:All' => 'All',
|
||||
'UI:HierarchyOf_Class' => 'Hierarchy of %1$s',
|
||||
'UI:Preferences' => 'Preferences...',
|
||||
'UI:ArchiveModeOn' => 'Activate archive mode',
|
||||
'UI:ArchiveModeOff' => 'Deactivate archive mode',
|
||||
'UI:ArchiveMode:Banner' => 'Archive mode',
|
||||
'UI:ArchiveMode:Banner+' => 'Archived objects are visible, and no modification is allowed',
|
||||
'UI:FavoriteOrganizations' => 'Favorite Organizations',
|
||||
'UI:FavoriteOrganizations+' => 'Check in the list below the organizations that you want to see in the drop-down menu for a quick access. '.
|
||||
'Note that this is not a security setting, objects from any organization are still visible and can be accessed by selecting "All Organizations" in the drop-down list.',
|
||||
'UI:FavoriteLanguage' => 'Favorite language',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Select your preferred language',
|
||||
'UI:FavoriteOtherSettings' => 'Other Settings',
|
||||
'UI:FavoriteLanguage' => 'Favorite language',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Select your preferred language',
|
||||
'UI:FavoriteOtherSettings' => 'Other Settings',
|
||||
'UI:Favorites:Default_X_ItemsPerPage' => 'Default length: %1$s items per page',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Show obsolete data',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Show obsolete data in search results and lists of items to select',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Any modification will be discarded.',
|
||||
'UI:CancelConfirmationMessage' => 'You will loose your changes. Continue anyway?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Some changes have not been applied yet. Do you want '.ITOP_APPLICATION_SHORT.' to take them into account?',
|
||||
'UI:Create_Class_InState' => 'Create the %1$s in state: ',
|
||||
'UI:OrderByHint_Values' => 'Sort order: %1$s',
|
||||
'UI:Menu:AddToDashboard' => 'Add To Dashboard...',
|
||||
'UI:Button:Refresh' => 'Refresh',
|
||||
'UI:Button:GoPrint' => 'Print...',
|
||||
'UI:ExplainPrintable' => 'Click onto the %1$s icon to hide items from the print.<br/>Use the "print preview" feature of your browser to preview before printing.<br/>Note: this header and the other tuning controls will not be printed.',
|
||||
'UI:PrintResolution:FullSize' => 'Full size',
|
||||
'UI:PrintResolution:A4Portrait' => 'A4 Portrait',
|
||||
'UI:PrintResolution:A4Landscape' => 'A4 Landscape',
|
||||
'UI:PrintResolution:LetterPortrait' => 'Letter Portrait',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Show obsolete data',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Show obsolete data in search results and lists of items to select',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Any modification will be discarded.',
|
||||
'UI:CancelConfirmationMessage' => 'You will loose your changes. Continue anyway?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Some changes have not been applied yet. Do you want '.ITOP_APPLICATION_SHORT.' to take them into account?',
|
||||
'UI:Create_Class_InState' => 'Create the %1$s in state: ',
|
||||
'UI:OrderByHint_Values' => 'Sort order: %1$s',
|
||||
'UI:Menu:AddToDashboard' => 'Add To Dashboard...',
|
||||
'UI:Button:Refresh' => 'Refresh',
|
||||
'UI:Button:GoPrint' => 'Print...',
|
||||
'UI:ExplainPrintable' => 'Click onto the %1$s icon to hide items from the print.<br/>Use the "print preview" feature of your browser to preview before printing.<br/>Note: this header and the other tuning controls will not be printed.',
|
||||
'UI:PrintResolution:FullSize' => 'Full size',
|
||||
'UI:PrintResolution:A4Portrait' => 'A4 Portrait',
|
||||
'UI:PrintResolution:A4Landscape' => 'A4 Landscape',
|
||||
'UI:PrintResolution:LetterPortrait' => 'Letter Portrait',
|
||||
'UI:PrintResolution:LetterLandscape' => 'Letter Landscape',
|
||||
'UI:Toggle:SwitchToStandardDashboard' => 'Switch to standard dashboard',
|
||||
'UI:Toggle:SwitchToCustomDashboard' => 'Switch to custom dashboard',
|
||||
|
||||
@@ -334,18 +334,14 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', array(
|
||||
//
|
||||
|
||||
Dict::Add('ES CR', 'Spanish', 'Español, Castellano', array(
|
||||
'BooleanLabel:yes' => 'Si',
|
||||
'BooleanLabel:no' => 'No',
|
||||
'UI:Login:Title' => 'Inicio de Sesión',
|
||||
'Menu:WelcomeMenu' => 'Bienvenido',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => 'Bienvenido a '.ITOP_APPLICATION_SHORT,
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Bienvenido',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => 'Bienvenido a '.ITOP_APPLICATION_SHORT,
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => 'Bienvenido a '.ITOP_APPLICATION_SHORT,
|
||||
'BooleanLabel:yes' => 'Si',
|
||||
'BooleanLabel:no' => 'No',
|
||||
'UI:Login:Title' => 'Inicio de Sesión',
|
||||
'Menu:WelcomeMenu' => 'Bienvenido',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => 'Bienvenido a '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Bienvenido',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => 'Bienvenido a '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => 'Bienvenido a '.ITOP_APPLICATION_SHORT,
|
||||
|
||||
'UI:WelcomeMenu:LeftBlock' => '<p>'.ITOP_APPLICATION_SHORT.' es un completo portal de administración de servicios de TI basado en código abierto.</p>
|
||||
<p>Incluye:</p>
|
||||
@@ -965,39 +961,31 @@ Esperamos distrute de esta versión tanto como nosotros la imaginamos y creamos.
|
||||
'UI-ChangeManagementOverview-ChangeUnassigned' => 'Cambios No Asignados a un Analista',
|
||||
'UI-ChangeManagementOverview-ChangeWithOutage' => 'Interrupciones de Servicios debida a Cambios',
|
||||
|
||||
'UI:ServiceMgmtMenuOverview:Title' => 'Panel de Control para Administración de Servicios',
|
||||
'UI:ServiceMgmtMenuOverview:Title' => 'Panel de Control para Administración de Servicios',
|
||||
'UI-ServiceManagementOverview-CustomerContractToRenew' => 'Acuerdos con Clientes a ser Renovados en 30 días',
|
||||
'UI-ServiceManagementOverview-ProviderContractToRenew' => 'Contratos de Proveedores a ser Renovados en 30 días',
|
||||
|
||||
'UI:ContactsMenu' => 'Contactos',
|
||||
'UI:ContactsMenu+' => 'Contactos',
|
||||
'UI:ContactsMenu:Title' => 'Resumen de Contactos',
|
||||
'UI:ContactsMenu' => 'Contactos',
|
||||
'UI:ContactsMenu+' => 'Contactos',
|
||||
'UI:ContactsMenu:Title' => 'Resumen de Contactos',
|
||||
'UI-ContactsMenu-ContactsByLocation' => 'Contactos por Localidad',
|
||||
'UI-ContactsMenu-ContactsByType' => 'Contactos por Tipo',
|
||||
'UI-ContactsMenu-ContactsByStatus' => 'Contactos por Estatus',
|
||||
'UI-ContactsMenu-ContactsByType' => 'Contactos por Tipo',
|
||||
'UI-ContactsMenu-ContactsByStatus' => 'Contactos por Estatus',
|
||||
|
||||
'Menu:CSVImportMenu' => 'Importar CSV',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:CSVImportMenu+' => 'Creación o Actualización Másiva',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:CSVImportMenu' => 'Importar CSV', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:CSVImportMenu+' => 'Creación o Actualización Másiva', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:DataModelMenu' => 'Modelo de datos',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataModelMenu+' => 'Resumen del modelo de datos',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataModelMenu' => 'Modelo de datos', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataModelMenu+' => 'Resumen del modelo de datos', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:ExportMenu' => 'Exportar',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ExportMenu+' => 'Exportar los Resultados de Cualquier Consulta en HTML, CSV o XML',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ExportMenu' => 'Exportar', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ExportMenu+' => 'Exportar los Resultados de Cualquier Consulta en HTML, CSV o XML', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:NotificationsMenu' => 'Notificaciones',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:NotificationsMenu+' => 'Configuración de las Notificaciones',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:NotificationsMenu:Title' => 'Configuración de las Notificaciones',
|
||||
'UI:NotificationsMenu:Help' => 'Ayuda',
|
||||
'UI:NotificationsMenu:HelpContent' => '<p>En '.ITOP_APPLICATION_SHORT.' las notificaciones son completamente personalizables. Están basadas en dos conjuntos de objetos: <i>Disparadores y Acciones</i>.</p>
|
||||
'Menu:NotificationsMenu' => 'Notificaciones', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:NotificationsMenu+' => 'Configuración de las Notificaciones', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:NotificationsMenu:Title' => 'Configuración de las Notificaciones',
|
||||
'UI:NotificationsMenu:Help' => 'Ayuda',
|
||||
'UI:NotificationsMenu:HelpContent' => '<p>En '.ITOP_APPLICATION_SHORT.' las notificaciones son completamente personalizables. Están basadas en dos conjuntos de objetos: <i>Disparadores y Acciones</i>.</p>
|
||||
<p>Los <i><b>disparadores</b></i> definen cuando una notificación debe ser ejecutada. Existen 3 tipos de disparadores para cubrir las 3 diferentes fases del ciclo de vida de un objeto:
|
||||
<ol>
|
||||
<li>Los disparadores "OnCreate" son ejecutados cuando un objeto de la clase especificada es creado</li>
|
||||
@@ -1017,87 +1005,68 @@ Esperamos distrute de esta versión tanto como nosotros la imaginamos y creamos.
|
||||
</p>
|
||||
<p>Para ser ejecutadas, las acciones deben estar asociadas con los disparadores.
|
||||
Cuando se asocien con un disparador, cada acción recibe un número de "orden", esto especifica en que orden se ejecutaran las acciones.</p>',
|
||||
'UI:NotificationsMenu:Triggers' => 'Disparadores',
|
||||
'UI:NotificationsMenu:AvailableTriggers' => 'Disparadores disponibles',
|
||||
'UI:NotificationsMenu:OnCreate' => 'Cuando un objeto es creado',
|
||||
'UI:NotificationsMenu:OnStateEnter' => 'Cuando un objeto entra a un estado específico',
|
||||
'UI:NotificationsMenu:OnStateLeave' => 'Cuando un objeto sale de un estado específico',
|
||||
'UI:NotificationsMenu:Actions' => 'Acciones',
|
||||
'UI:NotificationsMenu:Actions:ActionEmail' => 'Acciones correo electrónico',
|
||||
'UI:NotificationsMenu:Triggers' => 'Disparadores',
|
||||
'UI:NotificationsMenu:AvailableTriggers' => 'Disparadores disponibles',
|
||||
'UI:NotificationsMenu:OnCreate' => 'Cuando un objeto es creado',
|
||||
'UI:NotificationsMenu:OnStateEnter' => 'Cuando un objeto entra a un estado específico',
|
||||
'UI:NotificationsMenu:OnStateLeave' => 'Cuando un objeto sale de un estado específico',
|
||||
'UI:NotificationsMenu:Actions' => 'Acciones',
|
||||
'UI:NotificationsMenu:Actions:ActionEmail' => 'Acciones correo electrónico',
|
||||
'UI:NotificationsMenu:Actions:ActionWebhook' => 'Acciones Webhook (Integraciones salientes)',
|
||||
'UI:NotificationsMenu:Actions:Action' => 'Otras acciones',
|
||||
'UI:NotificationsMenu:AvailableActions' => 'Acciones Disponibles',
|
||||
'UI:NotificationsMenu:Actions:Action' => 'Otras acciones',
|
||||
'UI:NotificationsMenu:AvailableActions' => 'Acciones Disponibles',
|
||||
|
||||
'Menu:TagAdminMenu' => 'Configuración de Etiquetas',
|
||||
'Menu:TagAdminMenu+' => 'Administración de valores de Etiquetas',
|
||||
'UI:TagAdminMenu:Title' => 'Configuración de Etiquetas',
|
||||
'UI:TagAdminMenu:NoTags' => 'No hay campos Etiquetas configurados',
|
||||
'Menu:TagAdminMenu' => 'Configuración de Etiquetas',
|
||||
'Menu:TagAdminMenu+' => 'Administración de valores de Etiquetas',
|
||||
'UI:TagAdminMenu:Title' => 'Configuración de Etiquetas',
|
||||
'UI:TagAdminMenu:NoTags' => 'No hay campos Etiquetas configurados',
|
||||
'UI:TagSetFieldData:Error' => 'Error: %1$s',
|
||||
|
||||
'Menu:AuditCategories' => 'Auditar Categorías',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AuditCategories+' => 'Auditar Categorías',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:Notifications:Title' => 'Auditar Categorías',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AuditCategories' => 'Auditar Categorías', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AuditCategories+' => 'Auditar Categorías', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:Notifications:Title' => 'Auditar Categorías', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:RunQueriesMenu' => 'Ejecutar Consultas',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:RunQueriesMenu+' => 'Ejecutar Cualquier Consulta',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:RunQueriesMenu' => 'Ejecutar Consultas', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:RunQueriesMenu+' => 'Ejecutar Cualquier Consulta', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:QueryMenu' => 'Libreta de Consultas',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:QueryMenu+' => 'Libreta de Consultas',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:QueryMenu' => 'Libreta de Consultas', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:QueryMenu+' => 'Libreta de Consultas', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:DataAdministration' => 'Administración de Datos',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataAdministration+' => 'Administración de Datos',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataAdministration' => 'Administración de Datos', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataAdministration+' => 'Administración de Datos', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:UniversalSearchMenu' => 'Búsqueda Universal',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UniversalSearchMenu+' => 'Buscar cualquier cosa',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UniversalSearchMenu' => 'Búsqueda Universal', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UniversalSearchMenu+' => 'Buscar cualquier cosa', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:UserManagementMenu' => 'Administración de Usuarios',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserManagementMenu+' => 'Administración de Usuarios',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserManagementMenu' => 'Administración de Usuarios', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserManagementMenu+' => 'Administración de Usuarios', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:ProfilesMenu' => 'Perfiles',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ProfilesMenu+' => 'Perfiles',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ProfilesMenu:Title' => 'Perfiles',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ProfilesMenu' => 'Perfiles', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ProfilesMenu+' => 'Perfiles', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ProfilesMenu:Title' => 'Perfiles', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:UserAccountsMenu' => 'Cuentas de Usuario',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserAccountsMenu+' => 'Cuentas de Usuario',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserAccountsMenu:Title' => 'Cuentas de Usuario',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserAccountsMenu' => 'Cuentas de Usuario', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserAccountsMenu+' => 'Cuentas de Usuario', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserAccountsMenu:Title' => 'Cuentas de Usuario', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'UI:iTopVersion:Short' => '%1$s versión %2$s',
|
||||
'UI:iTopVersion:Long' => '%1$s versión %2$s-%3$s compilada en %4$s',
|
||||
'UI:PropertiesTab' => 'Propiedades',
|
||||
'UI:iTopVersion:Long' => '%1$s versión %2$s-%3$s compilada en %4$s',
|
||||
'UI:PropertiesTab' => 'Propiedades',
|
||||
|
||||
'UI:OpenDocumentInNewWindow_' => 'Abrir~~',
|
||||
'UI:DownloadDocument_' => 'Descargar~~',
|
||||
'UI:Document:NoPreview' => 'No hay prevista disponible para este tipo de archivo',
|
||||
'UI:Download-CSV' => 'Descargar %1$s',
|
||||
'UI:DownloadDocument_' => 'Descargar~~',
|
||||
'UI:Document:NoPreview' => 'No hay prevista disponible para este tipo de archivo',
|
||||
'UI:Download-CSV' => 'Descargar %1$s',
|
||||
|
||||
'UI:DeadlineMissedBy_duration' => 'No se cumplió por %1$s',
|
||||
'UI:Deadline_LessThan1Min' => '< 1 min',
|
||||
'UI:Deadline_Minutes' => '%1$d min',
|
||||
'UI:Deadline_Hours_Minutes' => '%1$dh %2$dmin',
|
||||
'UI:Deadline_Days_Hours_Minutes' => '%1$dd %2$dh %3$dmin',
|
||||
'UI:Help' => 'Ayuda',
|
||||
'UI:PasswordConfirm' => 'Confirmar',
|
||||
'UI:DeadlineMissedBy_duration' => 'No se cumplió por %1$s',
|
||||
'UI:Deadline_LessThan1Min' => '< 1 min',
|
||||
'UI:Deadline_Minutes' => '%1$d min',
|
||||
'UI:Deadline_Hours_Minutes' => '%1$dh %2$dmin',
|
||||
'UI:Deadline_Days_Hours_Minutes' => '%1$dd %2$dh %3$dmin',
|
||||
'UI:Help' => 'Ayuda',
|
||||
'UI:PasswordConfirm' => 'Confirmar',
|
||||
'UI:BeforeAdding_Class_ObjectsSaveThisObject' => 'Antes de Agregar un(a) %1$s, Guarde los Cambios Realizados.',
|
||||
'UI:DisplayThisMessageAtStartup' => 'Desplegar este Mensaje al Inicio',
|
||||
'UI:DisplayThisMessageAtStartup' => 'Desplegar este Mensaje al Inicio',
|
||||
'UI:RelationshipGraph' => 'Vista Gráfica',
|
||||
'UI:RelationshipList' => 'Lista',
|
||||
'UI:RelationGroups' => 'Grupos',
|
||||
@@ -1159,81 +1128,74 @@ Cuando se asocien con un disparador, cada acción recibe un número de "orden",
|
||||
'Portal:Button:UpdateRequest' => 'Actualizar el Requerimiento',
|
||||
'Portal:EnterYourCommentsOnTicket' => 'Captura tus Comentarios acerca de la Solución de este Ticket:',
|
||||
'Portal:ErrorNoContactForThisUser' => 'Error: el Usuario no está asociado con un Contacto/Persona. Por favor contacte al Administrador de '.ITOP_APPLICATION_SHORT,
|
||||
'Portal:Attachments' => 'Anexos',
|
||||
'Portal:AddAttachment' => 'Agregar Anexo',
|
||||
'Portal:RemoveAttachment' => 'Borrar Anexo',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Anexo #%1$d to %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => 'Seleccione una Plantilla para %1$s',
|
||||
'Enum:Undefined' => 'No Definido',
|
||||
'UI:DurationForm_Days_Hours_Minutes_Seconds' => '%1$s Días %2$s Hrs. %3$s Mins. %4$s Segs.',
|
||||
'UI:ModifyAllPageTitle' => 'Modificar Todos',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Modificando %1$d objetos de la clase %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Modificando %1$d objetos de la clase %2$s de un total de %3$d',
|
||||
'UI:Menu:ModifyAll' => 'Modificar',
|
||||
'UI:Button:ModifyAll' => 'Modificar Todos',
|
||||
'UI:Button:PreviewModifications' => 'Previsualizar Modificaciones >>',
|
||||
'UI:ModifiedObject' => 'Objecto Modificado',
|
||||
'UI:BulkModifyStatus' => 'Operación',
|
||||
'UI:BulkModifyStatus+' => 'Estatus de la operación',
|
||||
'UI:BulkModifyErrors' => 'Errores (si los hubiera)',
|
||||
'UI:BulkModifyErrors+' => 'Errores que evitan la modificación',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'Error',
|
||||
'UI:BulkModifyStatusModified' => 'Modificado',
|
||||
'UI:BulkModifyStatusSkipped' => 'Saltado',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d diferentes valores:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d tiempo(s)',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d más valores',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Intentando configurar campo de solo lectura: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'La acción ha fallado.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Modificando %2$d objetos de la clase %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Escriba su texto aquí:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'Valor inicial:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'El campo %1$s no es escribible porque es manejado por el sincronizador de datos. Valor no cambiado.',
|
||||
'UI:ActionNotAllowed' => 'No tiene permitodo realizar esta acción sobre estos objetos.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Por favor seleccione al menos un objeto para realizar esta operación',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'El campo %1$s no es escribible porque es manejado por el sincronizador de datos. Valor se mantiene sin cambios.',
|
||||
'UI:Pagination:HeaderSelection' => 'Total: %1$s Elementos (%2$s Elementos Seleccionados).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Total: %1$s Elemento(s)',
|
||||
'UI:Pagination:PageSize' => '%1$s Elementos por Página',
|
||||
'UI:Pagination:PagesLabel' => 'Páginas:',
|
||||
'UI:Pagination:All' => 'Todos',
|
||||
|
||||
'UI:Basket:Back' => 'Back~~',
|
||||
'UI:Basket:First' => 'First~~',
|
||||
'UI:Basket:Previous' => 'Previous~~',
|
||||
'UI:Basket:Next' => 'Next~~',
|
||||
'UI:Basket:Last' => 'Last~~',
|
||||
|
||||
'UI:HierarchyOf_Class' => 'Jerarquía de %1$s',
|
||||
'UI:Preferences' => 'Preferencias',
|
||||
'UI:ArchiveModeOn' => 'Activar modo Archivado',
|
||||
'UI:ArchiveModeOff' => 'Deactivar modo Archivado',
|
||||
'UI:ArchiveMode:Banner' => 'Modo Archivado',
|
||||
'UI:ArchiveMode:Banner+' => 'Objetos archivados son visibles, y ninguna modificación es permitida',
|
||||
'UI:FavoriteOrganizations' => 'Mi Organización Favorita',
|
||||
'UI:FavoriteOrganizations+' => 'Verifique en la siguiente lista de Organizaciones, la que necesite ver en los menues para un rápido acceso. Nota, esto no es una configuración de seguridad, elementos de cualquier Organización son visibles y pueden ser accesados mediante la selección de "Todas las Organizaciones" en la lista del menú.',
|
||||
'UI:FavoriteLanguage' => 'Idioma de la Interfaz de Usuario',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Seleccione su Idioma Predeterminado',
|
||||
'UI:FavoriteOtherSettings' => 'Otras Configuraciones',
|
||||
'Portal:Attachments' => 'Anexos',
|
||||
'Portal:AddAttachment' => 'Agregar Anexo',
|
||||
'Portal:RemoveAttachment' => 'Borrar Anexo',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Anexo #%1$d to %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => 'Seleccione una Plantilla para %1$s',
|
||||
'Enum:Undefined' => 'No Definido',
|
||||
'UI:DurationForm_Days_Hours_Minutes_Seconds' => '%1$s Días %2$s Hrs. %3$s Mins. %4$s Segs.',
|
||||
'UI:ModifyAllPageTitle' => 'Modificar Todos',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Modificando %1$d objetos de la clase %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Modificando %1$d objetos de la clase %2$s de un total de %3$d',
|
||||
'UI:Menu:ModifyAll' => 'Modificar',
|
||||
'UI:Button:ModifyAll' => 'Modificar Todos',
|
||||
'UI:Button:PreviewModifications' => 'Previsualizar Modificaciones >>',
|
||||
'UI:ModifiedObject' => 'Objecto Modificado',
|
||||
'UI:BulkModifyStatus' => 'Operación',
|
||||
'UI:BulkModifyStatus+' => 'Estatus de la operación',
|
||||
'UI:BulkModifyErrors' => 'Errores (si los hubiera)',
|
||||
'UI:BulkModifyErrors+' => 'Errores que evitan la modificación',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'Error',
|
||||
'UI:BulkModifyStatusModified' => 'Modificado',
|
||||
'UI:BulkModifyStatusSkipped' => 'Saltado',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d diferentes valores:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d tiempo(s)',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d más valores',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Intentando configurar campo de solo lectura: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'La acción ha fallado.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Modificando %2$d objetos de la clase %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Escriba su texto aquí:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'Valor inicial:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'El campo %1$s no es escribible porque es manejado por el sincronizador de datos. Valor no cambiado.',
|
||||
'UI:ActionNotAllowed' => 'No tiene permitodo realizar esta acción sobre estos objetos.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Por favor seleccione al menos un objeto para realizar esta operación',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'El campo %1$s no es escribible porque es manejado por el sincronizador de datos. Valor se mantiene sin cambios.',
|
||||
'UI:Pagination:HeaderSelection' => 'Total: %1$s Elementos (%2$s Elementos Seleccionados).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Total: %1$s Elemento(s)',
|
||||
'UI:Pagination:PageSize' => '%1$s Elementos por Página',
|
||||
'UI:Pagination:PagesLabel' => 'Páginas:',
|
||||
'UI:Pagination:All' => 'Todos',
|
||||
'UI:HierarchyOf_Class' => 'Jerarquía de %1$s',
|
||||
'UI:Preferences' => 'Preferencias',
|
||||
'UI:ArchiveModeOn' => 'Activar modo Archivado',
|
||||
'UI:ArchiveModeOff' => 'Deactivar modo Archivado',
|
||||
'UI:ArchiveMode:Banner' => 'Modo Archivado',
|
||||
'UI:ArchiveMode:Banner+' => 'Objetos archivados son visibles, y ninguna modificación es permitida',
|
||||
'UI:FavoriteOrganizations' => 'Mi Organización Favorita',
|
||||
'UI:FavoriteOrganizations+' => 'Verifique en la siguiente lista de Organizaciones, la que necesite ver en los menues para un rápido acceso. Nota, esto no es una configuración de seguridad, elementos de cualquier Organización son visibles y pueden ser accesados mediante la selección de "Todas las Organizaciones" en la lista del menú.',
|
||||
'UI:FavoriteLanguage' => 'Idioma de la Interfaz de Usuario',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Seleccione su Idioma Predeterminado',
|
||||
'UI:FavoriteOtherSettings' => 'Otras Configuraciones',
|
||||
'UI:Favorites:Default_X_ItemsPerPage' => 'Tamaño Predeterminado de Listas: %1$s elementos por página',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Mostrar datos Obsoletos',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Mostrar datos obsoletos en resultados de búsqueda y listas de elementos seleccionables',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Cualquier modificación será descartada.',
|
||||
'UI:CancelConfirmationMessage' => 'Perderá los cambios realizados. ¿Desea Continuar?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Algunos cambios no han sido aplicados todavía. ¿Quiere que '.ITOP_APPLICATION_SHORT.' los tome en cuenta?',
|
||||
'UI:Create_Class_InState' => 'Crear %1$s en el estado: ',
|
||||
'UI:OrderByHint_Values' => 'Ordenamiento: %1$s',
|
||||
'UI:Menu:AddToDashboard' => 'Agregar a Panel de Control',
|
||||
'UI:Button:Refresh' => 'Refrescar',
|
||||
'UI:Button:GoPrint' => 'Imprimir...',
|
||||
'UI:ExplainPrintable' => 'Click en el icono %1$s para ocultar elementos de la impresión.<br/>Use la funcionalidad "vista preliminar" de su navegador para visualizar antes de imprimir.<br/>Nota: Este encabezado y controles de ajuste no serán impresos.',
|
||||
'UI:PrintResolution:FullSize' => 'Tamaño Completo',
|
||||
'UI:PrintResolution:A4Portrait' => 'A4 Vertical',
|
||||
'UI:PrintResolution:A4Landscape' => 'A4 Horizontal',
|
||||
'UI:PrintResolution:LetterPortrait' => 'Carta Vertical',
|
||||
'UI:PrintResolution:LetterLandscape' => 'Carta Horizontal',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Mostrar datos Obsoletos',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Mostrar datos obsoletos en resultados de búsqueda y listas de elementos seleccionables',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Cualquier modificación será descartada.',
|
||||
'UI:CancelConfirmationMessage' => 'Perderá los cambios realizados. ¿Desea Continuar?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Algunos cambios no han sido aplicados todavía. ¿Quiere que '.ITOP_APPLICATION_SHORT.' los tome en cuenta?',
|
||||
'UI:Create_Class_InState' => 'Crear %1$s en el estado: ',
|
||||
'UI:OrderByHint_Values' => 'Ordenamiento: %1$s',
|
||||
'UI:Menu:AddToDashboard' => 'Agregar a Panel de Control',
|
||||
'UI:Button:Refresh' => 'Refrescar',
|
||||
'UI:Button:GoPrint' => 'Imprimir...',
|
||||
'UI:ExplainPrintable' => 'Click en el icono %1$s para ocultar elementos de la impresión.<br/>Use la funcionalidad "vista preliminar" de su navegador para visualizar antes de imprimir.<br/>Nota: Este encabezado y controles de ajuste no serán impresos.',
|
||||
'UI:PrintResolution:FullSize' => 'Tamaño Completo',
|
||||
'UI:PrintResolution:A4Portrait' => 'A4 Vertical',
|
||||
'UI:PrintResolution:A4Landscape' => 'A4 Horizontal',
|
||||
'UI:PrintResolution:LetterPortrait' => 'Carta Vertical',
|
||||
'UI:PrintResolution:LetterLandscape' => 'Carta Horizontal',
|
||||
'UI:Toggle:SwitchToStandardDashboard' => 'Estandar',
|
||||
'UI:Toggle:SwitchToCustomDashboard' => 'Personalizado',
|
||||
|
||||
@@ -1397,44 +1359,42 @@ Cuando se asocien con un disparador, cada acción recibe un número de "orden",
|
||||
'Month-12' => 'Diciembre',
|
||||
|
||||
// Short version for the DatePicker
|
||||
'DayOfWeek-Sunday-Min' => 'Do',
|
||||
'DayOfWeek-Monday-Min' => 'Lu',
|
||||
'DayOfWeek-Tuesday-Min' => 'Ma',
|
||||
'DayOfWeek-Wednesday-Min' => 'Mi',
|
||||
'DayOfWeek-Thursday-Min' => 'Ju',
|
||||
'DayOfWeek-Friday-Min' => 'Vi',
|
||||
'DayOfWeek-Saturday-Min' => 'Sa',
|
||||
'Month-01-Short' => 'Ene',
|
||||
'Month-02-Short' => 'Feb',
|
||||
'Month-03-Short' => 'Mar',
|
||||
'Month-04-Short' => 'Abr',
|
||||
'Month-05-Short' => 'May',
|
||||
'Month-06-Short' => 'Jun',
|
||||
'Month-07-Short' => 'Jul',
|
||||
'Month-08-Short' => 'Ago',
|
||||
'Month-09-Short' => 'Sep',
|
||||
'Month-10-Short' => 'Oct',
|
||||
'Month-11-Short' => 'Nov',
|
||||
'Month-12-Short' => 'Dic',
|
||||
'Calendar-FirstDayOfWeek' => '0',
|
||||
// 0 = Sunday, 1 = Monday, etc...
|
||||
'DayOfWeek-Sunday-Min' => 'Do',
|
||||
'DayOfWeek-Monday-Min' => 'Lu',
|
||||
'DayOfWeek-Tuesday-Min' => 'Ma',
|
||||
'DayOfWeek-Wednesday-Min' => 'Mi',
|
||||
'DayOfWeek-Thursday-Min' => 'Ju',
|
||||
'DayOfWeek-Friday-Min' => 'Vi',
|
||||
'DayOfWeek-Saturday-Min' => 'Sa',
|
||||
'Month-01-Short' => 'Ene',
|
||||
'Month-02-Short' => 'Feb',
|
||||
'Month-03-Short' => 'Mar',
|
||||
'Month-04-Short' => 'Abr',
|
||||
'Month-05-Short' => 'May',
|
||||
'Month-06-Short' => 'Jun',
|
||||
'Month-07-Short' => 'Jul',
|
||||
'Month-08-Short' => 'Ago',
|
||||
'Month-09-Short' => 'Sep',
|
||||
'Month-10-Short' => 'Oct',
|
||||
'Month-11-Short' => 'Nov',
|
||||
'Month-12-Short' => 'Dic',
|
||||
'Calendar-FirstDayOfWeek' => '0', // 0 = Sunday, 1 = Monday, etc...
|
||||
|
||||
'UI:Menu:ShortcutList' => 'Crear Acceso Rápido',
|
||||
'UI:ShortcutRenameDlg:Title' => 'Renombrar Acceso Rápido',
|
||||
'UI:ShortcutListDlg:Title' => 'Crear Acceso Rápido para la Lista',
|
||||
'UI:ShortcutDelete:Confirm' => 'Por favor conforme que desea Eliminar el/los Acceso(s) Rápido(s)',
|
||||
'Menu:MyShortcuts' => 'Mis Accesos Rápidos',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Class:Shortcut' => 'Acceso Rápido',
|
||||
'Class:Shortcut+' => 'Acceso Rápido',
|
||||
'Class:Shortcut/Attribute:name' => 'Nombre',
|
||||
'Class:Shortcut/Attribute:name+' => 'Etiqueta usada en el Menú y Título de Página',
|
||||
'Class:ShortcutOQL' => 'Resultado de Búsqueda de Acceso Rápido',
|
||||
'Class:ShortcutOQL+' => 'Resultado de Búsqueda de Acceso Rápido',
|
||||
'Class:ShortcutOQL/Attribute:oql' => 'Consulta',
|
||||
'Class:ShortcutOQL/Attribute:oql+' => 'OQL definiendo la lista de objetos a buscar',
|
||||
'Class:ShortcutOQL/Attribute:auto_reload' => 'Actualización Automática',
|
||||
'Class:ShortcutOQL/Attribute:auto_reload/Value:none' => 'Deshabilitado',
|
||||
'UI:Menu:ShortcutList' => 'Crear Acceso Rápido',
|
||||
'UI:ShortcutRenameDlg:Title' => 'Renombrar Acceso Rápido',
|
||||
'UI:ShortcutListDlg:Title' => 'Crear Acceso Rápido para la Lista',
|
||||
'UI:ShortcutDelete:Confirm' => 'Por favor conforme que desea Eliminar el/los Acceso(s) Rápido(s)',
|
||||
'Menu:MyShortcuts' => 'Mis Accesos Rápidos', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Class:Shortcut' => 'Acceso Rápido',
|
||||
'Class:Shortcut+' => 'Acceso Rápido',
|
||||
'Class:Shortcut/Attribute:name' => 'Nombre',
|
||||
'Class:Shortcut/Attribute:name+' => 'Etiqueta usada en el Menú y Título de Página',
|
||||
'Class:ShortcutOQL' => 'Resultado de Búsqueda de Acceso Rápido',
|
||||
'Class:ShortcutOQL+' => 'Resultado de Búsqueda de Acceso Rápido',
|
||||
'Class:ShortcutOQL/Attribute:oql' => 'Consulta',
|
||||
'Class:ShortcutOQL/Attribute:oql+' => 'OQL definiendo la lista de objetos a buscar',
|
||||
'Class:ShortcutOQL/Attribute:auto_reload' => 'Actualización Automática',
|
||||
'Class:ShortcutOQL/Attribute:auto_reload/Value:none' => 'Deshabilitado',
|
||||
'Class:ShortcutOQL/Attribute:auto_reload/Value:custom' => 'Frecuencia configurable',
|
||||
'Class:ShortcutOQL/Attribute:auto_reload_sec' => 'Interválo de Actualización Automática (segundos)',
|
||||
'Class:ShortcutOQL/Attribute:auto_reload_sec/tip' => 'El interválo mínimo es de %1$d segundos',
|
||||
@@ -1444,7 +1404,7 @@ Cuando se asocien con un disparador, cada acción recibe un número de "orden",
|
||||
'UI:ValueMustBeChanged' => 'Por favor cambie el valor',
|
||||
'UI:ValueInvalidFormat' => 'Formato inválido',
|
||||
|
||||
'UI:CSVImportConfirmTitle' => 'Por favor confirme la operación',
|
||||
'UI:CSVImportConfirmTitle' => 'Por favor confirme la operación',
|
||||
'UI:CSVImportConfirmMessage' => '¿Está seguro?',
|
||||
'UI:CSVImportError_items' => 'Errores: %1$d',
|
||||
'UI:CSVImportCreated_items' => 'Creados: %1$d',
|
||||
@@ -1586,57 +1546,51 @@ Cuando se asocien con un disparador, cada acción recibe un número de "orden",
|
||||
'UI:Search:Criteria:Title:ExternalKey:In:Many' => '%1$s: %2$s y %3$s otros',
|
||||
'UI:Search:Criteria:Title:ExternalKey:In:All' => '%1$s: Cualquier',
|
||||
// - Hierarchical key widget
|
||||
'UI:Search:Criteria:Title:HierarchicalKey:Empty' => '%1$s está definido',
|
||||
'UI:Search:Criteria:Title:HierarchicalKey:NotEmpty' => '%1$s no está definido',
|
||||
'UI:Search:Criteria:Title:HierarchicalKey:Equals' => '%1$s %2$s',
|
||||
'UI:Search:Criteria:Title:HierarchicalKey:In' => '%1$s: %2$s',
|
||||
'UI:Search:Criteria:Title:HierarchicalKey:In:Many' => '%1$s: %2$s y %3$s otros',
|
||||
'UI:Search:Criteria:Title:HierarchicalKey:In:All' => '%1$s: Cualquier',
|
||||
'UI:Search:Criteria:Title:HierarchicalKey:Empty' => '%1$s está definido',
|
||||
'UI:Search:Criteria:Title:HierarchicalKey:NotEmpty' => '%1$s no está definido',
|
||||
'UI:Search:Criteria:Title:HierarchicalKey:Equals' => '%1$s %2$s',
|
||||
'UI:Search:Criteria:Title:HierarchicalKey:In' => '%1$s: %2$s',
|
||||
'UI:Search:Criteria:Title:HierarchicalKey:In:Many' => '%1$s: %2$s y %3$s otros',
|
||||
'UI:Search:Criteria:Title:HierarchicalKey:In:All' => '%1$s: Cualquier',
|
||||
|
||||
// - Criteria operators
|
||||
// - Default widget
|
||||
'UI:Search:Criteria:Operator:Default:Empty' => 'Está vacío',
|
||||
'UI:Search:Criteria:Operator:Default:NotEmpty' => 'No está vacío',
|
||||
'UI:Search:Criteria:Operator:Default:Equals' => 'Igual',
|
||||
'UI:Search:Criteria:Operator:Default:Between' => 'Entre',
|
||||
'UI:Search:Criteria:Operator:Default:Empty' => 'Está vacío',
|
||||
'UI:Search:Criteria:Operator:Default:NotEmpty' => 'No está vacío',
|
||||
'UI:Search:Criteria:Operator:Default:Equals' => 'Igual',
|
||||
'UI:Search:Criteria:Operator:Default:Between' => 'Entre',
|
||||
// - String widget
|
||||
'UI:Search:Criteria:Operator:String:Contains' => 'Contiene',
|
||||
'UI:Search:Criteria:Operator:String:StartsWith' => 'Comienza con',
|
||||
'UI:Search:Criteria:Operator:String:EndsWith' => 'Termina con',
|
||||
'UI:Search:Criteria:Operator:String:RegExp' => 'Exp. Regular',
|
||||
'UI:Search:Criteria:Operator:String:Contains' => 'Contiene',
|
||||
'UI:Search:Criteria:Operator:String:StartsWith' => 'Comienza con',
|
||||
'UI:Search:Criteria:Operator:String:EndsWith' => 'Termina con',
|
||||
'UI:Search:Criteria:Operator:String:RegExp' => 'Exp. Regular',
|
||||
// - Numeric widget
|
||||
'UI:Search:Criteria:Operator:Numeric:Equals' => 'Igual',
|
||||
// => '=',
|
||||
'UI:Search:Criteria:Operator:Numeric:GreaterThan' => 'Mayor',
|
||||
// => '>',
|
||||
'UI:Search:Criteria:Operator:Numeric:GreaterThanOrEquals' => 'Mayor / igual',
|
||||
// > '>=',
|
||||
'UI:Search:Criteria:Operator:Numeric:LessThan' => 'Menor',
|
||||
// => '<',
|
||||
'UI:Search:Criteria:Operator:Numeric:LessThanOrEquals' => 'Menor / igual',
|
||||
// > '<=',
|
||||
'UI:Search:Criteria:Operator:Numeric:Different' => 'Diferente',
|
||||
// => '≠',
|
||||
'UI:Search:Criteria:Operator:Numeric:Equals' => 'Igual', // => '=',
|
||||
'UI:Search:Criteria:Operator:Numeric:GreaterThan' => 'Mayor', // => '>',
|
||||
'UI:Search:Criteria:Operator:Numeric:GreaterThanOrEquals' => 'Mayor / igual', // > '>=',
|
||||
'UI:Search:Criteria:Operator:Numeric:LessThan' => 'Menor', // => '<',
|
||||
'UI:Search:Criteria:Operator:Numeric:LessThanOrEquals' => 'Menor / igual', // > '<=',
|
||||
'UI:Search:Criteria:Operator:Numeric:Different' => 'Diferente', // => '≠',
|
||||
// - Tag Set Widget
|
||||
'UI:Search:Criteria:Operator:TagSet:Matches' => 'Coincidencias',
|
||||
'UI:Search:Criteria:Operator:TagSet:Matches' => 'Coincidencias',
|
||||
|
||||
// - Other translations
|
||||
'UI:Search:Value:Filter:Placeholder' => 'Filtro...',
|
||||
'UI:Search:Value:Search:Placeholder' => 'Búsqueda...',
|
||||
'UI:Search:Value:Autocomplete:StartTyping' => 'Inicie escribiento posibles valores.',
|
||||
'UI:Search:Value:Autocomplete:Wait' => 'Por favor espere...',
|
||||
'UI:Search:Value:Autocomplete:NoResult' => 'Sin Resultados.',
|
||||
'UI:Search:Value:Toggler:CheckAllNone' => 'Marcar todos / ninguno',
|
||||
'UI:Search:Value:Toggler:CheckAllNoneFiltered' => 'Marcar todos / ninguno visible',
|
||||
'UI:Search:Value:Filter:Placeholder' => 'Filtro...',
|
||||
'UI:Search:Value:Search:Placeholder' => 'Búsqueda...',
|
||||
'UI:Search:Value:Autocomplete:StartTyping' => 'Inicie escribiento posibles valores.',
|
||||
'UI:Search:Value:Autocomplete:Wait' => 'Por favor espere...',
|
||||
'UI:Search:Value:Autocomplete:NoResult' => 'Sin Resultados.',
|
||||
'UI:Search:Value:Toggler:CheckAllNone' => 'Marcar todos / ninguno',
|
||||
'UI:Search:Value:Toggler:CheckAllNoneFiltered' => 'Marcar todos / ninguno visible',
|
||||
|
||||
// - Widget other translations
|
||||
'UI:Search:Criteria:Numeric:From' => 'De',
|
||||
'UI:Search:Criteria:Numeric:Until' => 'Para',
|
||||
'UI:Search:Criteria:Numeric:PlaceholderFrom' => 'Cualquier',
|
||||
'UI:Search:Criteria:Numeric:PlaceholderUntil' => 'Cualquier',
|
||||
'UI:Search:Criteria:DateTime:From' => 'De',
|
||||
'UI:Search:Criteria:DateTime:FromTime' => 'De',
|
||||
'UI:Search:Criteria:DateTime:Until' => 'hasta',
|
||||
'UI:Search:Criteria:Numeric:From' => 'De',
|
||||
'UI:Search:Criteria:Numeric:Until' => 'Para',
|
||||
'UI:Search:Criteria:Numeric:PlaceholderFrom' => 'Cualquier',
|
||||
'UI:Search:Criteria:Numeric:PlaceholderUntil' => 'Cualquier',
|
||||
'UI:Search:Criteria:DateTime:From' => 'De',
|
||||
'UI:Search:Criteria:DateTime:FromTime' => 'De',
|
||||
'UI:Search:Criteria:DateTime:Until' => 'hasta',
|
||||
'UI:Search:Criteria:DateTime:UntilTime' => 'hasta',
|
||||
'UI:Search:Criteria:DateTime:PlaceholderFrom' => 'Cualquier fecha',
|
||||
'UI:Search:Criteria:DateTime:PlaceholderFromTime' => 'Cualquier fecha',
|
||||
|
||||
@@ -1130,103 +1130,96 @@ Lors de l\'association à un déclencheur, on attribue à chaque action un numé
|
||||
'Portal:CreateNewIncidentItil' => 'Indiquer une panne',
|
||||
'Portal:ChangeMyPassword' => 'Changer mon mot de passe',
|
||||
'Portal:Disconnect' => 'Déconnexion',
|
||||
'Portal:OpenRequests' => 'Mes requêtes en cours',
|
||||
'Portal:ClosedRequests' => 'Mes requêtes fermées',
|
||||
'Portal:ResolvedRequests' => 'Mes requêtes résolues',
|
||||
'Portal:SelectService' => 'Choisissez un service dans le catalogue:',
|
||||
'Portal:PleaseSelectOneService' => 'Veuillez choisir un service',
|
||||
'Portal:SelectSubcategoryFrom_Service' => 'Choisissez une sous-catégorie du service %1$s:',
|
||||
'Portal:PleaseSelectAServiceSubCategory' => 'Veuillez choisir une sous-catégorie',
|
||||
'Portal:DescriptionOfTheRequest' => 'Entrez la description de votre requête:',
|
||||
'Portal:TitleRequestDetailsFor_Request' => 'Détails de votre requête %1$s:',
|
||||
'Portal:NoOpenRequest' => 'Aucune requête.',
|
||||
'Portal:NoClosedRequest' => 'Aucune requête.',
|
||||
'Portal:Button:ReopenTicket' => 'Réouvrir cette requête',
|
||||
'Portal:Button:CloseTicket' => 'Clôre cette requête',
|
||||
'Portal:Button:UpdateRequest' => 'Mettre à jour la requête',
|
||||
'Portal:EnterYourCommentsOnTicket' => 'Vos commentaires à propos du traitement de cette requête:',
|
||||
'Portal:ErrorNoContactForThisUser' => 'Erreur: l\'utilisateur courant n\'est pas associé à une Personne/Contact. Contactez votre administrateur.',
|
||||
'Portal:Attachments' => 'Pièces jointes',
|
||||
'Portal:AddAttachment' => ' Ajouter une pièce jointe ',
|
||||
'Portal:RemoveAttachment' => ' Enlever la pièce jointe ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Pièce jointe #%1$d à %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => 'Sélectionnez un modèle de requête pour %1$s',
|
||||
'Enum:Undefined' => 'Non défini',
|
||||
'Portal:OpenRequests' => 'Mes requêtes en cours',
|
||||
'Portal:ClosedRequests' => 'Mes requêtes fermées',
|
||||
'Portal:ResolvedRequests' => 'Mes requêtes résolues',
|
||||
'Portal:SelectService' => 'Choisissez un service dans le catalogue:',
|
||||
'Portal:PleaseSelectOneService' => 'Veuillez choisir un service',
|
||||
'Portal:SelectSubcategoryFrom_Service' => 'Choisissez une sous-catégorie du service %1$s:',
|
||||
'Portal:PleaseSelectAServiceSubCategory' => 'Veuillez choisir une sous-catégorie',
|
||||
'Portal:DescriptionOfTheRequest' => 'Entrez la description de votre requête:',
|
||||
'Portal:TitleRequestDetailsFor_Request' => 'Détails de votre requête %1$s:',
|
||||
'Portal:NoOpenRequest' => 'Aucune requête.',
|
||||
'Portal:NoClosedRequest' => 'Aucune requête.',
|
||||
'Portal:Button:ReopenTicket' => 'Réouvrir cette requête',
|
||||
'Portal:Button:CloseTicket' => 'Clôre cette requête',
|
||||
'Portal:Button:UpdateRequest' => 'Mettre à jour la requête',
|
||||
'Portal:EnterYourCommentsOnTicket' => 'Vos commentaires à propos du traitement de cette requête:',
|
||||
'Portal:ErrorNoContactForThisUser' => 'Erreur: l\'utilisateur courant n\'est pas associé à une Personne/Contact. Contactez votre administrateur.',
|
||||
'Portal:Attachments' => 'Pièces jointes',
|
||||
'Portal:AddAttachment' => ' Ajouter une pièce jointe ',
|
||||
'Portal:RemoveAttachment' => ' Enlever la pièce jointe ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Pièce jointe #%1$d à %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => 'Sélectionnez un modèle de requête pour %1$s',
|
||||
'Enum:Undefined' => 'Non défini',
|
||||
'UI:DurationForm_Days_Hours_Minutes_Seconds' => '%1$s J %2$s H %3$s min %4$s s',
|
||||
'UI:ModifyAllPageTitle' => 'Modification par lots',
|
||||
'UI:Modify_ObjectsOf_Class' => 'Modification d\'objet(s) de type %1$s',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Modification de %1$d objet(s) de type %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Modification de %1$d (sur %3$d) objets de type %2$s',
|
||||
'UI:Menu:ModifyAll' => 'Modifier...',
|
||||
'UI:Menu:ModifyAll_Class' => 'Modifier ces %1$s...',
|
||||
'UI:Menu:ModifyAll_Link' => 'Modifier ces %1$s...',
|
||||
'UI:Menu:ModifyAll_Remote' => 'Modifier ces %1$s...',
|
||||
'UI:Button:ModifyAll' => 'Modifier',
|
||||
'UI:Button:PreviewModifications' => 'Aperçu des modifications >>',
|
||||
'UI:ModifiedObject' => 'Objet Modifié',
|
||||
'UI:BulkModifyStatus' => 'Opération',
|
||||
'UI:BulkModifyStatus+' => '',
|
||||
'UI:BulkModifyErrors' => 'Erreur',
|
||||
'UI:BulkModifyErrors+' => '',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'Erreur',
|
||||
'UI:BulkModifyStatusModified' => 'Modifié',
|
||||
'UI:BulkModifyStatusSkipped' => 'Ignoré',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d valeurs distinctes:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d fois',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d valeurs supplémentaires...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Tentative de modification du champ en lecture seule: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'L\'action a échoué',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Modification de %2$d objet(s) de type %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Nouvelle entrée ici...',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'Valeur initiale:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'Le champ %1$s ne peut pas être modifié car il est géré par une synchronisation avec une source de données. Valeur ignorée.',
|
||||
'UI:ActionNotAllowed' => 'Vous n\'êtes pas autorisé à exécuter cette opération sur ces objets.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Veuillez s\\électionner au moins un objet pour cette opération.',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'Le champ %1$s ne peut pas être modifié car il est géré par une synchronisation avec une source de données. Valeur inchangée.',
|
||||
'UI:Pagination:HeaderSelection' => 'Total: %1$s éléments / %2$s éléments sélectionné(s).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Total: %1$s éléments.',
|
||||
'UI:Pagination:PageSize' => '%1$s éléments par page',
|
||||
'UI:Pagination:PagesLabel' => 'Pages:',
|
||||
'UI:Pagination:All' => 'Tous',
|
||||
|
||||
'UI:Basket:Back' => 'Retour',
|
||||
'UI:Basket:First' => 'Premier',
|
||||
'UI:Basket:Previous' => 'Précédent',
|
||||
'UI:Basket:Next' => 'Suivant',
|
||||
'UI:Basket:Last' => 'Dernier',
|
||||
|
||||
'UI:HierarchyOf_Class' => 'Hiérarchie de type %1$s',
|
||||
'UI:Preferences' => 'Préférences...',
|
||||
'UI:ArchiveModeOn' => 'Activer le mode Archive',
|
||||
'UI:ArchiveModeOff' => 'Désactiver le mode Archive',
|
||||
'UI:ArchiveMode:Banner' => 'Mode Archive',
|
||||
'UI:ArchiveMode:Banner+' => 'Les objets archivés sont visibles, et aucune modification n\'est possible',
|
||||
'UI:FavoriteOrganizations' => 'Organisations Favorites',
|
||||
'UI:FavoriteOrganizations+' => 'Cochez dans la liste ci-dessous les organisations que vous voulez voir listées dans le menu principal. Ceci n\'est pas un réglage de sécurité. Les objets de toutes les organisations sont toujours visibles en choisissant "Toutes les Organisations" dans le menu.',
|
||||
'UI:FavoriteLanguage' => 'Langue préférée',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Choisissez votre langue préférée',
|
||||
'UI:FavoriteOtherSettings' => 'Autres réglages',
|
||||
'UI:ModifyAllPageTitle' => 'Modification par lots',
|
||||
'UI:Modify_ObjectsOf_Class' => 'Modification d\'objet(s) de type %1$s',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Modification de %1$d objet(s) de type %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Modification de %1$d (sur %3$d) objets de type %2$s',
|
||||
'UI:Menu:ModifyAll' => 'Modifier...',
|
||||
'UI:Menu:ModifyAll_Class' => 'Modifier ces %1$s...',
|
||||
'UI:Menu:ModifyAll_Link' => 'Modifier ces %1$s...',
|
||||
'UI:Menu:ModifyAll_Remote' => 'Modifier ces %1$s...',
|
||||
'UI:Button:ModifyAll' => 'Modifier',
|
||||
'UI:Button:PreviewModifications' => 'Aperçu des modifications >>',
|
||||
'UI:ModifiedObject' => 'Objet Modifié',
|
||||
'UI:BulkModifyStatus' => 'Opération',
|
||||
'UI:BulkModifyStatus+' => '',
|
||||
'UI:BulkModifyErrors' => 'Erreur',
|
||||
'UI:BulkModifyErrors+' => '',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'Erreur',
|
||||
'UI:BulkModifyStatusModified' => 'Modifié',
|
||||
'UI:BulkModifyStatusSkipped' => 'Ignoré',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d valeurs distinctes:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d fois',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d valeurs supplémentaires...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Tentative de modification du champ en lecture seule: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'L\'action a échoué',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Modification de %2$d objet(s) de type %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Nouvelle entrée ici...',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'Valeur initiale:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'Le champ %1$s ne peut pas être modifié car il est géré par une synchronisation avec une source de données. Valeur ignorée.',
|
||||
'UI:ActionNotAllowed' => 'Vous n\'êtes pas autorisé à exécuter cette opération sur ces objets.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Veuillez s\\électionner au moins un objet pour cette opération.',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'Le champ %1$s ne peut pas être modifié car il est géré par une synchronisation avec une source de données. Valeur inchangée.',
|
||||
'UI:Pagination:HeaderSelection' => 'Total: %1$s éléments / %2$s éléments sélectionné(s).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Total: %1$s éléments.',
|
||||
'UI:Pagination:PageSize' => '%1$s éléments par page',
|
||||
'UI:Pagination:PagesLabel' => 'Pages:',
|
||||
'UI:Pagination:All' => 'Tous',
|
||||
'UI:HierarchyOf_Class' => 'Hiérarchie de type %1$s',
|
||||
'UI:Preferences' => 'Préférences...',
|
||||
'UI:ArchiveModeOn' => 'Activer le mode Archive',
|
||||
'UI:ArchiveModeOff' => 'Désactiver le mode Archive',
|
||||
'UI:ArchiveMode:Banner' => 'Mode Archive',
|
||||
'UI:ArchiveMode:Banner+' => 'Les objets archivés sont visibles, et aucune modification n\'est possible',
|
||||
'UI:FavoriteOrganizations' => 'Organisations Favorites',
|
||||
'UI:FavoriteOrganizations+' => 'Cochez dans la liste ci-dessous les organisations que vous voulez voir listées dans le menu principal. Ceci n\'est pas un réglage de sécurité. Les objets de toutes les organisations sont toujours visibles en choisissant "Toutes les Organisations" dans le menu.',
|
||||
'UI:FavoriteLanguage' => 'Langue préférée',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Choisissez votre langue préférée',
|
||||
'UI:FavoriteOtherSettings' => 'Autres réglages',
|
||||
'UI:Favorites:Default_X_ItemsPerPage' => 'Longueur par défaut : %1$s éléments par page',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Voir les données obsolètes',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Voir les données obsolètes dans les résultats de recherche et dans les listes de choix',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Toute modification sera perdue.',
|
||||
'UI:CancelConfirmationMessage' => 'Vous allez perdre vos modifications. Voulez-vous continuer ?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Des modifications n\'ont pas encore été prises en compte. Voulez-vous qu\'elles soient prises en compte automatiquement ?',
|
||||
'UI:Create_Class_InState' => 'Créer l\'objet %1$s dans l\'état: ',
|
||||
'UI:OrderByHint_Values' => 'Ordre de tri: %1$s',
|
||||
'UI:Menu:AddToDashboard' => 'Ajouter au Tableau de Bord...',
|
||||
'UI:Button:Refresh' => 'Rafraîchir',
|
||||
'UI:Button:GoPrint' => 'Imprimer...',
|
||||
'UI:ExplainPrintable' => 'Cliquez sur les icones %1$s pour cacher des éléments lors de l\'impression.<br/>Utilisez la fonction "Aperçu avant impression" de votre navigateur pour prévisualiser avant d\'imprimer.<br/>Note: cet en-tête ainsi que les icones %1$s ne seront pas imprimés.',
|
||||
'UI:PrintResolution:FullSize' => 'Pleine largeur',
|
||||
'UI:PrintResolution:A4Portrait' => 'A4 Portrait',
|
||||
'UI:PrintResolution:A4Landscape' => 'A4 Paysage',
|
||||
'UI:PrintResolution:LetterPortrait' => 'US Letter Portrait',
|
||||
'UI:PrintResolution:LetterLandscape' => 'US Letter Paysage',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Voir les données obsolètes',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Voir les données obsolètes dans les résultats de recherche et dans les listes de choix',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Toute modification sera perdue.',
|
||||
'UI:CancelConfirmationMessage' => 'Vous allez perdre vos modifications. Voulez-vous continuer ?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Des modifications n\'ont pas encore été prises en compte. Voulez-vous qu\'elles soient prises en compte automatiquement ?',
|
||||
'UI:Create_Class_InState' => 'Créer l\'objet %1$s dans l\'état: ',
|
||||
'UI:OrderByHint_Values' => 'Ordre de tri: %1$s',
|
||||
'UI:Menu:AddToDashboard' => 'Ajouter au Tableau de Bord...',
|
||||
'UI:Button:Refresh' => 'Rafraîchir',
|
||||
'UI:Button:GoPrint' => 'Imprimer...',
|
||||
'UI:ExplainPrintable' => 'Cliquez sur les icones %1$s pour cacher des éléments lors de l\'impression.<br/>Utilisez la fonction "Aperçu avant impression" de votre navigateur pour prévisualiser avant d\'imprimer.<br/>Note: cet en-tête ainsi que les icones %1$s ne seront pas imprimés.',
|
||||
'UI:PrintResolution:FullSize' => 'Pleine largeur',
|
||||
'UI:PrintResolution:A4Portrait' => 'A4 Portrait',
|
||||
'UI:PrintResolution:A4Landscape' => 'A4 Paysage',
|
||||
'UI:PrintResolution:LetterPortrait' => 'US Letter Portrait',
|
||||
'UI:PrintResolution:LetterLandscape' => 'US Letter Paysage',
|
||||
'UI:Toggle:SwitchToStandardDashboard' => 'Basculer sur le tableau de bord standard',
|
||||
'UI:Toggle:SwitchToCustomDashboard' => 'Basculer sur le tableau de bord modifié',
|
||||
'UI:Toggle:SwitchToCustomDashboard' => 'Basculer sur le tableau de bord modifié',
|
||||
|
||||
'UI:ConfigureThisList' => 'Configurer Cette Liste...',
|
||||
'UI:ListConfigurationTitle' => 'Configuration de la liste',
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1127,72 +1127,65 @@ Quando è associata a un trigger, ad ogni azione è assegnato un numero "ordine"
|
||||
'Portal:Button:UpdateRequest' => 'Update the request',
|
||||
'Portal:EnterYourCommentsOnTicket' => 'Inserisci il tuo commento sulla risoluzione di questo ticket:',
|
||||
'Portal:ErrorNoContactForThisUser' => 'Errore: l\'utente corrente non è associato ad un Contatto/Persona. Si prega di contattare l\'amministratore.',
|
||||
'Portal:Attachments' => 'Allegati',
|
||||
'Portal:AddAttachment' => ' Aggiungi allegati ',
|
||||
'Portal:RemoveAttachment' => ' Rimuovi allegati ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Allegato #%1$d a %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => 'Select a template for %1$s~~',
|
||||
'Enum:Undefined' => 'Non definito',
|
||||
'Portal:Attachments' => 'Allegati',
|
||||
'Portal:AddAttachment' => ' Aggiungi allegati ',
|
||||
'Portal:RemoveAttachment' => ' Rimuovi allegati ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Allegato #%1$d a %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => 'Select a template for %1$s~~',
|
||||
'Enum:Undefined' => 'Non definito',
|
||||
'UI:DurationForm_Days_Hours_Minutes_Seconds' => '%1$s Giorni %2$s Ore %3$s Minuti %4$s Secondi',
|
||||
'UI:ModifyAllPageTitle' => 'Modifica Tutto',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Modifica %1$d oggetto della classe %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Modifica %1$d oggetto della classe %2$s fuori da %3$d~~',
|
||||
'UI:Menu:ModifyAll' => 'Modifica...',
|
||||
'UI:Button:ModifyAll' => 'Modifica tutto',
|
||||
'UI:Button:PreviewModifications' => 'Anteprima Modifiche >>~~',
|
||||
'UI:ModifiedObject' => 'Oggetto Modificato',
|
||||
'UI:BulkModifyStatus' => 'Operazioni',
|
||||
'UI:BulkModifyStatus+' => '',
|
||||
'UI:BulkModifyErrors' => 'Errori (eventuali)',
|
||||
'UI:BulkModifyErrors+' => '',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'Errore',
|
||||
'UI:BulkModifyStatusModified' => 'Modificato',
|
||||
'UI:BulkModifyStatusSkipped' => 'Saltato',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d valori distinti:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d volta(e)',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d più valori...~~',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Tentativo di impostare il campo di sola lettura: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'L\'azione non è riuscita.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Modifica %2$d oggetti della classe %3$s~~',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Digitare il tuo testo qui:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:~~',
|
||||
'UI:CaseLog:InitialValue' => 'Valore iniziale:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'Il campo %1$s on è scrivibile, perché è comandato dalla sincronizzazione dei dati. Valore non impostato.',
|
||||
'UI:ActionNotAllowed' => 'Non hai i permessi per eseguire questa azione su questi oggetti.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Si prega di selezionare almeno un oggetto per eseguire questa operazione',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'Il campo %1$s on è scrivibile, perché è comandato dalla sincronizzazione dei dati. Valore rimane invariato.',
|
||||
'UI:Pagination:HeaderSelection' => 'Total: %1$s objects (%2$s objects selected).~~',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Total: %1$s objects.~~',
|
||||
'UI:Pagination:PageSize' => '%1$s objects per page~~',
|
||||
'UI:Pagination:PagesLabel' => 'Pages:~~',
|
||||
'UI:Pagination:All' => 'All~~',
|
||||
|
||||
'UI:Basket:Back' => 'Back~~',
|
||||
'UI:Basket:First' => 'First~~',
|
||||
'UI:Basket:Previous' => 'Previous~~',
|
||||
'UI:Basket:Next' => 'Next~~',
|
||||
'UI:Basket:Last' => 'Last~~',
|
||||
|
||||
'UI:HierarchyOf_Class' => 'Hierarchy of %1$s~~',
|
||||
'UI:Preferences' => 'Preferences...~~',
|
||||
'UI:ArchiveModeOn' => 'Activate archive mode~~',
|
||||
'UI:ArchiveModeOff' => 'Deactivate archive mode~~',
|
||||
'UI:ArchiveMode:Banner' => 'Archive mode~~',
|
||||
'UI:ArchiveMode:Banner+' => 'Archived objects are visible, and no modification is allowed~~',
|
||||
'UI:FavoriteOrganizations' => 'Favorite Organizations~~',
|
||||
'UI:FavoriteOrganizations+' => 'Check in the list below the organizations that you want to see in the drop-down menu for a quick access. Note that this is not a security setting, objects from any organization are still visible and can be accessed by selecting \\"All Organizations\\" in the drop-down list.~~',
|
||||
'UI:FavoriteLanguage' => 'Language of the User Interface~~',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Select your preferred language~~',
|
||||
'UI:FavoriteOtherSettings' => 'Other Settings~~',
|
||||
'UI:ModifyAllPageTitle' => 'Modifica Tutto',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Modifica %1$d oggetto della classe %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Modifica %1$d oggetto della classe %2$s fuori da %3$d~~',
|
||||
'UI:Menu:ModifyAll' => 'Modifica...',
|
||||
'UI:Button:ModifyAll' => 'Modifica tutto',
|
||||
'UI:Button:PreviewModifications' => 'Anteprima Modifiche >>~~',
|
||||
'UI:ModifiedObject' => 'Oggetto Modificato',
|
||||
'UI:BulkModifyStatus' => 'Operazioni',
|
||||
'UI:BulkModifyStatus+' => '',
|
||||
'UI:BulkModifyErrors' => 'Errori (eventuali)',
|
||||
'UI:BulkModifyErrors+' => '',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'Errore',
|
||||
'UI:BulkModifyStatusModified' => 'Modificato',
|
||||
'UI:BulkModifyStatusSkipped' => 'Saltato',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d valori distinti:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d volta(e)',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d più valori...~~',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Tentativo di impostare il campo di sola lettura: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'L\'azione non è riuscita.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Modifica %2$d oggetti della classe %3$s~~',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Digitare il tuo testo qui:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:~~',
|
||||
'UI:CaseLog:InitialValue' => 'Valore iniziale:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'Il campo %1$s on è scrivibile, perché è comandato dalla sincronizzazione dei dati. Valore non impostato.',
|
||||
'UI:ActionNotAllowed' => 'Non hai i permessi per eseguire questa azione su questi oggetti.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Si prega di selezionare almeno un oggetto per eseguire questa operazione',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'Il campo %1$s on è scrivibile, perché è comandato dalla sincronizzazione dei dati. Valore rimane invariato.',
|
||||
'UI:Pagination:HeaderSelection' => 'Total: %1$s objects (%2$s objects selected).~~',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Total: %1$s objects.~~',
|
||||
'UI:Pagination:PageSize' => '%1$s objects per page~~',
|
||||
'UI:Pagination:PagesLabel' => 'Pages:~~',
|
||||
'UI:Pagination:All' => 'All~~',
|
||||
'UI:HierarchyOf_Class' => 'Hierarchy of %1$s~~',
|
||||
'UI:Preferences' => 'Preferences...~~',
|
||||
'UI:ArchiveModeOn' => 'Activate archive mode~~',
|
||||
'UI:ArchiveModeOff' => 'Deactivate archive mode~~',
|
||||
'UI:ArchiveMode:Banner' => 'Archive mode~~',
|
||||
'UI:ArchiveMode:Banner+' => 'Archived objects are visible, and no modification is allowed~~',
|
||||
'UI:FavoriteOrganizations' => 'Favorite Organizations~~',
|
||||
'UI:FavoriteOrganizations+' => 'Check in the list below the organizations that you want to see in the drop-down menu for a quick access. Note that this is not a security setting, objects from any organization are still visible and can be accessed by selecting \\"All Organizations\\" in the drop-down list.~~',
|
||||
'UI:FavoriteLanguage' => 'Language of the User Interface~~',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Select your preferred language~~',
|
||||
'UI:FavoriteOtherSettings' => 'Other Settings~~',
|
||||
'UI:Favorites:Default_X_ItemsPerPage' => 'Default length: %1$s items per page~~',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Show obsolete data~~',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Show obsolete data in search results and lists of items to select~~',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Any modification will be discarded.~~',
|
||||
'UI:CancelConfirmationMessage' => 'You will loose your changes. Continue anyway?~~',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Some changes have not been applied yet. Do you want itop to take them into account?~~',
|
||||
'UI:Create_Class_InState' => 'Create the %1$s in state: ~~',
|
||||
'UI:OrderByHint_Values' => 'Sort order: %1$s~~',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Show obsolete data~~',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Show obsolete data in search results and lists of items to select~~',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Any modification will be discarded.~~',
|
||||
'UI:CancelConfirmationMessage' => 'You will loose your changes. Continue anyway?~~',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Some changes have not been applied yet. Do you want itop to take them into account?~~',
|
||||
'UI:Create_Class_InState' => 'Create the %1$s in state: ~~',
|
||||
'UI:OrderByHint_Values' => 'Sort order: %1$s~~',
|
||||
'UI:Menu:AddToDashboard' => 'Add To Dashboard...~~',
|
||||
'UI:Button:Refresh' => 'Ricarica',
|
||||
'UI:Button:GoPrint' => 'Print...~~',
|
||||
|
||||
@@ -1116,72 +1116,65 @@ We hope you’ll enjoy this version as much as we enjoyed imagining and creating
|
||||
'Portal:Button:UpdateRequest' => '要求を更新',
|
||||
'Portal:EnterYourCommentsOnTicket' => 'このチケットの解決について、コメントを入力してください。',
|
||||
'Portal:ErrorNoContactForThisUser' => 'エラー:現在のユーザは連絡先/人物に関連づけられていません。管理者に問い合わせてください。',
|
||||
'Portal:Attachments' => '添付',
|
||||
'Portal:AddAttachment' => ' 添付を追加 ',
|
||||
'Portal:RemoveAttachment' => ' 添付を削除 ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => '$2$s ($3$s)への添付 #%1$d',
|
||||
'Portal:SelectRequestTemplate' => 'Select a template for %1$s のテンプレートを選択',
|
||||
'Enum:Undefined' => '未定義',
|
||||
'Portal:Attachments' => '添付',
|
||||
'Portal:AddAttachment' => ' 添付を追加 ',
|
||||
'Portal:RemoveAttachment' => ' 添付を削除 ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => '$2$s ($3$s)への添付 #%1$d',
|
||||
'Portal:SelectRequestTemplate' => 'Select a template for %1$s のテンプレートを選択',
|
||||
'Enum:Undefined' => '未定義',
|
||||
'UI:DurationForm_Days_Hours_Minutes_Seconds' => '%1$s 日 %2$s 時 %3$s 分 %4$s 秒',
|
||||
'UI:ModifyAllPageTitle' => '全てを修正',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'クラス%2$Sの%1$dオブジェクトを修正',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'クラス%2$sの%3$d中%1$dを修正',
|
||||
'UI:Menu:ModifyAll' => '修正...',
|
||||
'UI:Button:ModifyAll' => '全て修正',
|
||||
'UI:Button:PreviewModifications' => '修正をプレビュー >>',
|
||||
'UI:ModifiedObject' => '修正されたオブジェクト',
|
||||
'UI:BulkModifyStatus' => '操作',
|
||||
'UI:BulkModifyStatus+' => '操作の状態',
|
||||
'UI:BulkModifyErrors' => 'エラー (もしあれば)',
|
||||
'UI:BulkModifyErrors+' => '修正を出来ないようにしているエラー',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'エラー',
|
||||
'UI:BulkModifyStatusModified' => '修正',
|
||||
'UI:BulkModifyStatusSkipped' => 'スキップ',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d 個の個別の値:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d 回存在',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d 個以上の値...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => '読み込み専用フィールド %1$にセットしょうとしています。',
|
||||
'UI:FailedToApplyStimuli' => 'アクションは失敗しました。',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: クラス%3$sの%2$dオブジェクトを修正',
|
||||
'UI:CaseLogTypeYourTextHere' => 'テキストを入力ください:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => '初期値:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'フィールド %1$s は、データの同期によってマスターリングされているため書き込み可能ではありません。値は設定されません。',
|
||||
'UI:ActionNotAllowed' => 'あなたは、これらのオブジェクトへのこのアクションを許可されていません。',
|
||||
'UI:BulkAction:NoObjectSelected' => 'この操作を実行するには、少なくとも1つのオブジェクトを選択してください。',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'フィールド %1$s はデータの同期によってマスターリングされているため、書き込み可能ではありません。値は変更されません。',
|
||||
'UI:Pagination:HeaderSelection' => '全: %1$s オブジェクト (%2$s オブジェクト選択)。',
|
||||
'UI:Pagination:HeaderNoSelection' => '全: %1$s オブジェクト。',
|
||||
'UI:Pagination:PageSize' => '%1$s オブジェクト/ページ',
|
||||
'UI:Pagination:PagesLabel' => 'ページ:',
|
||||
'UI:Pagination:All' => '全',
|
||||
|
||||
'UI:Basket:Back' => 'Back~~',
|
||||
'UI:Basket:First' => 'First~~',
|
||||
'UI:Basket:Previous' => 'Previous~~',
|
||||
'UI:Basket:Next' => 'Next~~',
|
||||
'UI:Basket:Last' => 'Last~~',
|
||||
|
||||
'UI:HierarchyOf_Class' => '%1$s の階層',
|
||||
'UI:Preferences' => 'プリファレンス...',
|
||||
'UI:ArchiveModeOn' => 'Activate archive mode~~',
|
||||
'UI:ArchiveModeOff' => 'Deactivate archive mode~~',
|
||||
'UI:ArchiveMode:Banner' => 'Archive mode~~',
|
||||
'UI:ArchiveMode:Banner+' => 'Archived objects are visible, and no modification is allowed~~',
|
||||
'UI:FavoriteOrganizations' => 'クイックアクセス組織',
|
||||
'UI:FavoriteOrganizations+' => '迅速なアクセスのためのドロップダウンメニューに表示したい組織は、以下のリストで確認してください。セキュリティ設定ではないことに注意してください。全ての組織のオブジェクトは、表示可能です。ドロップダウンリストで「すべての組織(All Organizations)」を選択することでアクセスすることができます。',
|
||||
'UI:FavoriteLanguage' => 'ユーザインターフェースの言語~~',
|
||||
'UI:Favorites:SelectYourLanguage' => '希望する言語を選択ください。',
|
||||
'UI:FavoriteOtherSettings' => '他のセッティング',
|
||||
'UI:ModifyAllPageTitle' => '全てを修正',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'クラス%2$Sの%1$dオブジェクトを修正',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'クラス%2$sの%3$d中%1$dを修正',
|
||||
'UI:Menu:ModifyAll' => '修正...',
|
||||
'UI:Button:ModifyAll' => '全て修正',
|
||||
'UI:Button:PreviewModifications' => '修正をプレビュー >>',
|
||||
'UI:ModifiedObject' => '修正されたオブジェクト',
|
||||
'UI:BulkModifyStatus' => '操作',
|
||||
'UI:BulkModifyStatus+' => '操作の状態',
|
||||
'UI:BulkModifyErrors' => 'エラー (もしあれば)',
|
||||
'UI:BulkModifyErrors+' => '修正を出来ないようにしているエラー',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'エラー',
|
||||
'UI:BulkModifyStatusModified' => '修正',
|
||||
'UI:BulkModifyStatusSkipped' => 'スキップ',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d 個の個別の値:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d 回存在',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d 個以上の値...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => '読み込み専用フィールド %1$にセットしょうとしています。',
|
||||
'UI:FailedToApplyStimuli' => 'アクションは失敗しました。',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: クラス%3$sの%2$dオブジェクトを修正',
|
||||
'UI:CaseLogTypeYourTextHere' => 'テキストを入力ください:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => '初期値:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'フィールド %1$s は、データの同期によってマスターリングされているため書き込み可能ではありません。値は設定されません。',
|
||||
'UI:ActionNotAllowed' => 'あなたは、これらのオブジェクトへのこのアクションを許可されていません。',
|
||||
'UI:BulkAction:NoObjectSelected' => 'この操作を実行するには、少なくとも1つのオブジェクトを選択してください。',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'フィールド %1$s はデータの同期によってマスターリングされているため、書き込み可能ではありません。値は変更されません。',
|
||||
'UI:Pagination:HeaderSelection' => '全: %1$s オブジェクト (%2$s オブジェクト選択)。',
|
||||
'UI:Pagination:HeaderNoSelection' => '全: %1$s オブジェクト。',
|
||||
'UI:Pagination:PageSize' => '%1$s オブジェクト/ページ',
|
||||
'UI:Pagination:PagesLabel' => 'ページ:',
|
||||
'UI:Pagination:All' => '全',
|
||||
'UI:HierarchyOf_Class' => '%1$s の階層',
|
||||
'UI:Preferences' => 'プリファレンス...',
|
||||
'UI:ArchiveModeOn' => 'Activate archive mode~~',
|
||||
'UI:ArchiveModeOff' => 'Deactivate archive mode~~',
|
||||
'UI:ArchiveMode:Banner' => 'Archive mode~~',
|
||||
'UI:ArchiveMode:Banner+' => 'Archived objects are visible, and no modification is allowed~~',
|
||||
'UI:FavoriteOrganizations' => 'クイックアクセス組織',
|
||||
'UI:FavoriteOrganizations+' => '迅速なアクセスのためのドロップダウンメニューに表示したい組織は、以下のリストで確認してください。セキュリティ設定ではないことに注意してください。全ての組織のオブジェクトは、表示可能です。ドロップダウンリストで「すべての組織(All Organizations)」を選択することでアクセスすることができます。',
|
||||
'UI:FavoriteLanguage' => 'ユーザインターフェースの言語~~',
|
||||
'UI:Favorites:SelectYourLanguage' => '希望する言語を選択ください。',
|
||||
'UI:FavoriteOtherSettings' => '他のセッティング',
|
||||
'UI:Favorites:Default_X_ItemsPerPage' => 'リストの規定の長さ: %1$s items 毎ページ~~',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Show obsolete data~~',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Show obsolete data in search results and lists of items to select~~',
|
||||
'UI:NavigateAwayConfirmationMessage' => '全ての変更を破棄します。',
|
||||
'UI:CancelConfirmationMessage' => '変更内容が失われます。 続けますか?',
|
||||
'UI:AutoApplyConfirmationMessage' => '幾つかの変更は、まだ反映されていません。 それらの変更を反映させますか?。',
|
||||
'UI:Create_Class_InState' => '%1$sを作成、ステート:',
|
||||
'UI:OrderByHint_Values' => '並び順: %1$s',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Show obsolete data~~',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Show obsolete data in search results and lists of items to select~~',
|
||||
'UI:NavigateAwayConfirmationMessage' => '全ての変更を破棄します。',
|
||||
'UI:CancelConfirmationMessage' => '変更内容が失われます。 続けますか?',
|
||||
'UI:AutoApplyConfirmationMessage' => '幾つかの変更は、まだ反映されていません。 それらの変更を反映させますか?。',
|
||||
'UI:Create_Class_InState' => '%1$sを作成、ステート:',
|
||||
'UI:OrderByHint_Values' => '並び順: %1$s',
|
||||
'UI:Menu:AddToDashboard' => 'ダッシュボードに追加...',
|
||||
'UI:Button:Refresh' => '再表示',
|
||||
'UI:Button:GoPrint' => 'Print...~~',
|
||||
|
||||
@@ -333,18 +333,14 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
|
||||
//
|
||||
|
||||
Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
|
||||
'BooleanLabel:yes' => 'Ja',
|
||||
'BooleanLabel:no' => 'Nee',
|
||||
'UI:Login:Title' => 'Aanmelden in '.ITOP_APPLICATION_SHORT,
|
||||
'Menu:WelcomeMenu' => 'Welkom',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => 'Welkom in '.ITOP_APPLICATION_SHORT,
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Welkom',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => 'Welkom in '.ITOP_APPLICATION_SHORT,
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => 'Welkom in '.ITOP_APPLICATION_SHORT,
|
||||
'BooleanLabel:yes' => 'Ja',
|
||||
'BooleanLabel:no' => 'Nee',
|
||||
'UI:Login:Title' => 'Aanmelden in '.ITOP_APPLICATION_SHORT,
|
||||
'Menu:WelcomeMenu' => 'Welkom',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => 'Welkom in '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Welkom',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => 'Welkom in '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => 'Welkom in '.ITOP_APPLICATION_SHORT,
|
||||
|
||||
'UI:WelcomeMenu:LeftBlock' => '<p>'.ITOP_APPLICATION_SHORT.' is een compleet en open source portaal voor IT-operaties.</p>
|
||||
<ul>Op maat van jouw IT-omgeving:
|
||||
@@ -357,7 +353,7 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
|
||||
</ul>
|
||||
<p>Alle modules kunnen volledig onafhankelijk van elkaar worden opgezet, stap voor stap.</p>',
|
||||
|
||||
'UI:WelcomeMenu:RightBlock' => '<p>'.ITOP_APPLICATION_SHORT.' is gericht op serviceproviders. Het zorgt ervoor dat IT-engineers gemakkelijk meerdere klanten of organisaties kunnen beheren.
|
||||
'UI:WelcomeMenu:RightBlock' => '<p>'.ITOP_APPLICATION_SHORT.' is gericht op serviceproviders. Het zorgt ervoor dat IT-engineers gemakkelijk meerdere klanten of organisaties kunnen beheren.
|
||||
<ul>'.ITOP_APPLICATION_SHORT.' zorgt dankzij een uitgebreide set van bedrijfsprocessen voor een reeks voordelen:
|
||||
<li>De efficientië van het IT-management versterkt.</li>
|
||||
<li>De prestaties van IT-operaties verbetert.</li>
|
||||
@@ -1134,72 +1130,65 @@ Bij die koppeling wordt aan elke actie een volgorde-nummer gegeven. Dit bepaalt
|
||||
'Portal:Button:UpdateRequest' => 'Update de aanvraag',
|
||||
'Portal:EnterYourCommentsOnTicket' => 'Voeg opmerkingen over het oplossen van deze ticket toe:',
|
||||
'Portal:ErrorNoContactForThisUser' => 'Fout: de huidige gebruiker is niet gelinkt aan een persoon/contact. Neem contact op met jouw beheerder.',
|
||||
'Portal:Attachments' => 'Bijlagen',
|
||||
'Portal:AddAttachment' => ' Voeg bijlage toe ',
|
||||
'Portal:RemoveAttachment' => ' Verwijder bijlage ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Bijlage #%1$d to %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => 'Selecteer een sjabloon voor %1$s',
|
||||
'Enum:Undefined' => 'Ongedefinieerd',
|
||||
'Portal:Attachments' => 'Bijlagen',
|
||||
'Portal:AddAttachment' => ' Voeg bijlage toe ',
|
||||
'Portal:RemoveAttachment' => ' Verwijder bijlage ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Bijlage #%1$d to %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => 'Selecteer een sjabloon voor %1$s',
|
||||
'Enum:Undefined' => 'Ongedefinieerd',
|
||||
'UI:DurationForm_Days_Hours_Minutes_Seconds' => '%1$s dagen %2$s uren %3$s minuten %4$s seconden',
|
||||
'UI:ModifyAllPageTitle' => 'Bewerk alles',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Bezig met het aanpassen van %1$d objecten van klasse %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Bezig met het aanpassen van %1$d objecten van klasse %2$s van de %3$d',
|
||||
'UI:Menu:ModifyAll' => 'Bewerk...',
|
||||
'UI:Button:ModifyAll' => 'Bewerk alles',
|
||||
'UI:Button:PreviewModifications' => 'Voorbeeld van de bewerkingen >>',
|
||||
'UI:ModifiedObject' => 'Object is aangepast',
|
||||
'UI:BulkModifyStatus' => 'Operatie',
|
||||
'UI:BulkModifyStatus+' => 'Status van de operatie',
|
||||
'UI:BulkModifyErrors' => 'Fouten (indien van toepassing)',
|
||||
'UI:BulkModifyErrors+' => 'Fouten die de bewerking verhinderen',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'Fout',
|
||||
'UI:BulkModifyStatusModified' => 'Aangepast',
|
||||
'UI:BulkModifyStatusSkipped' => 'Overgeslagen',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d unieke waarden:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d keer',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d meer waarden...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Bezig met het instellen van het alleen-lezen veld: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'De actie is mislukt.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Bezig met het bewerken van %2$d objecten van klasse %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Typ jouw tekst hier:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'Beginwaarde:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'Het veld %1$s is niet aanpasbaar omdat het onderdeel is van een datasynchronisatie. Waarde niet opgegeven',
|
||||
'UI:ActionNotAllowed' => 'Je hebt geen toestemming om deze actie op deze objecten uit te voeren.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Selecteer tenminste een object om deze actie uit te voeren',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'Het veld %1$s is niet aanpasbaar omdat het onderdeel is van een datasynchronisatie. Waarde blijft onveranderd',
|
||||
'UI:Pagination:HeaderSelection' => 'Totaal: %1$s objecten (%2$s objecten geselecteerd).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Totaal: %1$s objecten.',
|
||||
'UI:Pagination:PageSize' => '%1$s objecten per pagina',
|
||||
'UI:Pagination:PagesLabel' => 'Paginas:',
|
||||
'UI:Pagination:All' => 'Alles',
|
||||
|
||||
'UI:Basket:Back' => 'Back~~',
|
||||
'UI:Basket:First' => 'First~~',
|
||||
'UI:Basket:Previous' => 'Previous~~',
|
||||
'UI:Basket:Next' => 'Next~~',
|
||||
'UI:Basket:Last' => 'Last~~',
|
||||
|
||||
'UI:HierarchyOf_Class' => 'Hierarchie van %1$s',
|
||||
'UI:Preferences' => 'Voorkeuren...',
|
||||
'UI:ArchiveModeOn' => 'Schakel Archief-mode in',
|
||||
'UI:ArchiveModeOff' => 'Schakel Archief-mode uit',
|
||||
'UI:ArchiveMode:Banner' => 'Archief-mode',
|
||||
'UI:ArchiveMode:Banner+' => 'Gearchiveerde objecten zijn zichtbaar, maar kunnen niet worden aangepast',
|
||||
'UI:FavoriteOrganizations' => 'Favoriete organisaties',
|
||||
'UI:FavoriteOrganizations+' => 'Duid in onderstaande lijst de organisaties aan die je wilt zien in de keuzelijst voor een snelle toegang. Dit is geen beveiligingsinstelling; objecten van elke organisatie zijn nog steed zichtbaar en toegankelijk door "Alle Organisaties" te selecteren in de keuzelijst.',
|
||||
'UI:FavoriteLanguage' => 'Taal van de gebruikersinterface',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Selecteer jouw taal',
|
||||
'UI:FavoriteOtherSettings' => 'Overige instellingen',
|
||||
'UI:ModifyAllPageTitle' => 'Bewerk alles',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Bezig met het aanpassen van %1$d objecten van klasse %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Bezig met het aanpassen van %1$d objecten van klasse %2$s van de %3$d',
|
||||
'UI:Menu:ModifyAll' => 'Bewerk...',
|
||||
'UI:Button:ModifyAll' => 'Bewerk alles',
|
||||
'UI:Button:PreviewModifications' => 'Voorbeeld van de bewerkingen >>',
|
||||
'UI:ModifiedObject' => 'Object is aangepast',
|
||||
'UI:BulkModifyStatus' => 'Operatie',
|
||||
'UI:BulkModifyStatus+' => 'Status van de operatie',
|
||||
'UI:BulkModifyErrors' => 'Fouten (indien van toepassing)',
|
||||
'UI:BulkModifyErrors+' => 'Fouten die de bewerking verhinderen',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'Fout',
|
||||
'UI:BulkModifyStatusModified' => 'Aangepast',
|
||||
'UI:BulkModifyStatusSkipped' => 'Overgeslagen',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d unieke waarden:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d keer',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d meer waarden...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Bezig met het instellen van het alleen-lezen veld: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'De actie is mislukt.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Bezig met het bewerken van %2$d objecten van klasse %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Typ jouw tekst hier:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'Beginwaarde:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'Het veld %1$s is niet aanpasbaar omdat het onderdeel is van een datasynchronisatie. Waarde niet opgegeven',
|
||||
'UI:ActionNotAllowed' => 'Je hebt geen toestemming om deze actie op deze objecten uit te voeren.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Selecteer tenminste een object om deze actie uit te voeren',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'Het veld %1$s is niet aanpasbaar omdat het onderdeel is van een datasynchronisatie. Waarde blijft onveranderd',
|
||||
'UI:Pagination:HeaderSelection' => 'Totaal: %1$s objecten (%2$s objecten geselecteerd).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Totaal: %1$s objecten.',
|
||||
'UI:Pagination:PageSize' => '%1$s objecten per pagina',
|
||||
'UI:Pagination:PagesLabel' => 'Paginas:',
|
||||
'UI:Pagination:All' => 'Alles',
|
||||
'UI:HierarchyOf_Class' => 'Hierarchie van %1$s',
|
||||
'UI:Preferences' => 'Voorkeuren...',
|
||||
'UI:ArchiveModeOn' => 'Schakel Archief-mode in',
|
||||
'UI:ArchiveModeOff' => 'Schakel Archief-mode uit',
|
||||
'UI:ArchiveMode:Banner' => 'Archief-mode',
|
||||
'UI:ArchiveMode:Banner+' => 'Gearchiveerde objecten zijn zichtbaar, maar kunnen niet worden aangepast',
|
||||
'UI:FavoriteOrganizations' => 'Favoriete organisaties',
|
||||
'UI:FavoriteOrganizations+' => 'Duid in onderstaande lijst de organisaties aan die je wilt zien in de keuzelijst voor een snelle toegang. Dit is geen beveiligingsinstelling; objecten van elke organisatie zijn nog steed zichtbaar en toegankelijk door "Alle Organisaties" te selecteren in de keuzelijst.',
|
||||
'UI:FavoriteLanguage' => 'Taal van de gebruikersinterface',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Selecteer jouw taal',
|
||||
'UI:FavoriteOtherSettings' => 'Overige instellingen',
|
||||
'UI:Favorites:Default_X_ItemsPerPage' => 'Standaardlengte: %1$s items per pagina',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Toon "Buiten dienst"-data',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Toon "Buiten dienst"-data in zoekresultaten en in keuzelijsten.',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Bewerkingen zullen worden genegeerd.',
|
||||
'UI:CancelConfirmationMessage' => 'Je zult jouw aanpassingen verliezen. Wil je toch doorgaan?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Sommige veranderingen zijn nog niet doorgevoerd. Wil je dat '.ITOP_APPLICATION_SHORT.' deze meeneemt?',
|
||||
'UI:Create_Class_InState' => 'Maak %1$s aan in deze fase: ',
|
||||
'UI:OrderByHint_Values' => 'Sorteervolgorde: %1$s',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Toon "Buiten dienst"-data',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Toon "Buiten dienst"-data in zoekresultaten en in keuzelijsten.',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Bewerkingen zullen worden genegeerd.',
|
||||
'UI:CancelConfirmationMessage' => 'Je zult jouw aanpassingen verliezen. Wil je toch doorgaan?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Sommige veranderingen zijn nog niet doorgevoerd. Wil je dat '.ITOP_APPLICATION_SHORT.' deze meeneemt?',
|
||||
'UI:Create_Class_InState' => 'Maak %1$s aan in deze fase: ',
|
||||
'UI:OrderByHint_Values' => 'Sorteervolgorde: %1$s',
|
||||
'UI:Menu:AddToDashboard' => 'Voeg toe aan dashboard...',
|
||||
'UI:Button:Refresh' => 'Herlaad',
|
||||
'UI:Button:GoPrint' => 'Afdrukken...',
|
||||
|
||||
@@ -334,18 +334,14 @@ Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
//
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'BooleanLabel:yes' => 'tak',
|
||||
'BooleanLabel:no' => 'nie',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login',
|
||||
'Menu:WelcomeMenu' => 'Witaj',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => 'Witaj w '.ITOP_APPLICATION_SHORT,
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Witaj',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => 'Witaj w '.ITOP_APPLICATION_SHORT,
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => 'Witaj w '.ITOP_APPLICATION_SHORT,
|
||||
'BooleanLabel:yes' => 'tak',
|
||||
'BooleanLabel:no' => 'nie',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login',
|
||||
'Menu:WelcomeMenu' => 'Witaj',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => 'Witaj w '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Witaj',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => 'Witaj w '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => 'Witaj w '.ITOP_APPLICATION_SHORT,
|
||||
|
||||
'UI:WelcomeMenu:LeftBlock' => '<p>'.ITOP_APPLICATION_SHORT.' to kompletny portal operacyjny OpenSource IT.</p>
|
||||
<ul>Obejmuje:
|
||||
@@ -1014,54 +1010,39 @@ W przypadku powiązania z wyzwalaczem, każde działanie otrzymuje numer "porzą
|
||||
'UI:NotificationsMenu:Actions:Action' => 'Inne działania',
|
||||
'UI:NotificationsMenu:AvailableActions' => 'Dostępne działania',
|
||||
|
||||
'Menu:TagAdminMenu' => 'Konfiguracja tagów',
|
||||
'Menu:TagAdminMenu+' => 'Zarządzanie wartościami tagów',
|
||||
'UI:TagAdminMenu:Title' => 'Konfiguracja tagów',
|
||||
'UI:TagAdminMenu:NoTags' => 'Nie skonfigurowano pola tagu',
|
||||
'Menu:TagAdminMenu' => 'Konfiguracja tagów',
|
||||
'Menu:TagAdminMenu+' => 'Zarządzanie wartościami tagów',
|
||||
'UI:TagAdminMenu:Title' => 'Konfiguracja tagów',
|
||||
'UI:TagAdminMenu:NoTags' => 'Nie skonfigurowano pola tagu',
|
||||
'UI:TagSetFieldData:Error' => 'Błąd: %1$s',
|
||||
|
||||
'Menu:AuditCategories' => 'Kategorie audytu',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AuditCategories+' => 'Kategorie audytu',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:Notifications:Title' => 'Kategorie audytu',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AuditCategories' => 'Kategorie audytu',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AuditCategories+' => 'Kategorie audytu',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:Notifications:Title' => 'Kategorie audytu',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:RunQueriesMenu' => 'Uruchom zapytania',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:RunQueriesMenu+' => 'Uruchom dowolne zapytanie',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:RunQueriesMenu' => 'Uruchom zapytania', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:RunQueriesMenu+' => 'Uruchom dowolne zapytanie',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:QueryMenu' => 'Słownik zapytań',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:QueryMenu+' => 'Słownik zapytań',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:QueryMenu' => 'Słownik zapytań',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:QueryMenu+' => 'Słownik zapytań',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:DataAdministration' => 'Administracja danymi',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataAdministration+' => 'Administracja danymi',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataAdministration' => 'Administracja danymi',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataAdministration+' => 'Administracja danymi',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:UniversalSearchMenu' => 'Wyszukiwanie uniwersalne',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UniversalSearchMenu+' => 'Szukaj wszystkiego...',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UniversalSearchMenu' => 'Wyszukiwanie uniwersalne',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UniversalSearchMenu+' => 'Szukaj wszystkiego...', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:UserManagementMenu' => 'Zarządzanie użytkownikami',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserManagementMenu+' => 'Zarządzanie użytkownikami',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserManagementMenu' => 'Zarządzanie użytkownikami',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserManagementMenu+' => 'Zarządzanie użytkownikami', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:ProfilesMenu' => 'Profile',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ProfilesMenu+' => 'Profile',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ProfilesMenu' => 'Profile',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ProfilesMenu+' => 'Profile',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ProfilesMenu:Title' => 'Profile',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:UserAccountsMenu' => 'Konta użytkowników',
|
||||
'Menu:UserAccountsMenu' => 'Konta użytkowników',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserAccountsMenu+' => 'Konta użytkowników',
|
||||
'Menu:UserAccountsMenu+' => 'Konta użytkowników',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserAccountsMenu:Title' => 'Konta użytkowników',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
@@ -1070,9 +1051,9 @@ W przypadku powiązania z wyzwalaczem, każde działanie otrzymuje numer "porzą
|
||||
'UI:iTopVersion:Long' => '%1$s wersja %2$s-%3$s zbudowana na %4$s',
|
||||
'UI:PropertiesTab' => 'Właściwości',
|
||||
|
||||
'UI:OpenDocumentInNewWindow_' => 'Otwórz',
|
||||
'UI:DownloadDocument_' => 'Pobierz',
|
||||
'UI:Document:NoPreview' => 'Brak podglądu tego typu dokumentu',
|
||||
'UI:OpenDocumentInNewWindow_' => 'Otwórz',
|
||||
'UI:DownloadDocument_' => 'Pobierz',
|
||||
'UI:Document:NoPreview' => 'Brak podglądu tego typu dokumentu',
|
||||
'UI:Download-CSV' => 'Pobierz %1$s',
|
||||
|
||||
'UI:DeadlineMissedBy_duration' => 'Nieodebrane przez %1$s',
|
||||
@@ -1145,72 +1126,65 @@ W przypadku powiązania z wyzwalaczem, każde działanie otrzymuje numer "porzą
|
||||
'Portal:Button:UpdateRequest' => 'Zaktualizuj zgłoszenie',
|
||||
'Portal:EnterYourCommentsOnTicket' => 'Wpisz swoje uwagi dotyczące rozwiązania tego zgłoszenia:',
|
||||
'Portal:ErrorNoContactForThisUser' => 'Błąd: bieżący użytkownik nie jest powiązany z kontaktem / osobą. Skontaktuj się z administratorem.',
|
||||
'Portal:Attachments' => 'Załączniki',
|
||||
'Portal:AddAttachment' => ' Dodaj załącznik ',
|
||||
'Portal:RemoveAttachment' => ' Usuń załącznik ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Załącznik #%1$d do %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => 'Wybierz szablon dla %1$s',
|
||||
'Enum:Undefined' => 'Nieokreślony',
|
||||
'Portal:Attachments' => 'Załączniki',
|
||||
'Portal:AddAttachment' => ' Dodaj załącznik ',
|
||||
'Portal:RemoveAttachment' => ' Usuń załącznik ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Załącznik #%1$d do %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => 'Wybierz szablon dla %1$s',
|
||||
'Enum:Undefined' => 'Nieokreślony',
|
||||
'UI:DurationForm_Days_Hours_Minutes_Seconds' => '%1$s d %2$s g %3$s min %4$s s',
|
||||
'UI:ModifyAllPageTitle' => 'Zmień wszystko',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Zmiana obiektów %1$d klasy %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Zmiana obiektów %1$d klasy %2$s poza %3$d',
|
||||
'UI:Menu:ModifyAll' => 'Zmień...',
|
||||
'UI:Button:ModifyAll' => 'Zmień wszystko',
|
||||
'UI:Button:PreviewModifications' => 'Podgląd zmian >>',
|
||||
'UI:ModifiedObject' => 'Obiekt zmieniony',
|
||||
'UI:BulkModifyStatus' => 'Operacja',
|
||||
'UI:BulkModifyStatus+' => 'Status operacji',
|
||||
'UI:BulkModifyErrors' => 'Błędy (jeśli występują)',
|
||||
'UI:BulkModifyErrors+' => 'Błędy uniemożliwiające zmianę',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'Błąd',
|
||||
'UI:BulkModifyStatusModified' => 'Zmieniono',
|
||||
'UI:BulkModifyStatusSkipped' => 'Pominięto',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d odrębne wartości:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d czas',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d więcej wartości...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Próba ustawienia pola tylko do odczytu: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'Działanie nie powiodło się.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Zmiana obiektów %2$d klasy %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Tutaj wpisz swój tekst...',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'Wartość początkowa:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'Pole %1$s nie jest zapisywalne, ponieważ jest kontrolowane przez synchronizację danych. Wartość nie została ustawiona.',
|
||||
'UI:ActionNotAllowed' => 'Nie możesz wykonać działania na tych obiektach.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Wybierz co najmniej jeden obiekt do wykonania tej operacji',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'Pole %1$s nie jest zapisywalne, ponieważ jest kontrolowane przez synchronizację danych. Wartość pozostaje niezmieniona.',
|
||||
'UI:Pagination:HeaderSelection' => 'Łącznie: %1$s obiektów (%2$s obiektów wybranych).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Łącznie: %1$s obiektów.',
|
||||
'UI:Pagination:PageSize' => '%1$s obiektów na stronę',
|
||||
'UI:Pagination:PagesLabel' => 'Strony:',
|
||||
'UI:Pagination:All' => 'Wszystkie',
|
||||
|
||||
'UI:Basket:Back' => 'Back~~',
|
||||
'UI:Basket:First' => 'First~~',
|
||||
'UI:Basket:Previous' => 'Previous~~',
|
||||
'UI:Basket:Next' => 'Next~~',
|
||||
'UI:Basket:Last' => 'Last~~',
|
||||
|
||||
'UI:HierarchyOf_Class' => 'Hierarchia %1$s',
|
||||
'UI:Preferences' => 'Preferencje...',
|
||||
'UI:ArchiveModeOn' => 'Aktywuj tryb archiwizacji',
|
||||
'UI:ArchiveModeOff' => 'Dezaktywuj tryb archiwizacji',
|
||||
'UI:ArchiveMode:Banner' => 'Tryb archiwizacji',
|
||||
'UI:ArchiveMode:Banner+' => 'Zarchiwizowane obiekty są widoczne i nie można ich modyfikować',
|
||||
'UI:FavoriteOrganizations' => 'Ulubione organizacje',
|
||||
'UI:FavoriteOrganizations+' => 'Sprawdź na liście poniżej organizacje, które chcesz zobaczyć w menu rozwijanym, aby uzyskać szybki dostęp. Pamiętaj, że to nie jest ustawienie zabezpieczeń, obiekty z dowolnej organizacji są nadal widoczne i można uzyskać do nich dostęp, wybierając z listy rozwijanej opcję "Wszystkie organizacje".',
|
||||
'UI:FavoriteLanguage' => 'Język interfejsu użytkownika',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Wybierz preferowany język',
|
||||
'UI:FavoriteOtherSettings' => 'Inne ustawienia',
|
||||
'UI:ModifyAllPageTitle' => 'Zmień wszystko',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Zmiana obiektów %1$d klasy %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Zmiana obiektów %1$d klasy %2$s poza %3$d',
|
||||
'UI:Menu:ModifyAll' => 'Zmień...',
|
||||
'UI:Button:ModifyAll' => 'Zmień wszystko',
|
||||
'UI:Button:PreviewModifications' => 'Podgląd zmian >>',
|
||||
'UI:ModifiedObject' => 'Obiekt zmieniony',
|
||||
'UI:BulkModifyStatus' => 'Operacja',
|
||||
'UI:BulkModifyStatus+' => 'Status operacji',
|
||||
'UI:BulkModifyErrors' => 'Błędy (jeśli występują)',
|
||||
'UI:BulkModifyErrors+' => 'Błędy uniemożliwiające zmianę',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'Błąd',
|
||||
'UI:BulkModifyStatusModified' => 'Zmieniono',
|
||||
'UI:BulkModifyStatusSkipped' => 'Pominięto',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d odrębne wartości:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d czas',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d więcej wartości...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Próba ustawienia pola tylko do odczytu: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'Działanie nie powiodło się.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Zmiana obiektów %2$d klasy %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Tutaj wpisz swój tekst...',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'Wartość początkowa:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'Pole %1$s nie jest zapisywalne, ponieważ jest kontrolowane przez synchronizację danych. Wartość nie została ustawiona.',
|
||||
'UI:ActionNotAllowed' => 'Nie możesz wykonać działania na tych obiektach.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Wybierz co najmniej jeden obiekt do wykonania tej operacji',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'Pole %1$s nie jest zapisywalne, ponieważ jest kontrolowane przez synchronizację danych. Wartość pozostaje niezmieniona.',
|
||||
'UI:Pagination:HeaderSelection' => 'Łącznie: %1$s obiektów (%2$s obiektów wybranych).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Łącznie: %1$s obiektów.',
|
||||
'UI:Pagination:PageSize' => '%1$s obiektów na stronę',
|
||||
'UI:Pagination:PagesLabel' => 'Strony:',
|
||||
'UI:Pagination:All' => 'Wszystkie',
|
||||
'UI:HierarchyOf_Class' => 'Hierarchia %1$s',
|
||||
'UI:Preferences' => 'Preferencje...',
|
||||
'UI:ArchiveModeOn' => 'Aktywuj tryb archiwizacji',
|
||||
'UI:ArchiveModeOff' => 'Dezaktywuj tryb archiwizacji',
|
||||
'UI:ArchiveMode:Banner' => 'Tryb archiwizacji',
|
||||
'UI:ArchiveMode:Banner+' => 'Zarchiwizowane obiekty są widoczne i nie można ich modyfikować',
|
||||
'UI:FavoriteOrganizations' => 'Ulubione organizacje',
|
||||
'UI:FavoriteOrganizations+' => 'Sprawdź na liście poniżej organizacje, które chcesz zobaczyć w menu rozwijanym, aby uzyskać szybki dostęp. Pamiętaj, że to nie jest ustawienie zabezpieczeń, obiekty z dowolnej organizacji są nadal widoczne i można uzyskać do nich dostęp, wybierając z listy rozwijanej opcję "Wszystkie organizacje".',
|
||||
'UI:FavoriteLanguage' => 'Język interfejsu użytkownika',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Wybierz preferowany język',
|
||||
'UI:FavoriteOtherSettings' => 'Inne ustawienia',
|
||||
'UI:Favorites:Default_X_ItemsPerPage' => 'Domyślna długość: %1$s pozycji na stronę',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Pokaż wycofane dane',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Pokaż wycofane dane w wynikach wyszukiwania i listach elementów do wybrania',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Wszelkie modyfikacje zostaną odrzucone.',
|
||||
'UI:CancelConfirmationMessage' => 'Utracisz wprowadzone zmiany. Kontynuować mimo to?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Niektóre zmiany nie zostały jeszcze zastosowane. Czy chcesz aby '.ITOP_APPLICATION_SHORT.' wziął je pod uwagę?',
|
||||
'UI:Create_Class_InState' => 'Utwórz %1$s w stanie: ',
|
||||
'UI:OrderByHint_Values' => 'Porządek sortowania: %1$s',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Pokaż wycofane dane',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Pokaż wycofane dane w wynikach wyszukiwania i listach elementów do wybrania',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Wszelkie modyfikacje zostaną odrzucone.',
|
||||
'UI:CancelConfirmationMessage' => 'Utracisz wprowadzone zmiany. Kontynuować mimo to?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Niektóre zmiany nie zostały jeszcze zastosowane. Czy chcesz aby '.ITOP_APPLICATION_SHORT.' wziął je pod uwagę?',
|
||||
'UI:Create_Class_InState' => 'Utwórz %1$s w stanie: ',
|
||||
'UI:OrderByHint_Values' => 'Porządek sortowania: %1$s',
|
||||
'UI:Menu:AddToDashboard' => 'Dodaj do pulpitu...',
|
||||
'UI:Button:Refresh' => 'Odśwież',
|
||||
'UI:Button:GoPrint' => 'Drukuj...',
|
||||
|
||||
@@ -333,18 +333,14 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
|
||||
//
|
||||
|
||||
Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
|
||||
'BooleanLabel:yes' => 'Sim',
|
||||
'BooleanLabel:no' => 'Não',
|
||||
'UI:Login:Title' => 'Login no '.ITOP_APPLICATION_SHORT,
|
||||
'Menu:WelcomeMenu' => 'Página inicial do '.ITOP_APPLICATION_SHORT,
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => 'Bem-vindo ao '.ITOP_APPLICATION_SHORT,
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Bem-vindo ao '.ITOP_APPLICATION_SHORT,
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => 'Bem-vindo ao '.ITOP_APPLICATION_SHORT,
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => 'Bem-vindo ao '.ITOP_APPLICATION_SHORT,
|
||||
'BooleanLabel:yes' => 'Sim',
|
||||
'BooleanLabel:no' => 'Não',
|
||||
'UI:Login:Title' => 'Login no '.ITOP_APPLICATION_SHORT,
|
||||
'Menu:WelcomeMenu' => 'Página inicial do '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => 'Bem-vindo ao '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Bem-vindo ao '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => 'Bem-vindo ao '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => 'Bem-vindo ao '.ITOP_APPLICATION_SHORT,
|
||||
|
||||
'UI:WelcomeMenu:LeftBlock' => '<p>O '.ITOP_APPLICATION_SHORT.' é um Portal Operacional de TI de código aberto completo.</p>
|
||||
<ul>Ele inclui:
|
||||
@@ -357,7 +353,7 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
|
||||
</ul>
|
||||
<p>Todos os módulos podem ser configurados, passo a passo, independentemente uns dos outros.</p>',
|
||||
|
||||
'UI:WelcomeMenu:RightBlock' => '<p>O '.ITOP_APPLICATION_SHORT.' é orientado para o provedor de serviços, ele permite que os especialistas de TI gerenciem facilmente vários clientes ou organizações.
|
||||
'UI:WelcomeMenu:RightBlock' => '<p>O '.ITOP_APPLICATION_SHORT.' é orientado para o provedor de serviços, ele permite que os especialistas de TI gerenciem facilmente vários clientes ou organizações.
|
||||
<ul>O '.ITOP_APPLICATION_SHORT.' oferece um conjunto rico em recursos de processos de negócios que:
|
||||
<li>Melhora a eficácia do gerenciamento de TI</li>
|
||||
<li>Impulsiona o desempenho das operações de TI</li>
|
||||
@@ -1131,72 +1127,65 @@ Quando associada a um gatilho, cada ação recebe um número de "ordem", especif
|
||||
'Portal:Button:UpdateRequest' => 'Atualizar a solicitação',
|
||||
'Portal:EnterYourCommentsOnTicket' => 'Digite seu comentário referente a solução da sua solicitação:',
|
||||
'Portal:ErrorNoContactForThisUser' => 'Erro: o usuário atual não esta associado com um contato/pessoa. Por favor, contacte o administrador.',
|
||||
'Portal:Attachments' => 'Anexos',
|
||||
'Portal:AddAttachment' => ' Adicionar anexo ',
|
||||
'Portal:RemoveAttachment' => ' Remover anexo ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Anexo #%1$d para %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => 'Selecione um modelo para %1$s',
|
||||
'Enum:Undefined' => '(n/a)',
|
||||
'Portal:Attachments' => 'Anexos',
|
||||
'Portal:AddAttachment' => ' Adicionar anexo ',
|
||||
'Portal:RemoveAttachment' => ' Remover anexo ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Anexo #%1$d para %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => 'Selecione um modelo para %1$s',
|
||||
'Enum:Undefined' => '(n/a)',
|
||||
'UI:DurationForm_Days_Hours_Minutes_Seconds' => '%1$s dias %2$s horas %3$s minutos %4$s segundos',
|
||||
'UI:ModifyAllPageTitle' => 'Modificar todos',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Editando objeto %1$d da classe %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Editando objeto %1$d da classe %2$s de %3$d',
|
||||
'UI:Menu:ModifyAll' => 'Edição em massa...',
|
||||
'UI:Button:ModifyAll' => 'Modificar todos',
|
||||
'UI:Button:PreviewModifications' => 'Visualizar modificações >>',
|
||||
'UI:ModifiedObject' => 'Objeto modificado',
|
||||
'UI:BulkModifyStatus' => 'Operação',
|
||||
'UI:BulkModifyStatus+' => 'Status da operação',
|
||||
'UI:BulkModifyErrors' => 'Erros (se houver)',
|
||||
'UI:BulkModifyErrors+' => 'Erros que impedem a modificação',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'Erro',
|
||||
'UI:BulkModifyStatusModified' => 'Modificado',
|
||||
'UI:BulkModifyStatusSkipped' => 'Skipped',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d valores distintos:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d tempo(s)',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d mais valores...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Tentativa de definir o campo como somente-leitura: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'A ação falhou',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: modificando %2$d objetos da classe %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Digite seu texto aqui:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'Valor inicial:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'O campo %1$s não é editável, porque é originado pela sincronização de dados. Valor não definido',
|
||||
'UI:ActionNotAllowed' => 'Você não tem permissão para executar esta ação nesses objetos',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Por favor, selecione pelo menos um objeto para realizar esta operação',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'O campo %1$s não é editável, porque é originado pela sincronização de dados. Valor não definido',
|
||||
'UI:Pagination:HeaderSelection' => 'Total: %1$s objeto(s) (%2$s objeto(s) selecionado(s))',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Total: %1$s objeto(s)',
|
||||
'UI:Pagination:PageSize' => '%1$s objeto(s) por página',
|
||||
'UI:Pagination:PagesLabel' => 'Páginas:',
|
||||
'UI:Pagination:All' => 'Tudo',
|
||||
|
||||
'UI:Basket:Back' => 'Back~~',
|
||||
'UI:Basket:First' => 'First~~',
|
||||
'UI:Basket:Previous' => 'Previous~~',
|
||||
'UI:Basket:Next' => 'Next~~',
|
||||
'UI:Basket:Last' => 'Last~~',
|
||||
|
||||
'UI:HierarchyOf_Class' => 'Hierarquia de %1$s',
|
||||
'UI:Preferences' => 'Preferências...',
|
||||
'UI:ArchiveModeOn' => 'Ativar o modo de arquivamento',
|
||||
'UI:ArchiveModeOff' => 'Desativar modo de arquivamento',
|
||||
'UI:ArchiveMode:Banner' => 'Modo de arquivamento',
|
||||
'UI:ArchiveMode:Banner+' => 'Objetos arquivados são visíveis e nenhuma modificação é permitida',
|
||||
'UI:FavoriteOrganizations' => 'Organizações favoritas',
|
||||
'UI:FavoriteOrganizations+' => 'Confira na lista abaixo as organizações que você deseja ver no menu suspenso para acesso rápido. Note que esta não é uma configuração de segurança, objetos de qualquer organização ainda são visíveis e podem ser acessados ao selecionar "Todas as Organizações" no menu suspenso.',
|
||||
'UI:FavoriteLanguage' => 'Idioma do painel do usuário',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Selecione seu idioma preferido',
|
||||
'UI:FavoriteOtherSettings' => 'Outras configurações',
|
||||
'UI:ModifyAllPageTitle' => 'Modificar todos',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Editando objeto %1$d da classe %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Editando objeto %1$d da classe %2$s de %3$d',
|
||||
'UI:Menu:ModifyAll' => 'Edição em massa...',
|
||||
'UI:Button:ModifyAll' => 'Modificar todos',
|
||||
'UI:Button:PreviewModifications' => 'Visualizar modificações >>',
|
||||
'UI:ModifiedObject' => 'Objeto modificado',
|
||||
'UI:BulkModifyStatus' => 'Operação',
|
||||
'UI:BulkModifyStatus+' => 'Status da operação',
|
||||
'UI:BulkModifyErrors' => 'Erros (se houver)',
|
||||
'UI:BulkModifyErrors+' => 'Erros que impedem a modificação',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'Erro',
|
||||
'UI:BulkModifyStatusModified' => 'Modificado',
|
||||
'UI:BulkModifyStatusSkipped' => 'Skipped',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d valores distintos:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d tempo(s)',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d mais valores...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Tentativa de definir o campo como somente-leitura: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'A ação falhou',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: modificando %2$d objetos da classe %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Digite seu texto aqui:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'Valor inicial:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'O campo %1$s não é editável, porque é originado pela sincronização de dados. Valor não definido',
|
||||
'UI:ActionNotAllowed' => 'Você não tem permissão para executar esta ação nesses objetos',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Por favor, selecione pelo menos um objeto para realizar esta operação',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'O campo %1$s não é editável, porque é originado pela sincronização de dados. Valor não definido',
|
||||
'UI:Pagination:HeaderSelection' => 'Total: %1$s objeto(s) (%2$s objeto(s) selecionado(s))',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Total: %1$s objeto(s)',
|
||||
'UI:Pagination:PageSize' => '%1$s objeto(s) por página',
|
||||
'UI:Pagination:PagesLabel' => 'Páginas:',
|
||||
'UI:Pagination:All' => 'Tudo',
|
||||
'UI:HierarchyOf_Class' => 'Hierarquia de %1$s',
|
||||
'UI:Preferences' => 'Preferências...',
|
||||
'UI:ArchiveModeOn' => 'Ativar o modo de arquivamento',
|
||||
'UI:ArchiveModeOff' => 'Desativar modo de arquivamento',
|
||||
'UI:ArchiveMode:Banner' => 'Modo de arquivamento',
|
||||
'UI:ArchiveMode:Banner+' => 'Objetos arquivados são visíveis e nenhuma modificação é permitida',
|
||||
'UI:FavoriteOrganizations' => 'Organizações favoritas',
|
||||
'UI:FavoriteOrganizations+' => 'Confira na lista abaixo as organizações que você deseja ver no menu suspenso para acesso rápido. Note que esta não é uma configuração de segurança, objetos de qualquer organização ainda são visíveis e podem ser acessados ao selecionar "Todas as Organizações" no menu suspenso.',
|
||||
'UI:FavoriteLanguage' => 'Idioma do painel do usuário',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Selecione seu idioma preferido',
|
||||
'UI:FavoriteOtherSettings' => 'Outras configurações',
|
||||
'UI:Favorites:Default_X_ItemsPerPage' => 'Quantidade padrão para listas %1$s item(ns) por página',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Exibir dados obsoletos',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Exibir dados obsoletos nos resultados de pesquisa e listas de itens para selecionar',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Quaisquer modificações serão descartadas',
|
||||
'UI:CancelConfirmationMessage' => 'Você irá perder as suas alterações. Continuar mesmo assim?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Algumas alterações ainda não foram aplicadas. Você quer que o '.ITOP_APPLICATION_SHORT.' os leve em consideração?',
|
||||
'UI:Create_Class_InState' => 'Criar o status %1$s: ',
|
||||
'UI:OrderByHint_Values' => 'Classificar por: %1$s',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Exibir dados obsoletos',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Exibir dados obsoletos nos resultados de pesquisa e listas de itens para selecionar',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Quaisquer modificações serão descartadas',
|
||||
'UI:CancelConfirmationMessage' => 'Você irá perder as suas alterações. Continuar mesmo assim?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Algumas alterações ainda não foram aplicadas. Você quer que o '.ITOP_APPLICATION_SHORT.' os leve em consideração?',
|
||||
'UI:Create_Class_InState' => 'Criar o status %1$s: ',
|
||||
'UI:OrderByHint_Values' => 'Classificar por: %1$s',
|
||||
'UI:Menu:AddToDashboard' => 'Adicionar ao painel...',
|
||||
'UI:Button:Refresh' => 'Atualizar',
|
||||
'UI:Button:GoPrint' => 'Imprimir ...',
|
||||
|
||||
@@ -334,18 +334,14 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
//
|
||||
|
||||
Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
'BooleanLabel:yes' => 'да',
|
||||
'BooleanLabel:no' => 'нет',
|
||||
'UI:Login:Title' => 'Вход в '.ITOP_APPLICATION_SHORT,
|
||||
'Menu:WelcomeMenu' => 'Добро пожаловать',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => 'Добро пожаловать в '.ITOP_APPLICATION_SHORT,
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Добро пожаловать',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => 'Добро пожаловать в '.ITOP_APPLICATION_SHORT,
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => 'Добро пожаловать в '.ITOP_APPLICATION_SHORT,
|
||||
'BooleanLabel:yes' => 'да',
|
||||
'BooleanLabel:no' => 'нет',
|
||||
'UI:Login:Title' => 'Вход в '.ITOP_APPLICATION_SHORT,
|
||||
'Menu:WelcomeMenu' => 'Добро пожаловать',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => 'Добро пожаловать в '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Добро пожаловать',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => 'Добро пожаловать в '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => 'Добро пожаловать в '.ITOP_APPLICATION_SHORT,
|
||||
|
||||
'UI:WelcomeMenu:LeftBlock' => '<p>'.ITOP_APPLICATION_SHORT.' является порталом оперативного централизованного управления IT инфраструктурой с открытым исходным кодом.</p>
|
||||
<ul>Он включает:
|
||||
@@ -358,7 +354,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
</ul>
|
||||
<p>Все модули могут быть настроены, шаг за шагом, независмо друг от друга.</p>',
|
||||
|
||||
'UI:WelcomeMenu:RightBlock' => '<p>'.ITOP_APPLICATION_SHORT.' ориентирован на предоставления сервисов, он позволяет IT специалистам легко управляться с несколькими заказчиками или организациями.
|
||||
'UI:WelcomeMenu:RightBlock' => '<p>'.ITOP_APPLICATION_SHORT.' ориентирован на предоставления сервисов, он позволяет IT специалистам легко управляться с несколькими заказчиками или организациями.
|
||||
<ul>'.ITOP_APPLICATION_SHORT.' обеспечивает многофункциональный набор бизнес-процессов, которые:
|
||||
<li>Повышают эффективность управления IT</li>
|
||||
<li>Повышают производительность IT-операций</li>
|
||||
@@ -1131,72 +1127,65 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
'Portal:Button:UpdateRequest' => 'Обновить запрос',
|
||||
'Portal:EnterYourCommentsOnTicket' => 'Введите ваши комментарии по решению этого запроса:',
|
||||
'Portal:ErrorNoContactForThisUser' => 'Ошибка: текущий пользователь не ассоциирован с Контактом/Персоной. Пожалуйста, свяжитесь с вашим администратором.',
|
||||
'Portal:Attachments' => 'Вложения',
|
||||
'Portal:AddAttachment' => 'Добавить вложения',
|
||||
'Portal:RemoveAttachment' => ' Удалить вложения',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Вложение #%1$d to %2$s (%3$s)~~',
|
||||
'Portal:SelectRequestTemplate' => 'Select a template for %1$s~~',
|
||||
'Enum:Undefined' => 'Не определён',
|
||||
'Portal:Attachments' => 'Вложения',
|
||||
'Portal:AddAttachment' => 'Добавить вложения',
|
||||
'Portal:RemoveAttachment' => ' Удалить вложения',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Вложение #%1$d to %2$s (%3$s)~~',
|
||||
'Portal:SelectRequestTemplate' => 'Select a template for %1$s~~',
|
||||
'Enum:Undefined' => 'Не определён',
|
||||
'UI:DurationForm_Days_Hours_Minutes_Seconds' => '%1$s д %2$s ч %3$s мин %4$s с',
|
||||
'UI:ModifyAllPageTitle' => 'Пакетное редактирование',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Редактирование %1$d объектов класса %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Редактирование %1$d объектов класса %2$s из %3$d',
|
||||
'UI:Menu:ModifyAll' => 'Редактировать...',
|
||||
'UI:Button:ModifyAll' => 'Редактировать все',
|
||||
'UI:Button:PreviewModifications' => 'Предпросмотр изменений >>',
|
||||
'UI:ModifiedObject' => 'Объект изменен',
|
||||
'UI:BulkModifyStatus' => 'Операция',
|
||||
'UI:BulkModifyStatus+' => 'Статус операции',
|
||||
'UI:BulkModifyErrors' => 'Ошибки (если есть)',
|
||||
'UI:BulkModifyErrors+' => 'Ошибки, препятствующие изменению',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'Ошибка',
|
||||
'UI:BulkModifyStatusModified' => 'Изменен',
|
||||
'UI:BulkModifyStatusSkipped' => 'Пропущен',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d различных значения:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d раз(а)',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d дополнительных значения...~~',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Attempting to set the read-only field: %1$s~~',
|
||||
'UI:FailedToApplyStimuli' => 'Операция не может быть выполнена.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Modifying %2$d objects of class %3$s~~',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Введите свой текст:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:~~',
|
||||
'UI:CaseLog:InitialValue' => 'Initial value:~~',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'The field %1$s is not writable because it is mastered by the data synchronization. Value not set.~~',
|
||||
'UI:ActionNotAllowed' => 'You are not allowed to perform this action on these objects.~~',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Please select at least one object to perform this operation~~',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'The field %1$s is not writable because it is mastered by the data synchronization. Value remains unchanged.~~',
|
||||
'UI:Pagination:HeaderSelection' => 'Всего: %1$s элементов (%2$s элементов выделено).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Всего: %1$s элементов',
|
||||
'UI:Pagination:PageSize' => '%1$s объектов на страницу',
|
||||
'UI:Pagination:PagesLabel' => 'Страницы:~~',
|
||||
'UI:Pagination:All' => 'Все',
|
||||
|
||||
'UI:Basket:Back' => 'Back~~',
|
||||
'UI:Basket:First' => 'First~~',
|
||||
'UI:Basket:Previous' => 'Previous~~',
|
||||
'UI:Basket:Next' => 'Next~~',
|
||||
'UI:Basket:Last' => 'Last~~',
|
||||
|
||||
'UI:HierarchyOf_Class' => 'Иерархия по: %1$s~~',
|
||||
'UI:Preferences' => 'Предпочтения',
|
||||
'UI:ArchiveModeOn' => 'Activate archive mode~~',
|
||||
'UI:ArchiveModeOff' => 'Deactivate archive mode~~',
|
||||
'UI:ArchiveMode:Banner' => 'Archive mode~~',
|
||||
'UI:ArchiveMode:Banner+' => 'Archived objects are visible, and no modification is allowed~~',
|
||||
'UI:FavoriteOrganizations' => 'Избранные организации',
|
||||
'UI:FavoriteOrganizations+' => 'Отметьте в списке ниже организации, которые вы хотите видеть в раскрывающемся списке бокового меню для быстрого доступа. Обратите внимание, что это не параметр безопасности, объекты из любой организации по-прежнему видны и могут быть доступны, выбрав "Все организации" в раскрывающемся списке.',
|
||||
'UI:FavoriteLanguage' => 'Язык',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Выберите Ваш язык',
|
||||
'UI:FavoriteOtherSettings' => 'Другие настройки',
|
||||
'UI:ModifyAllPageTitle' => 'Пакетное редактирование',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Редактирование %1$d объектов класса %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Редактирование %1$d объектов класса %2$s из %3$d',
|
||||
'UI:Menu:ModifyAll' => 'Редактировать...',
|
||||
'UI:Button:ModifyAll' => 'Редактировать все',
|
||||
'UI:Button:PreviewModifications' => 'Предпросмотр изменений >>',
|
||||
'UI:ModifiedObject' => 'Объект изменен',
|
||||
'UI:BulkModifyStatus' => 'Операция',
|
||||
'UI:BulkModifyStatus+' => 'Статус операции',
|
||||
'UI:BulkModifyErrors' => 'Ошибки (если есть)',
|
||||
'UI:BulkModifyErrors+' => 'Ошибки, препятствующие изменению',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => 'Ошибка',
|
||||
'UI:BulkModifyStatusModified' => 'Изменен',
|
||||
'UI:BulkModifyStatusSkipped' => 'Пропущен',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d различных значения:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d раз(а)',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d дополнительных значения...~~',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Attempting to set the read-only field: %1$s~~',
|
||||
'UI:FailedToApplyStimuli' => 'Операция не может быть выполнена.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Modifying %2$d objects of class %3$s~~',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Введите свой текст:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:~~',
|
||||
'UI:CaseLog:InitialValue' => 'Initial value:~~',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'The field %1$s is not writable because it is mastered by the data synchronization. Value not set.~~',
|
||||
'UI:ActionNotAllowed' => 'You are not allowed to perform this action on these objects.~~',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Please select at least one object to perform this operation~~',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'The field %1$s is not writable because it is mastered by the data synchronization. Value remains unchanged.~~',
|
||||
'UI:Pagination:HeaderSelection' => 'Всего: %1$s элементов (%2$s элементов выделено).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Всего: %1$s элементов',
|
||||
'UI:Pagination:PageSize' => '%1$s объектов на страницу',
|
||||
'UI:Pagination:PagesLabel' => 'Страницы:~~',
|
||||
'UI:Pagination:All' => 'Все',
|
||||
'UI:HierarchyOf_Class' => 'Иерархия по: %1$s~~',
|
||||
'UI:Preferences' => 'Предпочтения',
|
||||
'UI:ArchiveModeOn' => 'Activate archive mode~~',
|
||||
'UI:ArchiveModeOff' => 'Deactivate archive mode~~',
|
||||
'UI:ArchiveMode:Banner' => 'Archive mode~~',
|
||||
'UI:ArchiveMode:Banner+' => 'Archived objects are visible, and no modification is allowed~~',
|
||||
'UI:FavoriteOrganizations' => 'Избранные организации',
|
||||
'UI:FavoriteOrganizations+' => 'Отметьте в списке ниже организации, которые вы хотите видеть в раскрывающемся списке бокового меню для быстрого доступа. Обратите внимание, что это не параметр безопасности, объекты из любой организации по-прежнему видны и могут быть доступны, выбрав "Все организации" в раскрывающемся списке.',
|
||||
'UI:FavoriteLanguage' => 'Язык',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Выберите Ваш язык',
|
||||
'UI:FavoriteOtherSettings' => 'Другие настройки',
|
||||
'UI:Favorites:Default_X_ItemsPerPage' => 'Длина списков по умолчанию: %1$s элементов на страницу',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Показывать устаревшие данные',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Отображение устаревших данных в результатах поиска и списках элементов для выбора',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Все изменения будут отменены.',
|
||||
'UI:CancelConfirmationMessage' => 'Настройки НЕ будут сохранены. Продолжить?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Некоторые изменения не вступили в силу. Применить их немедленно?',
|
||||
'UI:Create_Class_InState' => 'Create the %1$s in state: ~~',
|
||||
'UI:OrderByHint_Values' => 'Sort order: %1$s~~',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Показывать устаревшие данные',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Отображение устаревших данных в результатах поиска и списках элементов для выбора',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Все изменения будут отменены.',
|
||||
'UI:CancelConfirmationMessage' => 'Настройки НЕ будут сохранены. Продолжить?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Некоторые изменения не вступили в силу. Применить их немедленно?',
|
||||
'UI:Create_Class_InState' => 'Create the %1$s in state: ~~',
|
||||
'UI:OrderByHint_Values' => 'Sort order: %1$s~~',
|
||||
'UI:Menu:AddToDashboard' => 'Добавить на дашборд...',
|
||||
'UI:Button:Refresh' => 'Обновить',
|
||||
'UI:Button:GoPrint' => 'Печать...',
|
||||
|
||||
@@ -1119,72 +1119,65 @@ Keď sú priradené spúštačom, každej akcii je dané číslo "príkazu", šp
|
||||
'Portal:Button:UpdateRequest' => 'Aktualizovať žiadosť',
|
||||
'Portal:EnterYourCommentsOnTicket' => 'Vložte Vaše komentáre o riešení tohto lístku:',
|
||||
'Portal:ErrorNoContactForThisUser' => 'Chyba: súčasný užívateľ nemá priradený kontakt/osobu. Prosím kontaktujte Vášho administrátora.',
|
||||
'Portal:Attachments' => 'Prílohy',
|
||||
'Portal:AddAttachment' => ' Pridať prílohu ',
|
||||
'Portal:RemoveAttachment' => ' Odstrániť prílohu ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Príloha #%1$d do %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => 'Zvoľ predlohu pre %1$s',
|
||||
'Enum:Undefined' => 'Nedefinovaný',
|
||||
'Portal:Attachments' => 'Prílohy',
|
||||
'Portal:AddAttachment' => ' Pridať prílohu ',
|
||||
'Portal:RemoveAttachment' => ' Odstrániť prílohu ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Príloha #%1$d do %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => 'Zvoľ predlohu pre %1$s',
|
||||
'Enum:Undefined' => 'Nedefinovaný',
|
||||
'UI:DurationForm_Days_Hours_Minutes_Seconds' => '%1$s Dní %2$s Hodín %3$s Minút %4$s Sekúnd',
|
||||
'UI:ModifyAllPageTitle' => 'Upraviť všetko',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Modifying %1$d objects of class %2$s~~',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Upravovanie %1$d objektov triedy %2$s z %3$d',
|
||||
'UI:Menu:ModifyAll' => 'Upraviť...',
|
||||
'UI:Button:ModifyAll' => 'Upraviť všetko',
|
||||
'UI:Button:PreviewModifications' => 'Náhľad úpravy >>',
|
||||
'UI:ModifiedObject' => 'Objekt Upravený',
|
||||
'UI:BulkModifyStatus' => 'Operácie',
|
||||
'UI:BulkModifyStatus+' => '',
|
||||
'UI:BulkModifyErrors' => 'Chyby (ak nejaké)',
|
||||
'UI:BulkModifyErrors+' => '',
|
||||
'UI:BulkModifyStatusOk' => 'OK',
|
||||
'UI:BulkModifyStatusError' => 'Chyba',
|
||||
'UI:BulkModifyStatusModified' => 'Upravený',
|
||||
'UI:BulkModifyStatusSkipped' => 'Preskočené',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d rozdielne hodnoty:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d krát',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d viac hodnôt...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Pokúšanie sa nastaviť "iba na čítanie" políčko: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'Akcia zlyhala.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Upravovanie %2$d objektov triedy %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Napíšte Váš text tu:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'Počiatočná hodnota:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'Pole %1$s nie je upravovateľné pretože je spravované dátovou synchronizáciou. Hodnota nenastavená.',
|
||||
'UI:ActionNotAllowed' => 'Nemáte povolenie vykonať túto akciu na týchto objektoch.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Prosím zvoľte aspoň jeden objekt na vykonanie tejto operácie',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'Pole %1$s nie je upravovateľné pretože je spravované dátovou synchronizáciou. Hodnota zostala nezmená.',
|
||||
'UI:Pagination:HeaderSelection' => 'Celkom: %1$s objektov (%2$s objektov zvolených).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Celkom: %1$s objektov.',
|
||||
'UI:Pagination:PageSize' => '%1$s objektov na stránku',
|
||||
'UI:Pagination:PagesLabel' => 'Stránky:',
|
||||
'UI:Pagination:All' => 'Všetko',
|
||||
|
||||
'UI:Basket:Back' => 'Back~~',
|
||||
'UI:Basket:First' => 'First~~',
|
||||
'UI:Basket:Previous' => 'Previous~~',
|
||||
'UI:Basket:Next' => 'Next~~',
|
||||
'UI:Basket:Last' => 'Last~~',
|
||||
|
||||
'UI:HierarchyOf_Class' => 'Hierarchia of %1$s',
|
||||
'UI:Preferences' => 'Preferencie...',
|
||||
'UI:ArchiveModeOn' => 'Activate archive mode~~',
|
||||
'UI:ArchiveModeOff' => 'Deactivate archive mode~~',
|
||||
'UI:ArchiveMode:Banner' => 'Archive mode~~',
|
||||
'UI:ArchiveMode:Banner+' => 'Archived objects are visible, and no modification is allowed~~',
|
||||
'UI:FavoriteOrganizations' => 'Obľúbené organizácie',
|
||||
'UI:FavoriteOrganizations+' => '',
|
||||
'UI:FavoriteLanguage' => 'Jazyk užívateľského rozhrania~~',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Vyberte si svoj preferovaný jazyk',
|
||||
'UI:FavoriteOtherSettings' => 'Iné nastavenia',
|
||||
'UI:ModifyAllPageTitle' => 'Upraviť všetko',
|
||||
'UI:Modify_N_ObjectsOf_Class' => 'Modifying %1$d objects of class %2$s~~',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => 'Upravovanie %1$d objektov triedy %2$s z %3$d',
|
||||
'UI:Menu:ModifyAll' => 'Upraviť...',
|
||||
'UI:Button:ModifyAll' => 'Upraviť všetko',
|
||||
'UI:Button:PreviewModifications' => 'Náhľad úpravy >>',
|
||||
'UI:ModifiedObject' => 'Objekt Upravený',
|
||||
'UI:BulkModifyStatus' => 'Operácie',
|
||||
'UI:BulkModifyStatus+' => '',
|
||||
'UI:BulkModifyErrors' => 'Chyby (ak nejaké)',
|
||||
'UI:BulkModifyErrors+' => '',
|
||||
'UI:BulkModifyStatusOk' => 'OK',
|
||||
'UI:BulkModifyStatusError' => 'Chyba',
|
||||
'UI:BulkModifyStatusModified' => 'Upravený',
|
||||
'UI:BulkModifyStatusSkipped' => 'Preskočené',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d rozdielne hodnoty:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d krát',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d viac hodnôt...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Pokúšanie sa nastaviť "iba na čítanie" políčko: %1$s',
|
||||
'UI:FailedToApplyStimuli' => 'Akcia zlyhala.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Upravovanie %2$d objektov triedy %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Napíšte Váš text tu:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'Počiatočná hodnota:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => 'Pole %1$s nie je upravovateľné pretože je spravované dátovou synchronizáciou. Hodnota nenastavená.',
|
||||
'UI:ActionNotAllowed' => 'Nemáte povolenie vykonať túto akciu na týchto objektoch.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Prosím zvoľte aspoň jeden objekt na vykonanie tejto operácie',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'Pole %1$s nie je upravovateľné pretože je spravované dátovou synchronizáciou. Hodnota zostala nezmená.',
|
||||
'UI:Pagination:HeaderSelection' => 'Celkom: %1$s objektov (%2$s objektov zvolených).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Celkom: %1$s objektov.',
|
||||
'UI:Pagination:PageSize' => '%1$s objektov na stránku',
|
||||
'UI:Pagination:PagesLabel' => 'Stránky:',
|
||||
'UI:Pagination:All' => 'Všetko',
|
||||
'UI:HierarchyOf_Class' => 'Hierarchia of %1$s',
|
||||
'UI:Preferences' => 'Preferencie...',
|
||||
'UI:ArchiveModeOn' => 'Activate archive mode~~',
|
||||
'UI:ArchiveModeOff' => 'Deactivate archive mode~~',
|
||||
'UI:ArchiveMode:Banner' => 'Archive mode~~',
|
||||
'UI:ArchiveMode:Banner+' => 'Archived objects are visible, and no modification is allowed~~',
|
||||
'UI:FavoriteOrganizations' => 'Obľúbené organizácie',
|
||||
'UI:FavoriteOrganizations+' => '',
|
||||
'UI:FavoriteLanguage' => 'Jazyk užívateľského rozhrania~~',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Vyberte si svoj preferovaný jazyk',
|
||||
'UI:FavoriteOtherSettings' => 'Iné nastavenia',
|
||||
'UI:Favorites:Default_X_ItemsPerPage' => 'Štandardná dĺžka pre zoznamy: %1$s položiek na stránku~~',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Show obsolete data~~',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Show obsolete data in search results and lists of items to select~~',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Akákoľvek úprava bude zahodená.',
|
||||
'UI:CancelConfirmationMessage' => 'Prídete o všetky svoje zmeny. Chcete pokračovať?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Niektoré zmeny neboli použité zatiaľ. Chcete aby ich '.ITOP_APPLICATION_SHORT.' vzal do úvahy?',
|
||||
'UI:Create_Class_InState' => 'Vytvoriť %1$s v stave: ',
|
||||
'UI:OrderByHint_Values' => 'Triediaci príkaz: %1$s',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Show obsolete data~~',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Show obsolete data in search results and lists of items to select~~',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Akákoľvek úprava bude zahodená.',
|
||||
'UI:CancelConfirmationMessage' => 'Prídete o všetky svoje zmeny. Chcete pokračovať?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Niektoré zmeny neboli použité zatiaľ. Chcete aby ich '.ITOP_APPLICATION_SHORT.' vzal do úvahy?',
|
||||
'UI:Create_Class_InState' => 'Vytvoriť %1$s v stave: ',
|
||||
'UI:OrderByHint_Values' => 'Triediaci príkaz: %1$s',
|
||||
'UI:Menu:AddToDashboard' => 'Pridať na panel...',
|
||||
'UI:Button:Refresh' => 'Obnoviť',
|
||||
'UI:Button:GoPrint' => 'Print...~~',
|
||||
|
||||
@@ -333,18 +333,14 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
|
||||
//
|
||||
|
||||
Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
|
||||
'BooleanLabel:yes' => 'evet',
|
||||
'BooleanLabel:no' => 'hayır',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
|
||||
'Menu:WelcomeMenu' => 'Hoşgeldiniz',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => ITOP_APPLICATION_SHORT.'\'a Hoşgeldiniz',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Hoşgeldiniz',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => ITOP_APPLICATION_SHORT.'\'a Hoşgeldiniz',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => ITOP_APPLICATION_SHORT.'\'a Hoşgeldiniz',
|
||||
'BooleanLabel:yes' => 'evet',
|
||||
'BooleanLabel:no' => 'hayır',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login~~',
|
||||
'Menu:WelcomeMenu' => 'Hoşgeldiniz',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => ITOP_APPLICATION_SHORT.'\'a Hoşgeldiniz', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Hoşgeldiniz',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => ITOP_APPLICATION_SHORT.'\'a Hoşgeldiniz', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => ITOP_APPLICATION_SHORT.'\'a Hoşgeldiniz',
|
||||
|
||||
'UI:WelcomeMenu:LeftBlock' => '<p>iTop açık kaynak Bilişim İşlem Potalıdır.</p>
|
||||
<ul>Kapsamı:
|
||||
@@ -1032,64 +1028,46 @@ Tetikleme gerçekleştiriğinde işlemler tanımlanan sıra numarası ile gerçe
|
||||
'UI:NotificationsMenu:Actions:Action' => 'Other actions~~',
|
||||
'UI:NotificationsMenu:AvailableActions' => 'Kullanılabilir işlemler',
|
||||
|
||||
'Menu:TagAdminMenu' => 'Tags configuration~~',
|
||||
'Menu:TagAdminMenu+' => 'Tags values management~~',
|
||||
'UI:TagAdminMenu:Title' => 'Tags configuration~~',
|
||||
'UI:TagAdminMenu:NoTags' => 'No Tag field configured~~',
|
||||
'Menu:TagAdminMenu' => 'Tags configuration~~',
|
||||
'Menu:TagAdminMenu+' => 'Tags values management~~',
|
||||
'UI:TagAdminMenu:Title' => 'Tags configuration~~',
|
||||
'UI:TagAdminMenu:NoTags' => 'No Tag field configured~~',
|
||||
'UI:TagSetFieldData:Error' => 'Error: %1$s~~',
|
||||
|
||||
'Menu:AuditCategories' => 'Denetleme Kategorileri',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AuditCategories+' => 'Denetleme Kategorileri',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:Notifications:Title' => 'Denetleme Kategorileri',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AuditCategories' => 'Denetleme Kategorileri',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AuditCategories+' => 'Denetleme Kategorileri',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:Notifications:Title' => 'Denetleme Kategorileri',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:RunQueriesMenu' => 'Sorgu çalıştır',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:RunQueriesMenu+' => 'Sorgu çalıştır',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:RunQueriesMenu' => 'Sorgu çalıştır',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:RunQueriesMenu+' => 'Sorgu çalıştır',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:AuditCategories' => 'Denetleme Kategorileri',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AuditCategories+' => 'Denetleme Kategorileri',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:Notifications:Title' => 'Denetleme Kategorileri',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AuditCategories' => 'Denetleme Kategorileri', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AuditCategories+' => 'Denetleme Kategorileri', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:Notifications:Title' => 'Denetleme Kategorileri', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:RunQueriesMenu' => 'Sorgu çalıştır',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:RunQueriesMenu+' => 'Sorgu çalıştır',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:RunQueriesMenu' => 'Sorgu çalıştır', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:RunQueriesMenu+' => 'Sorgu çalıştır', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:QueryMenu' => 'Sorgu deyişleri kitabı',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:QueryMenu+' => 'Sorgu deyişleri kitabı',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:QueryMenu' => 'Sorgu deyişleri kitabı', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:QueryMenu+' => 'Sorgu deyişleri kitabı', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:DataAdministration' => 'Veri Yönetimi',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataAdministration+' => 'Veri Yönetimi',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataAdministration' => 'Veri Yönetimi',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataAdministration+' => 'Veri Yönetimi',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:UniversalSearchMenu' => 'Genel sorgu',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UniversalSearchMenu+' => 'Herhangi bir arama...',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UniversalSearchMenu' => 'Genel sorgu',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UniversalSearchMenu+' => 'Herhangi bir arama...',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:UserManagementMenu' => 'Kullanıcı Yönetimi',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserManagementMenu+' => 'Kullanıcı Yönetimi',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserManagementMenu' => 'Kullanıcı Yönetimi',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserManagementMenu+' => 'Kullanıcı Yönetimi',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:ProfilesMenu' => 'Profiller',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ProfilesMenu+' => 'Profiller',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ProfilesMenu:Title' => 'Profiller',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:UserAccountsMenu' => 'Kullanıcı Hesapları',
|
||||
'Menu:UserAccountsMenu' => 'Kullanıcı Hesapları',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserAccountsMenu+' => 'Kullanıcı Hesapları',
|
||||
'Menu:UserAccountsMenu+' => 'Kullanıcı Hesapları',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserAccountsMenu:Title' => 'Kullanıcı Hesapları',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
@@ -1173,81 +1151,74 @@ Tetikleme gerçekleştiriğinde işlemler tanımlanan sıra numarası ile gerçe
|
||||
'Portal:Button:UpdateRequest' => 'Update the request',
|
||||
'Portal:EnterYourCommentsOnTicket' => 'İsteğin çözümüne yönelik açıklamalar:',
|
||||
'Portal:ErrorNoContactForThisUser' => 'Hata: mevcut kullanıcının irtibat bilgisi yok. Sistem yöneticisi ile irtibata geçiniz.',
|
||||
'Portal:Attachments' => 'Eklentiler',
|
||||
'Portal:AddAttachment' => ' Dosya ekle ',
|
||||
'Portal:RemoveAttachment' => ' Dosya çıkar ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Ek # %1$d ila %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => '%1$s için bir şablon seçin',
|
||||
'Enum:Undefined' => 'Tanımsız',
|
||||
'Portal:Attachments' => 'Eklentiler',
|
||||
'Portal:AddAttachment' => ' Dosya ekle ',
|
||||
'Portal:RemoveAttachment' => ' Dosya çıkar ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => 'Ek # %1$d ila %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => '%1$s için bir şablon seçin',
|
||||
'Enum:Undefined' => 'Tanımsız',
|
||||
'UI:DurationForm_Days_Hours_Minutes_Seconds' => '%1$s Gün %2$s Saat %3$s Dakika %4$s Saniye',
|
||||
'UI:ModifyAllPageTitle' => 'Hepsini değiştir',
|
||||
'UI:Modify_N_ObjectsOf_Class' => '%1$d Sınıfının Değiştirilmesi %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => '%1$d nesnelerinin %3$s \'dışında %1$d nesnelerini değiştirme',
|
||||
'UI:Menu:ModifyAll' => 'Değiştir...',
|
||||
'UI:Button:ModifyAll' => 'Hepsini değiştir',
|
||||
'UI:Button:PreviewModifications' => 'Değişiklikleri görüntüle >>',
|
||||
'UI:ModifiedObject' => 'Nesne değiştirildi',
|
||||
'UI:BulkModifyStatus' => 'Operasyon',
|
||||
'UI:BulkModifyStatus+' => 'İşlemin durumu',
|
||||
'UI:BulkModifyErrors' => 'Hatalar (varsa)',
|
||||
'UI:BulkModifyErrors+' => 'Değişikliği önleyen hatalar',
|
||||
'UI:BulkModifyStatusOk' => 'Tamam',
|
||||
'UI:BulkModifyStatusError' => 'Hata',
|
||||
'UI:BulkModifyStatusModified' => 'Değiştirildi',
|
||||
'UI:BulkModifyStatusSkipped' => 'Atlandı',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d belirgin değerler:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d Zaman (lar)',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d Diğer değerler...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Salt okunur alanını ayarlamaya çalışıyor: %1$s~~',
|
||||
'UI:FailedToApplyStimuli' => 'Eylem başarısız oldu',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: %2$d Nesnelerin %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Metninizi buraya yazın:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'İlk değer:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => '%1$s alanı yazılabilir değildir, çünkü veri senkronizasyonu tarafından kullanılıyor. Değer ayarlanmadı.',
|
||||
'UI:ActionNotAllowed' => 'Bu işlemi bu nesnelerde yapmanıza izin verilmez.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Lütfen bu işlemi gerçekleştirmek için en az bir nesne seçin',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => '%1$s alanı yazılabilir değildir, çünkü veri senkronizasyonu tarafından kullanılıyor. Değer değişmeden kalır.',
|
||||
'UI:Pagination:HeaderSelection' => 'Toplam: %1$s erinin nesneleri (%2$s nesneleri seçildi).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Toplam: %1$s nesne.',
|
||||
'UI:Pagination:PageSize' => '%1$s Sayfa başına nesneler',
|
||||
'UI:Pagination:PagesLabel' => 'Sayfalar:',
|
||||
'UI:Pagination:All' => 'Hepsi',
|
||||
|
||||
'UI:Basket:Back' => 'Back~~',
|
||||
'UI:Basket:First' => 'First~~',
|
||||
'UI:Basket:Previous' => 'Previous~~',
|
||||
'UI:Basket:Next' => 'Next~~',
|
||||
'UI:Basket:Last' => 'Last~~',
|
||||
|
||||
'UI:HierarchyOf_Class' => '%1$s \'nin hiyerarşisi',
|
||||
'UI:Preferences' => 'Tercihler',
|
||||
'UI:ArchiveModeOn' => 'Arşiv modunu etkinleştirin',
|
||||
'UI:ArchiveModeOff' => 'Arşiv modunu devre dışı bırak',
|
||||
'UI:ArchiveMode:Banner' => 'Arşiv Modu',
|
||||
'UI:ArchiveMode:Banner+' => 'Arşivlenmiş nesneler görünür ve hiçbir değişiklik yapılmasına izin verilmez',
|
||||
'UI:FavoriteOrganizations' => 'Favori organizasyonlar',
|
||||
'UI:FavoriteOrganizations+' => 'Hızlı bir erişim için açılır menüde görmek istediğiniz kuruluşların altındaki listeyi kontrol edin. Bunun bir güvenlik ayarı olmadığını, herhangi bir kuruluştan nesnelerin hala göründüğünü ve aşağı açılan listede \\"tüm kuruluşlar\\" seçilerek erişilebileceğini unutmayın',
|
||||
'UI:FavoriteLanguage' => 'Kullanıcı arayüzünün dili',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Tercih ettiğiniz dili seçin',
|
||||
'UI:FavoriteOtherSettings' => 'Diğer ayarlar',
|
||||
'UI:ModifyAllPageTitle' => 'Hepsini değiştir',
|
||||
'UI:Modify_N_ObjectsOf_Class' => '%1$d Sınıfının Değiştirilmesi %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => '%1$d nesnelerinin %3$s \'dışında %1$d nesnelerini değiştirme',
|
||||
'UI:Menu:ModifyAll' => 'Değiştir...',
|
||||
'UI:Button:ModifyAll' => 'Hepsini değiştir',
|
||||
'UI:Button:PreviewModifications' => 'Değişiklikleri görüntüle >>',
|
||||
'UI:ModifiedObject' => 'Nesne değiştirildi',
|
||||
'UI:BulkModifyStatus' => 'Operasyon',
|
||||
'UI:BulkModifyStatus+' => 'İşlemin durumu',
|
||||
'UI:BulkModifyErrors' => 'Hatalar (varsa)',
|
||||
'UI:BulkModifyErrors+' => 'Değişikliği önleyen hatalar',
|
||||
'UI:BulkModifyStatusOk' => 'Tamam',
|
||||
'UI:BulkModifyStatusError' => 'Hata',
|
||||
'UI:BulkModifyStatusModified' => 'Değiştirildi',
|
||||
'UI:BulkModifyStatusSkipped' => 'Atlandı',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d belirgin değerler:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d Zaman (lar)',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d Diğer değerler...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Salt okunur alanını ayarlamaya çalışıyor: %1$s~~',
|
||||
'UI:FailedToApplyStimuli' => 'Eylem başarısız oldu',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: %2$d Nesnelerin %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => 'Metninizi buraya yazın:',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => 'İlk değer:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => '%1$s alanı yazılabilir değildir, çünkü veri senkronizasyonu tarafından kullanılıyor. Değer ayarlanmadı.',
|
||||
'UI:ActionNotAllowed' => 'Bu işlemi bu nesnelerde yapmanıza izin verilmez.',
|
||||
'UI:BulkAction:NoObjectSelected' => 'Lütfen bu işlemi gerçekleştirmek için en az bir nesne seçin',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => '%1$s alanı yazılabilir değildir, çünkü veri senkronizasyonu tarafından kullanılıyor. Değer değişmeden kalır.',
|
||||
'UI:Pagination:HeaderSelection' => 'Toplam: %1$s erinin nesneleri (%2$s nesneleri seçildi).',
|
||||
'UI:Pagination:HeaderNoSelection' => 'Toplam: %1$s nesne.',
|
||||
'UI:Pagination:PageSize' => '%1$s Sayfa başına nesneler',
|
||||
'UI:Pagination:PagesLabel' => 'Sayfalar:',
|
||||
'UI:Pagination:All' => 'Hepsi',
|
||||
'UI:HierarchyOf_Class' => '%1$s \'nin hiyerarşisi',
|
||||
'UI:Preferences' => 'Tercihler',
|
||||
'UI:ArchiveModeOn' => 'Arşiv modunu etkinleştirin',
|
||||
'UI:ArchiveModeOff' => 'Arşiv modunu devre dışı bırak',
|
||||
'UI:ArchiveMode:Banner' => 'Arşiv Modu',
|
||||
'UI:ArchiveMode:Banner+' => 'Arşivlenmiş nesneler görünür ve hiçbir değişiklik yapılmasına izin verilmez',
|
||||
'UI:FavoriteOrganizations' => 'Favori organizasyonlar',
|
||||
'UI:FavoriteOrganizations+' => 'Hızlı bir erişim için açılır menüde görmek istediğiniz kuruluşların altındaki listeyi kontrol edin. Bunun bir güvenlik ayarı olmadığını, herhangi bir kuruluştan nesnelerin hala göründüğünü ve aşağı açılan listede \\"tüm kuruluşlar\\" seçilerek erişilebileceğini unutmayın',
|
||||
'UI:FavoriteLanguage' => 'Kullanıcı arayüzünün dili',
|
||||
'UI:Favorites:SelectYourLanguage' => 'Tercih ettiğiniz dili seçin',
|
||||
'UI:FavoriteOtherSettings' => 'Diğer ayarlar',
|
||||
'UI:Favorites:Default_X_ItemsPerPage' => 'Listeler için varsayılan uzunluk: %1$s sayfa sayfa başına',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Eski bilgileri göster',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Arama sonuçlarında ve seçilecek öğelerin listelerinde eski bilgileri gösterin',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Herhangi bir değişiklik atılır',
|
||||
'UI:CancelConfirmationMessage' => 'Değişikliklerinizi kaybedersiniz. Yine de devam et?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Bazı değişiklikler henüz uygulanmadı. '.ITOP_APPLICATION_SHORT.'\'un değişiklikleri uygulamasını istiyor musunuz?',
|
||||
'UI:Create_Class_InState' => '%1$s durumunda oluşturun: ',
|
||||
'UI:OrderByHint_Values' => 'Sıralama düzeni: %1$s',
|
||||
'UI:Menu:AddToDashboard' => 'Panoya ekleyin...',
|
||||
'UI:Button:Refresh' => 'Yenile',
|
||||
'UI:Button:GoPrint' => 'Print...~~',
|
||||
'UI:ExplainPrintable' => 'Click onto the %1$s icon to hide items from the print.<br/>Use the "print preview" feature of your browser to preview before printing.<br/>Note: this header and the other tuning controls will not be printed.~~',
|
||||
'UI:PrintResolution:FullSize' => 'Full size~~',
|
||||
'UI:PrintResolution:A4Portrait' => 'A4 Portrait~~',
|
||||
'UI:PrintResolution:A4Landscape' => 'A4 Landscape~~',
|
||||
'UI:PrintResolution:LetterPortrait' => 'Letter Portrait~~',
|
||||
'UI:PrintResolution:LetterLandscape' => 'Letter Landscape~~',
|
||||
'UI:Favorites:ShowObsoleteData' => 'Eski bilgileri göster',
|
||||
'UI:Favorites:ShowObsoleteData+' => 'Arama sonuçlarında ve seçilecek öğelerin listelerinde eski bilgileri gösterin',
|
||||
'UI:NavigateAwayConfirmationMessage' => 'Herhangi bir değişiklik atılır',
|
||||
'UI:CancelConfirmationMessage' => 'Değişikliklerinizi kaybedersiniz. Yine de devam et?',
|
||||
'UI:AutoApplyConfirmationMessage' => 'Bazı değişiklikler henüz uygulanmadı. '.ITOP_APPLICATION_SHORT.'\'un değişiklikleri uygulamasını istiyor musunuz?',
|
||||
'UI:Create_Class_InState' => '%1$s durumunda oluşturun: ',
|
||||
'UI:OrderByHint_Values' => 'Sıralama düzeni: %1$s',
|
||||
'UI:Menu:AddToDashboard' => 'Panoya ekleyin...',
|
||||
'UI:Button:Refresh' => 'Yenile',
|
||||
'UI:Button:GoPrint' => 'Print...~~',
|
||||
'UI:ExplainPrintable' => 'Click onto the %1$s icon to hide items from the print.<br/>Use the "print preview" feature of your browser to preview before printing.<br/>Note: this header and the other tuning controls will not be printed.~~',
|
||||
'UI:PrintResolution:FullSize' => 'Full size~~',
|
||||
'UI:PrintResolution:A4Portrait' => 'A4 Portrait~~',
|
||||
'UI:PrintResolution:A4Landscape' => 'A4 Landscape~~',
|
||||
'UI:PrintResolution:LetterPortrait' => 'Letter Portrait~~',
|
||||
'UI:PrintResolution:LetterLandscape' => 'Letter Landscape~~',
|
||||
'UI:Toggle:SwitchToStandardDashboard' => 'Switch to standard dashboard~~',
|
||||
'UI:Toggle:SwitchToCustomDashboard' => 'Switch to custom dashboard~~',
|
||||
|
||||
@@ -1425,44 +1396,42 @@ Tetikleme gerçekleştiriğinde işlemler tanımlanan sıra numarası ile gerçe
|
||||
'Month-12' => 'Aralık',
|
||||
|
||||
// Short version for the DatePicker
|
||||
'DayOfWeek-Sunday-Min' => 'Paz',
|
||||
'DayOfWeek-Monday-Min' => 'Pzt',
|
||||
'DayOfWeek-Tuesday-Min' => 'Sal',
|
||||
'DayOfWeek-Wednesday-Min' => 'Car',
|
||||
'DayOfWeek-Thursday-Min' => 'Per',
|
||||
'DayOfWeek-Friday-Min' => 'Cum',
|
||||
'DayOfWeek-Saturday-Min' => 'Cts',
|
||||
'Month-01-Short' => 'Oca',
|
||||
'Month-02-Short' => 'Şub',
|
||||
'Month-03-Short' => 'Mar',
|
||||
'Month-04-Short' => 'Nis',
|
||||
'Month-05-Short' => 'May',
|
||||
'Month-06-Short' => 'Haz',
|
||||
'Month-07-Short' => 'Tem',
|
||||
'Month-08-Short' => 'Ağu',
|
||||
'Month-09-Short' => 'Eyl',
|
||||
'Month-10-Short' => 'Eki',
|
||||
'Month-11-Short' => 'Kas',
|
||||
'Month-12-Short' => 'Ara',
|
||||
'Calendar-FirstDayOfWeek' => '0',
|
||||
// 0 = Sunday, 1 = Monday, etc...
|
||||
'DayOfWeek-Sunday-Min' => 'Paz',
|
||||
'DayOfWeek-Monday-Min' => 'Pzt',
|
||||
'DayOfWeek-Tuesday-Min' => 'Sal',
|
||||
'DayOfWeek-Wednesday-Min' => 'Car',
|
||||
'DayOfWeek-Thursday-Min' => 'Per',
|
||||
'DayOfWeek-Friday-Min' => 'Cum',
|
||||
'DayOfWeek-Saturday-Min' => 'Cts',
|
||||
'Month-01-Short' => 'Oca',
|
||||
'Month-02-Short' => 'Şub',
|
||||
'Month-03-Short' => 'Mar',
|
||||
'Month-04-Short' => 'Nis',
|
||||
'Month-05-Short' => 'May',
|
||||
'Month-06-Short' => 'Haz',
|
||||
'Month-07-Short' => 'Tem',
|
||||
'Month-08-Short' => 'Ağu',
|
||||
'Month-09-Short' => 'Eyl',
|
||||
'Month-10-Short' => 'Eki',
|
||||
'Month-11-Short' => 'Kas',
|
||||
'Month-12-Short' => 'Ara',
|
||||
'Calendar-FirstDayOfWeek' => '0', // 0 = Sunday, 1 = Monday, etc...
|
||||
|
||||
'UI:Menu:ShortcutList' => 'Bir kısayol oluşturun...',
|
||||
'UI:ShortcutRenameDlg:Title' => 'Kısayolu yeniden adlandırın',
|
||||
'UI:ShortcutListDlg:Title' => 'Liste için bir kısayol oluşturun',
|
||||
'UI:ShortcutDelete:Confirm' => 'Lütfen kısayolları silmek istediğinizi onaylayın.',
|
||||
'Menu:MyShortcuts' => 'Kısayollarım',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Class:Shortcut' => 'Kısayol',
|
||||
'Class:Shortcut+' => '~~',
|
||||
'Class:Shortcut/Attribute:name' => 'İsim',
|
||||
'Class:Shortcut/Attribute:name+' => 'Menü ve sayfa başlığında kullanılan etiket',
|
||||
'Class:ShortcutOQL' => 'Arama Sonucu Kısayolu',
|
||||
'Class:ShortcutOQL+' => '~~',
|
||||
'Class:ShortcutOQL/Attribute:oql' => 'Sorgu',
|
||||
'Class:ShortcutOQL/Attribute:oql+' => 'OQL Aramak için nesnelerin listesini tanımlama',
|
||||
'Class:ShortcutOQL/Attribute:auto_reload' => 'Otomatik yenileme',
|
||||
'Class:ShortcutOQL/Attribute:auto_reload/Value:none' => 'Devre dışı',
|
||||
'UI:Menu:ShortcutList' => 'Bir kısayol oluşturun...',
|
||||
'UI:ShortcutRenameDlg:Title' => 'Kısayolu yeniden adlandırın',
|
||||
'UI:ShortcutListDlg:Title' => 'Liste için bir kısayol oluşturun',
|
||||
'UI:ShortcutDelete:Confirm' => 'Lütfen kısayolları silmek istediğinizi onaylayın.',
|
||||
'Menu:MyShortcuts' => 'Kısayollarım', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Class:Shortcut' => 'Kısayol',
|
||||
'Class:Shortcut+' => '~~',
|
||||
'Class:Shortcut/Attribute:name' => 'İsim',
|
||||
'Class:Shortcut/Attribute:name+' => 'Menü ve sayfa başlığında kullanılan etiket',
|
||||
'Class:ShortcutOQL' => 'Arama Sonucu Kısayolu',
|
||||
'Class:ShortcutOQL+' => '~~',
|
||||
'Class:ShortcutOQL/Attribute:oql' => 'Sorgu',
|
||||
'Class:ShortcutOQL/Attribute:oql+' => 'OQL Aramak için nesnelerin listesini tanımlama',
|
||||
'Class:ShortcutOQL/Attribute:auto_reload' => 'Otomatik yenileme',
|
||||
'Class:ShortcutOQL/Attribute:auto_reload/Value:none' => 'Devre dışı',
|
||||
'Class:ShortcutOQL/Attribute:auto_reload/Value:custom' => 'Özel Oran',
|
||||
'Class:ShortcutOQL/Attribute:auto_reload_sec' => 'Otomatik Yenileme Aralığı (Saniye)',
|
||||
'Class:ShortcutOQL/Attribute:auto_reload_sec/tip' => 'İzin verilen minimum %1$d saniyedir',
|
||||
|
||||
@@ -46,12 +46,12 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
// Modify object
|
||||
'UI:Links:ModifyObject:Button' => 'Modify',
|
||||
'UI:Links:ModifyObject:Button+' => 'Modify this object',
|
||||
'UI:Links:ModifyObject:Modal:Title' => '%5$s',
|
||||
'UI:Links:ModifyObject:Modal:Title' => 'Modify %5$s',
|
||||
|
||||
// Remove
|
||||
'UI:Links:Remove:Button' => 'Remove',
|
||||
'UI:Links:Remove:Button+' => 'Remove this %4$s',
|
||||
'UI:Links:Remove:Modal:Title' => 'Remove a %4$s',
|
||||
'UI:Links:Remove:Modal:Title' => 'Remove a %4$s from its %1$s',
|
||||
'UI:Links:Remove:Modal:Message' => 'Do you really want to remove %5$s from %2$s?',
|
||||
|
||||
// Delete
|
||||
|
||||
@@ -47,7 +47,7 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
// Modify object
|
||||
'UI:Links:ModifyObject:Button' => 'Modifier',
|
||||
'UI:Links:ModifyObject:Button+' => 'Modifier cet objet',
|
||||
'UI:Links:ModifyObject:Modal:Title' => '%5$s',
|
||||
'UI:Links:ModifyObject:Modal:Title' => 'Modifier %5$s',
|
||||
|
||||
// Remove
|
||||
'UI:Links:Remove:Button' => 'Retirer',
|
||||
|
||||
@@ -338,18 +338,14 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
//
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
'BooleanLabel:yes' => '是',
|
||||
'BooleanLabel:no' => '否',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' 登录',
|
||||
'Menu:WelcomeMenu' => '欢迎',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => '欢迎使用 '.ITOP_APPLICATION_SHORT,
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => '欢迎',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => '欢迎使用 '.ITOP_APPLICATION_SHORT,
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => '欢迎使用 '.ITOP_APPLICATION_SHORT,
|
||||
'BooleanLabel:yes' => '是',
|
||||
'BooleanLabel:no' => '否',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' 登录',
|
||||
'Menu:WelcomeMenu' => '欢迎',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => '欢迎使用 '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => '欢迎',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => '欢迎使用 '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => '欢迎使用 '.ITOP_APPLICATION_SHORT,
|
||||
|
||||
'UI:WelcomeMenu:LeftBlock' => '<p>'.ITOP_APPLICATION_SHORT.' 是完全开源的IT操作门户.</p>
|
||||
<ul>它包括:
|
||||
@@ -362,7 +358,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
</ul>
|
||||
<p>所有模块互相独立,可以单独部署.</p>',
|
||||
|
||||
'UI:WelcomeMenu:RightBlock' => '<p>'.ITOP_APPLICATION_SHORT.' 是面向服务供应商的, 它使得IT 工程师能够更方便地管理多客户和多组织.
|
||||
'UI:WelcomeMenu:RightBlock' => '<p>'.ITOP_APPLICATION_SHORT.' 是面向服务供应商的, 它使得IT 工程师能够更方便地管理多客户和多组织.
|
||||
<ul>'.ITOP_APPLICATION_SHORT.' 提供功能丰富的业务处理流程:
|
||||
<li>提高IT管理效率</li>
|
||||
<li>提升IT可操作能力</li>
|
||||
@@ -1136,72 +1132,65 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
'Portal:Button:UpdateRequest' => '更新需求',
|
||||
'Portal:EnterYourCommentsOnTicket' => '请点评此工单的解决方案:',
|
||||
'Portal:ErrorNoContactForThisUser' => '错误: 当前用户没有与任何联系人关联. 请联系管理员.',
|
||||
'Portal:Attachments' => '附件',
|
||||
'Portal:AddAttachment' => ' 添加附件 ',
|
||||
'Portal:RemoveAttachment' => ' 移除附件 ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => '添加 #%1$d 到 %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => '请为 %1$s 选择一个模板',
|
||||
'Enum:Undefined' => '未定义',
|
||||
'Portal:Attachments' => '附件',
|
||||
'Portal:AddAttachment' => ' 添加附件 ',
|
||||
'Portal:RemoveAttachment' => ' 移除附件 ',
|
||||
'Portal:Attachment_No_To_Ticket_Name' => '添加 #%1$d 到 %2$s (%3$s)',
|
||||
'Portal:SelectRequestTemplate' => '请为 %1$s 选择一个模板',
|
||||
'Enum:Undefined' => '未定义',
|
||||
'UI:DurationForm_Days_Hours_Minutes_Seconds' => '%1$s 天 %2$s 小时 %3$s 分 %4$s 秒',
|
||||
'UI:ModifyAllPageTitle' => '修改所有',
|
||||
'UI:Modify_N_ObjectsOf_Class' => '正在修改 %1$d 个 %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => '正在修改 %1$d 个 %2$s ,一共 %3$d 个',
|
||||
'UI:Menu:ModifyAll' => '修改...',
|
||||
'UI:Button:ModifyAll' => '全部修改',
|
||||
'UI:Button:PreviewModifications' => '修改预览 >>',
|
||||
'UI:ModifiedObject' => '对象已修改',
|
||||
'UI:BulkModifyStatus' => '操作',
|
||||
'UI:BulkModifyStatus+' => '操作状态',
|
||||
'UI:BulkModifyErrors' => '报错 (如果有)',
|
||||
'UI:BulkModifyErrors+' => '阻止修改时报错',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => '错误',
|
||||
'UI:BulkModifyStatusModified' => '已修改',
|
||||
'UI:BulkModifyStatusSkipped' => '跳过',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d 不同的值:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d time(s)',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d more values...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => '尝试修改只读字段: %1$s',
|
||||
'UI:FailedToApplyStimuli' => '操作失败.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: 正在修改 %2$d 个 %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => '请在这里输入内容...',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => '初始值:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => '字段 %1$s 不可写,因为它由数据同步管理. 值未设置.',
|
||||
'UI:ActionNotAllowed' => '您无权操作这些对象.',
|
||||
'UI:BulkAction:NoObjectSelected' => '请至少选择一个对象进行操作',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'The field %1$s is not writable because it is mastered by the data synchronization. Value remains unchanged.',
|
||||
'UI:Pagination:HeaderSelection' => '一共: %1$s 个对象 ( 已选择 %2$s 个).',
|
||||
'UI:Pagination:HeaderNoSelection' => '一共: %1$s 个对象.',
|
||||
'UI:Pagination:PageSize' => '每页 %1$s 个对象',
|
||||
'UI:Pagination:PagesLabel' => '页:',
|
||||
'UI:Pagination:All' => '全部',
|
||||
|
||||
'UI:Basket:Back' => 'Back~~',
|
||||
'UI:Basket:First' => 'First~~',
|
||||
'UI:Basket:Previous' => 'Previous~~',
|
||||
'UI:Basket:Next' => 'Next~~',
|
||||
'UI:Basket:Last' => 'Last~~',
|
||||
|
||||
'UI:HierarchyOf_Class' => '%1$s 层级',
|
||||
'UI:Preferences' => '首选项...',
|
||||
'UI:ArchiveModeOn' => '激活归档模式',
|
||||
'UI:ArchiveModeOff' => '关闭归档模式',
|
||||
'UI:ArchiveMode:Banner' => '归档模式',
|
||||
'UI:ArchiveMode:Banner+' => '已归档的对象可见但不允许修改',
|
||||
'UI:FavoriteOrganizations' => '快速访问',
|
||||
'UI:FavoriteOrganizations+' => '进入组织下的列表,可实现通过下拉菜单快速访问. 请注意,这并不是一个安全设置, 其他组织的对象依然可以通过选择 "所有组织" 下拉列表看到.',
|
||||
'UI:FavoriteLanguage' => '语言',
|
||||
'UI:Favorites:SelectYourLanguage' => '选择语言',
|
||||
'UI:FavoriteOtherSettings' => '其他设置',
|
||||
'UI:ModifyAllPageTitle' => '修改所有',
|
||||
'UI:Modify_N_ObjectsOf_Class' => '正在修改 %1$d 个 %2$s',
|
||||
'UI:Modify_M_ObjectsOf_Class_OutOf_N' => '正在修改 %1$d 个 %2$s ,一共 %3$d 个',
|
||||
'UI:Menu:ModifyAll' => '修改...',
|
||||
'UI:Button:ModifyAll' => '全部修改',
|
||||
'UI:Button:PreviewModifications' => '修改预览 >>',
|
||||
'UI:ModifiedObject' => '对象已修改',
|
||||
'UI:BulkModifyStatus' => '操作',
|
||||
'UI:BulkModifyStatus+' => '操作状态',
|
||||
'UI:BulkModifyErrors' => '报错 (如果有)',
|
||||
'UI:BulkModifyErrors+' => '阻止修改时报错',
|
||||
'UI:BulkModifyStatusOk' => 'Ok',
|
||||
'UI:BulkModifyStatusError' => '错误',
|
||||
'UI:BulkModifyStatusModified' => '已修改',
|
||||
'UI:BulkModifyStatusSkipped' => '跳过',
|
||||
'UI:BulkModify_Count_DistinctValues' => '%1$d 不同的值:',
|
||||
'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d time(s)',
|
||||
'UI:BulkModify:N_MoreValues' => '%1$d more values...',
|
||||
'UI:AttemptingToSetAReadOnlyAttribute_Name' => '尝试修改只读字段: %1$s',
|
||||
'UI:FailedToApplyStimuli' => '操作失败.',
|
||||
'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: 正在修改 %2$d 个 %3$s',
|
||||
'UI:CaseLogTypeYourTextHere' => '请在这里输入内容...',
|
||||
'UI:CaseLog:Header_Date_UserName' => '%1$s - %2$s:',
|
||||
'UI:CaseLog:InitialValue' => '初始值:',
|
||||
'UI:AttemptingToSetASlaveAttribute_Name' => '字段 %1$s 不可写,因为它由数据同步管理. 值未设置.',
|
||||
'UI:ActionNotAllowed' => '您无权操作这些对象.',
|
||||
'UI:BulkAction:NoObjectSelected' => '请至少选择一个对象进行操作',
|
||||
'UI:AttemptingToChangeASlaveAttribute_Name' => 'The field %1$s is not writable because it is mastered by the data synchronization. Value remains unchanged.',
|
||||
'UI:Pagination:HeaderSelection' => '一共: %1$s 个对象 ( 已选择 %2$s 个).',
|
||||
'UI:Pagination:HeaderNoSelection' => '一共: %1$s 个对象.',
|
||||
'UI:Pagination:PageSize' => '每页 %1$s 个对象',
|
||||
'UI:Pagination:PagesLabel' => '页:',
|
||||
'UI:Pagination:All' => '全部',
|
||||
'UI:HierarchyOf_Class' => '%1$s 层级',
|
||||
'UI:Preferences' => '首选项...',
|
||||
'UI:ArchiveModeOn' => '激活归档模式',
|
||||
'UI:ArchiveModeOff' => '关闭归档模式',
|
||||
'UI:ArchiveMode:Banner' => '归档模式',
|
||||
'UI:ArchiveMode:Banner+' => '已归档的对象可见但不允许修改',
|
||||
'UI:FavoriteOrganizations' => '快速访问',
|
||||
'UI:FavoriteOrganizations+' => '进入组织下的列表,可实现通过下拉菜单快速访问. 请注意,这并不是一个安全设置, 其他组织的对象依然可以通过选择 "所有组织" 下拉列表看到.',
|
||||
'UI:FavoriteLanguage' => '语言',
|
||||
'UI:Favorites:SelectYourLanguage' => '选择语言',
|
||||
'UI:FavoriteOtherSettings' => '其他设置',
|
||||
'UI:Favorites:Default_X_ItemsPerPage' => '默认列表: 每页 %1$s 个项目~~',
|
||||
'UI:Favorites:ShowObsoleteData' => '显示废弃的数据',
|
||||
'UI:Favorites:ShowObsoleteData+' => '在搜索结果中显示已废弃的数据',
|
||||
'UI:NavigateAwayConfirmationMessage' => '所有修改都将丢失.',
|
||||
'UI:CancelConfirmationMessage' => '您将丢失所有修改. 是否继续?',
|
||||
'UI:AutoApplyConfirmationMessage' => '有些修改尚未生效. Do you want itop to take them into account?',
|
||||
'UI:Create_Class_InState' => 'Create the %1$s in state: ',
|
||||
'UI:OrderByHint_Values' => '排列顺序: %1$s',
|
||||
'UI:Favorites:ShowObsoleteData' => '显示废弃的数据',
|
||||
'UI:Favorites:ShowObsoleteData+' => '在搜索结果中显示已废弃的数据',
|
||||
'UI:NavigateAwayConfirmationMessage' => '所有修改都将丢失.',
|
||||
'UI:CancelConfirmationMessage' => '您将丢失所有修改. 是否继续?',
|
||||
'UI:AutoApplyConfirmationMessage' => '有些修改尚未生效. Do you want itop to take them into account?',
|
||||
'UI:Create_Class_InState' => 'Create the %1$s in state: ',
|
||||
'UI:OrderByHint_Values' => '排列顺序: %1$s',
|
||||
'UI:Menu:AddToDashboard' => '添加到仪表盘...',
|
||||
'UI:Button:Refresh' => '刷新',
|
||||
'UI:Button:GoPrint' => '打印...',
|
||||
|
||||
@@ -71,7 +71,7 @@ $(function()
|
||||
let sMarkup = `
|
||||
<input type="hidden" id="do_remove_${this.options.input_name}" name="${this.options.input_name}[remove]" value="0"/>
|
||||
<div id="preview_${this.options.input_name}" class="${sCssClasses}" data-role="ibo-input-image--image-view" style="max-width: ${this.options.max_width_px}px; max-height: ${this.options.max_height_px}px; aspect-ratio: ${this.options.max_width_px} / ${this.options.max_height_px};">
|
||||
<img src="${sImageUrl}" data-original-src="${sImageUrl}" data-default-src="${this.options.default_image_url}" style="max-width: ${this.options.max_width_px}px; max-height: ${this.options.max_height_px}px">
|
||||
<img src="${sImageUrl}" data-original-src="${sImageUrl}" data-default-src="${this.options.default_image_url}" style="max-width: min(${this.options.max_width_px}px,100%); max-height: min(${this.options.max_height_px}px,100%)">
|
||||
<input id="file_${this.options.input_name}" name="${this.options.input_name}[fcontents]" type="file" />
|
||||
</div>
|
||||
<div id="buttons_${this.options.input_name}" class="ibo-input-image--edit-buttons" data-role="ibo-input-image--edit-buttons">
|
||||
|
||||
@@ -2,11 +2,6 @@
|
||||
|
||||
// autoload.php @generated by Composer
|
||||
|
||||
if (PHP_VERSION_ID < 50600) {
|
||||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
|
||||
exit(1);
|
||||
}
|
||||
|
||||
require_once __DIR__ . '/composer/autoload_real.php';
|
||||
|
||||
return ComposerAutoloaderInit7f81b4a2a468a061c306af5e447a9a9f::getLoader();
|
||||
|
||||
@@ -149,7 +149,7 @@ class ClassLoader
|
||||
|
||||
/**
|
||||
* @return string[] Array of classname => path
|
||||
* @psalm-return array<string, string>
|
||||
* @psalm-var array<string, string>
|
||||
*/
|
||||
public function getClassMap()
|
||||
{
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
// autoload_classmap.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(__DIR__);
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
@@ -225,7 +225,6 @@ return array(
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Dashlet\\DashletHeaderStatic' => $baseDir . '/sources/Application/UI/Base/Component/Dashlet/DashletHeaderStatic.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Dashlet\\DashletPlainText' => $baseDir . '/sources/Application/UI/Base/Component/Dashlet/DashletPlainText.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\DataTable\\DataTable' => $baseDir . '/sources/Application/UI/Base/Component/DataTable/DataTable.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\DataTable\\DataTableBasket' => $baseDir . '/sources/Application/UI/Base/Component/DataTable/DataTableBasket.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\DataTable\\DataTableSettings' => $baseDir . '/sources/Application/UI/Base/Component/DataTable/DataTableSettings.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\DataTable\\DataTableUIBlockFactory' => $baseDir . '/sources/Application/UI/Base/Component/DataTable/DataTableUIBlockFactory.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\DataTable\\StaticTable\\FormTableRow\\FormTableRow' => $baseDir . '/sources/Application/UI/Base/Component/DataTable/StaticTable/FormTableRow/FormTableRow.php',
|
||||
@@ -267,8 +266,6 @@ return array(
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Input\\tInputLabel' => $baseDir . '/sources/Application/UI/Base/Component/Input/tInputLabel.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\MedallionIcon\\MedallionIcon' => $baseDir . '/sources/Application/UI/Base/Component/MedallionIcon/MedallionIcon.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Modal\\DoNotShowAgainOptionBlock' => $baseDir . '/sources/Application/UI/Base/Component/Modal/DoNotShowAgainOptionBlock.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Navigation\\Navigation' => $baseDir . '/sources/Application/UI/Base/Component/Navigation/Navigation.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Navigation\\NavigationUIBlockFactory' => $baseDir . '/sources/Application/UI/Base/Component/Navigation/NavigationUIBlockFactory.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Panel\\Panel' => $baseDir . '/sources/Application/UI/Base/Component/Panel/Panel.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Panel\\PanelUIBlockFactory' => $baseDir . '/sources/Application/UI/Base/Component/Panel/PanelUIBlockFactory.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Pill\\Pill' => $baseDir . '/sources/Application/UI/Base/Component/Pill/Pill.php',
|
||||
@@ -452,6 +449,7 @@ return array(
|
||||
'Combodo\\iTop\\Service\\Events\\EventServiceLog' => $baseDir . '/sources/Service/Events/EventServiceLog.php',
|
||||
'Combodo\\iTop\\Service\\Events\\iEventServiceSetup' => $baseDir . '/sources/Service/Events/iEventServiceSetup.php',
|
||||
'Combodo\\iTop\\Service\\Links\\LinkSetDataTransformer' => $baseDir . '/sources/Service/Links/LinkSetDataTransformer.php',
|
||||
'Combodo\\iTop\\Service\\Links\\LinkSetHelper' => $baseDir . '/sources/Service/Links/LinkSetHelper.php',
|
||||
'Combodo\\iTop\\Service\\Links\\LinkSetModel' => $baseDir . '/sources/Service/Links/LinkSetModel.php',
|
||||
'Combodo\\iTop\\Service\\Links\\LinkSetRepository' => $baseDir . '/sources/Service/Links/LinkSetRepository.php',
|
||||
'Combodo\\iTop\\Service\\Links\\LinksBulkDataPostProcessor' => $baseDir . '/sources/Service/Links/LinksBulkDataPostProcessor.php',
|
||||
@@ -1704,6 +1702,17 @@ return array(
|
||||
'Symfony\\Bundle\\TwigBundle\\DependencyInjection\\TwigExtension' => $vendorDir . '/symfony/twig-bundle/DependencyInjection/TwigExtension.php',
|
||||
'Symfony\\Bundle\\TwigBundle\\TemplateIterator' => $vendorDir . '/symfony/twig-bundle/TemplateIterator.php',
|
||||
'Symfony\\Bundle\\TwigBundle\\TwigBundle' => $vendorDir . '/symfony/twig-bundle/TwigBundle.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\Controller\\ExceptionPanelController' => $vendorDir . '/symfony/web-profiler-bundle/Controller/ExceptionPanelController.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\Controller\\ProfilerController' => $vendorDir . '/symfony/web-profiler-bundle/Controller/ProfilerController.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\Controller\\RouterController' => $vendorDir . '/symfony/web-profiler-bundle/Controller/RouterController.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\Csp\\ContentSecurityPolicyHandler' => $vendorDir . '/symfony/web-profiler-bundle/Csp/ContentSecurityPolicyHandler.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\Csp\\NonceGenerator' => $vendorDir . '/symfony/web-profiler-bundle/Csp/NonceGenerator.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\DependencyInjection\\Configuration' => $vendorDir . '/symfony/web-profiler-bundle/DependencyInjection/Configuration.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\DependencyInjection\\WebProfilerExtension' => $vendorDir . '/symfony/web-profiler-bundle/DependencyInjection/WebProfilerExtension.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\EventListener\\WebDebugToolbarListener' => $vendorDir . '/symfony/web-profiler-bundle/EventListener/WebDebugToolbarListener.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\Profiler\\TemplateManager' => $vendorDir . '/symfony/web-profiler-bundle/Profiler/TemplateManager.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension' => $vendorDir . '/symfony/web-profiler-bundle/Twig/WebProfilerExtension.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\WebProfilerBundle' => $vendorDir . '/symfony/web-profiler-bundle/WebProfilerBundle.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\AbstractAdapter' => $vendorDir . '/symfony/cache/Adapter/AbstractAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\AbstractTagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/AbstractTagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\AdapterInterface' => $vendorDir . '/symfony/cache/Adapter/AdapterInterface.php',
|
||||
@@ -2523,6 +2532,10 @@ return array(
|
||||
'Symfony\\Component\\Routing\\RouteCompilerInterface' => $vendorDir . '/symfony/routing/RouteCompilerInterface.php',
|
||||
'Symfony\\Component\\Routing\\Router' => $vendorDir . '/symfony/routing/Router.php',
|
||||
'Symfony\\Component\\Routing\\RouterInterface' => $vendorDir . '/symfony/routing/RouterInterface.php',
|
||||
'Symfony\\Component\\Stopwatch\\Section' => $vendorDir . '/symfony/stopwatch/Section.php',
|
||||
'Symfony\\Component\\Stopwatch\\Stopwatch' => $vendorDir . '/symfony/stopwatch/Stopwatch.php',
|
||||
'Symfony\\Component\\Stopwatch\\StopwatchEvent' => $vendorDir . '/symfony/stopwatch/StopwatchEvent.php',
|
||||
'Symfony\\Component\\Stopwatch\\StopwatchPeriod' => $vendorDir . '/symfony/stopwatch/StopwatchPeriod.php',
|
||||
'Symfony\\Component\\String\\AbstractString' => $vendorDir . '/symfony/string/AbstractString.php',
|
||||
'Symfony\\Component\\String\\AbstractUnicodeString' => $vendorDir . '/symfony/string/AbstractUnicodeString.php',
|
||||
'Symfony\\Component\\String\\ByteString' => $vendorDir . '/symfony/string/ByteString.php',
|
||||
|
||||
@@ -2,24 +2,24 @@
|
||||
|
||||
// autoload_files.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(__DIR__);
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
|
||||
'6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
|
||||
'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
|
||||
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
|
||||
'320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
|
||||
'0d59ee240a4cd96ddbb4ff164fccea4d' => $vendorDir . '/symfony/polyfill-php73/bootstrap.php',
|
||||
'23c18046f52bef3eea034657bafda50f' => $vendorDir . '/symfony/polyfill-php81/bootstrap.php',
|
||||
'7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
|
||||
'667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php',
|
||||
'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
|
||||
'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php',
|
||||
'37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
|
||||
'c9d07b32a2e02bc0fc582d4f0c1b56cc' => $vendorDir . '/laminas/laminas-servicemanager/src/autoload.php',
|
||||
'7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
|
||||
'8825ede83f2f289127722d4e842cf7e8' => $vendorDir . '/symfony/polyfill-intl-grapheme/bootstrap.php',
|
||||
'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
|
||||
'b6b991a57620e2fb6b2f66f03fe9ddc2' => $vendorDir . '/symfony/string/Resources/functions.php',
|
||||
'37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
|
||||
'25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php',
|
||||
'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php',
|
||||
'b6b991a57620e2fb6b2f66f03fe9ddc2' => $vendorDir . '/symfony/string/Resources/functions.php',
|
||||
);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
// autoload_namespaces.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(__DIR__);
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
// autoload_psr4.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(__DIR__);
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
@@ -26,6 +26,7 @@ return array(
|
||||
'Symfony\\Component\\VarExporter\\' => array($vendorDir . '/symfony/var-exporter'),
|
||||
'Symfony\\Component\\VarDumper\\' => array($vendorDir . '/symfony/var-dumper'),
|
||||
'Symfony\\Component\\String\\' => array($vendorDir . '/symfony/string'),
|
||||
'Symfony\\Component\\Stopwatch\\' => array($vendorDir . '/symfony/stopwatch'),
|
||||
'Symfony\\Component\\Routing\\' => array($vendorDir . '/symfony/routing'),
|
||||
'Symfony\\Component\\HttpKernel\\' => array($vendorDir . '/symfony/http-kernel'),
|
||||
'Symfony\\Component\\HttpFoundation\\' => array($vendorDir . '/symfony/http-foundation'),
|
||||
@@ -39,6 +40,7 @@ return array(
|
||||
'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'),
|
||||
'Symfony\\Component\\Config\\' => array($vendorDir . '/symfony/config'),
|
||||
'Symfony\\Component\\Cache\\' => array($vendorDir . '/symfony/cache'),
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\' => array($vendorDir . '/symfony/web-profiler-bundle'),
|
||||
'Symfony\\Bundle\\TwigBundle\\' => array($vendorDir . '/symfony/twig-bundle'),
|
||||
'Symfony\\Bundle\\FrameworkBundle\\' => array($vendorDir . '/symfony/framework-bundle'),
|
||||
'Symfony\\Bridge\\Twig\\' => array($vendorDir . '/symfony/twig-bridge'),
|
||||
|
||||
@@ -25,21 +25,33 @@ class ComposerAutoloaderInit7f81b4a2a468a061c306af5e447a9a9f
|
||||
require __DIR__ . '/platform_check.php';
|
||||
|
||||
spl_autoload_register(array('ComposerAutoloaderInit7f81b4a2a468a061c306af5e447a9a9f', 'loadClassLoader'), true, true);
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInit7f81b4a2a468a061c306af5e447a9a9f', 'loadClassLoader'));
|
||||
|
||||
$includePaths = require __DIR__ . '/include_paths.php';
|
||||
$includePaths[] = get_include_path();
|
||||
set_include_path(implode(PATH_SEPARATOR, $includePaths));
|
||||
|
||||
require __DIR__ . '/autoload_static.php';
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f::getInitializer($loader));
|
||||
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
||||
if ($useStaticLoader) {
|
||||
require __DIR__ . '/autoload_static.php';
|
||||
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f::getInitializer($loader));
|
||||
} else {
|
||||
$classMap = require __DIR__ . '/autoload_classmap.php';
|
||||
if ($classMap) {
|
||||
$loader->addClassMap($classMap);
|
||||
}
|
||||
}
|
||||
|
||||
$loader->setClassMapAuthoritative(true);
|
||||
$loader->setApcuPrefix('YzkejrfRDHz9hqMdq98PU');
|
||||
$loader->register(true);
|
||||
|
||||
$includeFiles = \Composer\Autoload\ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f::$files;
|
||||
if ($useStaticLoader) {
|
||||
$includeFiles = Composer\Autoload\ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f::$files;
|
||||
} else {
|
||||
$includeFiles = require __DIR__ . '/autoload_files.php';
|
||||
}
|
||||
foreach ($includeFiles as $fileIdentifier => $file) {
|
||||
composerRequire7f81b4a2a468a061c306af5e447a9a9f($fileIdentifier, $file);
|
||||
}
|
||||
@@ -48,16 +60,11 @@ class ComposerAutoloaderInit7f81b4a2a468a061c306af5e447a9a9f
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $fileIdentifier
|
||||
* @param string $file
|
||||
* @return void
|
||||
*/
|
||||
function composerRequire7f81b4a2a468a061c306af5e447a9a9f($fileIdentifier, $file)
|
||||
{
|
||||
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
||||
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
||||
|
||||
require $file;
|
||||
|
||||
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,22 +7,22 @@ namespace Composer\Autoload;
|
||||
class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
|
||||
{
|
||||
public static $files = array (
|
||||
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
|
||||
'6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
|
||||
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
|
||||
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
|
||||
'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
|
||||
'0d59ee240a4cd96ddbb4ff164fccea4d' => __DIR__ . '/..' . '/symfony/polyfill-php73/bootstrap.php',
|
||||
'23c18046f52bef3eea034657bafda50f' => __DIR__ . '/..' . '/symfony/polyfill-php81/bootstrap.php',
|
||||
'7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
|
||||
'667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php',
|
||||
'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php',
|
||||
'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php',
|
||||
'37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
|
||||
'c9d07b32a2e02bc0fc582d4f0c1b56cc' => __DIR__ . '/..' . '/laminas/laminas-servicemanager/src/autoload.php',
|
||||
'7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
|
||||
'8825ede83f2f289127722d4e842cf7e8' => __DIR__ . '/..' . '/symfony/polyfill-intl-grapheme/bootstrap.php',
|
||||
'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php',
|
||||
'b6b991a57620e2fb6b2f66f03fe9ddc2' => __DIR__ . '/..' . '/symfony/string/Resources/functions.php',
|
||||
'37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
|
||||
'25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php',
|
||||
'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php',
|
||||
'b6b991a57620e2fb6b2f66f03fe9ddc2' => __DIR__ . '/..' . '/symfony/string/Resources/functions.php',
|
||||
);
|
||||
|
||||
public static $prefixLengthsPsr4 = array (
|
||||
@@ -54,6 +54,7 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
|
||||
'Symfony\\Component\\VarExporter\\' => 30,
|
||||
'Symfony\\Component\\VarDumper\\' => 28,
|
||||
'Symfony\\Component\\String\\' => 25,
|
||||
'Symfony\\Component\\Stopwatch\\' => 28,
|
||||
'Symfony\\Component\\Routing\\' => 26,
|
||||
'Symfony\\Component\\HttpKernel\\' => 29,
|
||||
'Symfony\\Component\\HttpFoundation\\' => 33,
|
||||
@@ -67,6 +68,7 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
|
||||
'Symfony\\Component\\Console\\' => 26,
|
||||
'Symfony\\Component\\Config\\' => 25,
|
||||
'Symfony\\Component\\Cache\\' => 24,
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\' => 33,
|
||||
'Symfony\\Bundle\\TwigBundle\\' => 26,
|
||||
'Symfony\\Bundle\\FrameworkBundle\\' => 31,
|
||||
'Symfony\\Bridge\\Twig\\' => 20,
|
||||
@@ -187,6 +189,10 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/string',
|
||||
),
|
||||
'Symfony\\Component\\Stopwatch\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/stopwatch',
|
||||
),
|
||||
'Symfony\\Component\\Routing\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/routing',
|
||||
@@ -239,6 +245,10 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/cache',
|
||||
),
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/web-profiler-bundle',
|
||||
),
|
||||
'Symfony\\Bundle\\TwigBundle\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/twig-bundle',
|
||||
@@ -580,7 +590,6 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Dashlet\\DashletHeaderStatic' => __DIR__ . '/../..' . '/sources/Application/UI/Base/Component/Dashlet/DashletHeaderStatic.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Dashlet\\DashletPlainText' => __DIR__ . '/../..' . '/sources/Application/UI/Base/Component/Dashlet/DashletPlainText.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\DataTable\\DataTable' => __DIR__ . '/../..' . '/sources/Application/UI/Base/Component/DataTable/DataTable.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\DataTable\\DataTableBasket' => __DIR__ . '/../..' . '/sources/Application/UI/Base/Component/DataTable/DataTableBasket.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\DataTable\\DataTableSettings' => __DIR__ . '/../..' . '/sources/Application/UI/Base/Component/DataTable/DataTableSettings.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\DataTable\\DataTableUIBlockFactory' => __DIR__ . '/../..' . '/sources/Application/UI/Base/Component/DataTable/DataTableUIBlockFactory.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\DataTable\\StaticTable\\FormTableRow\\FormTableRow' => __DIR__ . '/../..' . '/sources/Application/UI/Base/Component/DataTable/StaticTable/FormTableRow/FormTableRow.php',
|
||||
@@ -622,8 +631,6 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Input\\tInputLabel' => __DIR__ . '/../..' . '/sources/Application/UI/Base/Component/Input/tInputLabel.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\MedallionIcon\\MedallionIcon' => __DIR__ . '/../..' . '/sources/Application/UI/Base/Component/MedallionIcon/MedallionIcon.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Modal\\DoNotShowAgainOptionBlock' => __DIR__ . '/../..' . '/sources/Application/UI/Base/Component/Modal/DoNotShowAgainOptionBlock.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Navigation\\Navigation' => __DIR__ . '/../..' . '/sources/Application/UI/Base/Component/Navigation/Navigation.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Navigation\\NavigationUIBlockFactory' => __DIR__ . '/../..' . '/sources/Application/UI/Base/Component/Navigation/NavigationUIBlockFactory.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Panel\\Panel' => __DIR__ . '/../..' . '/sources/Application/UI/Base/Component/Panel/Panel.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Panel\\PanelUIBlockFactory' => __DIR__ . '/../..' . '/sources/Application/UI/Base/Component/Panel/PanelUIBlockFactory.php',
|
||||
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Pill\\Pill' => __DIR__ . '/../..' . '/sources/Application/UI/Base/Component/Pill/Pill.php',
|
||||
@@ -807,6 +814,7 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
|
||||
'Combodo\\iTop\\Service\\Events\\EventServiceLog' => __DIR__ . '/../..' . '/sources/Service/Events/EventServiceLog.php',
|
||||
'Combodo\\iTop\\Service\\Events\\iEventServiceSetup' => __DIR__ . '/../..' . '/sources/Service/Events/iEventServiceSetup.php',
|
||||
'Combodo\\iTop\\Service\\Links\\LinkSetDataTransformer' => __DIR__ . '/../..' . '/sources/Service/Links/LinkSetDataTransformer.php',
|
||||
'Combodo\\iTop\\Service\\Links\\LinkSetHelper' => __DIR__ . '/../..' . '/sources/Service/Links/LinkSetHelper.php',
|
||||
'Combodo\\iTop\\Service\\Links\\LinkSetModel' => __DIR__ . '/../..' . '/sources/Service/Links/LinkSetModel.php',
|
||||
'Combodo\\iTop\\Service\\Links\\LinkSetRepository' => __DIR__ . '/../..' . '/sources/Service/Links/LinkSetRepository.php',
|
||||
'Combodo\\iTop\\Service\\Links\\LinksBulkDataPostProcessor' => __DIR__ . '/../..' . '/sources/Service/Links/LinksBulkDataPostProcessor.php',
|
||||
@@ -2059,6 +2067,17 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
|
||||
'Symfony\\Bundle\\TwigBundle\\DependencyInjection\\TwigExtension' => __DIR__ . '/..' . '/symfony/twig-bundle/DependencyInjection/TwigExtension.php',
|
||||
'Symfony\\Bundle\\TwigBundle\\TemplateIterator' => __DIR__ . '/..' . '/symfony/twig-bundle/TemplateIterator.php',
|
||||
'Symfony\\Bundle\\TwigBundle\\TwigBundle' => __DIR__ . '/..' . '/symfony/twig-bundle/TwigBundle.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\Controller\\ExceptionPanelController' => __DIR__ . '/..' . '/symfony/web-profiler-bundle/Controller/ExceptionPanelController.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\Controller\\ProfilerController' => __DIR__ . '/..' . '/symfony/web-profiler-bundle/Controller/ProfilerController.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\Controller\\RouterController' => __DIR__ . '/..' . '/symfony/web-profiler-bundle/Controller/RouterController.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\Csp\\ContentSecurityPolicyHandler' => __DIR__ . '/..' . '/symfony/web-profiler-bundle/Csp/ContentSecurityPolicyHandler.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\Csp\\NonceGenerator' => __DIR__ . '/..' . '/symfony/web-profiler-bundle/Csp/NonceGenerator.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\DependencyInjection\\Configuration' => __DIR__ . '/..' . '/symfony/web-profiler-bundle/DependencyInjection/Configuration.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\DependencyInjection\\WebProfilerExtension' => __DIR__ . '/..' . '/symfony/web-profiler-bundle/DependencyInjection/WebProfilerExtension.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\EventListener\\WebDebugToolbarListener' => __DIR__ . '/..' . '/symfony/web-profiler-bundle/EventListener/WebDebugToolbarListener.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\Profiler\\TemplateManager' => __DIR__ . '/..' . '/symfony/web-profiler-bundle/Profiler/TemplateManager.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension' => __DIR__ . '/..' . '/symfony/web-profiler-bundle/Twig/WebProfilerExtension.php',
|
||||
'Symfony\\Bundle\\WebProfilerBundle\\WebProfilerBundle' => __DIR__ . '/..' . '/symfony/web-profiler-bundle/WebProfilerBundle.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\AbstractAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/AbstractAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\AbstractTagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/AbstractTagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\AdapterInterface' => __DIR__ . '/..' . '/symfony/cache/Adapter/AdapterInterface.php',
|
||||
@@ -2878,6 +2897,10 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
|
||||
'Symfony\\Component\\Routing\\RouteCompilerInterface' => __DIR__ . '/..' . '/symfony/routing/RouteCompilerInterface.php',
|
||||
'Symfony\\Component\\Routing\\Router' => __DIR__ . '/..' . '/symfony/routing/Router.php',
|
||||
'Symfony\\Component\\Routing\\RouterInterface' => __DIR__ . '/..' . '/symfony/routing/RouterInterface.php',
|
||||
'Symfony\\Component\\Stopwatch\\Section' => __DIR__ . '/..' . '/symfony/stopwatch/Section.php',
|
||||
'Symfony\\Component\\Stopwatch\\Stopwatch' => __DIR__ . '/..' . '/symfony/stopwatch/Stopwatch.php',
|
||||
'Symfony\\Component\\Stopwatch\\StopwatchEvent' => __DIR__ . '/..' . '/symfony/stopwatch/StopwatchEvent.php',
|
||||
'Symfony\\Component\\Stopwatch\\StopwatchPeriod' => __DIR__ . '/..' . '/symfony/stopwatch/StopwatchPeriod.php',
|
||||
'Symfony\\Component\\String\\AbstractString' => __DIR__ . '/..' . '/symfony/string/AbstractString.php',
|
||||
'Symfony\\Component\\String\\AbstractUnicodeString' => __DIR__ . '/..' . '/symfony/string/AbstractUnicodeString.php',
|
||||
'Symfony\\Component\\String\\ByteString' => __DIR__ . '/..' . '/symfony/string/ByteString.php',
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
// include_paths.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(__DIR__);
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
|
||||
48
pages/UI.php
48
pages/UI.php
@@ -435,21 +435,9 @@ try
|
||||
throw new SecurityException('User not allowed to view this object', array('class' => $sClass, 'id' => $id));
|
||||
}
|
||||
|
||||
//N°1386 - Advanced Search: Navigation in list - Browse this list
|
||||
$sBasketBackUrl = utils::ReadPostedParam('basket_back_url', '', false, 'raw');
|
||||
$sBasketClass = utils::ReadPostedParam('basket_class', null, false, 'raw');
|
||||
$sBasketFilter = utils::ReadPostedParam('basket_filter', null, false, 'raw');
|
||||
$sBasketList = utils::ReadPostedParam('basket_list_navigation', null, false, 'string');
|
||||
$sBasketPostedFieldsForBackUrl = utils::ReadPostedParam('basket_back_posted_fields', "", false, 'raw');
|
||||
$aBasketList = [];
|
||||
if ($sBasketList != null) {
|
||||
$aBasketList = json_decode($sBasketList);
|
||||
}
|
||||
|
||||
$sClassLabel = MetaModel::GetName($sClass);
|
||||
$oP->set_title(Dict::Format('UI:DetailsPageTitle', $oObj->GetRawName(), $sClassLabel)); // Set title will take care of the encoding
|
||||
$oP->SetContentLayout(PageContentFactory::MakeForObjectDetails($oObj, $oP->IsPrintableVersion() ? cmdbAbstractObject::ENUM_DISPLAY_MODE_PRINT : cmdbAbstractObject::ENUM_DISPLAY_MODE_VIEW, $sBasketFilter, $sBasketClass, $aBasketList, $sBasketBackUrl,
|
||||
$sBasketPostedFieldsForBackUrl));
|
||||
$oP->SetContentLayout(PageContentFactory::MakeForObjectDetails($oObj, $oP->IsPrintableVersion() ? cmdbAbstractObject::ENUM_DISPLAY_MODE_PRINT : cmdbAbstractObject::ENUM_DISPLAY_MODE_VIEW));
|
||||
$oObj->DisplayDetails($oP);
|
||||
}
|
||||
}
|
||||
@@ -459,30 +447,20 @@ try
|
||||
$oP->DisableBreadCrumb();
|
||||
|
||||
// Retrieve object
|
||||
$sClass = utils::ReadParam('class', '', false, 'class');
|
||||
$id = utils::ReadParam('id', '');
|
||||
$oObj = MetaModel::GetObject($sClass, $id);
|
||||
$sClass = utils::ReadParam('class', '', false, 'class');
|
||||
$id = utils::ReadParam('id', '');
|
||||
$oObj = MetaModel::GetObject($sClass, $id);
|
||||
|
||||
// Retrieve ownership token
|
||||
$sToken = utils::ReadParam('token', '');
|
||||
if ($sToken != '') {
|
||||
iTopOwnershipLock::ReleaseLock($sClass, $id, $sToken);
|
||||
}
|
||||
// Retrieve ownership token
|
||||
$sToken = utils::ReadParam('token', '');
|
||||
if ($sToken != '')
|
||||
{
|
||||
iTopOwnershipLock::ReleaseLock($sClass, $id, $sToken);
|
||||
}
|
||||
|
||||
//N°1386 - Advanced Search: Navigation in list - Browse this list
|
||||
$sBasketBackUrl = utils::ReadPostedParam('basket_back_url', '', false, 'raw');
|
||||
$sBasketClass = utils::ReadPostedParam('basket_class', null, false, 'raw');
|
||||
$sBasketFilter = utils::ReadPostedParam('basket_filter', null, false, 'raw');
|
||||
$sBasketList = utils::ReadPostedParam('basket_list_navigation', null, false, 'string');
|
||||
$sBasketPostedFieldsForBackUrl = utils::ReadPostedParam('basket_back_posted_fields', "", false, 'raw');
|
||||
$aBasketList = [];
|
||||
if ($sBasketList != null) {
|
||||
$aBasketList = json_decode($sBasketList);
|
||||
}
|
||||
|
||||
$oP->SetContentLayout(PageContentFactory::MakeForObjectDetails($oObj, cmdbAbstractObject::ENUM_DISPLAY_MODE_VIEW, $sBasketFilter, $sBasketClass, $aBasketList, $sBasketBackUrl, $sBasketPostedFieldsForBackUrl));
|
||||
cmdbAbstractObject::ReloadAndDisplay($oP, $oObj, array('operation' => 'details'));
|
||||
break;
|
||||
$oP->SetContentLayout(PageContentFactory::MakeForObjectDetails($oObj, cmdbAbstractObject::ENUM_DISPLAY_MODE_VIEW));
|
||||
cmdbAbstractObject::ReloadAndDisplay($oP, $oObj, array('operation' => 'details'));
|
||||
break;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
@@ -216,12 +216,10 @@ JS
|
||||
|
||||
if ($oFilter) {
|
||||
//--- Query filter
|
||||
$oPanelResult = PanelUIBlockFactory::MakeWithBrandingSecondaryColor(Dict::S('UI:RunQuery:QueryResults'));
|
||||
$oPanelResult= PanelUIBlockFactory::MakeWithBrandingSecondaryColor(Dict::S('UI:RunQuery:QueryResults'));
|
||||
$oP->AddSubBlock($oPanelResult);
|
||||
$oResultBlock = new DisplayBlock($oFilter, 'list', false);
|
||||
$oPanelResult->AddSubBlock($oResultBlock->GetDisplay($oP, 'runquery'));
|
||||
//Added in order to go back to search from navigation in the basket
|
||||
$oP->AddSubBlock(DataTableUIBlockFactory::MakeParamForBasket(['encoding' => $sEncoding, 'expression' => $sExpression]));
|
||||
|
||||
// Breadcrumb
|
||||
//$iCount = $oResultBlock->GetDisplayedCount();
|
||||
|
||||
@@ -222,11 +222,12 @@ class DBBackup
|
||||
*
|
||||
* @param string $sSourceConfigFile
|
||||
* @param string $sTmpFolder
|
||||
* @param bool $bSkipSQLDumpForTesting
|
||||
*
|
||||
* @return array list of files to archive
|
||||
* @throws \Exception
|
||||
*/
|
||||
protected function PrepareFilesToBackup($sSourceConfigFile, $sTmpFolder)
|
||||
protected function PrepareFilesToBackup($sSourceConfigFile, $sTmpFolder, $bSkipSQLDumpForTesting = false)
|
||||
{
|
||||
$aRet = array();
|
||||
if (is_dir($sTmpFolder))
|
||||
@@ -243,7 +244,7 @@ class DBBackup
|
||||
{
|
||||
$sFile = $sTmpFolder.'/config-itop.php';
|
||||
$this->LogInfo("backup: adding resource '$sSourceConfigFile'");
|
||||
copy($sSourceConfigFile, $sFile);
|
||||
@copy($sSourceConfigFile, $sFile); // During unattended install config file may be absent
|
||||
$aRet[] = $sFile;
|
||||
}
|
||||
|
||||
@@ -264,9 +265,43 @@ class DBBackup
|
||||
SetupUtils::copydir($sExtraDir, $sFile);
|
||||
$aRet[] = $sFile;
|
||||
}
|
||||
$sDataFile = $sTmpFolder.'/itop-dump.sql';
|
||||
$this->DoBackup($sDataFile);
|
||||
$aRet[] = $sDataFile;
|
||||
if (MetaModel::GetConfig() !== null) // During unattended install config file may be absent
|
||||
{
|
||||
$aExtraFiles = MetaModel::GetModuleSetting('itop-backup', 'extra_files', []);
|
||||
foreach($aExtraFiles as $sExtraFileOrDir)
|
||||
{
|
||||
if(!file_exists(APPROOT.'/'.$sExtraFileOrDir)) {
|
||||
continue; // Ignore non-existing files
|
||||
}
|
||||
|
||||
$sExtraFullPath = utils::RealPath(APPROOT.'/'.$sExtraFileOrDir, APPROOT);
|
||||
if ($sExtraFullPath === false)
|
||||
{
|
||||
throw new Exception("Backup: Aborting, resource '$sExtraFileOrDir'. Considered as UNSAFE because not inside the iTop directory.");
|
||||
}
|
||||
if (is_dir($sExtraFullPath))
|
||||
{
|
||||
$sFile = $sTmpFolder.'/'.$sExtraFileOrDir;
|
||||
$this->LogInfo("backup: adding directory '$sExtraFileOrDir'");
|
||||
SetupUtils::copydir($sExtraFullPath, $sFile);
|
||||
$aRet[] = $sFile;
|
||||
}
|
||||
elseif (file_exists($sExtraFullPath))
|
||||
{
|
||||
$sFile = $sTmpFolder.'/'.$sExtraFileOrDir;
|
||||
$this->LogInfo("backup: adding file '$sExtraFileOrDir'");
|
||||
@mkdir(dirname($sFile), 0755, true);
|
||||
copy($sExtraFullPath, $sFile);
|
||||
$aRet[] = $sFile;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!$bSkipSQLDumpForTesting)
|
||||
{
|
||||
$sDataFile = $sTmpFolder.'/itop-dump.sql';
|
||||
$this->DoBackup($sDataFile);
|
||||
$aRet[] = $sDataFile;
|
||||
}
|
||||
|
||||
return $aRet;
|
||||
}
|
||||
|
||||
@@ -176,6 +176,10 @@ class MFModule
|
||||
$this->sAutoSelect = 'false';
|
||||
$this->aFilesToInclude = array('addons' => array(), 'business' => array(), 'webservices' => array(),);
|
||||
|
||||
if (is_null($sRootDir)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Scan the module's root directory to find the datamodel(*).xml files
|
||||
if ($hDir = opendir($sRootDir))
|
||||
{
|
||||
|
||||
@@ -1,190 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (C) 2013-2021 Combodo SARL
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
namespace Combodo\iTop\Application\UI\Base\Component\Basket;
|
||||
|
||||
|
||||
use Combodo\iTop\Application\UI\Base\Layout\UIContentBlock;
|
||||
use iTopStandardURLMaker;
|
||||
use utils;
|
||||
|
||||
/**
|
||||
* Class Basket
|
||||
*
|
||||
* @package Combodo\iTop\Application\UI\Base\Component\Basket
|
||||
* @since 3.1.1
|
||||
*/
|
||||
class Basket extends UIContentBlock
|
||||
{
|
||||
|
||||
// Overloaded constants
|
||||
public const BLOCK_CODE = 'ibo-basket';
|
||||
/** @inheritDoc */
|
||||
public const REQUIRES_ANCESTORS_DEFAULT_JS_FILES = true;
|
||||
/** @inheritDoc */
|
||||
public const REQUIRES_ANCESTORS_DEFAULT_CSS_FILES = true;
|
||||
public const DEFAULT_HTML_TEMPLATE_REL_PATH = 'base/components/basket/layout';
|
||||
public const DEFAULT_JS_TEMPLATE_REL_PATH = 'base/components/basket/layout';
|
||||
public const DEFAULT_JS_FILES_REL_PATH = [];
|
||||
|
||||
protected $iIdx;
|
||||
protected $iCount;
|
||||
protected $iIdFirst = 0;
|
||||
protected $iIdPrev = 0;
|
||||
protected $iIdNext = 0;
|
||||
protected $iIdLast = 0;
|
||||
protected $aList = [];
|
||||
protected $sFilter;
|
||||
protected $sBackUrl;
|
||||
protected $sClass;
|
||||
protected $sPostedFields;
|
||||
|
||||
/**
|
||||
* Panel constructor.
|
||||
*
|
||||
* @param string $sTitle
|
||||
* @param \Combodo\iTop\Application\UI\Base\iUIBlock[] $aSubBlocks
|
||||
* @param string $sColorScheme Color scheme code such as "success", "failure", "active", ... {@see css/backoffice/components/_panel.scss}
|
||||
* @param string|null $sId
|
||||
*/
|
||||
public function __construct(string $sClass, int $iIdx, array $aList, string $sFilter, string $sBackUrl, string $sPostedFieldsForBackUrl = "", ?string $sId = null)
|
||||
{
|
||||
parent::__construct($sId);
|
||||
$this->iCount = count($aList);
|
||||
if ($this->iCount == 0) {
|
||||
return new UIContentBlock();
|
||||
}
|
||||
$this->sClass = $sClass;
|
||||
$this->aList = $aList;
|
||||
$this->sFilter = $sFilter;
|
||||
$this->sBackUrl = $sBackUrl;
|
||||
$this->iIdx = $iIdx;
|
||||
if ($this->iIdx>0) {
|
||||
$this->iIdFirst = $aList[0];
|
||||
$this->iIdPrev = $aList[$iIdx - 1];
|
||||
}
|
||||
if ($this->iIdx < $this->iCount -1) {
|
||||
$this->iIdNext = $aList[$iIdx + 1];
|
||||
$this->iIdLast = $aList[$this->iCount - 1];
|
||||
}
|
||||
$this->sPostedFields = $sPostedFieldsForBackUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function GetIdx(): int
|
||||
{
|
||||
return $this->iIdx + 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function GetPostedFields(): string
|
||||
{
|
||||
return $this->sPostedFields;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function GetCount(): int
|
||||
{
|
||||
return $this->iCount;
|
||||
}
|
||||
|
||||
private function GetUrlFromId($iId)
|
||||
{
|
||||
$sUrl = iTopStandardURLMaker::MakeObjectURL($this->sClass, $iId);
|
||||
return $sUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function GetUrlFirst(): string
|
||||
{
|
||||
return $this->GetUrlFromId($this->iIdFirst);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function GetUrlPrev(): string
|
||||
{
|
||||
return $this->GetUrlFromId($this->iIdPrev);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function GetUrlNext(): string
|
||||
{
|
||||
return $this->GetUrlFromId($this->iIdNext);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int|mixed
|
||||
*/
|
||||
public function GetUrlLast(): string
|
||||
{
|
||||
return $this->GetUrlFromId($this->iIdLast);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function GetBackUrl(): string
|
||||
{
|
||||
return $this->sBackUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function GetFilter(): string
|
||||
{
|
||||
return $this->sFilter;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function GetList(): string
|
||||
{
|
||||
return json_encode($this->aList);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function HasPrec(): bool
|
||||
{
|
||||
return $this->iIdx > 0;
|
||||
}
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function HasNext(): bool
|
||||
{
|
||||
return $this->iIdx+1 < $this->iCount;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,74 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (C) 2013-2021 Combodo SARL
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
namespace Combodo\iTop\Application\UI\Base\Component\Basket;
|
||||
|
||||
use Combodo\iTop\Application\UI\Base\AbstractUIBlockFactory;
|
||||
use DBObjectSearch;
|
||||
use DBObjectSet;
|
||||
use utils;
|
||||
|
||||
/**
|
||||
* Class BasketUIBlockFactory
|
||||
*
|
||||
* @api
|
||||
* @package UIBlockExtensibilityAPI
|
||||
* @since 3.1.1
|
||||
*
|
||||
* @link <itop_url>/test/VisualTest/Backoffice/RenderAllUiBlocks.php#title-panels to see live examples
|
||||
*/
|
||||
class BasketUIBlockFactory extends AbstractUIBlockFactory
|
||||
{
|
||||
/** @inheritDoc */
|
||||
public const TWIG_TAG_NAME = 'UIBasket';
|
||||
/** @inheritDoc */
|
||||
public const UI_BLOCK_CLASS_NAME = Basket::class;
|
||||
|
||||
/**
|
||||
* Make a basis Panel component
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @return \Combodo\iTop\Application\UI\Base\Component\Basket
|
||||
*/
|
||||
public static function MakeStandard($oObject, string $sFilter, string $sClass, array $aList = [], string $sBackUrl = '', $sPostedFieldsForBackUrl = "")
|
||||
{
|
||||
if (utils::IsNotNullOrEmptyString($sFilter) && count($aList) === 0) {
|
||||
$oBasketFilter = DBObjectSearch::FromOQL($sFilter);
|
||||
$oSet = new DBObjectSet($oBasketFilter);
|
||||
$aList = $oSet->GetColumnAsArray('id', false);
|
||||
if (utils::IsNullOrEmptyString($sClass)) {
|
||||
$sClass = $oBasketFilter->GetClass();
|
||||
}
|
||||
}
|
||||
if (utils::IsNullOrEmptyString($sClass)) {
|
||||
$oBasketFilter = DBObjectSearch::FromOQL($sFilter);
|
||||
$sClass = $oBasketFilter->GetClass();
|
||||
}
|
||||
if (count($aList) === 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$iIdx = array_search($oObject->GetKey(), $aList);
|
||||
$oNavigationBlock = new Basket($sClass, $iIdx, $aList, $sFilter, $sBackUrl, $sPostedFieldsForBackUrl);
|
||||
|
||||
return $oNavigationBlock;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -48,10 +48,6 @@ class DataTable extends UIContentBlock
|
||||
protected $aAjaxData;
|
||||
protected $aDisplayColumns;
|
||||
protected $aResultColumns;
|
||||
/* @since 3.1.1 */
|
||||
protected $sBasketFilter;
|
||||
/* @since 3.1.1 */
|
||||
protected $sBasketClass;
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
@@ -225,47 +221,8 @@ class DataTable extends UIContentBlock
|
||||
return json_encode($this->aInitDisplayData);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
* @since 3.1.1
|
||||
*/
|
||||
public function GetBasketFilter()
|
||||
{
|
||||
return $this->sBasketFilter;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $sFilter
|
||||
*
|
||||
* @since 3.1.1
|
||||
*/
|
||||
public function setBasketFilter(string $sFilter): void
|
||||
{
|
||||
$this->sBasketFilter = $sFilter;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
* @since 3.1.1
|
||||
*/
|
||||
public function GetBasketClass()
|
||||
{
|
||||
return $this->sBasketClass;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $sBasketClass
|
||||
*
|
||||
* @since 3.1.1
|
||||
*/
|
||||
public function setBasketClass(string $sBasketClass): void
|
||||
{
|
||||
$this->sBasketClass = $sBasketClass;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get $aInitDisplayData
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function GetInitDisplayData(): array
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2023 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
namespace Combodo\iTop\Application\UI\Base\Component\DataTable;
|
||||
|
||||
|
||||
use ApplicationContext;
|
||||
use Combodo\iTop\Application\UI\Base\Layout\UIContentBlock;
|
||||
use Combodo\iTop\Application\UI\Base\tJSRefreshCallback;
|
||||
use DataTableConfig;
|
||||
|
||||
/**
|
||||
* Class DataTableBasket
|
||||
*
|
||||
* @package Combodo\iTop\Application\UI\Base\Component\DataTableBasket
|
||||
* @since 3.1.1
|
||||
*/
|
||||
class DataTableBasket extends UIContentBlock
|
||||
{
|
||||
// Overloaded constants
|
||||
public const BLOCK_CODE = 'ibo-datatable-basket';
|
||||
|
||||
public const DEFAULT_JS_ON_READY_TEMPLATE_REL_PATH = 'base/components/datatable/basket';
|
||||
|
||||
protected $sBasketPostedFieldsForBackUrl;
|
||||
|
||||
|
||||
/**
|
||||
* Panel constructor.
|
||||
*
|
||||
*/
|
||||
public function __construct(array $aBasketPostedFieldsForBackUrl = [], ?string $sId = null)
|
||||
{
|
||||
parent::__construct($sId);
|
||||
$this->sBasketPostedFieldsForBackUrl = json_encode($aBasketPostedFieldsForBackUrl);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function GetBasketPostedFieldsForBackUrl(): string
|
||||
{
|
||||
return $this->sBasketPostedFieldsForBackUrl;
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,6 @@ use cmdbAbstract;
|
||||
use cmdbAbstractObject;
|
||||
use Dict;
|
||||
use Metamodel;
|
||||
use Serializable;
|
||||
|
||||
/**
|
||||
* Class DataTableSettings
|
||||
@@ -167,7 +166,8 @@ class DataTableSettings
|
||||
$oSettings = new DataTableSettings($aClassAliases);
|
||||
// Retrieve the class specific settings for each class/alias based on the 'list' ZList
|
||||
//TODO let the caller pass some other default settings (another Zlist, extre fields...)
|
||||
$aColumns = array();
|
||||
$aColumns = [];
|
||||
$aSortOrder = [];
|
||||
foreach ($aClassAliases as $sAlias => $sClass) {
|
||||
if ($aDefaultLists == null) {
|
||||
$aList = cmdbAbstractObject::FlattenZList(MetaModel::GetZListItems($sClass, 'list'));
|
||||
|
||||
@@ -572,43 +572,30 @@ class DataTableUIBlockFactory extends AbstractUIBlockFactory
|
||||
|
||||
$aExtraParams['table_id'] = $sTableId;
|
||||
$aExtraParams['list_id'] = $sListId;
|
||||
$oFilter = $oSet->GetFilter();
|
||||
|
||||
$sBasketAliasClass = $oFilter->GetFirstJoinedClassAlias();
|
||||
if ($sBasketAliasClass === 'Link') {
|
||||
$sLinkToBasket = $sBasketAliasClass.'/'.$sTargetAttr;
|
||||
$sBasketAliasClass = 'Remote';
|
||||
} else {
|
||||
$sLinkToBasket = $sBasketAliasClass;
|
||||
}
|
||||
|
||||
$oDataTable->SetOptions($aOptions);
|
||||
$oDataTable->SetAjaxUrl(utils::GetAbsoluteUrlAppRoot()."pages/ajax.render.php");
|
||||
$oDataTable->SetAjaxData([
|
||||
"operation" => 'search',
|
||||
"filter" => $oFilter->serialize(),
|
||||
"filter" => $oSet->GetFilter()->serialize(),
|
||||
"columns" => $oCustomSettings->aColumns,
|
||||
"extra_params" => $aExtraParams,
|
||||
"class_aliases" => $aClassAliases,
|
||||
"select_mode" => $sSelectMode,
|
||||
"basket" => $sLinkToBasket,
|
||||
]);
|
||||
$oDataTable->SetDisplayColumns($aColumnDefinition);
|
||||
$oDataTable->SetResultColumns($oCustomSettings->aColumns);
|
||||
$oFilter->SetSelectedClasses([$sBasketAliasClass]);
|
||||
$oDataTable->SetBasketFilter($oFilter->ToOQL(true));
|
||||
$oDataTable->SetBasketClass($oFilter->GetClass());
|
||||
$oDataTable->SetInitDisplayData(AjaxRenderController::GetDataForTable($oSet, $aClassAliases, $aColumnsToLoad, $sIdName, $aExtraParams, 1, $sLinkToBasket));
|
||||
$oDataTable->SetInitDisplayData(AjaxRenderController::GetDataForTable($oSet, $aClassAliases, $aColumnsToLoad, $sIdName, $aExtraParams));
|
||||
|
||||
// row actions
|
||||
if (isset($aExtraParams['row_actions'])) {
|
||||
$oDataTable->SetRowActions($aExtraParams['row_actions']);
|
||||
}
|
||||
|
||||
if (isset($aExtraParams['creation_in_modal_js_handler'])) {
|
||||
if (isset($aExtraParams['creation_in_modal_js_handler'])){
|
||||
$oDataTable->SetModalCreationHandler($aExtraParams['creation_in_modal_js_handler']);
|
||||
}
|
||||
|
||||
|
||||
return $oDataTable;
|
||||
}
|
||||
|
||||
@@ -900,18 +887,10 @@ JS;
|
||||
return $oTable;
|
||||
}
|
||||
|
||||
public static function MakeParamForBasket(array $aPostedFields)
|
||||
{
|
||||
$oBlock = new DataTableBasket($aPostedFields);
|
||||
|
||||
return $oBlock;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public
|
||||
static function GetAllowedParams(): array
|
||||
public static function GetAllowedParams(): array
|
||||
{
|
||||
return [
|
||||
'surround_with_panel',
|
||||
@@ -962,5 +941,4 @@ JS;
|
||||
/** Don't provide the standard object creation feature */
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
@@ -21,7 +21,6 @@ namespace Combodo\iTop\Application\UI\Base\Layout\PageContent;
|
||||
|
||||
|
||||
use cmdbAbstractObject;
|
||||
use Combodo\iTop\Application\UI\Base\Component\Basket\BasketUIBlockFactory;
|
||||
use Combodo\iTop\Application\UI\Base\Layout\ActivityPanel\ActivityPanelFactory;
|
||||
use Combodo\iTop\Application\UI\Base\Layout\Object\ObjectFactory;
|
||||
use DBObject;
|
||||
@@ -49,32 +48,22 @@ class PageContentFactory
|
||||
/**
|
||||
* Make a standard object details page with the form in the middle and the logs / activity in the side panel
|
||||
*
|
||||
* @param \DBObject $oObject
|
||||
* @param string $sMode Mode the object is being displayed (view, edit, create, ...), default is view.
|
||||
*
|
||||
* @see cmdbAbstractObject::ENUM_DISPLAY_MODE_XXX
|
||||
*
|
||||
* @param \DBObject $oObject
|
||||
* @param string $sMode Mode the object is being displayed (view, edit, create, ...), default is view.
|
||||
*
|
||||
* since 3.1.1 params for navigation in basket
|
||||
* @param string $sBasketFilter filter to find list of objects in basket
|
||||
* @param array $aBasketList list of id of objects in basket
|
||||
* @param string $sBackUrl url to go back to list of ojects in basket
|
||||
* @param string $sPostedFieldsForBackUrl fields to post for come back to main page
|
||||
*
|
||||
*
|
||||
* @return \Combodo\iTop\Application\UI\Base\Layout\PageContent\PageContentWithSideContent
|
||||
* @throws \CoreException
|
||||
*/
|
||||
public static function MakeForObjectDetails(DBObject $oObject, string $sMode = cmdbAbstractObject::DEFAULT_DISPLAY_MODE, $sBasketFilter = null, $aBasketList = [], $sBackUrl = null, $sPostedFieldsForBackUrl = "")
|
||||
public static function MakeForObjectDetails(DBObject $oObject, string $sMode = cmdbAbstractObject::DEFAULT_DISPLAY_MODE)
|
||||
{
|
||||
$oLayout = new PageContentWithSideContent();
|
||||
|
||||
|
||||
if ($sBasketFilter != null) {
|
||||
$oNavigationBlock = BasketUIBlockFactory::MakeStandard($oObject, $sBasketFilter, $aBasketList, $sBackUrl, $sPostedFieldsForBackUrl);
|
||||
if ($oNavigationBlock != null) {
|
||||
$oLayout->AddSubBlock($oNavigationBlock);
|
||||
}
|
||||
}
|
||||
// Add object details layout
|
||||
// TODO 3.0.0 see N°3518
|
||||
//$oObjectDetails = ObjectFactory::MakeDetails($oObject, $sMode);
|
||||
//$oLayout->AddMainBlock($oObjectDetails);
|
||||
|
||||
// Add object activity layout
|
||||
$oActivityPanel = ActivityPanelFactory::MakeForObjectDetails($oObject, $sMode);
|
||||
|
||||
@@ -17,6 +17,7 @@ use Dict;
|
||||
use DictExceptionMissingString;
|
||||
use DisplayBlock;
|
||||
use Exception;
|
||||
use MetaModel;
|
||||
use MySQLException;
|
||||
use UserRights;
|
||||
use Utils;
|
||||
@@ -135,10 +136,10 @@ abstract class AbstractBlockLinkSetViewTable extends UIContentBlock
|
||||
public function GetDictionaryEntry(string $sKey, DBObject $oDBObject = null)
|
||||
{
|
||||
return $this->oAttDef->SearchSpecificLabel($sKey, '', true,
|
||||
Dict::S("Class:{$this->sObjectClass}"),
|
||||
MetaModel::GetName($this->sObjectClass),
|
||||
$this->oDbObject->Get('friendlyname'),
|
||||
$this->oAttDef->GetLabel(),
|
||||
Dict::S("Class:{$this->sTargetClass}"),
|
||||
MetaModel::GetName($this->sTargetClass),
|
||||
$oDBObject !== null ? $oDBObject->Get('friendlyname') : '{item}');
|
||||
}
|
||||
|
||||
|
||||
@@ -307,16 +307,16 @@ class BlockDirectLinkSetEditTable extends UIContentBlock
|
||||
$aRowActions = array();
|
||||
|
||||
$sDeleteButtonTooltip = $this->oAttributeLinkedSet->SearchSpecificLabel('UI:Links:Delete:Button+', '', true,
|
||||
Dict::S("Class:{$this->oAttributeLinkedSet->GetHostClass()}"),
|
||||
MetaModel::GetName($this->oAttributeLinkedSet->GetHostClass()),
|
||||
$oHostObject->Get('friendlyname'),
|
||||
$this->oAttributeLinkedSet->GetLabel(),
|
||||
Dict::S("Class:{$this->oUILinksDirectWidget->GetLinkedClass()}"));
|
||||
MetaModel::GetName($this->oUILinksDirectWidget->GetLinkedClass()));
|
||||
|
||||
$sRemoveButtonTooltip = $this->oAttributeLinkedSet->SearchSpecificLabel('UI:Links:Remove:Button+', '', true,
|
||||
Dict::S("Class:{$this->oAttributeLinkedSet->GetHostClass()}"),
|
||||
MetaModel::GetName($this->oAttributeLinkedSet->GetHostClass()),
|
||||
$oHostObject->Get('friendlyname'),
|
||||
$this->oAttributeLinkedSet->GetLabel(),
|
||||
Dict::S("Class:{$this->oUILinksDirectWidget->GetLinkedClass()}"));
|
||||
MetaModel::GetName($this->oUILinksDirectWidget->GetLinkedClass()));
|
||||
|
||||
// until a full link set refactoring (continue using edit_mode property)
|
||||
switch ($this->oAttributeLinkedSet->GetEditMode()) {
|
||||
|
||||
@@ -492,10 +492,10 @@ JS
|
||||
$aRowActions = array();
|
||||
|
||||
$sRemoveButtonTooltip = $this->oAttributeLinkedSetIndirect->SearchSpecificLabel('UI:Links:Remove:Button+', '', true,
|
||||
Dict::S("Class:{$this->oAttributeLinkedSetIndirect->GetHostClass()}"),
|
||||
MetaModel::GetName($this->oAttributeLinkedSetIndirect->GetHostClass()),
|
||||
$oHostObject->Get('friendlyname'),
|
||||
$this->oAttributeLinkedSetIndirect->GetLabel(),
|
||||
Dict::S("Class:{$this->oUILinksWidget->GetRemoteClass()}"));
|
||||
MetaModel::GetName($this->oUILinksWidget->GetRemoteClass()));
|
||||
|
||||
if ($this->bIsAllowDelete) {
|
||||
$aRowActions[] = array(
|
||||
|
||||
@@ -120,10 +120,8 @@ class BlockIndirectLinkSetViewTable extends AbstractBlockLinkSetViewTable
|
||||
$sAttributeLinkedSetIndirectAttCode = $oAttributeLinkedSetIndirectDefinition->GetCode();
|
||||
$sAttributeLinkedSetIndirectLinkedClass = $oAttributeLinkedSetIndirectDefinition->GetTargetClass();
|
||||
|
||||
|
||||
$aAttCodesToDisplay = MetaModel::GetAttributeLinkedSetIndirectDatatableAttCodesToDisplay($this->sObjectClass, $this->sAttCode, $sAttributeLinkedSetIndirectLinkedClass, $sAttributeLinkedSetIndirectAttCode);
|
||||
/** @noinspection PhpUnnecessaryLocalVariableInspection */
|
||||
/** @noinspection OneTimeUseVariablesInspection */
|
||||
/** @noinspection PhpUnnecessaryLocalVariableInspection *//** @noinspection OneTimeUseVariablesInspection */
|
||||
$sAttCodesToDisplay = implode(',', $aAttCodesToDisplay);
|
||||
|
||||
return $sAttCodesToDisplay;
|
||||
|
||||
@@ -62,7 +62,7 @@ class AjaxRenderController
|
||||
* @throws \MySQLException
|
||||
* @throws \MySQLHasGoneAwayException
|
||||
*/
|
||||
public static function GetDataForTable(DBObjectSet $oSet, array $aClassAliases, array $aColumnsLoad, string $sIdName = "", array $aExtraParams = [], int $iDrawNumber = 1, string $sLinkToBasket = "")
|
||||
public static function GetDataForTable(DBObjectSet $oSet, array $aClassAliases, array $aColumnsLoad, string $sIdName = "", array $aExtraParams = [], int $iDrawNumber = 1)
|
||||
{
|
||||
if (isset($aExtraParams['show_obsolete_data'])) {
|
||||
$bShowObsoleteData = $aExtraParams['show_obsolete_data'];
|
||||
@@ -72,7 +72,7 @@ class AjaxRenderController
|
||||
$oSet->SetShowObsoleteData($bShowObsoleteData);
|
||||
$aResult["draw"] = $iDrawNumber;
|
||||
$aResult["recordsTotal"] = $oSet->Count();
|
||||
$aResult["recordsFiltered"] = $aResult["recordsTotal"];
|
||||
$aResult["recordsFiltered"] = $aResult["recordsTotal"] ;
|
||||
$aResult["data"] = [];
|
||||
while ($aObject = $oSet->FetchAssoc()) {
|
||||
$aObj = [];
|
||||
@@ -80,7 +80,7 @@ class AjaxRenderController
|
||||
if (isset($aObject[$sAlias]) && !is_null($aObject[$sAlias])) {
|
||||
$aObj[$sAlias."/_key_"] = $aObject[$sAlias]->GetKey();
|
||||
$aObj[$sAlias."/_key_/raw"] = $aObject[$sAlias]->GetKey();
|
||||
$aObj[$sAlias."/hyperlink"] = $aObject[$sAlias]->GetHyperlink(null, true, null, false, ($sLinkToBasket === $sAlias));
|
||||
$aObj[$sAlias."/hyperlink"] = $aObject[$sAlias]->GetHyperlink();
|
||||
$aObj[$sAlias."/friendlyname"] = $aObject[$sAlias]->Get('friendlyname');
|
||||
|
||||
// N°5943 Protection against $aColumnsLoad having less class aliases than $aClassAliases, this is in case the method's consumer isn't passing data correctly
|
||||
@@ -95,13 +95,14 @@ class AjaxRenderController
|
||||
}
|
||||
|
||||
foreach ($aColumnsLoad[$sAlias] as $sAttCode) {
|
||||
$aObj[$sAlias."/".$sAttCode] = $aObject[$sAlias]->GetAsHTML($sAttCode, true, ($sLinkToBasket === $sAlias."/".$sAttCode));
|
||||
|
||||
$aObj[$sAlias."/".$sAttCode] = $aObject[$sAlias]->GetAsHTML($sAttCode);
|
||||
$bExcludeRawValue = false;
|
||||
// Only retrieve raw (stored) value for simple fields
|
||||
foreach (cmdbAbstractObject::GetAttDefClassesToExcludeFromMarkupMetadataRawValue() as $sAttDefClassToExclude) {
|
||||
foreach (cmdbAbstractObject::GetAttDefClassesToExcludeFromMarkupMetadataRawValue() as $sAttDefClassToExclude)
|
||||
{
|
||||
$oAttDef = MetaModel::GetAttributeDef($sClass, $sAttCode);
|
||||
if (is_a($oAttDef, $sAttDefClassToExclude, true)) {
|
||||
if (is_a($oAttDef, $sAttDefClassToExclude, true))
|
||||
{
|
||||
$bExcludeRawValue = true;
|
||||
break;
|
||||
}
|
||||
@@ -489,9 +490,7 @@ class AjaxRenderController
|
||||
$oSet = new DBObjectSet($oFilter, $aOrderBy, $aQueryParams, null, $iEnd - $iStart, $iStart);
|
||||
$oSet->OptimizeColumnLoad($aColumnsLoad);
|
||||
|
||||
$sLinkToBasket = utils::ReadParam('basket', '', false, 'string');
|
||||
|
||||
return self::GetDataForTable($oSet, $aClassAliases, $aColumnsLoad, $sIdName, $aExtraParams, $iDrawNumber, $sLinkToBasket);
|
||||
return self::GetDataForTable($oSet, $aClassAliases, $aColumnsLoad, $sIdName, $aExtraParams, $iDrawNumber);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -294,21 +294,9 @@ JS;
|
||||
FormHelper::DisableAttributeBlobInputs($sClass, $aFormExtraParams);
|
||||
|
||||
} else {
|
||||
|
||||
//N°1386 - Advanced Search: Navigation in list - Browse this list
|
||||
$sBasketBackUrl = utils::ReadPostedParam('basket_back_url', '', false, 'raw');
|
||||
$sBasketClass = utils::ReadPostedParam('basket_class', null, false, 'raw');
|
||||
$sBasketFilter = utils::ReadPostedParam('basket_filter', null, false, 'raw');
|
||||
$sBasketList = utils::ReadPostedParam('basket_list_navigation', null, false, 'string');
|
||||
$sBasketPostedFieldsForBackUrl = utils::ReadPostedParam('basket_back_posted_fields', "", false, 'raw');
|
||||
$aBasketList = [];
|
||||
if ($sBasketList != null) {
|
||||
$aBasketList = json_decode($sBasketList);
|
||||
}
|
||||
|
||||
$oPage = new iTopWebPage('', $bPrintable);
|
||||
$oPage->DisableBreadCrumb();
|
||||
$oPage->SetContentLayout(PageContentFactory::MakeForObjectDetails($oObj, cmdbAbstractObject::ENUM_DISPLAY_MODE_EDIT, $sBasketFilter, $sBasketClass, $aBasketList, $sBasketBackUrl, $sBasketPostedFieldsForBackUrl));
|
||||
$oPage->SetContentLayout(PageContentFactory::MakeForObjectDetails($oObj, cmdbAbstractObject::ENUM_DISPLAY_MODE_EDIT));
|
||||
}
|
||||
// - JS files
|
||||
foreach (static::EnumRequiredForModificationJsFilesRelPaths() as $sJsFileRelPath) {
|
||||
|
||||
@@ -208,10 +208,10 @@ JS;
|
||||
$oLinksetDef = MetaModel::GetAttributeDef($sClass, $sAttCode);
|
||||
$oHostObj = MetaModel::GetObject($sClass, $sId);
|
||||
$sFormTitle = $oLinksetDef->SearchSpecificLabel('UI:Links:Add:Modal:Title', '', true,
|
||||
Dict::S("Class:{$sClass}"),
|
||||
MetaModel::GetName($sClass),
|
||||
$oHostObj->Get('friendlyname'),
|
||||
$oLinksetDef->GetLabel(),
|
||||
LinkSetModel::GetTargetClass($oLinksetDef));
|
||||
MetaModel::GetName(LinkSetModel::GetTargetClass($oLinksetDef)));
|
||||
|
||||
$aExtraParams = [
|
||||
'noRelations' => true,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
namespace Combodo\iTop\Form\Field;
|
||||
|
||||
use Closure;
|
||||
use utils;
|
||||
|
||||
/**
|
||||
* Description of MultipleChoicesField
|
||||
@@ -213,17 +214,27 @@ abstract class MultipleChoicesField extends Field
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function Validate()
|
||||
{
|
||||
public function Validate() {
|
||||
$this->SetValid(true);
|
||||
$this->EmptyErrorMessages();
|
||||
|
||||
foreach ($this->GetValidators() as $oValidator)
|
||||
{
|
||||
foreach ($this->currentValue as $value)
|
||||
{
|
||||
if (!preg_match($oValidator->GetRegExp(true), $value))
|
||||
{
|
||||
if ($this->GetReadOnly() === false) {
|
||||
if (count($this->currentValue) > 0) {
|
||||
foreach ($this->currentValue as $sCode => $value) {
|
||||
if (utils::IsNullOrEmptyString($value)) {
|
||||
continue;
|
||||
}
|
||||
if (false === array_key_exists($value, $this->aChoices)) {
|
||||
$this->SetValid(false);
|
||||
$this->AddErrorMessage("Value ({$value}) is not part of the field possible values list");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($this->GetValidators() as $oValidator) {
|
||||
foreach ($this->currentValue as $value) {
|
||||
if (!preg_match($oValidator->GetRegExp(true), $value)) {
|
||||
$this->SetValid(false);
|
||||
$this->AddErrorMessage($oValidator->GetErrorMessage());
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ use DBSearch;
|
||||
use FieldExpression;
|
||||
use MetaModel;
|
||||
use ScalarExpression;
|
||||
use utils;
|
||||
|
||||
/**
|
||||
* Description of SelectObjectField
|
||||
@@ -237,19 +238,42 @@ class SelectObjectField extends Field
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function GetControlType()
|
||||
{
|
||||
public function GetControlType() {
|
||||
return $this->iControlType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string|null
|
||||
*/
|
||||
public function GetSearchEndpoint()
|
||||
{
|
||||
public function GetSearchEndpoint() {
|
||||
return $this->sSearchEndpoint;
|
||||
}
|
||||
|
||||
public function Validate() {
|
||||
if ($this->GetReadOnly() === false) {
|
||||
$sCurrentValueForExtKey = $this->currentValue;
|
||||
if (utils::IsNotNullOrEmptyString($sCurrentValueForExtKey) && ($sCurrentValueForExtKey !== 0)) {
|
||||
$oSearchForExistingCurrentValue = $this->oSearch->DeepClone();
|
||||
$oSearchForExistingCurrentValue->AddCondition('id', $sCurrentValueForExtKey, '=');
|
||||
$oCheckIdAgainstCurrentValueExpression = new BinaryExpression(
|
||||
new FieldExpression('id', $oSearchForExistingCurrentValue->GetClassAlias()), '=', new ScalarExpression($sCurrentValueForExtKey)
|
||||
);
|
||||
$oSearchForExistingCurrentValue->AddConditionExpression($oCheckIdAgainstCurrentValueExpression);
|
||||
$oSetForExistingCurrentValue = new DBObjectSet($oSearchForExistingCurrentValue);
|
||||
$iObjectsCount = $oSetForExistingCurrentValue->CountWithLimit(1);
|
||||
|
||||
if ($iObjectsCount === 0) {
|
||||
$this->SetValid(false);
|
||||
$this->AddErrorMessage("Value $sCurrentValueForExtKey does not match the corresponding filter set");
|
||||
|
||||
return $this->GetValid();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return parent::Validate();
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets current value if not among allowed ones.
|
||||
* By default, reset is done ONLY when the field is not read-only.
|
||||
|
||||
@@ -340,7 +340,7 @@ final class EventService
|
||||
foreach (self::$aEventDescriptions as $sEvent => $aEventInfo) {
|
||||
if (is_array($aEventInfo['description']->GetEventSources())) {
|
||||
foreach ($aEventInfo['description']->GetEventSources() as $sSource) {
|
||||
if ($sClass == $sSource || $oClass->isSubclassOf($sSource)) {
|
||||
if (class_exists($sSource) && ($sClass == $sSource || $oClass->isSubclassOf($sSource))) {
|
||||
$aRes[$sEvent] = $aEventInfo;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
{# @copyright Copyright (C) 2010-2021 Combodo SARL #}
|
||||
{# @license http://opensource.org/licenses/AGPL-3.0 #}
|
||||
<div id='{{ oUIBlock.GetId() }}'
|
||||
class='{{ oUIBlock.GetBlocksInheritanceCSSClassesAsString() }} {{ oUIBlock.GetAdditionalCSSClassesAsString() }} {{ oUIBlock.GetCSSColorClass() }} {% if oUIBlock.IsHidden() %}ibo-is-hidden{% endif %} ibo-is-opened' data-role='ibo-basket'>
|
||||
{% block ibobasket %}
|
||||
<form id='ibo-form-basket' class='ibo-basket-form' method='post'>
|
||||
<input type='hidden' name='basket_list_basket' value='{{ oUIBlock.GetList() }}'/>
|
||||
<input type='hidden' name='basket_class' value='{{ oUIBlock.GetClass() }}'/>
|
||||
<input type='hidden' name='basket_filter' value='{{ oUIBlock.GetFilter() }}'/>
|
||||
<input type='hidden' name='basket_back_posted_fields' value='{{ oUIBlock.GetPostedFields()|raw }}'/>
|
||||
<input type='hidden' name='basket_back_url' value='{{ oUIBlock.GetBackUrl()|raw }}'/>
|
||||
<div class='ibo-form-basket--nav fas fa-angle-up' id='{{ oUIBlock.GetId() }}-back' data-tooltip-content='{{ 'UI:Basket:Back'|dict_s }}'></div>
|
||||
{% if oUIBlock.HasPrec() %}
|
||||
<div class='ibo-form-basket--nav fas fa-angle-double-left' id='{{ oUIBlock.GetId() }}-first' data-tooltip-content='{{ 'UI:Basket:First'|dict_s }}'></div>
|
||||
<div class='ibo-form-basket--nav fas fa-angle-left' id='{{ oUIBlock.GetId() }}-prev' data-tooltip-content='{{ 'UI:Basket:Previous'|dict_s }}'></div>
|
||||
{% else %}
|
||||
   
|
||||
{% endif %}
|
||||
<div class='ibo-form-basket--total'>{{ oUIBlock.GetIdx() }} /
|
||||
<span id='{{ oUIBlock.GetId() }}-total' class='ibo-form-basket--total--link' data-tooltip-content='{{ 'UI:Basket:Back'|dict_s }}'>{{ oUIBlock.GetCount() }}</span>
|
||||
</div>
|
||||
{% if oUIBlock.HasNext() %}
|
||||
<div class='ibo-form-basket--nav fas fa-angle-right' id='{{ oUIBlock.GetId() }}-next' data-tooltip-content='{{ 'UI:Basket:Next'|dict_s }}'></div>
|
||||
<div class='ibo-form-basket--nav fas fa-angle-double-right' id='{{ oUIBlock.GetId() }}-last' data-tooltip-content='{{ 'UI:Basket:Last'|dict_s }}'></div>
|
||||
{% else %}
|
||||
   
|
||||
{% endif %}
|
||||
</form>
|
||||
{% endblock %}
|
||||
</div>
|
||||
@@ -1,55 +0,0 @@
|
||||
{# @copyright Copyright (C) 2010-2021 Combodo SARL #}
|
||||
{# @license http://opensource.org/licenses/AGPL-3.0 #}
|
||||
function backToBasket() {
|
||||
$('#ibo-form-basket').attr('action', '{{ oUIBlock.GetBackUrl() | raw }}');
|
||||
$('#ibo-form-basket').attr('method', 'post');
|
||||
$('#ibo-form-basket').find('[name=basket_filter]').val('');
|
||||
|
||||
if ('{{ oUIBlock.GetPostedFields() | raw }}' != '')
|
||||
{
|
||||
JSON.parse('{{ oUIBlock.GetPostedFields() | raw }}', (key, value) => {
|
||||
$('#ibo-form-basket').append($('<input/>').attr({'type': 'hidden', 'name': key, 'value': value}));
|
||||
});
|
||||
}
|
||||
|
||||
$('#ibo-form-basket').submit();
|
||||
|
||||
}
|
||||
$('#{{ oUIBlock.GetId() }}-back').on('click', function () {
|
||||
backToBasket();
|
||||
});
|
||||
$('#{{ oUIBlock.GetId() }}-total').on('click', function () {
|
||||
backToBasket();
|
||||
});
|
||||
|
||||
$('#{{ oUIBlock.GetId() }}-first').on('click', function () {
|
||||
$('#ibo-form-basket').attr('action', ' {{ oUIBlock.GetUrlFirst() | raw }} ');
|
||||
$('#ibo-form-basket').submit();
|
||||
});
|
||||
|
||||
$('#{{ oUIBlock.GetId() }}-prev').on('click', function () {
|
||||
$('#ibo-form-basket').attr('action', ' {{ oUIBlock.GetUrlPrev()| raw }} ');
|
||||
$('#ibo-form-basket').submit();
|
||||
});
|
||||
|
||||
$('#{{ oUIBlock.GetId() }}-next').on('click', function () {
|
||||
$('#ibo-form-basket').attr('action', ' {{ oUIBlock.GetUrlNext() | raw }} ');
|
||||
$('#ibo-form-basket').submit();
|
||||
});
|
||||
|
||||
$('#{{ oUIBlock.GetId() }}-last').on('click', function () {
|
||||
$('#ibo-form-basket').attr('action', ' {{ oUIBlock.GetUrlLast() | raw }} ');
|
||||
$('#ibo-form-basket').submit()
|
||||
});
|
||||
|
||||
/*a first try but not the good solution to keep basket in edit mode */
|
||||
$('.ibo-panel--toolbar a').each(function (idx, elt) {
|
||||
var onclick = $(this).attr("onClick");
|
||||
if (typeof onclick == 'undefined' && onclick == false)
|
||||
{
|
||||
$(this).on('click', function () {
|
||||
$('#ibo-form-basket').attr('action', $this.attr('href'));
|
||||
$('#ibo-form-basket').submit();
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -1,7 +0,0 @@
|
||||
{# @copyright Copyright (C) 2010-2023 Combodo SARL #}
|
||||
{# @license http://opensource.org/licenses/AGPL-3.0 #}
|
||||
$("form[id^='basket']").each(function () {
|
||||
$(this).append($('<input/>')
|
||||
.attr({'type': 'hidden', 'name': 'basket_back_posted_fields', 'value': '{{ oUIBlock.GetBasketPostedFieldsForBackUrl()|raw }}'})
|
||||
);
|
||||
});
|
||||
@@ -1,8 +1,8 @@
|
||||
{% if oUIBlock.GetOption("select_mode") is not empty %}
|
||||
var oSelectedItems{{ oUIBlock.GetOption('sListId')|sanitize(constant('utils::ENUM_SANITIZATION_FILTER_VARIABLE_NAME')) }} = [];
|
||||
{% if oUIBlock.GetOption("sSelectedRows") is not empty %}
|
||||
oSelectedItems{{ oUIBlock.GetOption('sListId')|sanitize(constant('utils::ENUM_SANITIZATION_FILTER_VARIABLE_NAME')) }} = {{ oUIBlock.GetOption('sSelectedRows')|raw }};
|
||||
{% endif %}
|
||||
var oSelectedItems{{ oUIBlock.GetOption('sListId')|sanitize(constant('utils::ENUM_SANITIZATION_FILTER_VARIABLE_NAME')) }} = [];
|
||||
{% if oUIBlock.GetOption("sSelectedRows") is not empty %}
|
||||
oSelectedItems{{ oUIBlock.GetOption('sListId')|sanitize(constant('utils::ENUM_SANITIZATION_FILTER_VARIABLE_NAME')) }} = {{ oUIBlock.GetOption('sSelectedRows')|raw }};
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
var bSelectAllowed{{ oUIBlock.GetId()|sanitize(constant('utils::ENUM_SANITIZATION_FILTER_VARIABLE_NAME')) }} = false;
|
||||
|
||||
@@ -108,27 +108,14 @@ var oTable{{ sListIDForVarSuffix }} = $('#{{ oUIBlock.GetId() }}').DataTable({
|
||||
// Disable hyperlinks if necessary
|
||||
{% if oUIBlock.GetOption("disable_hyperlinks") is not same as false %}
|
||||
$("#{{ oUIBlock.GetId() }} a").on('click', function (e) {
|
||||
e.preventDefault();
|
||||
});
|
||||
{% else %}
|
||||
$('#{{ oUIBlock.GetId() }}_wrapper').find('.object-in-basket').on('click',
|
||||
function (event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
sUrl = $(this).attr('href');
|
||||
$('#basket{{ oUIBlock.GetId() }}').attr('action', sUrl);
|
||||
if (event.ctrlKey)
|
||||
{
|
||||
$('#basket{{ oUIBlock.GetId() }}').attr('target', "_blank");
|
||||
}
|
||||
$('#basket{{ oUIBlock.GetId() }}').submit();
|
||||
}
|
||||
);
|
||||
e.preventDefault();
|
||||
});
|
||||
{% endif %}
|
||||
|
||||
},
|
||||
{% else %}
|
||||
drawCallback: function (settings) {
|
||||
if (settings.json)
|
||||
if(settings.json)
|
||||
{
|
||||
$(this).closest('.ibo-panel').find('.ibo-datatable--result-count').html(settings.json.recordsTotal);
|
||||
}
|
||||
@@ -142,26 +129,12 @@ var oTable{{ sListIDForVarSuffix }} = $('#{{ oUIBlock.GetId() }}').DataTable({
|
||||
{
|
||||
$(this).closest('.dataTables_wrapper').find('.dataTables_paginate, .dataTables_info').show();
|
||||
}
|
||||
|
||||
|
||||
// Disable hyperlinks if necessary
|
||||
{% if oUIBlock.GetOption("disable_hyperlinks") is same as true %}
|
||||
$("#{{ oUIBlock.GetId() }} a").on('click', function (e) {
|
||||
e.preventDefault();
|
||||
});
|
||||
{% else %}
|
||||
$('#{{ oUIBlock.GetId() }}_wrapper').find('.object-in-basket').on('click',
|
||||
function (event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
sUrl = $(this).attr('href');
|
||||
$('#basket{{ oUIBlock.GetId() }}').attr('action', sUrl);
|
||||
if (event.ctrlKey)
|
||||
{
|
||||
$('#basket{{ oUIBlock.GetId() }}').attr('target', "_blank");
|
||||
}
|
||||
$('#basket{{ oUIBlock.GetId() }}').submit();
|
||||
}
|
||||
);
|
||||
{% endif %}
|
||||
},
|
||||
{% endif %}
|
||||
@@ -462,31 +435,17 @@ if ($('#datatable_dlg_{{ oUIBlock.GetId() }}').hasClass('itop-datatable'))
|
||||
}
|
||||
$('#datatable_dlg_{{ oUIBlock.GetId() }}').DataTableSettings(aOptions{{ sListIDForVarSuffix }});
|
||||
|
||||
$('body').append($('<form/>')
|
||||
.attr({'method': 'post', 'id': 'basket{{ oUIBlock.GetId() }}'})
|
||||
.append($('<input/>')
|
||||
.attr({'type': 'hidden', 'name': 'basket_filter', 'value': "{{ oUIBlock.GetBasketFilter()|raw }}"})
|
||||
)
|
||||
.append($('<input/>')
|
||||
.attr({'type': 'hidden', 'name': 'basket_class', 'value': "{{ oUIBlock.GetBasketClass()|raw }}"})
|
||||
)
|
||||
.append($('<input/>')
|
||||
.attr({'type': 'hidden', 'name': 'basket_back_url', 'value': window.location.href})
|
||||
)
|
||||
);
|
||||
|
||||
if (window.ResizeObserver)
|
||||
{
|
||||
let oTable{{ sListIDForVarSuffix }}ResizeTimeout = null;
|
||||
const oTable{{ sListIDForVarSuffix }}Resize = new ResizeObserver(function () {
|
||||
clearTimeout(oTable{{ sListIDForVarSuffix }}ResizeTimeout);
|
||||
oTable{{ sListIDForVarSuffix }}ResizeTimeout = setTimeout(function () {
|
||||
$('#{{ oUIBlock.GetId() }}').DataTable().columns.adjust();
|
||||
}, 120);
|
||||
});
|
||||
oTable{{ sListIDForVarSuffix }}Resize.observe($('#{{ oUIBlock.GetId() }}')[0]);
|
||||
if(window.ResizeObserver){
|
||||
let oTable{{ sListIDForVarSuffix }}ResizeTimeout = null;
|
||||
const oTable{{ sListIDForVarSuffix }}Resize = new ResizeObserver(function(){
|
||||
clearTimeout(oTable{{ sListIDForVarSuffix }}ResizeTimeout);
|
||||
oTable{{ sListIDForVarSuffix }}ResizeTimeout = setTimeout(function(){
|
||||
$('#{{ oUIBlock.GetId() }}').DataTable().columns.adjust();
|
||||
}, 120);
|
||||
});
|
||||
oTable{{ sListIDForVarSuffix }}Resize.observe($('#{{ oUIBlock.GetId() }}')[0]);
|
||||
}
|
||||
|
||||
{% if oUIBlock.HasRowActions() %}
|
||||
{% include 'base/components/datatable/row-actions/handler.js.twig' %}
|
||||
{% endif %}
|
||||
{% include 'base/components/datatable/row-actions/handler.js.twig' %}
|
||||
{% endif %}
|
||||
@@ -48,6 +48,7 @@ use Server;
|
||||
use TagSetFieldData;
|
||||
use Ticket;
|
||||
use URP_UserProfile;
|
||||
use UserRequest;
|
||||
use VirtualHost;
|
||||
use VirtualMachine;
|
||||
use XMLDataLoader;
|
||||
@@ -286,18 +287,26 @@ class ItopDataTestCase extends ItopTestCase
|
||||
{
|
||||
$oFilter = DBSearch::FromOQL($sOQL);
|
||||
$aRes = $oFilter->ToDataArray(array('id'));
|
||||
foreach ($aRes as $aRow)
|
||||
{
|
||||
foreach ($aRes as $aRow) {
|
||||
$this->debug($aRow);
|
||||
$iKey = $aRow['id'];
|
||||
if (!empty($iKey))
|
||||
{
|
||||
if (!empty($iKey)) {
|
||||
$oObject = MetaModel::GetObject($sClass, $iKey);
|
||||
$oObject->DBDelete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected function GetUserRequestParams($iNum) {
|
||||
return [
|
||||
'ref' => 'Ticket_'.$iNum,
|
||||
'title' => 'BUG 1161_'.$iNum,
|
||||
//'request_type' => 'incident',
|
||||
'description' => 'Add aggregate functions',
|
||||
'org_id' => $this->getTestOrgId(),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a UserRequest in database
|
||||
*
|
||||
@@ -315,18 +324,12 @@ class ItopDataTestCase extends ItopTestCase
|
||||
* @uses createObject
|
||||
*/
|
||||
protected function CreateUserRequest($iNum, $aUserRequestCustomParams = []) {
|
||||
$aUserRequestDefaultParams = [
|
||||
'ref' => 'Ticket_'.$iNum,
|
||||
'title' => 'BUG 1161_'.$iNum,
|
||||
//'request_type' => 'incident',
|
||||
'description' => 'Add aggregate functions',
|
||||
'org_id' => $this->getTestOrgId(),
|
||||
];
|
||||
$aUserRequestDefaultParams = $this->GetUserRequestParams($iNum);
|
||||
|
||||
$aUserRequestParams = array_merge($aUserRequestDefaultParams, $aUserRequestCustomParams);
|
||||
|
||||
/** @var \UserRequest $oTicket */
|
||||
$oTicket = $this->createObject('UserRequest', $aUserRequestParams);
|
||||
$oTicket = $this->createObject(UserRequest::class, $aUserRequestParams);
|
||||
$this->debug("Created {$oTicket->Get('title')} ({$oTicket->Get('ref')})");
|
||||
|
||||
return $oTicket;
|
||||
|
||||
@@ -104,8 +104,7 @@ class CRUDEventTest extends ItopDataTestCase
|
||||
|
||||
$oOrg->DBUpdate();
|
||||
|
||||
$this->assertEquals(1, self::$aEventCalls[EVENT_DB_COMPUTE_VALUES]);
|
||||
$this->assertEquals(1, self::$iEventCalls);
|
||||
$this->assertEquals(0, self::$iEventCalls);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -118,6 +118,12 @@ class DBObjectTest extends ItopDataTestCase
|
||||
$this->assertCount(0, $oOrg->ListChanges());
|
||||
$this->assertCount(0, $oOrg->ListPreviousValuesForUpdatedAttributes());
|
||||
|
||||
$oOrg->Set('name', $oOrg->Get('name'));
|
||||
$this->assertCount(0, $oOrg->ListChanges());
|
||||
$oOrg->DBUpdate();
|
||||
$this->assertCount(0, $oOrg->ListChanges());
|
||||
$this->assertCount(0, $oOrg->ListPreviousValuesForUpdatedAttributes());
|
||||
|
||||
$oOrg->DBDelete();
|
||||
|
||||
$oOrg = MetaModel::NewObject('Organization');
|
||||
@@ -236,11 +242,15 @@ class DBObjectTest extends ItopDataTestCase
|
||||
});
|
||||
|
||||
$this->assertDBQueryCount(0, function() use (&$oBordeaux, &$oObject){
|
||||
/** @var DBObject $oObject */
|
||||
$oObject->Set('location_id', $oBordeaux);
|
||||
static::assertEquals('IT Department', $oObject->Get('org_id_friendlyname'));
|
||||
static::assertEquals('IT Department', $oObject->Get('org_name'));
|
||||
static::assertEquals('Bordeaux', $oObject->Get('location_id_friendlyname'));
|
||||
});
|
||||
|
||||
static::assertEquals('Bordeaux', $oObject->Get('location_id_friendlyname'));
|
||||
// static::assertEquals('toto', $oObject->EvaluateExpression(\Expression::FromOQL("CONCAT(org_name, '-', location_id_friendlyname)")));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -365,11 +365,11 @@ class UserLocalTest extends ItopDataTestCase
|
||||
'oExpectedBefore' => null,
|
||||
'bRenewedDateTouched' => true,
|
||||
),
|
||||
/*'EXPIRE_NEVER (default mode): nothing changed on UserLocal' => array(
|
||||
'EXPIRE_NEVER (default mode): nothing changed on UserLocal' => array(
|
||||
'sExpirationMode' => 'never_expire',
|
||||
'oExpectedBefore' => null,
|
||||
'bRenewedDateTouched' => false,
|
||||
),*/
|
||||
),
|
||||
'EXPIRE_FORCE: nominal case' => array(
|
||||
'sExpirationMode' => 'force_expire',
|
||||
'oExpectedBefore' => null,
|
||||
|
||||
119
tests/php-unit-tests/unitary-tests/setup/DBBackupDataTest.php
Normal file
119
tests/php-unit-tests/unitary-tests/setup/DBBackupDataTest.php
Normal file
@@ -0,0 +1,119 @@
|
||||
<?php
|
||||
|
||||
namespace Combodo\iTop\Test\UnitTest\Core;
|
||||
|
||||
use Combodo\iTop\Test\UnitTest\ItopDataTestCase;
|
||||
use DBBackup;
|
||||
use DBRestore;
|
||||
use MetaModel;
|
||||
use SetupUtils;
|
||||
|
||||
/**
|
||||
* @runTestsInSeparateProcesses
|
||||
* @preserveGlobalState disabled
|
||||
* @backupGlobals disabled
|
||||
*/
|
||||
class DBBackupDataTest extends ItopDataTestCase
|
||||
{
|
||||
/**
|
||||
* @dataProvider prepareFilesToBackupProvider
|
||||
*/
|
||||
public function testPrepareFilesToBackup(array $aExtraFiles, bool $bUnsafeFileException)
|
||||
{
|
||||
$sTmpDir = sys_get_temp_dir().'/testPrepareFilesToBackup-'.time();
|
||||
$oBackup = new DBBackup(MetaModel::GetConfig());
|
||||
MetaModel::GetConfig()->SetModuleSetting('itop-backup', 'extra_files', array_keys($aExtraFiles));
|
||||
|
||||
foreach($aExtraFiles as $sExtraFile => $bExists)
|
||||
{
|
||||
if ($bExists)
|
||||
{
|
||||
@mkdir(dirname(APPROOT.'/'.$sExtraFile), 0755, true);
|
||||
file_put_contents(APPROOT.'/'.$sExtraFile, 'Hello World!');
|
||||
}
|
||||
}
|
||||
|
||||
if ($bUnsafeFileException)
|
||||
{
|
||||
$this->expectExceptionMessage("Backup: Aborting, resource '$sExtraFile'. Considered as UNSAFE because not inside the iTop directory.");
|
||||
}
|
||||
$aFiles = $this->InvokeNonPublicMethod('DBBackup', 'PrepareFilesToBackup', $oBackup, [APPROOT.'/conf/production/config-itop.php', $sTmpDir, true]);
|
||||
SetupUtils::rrmdir($sTmpDir);
|
||||
$aExpectedFiles = [
|
||||
$sTmpDir.'/config-itop.php',
|
||||
];
|
||||
foreach($aExtraFiles as $sRelFile => $bExists)
|
||||
{
|
||||
if ($bExists)
|
||||
{
|
||||
$aExpectedFiles[] = $sTmpDir.'/'.$sRelFile;
|
||||
}
|
||||
}
|
||||
sort($aFiles);
|
||||
sort($aExpectedFiles);
|
||||
$this->assertEquals($aFiles, $aExpectedFiles);
|
||||
|
||||
// Cleanup
|
||||
foreach($aExtraFiles as $sExtraFile => $bExists)
|
||||
{
|
||||
if ($bExists)
|
||||
{
|
||||
unlink(APPROOT.'/'.$sExtraFile);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function prepareFilesToBackupProvider()
|
||||
{
|
||||
return [
|
||||
'no_extra_file' => ['aExtraFiles' => [], false],
|
||||
'one_extra_file' => ['aExtraFiles' => ['foo.txt' => true], false],
|
||||
'three_extra_file_and_dir' => ['aExtraFiles' => ['foo.txt' => true, 'gabu/zomeu.xml' => true, 'meuh.html' => true], false],
|
||||
'two_extra_file_but_only_one_exists' => ['aExtraFiles' => ['foo.txt' => true, 'meuh.html' => false], false],
|
||||
'one_unsafe_file' => ['aExtraFiles' => ['../foo.txt' => true], true],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider restoreListExtraFilesProvider
|
||||
*/
|
||||
function testRestoreListExtraFiles($aFilesToCreate, $aExpectedRelativeExtraFiles)
|
||||
{
|
||||
require_once(APPROOT.'/env-production/itop-backup/dbrestore.class.inc.php');
|
||||
|
||||
$sTmpDir = sys_get_temp_dir().'/testRestoreListExtraFiles-'.time();
|
||||
|
||||
foreach($aFilesToCreate as $sRelativeName)
|
||||
{
|
||||
$sDir = $sTmpDir.'/'.dirname($sRelativeName);
|
||||
if(!is_dir($sDir))
|
||||
{
|
||||
mkdir($sDir, 0755, true);
|
||||
}
|
||||
file_put_contents($sTmpDir.'/'.$sRelativeName, 'Hello world.');
|
||||
}
|
||||
$aExpectedExtraFiles = [];
|
||||
foreach($aExpectedRelativeExtraFiles as $sRelativeName)
|
||||
{
|
||||
$aExpectedExtraFiles[$sTmpDir.'/'.$sRelativeName] = APPROOT.'/'.$sRelativeName;
|
||||
}
|
||||
|
||||
$oRestore = new DBRestore(MetaModel::GetConfig());
|
||||
$aExtraFiles = $this->InvokeNonPublicMethod('DBRestore', 'ListExtraFiles', $oRestore, [$sTmpDir]);
|
||||
|
||||
asort($aExtraFiles);
|
||||
asort($aExpectedExtraFiles);
|
||||
$this->assertEquals($aExpectedExtraFiles, $aExtraFiles);
|
||||
SetupUtils::rrmdir($sTmpDir);
|
||||
}
|
||||
|
||||
function restoreListExtraFilesProvider()
|
||||
{
|
||||
return [
|
||||
'no extra file' => ['aFilesToCreate' => ['config-itop.php', 'itop-dump.sql', 'delta.xml'], 'aExpectedExtraFiles' => []],
|
||||
'no extra file (2)' => ['aFilesToCreate' => ['config-itop.php', 'itop-dump.sql', 'delta.xml', 'production-modules/test/module.test.php'], 'aExpectedExtraFiles' => []],
|
||||
'one extra file' => ['aFilesToCreate' => ['config-itop.php', 'itop-dump.sql', 'delta.xml', 'production-modules/test/module.test.php', 'collectors/ldap/conf/params.local.xml'], 'aExpectedExtraFiles' => ['collectors/ldap/conf/params.local.xml']],
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user