diff --git a/core/attributedef.class.inc.php b/core/attributedef.class.inc.php index d45374874..54ab4d1d9 100644 --- a/core/attributedef.class.inc.php +++ b/core/attributedef.class.inc.php @@ -132,8 +132,10 @@ abstract class AttributeDefinition public function IsNullAllowed() {return true;} public function GetNullValue() {return null;} public function GetCode() {return $this->m_sCode;} - public function GetLabel() {return $this->Get("label");} - public function GetDescription() {return $this->Get("description");} + public function GetLabel() {return Dict::S('Class:'.$this->m_sHostClass.'/Attribute:'.$this->m_sCode, $this->m_sCode);} + public function Obsolete_GetLabel() {return $this->Get("label");} + public function GetDescription() {return Dict::S('Class:'.$this->m_sHostClass.'/Attribute:'.$this->m_sCode.'+', '');} + public function Obsolete_GetDescription() {return $this->Get("description");} public function GetValuesDef() {return null;} public function GetPrerequisiteAttributes() {return array();} //public function IsSearchableStd() {return $this->Get("search_std");} @@ -828,6 +830,17 @@ class AttributeEnum extends AttributeString // later, we could imagine a detailed description in the title return "".parent::GetAsHtml($sLabel).""; } + + public function GetAllowedValues($aArgs = array(), $sBeginsWith = '') + { + $aRawValues = parent::GetAllowedValues($aArgs, $sBeginsWith); + $aLocalizedValues = array(); + foreach ($aRawValues as $sKey => $sValue) + { + $aLocalizedValues[$sKey] = Dict::S('Class:'.$this->GetHostClass().'/Attribute:'.$this->GetCode().'/Value:'.$sKey, $sKey); + } + return $aLocalizedValues; + } } /** diff --git a/core/cmdbobject.class.inc.php b/core/cmdbobject.class.inc.php index 5f490e9e5..498e7e73d 100644 --- a/core/cmdbobject.class.inc.php +++ b/core/cmdbobject.class.inc.php @@ -17,6 +17,8 @@ require_once('coreexception.class.inc.php'); require_once('config.class.inc.php'); +require_once('dict.class.inc.php'); + require_once('attributedef.class.inc.php'); require_once('filterdef.class.inc.php'); require_once('stimulus.class.inc.php'); diff --git a/core/config.class.inc.php b/core/config.class.inc.php index cc57e0cb3..dd9be7628 100644 --- a/core/config.class.inc.php +++ b/core/config.class.inc.php @@ -2,7 +2,7 @@ require_once('coreexception.class.inc.php'); /** * Config - * configuration data + * configuration data (this class cannot not be localized, because it is responsible for loading the dictionaries) * * @package iTopORM * @author Romain Quetiez @@ -30,6 +30,7 @@ class Config protected $m_aAppModules; protected $m_aDataModels; protected $m_aAddons; + protected $m_aDictionaries; protected $m_sDBHost; protected $m_sDBUser; @@ -59,13 +60,19 @@ class Config * @var boolean Whether or not a secure connection is required for using the application */ protected $m_bSecureConnectionRequired; - + + /** + * @var string Langage code, default if the user language is undefined + */ + protected $m_sDefaultLanguage; + public function __construct($sConfigFile, $bLoadConfig = true) { $this->m_sFile = $sConfigFile; $this->m_aAppModules = array(); $this->m_aDataModels = array(); $this->m_aAddons = array(); + $this->m_aDictionaries = array(); $this->m_sDBHost = ''; $this->m_sDBUser = ''; @@ -77,6 +84,7 @@ class Config $this->m_iStandardReloadInterval = DEFAULT_STANDARD_RELOAD_INTERVAL; $this->m_iFastReloadInterval = DEFAULT_FAST_RELOAD_INTERVAL; $this->m_bSecureConnectionRequired = DEFAULT_SECURE_CONNECTION_REQUIRED; + $this->m_sDefaultLanguage = 'EN US'; if ($bLoadConfig) { $this->Load($sConfigFile); @@ -144,9 +152,14 @@ class Config { $MyModules['addons']['user rights'] = '../addons/userrights/userrightsnull.class.inc.php'; } + if (!array_key_exists('dictionaries', $MyModules)) + { + throw new ConfigException('Missing item in configuration file', array('file' => $sConfigFile, 'expected' => '$MyModules[\'dictionaries\']')); + } $this->m_aAppModules = $MyModules['application']; $this->m_aDataModels = $MyModules['business']; $this->m_aAddons = $MyModules['addons']; + $this->m_aDictionaries = $MyModules['dictionaries']; $this->m_sDBHost = trim($MySettings['db_host']); $this->m_sDBUser = trim($MySettings['db_user']); @@ -159,6 +172,8 @@ class Config $this->m_iStandardReloadInterval = isset($MySettings['standard_reload_interval']) ? trim($MySettings['standard_reload_interval']) : DEFAULT_STANDARD_RELOAD_INTERVAL; $this->m_iFastReloadInterval = isset($MySettings['fast_reload_interval']) ? trim($MySettings['fast_reload_interval']) : DEFAULT_FAST_RELOAD_INTERVAL; $this->m_bSecureConnectionRequired = isset($MySettings['secure_connection_required']) ? trim($MySettings['secure_connection_required']) : DEFAULT_SECURE_CONNECTION_REQUIRED; + + $this->m_sDefaultLanguage = isset($MySettings['default_language']) ? trim($MySettings['default_language']) : 'EN US'; } protected function Verify() @@ -175,6 +190,10 @@ class Config { $this->CheckFile('addon module', $sToInclude); } + foreach ($this->m_aDictionaries as $sModule => $sToInclude) + { + $this->CheckFile('dictionary', $sToInclude); + } } public function GetAppModules() @@ -192,6 +211,11 @@ class Config return $this->m_aAddons; } + public function GetDictionaries() + { + return $this->m_aDictionaries; + } + public function GetDBHost() { return $this->m_sDBHost; @@ -242,6 +266,11 @@ class Config return $this->m_bSecureConnectionRequired; } + public function GetDefaultLanguage() + { + return $this->m_sDefaultLanguage; + } + public function SetDBHost($sDBHost) { $this->m_sDBHost = $sDBHost; @@ -292,6 +321,11 @@ class Config $this->m_bSecureConnectionRequired = $bSecureConnectionRequired; } + public function SetDefaultLanguage($sLanguageCode) + { + $this->m_sDefaultLanguage = $sLanguageCode; + } + public function FileIsWritable() { return is_writable($this->m_sFile); @@ -334,6 +368,7 @@ class Config fwrite($hFile, "\t'standard_reload_interval' => {$this->m_iStandardReloadInterval},\n"); fwrite($hFile, "\t'fast_reload_interval' => {$this->m_iFastReloadInterval},\n"); fwrite($hFile, "\t'secure_connection_required' => ".($this->m_bSecureConnectionRequired ? 'true' : 'false').",\n"); + fwrite($hFile, "\t'default_language' => '{$this->m_sDefaultLanguage}',\n"); fwrite($hFile, ");\n"); fwrite($hFile, "\n/**\n"); @@ -362,7 +397,13 @@ class Config fwrite($hFile, "\t'addons' => array (\n"); fwrite($hFile, "\t\t'user rights' => '../addons/userrights/userrightsprofile.class.inc.php',\n"); fwrite($hFile, "\t\t// other modules to come later\n"); - fwrite($hFile, "\t)\n"); + fwrite($hFile, "\t),\n"); + fwrite($hFile, "\t'dictionaries' => array (\n"); + fwrite($hFile, "\t\t'../dictionaries/dictionary.itop.model.php',\n"); + fwrite($hFile, "\t\t'../dictionaries/dictionary.itop.core.php',\n"); + fwrite($hFile, "\t\t'../dictionaries/dictionary.itop.ui.php',\n"); + fwrite($hFile, "\t\t// to be continued...\n"); + fwrite($hFile, "\t),\n"); fwrite($hFile, ");\n"); fwrite($hFile, '?'.'>'); // Avoid perturbing the syntax highlighting ! return fclose($hFile); diff --git a/core/dict.class.inc.php b/core/dict.class.inc.php new file mode 100644 index 000000000..294c55103 --- /dev/null +++ b/core/dict.class.inc.php @@ -0,0 +1,181 @@ + + * @author Denis Flaven + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @link www.itop.com + * @since 1.0 + * @version 1.1.1.1 $ + */ + + +class DictException extends CoreException +{ +} + +class DictExceptionUnknownLanguage extends DictException +{ + public function __construct($sLanguageCode) + { + $aContext = array(); + $aContext['language_code'] = $sLanguageCode; + parent::__construct('Unknown localization language', $aContext); + } +} + +class DictExceptionMissingString extends DictException +{ + public function __construct($sLanguageCode, $sStringCode) + { + $aContext = array(); + $aContext['language_code'] = $sLanguageCode; + $aContext['string_code'] = $sStringCode; + parent::__construct('Missing localized string', $aContext); + } +} + + +define('DICT_ERR_STRING', 1); // when a string is missing, return the identifier +define('DICT_ERR_EXCEPTION', 2); // when a string is missing, throw an exception +//define('DICT_ERR_LOG', 3); // when a string is missing, log an error + + +class Dict +{ + protected static $m_iErrorMode = DICT_ERR_STRING; + protected static $m_sCurrentLanguage = 'EN US'; + + protected static $m_aLanguages = array(); // array( code => array( 'description' => '...', 'localized_description' => '...') ...) + protected static $m_aData = array(); + + + public static function SetLanguage($sLanguageCode) + { + if (!array_key_exists($sLanguageCode, self::$m_aLanguages)) + { + throw new DictExceptionUnknownLanguage($sLanguageCode); + } + self::$m_sCurrentLanguage = $sLanguageCode; + } + + + //returns a hash array( code => array( 'description' => '...', 'localized_description' => '...') ...) + public static function GetLanguages() + { + return self::$m_aLanguages; + } + + // iErrorMode from {DICT_ERR_STRING, DICT_ERR_EXCEPTION} + public static function SetErrorMode($iErrorMode) + { + self::$m_iErrorMode = $iErrorMode; + } + + + public static function S($sStringCode, $sDefault = null) + { + $aCurrentDictionary = self::$m_aData[self::$m_sCurrentLanguage]; + if (!array_key_exists($sStringCode, $aCurrentDictionary)) + { + switch (self::$m_iErrorMode) + { + case DICT_ERR_STRING: + if (is_null($sDefault)) + { + return $sStringCode; + } + else + { + return $sDefault; + } + break; + + case DICT_ERR_EXCEPTION: + default: + throw new DictExceptionMissingString(self::$m_sCurrentLanguage, $sStringCode); + break; + } + } + return $aCurrentDictionary[$sStringCode]; + } + + + public static function Format($sFormatCode /*, ... arguments ....*/) + { + $sLocalizedFormat = self::S($sFormatCode); + + $aArguments = func_get_args(); + array_shift($aArguments); + return vsprintf($sFormat, $aArguments); + } + + + // sLanguageCode: Code identifying the language i.e. FR-FR + // sEnglishLanguageDesc: Description of the language code, in English. i.e. French (France) + // sLocalizedLanguageDesc: Description of the language code, in its own language. i.e. Français (France) + // aEntries: Hash array of dictionnary entries + public static function Add($sLanguageCode, $sEnglishLanguageDesc, $sLocalizedLanguageDesc, $aEntries) + { + if (!array_key_exists($sLanguageCode, self::$m_aLanguages)) + { + self::$m_aLanguages[$sLanguageCode] = array($sEnglishLanguageDesc, $sLocalizedLanguageDesc); + self::$m_aData[$sLanguageCode] = array(); + } + self::$m_aData[$sLanguageCode] = array_merge(self::$m_aData[$sLanguageCode], $aEntries); + } + + public static function MakeStats($sLanguageCode, $sLanguageRef = 'EN US') + { + $aMissing = array(); // Strings missing for the target language + $aUnexpected = array(); // Strings defined for the target language, but not found in the reference dictionary + $aNotTranslated = array(); // Strings having the same value in both dictionaries + $aOK = array(); // Strings having different values in both dictionaries + + foreach (self::$m_aData[$sLanguageRef] as $sStringCode => $sValue) + { + if (!array_key_exists($sStringCode, self::$m_aData[$sLanguageCode])) + { + $aMissing[$sStringCode] = $sValue; + } + } + + foreach (self::$m_aData[$sLanguageCode] as $sStringCode => $sValue) + { + if (!array_key_exists($sStringCode, self::$m_aData[$sLanguageRef])) + { + $aUnexpected[$sStringCode] = $sValue; + } + else + { + // The value exists in the reference + $sRefValue = self::$m_aData[$sLanguageRef][$sStringCode]; + if ($sValue == $sRefValue) + { + $aNotTranslated[$sStringCode] = $sValue; + } + else + { + $aOK[$sStringCode] = $sValue; + } + } + } + return array($aMissing, $aUnexpected, $aNotTranslated, $aOK); + } + + public static function Dump() + { + MyHelpers::var_dump_html(self::$m_aData); + } +} + +/* +Dans les templates, les chaines localizables seront remplacées par un tag code_de_la_chaine +Modifier les profils utilisateurs pour stocker le langage de l'utilisateur. +*/ + + +?> diff --git a/core/metamodel.class.php b/core/metamodel.class.php index e1cfbdcb8..f114438b8 100644 --- a/core/metamodel.class.php +++ b/core/metamodel.class.php @@ -194,7 +194,13 @@ abstract class MetaModel final static public function GetName($sClass) { - self::_check_subclass($sClass); + self::_check_subclass($sClass); + $sStringCode = 'Class:'.$sClass; + return Dict::S($sStringCode, $sClass); + } + final static public function Obsolete_GetName($sClass) + { + self::_check_subclass($sClass); return self::$m_aClassParams[$sClass]["name"]; } final static public function GetCategory($sClass) @@ -208,6 +214,12 @@ abstract class MetaModel return (strpos(self::$m_aClassParams[$sClass]["category"], $sCategory) !== false); } final static public function GetClassDescription($sClass) + { + self::_check_subclass($sClass); + $sStringCode = 'Class:'.$sClass.'+'; + return Dict::S($sStringCode, ''); + } + final static public function Obsolete_GetClassDescription($sClass) { self::_check_subclass($sClass); return self::$m_aClassParams[$sClass]["description"]; @@ -1130,6 +1142,11 @@ abstract class MetaModel { $sTargetClass = self::GetCallersPHPClass("Init"); self::$m_aStimuli[$sTargetClass][$sStimulusCode] = $oStimulus; + + // I wanted to simplify the syntax of the declaration of objects in the biz model + // Therefore, the reference to the host class is set there + $oStimulus->SetHostClass($sTargetClass); + $oStimulus->SetCode($sStimulusCode); } public static function Init_DefineTransition($sStateCode, $sStimulusCode, $aTransitionDef) @@ -2089,6 +2106,83 @@ abstract class MetaModel return $aDataDump; } + public static function MakeDictionaryTemplate() + { + $sRes = ''; + + foreach (Dict::GetLanguages() as $sLanguageCode => $aLanguageData) + { + list($aMissing, $aUnexpected, $aNotTranslated, $aOK) = Dict::MakeStats($sLanguageCode, 'EN US'); + echo "

Stats for language: $sLanguageCode

