###############################################################################
# Copyright (c) 2000, 2003 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials 
# are made available under the terms of the Common Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

# --- string from plugin.xml ----

pluginName=Java Development Tools Example Projects
providerName=Eclipse.org

JUnitProjectExampleCreationWizard.title=Example Project - JUnit
JUnitProjectExampleCreationWizard.description=Create a new JUnit project

JUnitProjectExampleCreationWizard.pagetitle=JUnit
JUnitProjectExampleCreationWizard.pagedescription=Create a Java project containing the JUnit source
JUnitProjectExampleCreationWizard.label=&Project Name:

JUnitProjectExampleCreationWizard.categoryName=Java
