# 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 - Core BuiltIn Types 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_AbstractTable_type = Abstract Table
_UI_Row_type = Row
_UI_Cell_type = Cell
_UI_BasicTable_type = Basic Table
_UI_BasicRow_type = Basic Row
_UI_TextCell_type = Text Cell
_UI_AbstractList_type = Abstract List
_UI_ListItem_type = List Item
_UI_TextListItem_type = Text List Item
_UI_BasicList_type = Basic List
_UI_Unknown_type = Object
_UI_Unknown_datatype= Value
_UI_AbstractTable_caption_feature = Caption
_UI_AbstractTable_rows_feature = Rows
_UI_Row_cells_feature = Cells
_UI_Cell_location_feature = Location
_UI_TextCell_text_feature = Text
_UI_AbstractList_items_feature = Items
_UI_ListItem_subItems_feature = Sub Items
_UI_TextListItem_text_feature = Text
_UI_Unknown_feature = Unspecified
_UI_CellLocation_CORNER_literal = CORNER
_UI_CellLocation_COLUMN_HEADER_literal = COLUMN_HEADER
_UI_CellLocation_ROW_HEADER_literal = ROW_HEADER
_UI_CellLocation_BODY_literal = BODY
_UI_IFileReference_type = IFile Reference
_UI_DefaultFileReference_type = Default File Reference
_UI_DefaultFileReference_filePath_feature = File Path
_UI_ImageFileExtension_SVG_literal = SVG
_UI_ImageFileExtension_PNG_literal = PNG
_UI_ImageFormat_SVG_literal = SVG
_UI_ImageFormat_PNG_literal = PNG
_UI_FileReferenceCell_type = File Reference Cell
_UI_FileReferenceCell_fileReference_feature = File Reference
