# 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

# Generic Dialog Titles
moveDialog_title=Sposta
deleteDialog_title=Elimina elemento
errorDialog_title=Errore
errorDialog_cannotRename=Impossibile rinominare {0} ''{1}'' in ''{2}''. Risolvere il problema riportato in Dettagli e fare clic su OK per continuare oppure su Annulla per interrompere questa operazione.

# Confirm References Removal Dialog
deleteReferencesDialog_title=Conferma rimozione riferimenti
deleteReferencesDialog_text=All'elemento o agli elementi che si stanno per eliminare sono ancora associati riferimenti di altri elementi della libreria dei metodi. Con l'eliminazione verranno rimossi i riferimenti e nel contempo verranno aggiornati gli elementi che ne fanno uso.  Assicurarsi di disporre dell'autorizzazione per aggiornare gli elementi che fanno uso di riferimenti prima di scegliere OK.  Fare clic su Dettagli per esaminare l'elenco degli elementi che fanno riferimento agli elementi che si sta per eliminare.

# Resolve Name Conflict Dialog
resolveNameConflictDialog_title=Risolvi conflitto nomi elementi
resolveNameConflictDialog_text=Immettere un nuovo {0} per ''{1}'':

# Select Deliverables Dialog
selectDeliverablesDialog_title=Seleziona componente distribuibile
selectDeliverablesDialog_text=Selezionare un componente distribuibile in cui si desidera assegnare il prodotto di lavoro ''{0}''.

# New Process Component Dialog
newProcessComponentDialog_title=Nuovo componente processo
nameLabel_text=Nome:
defaultConfigLabel_text=Configurazione predefinita:
baseProcessLabel_text=Processo di base:
basedOnProcessesLabel_text=Basato su processi:
SpecifyNameText=Specificare un nome valido.

# Role Association Dialog
selectAssociationLabel_text=Seleziona associazione per l''operazione ''{0}''

# Remove Association dialog
removeAssociationDialog_text=Rimuovi associazione

# Select Teams Dialog
selectTeamsDialog_title=Seleziona team
selectTeamsDialog_text=Selezionare un team in cui si desidera assegnare un ruolo ''{0}''.

# Task Selection Dialog
taskSelectionDialog_title=Selezione operazione
titleLabel_text=Seleziona attivit\u00e0...

