diff --git a/dictionaries/it.dictionary.itop.core.php b/dictionaries/it.dictionary.itop.core.php index 61fe41aae..ba4fb624b 100644 --- a/dictionaries/it.dictionary.itop.core.php +++ b/dictionaries/it.dictionary.itop.core.php @@ -10,11 +10,11 @@ * */ Dict::Add('IT IT', 'Italian', 'Italiano', [ - 'Action:WarningNoTriggerLinked' => 'Warning, no trigger is linked to the action. It will not be active until it has at least 1.~~', - 'Action:last_executions_tab' => 'Last executions~~', - 'Action:last_executions_tab_limit_days' => 'past %1$s days~~', - 'Action:last_executions_tab_limit_none' => 'no limit~~', - 'Action:last_executions_tab_panel_title' => 'Executions of this action (%1$s)~~', + 'Action:WarningNoTriggerLinked' => 'Avviso, nessun trigger è collegato all\'azione. Non sarà attivo finché non avrà almeno 1.', + 'Action:last_executions_tab' => 'Ultime esecuzioni', + 'Action:last_executions_tab_limit_days' => 'ultimi %1$s giorni', + 'Action:last_executions_tab_limit_none' => 'nessun limite', + 'Action:last_executions_tab_panel_title' => 'Esecuzioni di questa azione (%1$s)', 'ActionEmail:content_placeholder_missing' => 'Il segnaposto "%1$s" non è stato trovato nel template HTML. Il contenuto del campo "%2$s" non verrà incluso nelle email generate.', 'ActionEmail:main' => 'Messaggio', 'ActionEmail:preview_more_info' => 'Per ulteriori informazioni sulle funzionalità CSS supportate dai diversi client di posta elettronica, consulta %1$s', @@ -23,34 +23,34 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [ 'ActionEmail:preview_warning' => 'L\'e-mail effettiva potrebbe apparire diversa nel client di posta elettronica rispetto a questa anteprima nel tuo browser.', 'ActionEmail:recipients' => 'Contatti', 'ActionEmail:trigger' => 'Triggers', - 'ActionNewsroom:content' => 'Message~~', - 'ActionNewsroom:settings' => 'Settings~~', - 'ActionNewsroom:trigger' => 'Trigger~~', + 'ActionNewsroom:content' => 'Messaggio', + 'ActionNewsroom:settings' => 'Impostazioni', + 'ActionNewsroom:trigger' => 'Trigger', 'Change:AttName_Changed' => '%1$s modificato', 'Change:AttName_Changed_PreviousValue_OldValue' => '%1$s modificato, valore precedente: %2$s', 'Change:AttName_EntryAdded' => '%1$s modificato, nuova voce aggiunta: %2$s', 'Change:AttName_SetTo' => '%1$s settato a %2$s', 'Change:AttName_SetTo_NewValue_PreviousValue_OldValue' => '%1$s settato a %2$s (valore precedente: %3$s)', - 'Change:FourOrMoreAttributesChanged' => 'Edited %1$s, %2$s and %3$s others~~', - 'Change:LinkSet:Added' => 'added %1$s~~', - 'Change:LinkSet:Modified' => 'modified %1$s~~', - 'Change:LinkSet:Removed' => 'removed %1$s~~', + 'Change:FourOrMoreAttributesChanged' => 'Modificato %1$s, %2$s e %3$s altri', + 'Change:LinkSet:Added' => 'aggiunto %1$s', + 'Change:LinkSet:Modified' => 'modificato %1$s', + 'Change:LinkSet:Removed' => 'rimosso %1$s', 'Change:ObjectCreated' => 'Oggetto creato', 'Change:ObjectDeleted' => 'Oggetto cancellato', 'Change:ObjectModified' => 'Oggetto modificato', - 'Change:State_Changed_NewValue_OldValue' => 'Changed from %2$s to %1$s~~', + 'Change:State_Changed_NewValue_OldValue' => 'Cambiato da %2$s a %1$s', 'Change:Text_AppendedTo_AttName' => '%1$s allegato a %2$s', - 'Change:ThreeAttributesChanged' => 'Edited %1$s, %2$s and 1 other~~', - 'Change:TwoAttributesChanged' => 'Edited %1$s and %2$s~~', + 'Change:ThreeAttributesChanged' => 'Modificato %1$s, %2$s e un altro', + 'Change:TwoAttributesChanged' => 'Modificato %1$s e %2$s', 'Class:AbstractResource' => 'Risorsa Astratta', 'Class:AbstractResource+' => '', 'Class:Action' => 'Azione personalizzata', 'Class:Action+' => 'Azione definita dall\'utente', - 'Class:Action/Attribute:asynchronous' => 'Asynchronous~~', - 'Class:Action/Attribute:asynchronous+' => 'Whether this action should be executed in background or not~~', - 'Class:Action/Attribute:asynchronous/Value:no' => 'No~~', - 'Class:Action/Attribute:asynchronous/Value:use_global_setting' => 'Use global setting~~', - 'Class:Action/Attribute:asynchronous/Value:yes' => 'Yes~~', + 'Class:Action/Attribute:asynchronous' => 'Asincrono', + 'Class:Action/Attribute:asynchronous+' => 'Se questa azione deve essere eseguita in background o no', + 'Class:Action/Attribute:asynchronous/Value:no' => 'No', + 'Class:Action/Attribute:asynchronous/Value:use_global_setting' => 'Usa impostazione globale', + 'Class:Action/Attribute:asynchronous/Value:yes' => 'Sì', 'Class:Action/Attribute:description' => 'Descrizione', 'Class:Action/Attribute:description+' => '', 'Class:Action/Attribute:finalclass' => 'Tipo', @@ -110,39 +110,39 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [ 'Class:ActionEmail/Attribute:test_recipient+' => '', 'Class:ActionEmail/Attribute:to' => 'A', 'Class:ActionEmail/Attribute:to+' => 'Destinatario dell\'email', - 'Class:ActionNewsroom' => 'Notification by Newsroom~~', - 'Class:ActionNewsroom+' => '~~', - 'Class:ActionNewsroom/Attribute:icon' => 'Icon~~', - 'Class:ActionNewsroom/Attribute:icon+' => 'Icon to appear next to the news in the newsroom. -- If filled, the custom icon will be used -- Otherwise, if the triggering object has an icon (e.g. picture of a Person object), it will be used -- Otherwise, if the triggering object has a class icon defined in the datamodel, it will be used -- Otherwise, the application compact logo will be used~~', - 'Class:ActionNewsroom/Attribute:message' => 'Message~~', - 'Class:ActionNewsroom/Attribute:message+' => 'Contents of the news, in Markdown format not HTML. Can contain placeholders like: -- $this->attribute_code$ any attribute of the object triggering the notification, -- $this->hyperlink()$ hyperlink in the backoffice to the object triggering the notification, -- $this->hyperlink(portal)$ hyperlink in the portal to the object triggering the notification, -- $this->attribute_external_key->attribute$ recursive syntax for any remote attribute, -- $current_contact->attribute$ attribute of the Person who triggered the notification~~', - 'Class:ActionNewsroom/Attribute:priority' => 'Priority~~', - 'Class:ActionNewsroom/Attribute:priority+' => '~~', - 'Class:ActionNewsroom/Attribute:priority/Value:1' => 'Critical~~', - 'Class:ActionNewsroom/Attribute:priority/Value:1+' => 'Critical~~', - 'Class:ActionNewsroom/Attribute:priority/Value:2' => 'Urgent~~', - 'Class:ActionNewsroom/Attribute:priority/Value:2+' => 'Urgent~~', - 'Class:ActionNewsroom/Attribute:priority/Value:3' => 'Important~~', - 'Class:ActionNewsroom/Attribute:priority/Value:3+' => 'Important~~', - 'Class:ActionNewsroom/Attribute:priority/Value:4' => 'Standard~~', - 'Class:ActionNewsroom/Attribute:priority/Value:4+' => 'Standard~~', - 'Class:ActionNewsroom/Attribute:recipients' => 'Recipients~~', - 'Class:ActionNewsroom/Attribute:recipients+' => 'An OQL query returning Contact objects~~', - 'Class:ActionNewsroom/Attribute:test_recipient_id' => 'Test recipient~~', - 'Class:ActionNewsroom/Attribute:test_recipient_id+' => 'Person used instead of Recipients when notification is being tested~~', - 'Class:ActionNewsroom/Attribute:title' => 'Title~~', - 'Class:ActionNewsroom/Attribute:title+' => 'Title of the news. Can contain placeholders like $this->attribute_code$~~', - 'Class:ActionNewsroom/Attribute:url' => 'URL~~', - 'Class:ActionNewsroom/Attribute:url+' => 'If empty, the URL will point to the object triggering the notification. But you can also specify a custom URL.~~', + 'Class:ActionNewsroom' => 'Notifica da Newsroom', + 'Class:ActionNewsroom+' => 'Leggi la notifica', + 'Class:ActionNewsroom/Attribute:icon' => 'Icona', + 'Class:ActionNewsroom/Attribute:icon+' => 'Icona che appare accanto alla notizia nella newsroom. + - Se riempito, verrà utilizzata l\'icona personalizzata + - Altrimenti, se l\'oggetto di attivazione ha un\'icona (ad esempio, la foto di un oggetto Persona), verrà utilizzata + - Altrimenti, se l\'oggetto di attivazione ha un\'icona di classe definita nel datamodel, verrà utilizzata + - Altrimenti, verrà utilizzato il logo compatto dell\'applicazione', + 'Class:ActionNewsroom/Attribute:message' => 'Messaggio', + 'Class:ActionNewsroom/Attribute:message+' => 'Contenuto della notizia, in formato Markdown non HTML. Può contenere segnaposto come: + - $this->attribute_code$ qualsiasi attributo dell\'oggetto che attiva la notifica, + - $this->hyperlink()$ collegamento ipertestuale nel backoffice all\'oggetto che attiva la notifica, + - $this->hyperlink(portal)$ collegamento ipertestuale nel portale all\'oggetto che attiva la notifica, + - $this->attribute_external_key->attribute$ sintassi ricorsiva per qualsiasi attributo remoto, + - $current_contact->attribute$ attributo della Persona che ha attivato la notifica', + 'Class:ActionNewsroom/Attribute:priority' => 'Priorità', + 'Class:ActionNewsroom/Attribute:priority+' => '', + 'Class:ActionNewsroom/Attribute:priority/Value:1' => 'Critica', + 'Class:ActionNewsroom/Attribute:priority/Value:1+' => 'Critica', + 'Class:ActionNewsroom/Attribute:priority/Value:2' => 'Urgente', + 'Class:ActionNewsroom/Attribute:priority/Value:2+' => 'Urgente', + 'Class:ActionNewsroom/Attribute:priority/Value:3' => 'Importante', + 'Class:ActionNewsroom/Attribute:priority/Value:3+' => 'Importante', + 'Class:ActionNewsroom/Attribute:priority/Value:4' => 'Standard', + 'Class:ActionNewsroom/Attribute:priority/Value:4+' => 'Standard', + 'Class:ActionNewsroom/Attribute:recipients' => 'Destinatari', + 'Class:ActionNewsroom/Attribute:recipients+' => 'Una query OQL che restituisce oggetti Contatto', + 'Class:ActionNewsroom/Attribute:test_recipient_id' => 'Destinatario di prova', + 'Class:ActionNewsroom/Attribute:test_recipient_id+' => 'Persona utilizzata al posto dei Destinatari quando la notifica è in fase di test', + 'Class:ActionNewsroom/Attribute:title' => 'Titolo', + 'Class:ActionNewsroom/Attribute:title+' => 'Titolo della notizia. Può contenere segnaposto come $this->attribute_code$', + 'Class:ActionNewsroom/Attribute:url' => 'URL', + 'Class:ActionNewsroom/Attribute:url+' => 'Se vuoto, l\'URL punterà all\'oggetto che attiva la notifica. Ma puoi anche specificare un URL personalizzato.', 'Class:ActionNotification' => 'Notifica', 'Class:ActionNotification+' => 'Notifica (sommario)', 'Class:AsyncSendEmail' => 'Email (asincrono)', @@ -202,14 +202,14 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [ 'Class:CMDBChange+' => 'Rilevamento delle modifiche', 'Class:CMDBChange/Attribute:date' => 'data', 'Class:CMDBChange/Attribute:date+' => 'data e l\'ora in cui i cambiamenti sono stati registrati', - 'Class:CMDBChange/Attribute:origin/Value:csv-import.php' => 'CSV import script~~', - 'Class:CMDBChange/Attribute:origin/Value:csv-interactive' => 'CSV import in the GUI~~', - 'Class:CMDBChange/Attribute:origin/Value:custom-extension' => 'By an extension~~', - 'Class:CMDBChange/Attribute:origin/Value:email-processing' => 'Email processing~~', - 'Class:CMDBChange/Attribute:origin/Value:interactive' => 'User interaction in the GUI~~', - 'Class:CMDBChange/Attribute:origin/Value:synchro-data-source' => 'Synchro. data source~~', - 'Class:CMDBChange/Attribute:origin/Value:webservice-rest' => 'REST/JSON webservices~~', - 'Class:CMDBChange/Attribute:origin/Value:webservice-soap' => 'SOAP webservices~~', + 'Class:CMDBChange/Attribute:origin/Value:csv-import.php' => 'Script di importazione CSV', + 'Class:CMDBChange/Attribute:origin/Value:csv-interactive' => 'Importazione CSV nell\'interfaccia grafica', + 'Class:CMDBChange/Attribute:origin/Value:custom-extension' => 'Da un\'estensione', + 'Class:CMDBChange/Attribute:origin/Value:email-processing' => 'Elaborazione email', + 'Class:CMDBChange/Attribute:origin/Value:interactive' => 'Interazione utente nell\'interfaccia grafica', + 'Class:CMDBChange/Attribute:origin/Value:synchro-data-source' => 'Sorgente dati di sincronizzazione', + 'Class:CMDBChange/Attribute:origin/Value:webservice-rest' => 'Servizi web REST/JSON', + 'Class:CMDBChange/Attribute:origin/Value:webservice-soap' => 'Servizi web SOAP', 'Class:CMDBChange/Attribute:userinfo' => 'misc. info', 'Class:CMDBChange/Attribute:userinfo+' => 'informazioni definite dal richiedente', 'Class:CMDBChangeOp' => 'Operazione di cambio', @@ -310,7 +310,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [ 'Class:EventNotification/Attribute:trigger_id+' => 'account utente', 'Class:EventNotificationEmail' => 'Emissione evento Email', 'Class:EventNotificationEmail+' => 'Traccia di una e-mail che è stato inviata', - 'Class:EventNotificationEmail/Attribute:attachments' => 'Attachments~~', + 'Class:EventNotificationEmail/Attribute:attachments' => 'Allegati', 'Class:EventNotificationEmail/Attribute:attachments+' => '', 'Class:EventNotificationEmail/Attribute:bcc' => 'BCC', 'Class:EventNotificationEmail/Attribute:bcc+' => '', @@ -324,48 +324,49 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [ 'Class:EventNotificationEmail/Attribute:subject+' => '', 'Class:EventNotificationEmail/Attribute:to' => 'A', 'Class:EventNotificationEmail/Attribute:to+' => '', - 'Class:EventNotificationNewsroom' => 'News sent~~', + 'Class:EventNotificationNewsroom' => 'Notizia inviata', 'Class:EventNotificationNewsroom+' => '~~', - 'Class:EventNotificationNewsroom/Attribute:contact_id' => 'Contact~~', - 'Class:EventNotificationNewsroom/Attribute:contact_id+' => '~~', - 'Class:EventNotificationNewsroom/Attribute:icon' => 'Icon~~', - 'Class:EventNotificationNewsroom/Attribute:icon+' => '~~', - 'Class:EventNotificationNewsroom/Attribute:priority' => 'Priority~~', - 'Class:EventNotificationNewsroom/Attribute:priority+' => '~~', - 'Class:EventNotificationNewsroom/Attribute:priority/Value:1' => 'Critical~~', - 'Class:EventNotificationNewsroom/Attribute:priority/Value:1+' => 'Critical~~', - 'Class:EventNotificationNewsroom/Attribute:priority/Value:2' => 'Urgent~~', - 'Class:EventNotificationNewsroom/Attribute:priority/Value:2+' => 'Urgent~~', - 'Class:EventNotificationNewsroom/Attribute:priority/Value:3' => 'Important~~', - 'Class:EventNotificationNewsroom/Attribute:priority/Value:3+' => 'Important~~', - 'Class:EventNotificationNewsroom/Attribute:priority/Value:4' => 'Standard~~', - 'Class:EventNotificationNewsroom/Attribute:priority/Value:4+' => 'Standard~~', - 'Class:EventNotificationNewsroom/Attribute:read' => 'Read~~', + 'Class:EventNotificationNewsroom/Attribute:contact_id' => 'Contatto', + 'Class:EventNotificationNewsroom/Attribute:contact_id+' => '', + 'Class:EventNotificationNewsroom/Attribute:icon' => 'Icona', + 'Class:EventNotificationNewsroom/Attribute:icon+' => '', + 'Class:EventNotificationNewsroom/Attribute:priority' => 'Priorità', + 'Class:EventNotificationNewsroom/Attribute:priority+' => '', + 'Class:EventNotificationNewsroom/Attribute:priority/Value:1' => 'Critica', + 'Class:EventNotificationNewsroom/Attribute:priority/Value:1+' => 'Critica', + 'Class:EventNotificationNewsroom/Attribute:priority/Value:2' => 'Urgente', + 'Class:EventNotificationNewsroom/Attribute:priority/Value:2+' => 'Urgente', + 'Class:EventNotificationNewsroom/Attribute:priority/Value:3' => 'Importante', + 'Class:EventNotificationNewsroom/Attribute:priority/Value:3+' => 'Importante', + 'Class:EventNotificationNewsroom/Attribute:priority/Value:4' => 'Standard', + 'Class:EventNotificationNewsroom/Attribute:priority/Value:4+' => 'Standard', + 'Class:EventNotificationNewsroom/Attribute:read' => 'Letto', 'Class:EventNotificationNewsroom/Attribute:read+' => '~~', - 'Class:EventNotificationNewsroom/Attribute:read/Value:no' => 'No~~', - 'Class:EventNotificationNewsroom/Attribute:read/Value:no+' => 'No~~', - 'Class:EventNotificationNewsroom/Attribute:read/Value:yes' => 'Yes~~', - 'Class:EventNotificationNewsroom/Attribute:read/Value:yes+' => 'Yes~~', - 'Class:EventNotificationNewsroom/Attribute:read_date' => 'Read date~~', + 'Class:EventNotificationNewsroom/Attribute:read/Value:no' => 'No', + 'Class:EventNotificationNewsroom/Attribute:read/Value:no+' => 'No', + 'Class:EventNotificationNewsroom/Attribute:read/Value:yes' => 'Sì', + 'Class:EventNotificationNewsroom/Attribute:read/Value:yes+' => 'Sì', + 'Class:EventNotificationNewsroom/Attribute:read_date' => 'Data di lettura', 'Class:EventNotificationNewsroom/Attribute:read_date+' => '~~', - 'Class:EventNotificationNewsroom/Attribute:title' => 'Title~~', + 'Class:EventNotificationNewsroom/Attribute:title' => 'Titolo', 'Class:EventNotificationNewsroom/Attribute:title+' => '~~', - 'Class:EventNotificationNewsroom/Attribute:url' => 'URL~~', + 'Class:EventNotificationNewsroom/Attribute:url' => 'URL', 'Class:EventNotificationNewsroom/Attribute:url+' => '~~', - 'Class:EventRestService' => 'REST/JSON call~~', - 'Class:EventRestService+' => 'Trace of a REST/JSON service call~~', - 'Class:EventRestService/Attribute:code' => 'Code~~', - 'Class:EventRestService/Attribute:code+' => 'Result code~~', - 'Class:EventRestService/Attribute:json_input' => 'Input~~', - 'Class:EventRestService/Attribute:json_input+' => 'Argument \'json_data\'~~', - 'Class:EventRestService/Attribute:json_output' => 'Response~~', - 'Class:EventRestService/Attribute:json_output+' => 'HTTP response (json)~~', - 'Class:EventRestService/Attribute:operation' => 'Operation~~', - 'Class:EventRestService/Attribute:operation+' => 'Argument \'operation\'~~', - 'Class:EventRestService/Attribute:provider' => 'Provider~~', - 'Class:EventRestService/Attribute:provider+' => 'PHP class implementing the expected operation~~', - 'Class:EventRestService/Attribute:version' => 'Version~~', - 'Class:EventRestService/Attribute:version+' => 'Argument \'version\'~~', + 'Class:EventRestService' => 'Chiamata REST/JSON', + 'Class:EventRestService+' => 'Traccia di una chiamata del servizio REST/JSON', + 'Class:EventRestService/Attribute:code' => 'Codice', + 'Class:EventRestService/Attribute:code+' => 'Codice del risultato', + 'Class:EventRestService/Attribute:json_input' => 'Input', + 'Class:EventRestService/Attribute:json_input+' => 'Argomento \'json_data\'', + 'Class:EventRestService/Attribute:json_output' => 'Risposta', + 'Class:EventRestService/Attribute:json_output+' => 'Risposta HTTP (json)', + 'Class:EventRestService/Attribute:operation' => 'Operazione', + 'Class:EventRestService/Attribute:operation+' => 'Argomento \'operazione\'', + 'Class:EventRestService/Attribute:provider' => 'Provider', + 'Class:EventRestService/Attribute:provider+' => 'Classe PHP che implementa l\'operazione prevista', + 'Class:EventRestService/Attribute:version' => 'Versione', + 'Class:EventRestService/Attribute:version+' => 'Argomento \'versione\'', + 'Class:EventWebService' => 'Evento di servizio web', 'Class:EventWebService+' => 'Traccia di una chiamata di servizio web', 'Class:EventWebService/Attribute:data' => 'Dati', @@ -532,11 +533,11 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [ 'Class:Trigger/Attribute:description+' => 'Una linea di descrizione', 'Class:Trigger/Attribute:finalclass' => 'Tipo', 'Class:Trigger/Attribute:finalclass+' => '', - 'Class:Trigger/Attribute:subscription_policy' => 'Subscription policy~~', - 'Class:Trigger/Attribute:subscription_policy+' => 'Allows users to unsubscribe from the trigger~~', - 'Class:Trigger/Attribute:subscription_policy/Value:allow_no_channel' => 'Allow complete unsubscription~~', - 'Class:Trigger/Attribute:subscription_policy/Value:force_all_channels' => 'Deny unsubscription~~', - 'Class:Trigger/Attribute:subscription_policy/Value:force_at_least_one_channel' => 'Force at least one channel (News or Email)~~', + 'Class:Trigger/Attribute:subscription_policy' => 'Politica di sottoscrizione', + 'Class:Trigger/Attribute:subscription_policy+' => 'Consente agli utenti di annullare l\'iscrizione dal trigger', + 'Class:Trigger/Attribute:subscription_policy/Value:allow_no_channel' => 'Consenti annullamento completo dell\'iscrizione', + 'Class:Trigger/Attribute:subscription_policy/Value:force_all_channels' => 'Nega l\'annullamento dell\'iscrizione', + 'Class:Trigger/Attribute:subscription_policy/Value:force_at_least_one_channel' => 'Obbliga almeno un canale (News o Email)', 'Class:Trigger/ComplementaryName' => '%1$s, %2$s', 'Class:TriggerOnAttributeBlobDownload' => 'Trigger (al download del documento dell\'oggetto)', 'Class:TriggerOnAttributeBlobDownload+' => 'Trigger al download del campo documento dell\'oggetto di [una classe figlia della] classe specificata', @@ -615,7 +616,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [ 'Core:AttributeClassAttCodeSet:ItemLabel:AttributeFromClass' => '%1$s (%2$s)', 'Core:AttributeClassAttCodeSet:ItemLabel:AttributeFromOneChildClass' => '%1$s (%2$s da %3$s)', 'Core:AttributeClassAttCodeSet:ItemLabel:AttributeFromSeveralChildClasses' => '%1$s (%2$s da classi figlie)', - 'Core:AttributeDashboard' => 'Dashboard~~', + 'Core:AttributeDashboard' => 'Cruscotto', 'Core:AttributeDashboard+' => '', 'Core:AttributeDate' => 'Data', 'Core:AttributeDate+' => 'Data (anno-mese-giorno)', @@ -670,8 +671,8 @@ Se \'oraè omessa, di default è 00:00:00 'Core:AttributeFriendlyName+' => 'Attributo creato automaticamente, il nome descrittivo viene calcolato dopo diversi attributi', 'Core:AttributeHTML' => 'HTML', 'Core:AttributeHTML+' => 'Stringa HTML', - 'Core:AttributeHierarchicalKey' => 'Hierarchical Key~~', - 'Core:AttributeHierarchicalKey+' => 'External (or foreign) key to the parent~~', + 'Core:AttributeHierarchicalKey' => 'Chiave gerarchica', + 'Core:AttributeHierarchicalKey+' => 'Chiave esterna (o straniera) al genitore', 'Core:AttributeIPAddress' => 'Indirizzo IP', 'Core:AttributeIPAddress+' => '', 'Core:AttributeInteger' => 'Interger', @@ -708,7 +709,7 @@ Se \'oraè omessa, di default è 00:00:00 'Core:AttributeString+' => 'Stringa alfanumerica', 'Core:AttributeTable' => 'Tabella', 'Core:AttributeTable+' => 'Array indicizzato a due dimensioni', - 'Core:AttributeTag' => 'Tags~~', + 'Core:AttributeTag' => 'Tag', 'Core:AttributeTag+' => '', 'Core:AttributeTagSet' => 'Elenco di tag', 'Core:AttributeTagSet+' => '', @@ -752,9 +753,9 @@ Se \'oraè omessa, di default è 00:00:00 'Core:BulkExport:PDFPageSize' => 'Dimensioni Pagina:', 'Core:BulkExport:PageOrientation-L' => 'Orizzontale', 'Core:BulkExport:PageOrientation-P' => 'Verticale', - 'Core:BulkExport:PageSize-A3' => 'A3~~', - 'Core:BulkExport:PageSize-A4' => 'A4~~', - 'Core:BulkExport:PageSize-Letter' => 'Letter~~', + 'Core:BulkExport:PageSize-A3' => 'A3', + 'Core:BulkExport:PageSize-A4' => 'A4', + 'Core:BulkExport:PageSize-Letter' => 'Lettera', 'Core:BulkExport:RetrievingData' => 'Recupero dei dati...', 'Core:BulkExport:ScopeDefinition' => 'Definizione degli oggetti da esportare', 'Core:BulkExport:SpreadsheetFormat' => 'Formato HTML per foglio di calcolo (*.html)', @@ -775,12 +776,12 @@ Se \'oraè omessa, di default è 00:00:00 'Core:BulkExportQueryPlaceholder' => 'Digita una query OQL qui...', 'Core:CheckConsistencyError' => 'Regole di coerenza non rispettate: %1$s', 'Core:CheckValueError' => 'Valore inatteso per l\'attributo \'%1$s\' (%2$s): %3$s', - 'Core:Context=CRON' => 'cron~~', - 'Core:Context=GUI:Console' => 'Console~~', - 'Core:Context=GUI:Portal' => 'Portal~~', - 'Core:Context=REST/JSON' => 'REST~~', - 'Core:Context=Setup' => 'Setup~~', - 'Core:Context=Synchro' => 'Synchro~~', + 'Core:Context=CRON' => 'cron', + 'Core:Context=GUI:Console' => 'Console', + 'Core:Context=GUI:Portal' => 'Portale', + 'Core:Context=REST/JSON' => 'REST', + 'Core:Context=Setup' => 'Configurazione', + 'Core:Context=Synchro' => 'Sincronizzazione', 'Core:DateTime:Placeholder_A' => 'AM/PM', 'Core:DateTime:Placeholder_G' => 'hh', 'Core:DateTime:Placeholder_H' => 'hh', @@ -808,7 +809,7 @@ Se \'oraè omessa, di default è 00:00:00 'Core:ExplainWTC:StopWatch-TimeSpent' => 'Tempo trascorso per \"%1$s\"', 'Core:FriendlyName-Description' => 'Friendly name', 'Core:FriendlyName-Label' => 'Nome', - 'Core:Placeholder:CannotBeResolved' => '(%1$s : cannot be resolved)~~', + 'Core:Placeholder:CannotBeResolved' => '(%1$s : non può essere risolto)', 'Core:SyncDataExchangeComment' => '(Scambio dati)', 'Core:SyncDataSourceAccessRestriction' => 'Solo amministratori o l\'utente specificato nella fonte dei dati può eseguire questa operazione. Operazione annullata', 'Core:SyncDataSourceObsolete' => 'La fonte dei dati è contrassegnata come obsoleta. Operazione annullata', diff --git a/dictionaries/it.dictionary.itop.ui.php b/dictionaries/it.dictionary.itop.ui.php index 8c25668a5..5da663a89 100644 --- a/dictionaries/it.dictionary.itop.ui.php +++ b/dictionaries/it.dictionary.itop.ui.php @@ -93,12 +93,12 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [ 'Class:ShortcutOQL/Attribute:auto_reload/Value:custom' => 'Tariffa personalizzata', 'Class:ShortcutOQL/Attribute:auto_reload/Value:none' => 'Disabilitato', 'Class:ShortcutOQL/Attribute:auto_reload_sec' => 'Intervallo di aggiornamento automatico (secondi)', - 'Class:ShortcutOQL/Attribute:auto_reload_sec/tip' => 'The minimum allowed is %1$d seconds~~', + 'Class:ShortcutOQL/Attribute:auto_reload_sec/tip' => 'Il minimo consentito è %1$d secondi', 'Class:ShortcutOQL/Attribute:oql' => 'Query', 'Class:ShortcutOQL/Attribute:oql+' => 'OQL che definisce l\'elenco di oggetti da cercare', - 'Class:TagSetFieldData/Attribute:finalclass' => 'Tag class~~', - 'Class:TagSetFieldData/Attribute:obj_attcode' => 'Field code~~', - 'Class:TagSetFieldData/Attribute:obj_class' => 'Object class~~', + 'Class:TagSetFieldData/Attribute:finalclass' => 'Classe del tag', + 'Class:TagSetFieldData/Attribute:obj_attcode' => 'Codice del campo', + 'Class:TagSetFieldData/Attribute:obj_class' => 'Classe dell\'oggetto', 'Class:URP_ActionGrant' => 'azione_autorizzazione', 'Class:URP_ActionGrant+' => 'permesso su classi', 'Class:URP_ActionGrant/Attribute:action' => 'Azione', @@ -214,7 +214,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [ 'Class:User/Attribute:email' => 'Email', 'Class:User/Attribute:email+' => 'Email del contatto corrispondente', 'Class:User/Attribute:finalclass' => 'Tipo di account', - 'Class:User/Attribute:finalclass+' => 'Name of the final class~~', + 'Class:User/Attribute:finalclass+' => 'Nome della classe finale', 'Class:User/Attribute:first_name' => 'Nome', 'Class:User/Attribute:first_name+' => 'Nome del contatto corrispondente', 'Class:User/Attribute:language' => 'Lingua', @@ -242,12 +242,12 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [ 'Class:User/Error:LoginMustBeUnique' => 'Il Login deve essere unico - "%1s" già in uso', 'Class:User/Error:OrganizationNotAllowed' => 'Organizzazione non consentita.', 'Class:User/Error:PersonIsMandatory' => 'Il contatto è obbligatorio.', - 'Class:User/Error:PortalPowerUserHasInsufficientRights' => 'The Portal power user profile does not give sufficient access rights (another profile must be added)~~', + 'Class:User/Error:PortalPowerUserHasInsufficientRights' => 'Il profilo utente con poteri del portale non concede diritti di accesso sufficienti (deve essere aggiunto un altro profilo)', 'Class:User/Error:ProfileNotAllowed' => 'Il profilo "%1$s" non può essere aggiunto poiché nega l\'accesso al back office.', 'Class:User/Error:StatusChangeIsNotAllowed' => 'La modifica dello stato non è consentita per il proprio utente.', 'Class:User/Error:UserOrganizationNotAllowed' => 'L\'account utente non appartiene alle organizzazioni consentite.', - 'Class:User/Warning:NoContactHasImpact' => 'Cautious: there is no Person defined on this User, this prevents access to portals, news notifications and other side effects in back-office~~', - 'Class:User/Warning:NoOrganizationMeansFullAccess' => 'No "Allowed Organizations" defined for this user, this means they have access to all organizations~~', + 'Class:User/Warning:NoContactHasImpact' => 'Attenzione: non è definita alcuna Persona per questo Utente, ciò impedisce l\'accesso ai portali, le notifiche di notizie e altri effetti collaterali nel back-office', + 'Class:User/Warning:NoOrganizationMeansFullAccess' => 'Nessuna "Organizzazione consentita" definita per questo utente, ciò significa che ha accesso a tutte le organizzazioni', 'Class:UserDashboard' => 'Dashboard Utente', 'Class:UserDashboard+' => '~~', 'Class:UserDashboard/Attribute:contents' => 'Contenuti', @@ -335,8 +335,8 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [ 'Menu:RunQueriesMenu' => 'Esegui query', 'Menu:RunQueriesMenu+' => '', 'Menu:SystemTools' => 'Sistema', - 'Menu:TagAdminMenu' => 'Tags configuration~~', - 'Menu:TagAdminMenu+' => 'Tags values management~~', + 'Menu:TagAdminMenu' => 'Configurazione dei tag', + 'Menu:TagAdminMenu+' => 'Gestione dei valori dei tag', 'Menu:UniversalSearchMenu' => 'Ricerca universale', 'Menu:UniversalSearchMenu+' => '', 'Menu:UserAccountsMenu' => 'Account utente', @@ -497,7 +497,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [ 'UI:Audit:Interactive:Selection:SubTitle' => 'Seleziona un dominio per ottenere i risultati limitati a questo dominio o seleziona "Tutte le categorie" per ottenere un audit completo (può richiedere tempo o addirittura fallire se ci sono troppe informazioni da auditare)', 'UI:Audit:Interactive:Selection:Title' => 'Selezione di un audit', 'UI:Audit:InteractiveAudit' => 'Audit interattivo', - 'UI:Audit:OqlError' => 'OQL Error~~', + 'UI:Audit:OqlError' => 'Errore OQL', 'UI:Audit:PercentageOk' => '% Ok', 'UI:Audit:Title' => ITOP_APPLICATION_SHORT.' - Audit CMDB', 'UI:Audit:ViewRules' => 'Controlla le regole', @@ -579,29 +579,29 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [ 'UI:CSVImport:AdvancedMode' => 'Modalità avanzata', 'UI:CSVImport:AdvancedMode+' => '', 'UI:CSVImport:AlertIncompleteMapping' => 'Per favore seleziona una mappatura per ogni campo.', - 'UI:CSVImport:AlertMultipleMapping' => 'Please make sure that a target field is mapped only once.~~', + 'UI:CSVImport:AlertMultipleMapping' => 'Assicurati che un campo di destinazione sia mappato una sola volta.', 'UI:CSVImport:AlertNoSearchCriteria' => 'Per favore seleziona almeno un criterio di ricerca', 'UI:CSVImport:CSVDataPreview' => 'CSV Anteprima dei dati', 'UI:CSVImport:ClassesSelectOne' => '-- seleziona uno --', - 'UI:CSVImport:Column' => 'Column %1$s~~', + 'UI:CSVImport:Column' => 'Colonna %1$s', 'UI:CSVImport:CommentsAndHeader' => 'Commenti e intestazione', 'UI:CSVImport:CustomDateTimeFormat' => 'Formato personalizzato: %1$s', - 'UI:CSVImport:CustomDateTimeFormatTooltip' => 'Available placeholders:
| Y | year (4 digits, e.g. 2016) |
| y | year (2 digits, e.g. 16 for 2016) |
| m | month (2 digits, e.g. 01..12) |
| n | month (1 or 2 digits no leading zero, e.g. 1..12) |
| d | day (2 digits, e.g. 01..31) |
| j | day (1 or 2 digits no leading zero, e.g. 1..31) |
| H | hour (24 hour, 2 digits, e.g. 00..23) |
| h | hour (12 hour, 2 digits, e.g. 01..12) |
| G | hour (24 hour, 1 or 2 digits no leading zero, e.g. 0..23) |
| g | hour (12 hour, 1 or 2 digits no leading zero, e.g. 1..12) |
| a | hour, am or pm (lowercase) |
| A | hour, AM or PM (uppercase) |
| i | minutes (2 digits, e.g. 00..59) |
| s | seconds (2 digits, e.g. 00..59) |
| Y | anno (4 cifre, es. 2016) |
| y | anno (2 cifre, es. 16 per 2016) |
| m | mese (2 cifre, es. 01..12) |
| n | mese (1 o 2 cifre senza zero iniziale, es. 1..12) |
| d | giorno (2 cifre, es. 01..31) |
| j | giorno (1 o 2 cifre senza zero iniziale, es. 1..31) |
| H | ora (24 ore, 2 cifre, es. 00..23) |
| h | ora (12 ore, 2 cifre, es. 01..12) |
| G | ora (24 ore, 1 o 2 cifre senza zero iniziale, es. 0..23) |
| g | ora (12 ore, 1 o 2 cifre senza zero iniziale, es. 1..12) |
| a | ora, am o pm (minuscolo) |
| A | ora, AM o PM (maiuscolo) |
| i | minuti (2 cifre, es. 00..59) |
| s | secondi (2 cifre, es. 00..59) |
In '.ITOP_APPLICATION_SHORT.' le notifiche sono completamente personalizzabili. Essi si basano su due serie di oggetti: trigger e azioni.
-I trigger definiscono quando verrà eseguita una notifica. Ci sono diversi trigger come parte del nucleo di '.ITOP_APPLICATION_SHORT.', ma altri possono essere portati da estensioni: +'UI:NotificationsMenu:HelpContent' => '
In '.ITOP_APPLICATION_SHORT.' le notifiche sono completamente personalizzabili. Esse si basano su due serie di oggetti: trigger e azioni.
+I trigger definiscono quando verrà eseguita una notifica. Ci sono diversi trigger come parte del nucleo di '.ITOP_APPLICATION_SHORT.', ma altri possono essere forniti da estensioni:
-Azioni define the actions to be performed when the triggers execute. For now there are only two kind of actions: +Azioni definiscono le azioni da eseguire quando i trigger vengono attivati. Per ora ci sono solo due tipi di azioni:
Per essere eseguite, le azioni devono essere associate ai trigger. -Quando è associata a un trigger, ad ogni azione è assegnato un numero "ordine", che specifica in quale ordine le azioni devono essere eseguite.
', - 'UI:NotificationsMenu:OnCreate' => 'When an object is created~~', +Quando è associata a un trigger, a ogni azione è assegnato un numero "ordine", che specifica in quale ordine le azioni devono essere eseguite.', +'UI:NotificationsMenu:OnCreate' => 'Quando un oggetto viene creato', 'UI:NotificationsMenu:OnStateEnter' => 'Quando un oggetto viene creato', 'UI:NotificationsMenu:OnStateLeave' => 'Quando un oggetto lascia un determinato stato', 'UI:NotificationsMenu:Title' => 'Configurazione delle Notifiche', @@ -1103,7 +1103,7 @@ Quando è associata a un trigger, ad ogni azione è assegnato un numero "ordine" 'UI:ObjectArchived' => 'Questo oggetto è stato archiviato. Si prega di abilitare la modalità archivio o contattare l\'amministratore.', 'UI:ObjectCouldNotBeWritten' => 'L\'oggetto non può essere scritto: %1$s', 'UI:ObjectDoesNotExist' => 'Spiacenti, questo oggetto non esiste (o non si è autorizzati per vederlo).', - 'UI:ObjectShortcutInsert' => 'Insert Object Shortcut~~', + 'UI:ObjectShortcutInsert' => 'Inserisci scorciatoia oggetto', 'UI:OnlyForThisList' => 'Solo per questa lista', 'UI:OpenDocumentInNewWindow_' => 'Aprire', 'UI:OperationCancelled' => 'Operazione Annullata', @@ -1379,15 +1379,15 @@ Quando è associata a un trigger, ad ogni azione è assegnato un numero "ordine" 'UI:ShortcutListDlg:Title' => 'Crea una scorciatoia per l\'elenco', 'UI:ShortcutRenameDlg:Title' => 'Rinomina la scorciatoia', 'UI:SimpleSearchTab' => 'Ricerca semplice', - 'UI:SplitDateTime-Date' => 'date~~', - 'UI:SplitDateTime-Time' => 'time~~', + 'UI:SplitDateTime-Date' => 'data', + 'UI:SplitDateTime-Time' => 'ora', 'UI:StateChanged' => 'Stato cambiato', 'UI:StayOnThePage' => 'Resta su questa pagina', 'UI:StimulusModify_N_ObjectsOf_Class' => '%1$s: Modifica %2$d oggetti della classe %3$s', 'UI:SystemIntrusion' => 'Accesso negato. Hai cercato di eseguire un\'operazione che non ti è consentita.', - 'UI:TagAdminMenu:NoTags' => 'No Tag field configured~~', - 'UI:TagAdminMenu:Title' => 'Tags configuration~~', - 'UI:TagSetFieldData:Error' => 'Error: %1$s~~', + 'UI:TagAdminMenu:NoTags' => 'Nessun campo Tag configurato', + 'UI:TagAdminMenu:Title' => 'Configurazione dei tag', + 'UI:TagSetFieldData:Error' => 'Errore: %1$s', 'UI:Title:BulkDeletionOf_Count_ObjectsOf_Class' => 'Cancellazione collettiva di %1$d oggetti della classe %2$s', 'UI:Title:BulkImport' => ITOP_APPLICATION_SHORT.' - importazione collettiva', 'UI:Title:BulkImport+' => '', diff --git a/js/ckeditor/build/ckeditor.js b/js/ckeditor/build/ckeditor.js index 658a66272..38175e029 100644 --- a/js/ckeditor/build/ckeditor.js +++ b/js/ckeditor/build/ckeditor.js @@ -3,5 +3,5 @@ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md. */ -function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClassicEditor=e():t.ClassicEditor=e()}(self,(()=>(()=>{var t,e,n={5659:(t,e,n)=>{const o=n(8156),i={};for(const t of Object.keys(o))i[o[t]]=t;const r={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};t.exports=r;for(const t of Object.keys(r)){if(!("channels"in r[t]))throw new Error("missing channels property: "+t);if(!("labels"in r[t]))throw new Error("missing channel labels property: "+t);if(r[t].labels.length!==r[t].channels)throw new Error("channel and label counts mismatch: "+t);const{channels:e,labels:n}=r[t];delete r[t].channels,delete r[t].labels,Object.defineProperty(r[t],"channels",{value:e}),Object.defineProperty(r[t],"labels",{value:n})}r.rgb.hsl=function(t){const e=t[0]/255,n=t[1]/255,o=t[2]/255,i=Math.min(e,n,o),r=Math.max(e,n,o),s=r-i;let a,c;r===i?a=0:e===r?a=(n-o)/s:n===r?a=2+(o-e)/s:o===r&&(a=4+(e-n)/s),a=Math.min(60*a,360),a<0&&(a+=360);const l=(i+r)/2;return c=r===i?0:l<=.5?s/(r+i):s/(2-r-i),[a,100*c,100*l]},r.rgb.hsv=function(t){let e,n,o,i,r;const s=t[0]/255,a=t[1]/255,c=t[2]/255,l=Math.max(s,a,c),d=l-Math.min(s,a,c),u=function(t){return(l-t)/6/d+.5};return 0===d?(i=0,r=0):(r=d/l,e=u(s),n=u(a),o=u(c),s===l?i=o-n:a===l?i=1/3+e-o:c===l&&(i=2/3+n-e),i<0?i+=1:i>1&&(i-=1)),[360*i,100*r,100*l]},r.rgb.hwb=function(t){const e=t[0],n=t[1];let o=t[2];const i=r.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(n,o));return o=1-1/255*Math.max(e,Math.max(n,o)),[i,100*s,100*o]},r.rgb.cmyk=function(t){const e=t[0]/255,n=t[1]/255,o=t[2]/255,i=Math.min(1-e,1-n,1-o);return[100*((1-e-i)/(1-i)||0),100*((1-n-i)/(1-i)||0),100*((1-o-i)/(1-i)||0),100*i]},r.rgb.keyword=function(t){const e=i[t];if(e)return e;let n,r=1/0;for(const e of Object.keys(o)){const i=o[e],c=(a=i,((s=t)[0]-a[0])**2+(s[1]-a[1])**2+(s[2]-a[2])**2);c<br> element)"),keystroke:"Shift+Enter"}]})}}class Rw extends Rr{refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.schema,o=e.document.selection,i=Array.from(o.getSelectedBlocks()),r=void 0===t.forceValue?!this.value:t.forceValue;e.change((t=>{if(r){const e=i.filter((t=>Fw(t)||Mw(n,t)));this._applyQuote(t,e)}else this._removeQuote(t,i.filter(Fw))}))}_getValue(){const t=$i(this.editor.model.document.selection.getSelectedBlocks());return!(!t||!Fw(t))}_checkEnabled(){if(this.value)return!0;const t=this.editor.model.document.selection,e=this.editor.model.schema,n=$i(t.getSelectedBlocks());return!!n&&Mw(e,n)}_removeQuote(t,e){zw(t,e).reverse().forEach((e=>{if(e.start.isAtStart&&e.end.isAtEnd)return void t.unwrap(e.start.parent);if(e.start.isAtStart){const n=t.createPositionBefore(e.start.parent);return void t.move(e,n)}e.end.isAtEnd||t.split(e.end);const n=t.createPositionAfter(e.end.parent);t.move(e,n)}))}_applyQuote(t,e){const n=[];zw(t,e).reverse().forEach((e=>{let o=Fw(e.start);o||(o=t.createElement("blockQuote"),t.wrap(e,o)),n.push(o)})),n.reverse().reduce(((e,n)=>e.nextSibling==n?(t.merge(t.createPositionAfter(e)),e):n))}}function Fw(t){return"blockQuote"==t.parent.name?t.parent:null}function zw(t,e){let n,o=0;const i=[];for(;o").replace(/\r?\n/g,"
").replace(/\t/g," ").replace(/^\s/," ").replace(/\s$/," ").replace(/\s\s/g," ")).includes("
")||r.includes("
"))&&(r=`
${r}
`),t=r),i=this.editor.data.htmlProcessor.toView(t)}var r;const s=new m(this,"inputTransformation");this.fire(s,{content:i,dataTransfer:o,targetRanges:e.targetRanges,method:e.method}),s.stop.called&&t.stop(),n.scrollToTheSelection()}),{priority:"low"}),this.listenTo(this,"inputTransformation",((t,n)=>{if(n.content.isEmpty)return;const o=this.editor.data.toModel(n.content,"$clipboardHolder");0!=o.childCount&&(t.stop(),e.change((()=>{this.fire("contentInsertion",{content:o,method:n.method,dataTransfer:n.dataTransfer,targetRanges:n.targetRanges})})))}),{priority:"low"}),this.listenTo(this,"contentInsertion",((t,e)=>{e.resultRange=i._pasteFragmentWithMarkers(e.content)}),{priority:"low"})}_setupCopyCut(){const t=this.editor,e=t.model.document,n=t.editing.view.document,o=(t,n)=>{const o=n.dataTransfer;n.preventDefault(),this._fireOutputTransformationEvent(o,e.selection,t.name)};this.listenTo(n,"copy",o,{priority:"low"}),this.listenTo(n,"cut",((e,n)=>{t.model.canEditAt(t.model.document.selection)?o(e,n):n.preventDefault()}),{priority:"low"}),this.listenTo(this,"outputTransformation",((e,o)=>{const i=t.data.toView(o.content);n.fire("clipboardOutput",{dataTransfer:o.dataTransfer,content:i,method:o.method})}),{priority:"low"}),this.listenTo(n,"clipboardOutput",((n,o)=>{o.content.isEmpty||(o.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(o.content)),o.dataTransfer.setData("text/plain",dA(o.content))),"cut"==o.method&&t.model.deleteContent(e.selection)}),{priority:"low"})}}class SA extends(S()){constructor(){super(...arguments),this._stack=[]}add(t,e){const n=this._stack,o=n[0];this._insertDescriptor(t);const i=n[0];o===i||TA(o,i)||this.fire("change:top",{oldDescriptor:o,newDescriptor:i,writer:e})}remove(t,e){const n=this._stack,o=n[0];this._removeDescriptor(t);const i=n[0];o===i||TA(o,i)||this.fire("change:top",{oldDescriptor:o,newDescriptor:i,writer:e})}_insertDescriptor(t){const e=this._stack,n=e.findIndex((e=>e.id===t.id));if(TA(t,e[n]))return;n>-1&&e.splice(n,1);let o=0;for(;e[o]&&IA(e[o],t);)o++;e.splice(o,0,t)}_removeDescriptor(t){const e=this._stack,n=e.findIndex((e=>e.id===t));n>-1&&e.splice(n,1)}}function TA(t,e){return t&&e&&t.priority==e.priority&&PA(t.classes)==PA(e.classes)}function IA(t,e){return t.priority>e.priority||!(t.priority