#------------------------------------------------------------------------------
# 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
################################################################################
# START NO TRANSLATION
################################################################################
# TODO: manually put keys and values
DiagramDiagramEditorUtil_OpenModelResourceErrorDialogTitle=Errore
DiagramDiagramEditorUtil_OpenModelResourceErrorDialogMessage=Impossibile caricare il file del modello {0}
DiagramDiagramEditorUtil_CreateDiagramProgressTask=Creazione di file del diagramma e del modello in corso
DiagramDiagramEditorUtil_CreateDiagramCommandLabel=Creazione del diagramma e del modello in corso
DiagramDocumentProvider_isModifiable=Aggiornamento cache non riuscito
DiagramDocumentProvider_handleElementContentChanged=Impossibile aggiornare la gerarchia per una risorsa modificata
DiagramDocumentProvider_IncorrectInputError={1}
DiagramDocumentProvider_UnableToLoadResourceError=Impossibile caricare la risorsa del diagramma
DiagramDocumentProvider_NoDiagramInResourceError=Il diagramma non \u00e8 presente nella risorsa
DiagramDocumentProvider_DiagramLoadingError=Errore durante il caricamento del diagramma
DiagramDocumentProvider_UnsynchronizedFileSaveError=Il file \u00e8 stato modificato sul file system
DiagramDocumentProvider_SaveDiagramTask=Salvataggio del diagramma
DiagramDocumentProvider_SaveNextResourceTask=Salvataggio di {0}
DiagramInitDiagramFileAction_InitDiagramFileResourceErrorDialogTitle=Errore
DiagramInitDiagramFileAction_InitDiagramFileResourceErrorDialogMessage=Caricamento del file del modello non riuscito
DiagramInitDiagramFileAction_InitDiagramFileWizardTitle=Inizializza nuovo file del diagramma {0}
DiagramInitDiagramFileAction_OpenModelFileDialogTitle=Seleziona modello di dominio
DiagramNewDiagramFileWizard_CreationPageName=Inizializza nuovo file del diagramma
DiagramNewDiagramFileWizard_CreationPageTitle=File del diagramma
DiagramNewDiagramFileWizard_CreationPageDescription=Crea nuovo diagramma basato sul contenuto del modello {0}
DiagramNewDiagramFileWizard_RootSelectionPageName=Seleziona elemento root del diagramma
DiagramNewDiagramFileWizard_RootSelectionPageTitle=Elemento root del diagramma
DiagramNewDiagramFileWizard_RootSelectionPageDescription=Seleziona elemento del modello semantico da rappresentare nel diagramma
DiagramNewDiagramFileWizard_RootSelectionPageSelectionTitle=Selezionare un elemento root del diagramma:
DiagramNewDiagramFileWizard_RootSelectionPageNoSelectionMessage=Elemento root del diagramma non selezionato
DiagramNewDiagramFileWizard_RootSelectionPageInvalidSelectionMessage=Selezionato un elemento root del diagramma non valido
DiagramNewDiagramFileWizard_InitDiagramCommand=Inizializzazione del contenuto del diagramma
DiagramNewDiagramFileWizard_IncorrectRootError=Oggetto modello non corretto memorizzato come oggetto di risorsa root
Model1Group_title=modello
ControlFlow1CreationTool_title=Flusso di controllo
ControlFlow1CreationTool_desc=Crea nuovo flusso di controllo
WorkProductDescriptor2CreationTool_title=Descrittore di prodotti di lavoro
WorkProductDescriptor2CreationTool_desc=Crea un nuovo descrittore di prodotti di lavori

CommandName_OpenDiagram=Apri diagramma
################################################################################
# END NO TRANSLATION
################################################################################
