Merge branch 'develop' into feature/faf_event_service

# Conflicts:
#	core/dbobject.class.php
#	datamodels/2.x/itop-config/config.php
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_static.php
#	lib/composer/installed.php
This commit is contained in:
Eric Espie
2022-06-08 16:51:44 +02:00
354 changed files with 53044 additions and 2685 deletions

View File

@@ -0,0 +1,25 @@
<?php
/**
* Localized data
*
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/
Dict::Add('PL PL', 'Polish', 'Polski', array(
'theme:darkmoon' => 'Dark moon~~',
));

View File

@@ -36,6 +36,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'bkp-status-backups-manual' => 'Manuální zálohy',
'bkp-status-backups-none' => 'Žádné zálohy',
'bkp-next-backup' => 'Další záloha bude provedena dne <b>%1$s</b> (%2$s) v %3$s',
'bkp-next-backup-unknown' => 'The next backup is <b>not scheduled</b> yet.~~',
'bkp-button-backup-now' => 'Zálohovat nyní!',
'bkp-button-restore-now' => 'Obnovit ze zálohy!',
'bkp-confirm-backup' => 'Potvrďte prosím, že chcete provést zálohu nyní.',

View File

@@ -34,7 +34,6 @@ if (!defined('APPROOT')) {
require_once(__DIR__.'/../../approot.inc.php');
}
require_once(APPROOT.'application/application.inc.php');
require_once(APPROOT.'application/itopwebpage.class.inc.php');
require_once(APPROOT.'application/startup.inc.php');

View File

@@ -0,0 +1,99 @@
<?php
// Copyright (C) 2010-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
// along with iTop. If not, see <http://www.gnu.org/licenses/>
/**
* @author Benjamin Planque <benjamin.planque@combodo.com>
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
//////////////////////////////////////////////////////////////////////
// Note: The classes have been grouped by categories: bizmodel
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
// Classes in 'bizmodel'
//////////////////////////////////////////////////////////////////////
//
//
// Class: lnkFunctionalCIToTicket
//
Dict::Add('PL PL', 'Polish', 'Polski', array(
'Class:lnkFunctionalCIToTicket' => 'Link FunctionalCI / Ticket~~',
'Class:lnkFunctionalCIToTicket+' => '~~',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_id' => 'Ticket~~',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_id+' => '~~',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_ref' => 'Ref~~',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_ref+' => '~~',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_title' => 'Ticket title~~',
'Class:lnkFunctionalCIToTicket/Attribute:ticket_title+' => '~~',
'Class:lnkFunctionalCIToTicket/Attribute:functionalci_id' => 'CI~~',
'Class:lnkFunctionalCIToTicket/Attribute:functionalci_id+' => '~~',
'Class:lnkFunctionalCIToTicket/Attribute:functionalci_name' => 'CI Name~~',
'Class:lnkFunctionalCIToTicket/Attribute:functionalci_name+' => '~~',
'Class:lnkFunctionalCIToTicket/Attribute:impact' => 'Impact (text)~~',
'Class:lnkFunctionalCIToTicket/Attribute:impact+' => '~~',
'Class:lnkFunctionalCIToTicket/Attribute:impact_code' => 'Impact~~',
'Class:lnkFunctionalCIToTicket/Attribute:impact_code/Value:manual' => 'Added manually~~',
'Class:lnkFunctionalCIToTicket/Attribute:impact_code/Value:computed' => 'Computed~~',
'Class:lnkFunctionalCIToTicket/Attribute:impact_code/Value:not_impacted' => 'Not impacted~~',
));
//
// Class: lnkFunctionalCIToProviderContract
//
Dict::Add('PL PL', 'Polish', 'Polski', array(
'Class:lnkFunctionalCIToProviderContract' => 'Połączenie Konfiguracja / Umowa z dostawcą',
'Class:lnkFunctionalCIToProviderContract+' => '',
'Class:lnkFunctionalCIToProviderContract/Attribute:providercontract_id' => 'Umowa z dostawcą',
'Class:lnkFunctionalCIToProviderContract/Attribute:providercontract_id+' => '',
'Class:lnkFunctionalCIToProviderContract/Attribute:providercontract_name' => 'Nazwa umowy z dostawcą',
'Class:lnkFunctionalCIToProviderContract/Attribute:providercontract_name+' => '',
'Class:lnkFunctionalCIToProviderContract/Attribute:functionalci_id' => 'Konfiguracja',
'Class:lnkFunctionalCIToProviderContract/Attribute:functionalci_id+' => '',
'Class:lnkFunctionalCIToProviderContract/Attribute:functionalci_name' => 'Nazwa konfiguracji',
'Class:lnkFunctionalCIToProviderContract/Attribute:functionalci_name+' => '',
));
//
// Class: lnkFunctionalCIToService
//
Dict::Add('PL PL', 'Polish', 'Polski', array(
'Class:lnkFunctionalCIToService' => 'Link FunctionalCI / Service~~',
'Class:lnkFunctionalCIToService+' => '~~',
'Class:lnkFunctionalCIToService/Attribute:service_id' => 'Service~~',
'Class:lnkFunctionalCIToService/Attribute:service_id+' => '~~',
'Class:lnkFunctionalCIToService/Attribute:service_name' => 'Service Name~~',
'Class:lnkFunctionalCIToService/Attribute:service_name+' => '~~',
'Class:lnkFunctionalCIToService/Attribute:functionalci_id' => 'CI~~',
'Class:lnkFunctionalCIToService/Attribute:functionalci_id+' => '~~',
'Class:lnkFunctionalCIToService/Attribute:functionalci_name' => 'CI Name~~',
'Class:lnkFunctionalCIToService/Attribute:functionalci_name+' => '~~',
));
//
// Class: FunctionalCI
//
Dict::Add('PL PL', 'Polish', 'Polski', array(
'Class:FunctionalCI/Attribute:providercontracts_list' => 'Provider contracts~~',
'Class:FunctionalCI/Attribute:providercontracts_list+' => 'All the provider contracts for this configuration item~~',
'Class:FunctionalCI/Attribute:services_list' => 'Services~~',
'Class:FunctionalCI/Attribute:services_list+' => 'All the services impacted by this configuration item~~',
'Class:FunctionalCI/Attribute:tickets_list' => 'Tickets~~',
'Class:FunctionalCI/Attribute:tickets_list+' => 'All the tickets for this configuration item~~',
));

View File

@@ -37,6 +37,8 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'Relation:depends on/Description' => 'Prvky ovlivňující objekt',
'Relation:depends on/DownStream' => 'Závislost na',
'Relation:depends on/UpStream' => 'Dopad na',
'Relation:impacts/LoadData' => 'Load data~~',
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
));

View File

@@ -30,6 +30,8 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'Relation:depends on/Description' => 'Elementer, som afhænger af dette element',
'Relation:depends on/DownStream' => 'Afhænger af ...',
'Relation:depends on/UpStream' => 'Påvirker ...',
'Relation:impacts/LoadData' => 'Load data~~',
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
));

View File

@@ -15,7 +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/>
/**
/**
* Spanish Localized data
*
* @copyright Copyright (C) 2010-2021 Combodo SARL

View File

@@ -1581,3 +1581,4 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'Menu:Software' => 'Yazılım Kataloğu',
'Menu:Software+' => 'Yazılım Kataloğu',
));
?>

View File

@@ -76,7 +76,6 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~',
// Setup Messages

View File

@@ -76,7 +76,6 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~',
// Setup Messages

View File

@@ -76,7 +76,6 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'iTopUpdate:UI:CanCoreUpdate:No' => 'Anwendungsupgrade nicht möglich: %1$s',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Vorsicht: App-Upgrade kann fehlschlagen: %1$s',
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Einige angepasste Dateien wurden erkannt</b>, eine Teil-Update kann nicht ausgeführt werden.<br/>Befolgen Sie das <a target="_blank" href="%2$s">Verfahren</a>, um Ihr iTop manuell zu aktualisieren. Sie müssen das <a href="%1$s">Setup</a> benutzen, um Ihre Applikation zu aktualisieren.<br />',
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Einige neue Module wurden erkannt</b>, eine Teil-Update kann nicht ausgeführt werden.<br/>Befolgen Sie das <a target="_blank" href="%2$s">Verfahren</a>, um Ihr iTop manuell zu aktualisieren. Sie müssen das <a href="%1$s">Setup</a> benutzen, um Ihre Applikation zu aktualisieren.<br />',
'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~',
// Setup Messages

View File

@@ -77,7 +77,6 @@ Dict::Add('EN US', 'English', 'English', array(
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s',
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.',
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.',
'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check',

View File

@@ -77,7 +77,6 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', array(
'iTopUpdate:UI:CanCoreUpdate:No' => 'La aplicación no puede ser actualizada: %1$s',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Advertencia: la actualización de la aplicación puede fallar: %1$s',
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~',
// Setup Messages

View File

@@ -76,7 +76,6 @@ Dict::Add('FR FR', 'French', 'Français', array(
'iTopUpdate:UI:CanCoreUpdate:No' => 'L\'application ne peut pas être mise à jour : %1$s',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Attention : la mise à jour de l\'application peut échouer : %1$s',
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Des fichiers modifiés ont été détectés</b>, une mise à jour partielle ne peut pas être effectuée.<br />Suivez la <a target="_blank" href="%2$s"> procedure</a> pour mettre à jour manuellement votre iTop. Vous devez utiliser la page <a href="%1$s">d\'installation</a> pour mettre à jour l\'application.',
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>De nouveaux modules ont été détectés</b>, une mise à jour partielle ne peut pas être effectuée.<br />Suivez la <a target="_blank" href="%2$s"> procedure</a> pour mettre à jour manuellement votre iTop. Vous devez utiliser la page <a href="%1$s">d\'installation</a> pour mettre à jour l\'application.',
'iTopUpdate:UI:CheckInProgress'=>'Veuillez patienter pendant la vérification d\'intégrité',
// Setup Messages

View File

@@ -2,7 +2,7 @@
/**
* Localized data
*
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @copyright Copyright (C) 2010-2022 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*
* This file is part of iTop.
@@ -76,7 +76,6 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CheckInProgress' => 'Please wait during integrity check~~',
// Setup Messages

View File

@@ -2,7 +2,7 @@
/**
* Localized data
*
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @copyright Copyright (C) 2010-2022 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*
* This file is part of iTop.
@@ -76,7 +76,6 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CheckInProgress' => 'Please wait during integrity check~~',
// Setup Messages

View File

@@ -2,7 +2,7 @@
/**
* Localized data
*
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @copyright Copyright (C) 2010-2022 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*
* This file is part of iTop.
@@ -76,7 +76,6 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CheckInProgress' => 'Please wait during integrity check~~',
// Setup Messages

View File

@@ -2,7 +2,7 @@
/**
* Localized data
*
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @copyright Copyright (C) 2010-2022 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*
* This file is part of iTop.
@@ -78,7 +78,6 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'iTopUpdate:UI:CanCoreUpdate:No' => 'Updaten van de toepassing is niet mogelijk: %1$s',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CheckInProgress' => 'Please wait during integrity check~~',
// Setup Messages

View File

@@ -64,7 +64,6 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'iTopUpdate:UI:CanCoreUpdate:No' => 'Приложение не может быть обновлено: %1$s',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CheckInProgress' => 'Please wait during integrity check~~',
// Setup Messages

View File

@@ -2,7 +2,7 @@
/**
* Localized data
*
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @copyright Copyright (C) 2010-2022 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*
* This file is part of iTop.
@@ -76,7 +76,6 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CheckInProgress' => 'Please wait during integrity check~~',
// Setup Messages

View File

@@ -2,7 +2,7 @@
/**
* Localized data
*
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @copyright Copyright (C) 2010-2022 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*
* This file is part of iTop.
@@ -76,7 +76,6 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CheckInProgress' => 'Please wait during integrity check~~',
// Setup Messages

View File

@@ -2,7 +2,7 @@
/**
* Localized data
*
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @copyright Copyright (C) 2010-2022 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*
* This file is part of iTop.
@@ -76,7 +76,6 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'iTopUpdate:UI:CanCoreUpdate:No' => '应用无法升级: %1$s',
'iTopUpdate:UI:CanCoreUpdate:Warning' => '警告: 应用升级可能失败: %1$s',
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CheckInProgress' => 'Please wait during integrity check~~',
// Setup Messages

View File

@@ -0,0 +1,120 @@
<?php
/**
* Localized data
*
* @copyright Copyright (C) 2010-2022 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/
Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
'iTopUpdate:UI:PageTitle' => 'Application Upgrade~~',
'itop-core-update:UI:SelectUpdateFile' => 'Application Upgrade~~',
'itop-core-update:UI:ConfirmUpdate' => 'Application Upgrade~~',
'itop-core-update:UI:UpdateCoreFiles' => 'Application Upgrade~~',
'iTopUpdate:UI:MaintenanceModeActive' => 'The application is currently under maintenance, no user can access the application. You have to run a setup or restore the application archive to return in normal mode.~~',
'itop-core-update:UI:UpdateDone' => 'Application Upgrade~~',
'itop-core-update/Operation:SelectUpdateFile/Title' => 'Application Upgrade~~',
'itop-core-update/Operation:ConfirmUpdate/Title' => 'Confirm Application Upgrade~~',
'itop-core-update/Operation:UpdateCoreFiles/Title' => 'Application Upgrading~~',
'itop-core-update/Operation:UpdateDone/Title' => 'Application Upgrade Done~~',
'iTopUpdate:UI:SelectUpdateFile' => 'Select an upgrade file to upload~~',
'iTopUpdate:UI:CheckUpdate' => 'Verify upgrade file~~',
'iTopUpdate:UI:ConfirmInstallFile' => 'You are about to install %1$s~~',
'iTopUpdate:UI:DoUpdate' => 'Upgrade~~',
'iTopUpdate:UI:CurrentVersion' => 'Current installed version~~',
'iTopUpdate:UI:NewVersion' => 'Newly installed version~~',
'iTopUpdate:UI:Back' => 'Back~~',
'iTopUpdate:UI:Cancel' => 'Cancel~~',
'iTopUpdate:UI:Continue' => 'Continue~~',
'iTopUpdate:UI:RunSetup' => 'Run Setup~~',
'iTopUpdate:UI:WithDBBackup' => 'Database backup~~',
'iTopUpdate:UI:WithFilesBackup' => 'Application files backup~~',
'iTopUpdate:UI:WithoutBackup' => 'No backup is planned~~',
'iTopUpdate:UI:Backup' => 'Backup generated before update~~',
'iTopUpdate:UI:DoFilesArchive' => 'Archive application files~~',
'iTopUpdate:UI:UploadArchive' => 'Select a package to upload~~',
'iTopUpdate:UI:ServerFile' => 'Path of a package already on the server~~',
'iTopUpdate:UI:WarningReadOnlyDuringUpdate' => 'During the upgrade, the application will be read-only.~~',
'iTopUpdate:UI:Status' => 'Status~~',
'iTopUpdate:UI:Action' => 'Update~~',
'iTopUpdate:UI:History' => 'Versions History~~',
'iTopUpdate:UI:Progress' => 'Progress of the upgrade~~',
'iTopUpdate:UI:DoBackup:Label' => 'Backup files and database~~',
'iTopUpdate:UI:DoBackup:Warning' => 'Backup is not recommended due to limited available disk space~~',
'iTopUpdate:UI:DiskFreeSpace' => 'Disk free space~~',
'iTopUpdate:UI:ItopDiskSpace' => 'iTop disk space~~',
'iTopUpdate:UI:DBDiskSpace' => 'Database disk space~~',
'iTopUpdate:UI:FileUploadMaxSize' => 'File upload max size~~',
'iTopUpdate:UI:PostMaxSize' => 'PHP ini value post_max_size: %1$s~~',
'iTopUpdate:UI:UploadMaxFileSize' => 'PHP ini value upload_max_filesize: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:Loading' => 'Checking filesystem~~',
'iTopUpdate:UI:CanCoreUpdate:Error' => 'Checking filesystem failed (%1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'Checking filesystem failed (File not exist %1$s)~~',
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Checking filesystem failed~~',
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Application can be updated~~',
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~',
// Setup Messages
'iTopUpdate:UI:SetupMessage:Ready' => 'Ready to start~~',
'iTopUpdate:UI:SetupMessage:EnterMaintenance' => 'Entering maintenance mode~~',
'iTopUpdate:UI:SetupMessage:Backup' => 'Database backup~~',
'iTopUpdate:UI:SetupMessage:FilesArchive' => 'Archive application files~~',
'iTopUpdate:UI:SetupMessage:CopyFiles' => 'Copy new version files~~',
'iTopUpdate:UI:SetupMessage:CheckCompile' => 'Check application upgrade~~',
'iTopUpdate:UI:SetupMessage:Compile' => 'Upgrade application and database~~',
'iTopUpdate:UI:SetupMessage:UpdateDatabase' => 'Upgrade database~~',
'iTopUpdate:UI:SetupMessage:ExitMaintenance' => 'Exiting maintenance mode~~',
'iTopUpdate:UI:SetupMessage:UpdateDone' => 'Upgrade completed~~',
// Errors
'iTopUpdate:Error:MissingFunction' => 'Impossible to start upgrade, missing function~~',
'iTopUpdate:Error:MissingFile' => 'Missing file: %1$s~~',
'iTopUpdate:Error:CorruptedFile' => 'File %1$s is corrupted~~',
'iTopUpdate:Error:BadFileFormat' => 'Upgrade file is not a zip file~~',
'iTopUpdate:Error:BadFileContent' => 'Upgrade file is not an application archive~~',
'iTopUpdate:Error:BadItopProduct' => 'Upgrade file is not compatible with your application~~',
'iTopUpdate:Error:Copy' => 'Error, cannot copy \'%1$s\' to \'%2$s\'~~',
'iTopUpdate:Error:FileNotFound' => 'File not found~~',
'iTopUpdate:Error:NoFile' => 'No file provided~~',
'iTopUpdate:Error:InvalidToken' => 'Invalid token~~',
'iTopUpdate:Error:UpdateFailed' => 'Upgrade failed ~~',
'iTopUpdate:Error:FileUploadMaxSizeTooSmall' => 'The upload max size seems too small for update. Please change the PHP configuration.~~',
'iTopUpdate:UI:RestoreArchive' => 'You can restore your application from the archive \'%1$s\'~~',
'iTopUpdate:UI:RestoreBackup' => 'You can restore the database from \'%1$s\'~~',
'iTopUpdate:UI:UpdateDone' => 'Upgrade successful~~',
'Menu:iTopUpdate' => 'Application Upgrade~~',
'Menu:iTopUpdate+' => 'Application Upgrade~~',
// Missing itop entries
'Class:ModuleInstallation/Attribute:installed' => 'Installed on~~',
'Class:ModuleInstallation/Attribute:name' => 'Name~~',
'Class:ModuleInstallation/Attribute:version' => 'Version~~',
'Class:ModuleInstallation/Attribute:comment' => 'Comment~~',
));

View File

@@ -9,7 +9,6 @@
namespace Combodo\iTop\CoreUpdate\Service;
use Combodo\iTop\FilesInformation\Service\FileIntegrityException;
use Combodo\iTop\FilesInformation\Service\FilesIntegrity;
use DBBackup;
use Dict;
@@ -539,9 +538,6 @@ final class CoreUpdater
$sRootPath = self::UPDATE_DIR.'web/';
FilesIntegrity::CheckInstallationIntegrity($sRootPath);
///Check new modules
self::CheckNewModules($sRootPath);
SetupLog::Info('itop-core-update: Files integrity OK');
} catch (Exception $e)
{
@@ -609,38 +605,4 @@ final class CoreUpdater
throw $e;
}
}
/**
* Check if new modules (not already installed) are present, and throw an exception if that is the case as core update doesn't know how to install them automatically for know
*
* @param string $sRootPath
*
* @throws \ApplicationException
* @since 2.7.7 3.0.1
*/
private static function CheckNewModules($sRootPath)
{
$aFilesInfo = FilesIntegrity::GetInstalledFiles($sRootPath.'manifest.xml');
if ($aFilesInfo === false) {
throw new FileIntegrityException(Dict::Format('FilesInformation:Error:MissingFile', 'manifest.xml'));
}
@clearstatcache();
$sSourceDir = MetaModel::GetConfig()->Get('source_dir');
foreach ($aFilesInfo as $aFileInfo) {
if (strpos($aFileInfo['path'], $sSourceDir) === 0) {
$aFilePath = explode('/', $aFileInfo['path']);
$sFolderPath = $aFilePath[0].'/'.$aFilePath[1].'/'.$aFilePath[2];
//if module don't already exist in itop and if module listed in manifest.xml is included in zip
if (!is_dir(APPROOT.'/'.$sFolderPath) && !is_file(APPROOT.'/'.$sFolderPath)
&& is_dir($sRootPath.'/'.$sFolderPath)) {
$sLink = utils::GetAbsoluteUrlAppRoot().'setup/';
$sLinkManualUpdate = 'https://www.itophub.io/wiki/page?id='.utils::GetItopVersionWikiSyntax().'%3Ainstall%3Aupgrading_itop#manually';
throw new FileIntegrityException(Dict::Format('iTopUpdate:UI:CannotUpdateNewModules' , $sLink, $sLinkManualUpdate));
}
}
// Packed with missing files...
}
}
}

