# messages_ta.properties
# Tamil
#/*******************************************************************************
# * 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
