# 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_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
