# NLS_ENCODING=UNICODE
#-------------------------------------------------------------------------------
# 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 distribuzione
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
UDT_text=UDT
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=Prospetto
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 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=Punto cardine
outcome_text_plural=Risultati
phase_text_plural=Fasi
practice_text_plural=Procedure
process_text_plural=Processi
processContribution_text_plural=Processi differenziali
processFamily_text_plural=Famiglie processi
processPackage_text_plural=Pacchetti processo
report_text_plural=Prospetti
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.
convertToSynProcessLib_msg=Converti in libreria sincronizzata automaticamente

# 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 che si sta aprendo \u00e8 la libreria predefinita fornita con il composer.  Se si desidera modificarla, si consiglia di creare una copia di lavoro di questa libreria.\n\nImmettere un percorso e un nome per la nuova libreria e fare clic su "Copia" per creare una copia di lavoro.\n\nFare clic su "Ignora" per continuare a modificare la libreria predefinita nel percorso corrente. La funzione di modifica per la libreria predefinita \u00e8 limitata dalle autorizzazioni di accesso applicate dalla propria piattaforma.
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

