# WizardMessages_he.properties
# Hebrew
#/*******************************************************************************
# * Copyright (c) 2006 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
# *******************************************************************************/

NSTEMProWiz.creating_directories = Creating project directories
NSTEMProWiz.creating_project = Creating new STEM project
NSTEMProWiz.page_title = Specify the name of the new STEM Project
NSTEMProWiz.title = Create a STEM project
NSTEMProWiz.page_description = Create a new STEM project in the workspace or in an external location.

NSTEMProWiz.graph_folder = Graphs
NSTEMProWiz.model_folder = Models
NSTEMProWiz.scenario_folder = Scenarios
NSTEMProWiz.decorator_folder = Decorators
