#-------------------------------------------------------------------------------
# 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
#
# Message ID Range: IUPE0000E - IUPE0099E
#

# Export Library Configuration Wizard
exportConfigWizard_title=Esporta configurazione libreria
selectExportTypePage_title=Seleziona tipo di esportazione
selectExportTypePage_desc=Selezionare il tipo di configurazione di libreria da esportare.
selectExportTypePage_configLabel_text=Esportare una configurazione di metodo e tutti i relativi plug-in di metodo.
selectExportTypePage_configSpecsLabel_text=Esportare una o pi\u00f9 specifiche di configurazione di metodo.
selectConfigPage_title=Seleziona configurazione metodo
selectConfigPage_desc=Selezionare una configurazione di metodo da esportare. Tutti i plug-in di metodo a cui si fa riferimento nella configurazione selezionata verranno inclusi nell'esportazione.
selectConfigPage_configsLabel_text=Configurazioni di metodo:
selectConfigSpecsPage_title=Seleziona specifiche di configurazione
selectConfigSpecsPage_desc=Selezionare una o pi\u00f9 specifiche di configurazione di metodo da esportare.
selectConfigSpecsPage_configsLabel_text=Configurazioni di metodo:
checkConfigPage_title=Esamina errori di configurazione
checkConfigPage_desc=\u00c8 stata eseguita una verifica dell'integrit\u00e0 sulla configurazione di metodo selezionata. Esaminare il prospetto degli errori ed eseguire le azioni correttive necessarie.
selectDestinationPage_title=Specifica directory di esportazione
selectDestinationPage_desc=Specificare una directory di destinazione in cui memorizzare la configurazione esportata.

# Export Method Plug-ins Wizard
exportPluginsWizard_title=Esporta plug-in di metodo
selectPluginsPage_title=Seleziona plug-in di metodo
selectPluginsPage_desc=Selezionare uno o pi\u00f9 plug-in di metodo da esportare.
selectPluginsPage_pluginsLabel_text=Plug-in di metodo:
reviewPluginsPage_title=Esamina dipendenze
reviewPluginsPage_desc=Selezionare ciascun plug-in di metodo per esaminarne le dipendenze. Fare clic su Indietro per selezionare i plug-in dipendenti nel caso in cui debbano essere inclusi nell'esportazione.
reviewPluginsPage_pluginsLabel_text=Plug-in di metodo:
reviewPluginsPage_dependentPluginsLabel_text=Plug-in di metodo dipendenti:
reviewPluginsPage_associatedConfigsLabel_text=Configurazioni di metodo associate:
exportPluginSummaryPage_title=Conferma esportazione
exportPluginSummaryPage_desc=Confermare i plug-in di metodo che verranno esportati.
exportPluginSummaryPage_noPlugin_text=Non \u00e8 stato selezionato alcun plug-in di metodo.
specifyPathPage_title=Specifica directory di esportazione
specifyPathPage_desc=Specificare una directory di esportazione in cui memorizzare i plug-in di metodo esportati.
SavePluginPage_desc=Esportare i plug-in e le configurazioni selezionate nella directory di destinazione specificata.
ExportPluginWizard_title=Errore procedura guidata Esporta plug-in di metodo
ExportPluginError_msg=IUPE0000E: Rilevato errore durante l'esportazione

# Export Library Configuration Error Dialog
exportConfigErrorDialog_title=Esporta configurazione libreria
exportConfigErrorDialog_msg=IUPE0001E: Impossibile continuare l'esportazione.

# Progress Messages
analyzingConfigTask_name=Analisi della configurazione della libreria in corso...

# The following messages have not been reviewed.
ConfigurationSpecsExportService_MSG0=Esportazione della configurazione in corso...
ConfigurationSpecsExportService_MSG1=Esportazione completata
ExportConfigCheckingPage_summary_1=Verifica dell'integrit\u00e0 della configurazione selezionata in corso...\n
ExportConfigCheckingPage_summary_2=Nessuna configurazione selezionata.\n
ExportConfigCheckingPage_summary_3=Non c'\u00e8 alcun problema nella configurazione selezionata.\n
ExportConfigCheckingPage_summary_4=Ci sono {0} problemi nella configurazione selezionata. \n\u00c8 possibile aprire l''editor di configurazioni e risolvere questi problemi. \nOppure \u00e8 possibile scegliere di ignorare questi problemi e continuare.
ExportConfigCheckingPage_checking=\u00c8 in corso la verifica della configurazione, attendere...
ExportConfigSelectConfigPage_title=Scegli configurazione metodo
DestinationCommonPage_label_browse=Sfoglia...
DestinationCommonPage_label_default_dir=Utilizza directory predefinita
ConfigurationExportService_MSG0=Esportazione della configurazione in corso...
ConfigurationExportService_MSG2=IUPE0002E: Esportazione non riuscita: Errore durante il caricamento della libreria
ConfigurationExportService_MSG4=IUPE0003E: Esportazione non riuscita: Errore durante la copia della libreria
ConfigurationExportService_MSG1=IUPE0004E: Esportazione non riuscita: Errore durante la creazione della chiusura della configurazione della libreria
ConfigurationExportService_MSG9=IUPE0005E: Esportazione non riuscita: Errore durante il salvataggio della libreria
DestinationCommonPage_label_name=Nome:
DestinationCommonPage_label_dir=Directory:
ExportPluginWizard_error=Errore
DestinationCommonPage_title=Titolo predefinito
DestinationCommonPage_desc=Descrizione predefinita:
PluginExportService_MSG0=Esportazione dei plug-in in corso...
PluginExportService_MSG1=Creazione della directory di esportazione in corso...
PluginExportService_MSG2=Copia dei file in corso...
PluginExportService_MSG3=Generazione della libreria e del file di risorse in corso...
PluginExportService_MSG4=Esportazione completata
SaveLibraryPage_title=Esporta plug-in di metodo
SavePluginPage_label_name=Nome di esportazione:
SaveLibraryPage_desc=Esportare i plug-in di metodo selezionati e le configurazioni associate
ExportPluginWizard_MSG1=Analisi della configurazione della libreria in corso...