View File

@@ -11,6 +11,7 @@ require_once(APPROOT."setup/runtimeenv.class.inc.php");
use Config;
use Exception;
use ModelFactory;
use RunTimeEnvironment;
use SetupUtils;
@@ -126,4 +127,38 @@ class RunTimeEnvironmentCoreUpdater extends RunTimeEnvironment
}
throw new Exception('No configuration file available');
}
protected function GetMFModulesToCompile($sSourceEnv, $sSourceDir)
{
$aRet = parent::GetMFModulesToCompile($sSourceEnv, $sSourceDir);
// Add new mandatory modules from datamodel 2.x only
$sSourceDirFull = APPROOT.$sSourceDir;
if (!is_dir($sSourceDirFull))
{
throw new Exception("The source directory '$sSourceDirFull' does not exist (or could not be read)");
}
$aDirsToCompile = [$sSourceDirFull];
$oFactory = new ModelFactory($aDirsToCompile);
$aModules = $oFactory->FindModules();
$aAvailableModules = [];
/** @var \MFModule $oModule */
foreach ($aModules as $oModule) {
$aAvailableModules[$oModule->GetName()] = $oModule;
}
// TODO check the auto-selected modules here
foreach($this->oExtensionsMap->GetAllExtensions() as $oExtension) {
if ($oExtension->bMarkedAsChosen) {
foreach ($oExtension->aModules as $sModuleName) {
if (!isset($aRet[$sModuleName]) && isset($aAvailableModules[$sModuleName])) {
$aRet[$sModuleName] = $aAvailableModules[$sModuleName];
}
}
}
}
return $aRet;
}
}

