# 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 controllare 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 controllare 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_UDTs_text=UDT
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
