#  Copyright (c) 2015 Obeo.
#  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:
#     Obeo - initial API and implementation and/or initial documentation
#     ...
# 

pluginName = Mapping Edit Support
providerName = www.example.org

_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_Location_type = Location
_UI_Scope_type = Scope
_UI_Link_type = Link
_UI_Base_type = Base
_UI_IEMFBaseElement_type = IEMF Base Element
_UI_TextLocation_type = Text Location
_UI_EObjectLocation_type = EObject Location
_UI_LocationContainer_type = Location Container
_UI_Unknown_type = Object

_UI_Unknown_datatype= Value

_UI_Location_scope_feature = Scope
_UI_Location_sourceLinks_feature = Source Links
_UI_Location_targetLinks_feature = Target Links
_UI_Location_container_feature = Container
_UI_Location_referencingScopes_feature = Referencing Scopes
_UI_Location_type_feature = Type
_UI_Scope_locations_feature = Locations
_UI_Scope_holder_feature = Holder
_UI_Link_status_feature = Status
_UI_Link_description_feature = Description
_UI_Link_source_feature = Source
_UI_Link_target_feature = Target
_UI_Link_type_feature = Type
_UI_Base_name_feature = Name
_UI_TextLocation_startOffset_feature = Start Offset
_UI_TextLocation_endOffset_feature = End Offset
_UI_LocationContainer_contents_feature = Contents
_UI_Unknown_feature = Unspecified

_UI_Status_VALID_literal = VALID
_UI_Status_CHANGED_SOURCE_literal = CHANGED_SOURCE
_UI_Status_CHANGED_TARGET_literal = CHANGED_TARGET
_UI_Status_DELETED_SOURCE_literal = DELETED_SOURCE
_UI_Status_DELETED_TARGET_literal = DELETED_TARGET
_UI_Report_type = Report
_UI_Link_reports_feature = Reports
_UI_Report_description_feature = Description
_UI_Report_link_feature = Link
_UI_Base_reports_feature = Reports
_UI_EObjectLocation_featureName_feature = Feature Name
_UI_Location_markedAsDeleted_feature = Marked As Deleted
_UI_EObjectLocation_URIFragment_feature = URI Fragment
_UI_EObjectLocation_index_feature = Index
_UI_Couple_type = Couple
_UI_EObjectContainer_type = EObject Container
_UI_CDOResourceNodeLocation_type = CDO Resource Node Location
_UI_CDOFileLocation_type = CDO File Location
_UI_CDOFolderLocation_type = CDO Folder Location
_UI_CDORepositoryLocation_type = CDO Repository Location
_UI_CDOBinaryResourceLocation_type = CDO Binary Resource Location
_UI_CDOTextResourceLocation_type = CDO Text Resource Location
_UI_CDOResourceLocation_type = CDO Resource Location
_UI_EObjectLocation_savedURIFragment_feature = Saved URI Fragment
_UI_Couple_key_feature = Key
_UI_Couple_value_feature = Value
_UI_EObjectContainer_XMIContent_feature = XMI Content
_UI_EObjectContainer_savedURIFragments_feature = Saved URI Fragments
_UI_CDOResourceNodeLocation_path_feature = Path
_UI_CDORepositoryLocation_URL_feature = URL
_UI_CDORepositoryLocation_UUID_feature = UUID
_UI_CDORepositoryLocation_name_feature = Name
_UI_CDORepositoryLocation_branchID_feature = Branch ID
_UI_TextContainer_type = Text Container
_UI_TextContainer_text_feature = Text
_UI_Base_containerProviders_feature = Container Providers