View File

@@ -259,7 +259,6 @@ function MakeDataToPost($sTargetRoute)
try {
require_once(APPROOT.'/application/application.inc.php');
require_once(APPROOT.'/application/itopwebpage.class.inc.php');
require_once(APPROOT.'/setup/extensionsmap.class.inc.php');
require_once('hubconnectorpage.class.inc.php');

View File

@@ -13,7 +13,6 @@ use Combodo\iTop\Application\UI\Base\UIBlock;
require_once('../approot.inc.php');
require_once(APPROOT.'/application/application.inc.php');
require_once(APPROOT.'/application/itopwebpage.class.inc.php');
require_once(APPROOT.'setup/extensionsmap.class.inc.php');
require_once(APPROOT.'/application/startup.inc.php');

View File

@@ -91,6 +91,7 @@ class ObjectFormManager extends FormManager
* @return array formmanager_data as a PHP array
*
* @since 2.7.6 3.0.0 N°4384 method creation : factorize as this is used twice now
* @since 2.7.7 3.0.1 N°4867 now only used once, but we decided to keep this method anyway
*/
protected static function DecodeFormManagerData($formManagerData)
{
@@ -106,17 +107,15 @@ class ObjectFormManager extends FormManager
* - formobject_class : The class of the object that is being edited/viewed
* - formmode : view|edit|create
* - values for parent
* @param bool $bTrustContent if false then won't allow modified TWIG content
*
* @return \Combodo\iTop\Portal\Form\ObjectFormManager new instance init from JSON data
*
* @inheritDoc
* @throws \Exception
* @throws \SecurityException if twig content is present and $bTrustContent is false
*
* @since 2.7.6 3.0.0 N°4384 new $bTrustContent parameter
* @since 2.7.7 3.0.1 N°4867 remove param $bTrustContent
*/
public static function FromJSON($sJson, $bTrustContent = false)
public static function FromJSON($sJson)
{
$aJson = static::DecodeFormManagerData($sJson);
@@ -172,37 +171,6 @@ class ObjectFormManager extends FormManager
return $oFormManager;
}
/**
* @param string $sPostedFormManagerData received data from the browser
* @param array $aOriginalFormProperties data generated server side
*
* @return bool true if the data are identical
*
* @since 2.7.6 3.0.0 N°4384 Check formmanager_data
*/
public static function CanTrustFormLayoutContent($sPostedFormManagerData, $aOriginalFormProperties)
{
$aPostedFormManagerData = static::DecodeFormManagerData($sPostedFormManagerData);
$sPostedFormLayoutType = (isset($aPostedFormManagerData['formproperties']['layout']['type'])) ? $aPostedFormManagerData['formproperties']['layout']['type'] : '';
if ($sPostedFormLayoutType === 'xhtml') {
return true;
}
// We need to parse the content so that autoclose tags are returned correctly (`<div />` => `<div></div>`)
$oHtmlDocument = new \DOMDocument();
$sPostedFormLayoutContent = (isset($aPostedFormManagerData['formproperties']['layout']['content'])) ? $aPostedFormManagerData['formproperties']['layout']['content'] : '';
$oHtmlDocument->loadXML('<root>'.$sPostedFormLayoutContent.'</root>');
$sPostedFormLayoutRendered = $oHtmlDocument->saveHTML();
$sOriginalFormLayoutContent = (isset($aOriginalFormProperties['layout']['content'])) ? $aOriginalFormProperties['layout']['content'] : '';
$oHtmlDocument->loadXML('<root>'.$sOriginalFormLayoutContent.'</root>');
$sOriginalFormLayoutContentRendered = $oHtmlDocument->saveHTML();
return ($sPostedFormLayoutRendered === $sOriginalFormLayoutContentRendered);
}
/**
*
* @return \Symfony\Component\DependencyInjection\ContainerInterface

View File

@@ -132,12 +132,10 @@ class ObjectFormHandlerHelper
$bModal = ($oRequest->isXmlHttpRequest() && empty($sOperation));
// - Retrieve form properties
$aOriginalFormProperties = ApplicationHelper::GetLoadedFormFromClass($this->aCombodoPortalInstanceConf['forms'], $sObjectClass, $sMode);
if ($aFormProperties === null)
{
$aFormProperties = $aOriginalFormProperties;
$aFormProperties = ApplicationHelper::GetLoadedFormFromClass($this->aCombodoPortalInstanceConf['forms'], $sObjectClass, $sMode);
}
// - Create and
if (empty($sOperation))
{
@@ -300,8 +298,8 @@ class ObjectFormHandlerHelper
throw new HttpException(Response::HTTP_INTERNAL_SERVER_ERROR, 'Parameters formmanager_class and formmanager_data must be defined.');
}
$bTrustContent = $sFormManagerClass::CanTrustFormLayoutContent($sFormManagerData, $aOriginalFormProperties);
$oFormManager = $sFormManagerClass::FromJSON($sFormManagerData, $bTrustContent);
$this->CheckReadFormDataAllowed($sFormManagerData);
$oFormManager = $sFormManagerClass::FromJSON($sFormManagerData);
$oFormManager->SetContainer($this->oContainer);
// Applying action rules if present
@@ -439,6 +437,29 @@ class ObjectFormHandlerHelper
return $oTwig->render($sId, $aData);
}
/**
* Check if read object include in form data is allowed, throw an exception otherwise.
*
* @since 2.7.7
*
* @param $sFormManagerData form data to check
*
* @return void
* @throws \CoreException
* @throws \MissingQueryArgument
* @throws \MySQLException
* @throws \MySQLHasGoneAwayException
* @throws \OQLException
*/
public function CheckReadFormDataAllowed($sFormManagerData){
$aJsonFromData = json_decode($sFormManagerData, true);
if(isset($aJsonFromData['formobject_class'])
&& isset($aJsonFromData['formobject_id'])
&& !$this->oSecurityHelper->IsActionAllowed(UR_ACTION_READ, $aJsonFromData['formobject_class'], $aJsonFromData['formobject_id'])){
throw new HttpException(Response::HTTP_INTERNAL_SERVER_ERROR, 'Form data access denied.');
}
}
/**
* Return an array of the available modes for a form.
*

View File

@@ -0,0 +1,41 @@
<?php
// Copyright (C) 2010-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
// along with iTop. If not, see <http://www.gnu.org/licenses/>
/**
* @author Benjamin Planque <benjamin.planque@combodo.com>
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
//////////////////////////////////////////////////////////////////////
// Note: The classes have been grouped by categories: bizmodel
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
// Classes in 'bizmodel'
//////////////////////////////////////////////////////////////////////
//
Dict::Add('PL PL', 'Polish', 'Polski', array(
'portal:itop-portal' => 'Standard portal~~', // This is the portal name that will be displayed in portal dispatcher (eg. URL in menus)
'Page:DefaultTitle' => '%1$s portal użytkownika',
'Brick:Portal:UserProfile:Title' => 'My profile~~',
'Brick:Portal:NewRequest:Title' => 'New request~~',
'Brick:Portal:NewRequest:Title+' => '<p>Need help?</p><p>Pick from the services catalog and submit your request to our support teams.</p>~~',
'Brick:Portal:OngoingRequests:Title' => 'Ongoing requests~~',
'Brick:Portal:OngoingRequests:Title+' => '<p>Follow up with your ongoing requests.</p><p>Check the progress, add comments, attach documents, acknowledge the solution.</p>~~',
'Brick:Portal:OngoingRequests:Tab:OnGoing' => 'Open~~',
'Brick:Portal:OngoingRequests:Tab:Resolved' => 'Resolved~~',
'Brick:Portal:ClosedRequests:Title' => 'Closed requests~~',
));

View File

@@ -0,0 +1,370 @@
<?php
/**
* Localized data
*
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/
// Dictionnary conventions
// Class:<class_name>
// Class:<class_name>+
// Class:<class_name>/Attribute:<attribute_code>
// Class:<class_name>/Attribute:<attribute_code>+
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
// Class:<class_name>/UniquenessRule:<rule_code>
// Class:<class_name>/UniquenessRule:<rule_code>+
//////////////////////////////////////////////////////////////////////
// Note: The classes have been grouped by categories: bizmodel
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
// Classes in 'bizmodel'
//////////////////////////////////////////////////////////////////////
//
//
// Class: Organization
//
Dict::Add('PL PL', 'Polish', 'Polski', array(
'Class:Organization' => 'Organization~~',
'Class:Organization+' => '~~',
'Class:Organization/Attribute:name' => 'Name~~',
'Class:Organization/Attribute:name+' => 'Common name~~',
'Class:Organization/Attribute:code' => 'Code~~',
'Class:Organization/Attribute:code+' => 'Organization code (Siret, DUNS,...)~~',
'Class:Organization/Attribute:status' => 'Status~~',
'Class:Organization/Attribute:status+' => '~~',
'Class:Organization/Attribute:status/Value:active' => 'Active~~',
'Class:Organization/Attribute:status/Value:active+' => 'Active~~',
'Class:Organization/Attribute:status/Value:inactive' => 'Inactive~~',
'Class:Organization/Attribute:status/Value:inactive+' => 'Inactive~~',
'Class:Organization/Attribute:parent_id' => 'Parent~~',
'Class:Organization/Attribute:parent_id+' => 'Parent organization~~',
'Class:Organization/Attribute:parent_name' => 'Parent name~~',
'Class:Organization/Attribute:parent_name+' => 'Name of the parent organization~~',
'Class:Organization/Attribute:deliverymodel_id' => 'Model obsługi',
'Class:Organization/Attribute:deliverymodel_id+' => '',
'Class:Organization/Attribute:deliverymodel_name' => 'Nazwa modelu obsługi',
'Class:Organization/Attribute:deliverymodel_name+' => '',
'Class:Organization/Attribute:parent_id_friendlyname' => 'Parent~~',
'Class:Organization/Attribute:parent_id_friendlyname+' => 'Parent organization~~',
'Class:Organization/Attribute:overview' => 'Overview~~',
'Organization:Overview:FunctionalCIs' => 'Configuration items of this organization~~',
'Organization:Overview:FunctionalCIs:subtitle' => 'by type~~',
'Organization:Overview:Users' => '~~',
));
//
// Class: Location
//
Dict::Add('PL PL', 'Polish', 'Polski', array(
'Class:Location' => 'Location~~',
'Class:Location+' => 'Any type of location: Region, Country, City, Site, Building, Floor, Room, Rack,...~~',
'Class:Location/Attribute:name' => 'Name~~',
'Class:Location/Attribute:name+' => '~~',
'Class:Location/Attribute:status' => 'Status~~',
'Class:Location/Attribute:status+' => '~~',
'Class:Location/Attribute:status/Value:active' => 'Active~~',
'Class:Location/Attribute:status/Value:active+' => 'Active~~',
'Class:Location/Attribute:status/Value:inactive' => 'Inactive~~',
'Class:Location/Attribute:status/Value:inactive+' => 'Inactive~~',
'Class:Location/Attribute:org_id' => 'Owner organization~~',
'Class:Location/Attribute:org_id+' => '~~',
'Class:Location/Attribute:org_name' => 'Name of the owner organization~~',
'Class:Location/Attribute:org_name+' => '~~',
'Class:Location/Attribute:address' => 'Address~~',
'Class:Location/Attribute:address+' => 'Postal address~~',
'Class:Location/Attribute:postal_code' => 'Postal code~~',
'Class:Location/Attribute:postal_code+' => 'ZIP/Postal code~~',
'Class:Location/Attribute:city' => 'City~~',
'Class:Location/Attribute:city+' => '~~',
'Class:Location/Attribute:country' => 'Country~~',
'Class:Location/Attribute:country+' => '~~',
'Class:Location/Attribute:physicaldevice_list' => 'Devices~~',
'Class:Location/Attribute:physicaldevice_list+' => 'All the devices in this location~~',
'Class:Location/Attribute:person_list' => 'Contacts~~',
'Class:Location/Attribute:person_list+' => 'All the contacts located on this location~~',
));
//
// Class: Contact
//
Dict::Add('PL PL', 'Polish', 'Polski', array(
'Class:Contact' => 'Contact~~',
'Class:Contact+' => '~~',
'Class:Contact/Attribute:name' => 'Name~~',
'Class:Contact/Attribute:name+' => '~~',
'Class:Contact/Attribute:status' => 'Status~~',
'Class:Contact/Attribute:status+' => '~~',
'Class:Contact/Attribute:status/Value:active' => 'Active~~',
'Class:Contact/Attribute:status/Value:active+' => 'Active~~',
'Class:Contact/Attribute:status/Value:inactive' => 'Inactive~~',
'Class:Contact/Attribute:status/Value:inactive+' => 'Inactive~~',
'Class:Contact/Attribute:org_id' => 'Organization~~',
'Class:Contact/Attribute:org_id+' => '~~',
'Class:Contact/Attribute:org_name' => 'Organization name~~',
'Class:Contact/Attribute:org_name+' => '~~',
'Class:Contact/Attribute:email' => 'Email~~',
'Class:Contact/Attribute:email+' => '~~',
'Class:Contact/Attribute:phone' => 'Phone~~',
'Class:Contact/Attribute:phone+' => '~~',
'Class:Contact/Attribute:notify' => 'Notification~~',
'Class:Contact/Attribute:notify+' => 'Flag which can be used by each notification~~',
'Class:Contact/Attribute:notify/Value:no' => 'no~~',
'Class:Contact/Attribute:notify/Value:no+' => 'no~~',
'Class:Contact/Attribute:notify/Value:yes' => 'yes~~',
'Class:Contact/Attribute:notify/Value:yes+' => 'yes~~',
'Class:Contact/Attribute:function' => 'Function~~',
'Class:Contact/Attribute:function+' => '~~',
'Class:Contact/Attribute:cis_list' => 'CIs~~',
'Class:Contact/Attribute:cis_list+' => 'All the configuration items linked to this contact~~',
'Class:Contact/Attribute:finalclass' => 'Contact sub-class~~',
'Class:Contact/Attribute:finalclass+' => 'Name of the final class~~',
));
//
// Class: Person
//
Dict::Add('PL PL', 'Polish', 'Polski', array(
'Class:Person' => 'Person~~',
'Class:Person+' => '~~',
'Class:Person/Attribute:name' => 'Last Name~~',
'Class:Person/Attribute:name+' => '~~',
'Class:Person/Attribute:first_name' => 'First Name~~',
'Class:Person/Attribute:first_name+' => '~~',
'Class:Person/Attribute:employee_number' => 'Employee number~~',
'Class:Person/Attribute:employee_number+' => '~~',
'Class:Person/Attribute:mobile_phone' => 'Mobile phone~~',
'Class:Person/Attribute:mobile_phone+' => '~~',
'Class:Person/Attribute:location_id' => 'Location~~',
'Class:Person/Attribute:location_id+' => '~~',
'Class:Person/Attribute:location_name' => 'Location name~~',
'Class:Person/Attribute:location_name+' => '~~',
'Class:Person/Attribute:manager_id' => 'Manager~~',
'Class:Person/Attribute:manager_id+' => '~~',
'Class:Person/Attribute:manager_name' => 'Manager name~~',
'Class:Person/Attribute:manager_name+' => '~~',
'Class:Person/Attribute:team_list' => 'Teams~~',
'Class:Person/Attribute:team_list+' => 'All the teams this person belongs to~~',
'Class:Person/Attribute:tickets_list' => 'Tickets~~',
'Class:Person/Attribute:tickets_list+' => 'All the tickets this person is the caller~~',
'Class:Person/Attribute:manager_id_friendlyname' => 'Manager friendly name~~',
'Class:Person/Attribute:manager_id_friendlyname+' => '~~',
'Class:Person/Attribute:picture' => 'Picture~~',
'Class:Person/Attribute:picture+' => '~~',
'Class:Person/UniquenessRule:employee_number+' => 'The employee number must be unique in the organization~~',
'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: Team
//
Dict::Add('PL PL', 'Polish', 'Polski', array(
'Class:Team' => 'Team~~',
'Class:Team+' => '~~',
'Class:Team/Attribute:persons_list' => 'Members~~',
'Class:Team/Attribute:persons_list+' => 'All the people belonging to this team~~',
'Class:Team/Attribute:tickets_list' => 'Tickets~~',
'Class:Team/Attribute:tickets_list+' => 'All the tickets assigned to this team~~',
));
//
// Class: Document
//
Dict::Add('PL PL', 'Polish', 'Polski', array(
'Class:Document' => 'Document~~',
'Class:Document+' => '~~',
'Class:Document/Attribute:name' => 'Name~~',
'Class:Document/Attribute:name+' => '~~',
'Class:Document/Attribute:org_id' => 'Organization~~',
'Class:Document/Attribute:org_id+' => '~~',
'Class:Document/Attribute:org_name' => 'Organization name~~',
'Class:Document/Attribute:org_name+' => '~~',
'Class:Document/Attribute:documenttype_id' => 'Document type~~',
'Class:Document/Attribute:documenttype_id+' => '~~',
'Class:Document/Attribute:documenttype_name' => 'Document type name~~',
'Class:Document/Attribute:documenttype_name+' => '~~',
'Class:Document/Attribute:version' => 'Version~~',
'Class:Document/Attribute:version+' => '~~',
'Class:Document/Attribute:description' => 'Description~~',
'Class:Document/Attribute:description+' => '~~',
'Class:Document/Attribute:status' => 'Status~~',
'Class:Document/Attribute:status+' => '~~',
'Class:Document/Attribute:status/Value:draft' => 'Draft~~',
'Class:Document/Attribute:status/Value:draft+' => '~~',
'Class:Document/Attribute:status/Value:obsolete' => 'Obsolete~~',
'Class:Document/Attribute:status/Value:obsolete+' => '~~',
'Class:Document/Attribute:status/Value:published' => 'Published~~',
'Class:Document/Attribute:status/Value:published+' => '~~',
'Class:Document/Attribute:cis_list' => 'CIs~~',
'Class:Document/Attribute:cis_list+' => 'All the configuration items linked to this document~~',
'Class:Document/Attribute:finalclass' => 'Document sub-class~~',
'Class:Document/Attribute:finalclass+' => 'Name of the final class~~',
));
//
// Class: DocumentFile
//
Dict::Add('PL PL', 'Polish', 'Polski', array(
'Class:DocumentFile' => 'Document File~~',
'Class:DocumentFile+' => '~~',
'Class:DocumentFile/Attribute:file' => 'File~~',
'Class:DocumentFile/Attribute:file+' => '~~',
));
//
// Class: DocumentNote
//
Dict::Add('PL PL', 'Polish', 'Polski', array(
'Class:DocumentNote' => 'Document Note~~',
'Class:DocumentNote+' => '~~',
'Class:DocumentNote/Attribute:text' => 'Text~~',
'Class:DocumentNote/Attribute:text+' => '~~',
));
//
// Class: DocumentWeb
//
Dict::Add('PL PL', 'Polish', 'Polski', array(
'Class:DocumentWeb' => 'Document Web~~',
'Class:DocumentWeb+' => '~~',
'Class:DocumentWeb/Attribute:url' => 'URL~~',
'Class:DocumentWeb/Attribute:url+' => '~~',
));
//
// Class: Typology
//
Dict::Add('PL PL', 'Polish', 'Polski', array(
'Class:Typology' => 'Typology~~',
'Class:Typology+' => '~~',
'Class:Typology/Attribute:name' => 'Name~~',
'Class:Typology/Attribute:name+' => '~~',
'Class:Typology/Attribute:finalclass' => 'Typology sub-class~~',
'Class:Typology/Attribute:finalclass+' => 'Name of the final class~~',
));
//
// Class: DocumentType
//
Dict::Add('PL PL', 'Polish', 'Polski', array(
'Class:DocumentType' => 'Document Type~~',
'Class:DocumentType+' => '~~',
));
//
// Class: ContactType
//
Dict::Add('PL PL', 'Polish', 'Polski', array(
'Class:ContactType' => 'Contact Type~~',
'Class:ContactType+' => '~~',
));
//
// Class: lnkPersonToTeam
//
Dict::Add('PL PL', 'Polish', 'Polski', array(
'Class:lnkPersonToTeam' => 'Link Person / Team~~',
'Class:lnkPersonToTeam+' => '~~',
'Class:lnkPersonToTeam/Attribute:team_id' => 'Team~~',
'Class:lnkPersonToTeam/Attribute:team_id+' => '~~',
'Class:lnkPersonToTeam/Attribute:team_name' => 'Team name~~',
'Class:lnkPersonToTeam/Attribute:team_name+' => '~~',
'Class:lnkPersonToTeam/Attribute:person_id' => 'Person~~',
'Class:lnkPersonToTeam/Attribute:person_id+' => '~~',
'Class:lnkPersonToTeam/Attribute:person_name' => 'Person name~~',
'Class:lnkPersonToTeam/Attribute:person_name+' => '~~',
'Class:lnkPersonToTeam/Attribute:role_id' => 'Role~~',
'Class:lnkPersonToTeam/Attribute:role_id+' => '~~',
'Class:lnkPersonToTeam/Attribute:role_name' => 'Role name~~',
'Class:lnkPersonToTeam/Attribute:role_name+' => '~~',
));
//
// Application Menu
//
Dict::Add('PL PL', 'Polish', 'Polski', array(
'Menu:DataAdministration' => 'Administracja danymi',
'Menu:DataAdministration+' => 'Administracja danymi',
'Menu:Catalogs' => 'Catalogs~~',
'Menu:Catalogs+' => 'Data types~~',
'Menu:Audit' => 'Audit~~',
'Menu:Audit+' => 'Audit~~',
'Menu:CSVImport' => 'CSV import~~',
'Menu:CSVImport+' => 'Bulk creation or update~~',
'Menu:Organization' => 'Organizations~~',
'Menu:Organization+' => 'All organizations~~',
'Menu:ConfigManagement' => 'Configuration Management~~',
'Menu:ConfigManagement+' => 'Configuration Management~~',
'Menu:ConfigManagementCI' => 'Configuration items~~',
'Menu:ConfigManagementCI+' => 'Configuration items~~',
'Menu:ConfigManagementOverview' => 'Overview~~',
'Menu:ConfigManagementOverview+' => 'Overview~~',
'Menu:Contact' => 'Contacts~~',
'Menu:Contact+' => 'Contacts~~',
'Menu:Contact:Count' => '%1$d contacts~~',
'Menu:Person' => 'Persons~~',
'Menu:Person+' => 'All persons~~',
'Menu:Team' => 'Teams~~',
'Menu:Team+' => 'All teams~~',
'Menu:Document' => 'Documents~~',
'Menu:Document+' => 'All documents~~',
'Menu:Location' => 'Locations~~',
'Menu:Location+' => 'All locations~~',
'Menu:NewContact' => 'New contact~~',
'Menu:NewContact+' => 'New contact~~',
'Menu:SearchContacts' => 'Search for contacts~~',
'Menu:SearchContacts+' => 'Search for contacts~~',
'Menu:ConfigManagement:Shortcuts' => 'Shortcuts~~',
'Menu:ConfigManagement:AllContacts' => 'All contacts: %1$d~~',
'Menu:Typology' => 'Typology configuration~~',
'Menu:Typology+' => 'Typology configuration~~',
'UI_WelcomeMenu_AllConfigItems' => 'Summary~~',
'Menu:ConfigManagement:Typology' => 'Typology configuration~~',
));
// Add translation for Fieldsets
Dict::Add('PL PL', 'Polish', 'Polski', array(
'Person:info' => 'General information~~',
'UserLocal:info' => 'General information~~',
'Person:personal_info' => 'Personal information~~',
'Person:notifiy' => 'Notification~~',
));
// Themes
Dict::Add('PL PL', 'Polish', 'Polski', array(
'theme:fullmoon' => 'Full moon~~',
'theme:test-red' => 'Test instance (Red)~~',
));

View File

@@ -0,0 +1,10 @@
<?php
/**
* Localized data
*
* @copyright Copyright (C) 2013 XXXXX
* @license http://opensource.org/licenses/AGPL-3.0
*/
Dict::Add('PL PL', 'Polish', 'Polski', array(
'theme:light-grey' => 'Light Grey (deprecated)~~',
));

View File

@@ -242,4 +242,4 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'Class:Document/Attribute:contracts_list+' => '',
'Class:Document/Attribute:services_list' => 'Services',
'Class:Document/Attribute:services_list+' => '',
));
));

