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

# Error Messages
invalidNameError_msg=Il nome ''{0}'' non \u00e8 valido. Il nome di un elemento del metodo non pu\u00f2 contenere questi caratteri: \\ / : * ? " < > |
objNotFoundError_msg=Impossibile trovare l''oggetto con l''ID ''{0}''
loadLibraryError_msg=Rilevati errori durante il caricamento della libreria dei metodi:
loadLibraryError_details=\ \ riga: {0}, colonna: {1}, msg: {2}
restoreResourceError_msg=Impossibile ripristinare la risorsa ''{0}''
FileManager_fileReadOnly=Il file ''{0}'' \u00e8 di sola lettura
ErrMsg_CouldNotDelete=Impossibile eliminare {0}. {1}
renameError_msg=Impossibile rinominare ''{0}'' in ''{1}''
backupError_msg=Impossibile eseguire il backup della risorsa ''{0}''
modifyFileError_msg=Impossibile modificare il file ''{0}''
filePathNameTooLong_msg=Impossibile salvare la risorsa. Il nome percorso file \u00e8 troppo lungo (supera 255) ''{0}''
loadResourceError_msg=Impossibile caricare la risorsa ''{0}''
loadResourceErrorWithReason_msg=Impossibile caricare la risorsa ''{0}''. Motivo: {1}
invalidLibraryFileError_msg=File della libreria dei metodi non valido:
fileNotFoundError_msg=Impossibile individuare i file della libreria di metodi nello spazio di lavoro ''{0}''
normalizeURIError_msg=Impossibile trovare la risorsa per l''elemento identificato da ''{0}''
moveError_msg=Impossibile spostare ''{0}'' in ''{1}''. La destinazione esiste gi\u00e0.
modifyReadOnlyFileError_msg=Impossibile modificare file di sola lettura: {0}
moveResourceError_msg=La risorsa ''{0}'' \u00e8 coinvolta in un''operazione di persistenza che non \u00e8 stata eseguita.
modifyFilesError_msg=Impossibile modificare uno o pi\u00f9 file
resourceOutOfSynch_msg=La risorsa non \u00e8 sincronizzata e deve essere ricaricata: {0}
resourceAutoRefreshJob_name=Aggiornamento automatico risorsa
loadConfiguration_couldNotLoad_logMsg=Impossibile caricare il file: {0}. La configurazione del metodo in questo file ha un GUID duplicato.
loadConfiguration_notConfigFile_logMsg=Il file non \u00e8 un file di configurazione del metodo: {0}

# Progress Messages
loadLibraryTask_name=Caricamento della libreria dei metodi in corso...
moveDataTask_name=Trasferimento dei dati in corso...
saveLibraryTask_name=Salvataggio della libreria dei metodi in corso...
loadResourcesTask_name=Caricamento di tutte le risorse nella memoria in corso...
migratingDiagram_name=Migrazione diagrammi in corso...
migrateContentDescriptionsTask_name=Migrazione delle descrizioni dei contenuti dei processi in corso...
fixPresentationNameTask_name=Correzione dei nomi di presentazione vuoti...
UnresolvedProxyMarkerManager_couldNotResolveProxy=Impossibile rilevare l''elemento identificato da ''{0}''
refreshLibraryFilesTask_name=Aggiornamento dei file della libreria nell'area di lavoro
cannot_create_dir_msg=Impossibile creare la directory ''{0}''.
unresolvedProxyLoggerJob_name=Creazione di caricamento degli indicatori di errore
