##
#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.
#  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:
#      Thales Corporate Services S.A.S - initial API and implementation
##

pluginName = EGF Java Pattern Edit Support (Incubation)
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_JavaNature_type = Java Nature
_UI_JavaRunner_type = Java Runner
_UI_Unknown_type = Object

_UI_Unknown_datatype= Value

_UI_JavaNature_className_feature = Class Name
_UI_Unknown_feature = Unspecified

_UI_JavaEngine_type = Java Engine
