#-------------------------------------------------------------------------------
# Copyright (c) 2000, 2007 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
# IBM Corporation - initial implementation.
#-------------------------------------------------------------------------------
# NLS_MESSAGEFORMAT_VAR

# Complete new strings need translation.
previous_name_null1=Non \u00e8 possibile annullare la modifica del nome se il nome precedente \u00e8 nullo.
err_name_empty=Il nome non pu\u00f2 essere vuoto. Specificare un nome valido.
moveAction_label=Sposta

AbstractDiagram_Select_text=Seleziona
AbstractDiagram_Select_tooltip=Seleziona nodo oppure collegamento
AbstractDiagram_AddNode_title=Aggiungi nodo
AbstractDiagram_AddNode_err_msg=IXRD0002W: Aggiunta del nodo al diagramma non riuscita
AbstractDiagram_Link_text=Collegamento
AbstractDiagram_Link_select=Seleziona collegamento
AbstractDiagram_Link_tooltip=Crea un nuovo collegamento
ActivityDiagram_StartNode_text=Nodo iniziale
ActivityDiagram_StartNode_tooltip=Crea nodo iniziale
AbstractDiagram_FreeText_text=Testo libero
AbstractDiagram_FreeText_tooltip=Crea nuovo testo libero
ActivityDiagram_SyncBar_text=Barra di sincronizzazione
ActivityDiagram_SyncBar_tooltip=Crea una nuova barra di sincronizzazione
ActivityDiagram_DecisionNode_text=Nodo di decisione
ActivityDiagram_DecisionNode_tooltip=Creare un nodo di decisione
ActivityDiagram_EndNode_text=Nodo finale
ActivityDetailDiagram_prefix=Dettagli attivit\u00e0:
ActivityDiagram_EndNode_tooltip=Creare un nodo finale
ActivityDiagram_Activity_text=Attivit\u00e0
ActivityDiagram_Activity_tooltip=Creare un'attivit\u00e0
ActivityDiagram_Iteration_text=Iterazione
ActivityDiagram_Iteration_tooltip=Creare un'iterazione
ActivityDiagram_Phase_text=Fase
ActivityDiagram_Phase_tooltip=Creare una fase
AbstractDiagram_TaskDescriptor_text=Descrittore di operazioni
AbstractDiagram_RoleDescriptor_text=Descrittore di ruoli
WorkProductDependencyDiagram_prefix=Diagramma dipendenze prodotto di lavoro:
AbstractDiagram_RoleDescriptor_tooltip=Creare un descrittore del ruolo
AbstractDiagram_TaskDescriptor_tooltip=Creare un descrittore di operazioni
ActvitivityDiagram_DeliveryProcess_text=Processo di distribuzione
ActvitivityDiagram_CapabilityPattern_text=Modello di capacit\u00e0
ActvitivityDiagram_Phase_tex=Fase
ActvitivityDiagram_Iteration_text=Iterazione
ActvitivityDiagram_Activity_text=Attivit\u00e0
AbstractDiagram_WorkProductDescriptor_text=Descrittore di prodotti di lavoro
AbstractDiagram_WorkProductDescriptor_tooltip=Creare un descrittore del prodotto di lavoro

AbstractDiagramEditor_alignMenu_text=Allinea
AbstractDiagramEditor_refreshFromBaseActivity_text=Aggiorna da attivit\u00e0 di base
AbstractDiagramEditor_formatTextBoxActivity_text=Formato casella di testo...
AbstractDiagramEditor_hAlignAverageAction_text=Orizzontalmente a coord. medie
AbstractDiagramEditor_hAlignFirstSelectedAction_text=Orizzontalmente a prime coord. selezionate
AbstractDiagramEditor_vAlignAverageAction_text=Verticalmente a coord. medie
AbstractDiagramEditor_vAlignFirstSelectedAction_text=Verticalmente a prime coord. selezionate
AbstractDiagramEditor_Save_text=Salva
AbstractDiagramEditor_Save_message=Salvataggio di {0}
AbstractDiagramEditor_MoveNode_label=Sposta nodo
AbstractDiagramEditorrefreshfrombase=Aggiorna da base
AbstractDiagram_BendPoint_create=Crea bendpoint

