# 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 contributor e altri 2000, 2011. 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.