# Error Messages
emptyElementNameError_msg=IUPL0100E: Il nome {0} manca.\nTutti gli elementi di metodo e di processo devono avere un nome.\nImmettere un nome valido e provare di nuovo.
emptyElementNameError_simple_msg=Il nome non pu\u00f2 essere vuoto. Specificare un nome valido.
duplicateElementNameError_msg=IUPL0101E: Il nome ''{0}'' esiste gi\u00e0.\nUn elemento del metodo deve avere un nome univoco.\nImmettere un altro nome e provare di nuovo.
duplicateElementNameError_msg2=Immettere un altro nome e provare di nuovo.
duplicateElementNameError_simple_msg=Il nome esiste gi\u00e0. Specificare un altro nome.
invalidElementNameError1_msg=IUPL0102E: Il nome ''{0}'' non \u00e8 valido.\nIl nome di un elemento del metodo non pu\u00f2 iniziare con uno spazio.\nImmettere un nome valido e provare di nuovo.
invalidElementNameError2_msg=IUPL0103E: Il nome ''{0}'' non \u00e8 valido.\nIl nome di un elemento del metodo non pu\u00f2 terminare con un punto.\nImmettere un nome valido e provare di nuovo.
invalidElementNameError3_msg=IUPL0104E: Il nome ''{0}'' non \u00e8 valido.\nIl nome di un elemento del metodo non pu\u00f2 contenere questi caratteri: \\ / : * ? " < > ; | [ ] #\nImmettere un nome valido e provare di nuovo.
invalidElementNameError4_msg=IUPL0105E: Il nome ''{0}'' non \u00e8 valido.\nIl nome di un elemento del metodo non pu\u00f2 contenere il carattere: & \nImmettere un nome valido e riprovare.
invalidPluginNameError_msg=IUPL0121E: Il nome ''{0}'' non \u00e8 valido.\nIl nome del plug-in del metodo non pu\u00f2 contenere i seguenti caratteri: \\ / : * ? " < > ; | # % ''\nImmettere un nome valido e provare di nuovo.
filePathNameTooLong_msg=Nome percorso file troppo lungo (supera ''{0}'') 
noConfigError_msg=La libreria del metodo corrente non contiene configurazioni del metodo.\nPer creare un nuovo processo, \u00e8 necessaria una configurazione di metodo.\nCreare una configurazione di metodo e provare di nuovo.
noDeliveryProcessError_msg=IUPL0106E: La libreria dei metodi corrente non contiene processi di distribuzione.\nPer creare un nuovo contributo al processo, occorre un processo di distribuzione di base.\nCreare un processo di distribuzione e provare di nuovo.
noDefaultConfigError_msg=IUPL0107E: Non \u00e8 stata selezionata alcuna configurazione di metodo.\n\u00c8 necessario assegnare al nuovo processo una configurazione di metodo predefinita.\nSelezionare una configurazione di metodo e provare di nuovo.
noBaseProcessError_msg=IUPL0108E: Nessun processo di consegna selezionato.\nUn contributo al processo richiede un processo di distribuzione di base.\nSelezionare un processo di distribuzione e provare di nuovo.
createProcessError_msg=IUPL0109E: Impossibile creare il processo correttamente.
createElementError_msg=IUPL0110E: Impossibile creare l'elemento correttamente.
deleteElementError_msg=IUPL0111E: Impossibile eliminare l'elemento correttamente.
duplicateContentFileError_msg=IUPL0112E: Impossibile creare o rinominare  il file del contenuto per l''elemento affinch\u00e9 corrisponda al nome dell''elemento.\n\nUn file ''{0}'' esiste gi\u00e0.\n\nImmettere un altro nome e provare di nuovo.
duplicateContentFileError_simple_msg=Un file del contenuto con lo stesso nome esiste gi\u00e0. Specificare un altro nome.
undoCommandError_msg=IUPL0113E: Impossibile completare il comando ''{0}''.\n\nSi \u00e8 verificato un errore: {1}
invalidPredecessorError_msg=IUPL0114E: L'indice del predecessore specificato non \u00e8 valido.\n\nGli indici dei predecessori devono essere valori interi presenti nella colonna 'Indice'.\n\nSpecificare un valore valido e provare di nuovo.
UserInteractionHelper_errRelationshipExists=IUPL0100W: ''{0}'' \u00e8 gi\u00e0 associato a ''{1}''.  \u00c8 consentita una sola associazione di questo tipo.  Per assegnare ''{0}'' a ''{2}'' \u00e8 necessario prima eliminarlo da ''{1}''.
error_msgWithDetails=IUPL0116E: Si \u00e8 verificato un errore. Fare clic su Dettagli per ulteriori informazioni.
error_msg=IUPL0117E: Si \u00e8 verificato un errore. Controllare il log degli errori per ulteriori dettagli.
Suppression_nameDuplication=IUPL0118E: Dopo questa operazione si verificher\u00e0 un conflitto di nome. Controllare il nome dell'elemento per la duplicazione e provare nuovamente
Suppression_presentationNameDuplication=IUPL0119E: Dopo questa operazione si verificher\u00e0 un conflitto di nome. Controllare il nome della presentazione dell'elemento per la duplicazione e provare nuovamente

# Error Reasons
error_reason=Si \u00e8 verificato un errore. Fare clic su Dettagli per ulteriori informazioni.
saveProcessError_reason=Si \u00e8 verificato un errore durante il salvataggio del processo ''{0}''. Fare clic su Dettagli per ulteriori informazioni.
deleteReferencesError_reason=Si \u00e8 verificato un errore durante la rimozione dei riferimenti associati a questo elemento. Fare clic su Dettagli per ulteriori informazioni.
saveFileError_reason=Si \u00e8 verificato un errore durante il salvataggio del file ''{0}''. Fare clic su Dettagli per ulteriori informazioni.
invalidReferencesError_reason=Rilevati elementi di metodo con riferimenti non validi come risultato di una copia da un plug-in all'altro.\nQuesti riferimenti verranno rimossi. Continuare?
unresolvedObjectError_reason=Non \u00e8 possibile modificare un oggetto che non \u00e8 stato risolto: {0}(URI = {1}){2}

