# Copyright (c) 2007-2012, 2020 Eike Stepper (Loehne, Germany) and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#    Eike Stepper - initial API and implementation

pluginName = CDO Model Repository Client Edit Support
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_Unknown_type = Object
_UI_Unknown_datatype= Value
_UI_Unknown_feature = Unspecified


_UI_Annotation_contents_feature = Contents
_UI_Annotation_details_feature = Details
_UI_Annotation_modelElement_feature = Model Element
_UI_Annotation_references_description = Objects referenced by this annotation
_UI_Annotation_references_feature = References
_UI_Annotation_source_description = An identifier, typically an absolute URI, that uniquely identifies this kind of annotation
_UI_Annotation_source_feature = Source
_UI_Annotation_type = Annotation
_UI_CDOBinaryResource_contents_feature = Contents
_UI_CDOBinaryResource_type = CDO Binary Resource
_UI_CDOFileResource_type = CDO File Resource
_UI_CDOResourceFolder_contents_feature = Contents
_UI_CDOResourceFolder_nodes_feature = Nodes
_UI_CDOResourceFolder_type = CDO Resource Folder
_UI_CDOResourceLeaf_type = CDO Resource Leaf
_UI_CDOResourceNode_folder_feature = Folder
_UI_CDOResourceNode_name_feature = Name
_UI_CDOResourceNode_path_feature = Path
_UI_CDOResourceNode_type = CDO Resource Node
_UI_CDOResource_contents_feature = Contents
_UI_CDOResource_errors_feature = Errors
_UI_CDOResource_loaded_feature = Loaded
_UI_CDOResource_modified_feature = Modified
_UI_CDOResource_path_feature = Path
_UI_CDOResource_resourceSet_feature = Resource Set
_UI_CDOResource_timeStamp_feature = Time Stamp
_UI_CDOResource_trackingModification_feature = Tracking Modification
_UI_CDOResource_type = CDO Resource
_UI_CDOResource_uRI_feature = URI
_UI_CDOResource_warnings_feature = Warnings
_UI_CDOTextResource_contents_feature = Contents
_UI_CDOTextResource_encoding_feature = Encoding
_UI_CDOTextResource_type = CDO Text Resource
_UI_CDOTextResouurce_contents_feature = Contents
_UI_CDOTextResouurce_type = CDO Text Resource
_UI_ModelElement_annotations_feature = Annotations
_UI_ModelElement_type = Model Element
