###############################################################################
# Copyright (c) 2008, 2012 Obeo.
# 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:
#     Obeo - initial API and implementation
###############################################################################

_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_PropertiesEditionContext_type = Properties Edition Context
_UI_PropertiesEditionComponent_type = Properties Edition Component
_UI_PropertiesEditionElement_type = Properties Edition Element
_UI_Unknown_type = Object

_UI_Unknown_datatype= Value

_UI_PropertiesEditionContext_model_feature = Model
_UI_PropertiesEditionComponent_explicite_feature = Explicite
_UI_Unknown_feature = Unspecified

_UI_PropertiesMultiEditionElement_type = Properties Multi Edition Element
_UI_PropertiesEditionComponent_explicit_feature = Explicit
_UI_EEFElement_type = EEF Element
_UI_EEFElement_helpID_feature = Help ID
_UI_PropertiesEditionContext_model_description = The GenPackage for this edition context
_UI_PropertiesEditionComponent_explicit_description = Whether the component can be directly used
_UI_EEFElement_helpID_description = The ID of the dynamic help associated to this element
