###############################################################################
# Copyright (c) 2000, 2009, 2018 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
# 
# Contributors:
#     IBM Corporation - initial API and implementation
#     Red Hat - package renamed from Java EE to Enterprise Java [Bug 539339]
###############################################################################
Bundle-Name = Eclipse IDE for Enterprise Java - Capabilities
Bundle-Vendor = Eclipse Web Tools Platform

activity.java=Java Development
activity.java.desc=Develop Java applications.
activity.plugin=Plug-in Development
activity.plugin.desc=Develop plug-ins, fragments, and features for Eclipse.
activity.ant=Ant Development
activity.ant.desc=Create and use Ant build scripts
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.development=Development
activity.cat.development.desc=Use the Eclipse SDK to develop applications.
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.

helpActivitySupport.showAllMessage = While showing all topics, documentation about disabled capabilities is also shown in the table of contents and search results. Some documents may refer to user interface elements that are not visible. To manually enable capabilities, use the "General -> Capabilities" preference page.
helpActivitySupport.documentMessage = This topic belongs to a capability that \
is currently disabled. It may refer to user interface elements that are \
not visible.<br><br>\
To manually enable capabilities, use\
&nbsp;<a href='ACTIVITY_EDITOR'>Capabilities preference page.</a>

TriggerPointAdvisor.proceedMulti = Enable the selected capabilities?
TriggerPointAdvisor.proceedSingle = Enable the required capability?
TriggerPointAdvisor.dontAsk = &Always enable capabilities and don't ask me again
TriggerPointAdvisor.noDetails = Select a capability to view its description.

search.Google.label = Google
search.Google.desc = Performs a Google web search

search.Eclipse.label = Eclipse.org 
search.Eclipse.desc = Searches mailing lists, news groups, articles and other documents on Eclipse.org

productIntroTitle = Welcome to Eclipse
productIntroBrandingText = Eclipse Project
introDescription-overview = The Eclipse software development kit is the development environment used to develop plug-ins for the Eclipse platform. It provides first-class Java programming tools, and plug-in development tools for building Eclipse-based applications and extensions.
introDescription-tutorials = Learn how to be productive using Eclipse by completing end-to-end tutorials that will guide you along the way.
introDescription-samples = Explore Eclipse by installing prefabricated samples (may require an Internet connection).

activity.debug.description = Launch applications, set breakpoints and step through code.
activity.debug = Debug Support

activity.cat.dsdp=Remote Access
activity.cat.dsdp.desc=Features related to interaction with remote systems, communication and device software development

activity.cat.tasks=Task Management
activity.cat.tasks.desc=Use task management for integrated task management, the task-focused interface and wiki markup editing.

activity.description.datatools=Tools for working with databases
activity.name.datatools=Data Tools
