mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-23 02:28:44 +02:00
N°3735 - Add SetComputedDate on DBObject
This commit is contained in:
@@ -258,6 +258,66 @@
|
||||
</argument>
|
||||
</arguments>
|
||||
</method>
|
||||
<method id="SetComputedDate">
|
||||
<arguments>
|
||||
<argument id="1">
|
||||
<type>attcode</type>
|
||||
<mandatory>true</mandatory>
|
||||
<type_restrictions>
|
||||
<operation>allow</operation>
|
||||
<types>
|
||||
<type id="AttributeDate"/>
|
||||
<type id="AttributeDateTime"/>
|
||||
</types>
|
||||
</type_restrictions>
|
||||
</argument>
|
||||
<argument id="2">
|
||||
<type>string</type>
|
||||
<mandatory>false</mandatory>
|
||||
</argument>
|
||||
<argument id="3">
|
||||
<type>attcode</type>
|
||||
<mandatory>false</mandatory>
|
||||
<type_restrictions>
|
||||
<operation>allow</operation>
|
||||
<types>
|
||||
<type id="AttributeDate"/>
|
||||
<type id="AttributeDateTime"/>
|
||||
</types>
|
||||
</type_restrictions>
|
||||
</argument>
|
||||
</arguments>
|
||||
</method>
|
||||
<method id="SetComputedDateIfNull">
|
||||
<arguments>
|
||||
<argument id="1">
|
||||
<type>attcode</type>
|
||||
<mandatory>true</mandatory>
|
||||
<type_restrictions>
|
||||
<operation>allow</operation>
|
||||
<types>
|
||||
<type id="AttributeDate"/>
|
||||
<type id="AttributeDateTime"/>
|
||||
</types>
|
||||
</type_restrictions>
|
||||
</argument>
|
||||
<argument id="2">
|
||||
<type>string</type>
|
||||
<mandatory>false</mandatory>
|
||||
</argument>
|
||||
<argument id="3">
|
||||
<type>attcode</type>
|
||||
<mandatory>false</mandatory>
|
||||
<type_restrictions>
|
||||
<operation>allow</operation>
|
||||
<types>
|
||||
<type id="AttributeDate"/>
|
||||
<type id="AttributeDateTime"/>
|
||||
</types>
|
||||
</type_restrictions>
|
||||
</argument>
|
||||
</arguments>
|
||||
</method>
|
||||
<method id="SetCurrentDate">
|
||||
<arguments>
|
||||
<argument id="1">
|
||||
@@ -409,30 +469,6 @@
|
||||
</argument>
|
||||
</arguments>
|
||||
</method>
|
||||
<method id="PrefillCreationForm">
|
||||
<arguments>
|
||||
<argument id="1">
|
||||
<type>reference</type>
|
||||
<mandatory>true</mandatory>
|
||||
</argument>
|
||||
</arguments>
|
||||
</method>
|
||||
<method id="PrefillTransitionForm">
|
||||
<arguments>
|
||||
<argument id="1">
|
||||
<type>reference</type>
|
||||
<mandatory>true</mandatory>
|
||||
</argument>
|
||||
</arguments>
|
||||
</method>
|
||||
<method id="PrefillSearchForm">
|
||||
<arguments>
|
||||
<argument id="1">
|
||||
<type>reference</type>
|
||||
<mandatory>true</mandatory>
|
||||
</argument>
|
||||
</arguments>
|
||||
</method>
|
||||
</methods>
|
||||
</class>
|
||||
</classes>
|
||||
|
||||
@@ -4061,6 +4061,58 @@ abstract class DBObject implements iDisplay
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper to set a date computed from another date with extra logic
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @param string $sAttCode attribute code of a date or date-time which will be set
|
||||
* @param string $sModifier string specifying how to modify the date time
|
||||
* @param string $sAttCodeSource attribute code of a date or date-time used as source
|
||||
*
|
||||
* @throws \CoreException
|
||||
* @throws \CoreUnexpectedValue
|
||||
* @since 3.0.0
|
||||
*/
|
||||
public function SetComputedDate($sAttCode, $sModifier = '', $sAttCodeSource = '')
|
||||
{
|
||||
$oDate = new DateTime(); // Use now if no Source provided
|
||||
if ($sAttCodeSource != "") {
|
||||
$oAttDef = MetaModel::GetAttributeDef(get_class($this), $sAttCodeSource);
|
||||
$oSourceValue = $this->Get($sAttCodeSource);
|
||||
if (!$oAttDef->IsNull($oSourceValue)) {
|
||||
// Use the existing value as the Source date
|
||||
$oDate = new DateTime($oSourceValue);
|
||||
}
|
||||
}
|
||||
$oDate->modify($sModifier);
|
||||
$this->Set($sAttCode, $oDate->format('Y-m-d H:i:s'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper to set a date computed from another date with extra logic
|
||||
* Call SetComputedDate() only of the internal representation of the attribute is null.
|
||||
*
|
||||
* @api
|
||||
* @see SetComputedDate()
|
||||
*
|
||||
* @param string $sAttCode attribute code which will be set
|
||||
* @param string $sModifier string specifying how to modify the date time
|
||||
* @param string $sAttCodeSource attribute code used as source
|
||||
*
|
||||
* @throws \CoreException
|
||||
* @throws \CoreUnexpectedValue
|
||||
* @since 3.0.0
|
||||
*/
|
||||
public function SetComputedDateIfNull($sAttCode, $sModifier = '', $sAttCodeSource = '')
|
||||
{
|
||||
$oAttDef = MetaModel::GetAttributeDef(get_class($this), $sAttCode);
|
||||
$oCurrentValue = $this->Get($sAttCode);
|
||||
if ($oAttDef->IsNull($oCurrentValue)) {
|
||||
$this->SetComputedDate($sAttCode, $sModifier, $sAttCodeSource);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper to set a value only if it is currently undefined
|
||||
*
|
||||
@@ -4079,40 +4131,35 @@ abstract class DBObject implements iDisplay
|
||||
{
|
||||
$oAttDef = MetaModel::GetAttributeDef(get_class($this), $sAttCode);
|
||||
$oCurrentValue = $this->Get($sAttCode);
|
||||
if ($oAttDef->IsNull($oCurrentValue))
|
||||
{
|
||||
if ($oAttDef->IsNull($oCurrentValue)) {
|
||||
$this->SetCurrentDate($sAttCode);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper to set the current logged in user for the given attribute
|
||||
* Suitable for use as a lifecycle action
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @param string $sAttCode
|
||||
*
|
||||
* @return bool
|
||||
*
|
||||
* @throws CoreException
|
||||
* @throws CoreUnexpectedValue
|
||||
*/
|
||||
|
||||
/**
|
||||
* Helper to set the current logged in user for the given attribute
|
||||
* Suitable for use as a lifecycle action
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @param string $sAttCode
|
||||
*
|
||||
* @return bool
|
||||
*
|
||||
* @throws CoreException
|
||||
* @throws CoreUnexpectedValue
|
||||
*/
|
||||
public function SetCurrentUser($sAttCode)
|
||||
{
|
||||
$oAttDef = MetaModel::GetAttributeDef(get_class($this), $sAttCode);
|
||||
if ($oAttDef instanceof AttributeString)
|
||||
{
|
||||
if ($oAttDef instanceof AttributeString) {
|
||||
// Note: the user friendly name is the contact friendly name if a contact is attached to the logged in user
|
||||
$this->Set($sAttCode, UserRights::GetUserFriendlyName());
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($oAttDef->IsExternalKey())
|
||||
{
|
||||
} else {
|
||||
if ($oAttDef->IsExternalKey()) {
|
||||
/** @var \AttributeExternalKey $oAttDef */
|
||||
if ($oAttDef->GetTargetClass() != 'User')
|
||||
{
|
||||
if ($oAttDef->GetTargetClass() != 'User') {
|
||||
throw new Exception("SetCurrentUser: the attribute $sAttCode must be an external key to 'User', found '".$oAttDef->GetTargetClass()."'");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -341,10 +341,10 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
'BooleanLabel:yes' => 'yes',
|
||||
'BooleanLabel:no' => 'no',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login',
|
||||
'Menu:WelcomeMenu' => 'Welcome', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => 'Welcome to '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Welcome', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => 'Welcome to '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu' => 'Welcome',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => 'Welcome to '.ITOP_APPLICATION_SHORT,// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Welcome',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => 'Welcome to '.ITOP_APPLICATION_SHORT,// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => 'Welcome to '.ITOP_APPLICATION_SHORT,
|
||||
|
||||
'UI:WelcomeMenu:LeftBlock' => '<p>'.ITOP_APPLICATION_SHORT.' is a complete, OpenSource, IT Operational Portal.</p>
|
||||
@@ -563,43 +563,43 @@ We hope you’ll enjoy this version as much as we enjoyed imagining and creating
|
||||
'UI:ResetPwd-Ready' => 'The password has been changed.',
|
||||
'UI:ResetPwd-Login' => 'Click here to login...',
|
||||
|
||||
'UI:Login:About' => ITOP_APPLICATION.' Powered by Combodo',
|
||||
'UI:Login:ChangeYourPassword' => 'Change Your Password',
|
||||
'UI:Login:OldPasswordPrompt' => 'Old password',
|
||||
'UI:Login:NewPasswordPrompt' => 'New password',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Retype new password',
|
||||
'UI:Login:IncorrectOldPassword' => 'Error: the old password is incorrect',
|
||||
'UI:LogOffMenu' => 'Log off',
|
||||
'UI:LogOff:ThankYou' => 'Thank you for using '.ITOP_APPLICATION,
|
||||
'UI:LogOff:ClickHereToLoginAgain' => 'Click here to login again...',
|
||||
'UI:ChangePwdMenu' => 'Change Password...',
|
||||
'UI:Login:PasswordChanged' => 'Password successfully set!',
|
||||
'UI:AccessRO-All' => ITOP_APPLICATION.' is read-only',
|
||||
'UI:AccessRO-Users' => ITOP_APPLICATION.' is read-only for end-users',
|
||||
'UI:ApplicationEnvironment' => 'Application environment: %1$s',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => 'New password and retyped new password do not match!',
|
||||
'UI:Button:Login' => 'Enter '.ITOP_APPLICATION,
|
||||
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.' access is restricted. Please, contact an '.ITOP_APPLICATION_SHORT.' administrator.',
|
||||
'UI:Login:Error:AccessAdmin' => 'Access restricted to people having administrator privileges. Please, contact an '.ITOP_APPLICATION_SHORT.' administrator.',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Unknown organization',
|
||||
'UI:Login:About' => ITOP_APPLICATION.' Powered by Combodo',
|
||||
'UI:Login:ChangeYourPassword' => 'Change Your Password',
|
||||
'UI:Login:OldPasswordPrompt' => 'Old password',
|
||||
'UI:Login:NewPasswordPrompt' => 'New password',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Retype new password',
|
||||
'UI:Login:IncorrectOldPassword' => 'Error: the old password is incorrect',
|
||||
'UI:LogOffMenu' => 'Log off',
|
||||
'UI:LogOff:ThankYou' => 'Thank you for using '.ITOP_APPLICATION,
|
||||
'UI:LogOff:ClickHereToLoginAgain' => 'Click here to login again...',
|
||||
'UI:ChangePwdMenu' => 'Change Password...',
|
||||
'UI:Login:PasswordChanged' => 'Password successfully set!',
|
||||
'UI:AccessRO-All' => ITOP_APPLICATION.' is read-only',
|
||||
'UI:AccessRO-Users' => ITOP_APPLICATION.' is read-only for end-users',
|
||||
'UI:ApplicationEnvironment' => 'Application environment: %1$s',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => 'New password and retyped new password do not match!',
|
||||
'UI:Button:Login' => 'Enter '.ITOP_APPLICATION,
|
||||
'UI:Login:Error:AccessRestricted' => ITOP_APPLICATION_SHORT.' access to this page is restricted. Please, contact an '.ITOP_APPLICATION_SHORT.' administrator.',
|
||||
'UI:Login:Error:AccessAdmin' => 'Access restricted to people having administrator privileges. Please, contact an '.ITOP_APPLICATION_SHORT.' administrator.',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Unknown organization',
|
||||
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Multiple contacts have the same e-mail',
|
||||
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided',
|
||||
'UI:CSVImport:MappingSelectOne' => '-- select one --',
|
||||
'UI:CSVImport:MappingNotApplicable' => '-- ignore this field --',
|
||||
'UI:CSVImport:NoData' => 'Empty data set..., please provide some data!',
|
||||
'UI:Title:DataPreview' => 'Data Preview',
|
||||
'UI:CSVImport:ErrorOnlyOneColumn' => 'Error: The data contains only one column. Did you select the appropriate separator character?',
|
||||
'UI:CSVImport:FieldName' => 'Field %1$d',
|
||||
'UI:CSVImport:DataLine1' => 'Data Line 1',
|
||||
'UI:CSVImport:DataLine2' => 'Data Line 2',
|
||||
'UI:CSVImport:idField' => 'id (Primary Key)',
|
||||
'UI:Title:BulkImport' => ITOP_APPLICATION_SHORT.' - Bulk import',
|
||||
'UI:Title:BulkImport+' => 'CSV Import Wizard',
|
||||
'UI:Title:BulkSynchro_nbItem_ofClass_class' => 'Synchronization of %1$d objects of class %2$s',
|
||||
'UI:CSVImport:ClassesSelectOne' => '-- select one --',
|
||||
'UI:CSVImport:ErrorExtendedAttCode' => 'Internal error: "%1$s" is an incorrect code because "%2$s" is NOT an external key of the class "%3$s"',
|
||||
'UI:CSVImport:ObjectsWillStayUnchanged' => '%1$d objects(s) will stay unchanged.',
|
||||
'UI:CSVImport:ObjectsWillBeModified' => '%1$d objects(s) will be modified.',
|
||||
'UI:Login:Error:NoValidProfiles' => 'No valid profile provided',
|
||||
'UI:CSVImport:MappingSelectOne' => '-- select one --',
|
||||
'UI:CSVImport:MappingNotApplicable' => '-- ignore this field --',
|
||||
'UI:CSVImport:NoData' => 'Empty data set..., please provide some data!',
|
||||
'UI:Title:DataPreview' => 'Data Preview',
|
||||
'UI:CSVImport:ErrorOnlyOneColumn' => 'Error: The data contains only one column. Did you select the appropriate separator character?',
|
||||
'UI:CSVImport:FieldName' => 'Field %1$d',
|
||||
'UI:CSVImport:DataLine1' => 'Data Line 1',
|
||||
'UI:CSVImport:DataLine2' => 'Data Line 2',
|
||||
'UI:CSVImport:idField' => 'id (Primary Key)',
|
||||
'UI:Title:BulkImport' => ITOP_APPLICATION_SHORT.' - Bulk import',
|
||||
'UI:Title:BulkImport+' => 'CSV Import Wizard',
|
||||
'UI:Title:BulkSynchro_nbItem_ofClass_class' => 'Synchronization of %1$d objects of class %2$s',
|
||||
'UI:CSVImport:ClassesSelectOne' => '-- select one --',
|
||||
'UI:CSVImport:ErrorExtendedAttCode' => 'Internal error: "%1$s" is an incorrect code because "%2$s" is NOT an external key of the class "%3$s"',
|
||||
'UI:CSVImport:ObjectsWillStayUnchanged' => '%1$d objects(s) will stay unchanged.',
|
||||
'UI:CSVImport:ObjectsWillBeModified' => '%1$d objects(s) will be modified.',
|
||||
'UI:CSVImport:ObjectsWillBeAdded' => '%1$d objects(s) will be added.',
|
||||
'UI:CSVImport:ObjectsWillHaveErrors' => '%1$d objects(s) will have errors.',
|
||||
'UI:CSVImport:ObjectsRemainedUnchanged' => '%1$d objects(s) remained unchanged.',
|
||||
@@ -925,9 +925,9 @@ We hope you’ll enjoy this version as much as we enjoyed imagining and creating
|
||||
'UI:UserManagement:NoLifeCycleApplicable+' => 'No lifecycle has been defined for this class',
|
||||
'UI:UserManagement:GrantMatrix' => 'Grant Matrix',
|
||||
|
||||
'Menu:AdminTools' => 'Administration', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AdminTools+' => 'Administration tools', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AdminTools?' => 'Tools accessible only to users having the administrator profile', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AdminTools' => 'Administration',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AdminTools+' => 'Administration tools',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AdminTools?' => 'Tools accessible only to users having the administrator profile',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:SystemTools' => 'System',
|
||||
|
||||
'UI:ChangeManagementMenu' => 'Change Management',
|
||||
@@ -973,17 +973,17 @@ We hope you’ll enjoy this version as much as we enjoyed imagining and creating
|
||||
'UI-ContactsMenu-ContactsByType' => 'Contacts by type',
|
||||
'UI-ContactsMenu-ContactsByStatus' => 'Contacts by status',
|
||||
|
||||
'Menu:CSVImportMenu' => 'CSV import', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:CSVImportMenu+' => 'Bulk creation or update', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:CSVImportMenu' => 'CSV import',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:CSVImportMenu+' => 'Bulk creation or update',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:DataModelMenu' => 'Data Model', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataModelMenu+' => 'Overview of the Data Model', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataModelMenu' => 'Data Model',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataModelMenu+' => 'Overview of the Data Model',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:ExportMenu' => 'Export', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ExportMenu+' => 'Export the results of any query in HTML, CSV or XML', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ExportMenu' => 'Export',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ExportMenu+' => 'Export the results of any query in HTML, CSV or XML',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:NotificationsMenu' => 'Notifications', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:NotificationsMenu+' => 'Configuration of the Notifications', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:NotificationsMenu' => 'Notifications',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:NotificationsMenu+' => 'Configuration of the Notifications',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:NotificationsMenu:Title' => 'Configuration of the Notifications',
|
||||
'UI:NotificationsMenu:Help' => 'Help',
|
||||
'UI:NotificationsMenu:HelpContent' => '<p>In '.ITOP_APPLICATION_SHORT.' the notifications are fully customizable. They are based on two sets of objects: <i>triggers and actions</i>.</p>
|
||||
@@ -1015,27 +1015,27 @@ When associated with a trigger, each action is given an "order" number, specifyi
|
||||
'UI:TagAdminMenu:NoTags' => 'No Tag field configured',
|
||||
'UI:TagSetFieldData:Error' => 'Error: %1$s',
|
||||
|
||||
'Menu:AuditCategories' => 'Audit Categories', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AuditCategories+' => 'Audit Categories', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:Notifications:Title' => 'Audit Categories', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AuditCategories' => 'Audit Categories',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AuditCategories+' => 'Audit Categories',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:Notifications:Title' => 'Audit Categories',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:RunQueriesMenu' => 'Run Queries', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:RunQueriesMenu+' => 'Run any query', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:RunQueriesMenu' => 'Run Queries',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:RunQueriesMenu+' => 'Run any query',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:QueryMenu' => 'Query phrasebook', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:QueryMenu+' => 'Query phrasebook', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:QueryMenu' => 'Query phrasebook',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:QueryMenu+' => 'Query phrasebook',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:DataAdministration' => 'Data Administration', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataAdministration+' => 'Data Administration', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataAdministration' => 'Data Administration',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataAdministration+' => 'Data Administration',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:UniversalSearchMenu' => 'Universal Search', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UniversalSearchMenu+' => 'Search for anything...', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UniversalSearchMenu' => 'Universal Search',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UniversalSearchMenu+' => 'Search for anything...',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:UserManagementMenu' => 'User Management', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserManagementMenu+' => 'User management', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserManagementMenu' => 'User Management',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserManagementMenu+' => 'User management',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:ProfilesMenu' => 'Profiles', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ProfilesMenu+' => 'Profiles', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ProfilesMenu' => 'Profiles',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ProfilesMenu+' => 'Profiles',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ProfilesMenu:Title' => 'Profiles',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
@@ -1376,13 +1376,13 @@ When associated with a trigger, each action is given an "order" number, specifyi
|
||||
'Month-10-Short' => 'Oct',
|
||||
'Month-11-Short' => 'Nov',
|
||||
'Month-12-Short' => 'Dec',
|
||||
'Calendar-FirstDayOfWeek' => 0, // 0 = Sunday, 1 = Monday, etc...
|
||||
'Calendar-FirstDayOfWeek' => 0,// 0 = Sunday, 1 = Monday, etc...
|
||||
|
||||
'UI:Menu:ShortcutList' => 'Create a Shortcut...',
|
||||
'UI:ShortcutRenameDlg:Title' => 'Rename the shortcut',
|
||||
'UI:ShortcutListDlg:Title' => 'Create a shortcut for the list',
|
||||
'UI:ShortcutDelete:Confirm' => 'Please confirm that wou wish to delete the shortcut(s).',
|
||||
'Menu:MyShortcuts' => 'My Shortcuts', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:MyShortcuts' => 'My Shortcuts',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Class:Shortcut' => 'Shortcut',
|
||||
'Class:Shortcut+' => '',
|
||||
'Class:Shortcut/Attribute:name' => 'Name',
|
||||
@@ -1562,12 +1562,12 @@ When associated with a trigger, each action is given an "order" number, specifyi
|
||||
'UI:Search:Criteria:Operator:String:EndsWith' => 'Ends with',
|
||||
'UI:Search:Criteria:Operator:String:RegExp' => 'Regular exp.',
|
||||
// - Numeric widget
|
||||
'UI:Search:Criteria:Operator:Numeric:Equals' => 'Equals', // => '=',
|
||||
'UI:Search:Criteria:Operator:Numeric:GreaterThan' => 'Greater', // => '>',
|
||||
'UI:Search:Criteria:Operator:Numeric:GreaterThanOrEquals' => 'Greater / equals', // > '>=',
|
||||
'UI:Search:Criteria:Operator:Numeric:LessThan' => 'Less', // => '<',
|
||||
'UI:Search:Criteria:Operator:Numeric:LessThanOrEquals' => 'Less / equals', // > '<=',
|
||||
'UI:Search:Criteria:Operator:Numeric:Different' => 'Different', // => '≠',
|
||||
'UI:Search:Criteria:Operator:Numeric:Equals' => 'Equals',// => '=',
|
||||
'UI:Search:Criteria:Operator:Numeric:GreaterThan' => 'Greater',// => '>',
|
||||
'UI:Search:Criteria:Operator:Numeric:GreaterThanOrEquals' => 'Greater / equals',// > '>=',
|
||||
'UI:Search:Criteria:Operator:Numeric:LessThan' => 'Less',// => '<',
|
||||
'UI:Search:Criteria:Operator:Numeric:LessThanOrEquals' => 'Less / equals',// > '<=',
|
||||
'UI:Search:Criteria:Operator:Numeric:Different' => 'Different',// => '≠',
|
||||
// - Tag Set Widget
|
||||
'UI:Search:Criteria:Operator:TagSet:Matches' => 'Matches',
|
||||
|
||||
|
||||
@@ -325,10 +325,10 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'BooleanLabel:yes' => 'oui',
|
||||
'BooleanLabel:no' => 'non',
|
||||
'UI:Login:Title' => ITOP_APPLICATION_SHORT.' login',
|
||||
'Menu:WelcomeMenu' => 'Bienvenue', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => 'Bienvenue dans '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Bienvenue', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => 'Bienvenue dans '.ITOP_APPLICATION_SHORT, // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu' => 'Bienvenue',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenu+' => 'Bienvenue dans '.ITOP_APPLICATION_SHORT,// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage' => 'Bienvenue',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:WelcomeMenuPage+' => 'Bienvenue dans '.ITOP_APPLICATION_SHORT,// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:WelcomeMenu:Title' => 'Bienvenue dans '.ITOP_APPLICATION_SHORT,
|
||||
|
||||
'UI:WelcomeMenu:LeftBlock' => '<p>'.ITOP_APPLICATION_SHORT.' est un portail opérationnel complet et libre pour gérer votre SI.</p>
|
||||
@@ -547,43 +547,43 @@ Nous espérons que vous aimerez cette version autant que nous avons eu du plaisi
|
||||
'UI:ResetPwd-Ready' => 'Le mot de passe a bien été changé.',
|
||||
'UI:ResetPwd-Login' => 'Cliquez ici pour vous connecter...',
|
||||
|
||||
'UI:Login:About' => '~~',
|
||||
'UI:Login:ChangeYourPassword' => 'Changer de mot de passe',
|
||||
'UI:Login:OldPasswordPrompt' => 'Ancien mot de passe',
|
||||
'UI:Login:NewPasswordPrompt' => 'Nouveau mot de passe',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Resaisir le nouveau mot de passe',
|
||||
'UI:Login:IncorrectOldPassword' => 'Erreur: l\'ancien mot de passe est incorrect',
|
||||
'UI:LogOffMenu' => 'Déconnexion',
|
||||
'UI:LogOff:ThankYou' => 'Merci d\'avoir utilisé '.ITOP_APPLICATION_SHORT,
|
||||
'UI:LogOff:ClickHereToLoginAgain' => 'Cliquez ici pour vous reconnecter...',
|
||||
'UI:ChangePwdMenu' => 'Changer de mot de passe...',
|
||||
'UI:Login:PasswordChanged' => 'Mot de passe mis à jour !',
|
||||
'UI:AccessRO-All' => ITOP_APPLICATION_SHORT.' est en lecture seule',
|
||||
'UI:AccessRO-Users' => ITOP_APPLICATION_SHORT.' est en lecture seule pour les utilisateurs finaux',
|
||||
'UI:ApplicationEnvironment' => 'Environnement applicatif: %1$s',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => 'Les deux saisies du nouveau mot de passe ne sont pas identiques !',
|
||||
'UI:Button:Login' => 'Entrer dans '.ITOP_APPLICATION_SHORT,
|
||||
'UI:Login:Error:AccessRestricted' => 'L\'accès à '.ITOP_APPLICATION_SHORT.' est soumis à autorisation. Merci de contacter votre administrateur '.ITOP_APPLICATION_SHORT.'.',
|
||||
'UI:Login:Error:AccessAdmin' => 'Accès restreint aux utilisateurs possédant le profil Administrateur.',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Organisation inconnue',
|
||||
'UI:Login:About' => '~~',
|
||||
'UI:Login:ChangeYourPassword' => 'Changer de mot de passe',
|
||||
'UI:Login:OldPasswordPrompt' => 'Ancien mot de passe',
|
||||
'UI:Login:NewPasswordPrompt' => 'Nouveau mot de passe',
|
||||
'UI:Login:RetypeNewPasswordPrompt' => 'Resaisir le nouveau mot de passe',
|
||||
'UI:Login:IncorrectOldPassword' => 'Erreur: l\'ancien mot de passe est incorrect',
|
||||
'UI:LogOffMenu' => 'Déconnexion',
|
||||
'UI:LogOff:ThankYou' => 'Merci d\'avoir utilisé '.ITOP_APPLICATION_SHORT,
|
||||
'UI:LogOff:ClickHereToLoginAgain' => 'Cliquez ici pour vous reconnecter...',
|
||||
'UI:ChangePwdMenu' => 'Changer de mot de passe...',
|
||||
'UI:Login:PasswordChanged' => 'Mot de passe mis à jour !',
|
||||
'UI:AccessRO-All' => ITOP_APPLICATION_SHORT.' est en lecture seule',
|
||||
'UI:AccessRO-Users' => ITOP_APPLICATION_SHORT.' est en lecture seule pour les utilisateurs finaux',
|
||||
'UI:ApplicationEnvironment' => 'Environnement applicatif: %1$s',
|
||||
'UI:Login:RetypePwdDoesNotMatch' => 'Les deux saisies du nouveau mot de passe ne sont pas identiques !',
|
||||
'UI:Button:Login' => 'Entrer dans '.ITOP_APPLICATION_SHORT,
|
||||
'UI:Login:Error:AccessRestricted' => 'L\'accès à cette page '.ITOP_APPLICATION_SHORT.' est soumis à autorisation. Merci de contacter votre administrateur '.ITOP_APPLICATION_SHORT.'.',
|
||||
'UI:Login:Error:AccessAdmin' => 'Accès restreint aux utilisateurs possédant le profil Administrateur.',
|
||||
'UI:Login:Error:WrongOrganizationName' => 'Organisation inconnue',
|
||||
'UI:Login:Error:MultipleContactsHaveSameEmail' => 'Email partagé par plusieurs contacts',
|
||||
'UI:Login:Error:NoValidProfiles' => 'Pas de profil valide',
|
||||
'UI:CSVImport:MappingSelectOne' => '-- choisir une valeur --',
|
||||
'UI:CSVImport:MappingNotApplicable' => '-- ignorer ce champ --',
|
||||
'UI:CSVImport:NoData' => 'Aucune donnée... merci de fournir des données !',
|
||||
'UI:Title:DataPreview' => 'Aperçu des données',
|
||||
'UI:CSVImport:ErrorOnlyOneColumn' => 'Erreur: Les données semblent ne contenir qu\'une seule colonne. Avez-vous choisi le bon séparateur ?',
|
||||
'UI:CSVImport:FieldName' => 'Champ n°%1$d',
|
||||
'UI:CSVImport:DataLine1' => 'Données Ligne 1',
|
||||
'UI:CSVImport:DataLine2' => 'Données Ligne 2',
|
||||
'UI:CSVImport:idField' => 'id (Clef primaire)',
|
||||
'UI:Title:BulkImport' => ITOP_APPLICATION_SHORT.' - Import massif',
|
||||
'UI:Title:BulkImport+' => 'Assistant d\'import CSV',
|
||||
'UI:Title:BulkSynchro_nbItem_ofClass_class' => 'Synchronisation de %1$d éléments de type %2$s',
|
||||
'UI:CSVImport:ClassesSelectOne' => '-- choisir une valeur --',
|
||||
'UI:CSVImport:ErrorExtendedAttCode' => 'Erreur interne: "%1$s" n\'est pas une code correct car "%2$s" n\'est pas une clef externe de la classe "%3$s"',
|
||||
'UI:CSVImport:ObjectsWillStayUnchanged' => '%1$d objets(s) resteront inchangés.',
|
||||
'UI:CSVImport:ObjectsWillBeModified' => '%1$d objets(s) seront modifiés.',
|
||||
'UI:Login:Error:NoValidProfiles' => 'Pas de profil valide',
|
||||
'UI:CSVImport:MappingSelectOne' => '-- choisir une valeur --',
|
||||
'UI:CSVImport:MappingNotApplicable' => '-- ignorer ce champ --',
|
||||
'UI:CSVImport:NoData' => 'Aucune donnée... merci de fournir des données !',
|
||||
'UI:Title:DataPreview' => 'Aperçu des données',
|
||||
'UI:CSVImport:ErrorOnlyOneColumn' => 'Erreur: Les données semblent ne contenir qu\'une seule colonne. Avez-vous choisi le bon séparateur ?',
|
||||
'UI:CSVImport:FieldName' => 'Champ n°%1$d',
|
||||
'UI:CSVImport:DataLine1' => 'Données Ligne 1',
|
||||
'UI:CSVImport:DataLine2' => 'Données Ligne 2',
|
||||
'UI:CSVImport:idField' => 'id (Clef primaire)',
|
||||
'UI:Title:BulkImport' => ITOP_APPLICATION_SHORT.' - Import massif',
|
||||
'UI:Title:BulkImport+' => 'Assistant d\'import CSV',
|
||||
'UI:Title:BulkSynchro_nbItem_ofClass_class' => 'Synchronisation de %1$d éléments de type %2$s',
|
||||
'UI:CSVImport:ClassesSelectOne' => '-- choisir une valeur --',
|
||||
'UI:CSVImport:ErrorExtendedAttCode' => 'Erreur interne: "%1$s" n\'est pas une code correct car "%2$s" n\'est pas une clef externe de la classe "%3$s"',
|
||||
'UI:CSVImport:ObjectsWillStayUnchanged' => '%1$d objets(s) resteront inchangés.',
|
||||
'UI:CSVImport:ObjectsWillBeModified' => '%1$d objets(s) seront modifiés.',
|
||||
'UI:CSVImport:ObjectsWillBeAdded' => '%1$d objets(s) seront créés.',
|
||||
'UI:CSVImport:ObjectsWillHaveErrors' => '%1$d objets(s) seront en erreur.',
|
||||
'UI:CSVImport:ObjectsRemainedUnchanged' => '%1$d objets(s) n\'ont pas changé.',
|
||||
@@ -908,9 +908,9 @@ Nous espérons que vous aimerez cette version autant que nous avons eu du plaisi
|
||||
'UI:UserManagement:NoLifeCycleApplicable+' => 'Aucun cycle de vie n\'est défini pour ce type d\'objets.',
|
||||
'UI:UserManagement:GrantMatrix' => 'Matrice des droits',
|
||||
|
||||
'Menu:AdminTools' => 'Administration', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AdminTools+' => 'Outils d\'administration', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AdminTools?' => 'Ces outils sont accessibles uniquement aux utilisateurs possédant le profil Administrateur.', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AdminTools' => 'Administration',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AdminTools+' => 'Outils d\'administration',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AdminTools?' => 'Ces outils sont accessibles uniquement aux utilisateurs possédant le profil Administrateur.',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:SystemTools' => 'Système',
|
||||
|
||||
'UI:ChangeManagementMenu' => 'Gestion du Changement',
|
||||
@@ -956,17 +956,17 @@ Nous espérons que vous aimerez cette version autant que nous avons eu du plaisi
|
||||
'UI-ContactsMenu-ContactsByType' => 'Contacts par type',
|
||||
'UI-ContactsMenu-ContactsByStatus' => 'Contacts par état',
|
||||
|
||||
'Menu:CSVImportMenu' => 'Import CSV', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:CSVImportMenu+' => 'Import ou mise à jour en masse', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:CSVImportMenu' => 'Import CSV',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:CSVImportMenu+' => 'Import ou mise à jour en masse',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:DataModelMenu' => 'Modèle de Données', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataModelMenu+' => 'Résumé du Modèle de Données', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataModelMenu' => 'Modèle de Données',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataModelMenu+' => 'Résumé du Modèle de Données',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:ExportMenu' => 'Export', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ExportMenu+' => 'Export des résultats d\'une requête en HTML, CSV ou XML', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ExportMenu' => 'Export',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ExportMenu+' => 'Export des résultats d\'une requête en HTML, CSV ou XML',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:NotificationsMenu' => 'Notifications', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:NotificationsMenu+' => 'Configuration des Notifications', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:NotificationsMenu' => 'Notifications',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:NotificationsMenu+' => 'Configuration des Notifications',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'UI:NotificationsMenu:Title' => 'Configuration des Notifications',
|
||||
'UI:NotificationsMenu:Help' => 'Aide',
|
||||
'UI:NotificationsMenu:HelpContent' => '<p>Dans iTop les notifications sont totalement configurables. Elles sont basées sur deux types d\'objets: <i>déclencheurs et actions</i>.</p>
|
||||
@@ -997,27 +997,27 @@ Lors de l\'association à un déclencheur, on attribue à chaque action un numé
|
||||
'UI:TagAdminMenu:NoTags' => 'Pas de champ étiquette configuré',
|
||||
'UI:TagSetFieldData:Error' => 'Erreur: %1$s',
|
||||
|
||||
'Menu:AuditCategories' => 'Catégories d\'audit', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AuditCategories+' => 'Catégories d\'audit', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:Notifications:Title' => 'Catégories d\'audit', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AuditCategories' => 'Catégories d\'audit',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:AuditCategories+' => 'Catégories d\'audit',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:Notifications:Title' => 'Catégories d\'audit',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:RunQueriesMenu' => 'Requêtes OQL', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:RunQueriesMenu+' => 'Executer une requête OQL', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:RunQueriesMenu' => 'Requêtes OQL',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:RunQueriesMenu+' => 'Executer une requête OQL',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:QueryMenu' => 'Livre des requêtes', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:QueryMenu+' => 'Livre des requêtes', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:QueryMenu' => 'Livre des requêtes',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:QueryMenu+' => 'Livre des requêtes',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:DataAdministration' => 'Administration des données', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataAdministration+' => 'Administration des données', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataAdministration' => 'Administration des données',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:DataAdministration+' => 'Administration des données',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:UniversalSearchMenu' => 'Recherche Universelle', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UniversalSearchMenu+' => 'Rechercher n\'importe quel objet...', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UniversalSearchMenu' => 'Recherche Universelle',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UniversalSearchMenu+' => 'Rechercher n\'importe quel objet...',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:UserManagementMenu' => 'Gestion des Utilisateurs', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserManagementMenu+' => 'Gestion des Utilisateurs', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserManagementMenu' => 'Gestion des Utilisateurs',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:UserManagementMenu+' => 'Gestion des Utilisateurs',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
'Menu:ProfilesMenu' => 'Profils', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ProfilesMenu+' => 'Profils', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ProfilesMenu' => 'Profils',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ProfilesMenu+' => 'Profils',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:ProfilesMenu:Title' => 'Profils',
|
||||
// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
|
||||
@@ -1357,13 +1357,13 @@ Lors de l\'association à un déclencheur, on attribue à chaque action un numé
|
||||
'Month-10-Short' => 'Oct',
|
||||
'Month-11-Short' => 'Nov',
|
||||
'Month-12-Short' => 'Déc',
|
||||
'Calendar-FirstDayOfWeek' => '1', // 0 = Sunday, 1 = Monday, etc...
|
||||
'Calendar-FirstDayOfWeek' => '1',// 0 = Sunday, 1 = Monday, etc...
|
||||
|
||||
'UI:Menu:ShortcutList' => 'Créer un Raccourci...',
|
||||
'UI:ShortcutRenameDlg:Title' => 'Renommer le raccourci',
|
||||
'UI:ShortcutListDlg:Title' => 'Créer un raccourci pour la liste',
|
||||
'UI:ShortcutDelete:Confirm' => 'Veuillez confirmer la suppression du ou des raccourci(s)',
|
||||
'Menu:MyShortcuts' => 'Mes raccourcis', // Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Menu:MyShortcuts' => 'Mes raccourcis',// Duplicated into itop-welcome-itil (will be removed from here...)
|
||||
'Class:Shortcut' => 'Raccourci',
|
||||
'Class:Shortcut+' => '',
|
||||
'Class:Shortcut/Attribute:name' => 'Nom',
|
||||
@@ -1543,12 +1543,12 @@ Lors de l\'association à un déclencheur, on attribue à chaque action un numé
|
||||
'UI:Search:Criteria:Operator:String:EndsWith' => 'Fini par',
|
||||
'UI:Search:Criteria:Operator:String:RegExp' => 'Exp. rég.',
|
||||
// - Numeric widget
|
||||
'UI:Search:Criteria:Operator:Numeric:Equals' => 'Egal', // => '=',
|
||||
'UI:Search:Criteria:Operator:Numeric:GreaterThan' => 'Supérieur', // => '>',
|
||||
'UI:Search:Criteria:Operator:Numeric:GreaterThanOrEquals' => 'Sup. / égal', // > '>=',
|
||||
'UI:Search:Criteria:Operator:Numeric:LessThan' => 'Inférieur', // => '<',
|
||||
'UI:Search:Criteria:Operator:Numeric:LessThanOrEquals' => 'Inf. / égal', // > '<=',
|
||||
'UI:Search:Criteria:Operator:Numeric:Different' => 'Différent', // => '≠',
|
||||
'UI:Search:Criteria:Operator:Numeric:Equals' => 'Egal',// => '=',
|
||||
'UI:Search:Criteria:Operator:Numeric:GreaterThan' => 'Supérieur',// => '>',
|
||||
'UI:Search:Criteria:Operator:Numeric:GreaterThanOrEquals' => 'Sup. / égal',// > '>=',
|
||||
'UI:Search:Criteria:Operator:Numeric:LessThan' => 'Inférieur',// => '<',
|
||||
'UI:Search:Criteria:Operator:Numeric:LessThanOrEquals' => 'Inf. / égal',// > '<=',
|
||||
'UI:Search:Criteria:Operator:Numeric:Different' => 'Différent',// => '≠',
|
||||
// - Tag Set Widget
|
||||
'UI:Search:Criteria:Operator:TagSet:Matches' => 'Contient',
|
||||
|
||||
|
||||
Reference in New Issue
Block a user