# 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 - UML 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_StereotypePartTemplate_type = Stereotype Part Template
_UI_MandatoryStereotypeWithEClassTemplate_type = Mandatory Stereotype With EClass Template
_UI_MandatoryStereotypeTemplate_type = Mandatory Stereotype Template
_UI_StereotypeTemplate_type = Stereotype Template
_UI_IUMLBodyPartTemplateTitle_type = IUML Body Part Template Title
_UI_StereotypePropertyReferencePartTemplate_type = Stereotype Property Reference Part Template
_UI_StereotypePropertyTemplate_type = Stereotype Property Template
_UI_StereotypePropertyReference_type = Stereotype Property Reference
_UI_CommentAsParagraph_type = Comment As Paragraph
_UI_Comment_type = Comment
_UI_StereotypePropertyColumn_type = Stereotype Property Column
_UI_MandatoryStereotypePropertyTemplate_type = Mandatory Stereotype Property Template
_UI_StereotypePropertyReferenceTableView_type = Stereotype Property Reference Table View
_UI_StereotypeListItemTemplate_type = Stereotype List Item Template
_UI_StereotypePropertyReferenceListItemTemplate_type = Stereotype Property Reference List Item Template
_UI_StereotypePropertyListItemTemplate_type = Stereotype Property List Item Template
_UI_StereotypePropertyAttributeListItemTemplate_type = Stereotype Property Attribute List Item Template
_UI_StereotypePropertyAttribute_type = Stereotype Property Attribute
_UI_Unknown_type = Object
_UI_Unknown_datatype= Value
_UI_StereotypeTemplate_stereotypeFilterRule_feature = Stereotype Filter Rule
_UI_StereotypeTemplate_stereotypeQualifiedName_feature = Stereotype Qualified Name
_UI_StereotypePropertyTemplate_propertyName_feature = Property Name
_UI_CommentAsParagraph_commentChoice_feature = Comment Choice
_UI_Unknown_feature = Unspecified
_UI_StereotypeFilterBehavior_STEREOTYPE_TYPE_OF_literal = STEREOTYPE_TYPE_OF
_UI_StereotypeFilterBehavior_STEREOTYPE_KIND_OF_literal = STEREOTYPE_KIND_OF
_UI_CommentChoice_FIRST_OWNED_COMMENT_literal = FIRST_OWNED_COMMENT
_UI_CommentChoice_ALL_OWNED_COMMENTS_literal = ALL_OWNED_COMMENTS
