#-------------------------------------------------------------------------------
# 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 consegna
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
