#-------------------------------------------------------------------------------
# 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 Composer RCP
productName=EPF Composer
providerName=Eclipse.org

# 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 = Guida di ricerca
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 una serie di categorie predefinite.
