###############################################################################
# Copyright (c) 2000, 2011 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 Platform
providerName=Eclipse.org

productName=Eclipse Platform
productBlurb=Eclipse Platform\n\
\n\
Version: 4.2.0\n\
Build id: {0}\n\
\n\
(c) Copyright Eclipse contributors and others 2000, 2011.  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/

cheatsheet.actionset = Cheat Sheets
cheatsheet.item = &Cheat Sheets...
cheatsheet.category.team = Team/CVS
cheatsheet.cvs.checkout.name= Check out a CVS project
cheatsheet.cvs.checkout.desc= Learn how to connect to a CVS repository and check out a project.
cheatsheet.cvs.merge.name= Merge CVS branches
cheatsheet.cvs.merge.desc= Follow the steps for merging changes from one CVS branch into another.
shortcut.overview.tooltip = Overview
shortcut.tutorials.tooltip = Tutorials
shortcut.samples.tooltip = Samples
shortcut.whatsnew.tooltip = What's New

productIntroTitle = Welcome to Eclipse
productIntroBrandingText = Eclipse Project
introDescription-overview = The Eclipse Platform is a kind of universal tool platform - an open extensible IDE for anything and nothing in particular. 
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 Internet connection).

theme.default = Default Theme
theme.classic = Classic
theme.gtk = GTK
theme.mac = Mac
theme.win7 = Windows 7
theme.winxpBlue = Windows XP Blue
theme.winxpOlive = Windows XP Olive
theme.win7Classic = Windows 7 Classic
theme.solaris = Solaris
theme.aix = AIX
theme.hpux = HPUX
