###############################################################################
# Copyright (c) 2000, 2007 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
###############################################################################
pluginName=Eclipse Project SDK
providerName=Eclipse.org

productName=Eclipse SDK
productBlurb=Eclipse SDK\n\
\n\
Version: 3.3.0\n\
Build id: {0}\n\
\n\
(c) Copyright Eclipse contributors and others 2000, 2007.  All rights reserved.\n\
Visit http://www.eclipse.org/platform\n\
\n\
This product includes software developed by the\n\
Apache Software Foundation http://www.apache.org/

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.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 3.3
productIntroBrandingText = Eclipse Project
introDescription-overview = Eclipse is a kind of universal tool platform - an open extensible IDE for anything and nothing in particular. It provides a feature-rich development environment that allows the developer to efficiently create tools that integrate seamlessly into the Eclipse Platform.
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).

