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

# Method Element Names (Singular)
activity_text=Attivit\u00e0
artifact_text=Artefatto
capabilityPattern_text=Modello di capacit\u00e0
checklist_text=Elenco di controllo
checkItem_text=Voce elenco di controllo
compositeRole_text=Ruolo composito
concept_text=Concetto
contentPackage_text=Pacchetto del contenuto
customCategory_text=Categoria personalizzata
deliverable_text=Componente distribuibile
deliveryProcess_text=Processo di consegna
descriptor_text=Descrittore
discipline_text=Disciplina
disciplineGrouping_text=Raggruppamento discipline
domain_text=Dominio
estimate_text=Valutazione
estimatingMetric_text=Metrica di valutazione
estimationConsiderations_text=Considerazioni sulla valutazione
example_text=Esempio
guidance_text=Guida
guideline_text=Linea guida
iteration_text=Iterazione
methodConfiguration_text=Configurazione di metodo
methodContent_text=Contenuto del metodo
methodLibrary_text=Libreria dei metodi
methodPackage_text=Pacchetto di metodo
methodPlugin_text=Plug-in di metodo
milestone_text=Punto cardine
outcome_text=Risultato
phase_text=Fase
practice_text=Procedura
process_text=Processo
processContribution_text=Processo differenziale
processFamily_text=Famiglia processo
processPackage_text=Pacchetto processo
report_text=Report
reusableAsset_text=Risorsa riutilizzabile
roadmap_text=Roadmap
roleDescriptor_text=Descrittore di ruoli
role_text=Ruolo
roleSet_text=Insieme di ruoli
roleSetGrouping_text=Raggruppamento insiemi di ruoli
standardCategory_text=Categoria standard
step_text=Passo
supportingMaterial_text=Materiale di supporto
task_text=Operazione
taskDescriptor_text=Descrittore di operazioni
teamProfile_text=Profilo team
template_text=Modello
termDefinition_text=Definizione termine
tool_text=Tool
toolMentor_text=Guida al tool
whitepaper_text=Whitepaper
workProduct_text=Prodotto di lavoro
workProductDescriptor_text=Descrittore di prodotti di lavoro
workProductElement_text=Elemento prodotto di lavoro
workProductType_text=Tipo di prodotto di lavoro

# Method Element Names (Plural)
activity_text_plural=Attivit\u00e0
artifact_text_plural=Artefatti
capabilityPattern_text_plural=Modelli di capacit\u00e0
checklist_text_plural=Elenchi di controllo
checkItem_text_plural=Elementi di controllo
compositeRole_text_plural=Ruoli compositi
concept_text_plural=Concetti
contentPackage_text_plural=Pacchetti del contenuto
customCategory_text_plural=Categorie personalizzate
deliverable_text_plural=Componenti distribuibili
deliveryProcess_text_plural=Processi di consegna
descriptor_text_plural=Descrittori
discipline_text_plural=Discipline
disciplineGrouping_text_plural=Raggruppamenti discipline
domain_text_plural=Domini
estimate_text_plural=Valutazioni
estimatingMetric_text_plural=Metriche di valutazione
estimationConsiderations_text_plural=Considerazioni sulla valutazione
example_text_plural=Esempi
guidance_text_plural=Guide
guideline_text_plural=Linee guida
iteration_text_plural=Iterazioni
methodConfiguration_text_plural=Configurazioni di metodo
methodContent_text_plural=Contenuti di metodo
methodLibrary_text_plural=Librerie dei metodi
methodPackage_text_plural=Pacchetti del metodo
methodPlugin_text_plural=Plug-in del metodo
milestone_text_plural=Milestone
outcome_text_plural=Risultati
phase_text_plural=Fasi
practice_text_plural=Pratiche
process_text_plural=Processi
processContribution_text_plural=Processi differenziali
processFamily_text_plural=Famiglie processi
processPackage_text_plural=Pacchetti processo
report_text_plural=Report
reusableAsset_text_plural=Risorse riutilizzabili
roadmap_text_plural=Roadmap
roleDescriptor_text_plural=Descrittori di ruoli
role_text_plural=Ruoli
roleSet_text_plural=Insiemi di ruoli
roleSetGrouping_text_plural=Raggruppamenti insiemi di ruoli
standardCategory_text_plural=Categorie standard
step_text_plural=Passi
supportingMaterial_text_plural=Materiale di supporto
task_text_plural=Operazioni
taskDescriptor_text_plural=Descrittori di operazioni
teamProfile_text_plural=Profili team
template_text_plural=Modelli
termDefinition_text_plural=Definizioni termini
tool_text_plural=Tool
toolMentor_text_plural=Guide dei tool
whitepaper_text_plural=Whitepaper
workProduct_text_plural=Prodotti di lavoro
workProductDescriptor_text_plural=Descrittori di prodotti di lavoro
workProductElement_text_plural=Elementi prodotto di lavoro
workProductType_text_plural=Tipi di prodotto di lavoro

