# 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
moveDialog_addRefPluginsWarningText=Avvertenza: questo spostamento pu\u00f2 provocare delle dipendenze di plug-in non dichiarate se non si aggiungono i riferimenti dei plug-in richiesti. Si consiglia di utilizzare la funzione di convalida della libreria per controllarli e correggerli manualmente in seguito allo spostamento.
moveDialog_addRefPluginsWarningText1=Avvertenza: questo spostamento pu\u00f2 provocare delle dipendenze di plug-in non dichiarate che a loro volta possono provocare dipendenze di plug-in circolari se aggiunte dallo strumento. Si consiglia di utilizzare la funzione di convalida della libreria per controllarli e correggerli manualmente in seguito allo spostamento.

moveDialog_addRefPluginsText=I seguenti riferimenti di plug-in possono essere aggiunti senza provocare dipendenze circolari. Fare clic su "S\u00ec" per procedere, "No" per continuare senza aggiungerli. Fare clic su "Annulla" per annullare lo spostamento.\n\nRiferimenti di plug-in da aggiungere
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=Assistito da
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.
DeliveryProcessLabel=processo di consegna
CapabilityPatternLabel=modello di capacit\u00e0

# 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
