#-------------------------------------------------------------------------------
# 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

# 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

# Wizards
newMethodLibraryWizardName=Libreria dei metodi
newMethodLibraryWizardDescription=Crea una nuova libreria del metodo.
newMethodPluginWizardName=Plug-in di metodo
newMethodPluginWizardDescription=Crea un nuovo plug-in del metodo
newConfigurationWizardName=Configurazione di metodo
newConfigurationWizardDescription=Crea una nuova configurazione del metodo.

# 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 distribuzione)

# 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=Collegamento all'editor
linkWithEditorTooltip=Collegamento all'editor
showPresentationNames=Mostra nomi presentazioni
showPresentationNamesTooltip=Mostra nomi presentazioni

# Configuration View Actions
refreshConfig=Aggiorna
refreshConfigTooltip=Aggiornare la configurazione

# Preference Page
authoringPreferencePage=Authoring
processEditor=Editor di processi
libraryOptions=Opzioni libreria
startupAndShutdown=Avvio e arresto sistema
debug=Debug
modelingOptions=Opzioni di modeling
diagramAppearance=Aspetto diagramma
breakdownElementAttributes=Attributi elemento di interruzione
libraryViewOptions=Opzioni della vista Libreria

# 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
_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

RichTextMarkerTypeName=Problemi HTML
ConfigurationMarkerTypeName=Problemi di configurazione