# Application title.
application_title={0} - {1}

# Open Method Library Wizard
openLibraryWizard_title=Apri libreria dei metodi
openLibraryMainWizardPage_title=Specifica un percorso che contiene una libreria del metodo
openLibraryMainWizardPage_title_2=Seleziona libreria dei metodi
openLibraryMainWizardPage_text={0} memorizza metodi e processi in una cartella chiamata \nlibreria dei metodi. Selezionare una cartella libreria dei metodi per questa sessione.
pathLabel_text=Percorso:
nameLabel_text=Nome:
uriLabel_text=URI:
openUnlistedLibraryCheckbox_text=Aprire una libreria del metodo non elencata precedentemente
libraryTypeLabel_text=Tipo:
libraryLabel_text=Libreria:
browseButton_text=Sfoglia...
promptForLibraryCheckbox_text=Utilizza questa come predefinita e non visualizzare pi\u00f9 questo messaggio.
openLibraryDialog_newLibrary_text=Non esiste alcuna libreria di metodi in ''{0}''.\nUna nuova libreria dei metodi verr\u00e0 creata e aperta nella directory specificata.\n\nFare clic su OK per procedere oppure Annulla per specificare un altro percorso della libreria dei metodi.

# Select Method Library Folder Dialog
selectLibraryFolderDialog_title=Seleziona libreria dei metodi
selectLibraryFolderDialog_text=Selezionare una cartella libreria dei metodi.

# Open Library Progress Message
openingLibraryTask_name=Apertura della libreria dei metodi in corso...

# Open Method Library Error Dialog
openLibraryError_msg=IUPL0301E: Impossibile creare la libreria del metodo.
openLibraryInternlError_reason=Si \u00e8 verificato un errore interno.
openLibraryError_reason1=Il percorso della libreria dei metodi specificata ''{0}'' non \u00e8 valido.
openLibraryError_reason2=Una libreria dei metodi esiste gi\u00e0 in ''{0}''.
openLibraryError_reason3=Impossibile creare la cartella della libreria dei metodi specificata ''{0}''.
openLibraryError_reason4=La cartella della libreria del metodo specificata \u00e8 un plug-in o una cartella di esportazione della specifica di configurazione.
openLibraryError_advice=Selezionare OK per specificare un altro percorso della libreria del metodo.

# Open Method Library Error Messages
invalidLibraryPath_msg=IUPL0302E: Impossibile aprire la libreria del metodo specificata.
invalidLibraryPath_reason=La cartella della libreria dei metodi selezionata non \u00e8 valida, non esiste oppure non si dispone delle autorizzazioni appropriate per accedervi.\n\nFare clic su OK per selezionare un'altra cartella di libreria dei metodi.

# Read-only Project File Error Dialog
readOnlyProjectFile_text=IUPL0304E: ''{0}'' \u00e8 in sola lettura. Per continuare, \u00e8 necessario renderlo scrivibile.
retryButton_text=Riprova
cancelButton_text=Annulla

# Version Mismatch Dialog
versionMismatchDialog_text=IUPL305E: impossibile aprire la libreria selezionata. \u00c8 necessario aggiornare {0} alla versione {1} o superiore per aprire questa libreria.
versionMismatchDialog_text_unknown=IUPL306E: Impossibile aprire la libreria selezionata. \u00c8 necessario aggiornare {0} a una versione superiore per aprire questa libreria.

# Upgrade Method Library Dialog
upgradeLibraryDialog_title=Aggiorna libreria dei metodi
upgradeLibraryDialog_text=La libreria selezionata deve essere aggiornata alla nuova struttura di libreria.\n\nContinuare l'aggiornamento?
upgradingLibraryTask_name=Aggiornamento della libreria dei metodi in corso...

# Upgrade Library Error Dialog
upgradeLibraryError_msg=IUPL0306E: Impossibile aggiornare la libreria del metodo. Controllare il file di log per ulteriori dettagli.

# Switch Configuration Dialog
switchConfigDialog_title=Cambia configurazione
switchConfigDialog_text=Passare dalla configurazione corrente a quella predefinita, ''{0}'', associata al processo selezionato?
	
# Configuration Combo
currentConfigLabel_text=Configurazione corrente:
selectConfigLabel_text=Seleziona configurazione

# Delete Files Confirmation Message
deleteFilesConfirmation_msg=Il percorso specificato ''{0}'' esiste gi\u00e0. Tutti i file nella cartella verranno eliminati. Procedere?