View File

@@ -157,50 +157,49 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
// Fieldset translation
Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'Ticket:baseinfo' => 'Genel Bilgi',
'Ticket:date' => 'Tarihler',
'Ticket:contact' => 'Kişiler',
'Ticket:moreinfo' => 'Daha fazla bilgi',
'Ticket:relation' => 'İlişkiler',
'Ticket:log' => 'İletişim',
'Ticket:Type' => 'Yeterlilik',
'Ticket:support' => 'Destek',
'Ticket:resolution' => 'Çözünürlük',
'Ticket:SLA' => 'SLA raporu',
'WorkOrder:Details' => 'Ayrıntılar',
'WorkOrder:Moreinfo' => 'Daha fazla bilgi',
'Tickets:ResolvedFrom' => '%1$s\'den otomatik olarak çözüldü,',
'Class:cmdbAbstractObject/Method:Set' => 'Ayarla',
'Class:cmdbAbstractObject/Method:Set+' => 'Sabit değeri olan bir alanı ayarlayın',
'Class:cmdbAbstractObject/Method:Set/Param:1' => 'Hedef alanı',
'Class:cmdbAbstractObject/Method:Set/Param:1+' => 'Ayarlanan alan, geçerli nesnede',
'Class:cmdbAbstractObject/Method:Set/Param:2' => 'Değer',
'Class:cmdbAbstractObject/Method:Set/Param:2+' => 'Ayarlanan değer',
'Class:cmdbAbstractObject/Method:SetCurrentDate' => 'Güncel tarihi ayarla',
'Class:cmdbAbstractObject/Method:SetCurrentDate+' => 'Güncel tarih ve saatle bir alan ayarlayın',
'Class:cmdbAbstractObject/Method:SetCurrentDate/Param:1' => 'Hedef alanı',
'Class:cmdbAbstractObject/Method:SetCurrentDate/Param:1+' => 'Ayarlanan alan, geçerli nesnede',
'Ticket:baseinfo' => 'Genel Bilgi',
'Ticket:date' => 'Tarihler',
'Ticket:contact' => 'Kişiler',
'Ticket:moreinfo' => 'Daha fazla bilgi',
'Ticket:relation' => 'İlişkiler',
'Ticket:log' => 'İletişim',
'Ticket:Type' => 'Yeterlilik',
'Ticket:support' => 'Destek',
'Ticket:resolution' => 'Çözünürlük',
'Ticket:SLA' => 'SLA raporu',
'WorkOrder:Details' => 'Ayrıntılar',
'WorkOrder:Moreinfo' => 'Daha fazla bilgi',
'Tickets:ResolvedFrom' => '%1$s\'den otomatik olarak çözüldü,',
'Class:cmdbAbstractObject/Method:Set' => 'Ayarla',
'Class:cmdbAbstractObject/Method:Set+' => 'Sabit değeri olan bir alanı ayarlayın',
'Class:cmdbAbstractObject/Method:Set/Param:1' => 'Hedef alanı',
'Class:cmdbAbstractObject/Method:Set/Param:1+' => 'Ayarlanan alan, geçerli nesnede',
'Class:cmdbAbstractObject/Method:Set/Param:2' => 'Değer',
'Class:cmdbAbstractObject/Method:Set/Param:2+' => 'Ayarlanan değer',
'Class:cmdbAbstractObject/Method:SetCurrentDate' => 'Güncel tarihi ayarla',
'Class:cmdbAbstractObject/Method:SetCurrentDate+' => 'Güncel tarih ve saatle bir alan ayarlayın',
'Class:cmdbAbstractObject/Method:SetCurrentDate/Param:1' => 'Hedef alanı',
'Class:cmdbAbstractObject/Method:SetCurrentDate/Param:1+' => 'Ayarlanan alan, geçerli nesnede',
'Class:cmdbAbstractObject/Method:SetCurrentDateIfNull' => 'SetCurrentDateIfNull~~',
'Class:cmdbAbstractObject/Method:SetCurrentDateIfNull+' => 'Set an empty field with the current date and time~~',
'Class:cmdbAbstractObject/Method:SetCurrentDateIfNull/Param:1' => 'Target Field~~',
'Class:cmdbAbstractObject/Method:SetCurrentDateIfNull/Param:1+' => 'The field to set, in the current object~~',
'Class:cmdbAbstractObject/Method:SetCurrentUser' => 'Mevcut kullanıcıyı ayarla',
'Class:cmdbAbstractObject/Method:SetCurrentUser+' => 'Oturum açmış olan kullanıcıyla bir alan ayarlayın',
'Class:cmdbAbstractObject/Method:SetCurrentUser/Param:1' => 'Hedef alanı',
'Class:cmdbAbstractObject/Method:SetCurrentUser/Param:1+' => 'Mevcut nesnede ayarlanan alan. Alan bir dize ise, bilinen ad kullanılacak, aksi takdirde tanımlayıcı kullanılacaktır. Bu bilinen ad, kullanıcıya atandığı takdirde geçerlidir.Aksi halde giriş yapılan kullanıcı adı geçerlidir.',
'Class:cmdbAbstractObject/Method:SetCurrentPerson' => 'Mevcut kullanıcıyı ayarla',
'Class:cmdbAbstractObject/Method:SetCurrentPerson+' => 'Oturum açmış kişiyle bir alan ayarlayın.',
'Class:cmdbAbstractObject/Method:SetCurrentPerson/Param:1' => 'Hedef alanı',
'Class:cmdbAbstractObject/Method:SetCurrentPerson/Param:1+' => 'Mevcut nesnede ayarlanan alan. Alan bir dize ise, bilinen ad kullanılacaktır, aksi takdirde tanımlayıcı kullanılacaktır.',
'Class:cmdbAbstractObject/Method:SetElapsedTime' => 'Geçen zamanı ayarla',
'Class:cmdbAbstractObject/Method:SetElapsedTime+' => 'Başka bir alan tarafından belirlenmiş tarihten geçen süreye göre bir alanı ayarla (saniye)',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:1' => 'Hedef alanı',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:1+' => 'Ayarlanan alan, geçerli nesnede',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:2' => 'Referans alanı',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:2+' => 'Referans tarihi elde etmek için alan',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:3' => 'Çalışma saatleri',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:3+' => 'Standart çalışma saatleri şemasına uymak için boş bırakın veya 24x7 şemasını oluşturmak için \\"DefaultWorkingTimecomputer\\" olarak ayarlayın',
'Class:cmdbAbstractObject/Method:SetCurrentUser' => 'Mevcut kullanıcıyı ayarla',
'Class:cmdbAbstractObject/Method:SetCurrentUser+' => 'Oturum açmış olan kullanıcıyla bir alan ayarlayın',
'Class:cmdbAbstractObject/Method:SetCurrentUser/Param:1' => 'Hedef alanı',
'Class:cmdbAbstractObject/Method:SetCurrentUser/Param:1+' => 'Mevcut nesnede ayarlanan alan. Alan bir dize ise, bilinen ad kullanılacak, aksi takdirde tanımlayıcı kullanılacaktır. Bu bilinen ad, kullanıcıya atandığı takdirde geçerlidir.Aksi halde giriş yapılan kullanıcı adı geçerlidir.',
'Class:cmdbAbstractObject/Method:SetCurrentPerson' => 'Mevcut kullanıcıyı ayarla',
'Class:cmdbAbstractObject/Method:SetCurrentPerson+' => 'Oturum açmış kişiyle bir alan ayarlayın.',
'Class:cmdbAbstractObject/Method:SetCurrentPerson/Param:1' => 'Hedef alanı',
'Class:cmdbAbstractObject/Method:SetCurrentPerson/Param:1+' => 'Mevcut nesnede ayarlanan alan. Alan bir dize ise, bilinen ad kullanılacaktır, aksi takdirde tanımlayıcı kullanılacaktır.',
'Class:cmdbAbstractObject/Method:SetElapsedTime' => 'Geçen zamanı ayarla',
'Class:cmdbAbstractObject/Method:SetElapsedTime+' => 'Başka bir alan tarafından belirlenmiş tarihten geçen süreye göre bir alanı ayarla (saniye)',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:1' => 'Hedef alanı',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:1+' => 'Ayarlanan alan, geçerli nesnede',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:2' => 'Referans alanı',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:2+' => 'Referans tarihi elde etmek için alan',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:3' => 'Çalışma saatleri',
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:3+' => 'Standart çalışma saatleri şemasına uymak için boş bırakın veya 24x7 şemasını oluşturmak için \\"DefaultWorkingTimecomputer\\" olarak ayarlayın',
'Class:cmdbAbstractObject/Method:SetIfNull' => 'SetIfNull~~',
'Class:cmdbAbstractObject/Method:SetIfNull+' => 'Set a field only if it is empty, with a static value~~',
'Class:cmdbAbstractObject/Method:SetIfNull/Param:1' => 'Target Field~~',
@@ -229,24 +228,24 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:2+' => 'Textual information to modify the source date, eg. "+3 days"~~',
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:3' => 'Source field~~',
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:3+' => 'The field used as source to apply the Modifier logic~~',
'Class:cmdbAbstractObject/Method:Reset' => 'Sıfırla',
'Class:cmdbAbstractObject/Method:Reset+' => 'Bir alanı varsayılan değerine sıfırlayın',
'Class:cmdbAbstractObject/Method:Reset/Param:1' => 'Hedef alanı',
'Class:cmdbAbstractObject/Method:Reset/Param:1+' => 'Sıfırlanan alan, mevcut nesnede',
'Class:cmdbAbstractObject/Method:Copy' => 'Kopyala',
'Class:cmdbAbstractObject/Method:Copy+' => 'Bir alanın değerini başka bir alana kopyalayın',
'Class:cmdbAbstractObject/Method:Copy/Param:1' => 'Hedef alanı',
'Class:cmdbAbstractObject/Method:Copy/Param:1+' => 'Ayarlanan alan, geçerli nesnede',
'Class:cmdbAbstractObject/Method:Copy/Param:2' => 'Kaynak alanı',
'Class:cmdbAbstractObject/Method:Copy/Param:2+' => 'Mevcut nesnede değeri elde etmek için alan',
'Class:cmdbAbstractObject/Method:ApplyStimulus' => 'ApplyStimulus~~',
'Class:cmdbAbstractObject/Method:ApplyStimulus+' => 'Apply the specified stimulus to the current object~~',
'Class:cmdbAbstractObject/Method:ApplyStimulus/Param:1' => 'Stimulus code~~',
'Class:cmdbAbstractObject/Method:ApplyStimulus/Param:1+' => 'A valid stimulus code for the current class~~',
'Class:ResponseTicketTTO/Interface:iMetricComputer' => 'Sahip Olunacak Zaman',
'Class:ResponseTicketTTO/Interface:iMetricComputer+' => 'TTO tipi bir SLT\'ye dayalı hedef',
'Class:ResponseTicketTTR/Interface:iMetricComputer' => 'Çözme zamanı',
'Class:ResponseTicketTTR/Interface:iMetricComputer+' => 'TTR tipi bir SLT\'ye dayalı hedef',
'Class:cmdbAbstractObject/Method:Reset' => 'Sıfırla',
'Class:cmdbAbstractObject/Method:Reset+' => 'Bir alanı varsayılan değerine sıfırlayın',
'Class:cmdbAbstractObject/Method:Reset/Param:1' => 'Hedef alanı',
'Class:cmdbAbstractObject/Method:Reset/Param:1+' => 'Sıfırlanan alan, mevcut nesnede',
'Class:cmdbAbstractObject/Method:Copy' => 'Kopyala',
'Class:cmdbAbstractObject/Method:Copy+' => 'Bir alanın değerini başka bir alana kopyalayın',
'Class:cmdbAbstractObject/Method:Copy/Param:1' => 'Hedef alanı',
'Class:cmdbAbstractObject/Method:Copy/Param:1+' => 'Ayarlanan alan, geçerli nesnede',
'Class:cmdbAbstractObject/Method:Copy/Param:2' => 'Kaynak alanı',
'Class:cmdbAbstractObject/Method:Copy/Param:2+' => 'Mevcut nesnede değeri elde etmek için alan',
'Class:cmdbAbstractObject/Method:ApplyStimulus' => 'ApplyStimulus~~',
'Class:cmdbAbstractObject/Method:ApplyStimulus+' => 'Apply the specified stimulus to the current object~~',
'Class:cmdbAbstractObject/Method:ApplyStimulus/Param:1' => 'Stimulus code~~',
'Class:cmdbAbstractObject/Method:ApplyStimulus/Param:1+' => 'A valid stimulus code for the current class~~',
'Class:ResponseTicketTTO/Interface:iMetricComputer' => 'Sahip Olunacak Zaman',
'Class:ResponseTicketTTO/Interface:iMetricComputer+' => 'TTO tipi bir SLT\'ye dayalı hedef',
'Class:ResponseTicketTTR/Interface:iMetricComputer' => 'Çözme zamanı',
'Class:ResponseTicketTTR/Interface:iMetricComputer+' => 'TTR tipi bir SLT\'ye dayalı hedef',
));
//

View File

@@ -20,7 +20,6 @@
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/
// Dictionnay conventions
// Class:<class_name>
// Class:<class_name>+
@@ -30,12 +29,9 @@
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
// Class:<class_name>/Stimulus:<stimulus_code>
// Class:<class_name>/Stimulus:<stimulus_code>+
//
// Class: Ticket
//
Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'Class:Ticket' => '工单',
'Class:Ticket+' => '',

View File

@@ -29,5 +29,10 @@
</cells>
</definition>
</menu>
<menu id="OAuthWizardMenu" xsi:type="WebPageMenuNode" _delta="define">
<rank>45</rank>
<parent>ConfigurationTools</parent>
<url>$pages/oauth.wizard.php</url>
</menu>
</menus>
</itop_design>

View File

@@ -1,23 +1,23 @@
<?php
/**
* Localized data
*
* @copyright Copyright (C) 2010-2018 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/
<?php
/**
* Localized data
*
* @copyright Copyright (C) 2010-2022 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http://www.gnu.org/licenses/>
*/