# Copyright (c) 2019 CEA LIST.
# 
#  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:
#  Yupanqui Munoz (CEA LIST) yupanqui.munozjulho@cea.fr - Initial API and implementation
#  Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation

pluginName = Papyrus-Model2Doc - DocumentView Representation 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_PapyrusDocument_type = Papyrus Document
_UI_Unknown_type = Object

_UI_Unknown_datatype= Value

_UI_PapyrusDocument_creationCommandClass_feature = Creation Command Class
_UI_Unknown_feature = Unspecified

_UI_PapyrusDocument_documentType_feature = Document Type
_UI_PapyrusDocument_documentKind_feature = Document Kind