# Warning messages
MethodElementAddCommand_originalNotFoundWarning_msg=IUPL0118W: Impossibile trovare uno o pi\u00f9 elementi di origine. I file associati nella cartella delle risorse non verr\u00e0 copiato.
ActivityAddCommand_originalNotFoundWarning_msg=IUPL0119W: Impossibile trovare uno o pi\u00f9 elementi di origine. I pacchetti del processo associati non verranno copiati.
ActivityDropCommand_deepCopy_promptConfigurationMsg=Copiare tutti i descrittori?\n\nFacendo clic su No si copiano solo i descrittori che fanno parte della configurazione corrente.
deepCopy_promptMsg=Si ottiene una copia di tutti gli elementi collegati in modo dinamico necessaria per mantenerli separati d'ora in poi. Continuare?
deepCopy_title=Copia completa

# Progress messages
creatingProcessComponentTask_name=Creazione del componente del processo ''{0}'' in corso...
processingReferencesTask_name=Elaborazione dei riferimenti in corso...
deletingElementsTask_name=Eliminazione degli elementi e dei file associati in corso...
checkingReferencesTask_name=Verifica dei riferimenti in corso...
removingReferencestask_name=Rimozione dei riferimenti in corso...
savingModifiedFilesTask_name=Salvataggio dei file modificati in corso...
checkAffectedResourcesTask_name=Verifica delle risorse coinvolte...
movingTask_name=Spostamento in corso...
movingFilesTask_name=Spostamento dei file in corso...
copyingResourcesTask_name=Copia delle risorse in corso...
copyingActivities_msg=Copia dell''attivit\u00e0 ''{0}''
savingFileTask_name=Salvataggio del file ''{0}'' in corso...
savingResources_msg=Salvataggio risorse in corso
scope_defualtName=-- Nessuno --
scope_PluginsName=Plugin selezionati

# UI Text
element_text=elemento
createElement_text=Crea elemento
createProcess_text=Crea processo
contributesTo_text=Contribuisce a
localContributesTo_text=Contribuisce localmente a
extends_text=Estende
replaces_text=Sostituisce
extends_replaces_text=Estensioni e sostituzioni
localReplaces_text=Sostituisce localmente
localReplacementAndDeepCopy_text=Sostituzione locale e Cop&ia profonda
elementType_text={0}: {1}
deliverables_text=Componenti distribuibili
contributeToActivity_text=Contribuisci ad attivit\u00e0
ActivityDropCommand_label=Attivit\u00e0 di rilascio
replaceActivity_text=Sostituisci attivit\u00e0
file_text=file
directory_text=directory
unresolved_text=(non risolto ''{0}'')
assists_text=Esecutore di assistenza
unknown_text=Sconosciuto
command_done=Completato

