#-------------------------------------------------------------------------------
# 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

################################################################################
# BEGIN NO TRANSLATION
################################################################################

# Role diagram fonts and layout
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name=Arial
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_ja=\u30c0\u30a4\u30a2\u30ed\u30b0
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_ko=\ub300\ud654 \uc0c1\uc790
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_zh=\u5bf9\u8bdd\u6846
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_zh_TW=Dialog
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_win32=Arial
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_win32_ja=MS Gothic
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_win32_ko=\uad74\ub9bc\uccb4
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_win32_zh=\u9ed1\u4f53
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_win32_zh_TW=\u7d30\u660e\u9ad4
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_size=10
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_size_win32=10
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagram_xMargin=200
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagram_xSpacing=70
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagram_ySpacing=30

################################################################################
# END NO TRANSLATION
################################################################################

unknown_text=Sconosciuto

# Error Reasons
emptyLibraryPathError_reason=Il percorso della libreria dei metodi \u00e8 vuoto.
missingLibraryFileError_reason=Il file del modello della libreria dei metodi manca.
unresolvedProxyError_reason=La libreria dei metodi selezionata contiene riferimenti ad elementi non risolti. Di solito, questo problema \u00e8 causato da file XMI che mancano o che sono stati spostati nella cartella delle librerie.\n\nChiudere questa finestra di dialogo e visualizzare la vista Problemi per identificare i riferimenti non risolti. Per evitare che la libreria si danneggi, si consiglia di risolvere questi riferimenti prima di apportare ulteriori modifiche alla libreria.

# Warning Messages
configClosureWarning_msg1=IUPL0007W: Uno o pi\u00f9 elementi child contengono riferimenti mancanti
configClosureWarning_msg2=IUPL0008W: Questo elemento dovrebbe essere selezionato per risolvere uno o pi\u00f9 elementi mancanti
configClosureWarning_msg3=IUPL0009W: Questo elemento fa riferimento a uno o pi\u00f9 elementi di un pacchetto non selezionato

ElementError_missing_element=''{0}'' fa riferimento all''elemento ''{1}'' non selezionato
ElementError_contributor_missing_base=''{0}'' contribuisce all''elemento ''{1}'' non selezionato
ElementError_extender_missing_base=''{0}'' estende l''elemento ''{1}'' non selezionato
ElementError_replacer_missing_base=''{0}'' sostituisce l''elemento ''{1}'' non selezionato
ElementError_missing_primary_performer=''{0}'' manca dell''esecutore principale ''{1}''
ElementError_missing_mandatory_input=''{0}'' manca dell''input obbligatorio ''{1}''
ElementError_missing_output=''{0}'' manca dell''output ''{1}''

# Error Messages
loadResourcesError_msg=IUPL0000E: La libreria dei metodi \u00e8 stata caricata, ma sono stati rilevati alcuni errori.
unsupportedGuidanceTypeError_msg=IUPL0001E: Questa guida non pu\u00f2 essere convertita in un altro tipo.
convertGuidanceError_msg=IUPL0002E: Questa guida non pu\u00f2 essere convertita nel tipo di destinazione.
saveConvertedGuidanceError_msg=IUPL0003E: La guida convertita ''{0}'' non pu\u00f2 essere salvata.

# Convert activity
convertActivityError_title=Errore durante la conversione del tipo di attivit\u00e0
convertActivityError_msg=IUPL0006E: Questa attivit\u00e0 non pu\u00f2 essere convertita nel tipo di destinazione.
saveConvertedActivityError_msg=IUPL0007E: L''attivit\u00e0 convertita ''{0}'' non pu\u00f2 essere salvata.

# Error Reasons
error_reason=IUPL0004E: Si \u00e8 verificato un errore. Fare clic su OK per ulteriori informazioni.
unsupportedGuidanceTypeError_reason=Non c''\u00e8 un tipo di guida compatibile per {0}.
invalidLibraryPathError_reason=Percorso della libreria non valido. Impossibile creare il file .project.
couldNotLockLibrary_reason=Impossibile bloccare la libreria.

# Progress Messages
copyingAttachmentsTask_name=Copia degli allegati in corso...

