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

# Export Microsoft Project Wizard
exportMSPWizard_title=Esportazione progetto Microsoft

# Select Export Options Wizard Page
selectExportOptionsWizardPage_title=Seleziona le opzioni di esportazione
selectExportOptionsWizardPage_text=Selezionare la configurazione del metodo e le opzioni di esportazione che verranno utilizzate per esportare il processo selezionato.
selectedProcessLabel_text=Processo selezionato:
configurationLabel_text=Configurazione del metodo:
publishWebSiteCheckBox_text=Pubblica il sito Web del processo
publishConfigButton_text=Pubblicare l'intera configurazione del metodo
publishProcessButton_text=Pubblicare il contenuto rilevante solo per il processo selezionato
exportOnlyPlannedElementsCheckBox_text=Esportare solo gli elementi pianificati di suddivisione

# Select Publishing Options Wizard Page
selectPublishOptionsWizardPage_title=Seleziona opzioni di pubblicazione
selectPublishOptionsWizardPage_text=Seleziona le opzioni di pubblicazione che verranno utilizzate per pubblicare il sito Web per il processo esportato.

# Select Export Directory Wizard page
selectExportDirWizardPage_title=Specificare il nome del progetto e la directory di esportazione
selectExportDirWizardPage_text=Specificare il nome del progetto Microsoft e la directory di esportazione.
projectNameLabel_text=Nome:
dirLabel_text=Directory:
browseButton_text=Sfoglia...

# Progress Messages
exportMSPTask_name=Esportazione del processo selezionato nel progetto Microsoft...

# Warning Messages
overwriteText_msg=IUPM0100W: Un progetto Microsoft ''{0}'' esiste gi\u00e0 in ''{1}''.\n\nSi desidera sovrascriverlo?
missingProcessContentWarning_msg=IUPM0102W: Il sito Web del processo pubblicato non contiene il contenuto relativo al processo esportato.\n\nSi desidera procedere?

# Informational Messages
completedText_msg=IUPM0103I: Il processo selezionato ''{0}'' \u00e8 stato esportato correttamente nel file XML del progetto Microsoft ''{1}''.

# Error Messages
exportMSPError_msg=IUPM0105E: Si \u00e8 verificato un errore durante l''esportazione del processo selezionato ''{0}'' nel progetto Microsoft ''{1}''.
exportMSPError_reason=Fare clic su Dettagli per ulteriori informazioni.
exportMSPInternalError_msg=Si \u00e8 verificato un errore interno.
illegalArgument_msg={0} restituisce un valore null o non valido.