# The following UI text should be reviewed.
Util_labelpath_variabilitywithplugin_info={0} ({1} ''{2}'' in ''{3}'')
Util_labelpath_variability_info={0} ({1} ''{2}'')
ui_ref_delete=Il descrittore ''{0}'' dispone dei seguenti riferimenti che non sono utilizzati altrove.\nSelezionare i riferimenti che si desidera eliminare:
ui_ref_delete2=I seguenti riferimenti non sono utilizzati da nessuna parte.\nSelezionare i riferimenti che si desidera eliminare:
ui_references=Riferimenti
ui_workproduct_descriptor_description=Il descrittore di prodotti di lavoro ''{0}'' \u00e8 associato (Output di) al descrittore di operazioni ''{1}''
ui_workproductdescriptor_options=Opzioni
ui_workproductdescriptor_outputlabel=Rimuovi descrittore di prodotti di lavoro come output del descrittore di operazioni
ui_workproductdescriptor_delete_task=Elimina descrittore di operazioni dall'attivit\u00e0
ui_UserInteractionHelper_defaultconfigcheck=L''elemento selezionato ''{0}'' non \u00e8 la configurazione predefinita del processo.\nAggiungere questo elemento e le relative dipendenze alla configurazione predefinita?
ui_UserInteractionHelper_genericErr_message_text=Errori durante l'operazione. Fare clic su dettagli per ulteriori informazioni.
ProcessAutoSynchronizeAction_noDescriptorToSynch=Nessun descrittore con elemento di metodo collegato rilevato per la sincronizzazione
util_configurablecomposedadapter_refershingviewer=Errore durante l'aggiornamento del visualizzatore
confirm_remove_references_text=Gli elementi riportati nei dettagli potrebbero avere riferimenti non consentiti a questa guida in seguito alla conversione. Fare clic su OK per rimuoverli e continuare.
confirmDescriptorsDeletion_title=Conferma eliminazione descrittori
confirmDescriptorsDeletion_msg=Gli elementi che si stanno per eliminare sono ancora associati a riferimenti di altri elementi della libreria dei metodi.  Fare clic su S\u00ec per eliminarli anche questi descrittori.  Assicurarsi di disporre dell'autorizzazione per eliminare i descrittori prima di fare clic su S\u00ec.  Fare clic su Dettagli per esaminare l'elenco di descrittori che fanno riferimento agli elementi che si stanno per eliminare.
util_configurablecomposedadapter_unhandled_exception=Eccezione non gestita
util_ProcessUtil_err_same_breakdown_element=Impossibile avere lo stesso elemento di interruzione come predecessore e successore
ui_UserInteractionHelper_wplistdlg_msg=Il prodotto del lavoro ''{0}'' \u00e8 un output delle seguenti operazioni.\nSelezionare le operazioni per le quali si desidera creare i descrittori corrispondenti.
ui_UserInteractionHelper_rolelistdlg_msg=La regola ''{0}'' \u00e8 responsabile dei seguenti prodotti di lavoro.\nSelezionare i prodotti di lavoro per i quali si desidera creare i descrittori corrispondenti.
util_configurablecomposedadapter_fatalerr=Errore irreversibile
ui_UserInteractionHelper_workproducts=Prodotti di lavoro
util_ProcessUtil_err_same_sub_element=Impossibile collegare un elemento di interruzione a uno dei relativi elementi secondari.
util_ProcessUtil_err_wrong_element=Impossibile collegare all'elemento un elemento diverso da quello di suddivisione del lavoro.
util_ProcessUtil_err_child_element=Impossibile collegare un elemento di suddivisione a uno dei relativi elementi children.
ui_UserInteractionHelper_tasks=Operazioni
ui_association_task_selection=Selezione operazioni...
util_ProcessUtil_childadapter=\ \ adattatore dell'elemento child:

util_ProcessUtil_err_setparent=Impossibile impostare elemento parent per elemento child
util_tngutil_cannot_edit_resource=Impossibile modificare risorsa.
util_ProcessUtil_contributesto=contribuisce a ''{0}''
util_ProcessUtil_localContributesto=contribuisce localmente a ''{0}''
process_extends=estende ''{0}''
process_replaces=sostituisce ''{0}''
process_localReplaces=sostituisce localmente ''{0}''
# Filter constants externalized strings.
FilterConstants_disciplines_text=Discipline
FilterConstants_disciplinegroupings_text=Raggruppamenti discipline
FilterConstants_whitepapers_text=Whitepaper
FilterConstants_toolmentors_text=Guide dei tool
FilterConstants_tools_text=Strumenti
FilterConstants_roles_text=Ruoli
FilterConstants_tasks_text=Operazioni
FilterConstants_reusableassets_text=Risorse riutilizzabili
FilterConstants_all_text=I pi\u00f9 comuni
FilterConstants_processes_text=Processi
FilterConstants_activities_text=Attivit\u00e0
FilterConstants_practices_text=Procedure
FilterConstants_templates_text=Modelli
FilterConstants_workproducts_text=Prodotti di lavoro
FilterConstants_checklists_text=Elenchi di controllo
FilterConstants_guidelines_text=Linee guida
FilterConstants_rolesets_text=Serie di ruoli
FilterConstants_guidance_text=Guida
FilterConstants_concepts_text=Concetti
FilterConstants_examples_text=Esempi
FilterConstants_contentpackages_text=Pacchetti del contenuto
FilterConstants_roledescriptors_text=Descrittori di ruoli
FilterConstants_rolesetgropuings_text=Raggruppamenti serie di ruoli
FilterConstants_taskdescriptors_text=Descrittori di operazioni
FilterConstants_contentelements_text=Elementi del contenuto
ProcessAutoSynchronizeAction_prepare=Preparazione alla sincronizzazione in corso...
FilterConstants_workproductdescriptors_text=Descrittori di prodotti di lavoro
FilterConstants_allcontentelements_text=Tutti gli elementi del contenuto
FilterConstants_supportingmaterials_text=Materiale di supporto
MethodElementAddCommand_errorSavingFiles=Errore durante il salvataggio dei file
FilterConstants_customcategories_text=Categorie personalizzate
FilterConstants_workproducttypes_text=Tipi di prodotto di lavoro
DeleteMethodElementCommand_warningMsg=Eliminazione completata con avviso
FilterConstants_methodplugins_text=Plug-in del metodo
UserInteractionHelper_lockedPlugin=IUPL0120E: Il plug-in ''{0}'' \u00e8 bloccato.
FilterConstants_domains_text=Domini
FilterConstants_roadmap_text=Roadmap
FilterConstants_reports_text=Report
AutoSynchronizeCommand_label=S&incronizzazione predefinita dal contenuto del metodo
ManualSynchronizeCommand_label=Sincronizzazione &personalizzata in corso...
SynchronizeCompleteDialog_Title=Sincronizzazione completa
AutoSynchronizeCommand_sucessful=Sincronizzazione completata correttamente.
selectDescriptorsToDelete_msg=I seguenti descrittori non vengono utilizzati ovunque dopo l'eliminazione degli elementi selezionati.\nSelezionare i descrittori da eliminare.

