# 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:
#  Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation

pluginName = Papyrus-Model2Doc - GMF DocumentStructureTemplate 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_GMFDiagramView_type = GMF Diagram View
_UI_Diagram_type = Diagram
_UI_Unknown_type = Object
_UI_Unknown_datatype= Value
_UI_GMFDiagramView_diagramType_feature = Diagram Type
_UI_Unknown_feature = Unspecified
_UI_GMFDiagramView_diagramImageMargin_feature = Diagram Image Margin
_UI_GMFDiagramView_imageFormat_feature = Image Format
