###############################################################################
# Copyright (c) 2000, 2010 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 Java Development Tools
providerName=Eclipse.org

cheatsheet.category.jdt = Java Development
cheatsheet.helloworld.name = Create a Hello World application
cheatsheet.helloworld.desc =  Learn how to create a simple Java application that prints "Hello world!". 
cheatsheet.helloworld.swt.name = Create a Hello World SWT application
cheatsheet.helloworld.swt.desc = Learn how to create a stand-alone SWT Java application that displays a window to the user.
