# Copyright (c) 2014 Eike Stepper (Berlin, Germany) 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:
#    Eike Stepper - initial API and implementation

pluginName = Oomph Base Edit Support
providerName = Eclipse Oomph 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_ModelElement_type = Model Element
_UI_Annotation_type = Annotation
_UI_Unknown_type = Object

_UI_Unknown_datatype= Value

_UI_ModelElement_annotations_feature = Annotations
_UI_Annotation_modelElement_feature = Model Element
_UI_Unknown_feature = Unspecified

_UI_StringToStringMapEntry_type = String To String Map Entry
_UI_Annotation_source_feature = Source
_UI_Annotation_details_feature = Details
_UI_Annotation_contents_feature = Contents
_UI_Annotation_references_feature = References
_UI_StringToStringMapEntry_key_feature = Key
_UI_StringToStringMapEntry_value_feature = Value
