#-------------------------------------------------------------------------------
# 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

# Publish Method Configuration Wizard
publishConfigWizard_title=Pubblica configurazione metodo
publishConfigWizard_selectConfigPage_title=Seleziona configurazione metodo
publishConfigWizard_selectConfigPage_text=Selezionare la configurazione di metodo che si desidera pubblicare.
publishConfigWizard_selectOptionsPage_title=Specifica opzioni di pubblicazione
publishConfigWizard_selectOptionsPage_text=Specificare la directory di destinazione e le opzioni di pubblicazione.
publishConfigWizard_methodConfig_text=Configurazione metodo:
publishConfigWizard_destinationGroup_text=Directory di destinazione
publishConfigWizard_directory_text=Percorso:
publishConfigWizard_useDefaultPath_text=Utilizza percorso predefinito
publishConfigWizard_webSite_text=Sito Web pubblicato
publishConfigWizard_title_text=Titolo:
publishConfigWizard_bannerImage_text=Immagine banner:
publishConfigWizard_aboutHTML_text=Informazioni sul contenuto:
publishConfigWizard_feedbackURL_text=URL feedback:
publishConfigWizard_includeIndex_text=Pubblica pagina indice
publishConfigWizard_includeGlossary_text=Pubblica pagina glossario
publishConfigWizard_includeSearch_text=Includi funzionalit\u00e0 di ricerca (necessario supporto applet Java nel browser)
publishConfigWizard_useApplet_text=Supporta personalizzazione viste funzionalit\u00e0 di ricerca (necessario supporto applet Java nel browser)
publishConfigWizard_validationGroup_text=Convalida
publishConfigWizard_checkHyperlinks_text=Controlla collegamenti ipertestuali esterni
publishConfigWizard_diagramGroup_text=Diagrammi
publishConfigWizard_publish_unopen_activity_dd_text=Pubblica diagrammi dettagli attivit\u00e0 che non sono stati creati nell'editor di processi
publishConfigWizard_publish_extend_activity_diagram=Pubblicare i diagrammi di attivit\u00e0 per le estensioni attivit\u00e0 non modificate
publishConfigWizard_convertBrokenLinks_text=Convertire i collegamenti danneggiati in testo non codificato
publishConfigWizard_layout_text=Layout
publishConfigWizard_extraDescriptorInfo_text=Pubblicare i descrittori con il contenuto completo dell'elemento contenuto del metodo correlato
publishConfigWizard_lightWeightTree_text=Generare una struttura ad albero secondaria per gli elementi attivit\u00e0, ruolo, prodotti di lavoro e disciplina senza utilizzare cartelle
publishConfigWizard_includeEmptyCategories_text=Pubblicare le categorie senza elementi categorizzati

# publish process wizard page
PublishConfigSelectProcessPage_title=Seleziona tipo di pubblicazione
PublishConfigSelectProcessPage_text=\u00c8 possibile pubblicare la configurazione selezionata o i processi specificati nella configurazione
PublishConfigSelectProcessPage_label_capability_pattern=Modelli di capacit\u00e0
PublishConfigSelectProcessPage_label_delivery_process=Processi di produzione
PublishConfigSelectProcessPage_label_selectType=Seleziona tipo di pubblicazione
PublishConfigSelectProcessPage_label_type_processes=Pubblica i processi selezionati di seguito:
PublishConfigSelectProcessPage_label_type_config=Pubblica la configurazione selezionata
PublishConfigSelectProcessPage_label_publish_base_processes=Pubblica i processi di base a cui si fa riferimento

# Publishing Preference Page
preferencePage_defaultPath_text=Percorso predefinito:

# Confirmation Dialogs
publishConfigDialog_title=Pubblica configurazione metodo
confirmPathDialog_text=Il percorso di destinazione \u00e8 stato risolto in ''{0}''. Procedere?
overwriteDialog_text=Il percorso di destinazione ''{0}'' esiste gi\u00e0. Tutti i file nella cartella verranno eliminati. Procedere?
cancelPublishConfig_msg=L'operazione di pubblicazione \u00e8 stata annullata.

# Error Dialogs
previewConfigError_title=Anteprima configurazione metodo pubblicata
viewReportError_title=Visualizza report di pubblicazione

# Error Messages
missingViewError_msg=IUPP0100W: La configurazione selezionata non contiene un vista valida. Modificare la configurazione e aggiungere una vista oppure selezionare un'altra configurazione.
cannotPublishError_msg=IUPP0101E: Impossibile pubblicare la configurazione selezionata.
invalidPathError_msg=IUPP0102E: Il percorso di destinazione \u00e8 vuoto oppure non \u00e8 valido.
invalidPathCharsError_msg=IUPP0103E: Il percorso di destinazione non pu\u00f2 contenere i seguenti caratteri: \\ # * ? " < > | ! % /
publishConfigError_msg=IUPP0104E: La configurazione selezionata non \u00e8 stata pubblicata correttamente.
previewConfigError_msg=IUPP0105E: Impossibile aprire un browser HTML per visualizzare l'anteprima della configurazione pubblicata.
viewReportError_msg=IUPP0106E: Impossibile aprire un browser HTML per visualizzare il report di pubblicazione.

# Error Reasons & Recommended Actions
publishConfigError_reason=IUPP0107E: Si \u00e8 verificato un errore. Selezionare il pulsante Dettagli per ulteriori informazioni.
deleteFilesError_reason=Il percorso di destinazione ''{0}'' contiene file che non possono essere eliminati.\n\nChiudere questa finestra di dialogo e specificare un altro percorso.
createDirError_reason=Impossibile creare il percorso di destinazione ''{0}''.\n\nChiudere questa finestra di dialogo e specificare un altro percorso.
openBrowserError_reason=Impossibile individuare o trovare il browser HTML predefinito su questo sistema.\n\nChiudere questa finestra di dialogo e aprire il file ''{0}'' manualmente con un browser HTML.
