#-------------------------------------------------------------------------------
# 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

# 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 produzione
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 di metodo
methodLibrary_text=Libreria dei metodi
methodPackage_text=Pacchetto di metodo
methodPlugin_text=Plug-in di metodo
milestone_text=Milestone
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=Voci elenchi di operazioni
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 produzione
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 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=Guida al 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 Dialog
openLibraryDialog_title=Apri libreria dei metodi
openLibraryDialogArea_title=Seleziona libreria dei metodi
openLibraryDialogArea_text={0} memorizza metodi e processi in una cartella chiamata \nlibreria dei metodi. Selezionare una cartella libreria dei metodi per questa sessione.
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
invalidLibraryPath_msg=IUPL0300E: Impossibile aprire la libreria dei metodi 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.

# Library Locked Error Dialog
libraryLocked_msg=IUPL0303E: Impossibile aprire la libreria dei metodi specificata.\n\nLa libreria dei metodi selezionata \u00e8 in uso. Fare clic su Annulla per selezionare un'altra cartella libreria o fare clic su Forza apertura per aprire comunque la libreria.\n\nAVVISO: l'uso simultaneo di una libreria dei metodi potrebbe danneggiare quella libreria.
libraryLocked_openButton_text=Forza apertura

# Read-only Project File Error Dialog
readOnlyProjectFile_text=IUPL0302E: ''{0}'' \u00e8 di 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} a una 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 poter 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=IUPL0301E: Impossibile aggiornare la libreria dei metodi. 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.

# 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=Esecuzione di una copia di backup dei file della libreria in corso...

# Path Selection Dialog
pathSelectionError_msg=Impossibile creare dir
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 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=IUPL0304E: 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}.