ActivityDiagram_openActivityDetailDiagram_text=Apri diagramma dettagli attivit\u00e0
refreshAction_label=Aggiorna
refreshFromBaseCmd_label=Aggiorna da base
diagram_saveError=IUPD0001W: Salvataggio del diagramma non riuscito

DeleteDiagram_text=Elimina diagramma
DeleteDiagram_prompt=Chiudere ed eliminare questo diagramma?\nQuesta modifica \u00e8 permanente e non pu\u00f2 essere annullata.
align_bend_point_text=Allinea bendpoint
ConfigurationEditorInput_configeditor0=Editor di configurazioni
diagram_node_property_value_problem_msg=Errore nel valore del nodo.
diagram_errorDialog_title=Errore

ActivityDetailDiagramEditor_ResetDiagramLayout_text=Ripristina layout diagramma
errorDialog_title=Errore
command_cannotEdit=IUPD0003E: Impossibile modificare il diagramma

AbstractDiagramEditor_ParentEditorClose_title=Editor parent chiuso
AbstractDiagramEditor_ParentEditorClose_text={0} chiuso. Chiudere anche {1}?

#Below three strings moved from AuthoringUI resources.properties.
DiagramValidation_err_cannot_connect_text=IUPA0032W: Impossibile connettersi
DiagramValidation_err_samepredandsuc_text=IUPA0033W: Impossibile avere lo stesso elemento di interruzione come predecessore e successore
DiagramValidation_err_cannot_delete_text=Impossibile eliminare
deleteCommand_label=Elimina
deleteLinkCommand_label=Elimina connessione

ActivityDiagram_Milestone_text=Attivit\u00e0 cardine
ActivityDiagram_Milestone_tooltip=Crea attivit\u00e0 cardine
ActivityDiagram_Join_Node_text=Unione nodo
ActivityDiagram_Join_Node_tooltip=Crea unione nodo
ActivityDiagram_Merge_Node_text=Fusione nodo
ActivityDiagram_Merge_Node_tooltip=Creare un nodo di fusione
ActivityDiagram_Fork_Node_text=Esegui fork del nodo
ActivityDiagram_Fork_Node_tooltip=Crea nodo fork
ActivityDiagram_Partition_Node_text=Partizione attivit\u00e0
ActivityDiagram_Palette_flows_title=Flussi
ActivityDiagram_Palette_nodes_titles=Nodi
ActivityDiagram_Palette_flows_create_text=Strumento di creazione per i flussi
ActivityDiagram_Palette_nodes_group_text=Gruppo strumento di creazione per i nodi
ActivityDiagram_Palette_control_flow_text=Flusso di controllo
ActivityDiagram_Palette_control_flow_create_text=Crea un flusso di controllo
ActivityDiagram_Partition_Node_tooltip=Crea una partizione attivit\u00e0

ActivityDiagram_New_Task_Descriptor=Nuovo descrittore attivit\u00e0
ActivityDiagram_New_Milestone=Nuova attivit\u00e0 cardine
WPDD_New_WorkProductDescriptor=Nuovo descrittore prodotto di lavoro
ActivityDiagram_New_Activity=Nuova attivit\u00e0
ActivityDiagram_New_Phase=Nuova fase
ActivityDiagram_New_Iteration=Nuova iterazione
Progress_Saving_message=Salvataggio di {0}
Warning_Saving_Diagram=IUPD0001W: Salvataggio del diagramma non riuscito

ActivityDiagram_kind=Diagramma attivit\u00e0
ActivityDetail_Diagram_kind=Diagramma dettagli attivit\u00e0
WorkProductDependency_Diagram_kind=Diagramma dipendenze prodotto di lavoro
