#-------------------------------------------------------------------------------
# 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=Method

# Views
welcomeViewName=Welcome

# Actions
globalActionSet=Global Action Set
newAction=&New
newActionTooltip=New
openAction=&Open...
openActionTooltip=Open
searchAction=&Search...
searchActionTooltip=Search
welcomeAction=&Welcome
welcomeActionToolTip=Welcome

# Tooltips
shortcut.overview.tooltip=Return to Overview page
shortcut.tutorials.tooltip=Return to Tutorial page
shortcut.firststeps.tooltip=Return to First Steps page
shortcut.webresources.tooltip=Return to Web Resources page       

#Action Set
actionSet.description = Help System Toolbar Actions
actionSet.label = Help System
searchAction.label = Search Help
searchAction.tooltip = Search Help
dynamicHelpAction.label = Dynamic Help 
dynamicHelpAction.tooltip = Dynamic Help

#Activities/Capabilities
activity.general=Import and Export Projects and Resources
activity.general.desc=Use the standard Eclipse Import/Export Project/Resources capabilities.
activity.team.cvs=CVS Support
activity.team.cvs.desc=Use the Concurrent Versions System (CVS) to manage resources.
activity.team=Core Team Support
activity.team.desc=Share projects using configuration management systems.

activity.cat.general=General
activity.cat.general.desc=Use the standard Eclipse capabilities.
activity.cat.team=Team
activity.cat.team.desc=Use configuration management systems to manage resources.

PreferencePages.Capabilities = Capabilities
PreferencePages.Capabilities.activityName = &Capabilities
PreferencePages.Capabilities.categoryName = &Capabilities
PreferencePages.Capabilities.activityPromptButton = &Prompt when enabling capabilities
PreferencePages.Capabilities.activityPromptButtonTooltip = Prompt when a feature is first used that requires enablement of capabilities
PreferencePages.Capabilities.captionMessage = Capabilities allow you to enable or disable various product components.  These capabilities are grouped according to a set of predefined categories.
