# Copyright (c) 2011-2016 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:
# Eugen Neufeld - initial API and implementation

pluginName = Rulerepository Edit Support
providerName = www.example.org

_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_RuleRepository_type = Rule Repository
_UI_ShowRuleEntry_type = Show Rule Entry
_UI_Unknown_type = Object

_UI_Unknown_datatype= Value

_UI_RuleRepository_ruleEntries_feature = Rule Entries
_UI_ShowRuleEntry_rule_feature = Rule
_UI_ShowRuleEntry_controls_feature = Controls
_UI_Unknown_feature = Unspecified

_UI_ShowRuleEntry_elements_feature = Elements
_UI_RuleEntry_type = Rule Entry
_UI_RuleEntry_rule_feature = Rule
_UI_RuleEntry_elements_feature = Elements
_UI_RuleEntry_mergeType_feature = Merge Type
_UI_MergeType_And_literal = And
_UI_MergeType_Or_literal = Or
_UI_RuleEntry_name_feature = Name