CreateProcessComponentCommand_Message=Specificare il nome e la configurazione predefinita per il {0} da specificare.
# UserInteractionHelper
UserInteractionHelper_ProcessPackage_Name=Nome:

# MethodCreateChildCommand
newElement_text=Nuovo {0}
update_outofsynch_title=Conflitto di aggiornamento
update_outofsynch_msg=I file sono stati modificati nel file system. Sovrascrivere le modifiche?
duplicateFeatureValue=Non \u00e8 possibile avere 2 elementi in ''{0}'' con lo stesso valore per ''{1}''
apply_pattern_error_msg=Impossibile applicare l''''attivit\u00e0 ''{0}'' al processo ''{1}'' poich\u00e9 risulta in dipendenza circolare.
apply_pattern_error_msg1=Impossibile applicare l''''attivit\u00e0 ''{0}'' al processo ''{1}'' poich\u00e9 ''{0}'' ha gi\u00e0 una o pi\u00f9 attivit\u00e0 come children.
activity_variability_error_msg1=L''''attivit\u00e0 ''{0}'' non pu\u00f2 impostare la variabilit\u00e0 con un parent diretto.
activity_variability_error_msg2=L''''attivit\u00e0 ''{0}'' non pu\u00f2 impostare la variabilit\u00e0 con ''{1}'' poich\u00e9 risulta in dipendenza circolare.
activity_variability_error_msg3=Impossibile sostituire un processo superiore con un'attivit\u00e0.
activity_deep_copy_variability_prompt=L'attivit\u00e0 di origine potrebbe disporre di sostituzioni o contributi esterni.\nCopiarli tutti?\n\nFacendo clic su No si copia solo l'attivit\u00e0 originale.
activity_variability_error_msg=L''attivit\u00e0 ''{0}'' non pu\u00f2 impostare la variabilit\u00e0 con ''{1}'' poich\u00e9 ''{1}'' dispone di una o pi\u00f9 attivit\u00e0 contribuita/sostituita come gli elementi child.
variability_error_msg=L''''elemento di variabilit\u00e0 ''{0}'' non pu\u00f2 impostare la variabilit\u00e0 con ''{1}'' poich\u00e9 risulta in una dipendenza circolare.
circular_dependency_error_msg=Impossibile eseguire l'operazione poich\u00e9 risulta in una dipendenza circolare.

# Validation messages
variability_element_circular_loop_error_msg=Rilevato loop dipendenza circolare ... 
replacing_ancestor_error_msg=Rilevato errore sostituzione ancestor.
cannot_copy_or_extend_delivery_process=Impossibile copiare o estendere un processo di distribuzione o una delle sue attivit\u00e0.

# Sort options
SortType_Label=Tipo ordinamento:
SortType_Manual=Manuale
SortType_Alphabetic=Alfabetico crescente
SortType_ReverseAlphabetic=Alfabetico decrescente
SortType_MethodType=Tipo di elemento

WorkOrderTypeAbbreviation_FINISH_TO_START=FS
WorkOrderTypeAbbreviation_FINISH_TO_FINISH=FF
WorkOrderTypeAbbreviation_START_TO_FINISH=SF
WorkOrderTypeAbbreviation_START_TO_START=SS
add_to_default_config_dlg_title=Aggiungi alla configurazione predefinita