# Paths/Files Error Messages
deleteFilesError_reason=Il percorso ''{0}'' contiene uno o pi\u00f9 file che non possono essere eliminati.\n\nSelezionare un altro percorso e provare di nuovo.
createPathError_reason=Impossibile creare il percorso ''{0}''.\n\nSelezionare un altro percorso e provare di nuovo.
invalidPath_msg=Il percorso specificato non \u00e8 valido.
overrideCurrentLibraryError_msg0=Non \u00e8 possibile esportare in un percorso contenente una libreria del metodo corrente, selezionare un altro percorso e riprovare.

# Backup Library Dialog
backupLibraryDialog_title=Esegui backup libreria
backupLibraryDialog_text=Si consiglia di eseguire il backup della libreria corrente prima di procedere con l'aggiornamento.\n\nFare clic su OK per creare una copia di backup della libreria nella directory specificata. Fare clic su Ignora per continuare senza creare il backup.
backingUpLibraryTask_name=Backup dei file della libreria in corso...

# Copy Library Dialog
copyLibraryDialog_title=Copia libreria
copyLibraryDialog_text_readOnlyLib=La libreria non \u00e8 scrivibile. Fare clic su Copia per creare una copia scrivibile della libreria nella directory specificata. Fare clic su Ignora per continuare senza creare la copia.
copyLibraryTask_name=Esecuzione di una copia dei file di libreria in corso ...
copyLibraryDialog_copyButton_text=Copia

# Path Selection Dialog
pathSelectionError_msg=Impossibile creare la directory
okButton_text=OK
skipButton_text=Ignora

# Process Editor preferences
alwaysButton_text=Sempre
neverButton_text=Mai
promptButton_text=Richiedi

# Add Link Dialog
linkToURL_name=URL
linkToFile_name=Il file
elementLink_name=Elemento del metodo
elementLinkWithType_name=Elemento del metodo con prefisso del tipo
elementLinkWithUserText_name=Elemento del metodo con testo personalizzato

# Convert Activity Type Dialog
convertActivityDialog_title=Converti tipo di attivit\u00e0
convertActivityDialog_text=Selezionare il tipo di attivit\u00e0 di destinazione.
unsupportedActivityType_msg=IUPL0307E: Questa attivit\u00e0 non pu\u00f2 essere convertita in un altro tipo.
unsupportedActivityType_reason=Non c''\u00e8 un tipo di attivit\u00e0 compatibile per {0}.

# Select Process Wizard Page
selectProcessWizardPage_title=Seleziona un processo
selectProcessWizardPage_text=Selezionare un modello di capacit\u00e0 oppure un processo di distribuzione da esportare.
processesLabel_text=Processi:
briefDescriptionLabel_text=Breve descrizione:

# Export Process Wizard Error Message.
noOpenLibraryWarning_msg=IUPL0308E: Nessuna libreria del metodo \u00e8 al momento aperta. Fare clic su Annulla, aprire una libreria del metodo o crearne una nuova ed eseguire di nuovo questa procedura guidata. 

# Moved from Authoring UI plug-in to avoid Authoring UI dependency
errorDialog_title=Errore
MethodElementDeleteAction_deleteconfirm_text=Eliminare ''{0}''?
confirmDeleteDialog_title=Conferma eliminazione
confirmDeleteDialog_msg=Eliminare ''{0}''?
confirmDeleteDialog_msgWithReference=Eliminare ''{0}''?\n\nI seguenti elementi contengono riferimenti ad elementi che devono essere eliminati: {1}
ProcessDeleteAction_deletecofirm_text=In tal modo, l''editor corrente verr\u00e0 salvato e la modifica sar\u00e0 permanente. Eliminare ''{0}''?

# Save Method Library Dialog
saveLibraryDialog_title=Salva libreria dei metodi
saveLibraryDialog_text=La libreria dei metodi corrente \u00e8 stata modificata. Salvare le modifiche?

# Save Method Library Error Messages
saveLibraryError_msg=IUPL0308E: Impossibile salvare la libreria del metodo.
error_reason=Si \u00e8 verificato un errore.\n\nFare clic su Dettagli per ulteriori informazioni.

# ElementTreeContentProvider Strings
elementTCProvider_methodContent=Contenuto del metodo
elementTCProvider_contentPackages=Pacchetti del contenuto
elementTCProvider_standardCategories=Categorie standard
elementTCProvider_disciplines=Discipline
elementTCProvider_domains=Domini
elementTCProvider_workProductTypes=Tipi di prodotto di lavoro
elementTCProvider_roleSets=Insiemi di ruoli
elementTCProvider_tools=Tool
elementTCProvider_customCategories=Categorie personalizzate
elementTCProvider_processes=Processi
elementTCProvider_capabilityPatterns=Modelli di capacit\u00e0
elementTCProvider_deliveryProcesses=Processi di consegna

