###############################################################################
# Copyright (c) 2000, 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 v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     IBM Corporation - initial API and implementation
#     Manumitting Technologies Inc - Solstice theme support
###############################################################################
pluginName=Eclipse IDE for Eclipse Committers Bundle
providerName=Eclipse Packaging Project

productName=Eclipse
productBlurb=Eclipse IDE for Eclipse Committers\n\
\n\
Version: {1}\n\
Build id: {0}\n\
\n\
(c) Copyright Eclipse contributors and others 2000, 2018.  All rights reserved. Eclipse and the Eclipse logo are trademarks \
of the Eclipse Foundation, Inc., https://www.eclipse.org/. The Eclipse logo cannot be altered without Eclipse''s permission. \
Eclipse logos are provided for use under the Eclipse logo and trademark guidelines, https://www.eclipse.org/logotm/. \
Oracle and Java are trademarks or registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.\n\
\n\
This product includes software developed by other open source projects including the Apache Software Foundation, https://www.apache.org/.\n

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.team.egit=Egit Support
activity.team.egit.desc=Use the Egit plugin to manage git resources.

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>
helpActivitySupport.localScopeCheckbox = Show search hits from disabled capabilities

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.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

ql.newPluginProject.description = Create a new Eclipse Plug-in project
ql.newPluginProject.label = Create a new plug-in project
ql.checkoutGitProject.description = Checkout Eclipse projects hosted in a Git repository
ql.checkoutGitProject.label = Checkout projects from Git
ql.importExistingProjects.description = Import existing Eclipse projects from the filesystem or archive
ql.importExistingProjects.label = Import existing projects
ql.openExistingFile.description = Open a file from the filesystem
ql.openExistingFile.label = Open an existing file
ql.setupQuestionnaire.label = Review IDE configuration settings
ql.mpc.description = Enhance your IDE with additional plugins and install your Marketplace favorites
ql.mpc.label = Launch the Eclipse Marketplace

feed.planetEclipse.name=Planet Eclipse
feed.marketplace.name=Eclipse Marketplace
