# NLS_ENCODING=UNICODE
#-------------------------------------------------------------------------------
# Copyright (c) 2000, 2008 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=UI EPF Composer RCP
productName=EPF Composer
providerName=Eclipse.org

# About text
aboutText=Eclipse Process Framework Composer\n\
\n\
Versione: {0}\n\
\n\
(c) Copyright Eclipse contributors e altri {1}, {2}. Tutti i diritti riservati.\n

# Category
methodCategoryName=Metodo

# Views
welcomeViewName=Benvenuti

# Actions
globalActionSet=Insieme di azioni globale
newAction=&Nuovo
newActionTooltip=Nuovo
openAction=&Apri...
openActionTooltip=Apri
searchAction=&Ricerca...
searchActionTooltip=Ricerca
welcomeAction=&Benvenuti
welcomeActionToolTip=Benvenuti

# Tooltips
shortcut.overview.tooltip=Ritorna alla pagina Panoramica
shortcut.tutorials.tooltip=Ritorna alla pagina Esercitazione
shortcut.firststeps.tooltip=Ritorna alla pagina Primi passi
shortcut.webresources.tooltip=Ritorna alla pagina Risorse Web       

#Action Set
actionSet.description = Azioni barra degli strumenti Sistema della guida
actionSet.label = Sistema della guida
searchAction.label = C&erca guida
searchAction.tooltip = Guida di ricerca
dynamicHelpAction.label = &Guida dinamica 
dynamicHelpAction.tooltip = Guida dinamica

#Activities/Capabilities
activity.general=Importazione/esportazione di risorse e progetti
activity.general.desc=Utilizzare le capacit\u00e0 standard di importazione/esportazione risorse/progetti di Eclipse.
activity.team.cvs=Supporto CVS
activity.team.cvs.desc=Utilizzare CVS (Concurrent Versions System) per gestire le risorse.
activity.team=Supporto team principale
activity.team.desc=Condividere i progetti mediante i sistemi di gestione della configurazione.

activity.cat.general=Generale
activity.cat.general.desc=Utilizzare le capacit\u00e0 standard di Eclipse.
activity.cat.team=Team
activity.cat.team.desc=Utilizzare i sistemi di gestione della configurazione per gestire le risorse.

PreferencePages.Capabilities = Capacit\u00e0
PreferencePages.Capabilities.activityName = &Capacit\u00e0
PreferencePages.Capabilities.categoryName = &Capacit\u00e0
PreferencePages.Capabilities.activityPromptButton = &Richiedi all'abilitazione delle capacit\u00e0
PreferencePages.Capabilities.activityPromptButtonTooltip = Richiedi quando una funzione, utilizzata per la prima volta, richiede l'abilitazione delle capacit\u00e0
PreferencePages.Capabilities.captionMessage = Le capacit\u00e0 permettono di abilitare o disabilitare i vari componenti del prodotto.  Queste capacit\u00e0 vengono raggruppate in base a un insieme di categorie predefinite.
