
# <copyright>
##
#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.
#
#  This program and the accompanying materials
#  are made available under the terms of the Eclipse Public License 2.0
#  which accompanies this distribution, and is available at
#  https://www.eclipse.org/legal/epl-2.0
#
#  SPDX-License-Identifier: EPL-2.0
# 
#  Contributors:
#      Thales Corporate Services S.A.S - initial API and implementation
##
# </copyright>
#
# $Id$

pluginName = EGF Jet Pattern Edit
providerName = Eclipse Modeling Project

_UI_CreateChild_text = {0}
_UI_CreateChild_text2 = {1} {0}
_UI_CreateChild_text3 = {1}
_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.

_UI_PropertyDescriptor_description = The {0} of the {1}

_UI_JetNature_type = Jet Nature
_UI_JetRunner_type = Jet Runner
_UI_Unknown_type = Object

_UI_Unknown_datatype= Value

_UI_Unknown_feature = Unspecified

_UI_JetNature_templateClassName_feature = Template Class Name
_UI_JetEngine_type = Jet Engine
