# Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
# 
# All rights reserved. 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:
# Johannes Faltermeier - initial API and implementation

pluginName = Stack Edit Support
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_Stack_type = Stack
_UI_SwitchRule_type = Switch Rule
_UI_Unknown_type = Object

_UI_Unknown_datatype= Value

_UI_Stack_views_feature = Views
_UI_Stack_switchRules_feature = Switch Rules
_UI_SwitchRule_domainModelReference_feature = Domain Model Reference
_UI_SwitchRule_value_feature = Value
_UI_SwitchRule_view_feature = View
_UI_Unknown_feature = Unspecified

_UI_StackLayout_type = Stack Layout
_UI_StackItem_type = Stack Item
_UI_StackLayout_domainModelReference_feature = Domain Model Reference
_UI_StackLayout_stackItems_feature = Stack Items
_UI_StackLayout_topElement_feature = Top Element
_UI_StackItem_value_feature = Value
_UI_StackItem_composite_feature = Composite
