#-------------------------------------------------------------------------------
# Copyright (c) 2005, 2006 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

# Plug-in
pluginName=EPF - UI Authoring
providerName=Eclipse.org

# Category
methodCategoryName=Metodo

# Perspective
authoringPerspectiveName=Authoring
browsingPerspectiveName=Esplorazione

# Views
libraryViewName=Libreria
configurationViewName=Configurazione
contentViewName=Contenuto
configurationErrorLogViewName=Log errori di configurazione

# Editors
methodElementEditorName=Editor di elementi del metodo
configurationEditorName=Editor di configurazioni
processEditorName=Editor di processi
activityDiagramEditorName=Editor di diagrammi attivit\u00e0
activityDetailDiagramEditorName=Editor di diagrammi dettagli attivit\u00e0
workProductDepedencyDiagramEditorName=Editor di diagrammi dipendenze prodotti di lavoro

# Cheat Sheets
methodAuthoringCheatSheetsName=Cheat sheet relativi all'authoring di metodi
CheatsheetGetstartedCategoryText=Introduzione
CheatsheetReusableContentCategoryText=Creazione di contenuto del metodo riutilizzabile
CheatsheetWriteContentCategoryText=Scrittura del contenuto del metodo
CheatsheetProcessesCategoryText=Utilizzo dei processi
CheatsheetNavigateMethodContent=Esplorazione del contenuto del metodo
CheatsheetCreateMethodConfiguration=Creazione di una configurazione di metodo personalizzata
CheatsheetCreateMethodPlugin=Creazione di un plug-in di metodo personalizzato
CheatsheetAddMethodContent=Aggiunta di nuovo contenuto del metodo come ruolo, operazioni, prodotti di lavoro o guida
CheatsheetTailorMethodElements=Personalizzazione di elementi del metodo esistenti (ruoli, operazioni, prodotti di lavoro o guida) mediante un contributo
CheatsheetReplaceMehtodElements=Sostituzione di elementi del metodo esistenti (ruoli, operazioni, prodotti di lavoro o guida)
CheatsheetAddMethodRefOrHyperlink=Aggiunta di un collegamento ipertestuale (URL) o di un riferimento del metodo
CheatsheetApplyCapabilityPattern=Applicazione di un modello di capacit\u00e0
CheatsheetCreateProcess=Creazione di un processo (modello di capacit\u00e0 o processo di produzione)

# Action Set
authoringActionSet=Authoring
cheatSheetsActionSet=Cheat sheet

# Global Actions
newLibraryAction=Libreria dei &metodi
newLibraryActionTooltip=Crea una nuova libreria dei metodi
newPluginAction=&Plug-in di metodo
newPluginActionTooltip=Crea un nuovo plug-in di metodo
newConfigAction=&Configurazione metodo
newConfigActionTooltip=Crea una nuova configurazione di metodo
openLibraryAction=Libreria dei &metodi
openLibraryActionTooltip=Apri una libreria dei metodi esistente
openConfigAction=&Configurazione metodo
openConfigActionTooltip=Apri una configurazione di metodo esistente
openCheatSheets=Cheat sheet...

# Library View Actions
linkWithEditor=Collega a editor
linkWithEditorTooltip=Collega a editor
showPresentationNames=Mostra nomi presentazioni
showPresentationNamesTooltip=Mostra nomi presentazioni

# Configuration View Actions
refreshConfig=Aggiorna
refreshConfigTooltip=Aggiornare la configurazione

# Preference Page
methodAuthoringPage=Authoring metodi
processEditor=Editor di processi
libraryOptions=Opzioni libreria
diagram=Diagramma
startupAndShutdown=Avvio e arresto sistema
debug=Debug

# Command Handler
selectAll=Seleziona tutto

# Properties View
_UI_ProcessEditor_menu=Processo
_UI_CreateChild_menu_item=&Nuovo elemento child
_UI_CreateSibling_menu_item=N&uovo elemento di pari livello
_UI_ShowPropertiesView_menu_item=Mostra &vista Propriet\u00e0
_UI_RefreshViewer_menu_item=A&ggiorna
_UI_Properties_General=Generale
_UI_Properties_Documentation=Documentazione
_UI_Properties_Guidance=Guida
_UI_Properties_Work_Rollup=Rollup lavoro
_UI_Properties_Team_Rollup=Rollup team
## The following value of string should be "Work Product Rollup". But
## due to limitation/bug in Eclipse WTP, it's been truncated to 
## "Work Prod Rollup". So during translation, please take this into consideration.
_UI_Properties_WP_Rollup=Rollup prodotto di lavoro
_UI_Properties_Roles=Ruoli
_UI_Properties_WorkProducts=Prodotti di lavoro
_UI_Properties_Steps=Passi
_UI_Properties_Teams=Team
