#-------------------------------------------------------------------------------
# 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

workflow_export_wizard_title=Esporta procedura guidata del flusso di lavoro
workflow_export_wizard_text=Procedura guidata per l'esportazione del flusso di lavoro (diagrammi di attivit\u00e0)
workflow_export_wizard_processGroup_text=Processo
workflow_export_wizard_capabilityPatternRadioButton_text=Modello di capacit\u00e0
workflow_export_wizard_deliveryProcessRadioButton_text=Processo di distribuzione
workflow_export_wizard_processNameLabel_text=Processo:
workflow_export_wizard_contextNameLabel_text=Configurazione:
workflow_export_wizard_templateGroup_text=Modello
workflow_export_wizard_templateNameLabel_text=Nome File:
workflow_export_wizard_dirLabel_text=Directory:
workflow_export_wizard_browseButton_text=Sfoglia...
workflow_overwriteTextDialog_title=Sovrascrivi
workflow_overwriteText_msg=Si desidera sovrascrivere il file esistente?
workflow_export_wizard_activitiesNameLabel_text=Attivit\u00e0:

open_method_library_error_title=Errore durante l'apertura della libreria dei metodi
open_method_library_error_text=\u00c8 necessario aprire una libreria del metodo prima di eseguire un'esportazione.

# Graph Node names

GRAPH_NODE_FORK=Esegui fork del nodo
GRAPH_NODE_INITIAL=Nodo iniziale
GRAPH_NODE_FINAL=Nodo finale
GRAPH_NODE_DECISION=Nodo di decisione
GRAPH_NODE_FREE_TEXT=Testo libero
GRAPH_NODE_MERGE=Fusione nodo
GRAPH_NODE_JOIN=Unione nodo
GRAPH_NODE_LINK=Collegamento