\n"; + echo "\n"; + } + $sRes .= "// Dictionnay conventions\n"; + $sRes .= htmlentities("// Class:\n"); + $sRes .= htmlentities("// Class:+\n"); + $sRes .= htmlentities("// Class:/Attribute:\n"); + $sRes .= htmlentities("// Class:/Attribute:+\n"); + $sRes .= htmlentities("// Class:/Attribute:/Value:\n"); + $sRes .= htmlentities("// Class:/Attribute:/Value:+\n"); + $sRes .= htmlentities("// Class:/Stimulus:\n"); + $sRes .= htmlentities("// Class:/Stimulus:+\n"); + $sRes .= "\n"; + + // Note: I did not use EnumCategories(), because a given class maybe found in several categories + // Need to invent the "module", to characterize the origins of a class + $aModules = array('bizmodel', 'core/cmdb', 'gui' , 'application', 'addon/userrights'); + + $sRes .= "//////////////////////////////////////////////////////////////////////\n"; + $sRes .= "// Note: The classes have been grouped by categories: ".implode(', ', $aModules)."\n"; + $sRes .= "//////////////////////////////////////////////////////////////////////\n"; + + foreach ($aModules as $sCategory) + { + $sRes .= "//////////////////////////////////////////////////////////////////////\n"; + $sRes .= "// Classes in '$sCategory'\n"; + $sRes .= "//////////////////////////////////////////////////////////////////////\n"; + $sRes .= "//\n"; + $sRes .= "\n"; + foreach (self::GetClasses($sCategory) as $sClass) + { + if (self::IsAbstract($sClass)) continue; + + $sRes .= "//\n"; + $sRes .= "// Class: $sClass\n"; + $sRes .= "//\n"; + $sRes .= "\n"; + $sRes .= "Dict::Add('EN US', 'English', 'English', array(\n"; + $sRes .= " 'Class:$sClass' => '".self::GetName($sClass)."',\n"; + $sRes .= " 'Class:$sClass+' => '".self::GetClassDescription($sClass)."',\n"; + foreach(self::ListAttributeDefs($sClass) as $sAttCode => $oAttDef) + { + // Skip this attribute if not originaly defined in this class + if (self::$m_aAttribOrigins[$sClass][$sAttCode] != $sClass) continue; + + $sRes .= " 'Class:$sClass/Attribute:$sAttCode' => '".$oAttDef->GetLabel()."',\n"; + $sRes .= " 'Class:$sClass/Attribute:$sAttCode+' => '".$oAttDef->GetDescription()."',\n"; + if ($oAttDef instanceof AttributeEnum) + { + foreach ($oAttDef->GetAllowedValues() as $sKey => $value) + { + $sValue = str_replace("'", "\\'", $value); + $sRes .= " 'Class:$sClass/Attribute:$sAttCode/Value:$sKey' => '$sValue',\n"; + $sRes .= " 'Class:$sClass/Attribute:$sAttCode/Value:$sKey+' => '$sValue',\n"; + } + } + } + foreach(self::EnumStimuli($sClass) as $sStimulusCode => $oStimulus) + { + $sRes .= " 'Class:$sClass/Stimulus:$sStimulusCode' => '".$oStimulus->Get('label')."',\n"; + $sRes .= " 'Class:$sClass/Stimulus:$sStimulusCode+' => '".$oStimulus->Get('description')."',\n"; + } + + $sRes .= "));\n"; + $sRes .= "\n"; + } + } + return $sRes; + } + public static function DBCheckFormat() { $aErrors = array(); @@ -2625,6 +2719,12 @@ abstract class MetaModel { self::Plugin($sConfigFile, 'addons', $sToInclude); } + foreach ($oConfig->GetDictionaries() as $sModule => $sToInclude) + { + self::Plugin($sConfigFile, 'dictionaries', $sToInclude); + } + // Set the language... after the dictionaries have been loaded! + Dict::SetLanguage($oConfig->GetDefaultLanguage()); $sServer = $oConfig->GetDBHost(); $sUser = $oConfig->GetDBUser(); diff --git a/core/stimulus.class.inc.php b/core/stimulus.class.inc.php index d2326f6fc..76ce978d4 100644 --- a/core/stimulus.class.inc.php +++ b/core/stimulus.class.inc.php @@ -12,16 +12,42 @@ * @version 1.1.1.1 $ */ +// #@# Really dirty !!! +// #@# TO BE CLEANED -> ALIGN WITH OTHER METAMODEL DECLARATIONS + class ObjectStimulus { private $m_aParams = array(); + private $m_sHostClass = null; + private $m_sCode = null; public function __construct($aParams) { - $this->m_aParams = $aParams; + // obsolete: $this->m_aParams = $aParams; + $this->m_aParams['label'] = 'foo'; + $this->m_aParams['description'] = 'foo'; $this->ConsistencyCheck(); } + public function SetHostClass($sHostClass) + { + $this->m_sHostClass = $sHostClass; + } + public function GetHostClass() + { + return $this->m_sHostClass; + } + public function SetCode($sCode) + { + $this->m_sCode = $sCode; + $this->m_aParams['label'] = Dict::S('Class:'.$this->m_sHostClass.'/Stimulus:'.$this->m_sCode, $this->m_sCode); + $this->m_aParams['description'] = Dict::S('Class:'.$this->m_sHostClass.'/Stimulus:'.$this->m_sCode.'+', ''); + } + public function GetCode() + { + return $this->m_sCode; + } + public function Get($sParamName) {return $this->m_aParams[$sParamName];} // Note: I could factorize this code with the parameter management made for the AttributeDef class diff --git a/dictionaries/dictionary.itop.core.php b/dictionaries/dictionary.itop.core.php new file mode 100644 index 000000000..838dbe8b8 --- /dev/null +++ b/dictionaries/dictionary.itop.core.php @@ -0,0 +1,354 @@ + 'change', + 'Class:CMDBChange+' => 'Changes tracking', + 'Class:CMDBChange/Attribute:date' => 'date', + 'Class:CMDBChange/Attribute:date+' => 'date and time at which the changes have been recorded', + 'Class:CMDBChange/Attribute:userinfo' => 'misc. info', + 'Class:CMDBChange/Attribute:userinfo+' => 'caller\'s defined information', +)); + +// +// Class: CMDBChangeOp +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:CMDBChangeOp' => 'change operation', + 'Class:CMDBChangeOp+' => 'Change operations tracking', + 'Class:CMDBChangeOp/Attribute:change' => 'change', + 'Class:CMDBChangeOp/Attribute:change+' => 'change', + 'Class:CMDBChangeOp/Attribute:date' => 'date', + 'Class:CMDBChangeOp/Attribute:date+' => 'date and time of the change', + 'Class:CMDBChangeOp/Attribute:userinfo' => 'user', + 'Class:CMDBChangeOp/Attribute:userinfo+' => 'who made this change', + 'Class:CMDBChangeOp/Attribute:objclass' => 'object class', + 'Class:CMDBChangeOp/Attribute:objclass+' => 'object class', + 'Class:CMDBChangeOp/Attribute:objkey' => 'object id', + 'Class:CMDBChangeOp/Attribute:objkey+' => 'object id', + 'Class:CMDBChangeOp/Attribute:finalclass' => 'Class', + 'Class:CMDBChangeOp/Attribute:finalclass+' => 'Real (final) object class', +)); + +// +// Class: CMDBChangeOpCreate +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:CMDBChangeOpCreate' => 'object creation', + 'Class:CMDBChangeOpCreate+' => 'Object creation tracking', +)); + +// +// Class: CMDBChangeOpDelete +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:CMDBChangeOpDelete' => 'object deletion', + 'Class:CMDBChangeOpDelete+' => 'Object deletion tracking', +)); + +// +// Class: CMDBChangeOpSetAttribute +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:CMDBChangeOpSetAttribute' => 'object change', + 'Class:CMDBChangeOpSetAttribute+' => 'Object properties change tracking', + 'Class:CMDBChangeOpSetAttribute/Attribute:attcode' => 'Attribute', + 'Class:CMDBChangeOpSetAttribute/Attribute:attcode+' => 'code of the modified property', +)); + +// +// Class: CMDBChangeOpSetAttributeScalar +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:CMDBChangeOpSetAttributeScalar' => 'property change', + 'Class:CMDBChangeOpSetAttributeScalar+' => 'Object scalar properties change tracking', + 'Class:CMDBChangeOpSetAttributeScalar/Attribute:oldvalue' => 'Previous value', + 'Class:CMDBChangeOpSetAttributeScalar/Attribute:oldvalue+' => 'previous value of the attribute', + 'Class:CMDBChangeOpSetAttributeScalar/Attribute:newvalue' => 'New value', + 'Class:CMDBChangeOpSetAttributeScalar/Attribute:newvalue+' => 'new value of the attribute', +)); + +// +// Class: CMDBChangeOpSetAttributeBlob +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:CMDBChangeOpSetAttributeBlob' => 'data change', + 'Class:CMDBChangeOpSetAttributeBlob+' => 'data change tracking', + 'Class:CMDBChangeOpSetAttributeBlob/Attribute:prevdata' => 'Previous data', + 'Class:CMDBChangeOpSetAttributeBlob/Attribute:prevdata+' => 'previous contents of the attribute', +)); + +// +// Class: CMDBChangeOpSetAttributeText +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:CMDBChangeOpSetAttributeText' => 'text change', + 'Class:CMDBChangeOpSetAttributeText+' => 'text change tracking', + 'Class:CMDBChangeOpSetAttributeText/Attribute:prevdata' => 'Previous data', + 'Class:CMDBChangeOpSetAttributeText/Attribute:prevdata+' => 'previous contents of the attribute', +)); + +// +// Class: Event +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:Event' => 'Log Event', + 'Class:Event+' => 'An application internal event', + 'Class:Event/Attribute:message' => 'message', + 'Class:Event/Attribute:message+' => 'short description of the event', + 'Class:Event/Attribute:date' => 'date', + 'Class:Event/Attribute:date+' => 'date and time at which the changes have been recorded', + 'Class:Event/Attribute:userinfo' => 'user info', + 'Class:Event/Attribute:userinfo+' => 'identification of the user that was doing the action that triggered this event', + 'Class:Event/Attribute:finalclass' => 'Class', + 'Class:Event/Attribute:finalclass+' => 'Real (final) object class', +)); + +// +// Class: EventNotification +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:EventNotification' => 'Notification event', + 'Class:EventNotification+' => 'Trace of a notification that has been sent', + 'Class:EventNotification/Attribute:trigger_id' => 'Trigger', + 'Class:EventNotification/Attribute:trigger_id+' => 'user account', + 'Class:EventNotification/Attribute:action_id' => 'user', + 'Class:EventNotification/Attribute:action_id+' => 'user account', + 'Class:EventNotification/Attribute:object_id' => 'Object id', + 'Class:EventNotification/Attribute:object_id+' => 'object id (class defined by the trigger ?)', +)); + +// +// Class: EventNotificationEmail +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:EventNotificationEmail' => 'Email emission event', + 'Class:EventNotificationEmail+' => 'Trace of an email that has been sent', + 'Class:EventNotificationEmail/Attribute:to' => 'TO', + 'Class:EventNotificationEmail/Attribute:to+' => 'TO', + 'Class:EventNotificationEmail/Attribute:cc' => 'CC', + 'Class:EventNotificationEmail/Attribute:cc+' => 'CC', + 'Class:EventNotificationEmail/Attribute:bcc' => 'BCC', + 'Class:EventNotificationEmail/Attribute:bcc+' => 'BCC', + 'Class:EventNotificationEmail/Attribute:from' => 'From', + 'Class:EventNotificationEmail/Attribute:from+' => 'Sender of the message', + 'Class:EventNotificationEmail/Attribute:subject' => 'Subject', + 'Class:EventNotificationEmail/Attribute:subject+' => 'Subject', + 'Class:EventNotificationEmail/Attribute:body' => 'Body', + 'Class:EventNotificationEmail/Attribute:body+' => 'Body', +)); + +// +// Class: EventIssue +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:EventIssue' => 'Issue event', + 'Class:EventIssue+' => 'Trace of an issue (warning, error, etc.)', + 'Class:EventIssue/Attribute:issue' => 'Issue', + 'Class:EventIssue/Attribute:issue+' => 'What happened', + 'Class:EventIssue/Attribute:impact' => 'Impact', + 'Class:EventIssue/Attribute:impact+' => 'What are the consequences', + 'Class:EventIssue/Attribute:page' => 'Page', + 'Class:EventIssue/Attribute:page+' => 'HTTP entry point', + 'Class:EventIssue/Attribute:arguments_post' => 'Posted arguments', + 'Class:EventIssue/Attribute:arguments_post+' => 'HTTP POST arguments', + 'Class:EventIssue/Attribute:arguments_get' => 'URL arguments', + 'Class:EventIssue/Attribute:arguments_get+' => 'HTTP GET arguments', + 'Class:EventIssue/Attribute:callstack' => 'Callstack', + 'Class:EventIssue/Attribute:callstack+' => 'Call stack', + 'Class:EventIssue/Attribute:data' => 'Data', + 'Class:EventIssue/Attribute:data+' => 'More information', +)); + +// +// Class: EventWebService +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:EventWebService' => 'Web service event', + 'Class:EventWebService+' => 'Trace of an web service call', + 'Class:EventWebService/Attribute:verb' => 'Verb', + 'Class:EventWebService/Attribute:verb+' => 'Name of the operation', + 'Class:EventWebService/Attribute:result' => 'Result', + 'Class:EventWebService/Attribute:result+' => 'Overall success/failure', + 'Class:EventWebService/Attribute:log_info' => 'Info log', + 'Class:EventWebService/Attribute:log_info+' => 'Result info log', + 'Class:EventWebService/Attribute:log_warning' => 'Warning log', + 'Class:EventWebService/Attribute:log_warning+' => 'Result warning log', + 'Class:EventWebService/Attribute:log_error' => 'Error log', + 'Class:EventWebService/Attribute:log_error+' => 'Result error log', + 'Class:EventWebService/Attribute:data' => 'Data', + 'Class:EventWebService/Attribute:data+' => 'Result data', +)); + +// +// Class: Action +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:Action' => 'action', + 'Class:Action+' => 'Custom action', + 'Class:Action/Attribute:name' => 'Name', + 'Class:Action/Attribute:name+' => 'label', + 'Class:Action/Attribute:description' => 'Description', + 'Class:Action/Attribute:description+' => 'one line description', + 'Class:Action/Attribute:status' => 'Status', + 'Class:Action/Attribute:status+' => 'In production or ?', + 'Class:Action/Attribute:status/Value:test' => 'Being tested', + 'Class:Action/Attribute:status/Value:test+' => 'Being tested', + 'Class:Action/Attribute:status/Value:enabled' => 'In production', + 'Class:Action/Attribute:status/Value:enabled+' => 'In production', + 'Class:Action/Attribute:status/Value:disabled' => 'Inactive', + 'Class:Action/Attribute:status/Value:disabled+' => 'Inactive', + 'Class:Action/Attribute:related_triggers' => 'Related Triggers', + 'Class:Action/Attribute:related_triggers+' => 'Triggers linked to this action', + 'Class:Action/Attribute:finalclass' => 'Class', + 'Class:Action/Attribute:finalclass+' => 'Real (final) object class', +)); + +// +// Class: ActionNotification +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:ActionNotification' => 'notification', + 'Class:ActionNotification+' => 'Notification (abstract)', +)); + +// +// Class: ActionEmail +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:ActionEmail' => 'email notification', + 'Class:ActionEmail+' => 'Action: Email notification', + 'Class:ActionEmail/Attribute:test_recipient' => 'Test recipient', + 'Class:ActionEmail/Attribute:test_recipient+' => 'Detination in case status is set to "Test"', + 'Class:ActionEmail/Attribute:from' => 'From', + 'Class:ActionEmail/Attribute:from+' => 'Will be sent into the email header', + 'Class:ActionEmail/Attribute:reply_to' => 'Reply to', + 'Class:ActionEmail/Attribute:reply_to+' => 'Will be sent into the email header', + 'Class:ActionEmail/Attribute:to' => 'To', + 'Class:ActionEmail/Attribute:to+' => 'Destination of the email', + 'Class:ActionEmail/Attribute:cc' => 'Cc', + 'Class:ActionEmail/Attribute:cc+' => 'Carbon Copy', + 'Class:ActionEmail/Attribute:bcc' => 'bcc', + 'Class:ActionEmail/Attribute:bcc+' => 'Blind Carbon Copy', + 'Class:ActionEmail/Attribute:subject' => 'subject', + 'Class:ActionEmail/Attribute:subject+' => 'Title of the email', + 'Class:ActionEmail/Attribute:body' => 'body', + 'Class:ActionEmail/Attribute:body+' => 'Contents of the email', + 'Class:ActionEmail/Attribute:importance' => 'importance', + 'Class:ActionEmail/Attribute:importance+' => 'Importance flag', + 'Class:ActionEmail/Attribute:importance/Value:low' => 'low', + 'Class:ActionEmail/Attribute:importance/Value:low+' => 'low', + 'Class:ActionEmail/Attribute:importance/Value:normal' => 'normal', + 'Class:ActionEmail/Attribute:importance/Value:normal+' => 'normal', + 'Class:ActionEmail/Attribute:importance/Value:high' => 'high', + 'Class:ActionEmail/Attribute:importance/Value:high+' => 'high', +)); + +// +// Class: Trigger +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:Trigger' => 'trigger', + 'Class:Trigger+' => 'Custom event handler', + 'Class:Trigger/Attribute:description' => 'Description', + 'Class:Trigger/Attribute:description+' => 'one line description', + 'Class:Trigger/Attribute:linked_actions' => 'Triggered actions', + 'Class:Trigger/Attribute:linked_actions+' => 'Actions performed when the trigger is activated', + 'Class:Trigger/Attribute:finalclass' => 'Class', + 'Class:Trigger/Attribute:finalclass+' => 'Real (final) object class', +)); + +// +// Class: TriggerOnObject +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:TriggerOnObject' => 'Trigger on a class of objects', + 'Class:TriggerOnObject+' => 'Trigger on a given class of objects', + 'Class:TriggerOnObject/Attribute:target_class' => 'Target class', + 'Class:TriggerOnObject/Attribute:target_class+' => 'label', +)); + +// +// Class: TriggerOnStateChange +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:TriggerOnStateChange' => 'Trigger on object state change', + 'Class:TriggerOnStateChange+' => 'Trigger on object state change', + 'Class:TriggerOnStateChange/Attribute:state' => 'State', + 'Class:TriggerOnStateChange/Attribute:state+' => 'label', +)); + +// +// Class: TriggerOnStateEnter +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:TriggerOnStateEnter' => 'Trigger on object entering a state', + 'Class:TriggerOnStateEnter+' => 'Trigger on object state change - entering', +)); + +// +// Class: TriggerOnStateLeave +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:TriggerOnStateLeave' => 'Trigger on object leaving a state', + 'Class:TriggerOnStateLeave+' => 'Trigger on object state change - leaving', +)); + +// +// Class: TriggerOnObjectCreate +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:TriggerOnObjectCreate' => 'Trigger on object creation', + 'Class:TriggerOnObjectCreate+' => 'Trigger on object creation of [a child class of] the given class', +)); + +// +// Class: lnkTriggerAction +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:lnkTriggerAction' => 'Actions-Trigger', + 'Class:lnkTriggerAction+' => 'Link between a trigger and an action', + 'Class:lnkTriggerAction/Attribute:action_id' => 'Action', + 'Class:lnkTriggerAction/Attribute:action_id+' => 'The action to be executed', + 'Class:lnkTriggerAction/Attribute:action_name' => 'Action Name', + 'Class:lnkTriggerAction/Attribute:action_name+' => 'Name of the action', + 'Class:lnkTriggerAction/Attribute:trigger_id' => 'Trigger', + 'Class:lnkTriggerAction/Attribute:trigger_id+' => 'Trigger', + 'Class:lnkTriggerAction/Attribute:trigger_name' => 'Trigger Name', + 'Class:lnkTriggerAction/Attribute:trigger_name+' => 'Name of the trigger', + 'Class:lnkTriggerAction/Attribute:order' => 'Order', + 'Class:lnkTriggerAction/Attribute:order+' => 'Actions execution order', +)); + + +?> diff --git a/dictionaries/dictionary.itop.model.php b/dictionaries/dictionary.itop.model.php new file mode 100644 index 000000000..a98604f38 --- /dev/null +++ b/dictionaries/dictionary.itop.model.php @@ -0,0 +1,1383 @@ + +// Class:+ +// Class:/Attribute: +// Class:/Attribute:+ +// Class:/Attribute:/Value: +// Class:/Attribute:/Value:+ +// Class:/Stimulus: +// Class:/Stimulus:+ + +////////////////////////////////////////////////////////////////////// +// Note: The classes have been grouped by categories: bizmodel, core/cmdb, gui, application, addon/userrights +////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////// +// Classes in 'bizmodel' +////////////////////////////////////////////////////////////////////// +// + +// +// Class: bizOrganization +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizOrganization' => 'Organization', + 'Class:bizOrganization+' => 'Organizational structure: can be Company and/or Department', + 'Class:bizOrganization/Attribute:name' => 'Name', + 'Class:bizOrganization/Attribute:name+' => 'Common name', + 'Class:bizOrganization/Attribute:code' => 'Code', + 'Class:bizOrganization/Attribute:code+' => 'Organization code (Siret, DUNS,...)', + 'Class:bizOrganization/Attribute:status' => 'Status', + 'Class:bizOrganization/Attribute:status+' => 'Lifecycle status', + 'Class:bizOrganization/Attribute:status/Value:production' => 'production', + 'Class:bizOrganization/Attribute:status/Value:production+' => 'production', + 'Class:bizOrganization/Attribute:status/Value:implementation' => 'implementation', + 'Class:bizOrganization/Attribute:status/Value:implementation+' => 'implementation', + 'Class:bizOrganization/Attribute:status/Value:obsolete' => 'obsolete', + 'Class:bizOrganization/Attribute:status/Value:obsolete+' => 'obsolete', + 'Class:bizOrganization/Attribute:parent_id' => 'Parent', + 'Class:bizOrganization/Attribute:parent_id+' => 'Parent organization', + 'Class:bizOrganization/Attribute:parent_name' => 'Parent Name', + 'Class:bizOrganization/Attribute:parent_name+' => 'Name of the parent organization', +)); + +// +// Class: logRealObject +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:logRealObject' => 'Object', + 'Class:logRealObject+' => 'Any CMDB object', + 'Class:logRealObject/Attribute:name' => 'Name', + 'Class:logRealObject/Attribute:name+' => 'Common name', + 'Class:logRealObject/Attribute:status' => 'Status', + 'Class:logRealObject/Attribute:status+' => 'Lifecycle status', + 'Class:logRealObject/Attribute:status/Value:production' => 'production', + 'Class:logRealObject/Attribute:status/Value:production+' => 'production', + 'Class:logRealObject/Attribute:status/Value:implementation' => 'implementation', + 'Class:logRealObject/Attribute:status/Value:implementation+' => 'implementation', + 'Class:logRealObject/Attribute:status/Value:obsolete' => 'obsolete', + 'Class:logRealObject/Attribute:status/Value:obsolete+' => 'obsolete', + 'Class:logRealObject/Attribute:status/Value:off' => 'off', + 'Class:logRealObject/Attribute:status/Value:off+' => 'off', + 'Class:logRealObject/Attribute:status/Value:left company' => 'left company', + 'Class:logRealObject/Attribute:status/Value:left company+' => 'left company', + 'Class:logRealObject/Attribute:status/Value:available' => 'available', + 'Class:logRealObject/Attribute:status/Value:available+' => 'available', + 'Class:logRealObject/Attribute:org_id' => 'Organization', + 'Class:logRealObject/Attribute:org_id+' => 'ID of the object owner organization', + 'Class:logRealObject/Attribute:org_name' => 'Organization', + 'Class:logRealObject/Attribute:org_name+' => 'Company / Department owning this object', + 'Class:logRealObject/Attribute:finalclass' => 'Class', + 'Class:logRealObject/Attribute:finalclass+' => 'Real (final) object class', +)); + +// +// Class: bizContact +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizContact' => 'Contact', + 'Class:bizContact+' => 'Contact', + 'Class:bizContact/Attribute:status' => 'Status', + 'Class:bizContact/Attribute:status+' => 'Lifecycle status', + 'Class:bizContact/Attribute:status/Value:off' => 'off', + 'Class:bizContact/Attribute:status/Value:off+' => 'off', + 'Class:bizContact/Attribute:status/Value:left company' => 'left company', + 'Class:bizContact/Attribute:status/Value:left company+' => 'left company', + 'Class:bizContact/Attribute:status/Value:available' => 'available', + 'Class:bizContact/Attribute:status/Value:available+' => 'available', + 'Class:bizContact/Attribute:org_name' => 'Organization', + 'Class:bizContact/Attribute:org_name+' => 'Company / Department of the contact', + 'Class:bizContact/Attribute:email' => 'eMail', + 'Class:bizContact/Attribute:email+' => 'Email address', + 'Class:bizContact/Attribute:phone' => 'Phone', + 'Class:bizContact/Attribute:phone+' => 'Telephone', + 'Class:bizContact/Attribute:location_id' => 'Location', + 'Class:bizContact/Attribute:location_id+' => 'Id of the location where the contact is located', + 'Class:bizContact/Attribute:location_name' => 'Location Name', + 'Class:bizContact/Attribute:location_name+' => 'Name of the location where the contact is located', +)); + +// +// Class: bizPerson +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizPerson' => 'Person', + 'Class:bizPerson+' => 'Person', + 'Class:bizPerson/Attribute:first_name' => 'First Name', + 'Class:bizPerson/Attribute:first_name+' => 'First name', + 'Class:bizPerson/Attribute:employee_number' => 'Employee Number', + 'Class:bizPerson/Attribute:employee_number+' => 'employee number', +)); + +// +// Class: bizTeam +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizTeam' => 'Team', + 'Class:bizTeam+' => 'A group of contacts', +)); + +// +// Class: lnkContactTeam +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:lnkContactTeam' => 'TeamsLinks', + 'Class:lnkContactTeam+' => 'A link between a contact and a Team', + 'Class:lnkContactTeam/Attribute:contact_id' => 'Contact', + 'Class:lnkContactTeam/Attribute:contact_id+' => 'The contact', + 'Class:lnkContactTeam/Attribute:contact_name' => 'Contact Name', + 'Class:lnkContactTeam/Attribute:contact_name+' => 'name of the contact', + 'Class:lnkContactTeam/Attribute:contact_phone' => 'Phone', + 'Class:lnkContactTeam/Attribute:contact_phone+' => 'Phone number of the contact', + 'Class:lnkContactTeam/Attribute:contact_email' => 'eMail', + 'Class:lnkContactTeam/Attribute:contact_email+' => 'eMail address of the contact', + 'Class:lnkContactTeam/Attribute:team_id' => 'Team', + 'Class:lnkContactTeam/Attribute:team_id+' => 'Team linked', + 'Class:lnkContactTeam/Attribute:team_name' => 'Team', + 'Class:lnkContactTeam/Attribute:team_name+' => 'name of the Team', + 'Class:lnkContactTeam/Attribute:role' => 'Role', + 'Class:lnkContactTeam/Attribute:role+' => 'Role of the contact', +)); + +// +// Class: bizDocument +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizDocument' => 'Document', + 'Class:bizDocument+' => 'Document', + 'Class:bizDocument/Attribute:status' => 'Status', + 'Class:bizDocument/Attribute:status+' => 'Lifecycle status', + 'Class:bizDocument/Attribute:status/Value:production' => 'production', + 'Class:bizDocument/Attribute:status/Value:production+' => 'production', + 'Class:bizDocument/Attribute:status/Value:implementation' => 'implementation', + 'Class:bizDocument/Attribute:status/Value:implementation+' => 'implementation', + 'Class:bizDocument/Attribute:status/Value:obsolete' => 'obsolete', + 'Class:bizDocument/Attribute:status/Value:obsolete+' => 'obsolete', + 'Class:bizDocument/Attribute:org_name' => 'Organization', + 'Class:bizDocument/Attribute:org_name+' => 'Company / Department owning the document', + 'Class:bizDocument/Attribute:type' => 'type', + 'Class:bizDocument/Attribute:type+' => 'usage of the document', + 'Class:bizDocument/Attribute:type/Value:documentation' => 'documentation', + 'Class:bizDocument/Attribute:type/Value:documentation+' => 'documentation', + 'Class:bizDocument/Attribute:type/Value:contract' => 'contract', + 'Class:bizDocument/Attribute:type/Value:contract+' => 'contract', + 'Class:bizDocument/Attribute:type/Value:working instructions' => 'working instructions', + 'Class:bizDocument/Attribute:type/Value:working instructions+' => 'working instructions', + 'Class:bizDocument/Attribute:type/Value:network map' => 'network map', + 'Class:bizDocument/Attribute:type/Value:network map+' => 'network map', + 'Class:bizDocument/Attribute:type/Value:white paper' => 'white paper', + 'Class:bizDocument/Attribute:type/Value:white paper+' => 'white paper', + 'Class:bizDocument/Attribute:type/Value:presentation' => 'presentation', + 'Class:bizDocument/Attribute:type/Value:presentation+' => 'presentation', + 'Class:bizDocument/Attribute:type/Value:training' => 'training', + 'Class:bizDocument/Attribute:type/Value:training+' => 'training', + 'Class:bizDocument/Attribute:description' => 'Description', + 'Class:bizDocument/Attribute:description+' => 'Service Description', + 'Class:bizDocument/Attribute:contents' => 'Contents', + 'Class:bizDocument/Attribute:contents+' => 'File content', +)); + +// +// Class: lnkDocumentRealObject +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:lnkDocumentRealObject' => 'DocumentsLinks', + 'Class:lnkDocumentRealObject+' => 'A link between a document and another object', + 'Class:lnkDocumentRealObject/Attribute:doc_id' => 'Document', + 'Class:lnkDocumentRealObject/Attribute:doc_id+' => 'id of the Document', + 'Class:lnkDocumentRealObject/Attribute:doc_name' => 'Document Name', + 'Class:lnkDocumentRealObject/Attribute:doc_name+' => 'name of the document', + 'Class:lnkDocumentRealObject/Attribute:object_id' => 'Object', + 'Class:lnkDocumentRealObject/Attribute:object_id+' => 'Object linked', + 'Class:lnkDocumentRealObject/Attribute:object_name' => 'Object Name', + 'Class:lnkDocumentRealObject/Attribute:object_name+' => 'name of the linked object', + 'Class:lnkDocumentRealObject/Attribute:link_type' => 'Link Type', + 'Class:lnkDocumentRealObject/Attribute:link_type+' => 'More information', +)); + +// +// Class: lnkContactRealObject +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:lnkContactRealObject' => 'ContactsLinks', + 'Class:lnkContactRealObject+' => 'A link between a contact and another object', + 'Class:lnkContactRealObject/Attribute:contact_id' => 'Contact', + 'Class:lnkContactRealObject/Attribute:contact_id+' => 'The contact', + 'Class:lnkContactRealObject/Attribute:contact_name' => 'Contact Name', + 'Class:lnkContactRealObject/Attribute:contact_name+' => 'name of the contact', + 'Class:lnkContactRealObject/Attribute:contact_phone' => 'Phone', + 'Class:lnkContactRealObject/Attribute:contact_phone+' => 'Phone number of the contact', + 'Class:lnkContactRealObject/Attribute:contact_email' => 'eMail', + 'Class:lnkContactRealObject/Attribute:contact_email+' => 'eMail address of the contact', + 'Class:lnkContactRealObject/Attribute:object_id' => 'Object', + 'Class:lnkContactRealObject/Attribute:object_id+' => 'Object linked', + 'Class:lnkContactRealObject/Attribute:object_name' => 'Object Name', + 'Class:lnkContactRealObject/Attribute:object_name+' => 'name of the linked object', + 'Class:lnkContactRealObject/Attribute:role' => 'Role', + 'Class:lnkContactRealObject/Attribute:role+' => 'Role of the contact', +)); + +// +// Class: logInfra +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:logInfra' => 'Infra', + 'Class:logInfra+' => 'Infrastructure real object', + 'Class:logInfra/Attribute:status' => 'Status', + 'Class:logInfra/Attribute:status+' => 'Lifecycle status', + 'Class:logInfra/Attribute:status/Value:production' => 'production', + 'Class:logInfra/Attribute:status/Value:production+' => 'production', + 'Class:logInfra/Attribute:status/Value:implementation' => 'implementation', + 'Class:logInfra/Attribute:status/Value:implementation+' => 'implementation', + 'Class:logInfra/Attribute:status/Value:obsolete' => 'obsolete', + 'Class:logInfra/Attribute:status/Value:obsolete+' => 'obsolete', + 'Class:logInfra/Attribute:severity' => 'Business Criticity', + 'Class:logInfra/Attribute:severity+' => 'Severity for this infrastructure', + 'Class:logInfra/Attribute:severity/Value:high' => 'high', + 'Class:logInfra/Attribute:severity/Value:high+' => 'high', + 'Class:logInfra/Attribute:severity/Value:medium' => 'medium', + 'Class:logInfra/Attribute:severity/Value:medium+' => 'medium', + 'Class:logInfra/Attribute:severity/Value:low' => 'low', + 'Class:logInfra/Attribute:severity/Value:low+' => 'low', +)); + +// +// Class: lnkContactInfra +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:lnkContactInfra' => 'ContactsInfraLinks', + 'Class:lnkContactInfra+' => 'A link between a contact and an infrastructure', + 'Class:lnkContactInfra/Attribute:contact_id' => 'Contact', + 'Class:lnkContactInfra/Attribute:contact_id+' => 'The contact', + 'Class:lnkContactInfra/Attribute:contact_name' => 'Contact Name', + 'Class:lnkContactInfra/Attribute:contact_name+' => 'name of the contact', + 'Class:lnkContactInfra/Attribute:contact_phone' => 'Phone', + 'Class:lnkContactInfra/Attribute:contact_phone+' => 'Phone number of the contact', + 'Class:lnkContactInfra/Attribute:contact_email' => 'eMail', + 'Class:lnkContactInfra/Attribute:contact_email+' => 'eMail address of the contact', + 'Class:lnkContactInfra/Attribute:infra_id' => 'Infrastructure', + 'Class:lnkContactInfra/Attribute:infra_id+' => 'Infrastructure linked', + 'Class:lnkContactInfra/Attribute:infra_name' => 'Infrastructure', + 'Class:lnkContactInfra/Attribute:infra_name+' => 'name of the linked infrastructure', + 'Class:lnkContactInfra/Attribute:role' => 'Role', + 'Class:lnkContactInfra/Attribute:role+' => 'Role of the contact', +)); + +// +// Class: bizLocation +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizLocation' => 'Location', + 'Class:bizLocation+' => 'Any type of location: Region, Country, City, Site, Building, Floor, Room, Rack,...', + 'Class:bizLocation/Attribute:address' => 'Address', + 'Class:bizLocation/Attribute:address+' => 'The postal address of the location', + 'Class:bizLocation/Attribute:country' => 'Country', + 'Class:bizLocation/Attribute:country+' => 'Country of the location', + 'Class:bizLocation/Attribute:parent_location_id' => 'Parent Location', + 'Class:bizLocation/Attribute:parent_location_id+' => 'where is the real object physically located', + 'Class:bizLocation/Attribute:parent_location_name' => 'Parent location (Name)', + 'Class:bizLocation/Attribute:parent_location_name+' => 'name of the parent location', +)); + +// +// Class: bizCircuit +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizCircuit' => 'Circuit', + 'Class:bizCircuit+' => 'Any type of circuit', + 'Class:bizCircuit/Attribute:speed' => 'speed', + 'Class:bizCircuit/Attribute:speed+' => 'speed of the circuit', + 'Class:bizCircuit/Attribute:location1_id' => 'Location 1', + 'Class:bizCircuit/Attribute:location1_id+' => 'Id of the location 1', + 'Class:bizCircuit/Attribute:location1_name' => 'Location 1', + 'Class:bizCircuit/Attribute:location1_name+' => 'Name of the location', + 'Class:bizCircuit/Attribute:location2_id' => 'Location 2', + 'Class:bizCircuit/Attribute:location2_id+' => 'Id of the location 2', + 'Class:bizCircuit/Attribute:location2_name' => 'Location 2', + 'Class:bizCircuit/Attribute:location2_name+' => 'Name of the location', + 'Class:bizCircuit/Attribute:interface1_id' => 'Interface 1', + 'Class:bizCircuit/Attribute:interface1_id+' => 'id of the interface 1', + 'Class:bizCircuit/Attribute:interface1_name' => 'Interface', + 'Class:bizCircuit/Attribute:interface1_name+' => 'Name of the interface 1', + 'Class:bizCircuit/Attribute:device1_name' => 'Device 1', + 'Class:bizCircuit/Attribute:device1_name+' => 'Name of the device 1', + 'Class:bizCircuit/Attribute:interface2_id' => 'Interface 2', + 'Class:bizCircuit/Attribute:interface2_id+' => 'id of the interface 2', + 'Class:bizCircuit/Attribute:interface2_name' => 'Interface', + 'Class:bizCircuit/Attribute:interface2_name+' => 'Name of the interface 2', + 'Class:bizCircuit/Attribute:device2_name' => 'Interface', + 'Class:bizCircuit/Attribute:device2_name+' => 'Name of the device 2', + 'Class:bizCircuit/Attribute:provider_id' => 'Carrier ID', + 'Class:bizCircuit/Attribute:provider_id+' => 'Organization ID of the provider of the Circuit', + 'Class:bizCircuit/Attribute:carrier_name' => 'Carrier', + 'Class:bizCircuit/Attribute:carrier_name+' => 'Name of the carrier', + 'Class:bizCircuit/Attribute:carrier_ref' => 'Carrier reference', + 'Class:bizCircuit/Attribute:carrier_ref+' => 'reference of the circuit used by the carrier', +)); + +// +// Class: bizInterface +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizInterface' => 'Interface', + 'Class:bizInterface+' => 'Interface', + 'Class:bizInterface/Attribute:device_id' => 'Device', + 'Class:bizInterface/Attribute:device_id+' => 'Device on which the interface is physically located', + 'Class:bizInterface/Attribute:device_name' => 'Device', + 'Class:bizInterface/Attribute:device_name+' => 'name of the device on which the interface is located', + 'Class:bizInterface/Attribute:device_location_id' => 'Device location', + 'Class:bizInterface/Attribute:device_location_id+' => 'location of the device on which the interface is located', + 'Class:bizInterface/Attribute:device_location_name' => 'Device location', + 'Class:bizInterface/Attribute:device_location_name+' => 'name of the location of the device on which the interface is located', + 'Class:bizInterface/Attribute:logical_type' => 'Logical type', + 'Class:bizInterface/Attribute:logical_type+' => 'Logical type of interface', + 'Class:bizInterface/Attribute:logical_type/Value:primary' => 'primary', + 'Class:bizInterface/Attribute:logical_type/Value:primary+' => 'primary', + 'Class:bizInterface/Attribute:logical_type/Value:secondary' => 'secondary', + 'Class:bizInterface/Attribute:logical_type/Value:secondary+' => 'secondary', + 'Class:bizInterface/Attribute:logical_type/Value:backup' => 'backup', + 'Class:bizInterface/Attribute:logical_type/Value:backup+' => 'backup', + 'Class:bizInterface/Attribute:logical_type/Value:port' => 'port', + 'Class:bizInterface/Attribute:logical_type/Value:port+' => 'port', + 'Class:bizInterface/Attribute:logical_type/Value:logical' => 'logical', + 'Class:bizInterface/Attribute:logical_type/Value:logical+' => 'logical', + 'Class:bizInterface/Attribute:physical_type' => 'Physical type', + 'Class:bizInterface/Attribute:physical_type+' => 'Physical type of interface', + 'Class:bizInterface/Attribute:physical_type/Value:ethernet' => 'ethernet', + 'Class:bizInterface/Attribute:physical_type/Value:ethernet+' => 'ethernet', + 'Class:bizInterface/Attribute:physical_type/Value:framerelay' => 'framerelay', + 'Class:bizInterface/Attribute:physical_type/Value:framerelay+' => 'framerelay', + 'Class:bizInterface/Attribute:physical_type/Value:atm' => 'atm', + 'Class:bizInterface/Attribute:physical_type/Value:atm+' => 'atm', + 'Class:bizInterface/Attribute:physical_type/Value:vlan' => 'vlan', + 'Class:bizInterface/Attribute:physical_type/Value:vlan+' => 'vlan', + 'Class:bizInterface/Attribute:ip_address' => 'IP address', + 'Class:bizInterface/Attribute:ip_address+' => 'address IP for this interface', + 'Class:bizInterface/Attribute:mask' => 'Subnet Mask', + 'Class:bizInterface/Attribute:mask+' => 'Subnet mask for this interface', + 'Class:bizInterface/Attribute:mac' => 'MAC address', + 'Class:bizInterface/Attribute:mac+' => 'MAC address for this interface', + 'Class:bizInterface/Attribute:speed' => 'Speed (Kb/s)', + 'Class:bizInterface/Attribute:speed+' => 'speed of this interface', + 'Class:bizInterface/Attribute:duplex' => 'Duplex', + 'Class:bizInterface/Attribute:duplex+' => 'Duplex configured for this interface', + 'Class:bizInterface/Attribute:duplex/Value:half' => 'half', + 'Class:bizInterface/Attribute:duplex/Value:half+' => 'half', + 'Class:bizInterface/Attribute:duplex/Value:full' => 'full', + 'Class:bizInterface/Attribute:duplex/Value:full+' => 'full', + 'Class:bizInterface/Attribute:duplex/Value:unknown' => 'unknown', + 'Class:bizInterface/Attribute:duplex/Value:unknown+' => 'unknown', + 'Class:bizInterface/Attribute:if_connected_id' => 'Connected interface', + 'Class:bizInterface/Attribute:if_connected_id+' => 'interface connected to this one', + 'Class:bizInterface/Attribute:if_connected_name' => 'Connected interface', + 'Class:bizInterface/Attribute:if_connected_name+' => 'name of the interface connected to this one', + 'Class:bizInterface/Attribute:if_connected_device' => 'Connected device', + 'Class:bizInterface/Attribute:if_connected_device+' => 'name of the device connected to this interface', +)); + +// +// Class: bizSubnet +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizSubnet' => 'Subnet', + 'Class:bizSubnet+' => 'Logical or physical subnet', + 'Class:bizSubnet/Attribute:ip' => 'IP', + 'Class:bizSubnet/Attribute:ip+' => 'IP', + 'Class:bizSubnet/Attribute:mask' => 'IP mask', + 'Class:bizSubnet/Attribute:mask+' => 'IP mask', +)); + +// +// Class: bizDevice +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizDevice' => 'Device', + 'Class:bizDevice+' => 'Electronic devices', + 'Class:bizDevice/Attribute:location_id' => 'Location', + 'Class:bizDevice/Attribute:location_id+' => 'where is the located object physically located', + 'Class:bizDevice/Attribute:location_name' => 'Location Name', + 'Class:bizDevice/Attribute:location_name+' => 'name of the location', + 'Class:bizDevice/Attribute:country' => 'Country', + 'Class:bizDevice/Attribute:country+' => 'country where the device is located', + 'Class:bizDevice/Attribute:brand' => 'Brand', + 'Class:bizDevice/Attribute:brand+' => 'The manufacturer of the device', + 'Class:bizDevice/Attribute:model' => 'Model', + 'Class:bizDevice/Attribute:model+' => 'The model number of the device', + 'Class:bizDevice/Attribute:serial_number' => 'Serial Number', + 'Class:bizDevice/Attribute:serial_number+' => 'The serial number of the device', + 'Class:bizDevice/Attribute:mgmt_ip' => 'Mgmt IP', + 'Class:bizDevice/Attribute:mgmt_ip+' => 'Management IP', +)); + +// +// Class: bizPC +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizPC' => 'PC', + 'Class:bizPC+' => 'Personal Computers', + 'Class:bizPC/Attribute:type' => 'Type', + 'Class:bizPC/Attribute:type+' => 'Type of computer', + 'Class:bizPC/Attribute:type/Value:desktop PC' => 'desktop PC', + 'Class:bizPC/Attribute:type/Value:desktop PC+' => 'desktop PC', + 'Class:bizPC/Attribute:type/Value:laptop' => 'laptop', + 'Class:bizPC/Attribute:type/Value:laptop+' => 'laptop', + 'Class:bizPC/Attribute:memory_size' => 'Memory Size', + 'Class:bizPC/Attribute:memory_size+' => 'Size of the memory', + 'Class:bizPC/Attribute:cpu' => 'CPU', + 'Class:bizPC/Attribute:cpu+' => 'CPU type', + 'Class:bizPC/Attribute:hdd_size' => 'HDD Size', + 'Class:bizPC/Attribute:hdd_size+' => 'Size of the hard drive', + 'Class:bizPC/Attribute:os_family' => 'OS Family', + 'Class:bizPC/Attribute:os_family+' => 'Type of operating system', + 'Class:bizPC/Attribute:os_version' => 'OS Version', + 'Class:bizPC/Attribute:os_version+' => 'Detailed version number of the operating system', + 'Class:bizPC/Attribute:shipment_number' => 'Shipment Code', + 'Class:bizPC/Attribute:shipment_number+' => 'Number for tracking shipment', + 'Class:bizPC/Attribute:default_gateway' => 'Default Gateway', + 'Class:bizPC/Attribute:default_gateway+' => 'Default Gateway for this device', +)); + +// +// Class: bizServer +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizServer' => 'Server', + 'Class:bizServer+' => 'Computer Servers', + 'Class:bizServer/Attribute:memory_size' => 'Memory Size', + 'Class:bizServer/Attribute:memory_size+' => 'Size of the memory', + 'Class:bizServer/Attribute:cpu' => 'CPU type', + 'Class:bizServer/Attribute:cpu+' => 'CPU type', + 'Class:bizServer/Attribute:number_of_cpus' => 'Number of CPUs', + 'Class:bizServer/Attribute:number_of_cpus+' => 'Number of CPUs', + 'Class:bizServer/Attribute:hdd_size' => 'HDD Size', + 'Class:bizServer/Attribute:hdd_size+' => 'Size of the hard drive', + 'Class:bizServer/Attribute:hdd_free_size' => 'Free HDD Size', + 'Class:bizServer/Attribute:hdd_free_size+' => 'Size of the free space on the hard drive(s)', + 'Class:bizServer/Attribute:os_family' => 'OS Family', + 'Class:bizServer/Attribute:os_family+' => 'Type of operating system', + 'Class:bizServer/Attribute:os_version' => 'OS Version', + 'Class:bizServer/Attribute:os_version+' => 'Detailed version number of the operating system', + 'Class:bizServer/Attribute:shipment_number' => 'Shipment number', + 'Class:bizServer/Attribute:shipment_number+' => 'Number for tracking shipment', + 'Class:bizServer/Attribute:default_gateway' => 'Default Gateway', + 'Class:bizServer/Attribute:default_gateway+' => 'Default Gateway for this device', +)); + +// +// Class: bizNetworkDevice +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizNetworkDevice' => 'Network Device', + 'Class:bizNetworkDevice+' => 'A network device', + 'Class:bizNetworkDevice/Attribute:type' => 'Type', + 'Class:bizNetworkDevice/Attribute:type+' => 'Type of device', + 'Class:bizNetworkDevice/Attribute:type/Value:switch' => 'switch', + 'Class:bizNetworkDevice/Attribute:type/Value:switch+' => 'switch', + 'Class:bizNetworkDevice/Attribute:type/Value:router' => 'router', + 'Class:bizNetworkDevice/Attribute:type/Value:router+' => 'router', + 'Class:bizNetworkDevice/Attribute:type/Value:firewall' => 'firewall', + 'Class:bizNetworkDevice/Attribute:type/Value:firewall+' => 'firewall', + 'Class:bizNetworkDevice/Attribute:type/Value:load balancer' => 'load balancer', + 'Class:bizNetworkDevice/Attribute:type/Value:load balancer+' => 'load balancer', + 'Class:bizNetworkDevice/Attribute:type/Value:hub' => 'hub', + 'Class:bizNetworkDevice/Attribute:type/Value:hub+' => 'hub', + 'Class:bizNetworkDevice/Attribute:type/Value:WAN accelerator' => 'WAN accelerator', + 'Class:bizNetworkDevice/Attribute:type/Value:WAN accelerator+' => 'WAN accelerator', + 'Class:bizNetworkDevice/Attribute:default_gateway' => 'Default Gateway', + 'Class:bizNetworkDevice/Attribute:default_gateway+' => 'Default Gateway for this device', + 'Class:bizNetworkDevice/Attribute:ios_version' => 'IOS version', + 'Class:bizNetworkDevice/Attribute:ios_version+' => 'IOS (software) version', + 'Class:bizNetworkDevice/Attribute:memory' => 'Memory', + 'Class:bizNetworkDevice/Attribute:memory+' => 'Memory description', + 'Class:bizNetworkDevice/Attribute:snmp_read' => 'SNMP Community (Read)', + 'Class:bizNetworkDevice/Attribute:snmp_read+' => 'SNMP Read Community String', + 'Class:bizNetworkDevice/Attribute:snmp_write' => 'SNMP Community (Write)', + 'Class:bizNetworkDevice/Attribute:snmp_write+' => 'SNMP Write Community String', +)); + +// +// Class: bizInfraGroup +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizInfraGroup' => 'Infra Group', + 'Class:bizInfraGroup+' => 'A group of infrastructure elements', + 'Class:bizInfraGroup/Attribute:type' => 'Type', + 'Class:bizInfraGroup/Attribute:type+' => 'Type of groupe', + 'Class:bizInfraGroup/Attribute:type/Value:Monitoring' => 'Monitoring', + 'Class:bizInfraGroup/Attribute:type/Value:Monitoring+' => 'Monitoring', + 'Class:bizInfraGroup/Attribute:type/Value:Reporting' => 'Reporting', + 'Class:bizInfraGroup/Attribute:type/Value:Reporting+' => 'Reporting', + 'Class:bizInfraGroup/Attribute:type/Value:list' => 'list', + 'Class:bizInfraGroup/Attribute:type/Value:list+' => 'list', + 'Class:bizInfraGroup/Attribute:description' => 'Description', + 'Class:bizInfraGroup/Attribute:description+' => 'usage of the Group', + 'Class:bizInfraGroup/Attribute:parent_group_id' => 'Parent Group', + 'Class:bizInfraGroup/Attribute:parent_group_id+' => 'including group', + 'Class:bizInfraGroup/Attribute:parent_group_name' => 'Parent Group (Name)', + 'Class:bizInfraGroup/Attribute:parent_group_name+' => 'name of the parent group', +)); + +// +// Class: bizApplication +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizApplication' => 'Application', + 'Class:bizApplication+' => 'General application', + 'Class:bizApplication/Attribute:device_id' => 'Hosting device', + 'Class:bizApplication/Attribute:device_id+' => 'The device where application is installed', + 'Class:bizApplication/Attribute:device_name' => 'Hosting device', + 'Class:bizApplication/Attribute:device_name+' => 'Name of the device where application is installed', + 'Class:bizApplication/Attribute:install_date' => 'Installation Date', + 'Class:bizApplication/Attribute:install_date+' => 'Date when application was installed', + 'Class:bizApplication/Attribute:version' => 'Version', + 'Class:bizApplication/Attribute:version+' => 'Application version', + 'Class:bizApplication/Attribute:function' => 'Function', + 'Class:bizApplication/Attribute:function+' => 'Function provided by this application', +)); + +// +// Class: lnkInfraGrouping +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:lnkInfraGrouping' => 'Infra Grouping', + 'Class:lnkInfraGrouping+' => 'Infra part of an Infra Group', + 'Class:lnkInfraGrouping/Attribute:infra_id' => 'Infrastructure', + 'Class:lnkInfraGrouping/Attribute:infra_id+' => 'Infrastructure part of the group', + 'Class:lnkInfraGrouping/Attribute:infra_name' => 'Infrastructure Name', + 'Class:lnkInfraGrouping/Attribute:infra_name+' => 'Name of the impacted infrastructure', + 'Class:lnkInfraGrouping/Attribute:infra_status' => 'Status', + 'Class:lnkInfraGrouping/Attribute:infra_status+' => 'Status of the impacted infrastructure', + 'Class:lnkInfraGrouping/Attribute:infra_group_id' => 'Group', + 'Class:lnkInfraGrouping/Attribute:infra_group_id+' => 'Name of the group', + 'Class:lnkInfraGrouping/Attribute:group_name' => 'Group Name', + 'Class:lnkInfraGrouping/Attribute:group_name+' => 'Name of the group containing infrastructure', + 'Class:lnkInfraGrouping/Attribute:impact' => 'Relation', + 'Class:lnkInfraGrouping/Attribute:impact+' => 'Relation between this group and infra', +)); + +// +// Class: lnkClientServer +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:lnkClientServer' => 'ClientServerLinks', + 'Class:lnkClientServer+' => 'Link between client server application', + 'Class:lnkClientServer/Attribute:status' => 'Status', + 'Class:lnkClientServer/Attribute:status+' => 'Lifecycle status', + 'Class:lnkClientServer/Attribute:status/Value:production' => 'production', + 'Class:lnkClientServer/Attribute:status/Value:production+' => 'production', + 'Class:lnkClientServer/Attribute:status/Value:implementation' => 'implementation', + 'Class:lnkClientServer/Attribute:status/Value:implementation+' => 'implementation', + 'Class:lnkClientServer/Attribute:status/Value:obsolete' => 'obsolete', + 'Class:lnkClientServer/Attribute:status/Value:obsolete+' => 'obsolete', + 'Class:lnkClientServer/Attribute:client_id' => 'Client', + 'Class:lnkClientServer/Attribute:client_id+' => 'The client part of the link', + 'Class:lnkClientServer/Attribute:client_name' => 'Client', + 'Class:lnkClientServer/Attribute:client_name+' => 'Name of the client', + 'Class:lnkClientServer/Attribute:server_id' => 'Server', + 'Class:lnkClientServer/Attribute:server_id+' => 'the server part of the link', + 'Class:lnkClientServer/Attribute:server_name' => 'Server', + 'Class:lnkClientServer/Attribute:server_name+' => 'Name of the server', + 'Class:lnkClientServer/Attribute:relation' => 'Relation', + 'Class:lnkClientServer/Attribute:relation+' => 'Type of relation between both application', +)); + +// +// Class: bizPatch +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizPatch' => 'Patch', + 'Class:bizPatch+' => 'Patch installed on infrastucture', + 'Class:bizPatch/Attribute:status' => 'Status', + 'Class:bizPatch/Attribute:status+' => 'Lifecycle status', + 'Class:bizPatch/Attribute:status/Value:production' => 'production', + 'Class:bizPatch/Attribute:status/Value:production+' => 'production', + 'Class:bizPatch/Attribute:status/Value:obsolete' => 'obsolete', + 'Class:bizPatch/Attribute:status/Value:obsolete+' => 'obsolete', + 'Class:bizPatch/Attribute:device_id' => 'Device', + 'Class:bizPatch/Attribute:device_id+' => 'The Device where patch is installed', + 'Class:bizPatch/Attribute:device_name' => 'Device Name', + 'Class:bizPatch/Attribute:device_name+' => 'Name of the impacted device', + 'Class:bizPatch/Attribute:install_date' => 'Installation Date', + 'Class:bizPatch/Attribute:install_date+' => 'Date when application was installed', + 'Class:bizPatch/Attribute:description' => 'Description', + 'Class:bizPatch/Attribute:description+' => 'description du patch', + 'Class:bizPatch/Attribute:patch_type' => 'Type', + 'Class:bizPatch/Attribute:patch_type+' => 'type de patch', +)); + +// +// Class: bizIncidentTicket +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizIncidentTicket' => 'Incident', + 'Class:bizIncidentTicket+' => 'Incident ticket', + 'Class:bizIncidentTicket/Attribute:name' => 'Ticket Ref', + 'Class:bizIncidentTicket/Attribute:name+' => 'Refence number ofr this incident', + 'Class:bizIncidentTicket/Attribute:title' => 'Title', + 'Class:bizIncidentTicket/Attribute:title+' => 'Overview of the Incident', + 'Class:bizIncidentTicket/Attribute:type' => 'Type', + 'Class:bizIncidentTicket/Attribute:type+' => 'Type of the Incident', + 'Class:bizIncidentTicket/Attribute:type/Value:Network' => 'Network', + 'Class:bizIncidentTicket/Attribute:type/Value:Network+' => 'Network', + 'Class:bizIncidentTicket/Attribute:type/Value:Server' => 'Server', + 'Class:bizIncidentTicket/Attribute:type/Value:Server+' => 'Server', + 'Class:bizIncidentTicket/Attribute:type/Value:Desktop' => 'Desktop', + 'Class:bizIncidentTicket/Attribute:type/Value:Desktop+' => 'Desktop', + 'Class:bizIncidentTicket/Attribute:type/Value:Application' => 'Application', + 'Class:bizIncidentTicket/Attribute:type/Value:Application+' => 'Application', + 'Class:bizIncidentTicket/Attribute:org_id' => 'Customer', + 'Class:bizIncidentTicket/Attribute:org_id+' => 'who is impacted by the ticket', + 'Class:bizIncidentTicket/Attribute:customer_name' => 'Customer', + 'Class:bizIncidentTicket/Attribute:customer_name+' => 'Name of the customer impacted by this ticket', + 'Class:bizIncidentTicket/Attribute:ticket_status' => 'Status', + 'Class:bizIncidentTicket/Attribute:ticket_status+' => 'Status of the ticket', + 'Class:bizIncidentTicket/Attribute:ticket_status/Value:New' => 'New', + 'Class:bizIncidentTicket/Attribute:ticket_status/Value:New+' => 'New', + 'Class:bizIncidentTicket/Attribute:ticket_status/Value:Assigned' => 'Assigned', + 'Class:bizIncidentTicket/Attribute:ticket_status/Value:Assigned+' => 'Assigned', + 'Class:bizIncidentTicket/Attribute:ticket_status/Value:WorkInProgress' => 'WorkInProgress', + 'Class:bizIncidentTicket/Attribute:ticket_status/Value:WorkInProgress+' => 'WorkInProgress', + 'Class:bizIncidentTicket/Attribute:ticket_status/Value:Resolved' => 'Resolved', + 'Class:bizIncidentTicket/Attribute:ticket_status/Value:Resolved+' => 'Resolved', + 'Class:bizIncidentTicket/Attribute:ticket_status/Value:Closed' => 'Closed', + 'Class:bizIncidentTicket/Attribute:ticket_status/Value:Closed+' => 'Closed', + 'Class:bizIncidentTicket/Attribute:initial_situation' => 'Initial Situation', + 'Class:bizIncidentTicket/Attribute:initial_situation+' => 'Initial situation of the Incident', + 'Class:bizIncidentTicket/Attribute:current_situation' => 'Current Situation', + 'Class:bizIncidentTicket/Attribute:current_situation+' => 'Current situation of the Incident', + 'Class:bizIncidentTicket/Attribute:start_date' => 'Starting date', + 'Class:bizIncidentTicket/Attribute:start_date+' => 'Incident starting date', + 'Class:bizIncidentTicket/Attribute:last_update' => 'Last update', + 'Class:bizIncidentTicket/Attribute:last_update+' => 'last time the Ticket was modified', + 'Class:bizIncidentTicket/Attribute:next_update' => 'Next update', + 'Class:bizIncidentTicket/Attribute:next_update+' => 'next time the Ticket is expected to be modified', + 'Class:bizIncidentTicket/Attribute:end_date' => 'Closure Date', + 'Class:bizIncidentTicket/Attribute:end_date+' => 'Date when the Ticket was closed', + 'Class:bizIncidentTicket/Attribute:caller_id' => 'Caller', + 'Class:bizIncidentTicket/Attribute:caller_id+' => 'person that trigger incident', + 'Class:bizIncidentTicket/Attribute:caller_mail' => 'Caller', + 'Class:bizIncidentTicket/Attribute:caller_mail+' => 'Person that trigger this incident', + 'Class:bizIncidentTicket/Attribute:impact' => 'Impact', + 'Class:bizIncidentTicket/Attribute:impact+' => 'Impact of the Incident', + 'Class:bizIncidentTicket/Attribute:workgroup_id' => 'Workgroup', + 'Class:bizIncidentTicket/Attribute:workgroup_id+' => 'which workgroup is owning ticket', + 'Class:bizIncidentTicket/Attribute:workgroup_name' => 'Workgroup', + 'Class:bizIncidentTicket/Attribute:workgroup_name+' => 'name of workgroup managing the Ticket', + 'Class:bizIncidentTicket/Attribute:agent_id' => 'Agent', + 'Class:bizIncidentTicket/Attribute:agent_id+' => 'who is managing the ticket', + 'Class:bizIncidentTicket/Attribute:agent_mail' => 'Agent', + 'Class:bizIncidentTicket/Attribute:agent_mail+' => 'mail of agent managing the Ticket', + 'Class:bizIncidentTicket/Attribute:action_log' => 'Action Logs', + 'Class:bizIncidentTicket/Attribute:action_log+' => 'List all action performed during the incident', + 'Class:bizIncidentTicket/Attribute:severity' => 'Severity', + 'Class:bizIncidentTicket/Attribute:severity+' => 'Field defining the criticity if the incident', + 'Class:bizIncidentTicket/Attribute:severity/Value:critical' => 'critical', + 'Class:bizIncidentTicket/Attribute:severity/Value:critical+' => 'critical', + 'Class:bizIncidentTicket/Attribute:severity/Value:medium' => 'medium', + 'Class:bizIncidentTicket/Attribute:severity/Value:medium+' => 'medium', + 'Class:bizIncidentTicket/Attribute:severity/Value:low' => 'low', + 'Class:bizIncidentTicket/Attribute:severity/Value:low+' => 'low', + 'Class:bizIncidentTicket/Attribute:assignment_count' => 'Assignment Count', + 'Class:bizIncidentTicket/Attribute:assignment_count+' => 'Number of times this ticket was assigned or reassigned', + 'Class:bizIncidentTicket/Attribute:resolution' => 'Resolution', + 'Class:bizIncidentTicket/Attribute:resolution+' => 'Description of the resolution', + 'Class:bizIncidentTicket/Attribute:impacted_infra_manual' => 'Impacted Infrastructure', + 'Class:bizIncidentTicket/Attribute:impacted_infra_manual+' => 'CIs that are not meeting the SLA', + 'Class:bizIncidentTicket/Attribute:related_tickets' => 'Related Tickets', + 'Class:bizIncidentTicket/Attribute:related_tickets+' => 'Other incident tickets related to this one', + 'Class:bizIncidentTicket/Attribute:contacts_a_notifier' => 'contacts auto', + 'Class:bizIncidentTicket/Attribute:contacts_a_notifier+' => 'blah', + 'Class:bizIncidentTicket/Stimulus:ev_assign' => 'Assign this ticket', + 'Class:bizIncidentTicket/Stimulus:ev_assign+' => 'Assign this ticket to a group and an agent', + 'Class:bizIncidentTicket/Stimulus:ev_reassign' => 'Reassign this ticket', + 'Class:bizIncidentTicket/Stimulus:ev_reassign+' => 'Reassign this ticket to a different group and agent', + 'Class:bizIncidentTicket/Stimulus:ev_start_working' => 'Work on this ticket', + 'Class:bizIncidentTicket/Stimulus:ev_start_working+' => 'Start working on this ticket', + 'Class:bizIncidentTicket/Stimulus:ev_resolve' => 'Resolve this ticket', + 'Class:bizIncidentTicket/Stimulus:ev_resolve+' => 'Resolve this ticket', + 'Class:bizIncidentTicket/Stimulus:ev_close' => 'Close this ticket', + 'Class:bizIncidentTicket/Stimulus:ev_close+' => 'Close this ticket', +)); + +// +// Class: lnkRelatedTicket +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:lnkRelatedTicket' => 'Related Ticket', + 'Class:lnkRelatedTicket+' => 'Ticket related to a ticket', + 'Class:lnkRelatedTicket/Attribute:rel_ticket_id' => 'Related Ticket', + 'Class:lnkRelatedTicket/Attribute:rel_ticket_id+' => 'The related ticket', + 'Class:lnkRelatedTicket/Attribute:rel_ticket_name' => 'Related ticket', + 'Class:lnkRelatedTicket/Attribute:rel_ticket_name+' => 'Name of the related ticket', + 'Class:lnkRelatedTicket/Attribute:ticket_id' => 'Ticket', + 'Class:lnkRelatedTicket/Attribute:ticket_id+' => 'Ticket number', + 'Class:lnkRelatedTicket/Attribute:ticket_name' => 'Ticket Name', + 'Class:lnkRelatedTicket/Attribute:ticket_name+' => 'Name of the ticket', + 'Class:lnkRelatedTicket/Attribute:impact' => 'Impact', + 'Class:lnkRelatedTicket/Attribute:impact+' => 'Impact on the related ticket', +)); + +// +// Class: lnkInfraTicket +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:lnkInfraTicket' => 'Infra Ticket', + 'Class:lnkInfraTicket+' => 'Infra impacted by a ticket', + 'Class:lnkInfraTicket/Attribute:infra_id' => 'Infrastructure', + 'Class:lnkInfraTicket/Attribute:infra_id+' => 'The infrastructure impacted', + 'Class:lnkInfraTicket/Attribute:infra_name' => 'Infrastructure Name', + 'Class:lnkInfraTicket/Attribute:infra_name+' => 'Name of the impacted infrastructure', + 'Class:lnkInfraTicket/Attribute:ticket_id' => 'Ticket #', + 'Class:lnkInfraTicket/Attribute:ticket_id+' => 'Ticket number', + 'Class:lnkInfraTicket/Attribute:ticket_name' => 'Ticket Name', + 'Class:lnkInfraTicket/Attribute:ticket_name+' => 'Name of the ticket', + 'Class:lnkInfraTicket/Attribute:impact' => 'Impact', + 'Class:lnkInfraTicket/Attribute:impact+' => 'Level of impact of the infra by the related ticket', +)); + +// +// Class: lnkContactTicket +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:lnkContactTicket' => 'Contact Ticket', + 'Class:lnkContactTicket+' => 'Contacts to be notify for a ticket', + 'Class:lnkContactTicket/Attribute:contact_id' => 'Contact', + 'Class:lnkContactTicket/Attribute:contact_id+' => 'Contact to Notify', + 'Class:lnkContactTicket/Attribute:contact_email' => 'Contact email', + 'Class:lnkContactTicket/Attribute:contact_email+' => 'Mail for the contact', + 'Class:lnkContactTicket/Attribute:ticket_id' => 'Ticket #', + 'Class:lnkContactTicket/Attribute:ticket_id+' => 'Ticket number', + 'Class:lnkContactTicket/Attribute:ticket_name' => 'Ticket Name', + 'Class:lnkContactTicket/Attribute:ticket_name+' => 'Name of the ticket', + 'Class:lnkContactTicket/Attribute:role' => 'Role', + 'Class:lnkContactTicket/Attribute:role+' => 'Role of the contact', +)); + +// +// Class: bizWorkgroup +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizWorkgroup' => 'Workgroup', + 'Class:bizWorkgroup+' => 'Call tracking workgroup', + 'Class:bizWorkgroup/Attribute:status' => 'Status', + 'Class:bizWorkgroup/Attribute:status+' => 'Lifecycle status', + 'Class:bizWorkgroup/Attribute:status/Value:production' => 'production', + 'Class:bizWorkgroup/Attribute:status/Value:production+' => 'production', + 'Class:bizWorkgroup/Attribute:status/Value:implementation' => 'implementation', + 'Class:bizWorkgroup/Attribute:status/Value:implementation+' => 'implementation', + 'Class:bizWorkgroup/Attribute:status/Value:obsolete' => 'obsolete', + 'Class:bizWorkgroup/Attribute:status/Value:obsolete+' => 'obsolete', + 'Class:bizWorkgroup/Attribute:org_name' => 'Organization', + 'Class:bizWorkgroup/Attribute:org_name+' => 'Company / Department owning this object', + 'Class:bizWorkgroup/Attribute:team_id' => 'Team', + 'Class:bizWorkgroup/Attribute:team_id+' => 'Team owning the workgroup', + 'Class:bizWorkgroup/Attribute:team_name' => 'Team Name', + 'Class:bizWorkgroup/Attribute:team_name+' => 'name of the team', + 'Class:bizWorkgroup/Attribute:role' => 'Role', + 'Class:bizWorkgroup/Attribute:role+' => 'Role of this work group', +)); + +// +// Class: bizService +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizService' => 'Service', + 'Class:bizService+' => 'Service provided by an organization', + 'Class:bizService/Attribute:name' => 'Name', + 'Class:bizService/Attribute:name+' => 'Name of the service', + 'Class:bizService/Attribute:org_id' => 'Provider', + 'Class:bizService/Attribute:org_id+' => 'Provider for this service', + 'Class:bizService/Attribute:provider_name' => 'Provider', + 'Class:bizService/Attribute:provider_name+' => 'name of the Provider', + 'Class:bizService/Attribute:service_category' => 'Service Category', + 'Class:bizService/Attribute:service_category+' => 'Category for this contract', + 'Class:bizService/Attribute:service_category/Value:Server' => 'Server', + 'Class:bizService/Attribute:service_category/Value:Server+' => 'Server', + 'Class:bizService/Attribute:service_category/Value:Network' => 'Network', + 'Class:bizService/Attribute:service_category/Value:Network+' => 'Network', + 'Class:bizService/Attribute:service_category/Value:End-User' => 'End-User', + 'Class:bizService/Attribute:service_category/Value:End-User+' => 'End-User', + 'Class:bizService/Attribute:service_category/Value:Desktop' => 'Desktop', + 'Class:bizService/Attribute:service_category/Value:Desktop+' => 'Desktop', + 'Class:bizService/Attribute:service_category/Value:Application' => 'Application', + 'Class:bizService/Attribute:service_category/Value:Application+' => 'Application', + 'Class:bizService/Attribute:description' => 'Description', + 'Class:bizService/Attribute:description+' => 'Description of this service', + 'Class:bizService/Attribute:status' => 'Status', + 'Class:bizService/Attribute:status+' => 'Status of the service', + 'Class:bizService/Attribute:status/Value:New' => 'New', + 'Class:bizService/Attribute:status/Value:New+' => 'New', + 'Class:bizService/Attribute:status/Value:Implementation' => 'Implementation', + 'Class:bizService/Attribute:status/Value:Implementation+' => 'Implementation', + 'Class:bizService/Attribute:status/Value:Production' => 'Production', + 'Class:bizService/Attribute:status/Value:Production+' => 'Production', + 'Class:bizService/Attribute:status/Value:Obsolete' => 'Obsolete', + 'Class:bizService/Attribute:status/Value:Obsolete+' => 'Obsolete', + 'Class:bizService/Attribute:type' => 'Type', + 'Class:bizService/Attribute:type+' => 'Type of the service', + 'Class:bizService/Attribute:type/Value:Hardware' => 'Hardware', + 'Class:bizService/Attribute:type/Value:Hardware+' => 'Hardware', + 'Class:bizService/Attribute:type/Value:Software' => 'Software', + 'Class:bizService/Attribute:type/Value:Software+' => 'Software', + 'Class:bizService/Attribute:type/Value:Support' => 'Support', + 'Class:bizService/Attribute:type/Value:Support+' => 'Support', +)); + +// +// Class: bizContract +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizContract' => 'Contract', + 'Class:bizContract+' => 'Contract signed by an organization', + 'Class:bizContract/Attribute:name' => 'Name', + 'Class:bizContract/Attribute:name+' => 'Name of the contract', + 'Class:bizContract/Attribute:org_id' => 'Customer', + 'Class:bizContract/Attribute:org_id+' => 'Customer for this contract', + 'Class:bizContract/Attribute:customer_name' => 'Customer', + 'Class:bizContract/Attribute:customer_name+' => 'name of the Customer', + 'Class:bizContract/Attribute:service_id' => 'Service', + 'Class:bizContract/Attribute:service_id+' => 'Provider for this contract', + 'Class:bizContract/Attribute:provider_name' => 'Provider', + 'Class:bizContract/Attribute:provider_name+' => 'name of the service provider', + 'Class:bizContract/Attribute:service_name' => 'Service', + 'Class:bizContract/Attribute:service_name+' => 'name of the service', + 'Class:bizContract/Attribute:team_id' => 'Team', + 'Class:bizContract/Attribute:team_id+' => 'Team managing this contract', + 'Class:bizContract/Attribute:team_name' => 'Team', + 'Class:bizContract/Attribute:team_name+' => 'name of the team managing this contract', + 'Class:bizContract/Attribute:service_level' => 'Service Level', + 'Class:bizContract/Attribute:service_level+' => 'Level of service for this contract', + 'Class:bizContract/Attribute:service_level/Value:Gold' => 'Gold', + 'Class:bizContract/Attribute:service_level/Value:Gold+' => 'Gold', + 'Class:bizContract/Attribute:service_level/Value:Silver' => 'Silver', + 'Class:bizContract/Attribute:service_level/Value:Silver+' => 'Silver', + 'Class:bizContract/Attribute:service_level/Value:Bronze' => 'Bronze', + 'Class:bizContract/Attribute:service_level/Value:Bronze+' => 'Bronze', + 'Class:bizContract/Attribute:cost_unit' => 'Cost Unit', + 'Class:bizContract/Attribute:cost_unit+' => 'Cost unit to compute global cost for this contract', + 'Class:bizContract/Attribute:cost_unit/Value:Devices' => 'Devices', + 'Class:bizContract/Attribute:cost_unit/Value:Devices+' => 'Devices', + 'Class:bizContract/Attribute:cost_unit/Value:Persons' => 'Persons', + 'Class:bizContract/Attribute:cost_unit/Value:Persons+' => 'Persons', + 'Class:bizContract/Attribute:cost_unit/Value:Applications' => 'Applications', + 'Class:bizContract/Attribute:cost_unit/Value:Applications+' => 'Applications', + 'Class:bizContract/Attribute:cost_unit/Value:Global' => 'Global', + 'Class:bizContract/Attribute:cost_unit/Value:Global+' => 'Global', + 'Class:bizContract/Attribute:cost_freq' => 'Billing frequency', + 'Class:bizContract/Attribute:cost_freq+' => 'Frequency of cost for this contract', + 'Class:bizContract/Attribute:cost_freq/Value:Monthly' => 'Monthly', + 'Class:bizContract/Attribute:cost_freq/Value:Monthly+' => 'Monthly', + 'Class:bizContract/Attribute:cost_freq/Value:Yearly' => 'Yearly', + 'Class:bizContract/Attribute:cost_freq/Value:Yearly+' => 'Yearly', + 'Class:bizContract/Attribute:cost_freq/Value:Once' => 'Once', + 'Class:bizContract/Attribute:cost_freq/Value:Once+' => 'Once', + 'Class:bizContract/Attribute:cost' => 'Cost', + 'Class:bizContract/Attribute:cost+' => 'Cost of this contract', + 'Class:bizContract/Attribute:currency' => 'Currency', + 'Class:bizContract/Attribute:currency+' => 'Currency of cost for this contract', + 'Class:bizContract/Attribute:currency/Value:Euros' => 'Euros', + 'Class:bizContract/Attribute:currency/Value:Euros+' => 'Euros', + 'Class:bizContract/Attribute:currency/Value:Dollars' => 'Dollars', + 'Class:bizContract/Attribute:currency/Value:Dollars+' => 'Dollars', + 'Class:bizContract/Attribute:description' => 'Description', + 'Class:bizContract/Attribute:description+' => 'Description of this contract', + 'Class:bizContract/Attribute:move2prod_date' => 'Date of Move To Production', + 'Class:bizContract/Attribute:move2prod_date+' => 'Date when the contract is on production', + 'Class:bizContract/Attribute:end_prod' => 'Date of End Of Production', + 'Class:bizContract/Attribute:end_prod+' => 'Date when the contract is stopped', + 'Class:bizContract/Attribute:status' => 'Status', + 'Class:bizContract/Attribute:status+' => 'Status of the contract', + 'Class:bizContract/Attribute:status/Value:New' => 'New', + 'Class:bizContract/Attribute:status/Value:New+' => 'New', + 'Class:bizContract/Attribute:status/Value:Negotiating' => 'Negotiating', + 'Class:bizContract/Attribute:status/Value:Negotiating+' => 'Negotiating', + 'Class:bizContract/Attribute:status/Value:Signed' => 'Signed', + 'Class:bizContract/Attribute:status/Value:Signed+' => 'Signed', + 'Class:bizContract/Attribute:status/Value:Production' => 'Production', + 'Class:bizContract/Attribute:status/Value:Production+' => 'Production', + 'Class:bizContract/Attribute:status/Value:Finished' => 'Finished', + 'Class:bizContract/Attribute:status/Value:Finished+' => 'Finished', + 'Class:bizContract/Attribute:type' => 'Type', + 'Class:bizContract/Attribute:type+' => 'Type of the contract', + 'Class:bizContract/Attribute:type/Value:Hardware' => 'Hardware', + 'Class:bizContract/Attribute:type/Value:Hardware+' => 'Hardware', + 'Class:bizContract/Attribute:type/Value:Software' => 'Software', + 'Class:bizContract/Attribute:type/Value:Software+' => 'Software', + 'Class:bizContract/Attribute:type/Value:Support' => 'Support', + 'Class:bizContract/Attribute:type/Value:Support+' => 'Support', + 'Class:bizContract/Attribute:type/Value:Licence' => 'Licence', + 'Class:bizContract/Attribute:type/Value:Licence+' => 'Licence', + 'Class:bizContract/Attribute:version_number' => 'Version', + 'Class:bizContract/Attribute:version_number+' => 'Revision number for this contract', +)); + +// +// Class: lnkInfraContract +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:lnkInfraContract' => 'InfraContractLinks', + 'Class:lnkInfraContract+' => 'Infra covered by a contract', + 'Class:lnkInfraContract/Attribute:infra_id' => 'Infrastructure', + 'Class:lnkInfraContract/Attribute:infra_id+' => 'The infrastructure impacted', + 'Class:lnkInfraContract/Attribute:infra_name' => 'Infrastructure Name', + 'Class:lnkInfraContract/Attribute:infra_name+' => 'Name of the impacted infrastructure', + 'Class:lnkInfraContract/Attribute:infra_status' => 'Status', + 'Class:lnkInfraContract/Attribute:infra_status+' => 'Status of the impacted infrastructure', + 'Class:lnkInfraContract/Attribute:contract_id' => 'Contract', + 'Class:lnkInfraContract/Attribute:contract_id+' => 'Contract id', + 'Class:lnkInfraContract/Attribute:contract_name' => 'Contract Name', + 'Class:lnkInfraContract/Attribute:contract_name+' => 'Name of the contract', + 'Class:lnkInfraContract/Attribute:coverage' => 'Coverage', + 'Class:lnkInfraContract/Attribute:coverage+' => 'coverage for the given infra', + 'Class:lnkInfraContract/Attribute:service_level' => 'Service Level', + 'Class:lnkInfraContract/Attribute:service_level+' => 'service level for the given infra', +)); + +// +// Class: lnkContactContract +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:lnkContactContract' => 'ContactContractLink', + 'Class:lnkContactContract+' => 'Contact associated to a contract', + 'Class:lnkContactContract/Attribute:contact_id' => 'Contact', + 'Class:lnkContactContract/Attribute:contact_id+' => 'The contact linked to contract', + 'Class:lnkContactContract/Attribute:contact_mail' => 'Contact E-mail', + 'Class:lnkContactContract/Attribute:contact_mail+' => 'Mail for the contact', + 'Class:lnkContactContract/Attribute:contract_id' => 'Contract', + 'Class:lnkContactContract/Attribute:contract_id+' => 'Contract ID', + 'Class:lnkContactContract/Attribute:contract_name' => 'Contract Name', + 'Class:lnkContactContract/Attribute:contract_name+' => 'Name of the contract', + 'Class:lnkContactContract/Attribute:role' => 'Role', + 'Class:lnkContactContract/Attribute:role+' => 'Role of this contact for this contract', +)); + +// +// Class: lnkDocumentContract +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:lnkDocumentContract' => 'DocumentsContractLinks', + 'Class:lnkDocumentContract+' => 'A link between a document and another contract', + 'Class:lnkDocumentContract/Attribute:doc_id' => 'Document', + 'Class:lnkDocumentContract/Attribute:doc_id+' => 'id of the Document', + 'Class:lnkDocumentContract/Attribute:doc_name' => 'Document Name', + 'Class:lnkDocumentContract/Attribute:doc_name+' => 'name of the document', + 'Class:lnkDocumentContract/Attribute:contract_id' => 'Contract', + 'Class:lnkDocumentContract/Attribute:contract_id+' => 'Contract linked to this document', + 'Class:lnkDocumentContract/Attribute:contract_name' => 'Contract Name', + 'Class:lnkDocumentContract/Attribute:contract_name+' => 'name of the linked contract', + 'Class:lnkDocumentContract/Attribute:link_type' => 'Link Type', + 'Class:lnkDocumentContract/Attribute:link_type+' => 'More information', +)); + +// +// Class: bizChangeTicket +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizChangeTicket' => 'Change', + 'Class:bizChangeTicket+' => 'Change ticket', + 'Class:bizChangeTicket/Attribute:name' => 'Ticket Ref', + 'Class:bizChangeTicket/Attribute:name+' => 'Refence number ofr this change', + 'Class:bizChangeTicket/Attribute:title' => 'Title', + 'Class:bizChangeTicket/Attribute:title+' => 'Overview of the Change', + 'Class:bizChangeTicket/Attribute:type' => 'Change Type', + 'Class:bizChangeTicket/Attribute:type+' => 'Type of the Change', + 'Class:bizChangeTicket/Attribute:domain' => 'Domain', + 'Class:bizChangeTicket/Attribute:domain+' => 'Domain for the Change', + 'Class:bizChangeTicket/Attribute:reason' => 'Reason For Change', + 'Class:bizChangeTicket/Attribute:reason+' => 'Reason for the Change', + 'Class:bizChangeTicket/Attribute:requestor_id' => 'Requestor', + 'Class:bizChangeTicket/Attribute:requestor_id+' => 'who is requesting this change', + 'Class:bizChangeTicket/Attribute:requestor_mail' => 'Requestor', + 'Class:bizChangeTicket/Attribute:requestor_mail+' => 'mail of user requesting this change', + 'Class:bizChangeTicket/Attribute:org_id' => 'Customer', + 'Class:bizChangeTicket/Attribute:org_id+' => 'who is impacted by the ticket', + 'Class:bizChangeTicket/Attribute:customer_name' => 'Customer', + 'Class:bizChangeTicket/Attribute:customer_name+' => 'Name of the customer impacted by this ticket', + 'Class:bizChangeTicket/Attribute:ticket_status' => 'Status', + 'Class:bizChangeTicket/Attribute:ticket_status+' => 'Status of the ticket', + 'Class:bizChangeTicket/Attribute:ticket_status/Value:New' => 'New', + 'Class:bizChangeTicket/Attribute:ticket_status/Value:New+' => 'New', + 'Class:bizChangeTicket/Attribute:ticket_status/Value:Validated' => 'Validated', + 'Class:bizChangeTicket/Attribute:ticket_status/Value:Validated+' => 'Validated', + 'Class:bizChangeTicket/Attribute:ticket_status/Value:Rejected' => 'Rejected', + 'Class:bizChangeTicket/Attribute:ticket_status/Value:Rejected+' => 'Rejected', + 'Class:bizChangeTicket/Attribute:ticket_status/Value:Assigned' => 'Assigned', + 'Class:bizChangeTicket/Attribute:ticket_status/Value:Assigned+' => 'Assigned', + 'Class:bizChangeTicket/Attribute:ticket_status/Value:PlannedScheduled' => 'PlannedScheduled', + 'Class:bizChangeTicket/Attribute:ticket_status/Value:PlannedScheduled+' => 'PlannedScheduled', + 'Class:bizChangeTicket/Attribute:ticket_status/Value:Approved' => 'Approved', + 'Class:bizChangeTicket/Attribute:ticket_status/Value:Approved+' => 'Approved', + 'Class:bizChangeTicket/Attribute:ticket_status/Value:NotApproved' => 'NotApproved', + 'Class:bizChangeTicket/Attribute:ticket_status/Value:NotApproved+' => 'NotApproved', + 'Class:bizChangeTicket/Attribute:ticket_status/Value:Implemented' => 'Implemented', + 'Class:bizChangeTicket/Attribute:ticket_status/Value:Implemented+' => 'Implemented', + 'Class:bizChangeTicket/Attribute:ticket_status/Value:Monitored' => 'Monitored', + 'Class:bizChangeTicket/Attribute:ticket_status/Value:Monitored+' => 'Monitored', + 'Class:bizChangeTicket/Attribute:ticket_status/Value:Closed' => 'Closed', + 'Class:bizChangeTicket/Attribute:ticket_status/Value:Closed+' => 'Closed', + 'Class:bizChangeTicket/Attribute:creation_date' => 'Creation Date', + 'Class:bizChangeTicket/Attribute:creation_date+' => 'Change creation date', + 'Class:bizChangeTicket/Attribute:last_update' => 'Last Update', + 'Class:bizChangeTicket/Attribute:last_update+' => 'last time the Ticket was modified', + 'Class:bizChangeTicket/Attribute:start_date' => 'Start Date', + 'Class:bizChangeTicket/Attribute:start_date+' => 'Time the change is expected to start', + 'Class:bizChangeTicket/Attribute:end_date' => 'End Date', + 'Class:bizChangeTicket/Attribute:end_date+' => 'Date when the change is supposed to end', + 'Class:bizChangeTicket/Attribute:close_date' => 'Closure Date', + 'Class:bizChangeTicket/Attribute:close_date+' => 'Date when the Ticket was closed', + 'Class:bizChangeTicket/Attribute:impact' => 'Risk Assessment', + 'Class:bizChangeTicket/Attribute:impact+' => 'Impact of the change', + 'Class:bizChangeTicket/Attribute:workgroup_id' => 'Workgroup', + 'Class:bizChangeTicket/Attribute:workgroup_id+' => 'which workgroup is owning ticket', + 'Class:bizChangeTicket/Attribute:workgroup_name' => 'Workgroup', + 'Class:bizChangeTicket/Attribute:workgroup_name+' => 'name of workgroup managing the Ticket', + 'Class:bizChangeTicket/Attribute:agent_id' => 'Agent', + 'Class:bizChangeTicket/Attribute:agent_id+' => 'who is managing the ticket', + 'Class:bizChangeTicket/Attribute:agent_mail' => 'Agent', + 'Class:bizChangeTicket/Attribute:agent_mail+' => 'name of agent managing the Ticket', + 'Class:bizChangeTicket/Attribute:supervisorgroup_id' => 'Supervisor Group', + 'Class:bizChangeTicket/Attribute:supervisorgroup_id+' => 'which workgroup is supervising ticket', + 'Class:bizChangeTicket/Attribute:supervisorgroup_name' => 'Supervisor Group', + 'Class:bizChangeTicket/Attribute:supervisorgroup_name+' => 'name of the group supervising the Ticket', + 'Class:bizChangeTicket/Attribute:supervisor_id' => 'Supervisor', + 'Class:bizChangeTicket/Attribute:supervisor_id+' => 'who is managing the ticket', + 'Class:bizChangeTicket/Attribute:supervisor_mail' => 'Supervisor', + 'Class:bizChangeTicket/Attribute:supervisor_mail+' => 'name of agent supervising the Ticket', + 'Class:bizChangeTicket/Attribute:managergroup_id' => 'Manager Group', + 'Class:bizChangeTicket/Attribute:managergroup_id+' => 'which workgroup is approving ticket', + 'Class:bizChangeTicket/Attribute:managergroup_name' => 'Manager Group', + 'Class:bizChangeTicket/Attribute:managergroup_name+' => 'name of workgroup approving the Ticket', + 'Class:bizChangeTicket/Attribute:manager_id' => 'Manager', + 'Class:bizChangeTicket/Attribute:manager_id+' => 'who is approving the ticket', + 'Class:bizChangeTicket/Attribute:manager_mail' => 'Manager', + 'Class:bizChangeTicket/Attribute:manager_mail+' => 'name of agent approving the Ticket', + 'Class:bizChangeTicket/Attribute:outage' => 'Planned Outage', + 'Class:bizChangeTicket/Attribute:outage+' => 'Flag to define if there is a planned outage', + 'Class:bizChangeTicket/Attribute:outage/Value:Yes' => 'Yes', + 'Class:bizChangeTicket/Attribute:outage/Value:Yes+' => 'Yes', + 'Class:bizChangeTicket/Attribute:outage/Value:No' => 'No', + 'Class:bizChangeTicket/Attribute:outage/Value:No+' => 'No', + 'Class:bizChangeTicket/Attribute:change_request' => 'Change Request', + 'Class:bizChangeTicket/Attribute:change_request+' => 'Description of Change required', + 'Class:bizChangeTicket/Attribute:change_log' => 'Implementation Log', + 'Class:bizChangeTicket/Attribute:change_log+' => 'List all action performed during the change', + 'Class:bizChangeTicket/Attribute:fallback' => 'Fallback Plan', + 'Class:bizChangeTicket/Attribute:fallback+' => 'Instruction to come back to former situation', + 'Class:bizChangeTicket/Attribute:assignment_count' => 'Assignment Count', + 'Class:bizChangeTicket/Attribute:assignment_count+' => 'Number of times this ticket was assigned or reassigned', + 'Class:bizChangeTicket/Attribute:impacted_infra_manual' => 'Impacted Infrastructure', + 'Class:bizChangeTicket/Attribute:impacted_infra_manual+' => 'CIs that are impacted by this change', + 'Class:bizChangeTicket/Stimulus:ev_validate' => 'Validate this change', + 'Class:bizChangeTicket/Stimulus:ev_validate+' => 'Make sure it is a valid change request', + 'Class:bizChangeTicket/Stimulus:ev_reject' => 'Reject this change', + 'Class:bizChangeTicket/Stimulus:ev_reject+' => 'This change request is rejected because it is a non valid one', + 'Class:bizChangeTicket/Stimulus:ev_assign' => 'Assign this change', + 'Class:bizChangeTicket/Stimulus:ev_assign+' => 'This change request is assigned', + 'Class:bizChangeTicket/Stimulus:ev_reopen' => 'Modify this change', + 'Class:bizChangeTicket/Stimulus:ev_reopen+' => 'Update change request to make it valid', + 'Class:bizChangeTicket/Stimulus:ev_plan' => 'Plan this change', + 'Class:bizChangeTicket/Stimulus:ev_plan+' => 'Plan and Schedule this change for validation', + 'Class:bizChangeTicket/Stimulus:ev_approve' => 'Approve this change', + 'Class:bizChangeTicket/Stimulus:ev_approve+' => 'This change is approved by CAB', + 'Class:bizChangeTicket/Stimulus:ev_replan' => 'Update planning and schedule', + 'Class:bizChangeTicket/Stimulus:ev_replan+' => 'Modify Plan and Schedule in order to have this change re-validated', + 'Class:bizChangeTicket/Stimulus:ev_notapprove' => 'Not approve this change', + 'Class:bizChangeTicket/Stimulus:ev_notapprove+' => 'This change is not approved by CAB', + 'Class:bizChangeTicket/Stimulus:ev_implement' => 'Implement this change', + 'Class:bizChangeTicket/Stimulus:ev_implement+' => 'Implementation pahse for current change', + 'Class:bizChangeTicket/Stimulus:ev_monitor' => 'Monitor this change', + 'Class:bizChangeTicket/Stimulus:ev_monitor+' => 'Starting monitoring period for this change', + 'Class:bizChangeTicket/Stimulus:ev_finish' => 'Close change', + 'Class:bizChangeTicket/Stimulus:ev_finish+' => 'Change is done, and can be closed', +)); + +// +// Class: lnkInfraChangeTicket +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:lnkInfraChangeTicket' => 'Infra Change Ticket', + 'Class:lnkInfraChangeTicket+' => 'Infra impacted by a Change ticket', + 'Class:lnkInfraChangeTicket/Attribute:infra_id' => 'Infrastructure', + 'Class:lnkInfraChangeTicket/Attribute:infra_id+' => 'The infrastructure impacted', + 'Class:lnkInfraChangeTicket/Attribute:infra_name' => 'Infrastructure Name', + 'Class:lnkInfraChangeTicket/Attribute:infra_name+' => 'Name of the impacted infrastructure', + 'Class:lnkInfraChangeTicket/Attribute:ticket_id' => 'Ticket', + 'Class:lnkInfraChangeTicket/Attribute:ticket_id+' => 'Ticket number', + 'Class:lnkInfraChangeTicket/Attribute:ticket_name' => 'Ticket Name', + 'Class:lnkInfraChangeTicket/Attribute:ticket_name+' => 'Name of the ticket', + 'Class:lnkInfraChangeTicket/Attribute:impact' => 'Impact', + 'Class:lnkInfraChangeTicket/Attribute:impact+' => 'Level of impact of the infra by the related ticket', +)); + +// +// Class: lnkContactChange +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:lnkContactChange' => 'ContactChangeLink', + 'Class:lnkContactChange+' => 'Contact associated to a change', + 'Class:lnkContactChange/Attribute:contact_id' => 'Contact', + 'Class:lnkContactChange/Attribute:contact_id+' => 'The contact linked to contract', + 'Class:lnkContactChange/Attribute:contact_mail' => 'Contact E-mail', + 'Class:lnkContactChange/Attribute:contact_mail+' => 'Mail for the contact', + 'Class:lnkContactChange/Attribute:change_id' => 'Change Ticket', + 'Class:lnkContactChange/Attribute:change_id+' => 'Change ticket ID', + 'Class:lnkContactChange/Attribute:change_number' => 'Change Ticket', + 'Class:lnkContactChange/Attribute:change_number+' => 'Ticket number for this change', + 'Class:lnkContactChange/Attribute:role' => 'Role', + 'Class:lnkContactChange/Attribute:role+' => 'Role of this contact for this change', +)); + +// +// Class: bizKnownError +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizKnownError' => 'Known Error', + 'Class:bizKnownError+' => 'Error documented for a known issue', + 'Class:bizKnownError/Attribute:name' => 'Name', + 'Class:bizKnownError/Attribute:name+' => 'Name to identify this error', + 'Class:bizKnownError/Attribute:org_id' => 'Organization', + 'Class:bizKnownError/Attribute:org_id+' => 'Organization for this known error', + 'Class:bizKnownError/Attribute:cust_name' => 'Organization', + 'Class:bizKnownError/Attribute:cust_name+' => 'Company / Department owning this object', + 'Class:bizKnownError/Attribute:symptom' => 'Symptom', + 'Class:bizKnownError/Attribute:symptom+' => 'Description of this error', + 'Class:bizKnownError/Attribute:root_cause' => 'Root cause', + 'Class:bizKnownError/Attribute:root_cause+' => 'Original cause for this known error', + 'Class:bizKnownError/Attribute:workaround' => 'Workaround', + 'Class:bizKnownError/Attribute:workaround+' => 'Work around to fix this error', + 'Class:bizKnownError/Attribute:solution' => 'Solution', + 'Class:bizKnownError/Attribute:solution+' => 'Description of this contract', + 'Class:bizKnownError/Attribute:error_code' => 'Error Code', + 'Class:bizKnownError/Attribute:error_code+' => 'Key word to identify error', + 'Class:bizKnownError/Attribute:domain' => 'Domain', + 'Class:bizKnownError/Attribute:domain+' => 'Domain for this known error, network, desktop, ...', + 'Class:bizKnownError/Attribute:domain/Value:Network' => 'Network', + 'Class:bizKnownError/Attribute:domain/Value:Network+' => 'Network', + 'Class:bizKnownError/Attribute:domain/Value:Server' => 'Server', + 'Class:bizKnownError/Attribute:domain/Value:Server+' => 'Server', + 'Class:bizKnownError/Attribute:domain/Value:Application' => 'Application', + 'Class:bizKnownError/Attribute:domain/Value:Application+' => 'Application', + 'Class:bizKnownError/Attribute:domain/Value:Desktop' => 'Desktop', + 'Class:bizKnownError/Attribute:domain/Value:Desktop+' => 'Desktop', + 'Class:bizKnownError/Attribute:vendor' => 'Vendor', + 'Class:bizKnownError/Attribute:vendor+' => 'Vendor concerned by this known error', + 'Class:bizKnownError/Attribute:model' => 'Model', + 'Class:bizKnownError/Attribute:model+' => 'Model concerned by this known error, it may be an application, a device ...', + 'Class:bizKnownError/Attribute:version' => 'Version', + 'Class:bizKnownError/Attribute:version+' => 'Version related to model impacted by known error', +)); + +// +// Class: lnkInfraError +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:lnkInfraError' => 'InfraErrorLinks', + 'Class:lnkInfraError+' => 'Infra related to a known error', + 'Class:lnkInfraError/Attribute:infra_id' => 'Infrastructure', + 'Class:lnkInfraError/Attribute:infra_id+' => 'The infrastructure impacted', + 'Class:lnkInfraError/Attribute:infra_name' => 'Infrastructure Name', + 'Class:lnkInfraError/Attribute:infra_name+' => 'Name of the impacted infrastructure', + 'Class:lnkInfraError/Attribute:infra_status' => 'Status', + 'Class:lnkInfraError/Attribute:infra_status+' => 'Status of the impacted infrastructure', + 'Class:lnkInfraError/Attribute:error_id' => 'Error', + 'Class:lnkInfraError/Attribute:error_id+' => 'Error id', + 'Class:lnkInfraError/Attribute:error_name' => 'Error Name', + 'Class:lnkInfraError/Attribute:error_name+' => 'Name of the error', +)); + +// +// Class: lnkDocumentError +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:lnkDocumentError' => 'DocumentsErrorLinks', + 'Class:lnkDocumentError+' => 'A link between a document and a known error', + 'Class:lnkDocumentError/Attribute:doc_id' => 'Document', + 'Class:lnkDocumentError/Attribute:doc_id+' => 'id of the Document', + 'Class:lnkDocumentError/Attribute:doc_name' => 'Document Name', + 'Class:lnkDocumentError/Attribute:doc_name+' => 'name of the document', + 'Class:lnkDocumentError/Attribute:error_id' => 'Error', + 'Class:lnkDocumentError/Attribute:error_id+' => 'Error linked to this document', + 'Class:lnkDocumentError/Attribute:error_name' => 'Error Name', + 'Class:lnkDocumentError/Attribute:error_name+' => 'name of the linked error', + 'Class:lnkDocumentError/Attribute:link_type' => 'Link Type', + 'Class:lnkDocumentError/Attribute:link_type+' => 'More information', +)); + +// +// Class: bizServiceCall +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:bizServiceCall' => 'ServiceCall', + 'Class:bizServiceCall+' => 'Service Call from customer', + 'Class:bizServiceCall/Attribute:name' => 'Service Call Ref', + 'Class:bizServiceCall/Attribute:name+' => 'Refence identifier for this service call', + 'Class:bizServiceCall/Attribute:title' => 'Title', + 'Class:bizServiceCall/Attribute:title+' => 'Overview of the service call', + 'Class:bizServiceCall/Attribute:type' => 'Type', + 'Class:bizServiceCall/Attribute:type+' => 'Type of the Incident', + 'Class:bizServiceCall/Attribute:type/Value:Network' => 'Network', + 'Class:bizServiceCall/Attribute:type/Value:Network+' => 'Network', + 'Class:bizServiceCall/Attribute:type/Value:Server' => 'Server', + 'Class:bizServiceCall/Attribute:type/Value:Server+' => 'Server', + 'Class:bizServiceCall/Attribute:type/Value:Desktop' => 'Desktop', + 'Class:bizServiceCall/Attribute:type/Value:Desktop+' => 'Desktop', + 'Class:bizServiceCall/Attribute:type/Value:Application' => 'Application', + 'Class:bizServiceCall/Attribute:type/Value:Application+' => 'Application', + 'Class:bizServiceCall/Attribute:org_id' => 'Customer', + 'Class:bizServiceCall/Attribute:org_id+' => 'Customer concerned by this service call', + 'Class:bizServiceCall/Attribute:customer_name' => 'Customer', + 'Class:bizServiceCall/Attribute:customer_name+' => 'Name of the customer raising this service call', + 'Class:bizServiceCall/Attribute:call_status' => 'Status', + 'Class:bizServiceCall/Attribute:call_status+' => 'Status of the ticket', + 'Class:bizServiceCall/Attribute:call_status/Value:New' => 'New', + 'Class:bizServiceCall/Attribute:call_status/Value:New+' => 'New', + 'Class:bizServiceCall/Attribute:call_status/Value:Assigned' => 'Assigned', + 'Class:bizServiceCall/Attribute:call_status/Value:Assigned+' => 'Assigned', + 'Class:bizServiceCall/Attribute:call_status/Value:WorkInProgress' => 'WorkInProgress', + 'Class:bizServiceCall/Attribute:call_status/Value:WorkInProgress+' => 'WorkInProgress', + 'Class:bizServiceCall/Attribute:call_status/Value:Resolved' => 'Resolved', + 'Class:bizServiceCall/Attribute:call_status/Value:Resolved+' => 'Resolved', + 'Class:bizServiceCall/Attribute:call_status/Value:Closed' => 'Closed', + 'Class:bizServiceCall/Attribute:call_status/Value:Closed+' => 'Closed', + 'Class:bizServiceCall/Attribute:call_description' => 'Description', + 'Class:bizServiceCall/Attribute:call_description+' => 'Description of the call as describe by caller', + 'Class:bizServiceCall/Attribute:creation_date' => 'Creation date', + 'Class:bizServiceCall/Attribute:creation_date+' => 'Call creation date', + 'Class:bizServiceCall/Attribute:last_update' => 'Last update', + 'Class:bizServiceCall/Attribute:last_update+' => 'last time the call was modified', + 'Class:bizServiceCall/Attribute:next_update' => 'Next update', + 'Class:bizServiceCall/Attribute:next_update+' => 'next time the Ticket is expected to be modified', + 'Class:bizServiceCall/Attribute:end_date' => 'Closure Date', + 'Class:bizServiceCall/Attribute:end_date+' => 'Date when the call was closed', + 'Class:bizServiceCall/Attribute:caller_id' => 'Caller', + 'Class:bizServiceCall/Attribute:caller_id+' => 'person that trigger this call', + 'Class:bizServiceCall/Attribute:caller_mail' => 'Caller', + 'Class:bizServiceCall/Attribute:caller_mail+' => 'Person that trigger this call', + 'Class:bizServiceCall/Attribute:impact' => 'Impact', + 'Class:bizServiceCall/Attribute:impact+' => 'Impact for this call', + 'Class:bizServiceCall/Attribute:workgroup_id' => 'Workgroup', + 'Class:bizServiceCall/Attribute:workgroup_id+' => 'which workgroup is owning call', + 'Class:bizServiceCall/Attribute:workgroup_name' => 'Workgroup', + 'Class:bizServiceCall/Attribute:workgroup_name+' => 'name of workgroup managing the call', + 'Class:bizServiceCall/Attribute:agent_id' => 'Agent', + 'Class:bizServiceCall/Attribute:agent_id+' => 'who is managing the call', + 'Class:bizServiceCall/Attribute:agent_mail' => 'Agent', + 'Class:bizServiceCall/Attribute:agent_mail+' => 'mail of agent managing the call', + 'Class:bizServiceCall/Attribute:action_log' => 'Action Logs', + 'Class:bizServiceCall/Attribute:action_log+' => 'List all action performed during the call', + 'Class:bizServiceCall/Attribute:severity' => 'Severity', + 'Class:bizServiceCall/Attribute:severity+' => 'Field defining the criticity for the call', + 'Class:bizServiceCall/Attribute:severity/Value:critical' => 'critical', + 'Class:bizServiceCall/Attribute:severity/Value:critical+' => 'critical', + 'Class:bizServiceCall/Attribute:severity/Value:medium' => 'medium', + 'Class:bizServiceCall/Attribute:severity/Value:medium+' => 'medium', + 'Class:bizServiceCall/Attribute:severity/Value:low' => 'low', + 'Class:bizServiceCall/Attribute:severity/Value:low+' => 'low', + 'Class:bizServiceCall/Attribute:resolution' => 'Resolution', + 'Class:bizServiceCall/Attribute:resolution+' => 'Description of the resolution', + 'Class:bizServiceCall/Attribute:source' => 'Source', + 'Class:bizServiceCall/Attribute:source+' => 'source type for this call', + 'Class:bizServiceCall/Attribute:source/Value:phone' => 'phone', + 'Class:bizServiceCall/Attribute:source/Value:phone+' => 'phone', + 'Class:bizServiceCall/Attribute:source/Value:E-mail' => 'E-mail', + 'Class:bizServiceCall/Attribute:source/Value:E-mail+' => 'E-mail', + 'Class:bizServiceCall/Attribute:source/Value:Fax' => 'Fax', + 'Class:bizServiceCall/Attribute:source/Value:Fax+' => 'Fax', + 'Class:bizServiceCall/Attribute:impacted_infra_manual' => 'Impacted Infrastructure', + 'Class:bizServiceCall/Attribute:impacted_infra_manual+' => 'CIs that are not meeting the SLA', + 'Class:bizServiceCall/Attribute:related_tickets' => 'Related Incident', + 'Class:bizServiceCall/Attribute:related_tickets+' => 'Other incident tickets related to this call', + 'Class:bizServiceCall/Stimulus:ev_assign' => 'Assign this call', + 'Class:bizServiceCall/Stimulus:ev_assign+' => 'Assign this call to a group and an agent', + 'Class:bizServiceCall/Stimulus:ev_reassign' => 'Reassign this call', + 'Class:bizServiceCall/Stimulus:ev_reassign+' => 'Reassign this call to a different group and agent', + 'Class:bizServiceCall/Stimulus:ev_start_working' => 'Work on this call', + 'Class:bizServiceCall/Stimulus:ev_start_working+' => 'Start working on this call', + 'Class:bizServiceCall/Stimulus:ev_resolve' => 'Resolve this call', + 'Class:bizServiceCall/Stimulus:ev_resolve+' => 'Resolve this call', + 'Class:bizServiceCall/Stimulus:ev_close' => 'Close this call', + 'Class:bizServiceCall/Stimulus:ev_close+' => 'Close this call', +)); + +// +// Class: lnkCallTicket +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:lnkCallTicket' => 'Call Ticket', + 'Class:lnkCallTicket+' => 'Ticket related to a call', + 'Class:lnkCallTicket/Attribute:ticket_id' => 'Related Ticket', + 'Class:lnkCallTicket/Attribute:ticket_id+' => 'The related ticket', + 'Class:lnkCallTicket/Attribute:ticket_name' => 'Related ticket', + 'Class:lnkCallTicket/Attribute:ticket_name+' => 'Name of the related ticket', + 'Class:lnkCallTicket/Attribute:call_id' => 'Call', + 'Class:lnkCallTicket/Attribute:call_id+' => 'Ticket number', + 'Class:lnkCallTicket/Attribute:call_name' => 'Call name', + 'Class:lnkCallTicket/Attribute:call_name+' => 'Name of the call', + 'Class:lnkCallTicket/Attribute:impact' => 'Impact', + 'Class:lnkCallTicket/Attribute:impact+' => 'Impact on the call', +)); + +// +// Class: lnkInfraCall +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:lnkInfraCall' => 'Infra Call', + 'Class:lnkInfraCall+' => 'Infra concerned by a call', + 'Class:lnkInfraCall/Attribute:infra_id' => 'Infrastructure', + 'Class:lnkInfraCall/Attribute:infra_id+' => 'The infrastructure impacted', + 'Class:lnkInfraCall/Attribute:infra_name' => 'Infrastructure Name', + 'Class:lnkInfraCall/Attribute:infra_name+' => 'Name of the impacted infrastructure', + 'Class:lnkInfraCall/Attribute:call_id' => 'Call', + 'Class:lnkInfraCall/Attribute:call_id+' => 'Call number', + 'Class:lnkInfraCall/Attribute:call_name' => 'Call name', + 'Class:lnkInfraCall/Attribute:call_name+' => 'Name of the call', + 'Class:lnkInfraCall/Attribute:impact' => 'Impact', + 'Class:lnkInfraCall/Attribute:impact+' => 'Level of impact of the infra by the related ticket', +)); + + +?> diff --git a/dictionaries/dictionary.itop.ui.php b/dictionaries/dictionary.itop.ui.php new file mode 100644 index 000000000..ac02ed209 --- /dev/null +++ b/dictionaries/dictionary.itop.ui.php @@ -0,0 +1,266 @@ + 'menuNode', + 'Class:menuNode+' => 'Main menu configuration elements', + 'Class:menuNode/Attribute:name' => 'Menu Name', + 'Class:menuNode/Attribute:name+' => 'Short name for this menu', + 'Class:menuNode/Attribute:label' => 'Menu Description', + 'Class:menuNode/Attribute:label+' => 'Long description for this menu', + 'Class:menuNode/Attribute:hyperlink' => 'Hyperlink', + 'Class:menuNode/Attribute:hyperlink+' => 'Hyperlink to the page', + 'Class:menuNode/Attribute:icon_path' => 'Menu Icon', + 'Class:menuNode/Attribute:icon_path+' => 'Path to the icon o the menu', + 'Class:menuNode/Attribute:template' => 'Template', + 'Class:menuNode/Attribute:template+' => 'HTML template for the view', + 'Class:menuNode/Attribute:type' => 'Type', + 'Class:menuNode/Attribute:type+' => 'Type of menu', + 'Class:menuNode/Attribute:type/Value:application' => 'application', + 'Class:menuNode/Attribute:type/Value:application+' => 'application', + 'Class:menuNode/Attribute:type/Value:user' => 'user', + 'Class:menuNode/Attribute:type/Value:user+' => 'user', + 'Class:menuNode/Attribute:type/Value:administrator' => 'administrator', + 'Class:menuNode/Attribute:type/Value:administrator+' => 'administrator', + 'Class:menuNode/Attribute:rank' => 'Display rank', + 'Class:menuNode/Attribute:rank+' => 'Sort order for displaying the menu', + 'Class:menuNode/Attribute:parent_id' => 'Parent Menu Item', + 'Class:menuNode/Attribute:parent_id+' => 'Parent Menu Item', + 'Class:menuNode/Attribute:parent_name' => 'Parent Menu Item', + 'Class:menuNode/Attribute:parent_name+' => 'Parent Menu Item', + 'Class:menuNode/Attribute:user_id' => 'Owner of the menu', + 'Class:menuNode/Attribute:user_id+' => 'User who owns this menu (for user defined menus)', +)); + +////////////////////////////////////////////////////////////////////// +// Classes in 'application' +////////////////////////////////////////////////////////////////////// +// + +// +// Class: AuditCategory +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:AuditCategory' => 'AuditCategory', + 'Class:AuditCategory+' => 'A section inside the overall audit', + 'Class:AuditCategory/Attribute:name' => 'Category Name', + 'Class:AuditCategory/Attribute:name+' => 'Short name for this category', + 'Class:AuditCategory/Attribute:description' => 'Audit Category Description', + 'Class:AuditCategory/Attribute:description+' => 'Long description for this audit category', + 'Class:AuditCategory/Attribute:definition_set' => 'Definition Set', + 'Class:AuditCategory/Attribute:definition_set+' => 'SibusQL expression defining the set of objects to audit', +)); + +// +// Class: AuditRule +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:AuditRule' => 'AuditRule', + 'Class:AuditRule+' => 'A rule to check for a given Audit category', + 'Class:AuditRule/Attribute:name' => 'Rule Name', + 'Class:AuditRule/Attribute:name+' => 'Short name for this rule', + 'Class:AuditRule/Attribute:description' => 'Audit Rule Description', + 'Class:AuditRule/Attribute:description+' => 'Long description for this audit rule', + 'Class:AuditRule/Attribute:query' => 'Query to Run', + 'Class:AuditRule/Attribute:query+' => 'The SibusQL expression to run', + 'Class:AuditRule/Attribute:valid_flag' => 'Valid objects?', + 'Class:AuditRule/Attribute:valid_flag+' => 'True if the rule returns the valid objects, false otherwise', + 'Class:AuditRule/Attribute:valid_flag/Value:true' => 'true', + 'Class:AuditRule/Attribute:valid_flag/Value:true+' => 'true', + 'Class:AuditRule/Attribute:valid_flag/Value:false' => 'false', + 'Class:AuditRule/Attribute:valid_flag/Value:false+' => 'false', + 'Class:AuditRule/Attribute:category_id' => 'Category', + 'Class:AuditRule/Attribute:category_id+' => 'The category for this rule', + 'Class:AuditRule/Attribute:category_name' => 'Category', + 'Class:AuditRule/Attribute:category_name+' => 'Name of the category for this rule', +)); + +////////////////////////////////////////////////////////////////////// +// Classes in 'addon/userrights' +////////////////////////////////////////////////////////////////////// +// + +// +// Class: URP_Users +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:URP_Users' => 'user', + 'Class:URP_Users+' => 'users and credentials', + 'Class:URP_Users/Attribute:userid' => 'Contact (person)', + 'Class:URP_Users/Attribute:userid+' => 'Personal details from the business data', + 'Class:URP_Users/Attribute:last_name' => 'Last name', + 'Class:URP_Users/Attribute:last_name+' => 'Name of the corresponding contact', + 'Class:URP_Users/Attribute:first_name' => 'First name', + 'Class:URP_Users/Attribute:first_name+' => 'First name of the corresponding contact', + 'Class:URP_Users/Attribute:email' => 'Email', + 'Class:URP_Users/Attribute:email+' => 'Email of the corresponding contact', + 'Class:URP_Users/Attribute:login' => 'Login', + 'Class:URP_Users/Attribute:login+' => 'user identification string', + 'Class:URP_Users/Attribute:password' => 'Password', + 'Class:URP_Users/Attribute:password+' => 'user authentication string', + 'Class:URP_Users/Attribute:profiles' => 'Profiles', + 'Class:URP_Users/Attribute:profiles+' => 'roles, granting rights for that person', +)); + +// +// Class: URP_Profiles +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:URP_Profiles' => 'profile', + 'Class:URP_Profiles+' => 'usage profiles', + 'Class:URP_Profiles/Attribute:name' => 'Name', + 'Class:URP_Profiles/Attribute:name+' => 'label', + 'Class:URP_Profiles/Attribute:description' => 'Description', + 'Class:URP_Profiles/Attribute:description+' => 'one line description', + 'Class:URP_Profiles/Attribute:users' => 'Users', + 'Class:URP_Profiles/Attribute:users+' => 'persons having this role', +)); + +// +// Class: URP_Dimensions +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:URP_Dimensions' => 'dimension', + 'Class:URP_Dimensions+' => 'application dimension (defining silos)', + 'Class:URP_Dimensions/Attribute:name' => 'Name', + 'Class:URP_Dimensions/Attribute:name+' => 'label', + 'Class:URP_Dimensions/Attribute:description' => 'Description', + 'Class:URP_Dimensions/Attribute:description+' => 'one line description', + 'Class:URP_Dimensions/Attribute:type' => 'Type', + 'Class:URP_Dimensions/Attribute:type+' => 'class name or data type (projection unit)', +)); + +// +// Class: URP_UserProfile +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:URP_UserProfile' => 'User to profile', + 'Class:URP_UserProfile+' => 'user profiles', + 'Class:URP_UserProfile/Attribute:userid' => 'User', + 'Class:URP_UserProfile/Attribute:userid+' => 'user account', + 'Class:URP_UserProfile/Attribute:userlogin' => 'Login', + 'Class:URP_UserProfile/Attribute:userlogin+' => 'User\'s login', + 'Class:URP_UserProfile/Attribute:profileid' => 'Profile', + 'Class:URP_UserProfile/Attribute:profileid+' => 'usage profile', + 'Class:URP_UserProfile/Attribute:profile' => 'Profile', + 'Class:URP_UserProfile/Attribute:profile+' => 'Profile name', + 'Class:URP_UserProfile/Attribute:reason' => 'Reason', + 'Class:URP_UserProfile/Attribute:reason+' => 'explain why this person may have this role', +)); + +// +// Class: URP_ProfileProjection +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:URP_ProfileProjection' => 'profile_projection', + 'Class:URP_ProfileProjection+' => 'profile projections', + 'Class:URP_ProfileProjection/Attribute:dimensionid' => 'Dimension', + 'Class:URP_ProfileProjection/Attribute:dimensionid+' => 'application dimension', + 'Class:URP_ProfileProjection/Attribute:dimension' => 'Dimension', + 'Class:URP_ProfileProjection/Attribute:dimension+' => 'application dimension', + 'Class:URP_ProfileProjection/Attribute:profileid' => 'Profile', + 'Class:URP_ProfileProjection/Attribute:profileid+' => 'usage profile', + 'Class:URP_ProfileProjection/Attribute:profile' => 'Profile', + 'Class:URP_ProfileProjection/Attribute:profile+' => 'Profile name', + 'Class:URP_ProfileProjection/Attribute:value' => 'Value expression', + 'Class:URP_ProfileProjection/Attribute:value+' => 'OQL expression (using $user) | constant | | +attribute code', + 'Class:URP_ProfileProjection/Attribute:attribute' => 'Attribute', + 'Class:URP_ProfileProjection/Attribute:attribute+' => 'Target attribute code (optional)', +)); + +// +// Class: URP_ClassProjection +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:URP_ClassProjection' => 'class_projection', + 'Class:URP_ClassProjection+' => 'class projections', + 'Class:URP_ClassProjection/Attribute:dimensionid' => 'Dimension', + 'Class:URP_ClassProjection/Attribute:dimensionid+' => 'application dimension', + 'Class:URP_ClassProjection/Attribute:dimension' => 'Dimension', + 'Class:URP_ClassProjection/Attribute:dimension+' => 'application dimension', + 'Class:URP_ClassProjection/Attribute:class' => 'Class', + 'Class:URP_ClassProjection/Attribute:class+' => 'Target class', + 'Class:URP_ClassProjection/Attribute:value' => 'Value expression', + 'Class:URP_ClassProjection/Attribute:value+' => 'OQL expression (using $this) | constant | | +attribute code', + 'Class:URP_ClassProjection/Attribute:attribute' => 'Attribute', + 'Class:URP_ClassProjection/Attribute:attribute+' => 'Target attribute code (optional)', +)); + +// +// Class: URP_ActionGrant +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:URP_ActionGrant' => 'action_permission', + 'Class:URP_ActionGrant+' => 'permissions on classes', + 'Class:URP_ActionGrant/Attribute:profileid' => 'Profile', + 'Class:URP_ActionGrant/Attribute:profileid+' => 'usage profile', + 'Class:URP_ActionGrant/Attribute:profile' => 'Profile', + 'Class:URP_ActionGrant/Attribute:profile+' => 'usage profile', + 'Class:URP_ActionGrant/Attribute:class' => 'Class', + 'Class:URP_ActionGrant/Attribute:class+' => 'Target class', + 'Class:URP_ActionGrant/Attribute:permission' => 'Permission', + 'Class:URP_ActionGrant/Attribute:permission+' => 'allowed or not allowed?', + 'Class:URP_ActionGrant/Attribute:permission/Value:yes' => 'yes', + 'Class:URP_ActionGrant/Attribute:permission/Value:yes+' => 'yes', + 'Class:URP_ActionGrant/Attribute:permission/Value:no' => 'no', + 'Class:URP_ActionGrant/Attribute:permission/Value:no+' => 'no', + 'Class:URP_ActionGrant/Attribute:action' => 'Action', + 'Class:URP_ActionGrant/Attribute:action+' => 'operations to perform on the given class', +)); + +// +// Class: URP_StimulusGrant +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:URP_StimulusGrant' => 'stimulus_permission', + 'Class:URP_StimulusGrant+' => 'permissions on stimilus in the life cycle of the object', + 'Class:URP_StimulusGrant/Attribute:profileid' => 'Profile', + 'Class:URP_StimulusGrant/Attribute:profileid+' => 'usage profile', + 'Class:URP_StimulusGrant/Attribute:profile' => 'Profile', + 'Class:URP_StimulusGrant/Attribute:profile+' => 'usage profile', + 'Class:URP_StimulusGrant/Attribute:class' => 'Class', + 'Class:URP_StimulusGrant/Attribute:class+' => 'Target class', + 'Class:URP_StimulusGrant/Attribute:permission' => 'Permission', + 'Class:URP_StimulusGrant/Attribute:permission+' => 'allowed or not allowed?', + 'Class:URP_StimulusGrant/Attribute:permission/Value:yes' => 'yes', + 'Class:URP_StimulusGrant/Attribute:permission/Value:yes+' => 'yes', + 'Class:URP_StimulusGrant/Attribute:permission/Value:no' => 'no', + 'Class:URP_StimulusGrant/Attribute:permission/Value:no+' => 'no', + 'Class:URP_StimulusGrant/Attribute:stimulus' => 'Stimulus', + 'Class:URP_StimulusGrant/Attribute:stimulus+' => 'stimulus code', +)); + +// +// Class: URP_AttributeGrant +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:URP_AttributeGrant' => 'attribute_permission', + 'Class:URP_AttributeGrant+' => 'permissions at the attributes level', + 'Class:URP_AttributeGrant/Attribute:actiongrantid' => 'Action grant', + 'Class:URP_AttributeGrant/Attribute:actiongrantid+' => 'action grant', + 'Class:URP_AttributeGrant/Attribute:attcode' => 'Attribute', + 'Class:URP_AttributeGrant/Attribute:attcode+' => 'attribute code', +)); + + +?> diff --git a/pages/ITopConsultant.php b/pages/ITopConsultant.php index 3efbd6890..9020e46b8 100644 --- a/pages/ITopConsultant.php +++ b/pages/ITopConsultant.php @@ -263,6 +263,7 @@ function printMenu($sConfigFile) echo "

Target database: $sConfigFile

\n"; echo "

$sClassCount classes referenced in the model

\n"; echo "
    "; + echo "
  • Dictionary
  • "; echo "
  • Biz model consistency
  • "; echo "
  • Show ZLists
  • "; echo "
  • Browse business model
  • "; @@ -471,6 +472,12 @@ else printMenu($sConfigFile); echo $sRes; break; + case "checkdictionary": + echo "Dictionary template...
    \n"; + echo "
    \n";
    +			echo MetaModel::MakeDictionaryTemplate();
    +			echo "
    \n"; + break; case "checkmodel": echo "Check definitions...
    \n"; MetaModel::CheckDefinitions();