#-------------------------------------------------------------------------------
# Copyright (c) 2005, 2006 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
#
# Message ID Range:
#

# Import XML Wizard
importXMLWizard_title=Importa XML

# Select Import XML File Wizard Page
selectXMLFilePage_title=Specifica file di importazione
selectXMLFilePage_desc=Specificare il file XML in cui si trova il contenuto della libreria dei metodi da importare e selezionare l'operazione di importazione appropriata da eseguire.
fileLabel_text=File XML:
browseButton_text=Sfoglia...
optionGroup_text=Importa opzione
overwriteRadioButton_text=Sovrascrivi il contenuto della libreria dei metodi esistente con il contenuto importato
mergeRadioButton_text=Unisci il contenuto importato nella libreria dei metodi esistente

# Progress Messages
importingXML_text=Importazione del contenuto della libreria XML nella libreria dei metodi corrente in corso...

# Import XML Error Dialog
review_log_files=L''operazione di importazione \u00e8 stata completata. Per eventuali errori, rivedere i file di log nella cartella \n ''{0}''.
importXMLError_msg=IUPM0000E: Impossibile continuare l'operazione di importazione.
importXMLError_reason=IUPM0009E: La Libreria dei metodi corrente \u00e8 di sola lettura.\n\nAssicurarsi che ''{0}'' sia scrivibile oppure creare una nuova libreria dei metodi e provare di nuovo.

# Error Messages
invalidXMLFile_error=Il file XML specificato non \u00e8 valido.
versionMismatch_oldData=IUPM0010E: il file XML specificato \u00e8 stato esportato da una precedente versione ({0}) di {1}. E'' necessario esportare i file utilizzando la versione corrente di {1}.
versionMismatch_oldData_unknown=IUPM0011E: il file XML specificato \u00e8 stato esportato da una precedente versione di {0}. E'' necessario esportare i file utilizzando la versione corrente di {0}.
versionMismatch_oldTool=IUPM0012E: il file XML specificato \u00e8 stato esportato da una versione pi\u00f9 aggiornata ({0}) di {1}. \u00c8 necessario aggiornare {1} per importare il file.  
versionMismatch_oldTool_unknown=IUPM0013E: impossibile aprire il file XML specificato. \u00c8 necessario aggiornare {0} per importare il file.  

importXMLService_element_not_handled=Elemento non gestito: {0}
importXMLService_element_without_id=Elemento senza ID: {0}
importXMLService_import_failed=Importazione non riuscita: {0}
importXMLService_missing_plugin=Plugin richiesto mancante {0}
importXMLService_error_missing_plugins=Plugin richiesto mancante. Per ulteriori dettagli, controllare i file di log

library_error_no_eclass=Errore durante la creazione di ContentCategory: impossibile richiamare EClass per {0}
library_no_package=Impossibile trovare il pacchetto di origine dell''oggetto {0}
library_error_create_element=Errore durante la creazione dell''elemento: {0}
library_object_string=oggetto {0}, funzione {1}
library_error_set_attribute_2=Errore durante l''impostazione dell''attributo: valore funzione attributo non valido {0}
library_error_set_attribute=Errore durante l''impostazione dell''attributo per l''oggetto {0}, la funzione {1} e il valore {2}
library_error_set_attribute_3=Impossibile impostare l''attributo per l''oggetto {0}, la funzione {1} e il valore {2}
library_error_set_reference=Errore durante l''impostazione del riferimento per la funzione {0}: nessun elemento con id {1}
library_error_set_reference_2=Errore durante l''impostazione del riferimento per l''oggetto {0}, la funzione {1} e il valore {2}