# Convert Guidance Dialog
convertGuidanceDialog_title=Converti tipo di guida
convertGuidanceDialog_text=Selezionare il tipo di guida di destinazione.

# Guidance type names for Convert Guidance Dialog
checklist_text=Elenco di controllo
concept_text=Concetto
example_text=Esempio
guideline_text=Linea guida
estimate_text=Valutazione
estimatingMetric_text=Metrica di valutazione
estimationConsiderations_text=Considerazioni sulla valutazione
report_text=Prospetto
template_text=Modello
supportingMaterial_text=Materiale di supporto
toolMentor_text=Guida al tool
whitepaper_text=Whitepaper
termDefinition_text=Definizione termine
practice_text=Procedura
reusableAsset_text=Risorsa riutilizzabile

#activity breakdown info strings
ActivityLayout_primaryTasks_text=Esegue come proprietario
ActivityLayout_additionalTasks_text=Esegue come aggiuntivo

# Convert Guidance Error Messages
convertGuidanceError_title=Errore durante la conversione del tipo di guida

# Load Resources Error Dialog
loadResourcesError_title=Errore durante l'apertura della libreria dei metodi
loadResourcesError_reason=Non \u00e8 stato possibile caricare alcune risorse della libreria.\n\nFare clic su Dettagli per esaminare gli errori e risolverli prima di apportare ulteriori modifiche alla libreria.

# Role Diagrams
roleDiagramPerforms_text=esegue
roleDiagramResponsibleFor_text=responsabile di

DefaultContentValidator_MSG0=Elemento a cui si fa riferimento: {0}
DefaultContentValidator_MSG1=Info: {0}
DefaultContentValidator_MSG4=Avviso: {0}
DefaultContentValidator_MSG7=Errore: {0}
DefaultContentValidator_MSG10=Elemento a cui si fa riferimento mancante {0}
DefaultContentValidator_MSG11=Impossibile trovare l''elemento per il guid {0}
DefaultContentValidator_MSG12=Il file ''{0}'' fa riferimento alla risorsa mancante ''{1}''
DefaultContentValidator_MSG15=File di risorse mancante ''{0}''
DefaultContentValidator_MSG17=Impossibile connettersi all''URL ''{0}''
DefaultContentValidator_MSG19=Impossibile connettersi all''URL ''{0}'': {1}
ImportExportUtil_MSG8=Impossibile trovare il file ''{0}''.
ImportExportUtil_MSG9=Impossibile creare la directory temporanea ''{0}''.
unknownGuidance_text=Sconosciuto

CopyAttachmentsToNewLocation_log_noContentPath=CopyAttachmentsToNewLocation.HandleAttachmentsPlugin: no contentPath for {0}
LibraryModificationHelper_cannotUpdate=IUPL0006W: Impossibile aggiornare {0} {1}
warningDlg_title=Avviso
errorDlg_title=Errore
errorDlg_saveError=IUPL0005E: Si \u00e8 verificato un errore durante le modifiche al file ''{0}''

# activity diagram names
activityDiagramName=Diagramma di attivit\u00e0: {0}
activityDetailDiagramName=Diagramma dettaglio attivit\u00e0: {0}
wpDependencyDiagramName=Diagramma dipendenza prodotto di lavoro: {0}

# localize the value based on locale.  for example, 
# for English, the value is ". "
#colon_with_space=: 
# for French, the value is " . ", you need to use a \ to preserve the leading space
#colon_with_space=\ : 
# for Chinese, the colon should be double bytes
# Don't trim the spaces after the colon.
colon_with_space=: 

oldToolVersion_err_msg=La versione di {0} non \u00e8 compatibile con il file della libreria ''{2}''. \u00c8 necessario aggiornare {0} alla versione {1} o superiore per aprirlo.
toolVersionMismatch_err_msg=La versione di {0} non \u00e8 compatibile con il file della libreria ''{2}''. \u00c8 necessario aggiornare {0} a una versione superiore per aprirlo.
libUpgradeRequired_err_msg=La libreria specificata deve essere aggiornata alla nuova struttura di libreria. Aprire la libreria per aggiornarla e provare di nuovo.
