###############################################################################
# Copyright (c) 2007,2009 E.D.Willink 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:
#     E.D.Willink - initial API and implementation
#
# $Id: plugin.properties,v 1.2 2010/04/08 06:24:36 ewillink Exp $
###############################################################################

# ====================================================================
# To code developer:
#   Do NOT change the properties between this line and the
#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
#   Make a new property name, append to the end of the file and change
#   the code to use the new property.
# ====================================================================

# ====================================================================
# %%% END OF TRANSLATED PROPERTIES %%%
# ====================================================================

pluginName = OCL Examples Model Registry 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_IModelAccessor_type = IModel Accessor
_UI_JavaURIModelAccessor_type = Java URI Model Accessor
_UI_StringModelAccessor_type = String Model Accessor
_UI_ModelRegistry_type = Model Registry
_UI_ModelRegistration_type = Model Registration
_UI_Unknown_type = Object

_UI_Unknown_datatype= Value

_UI_JavaURIModelAccessor_uri_feature = Uri
_UI_StringModelAccessor_name_feature = Name
_UI_ModelRegistry_accessor_class_feature = Accessor class
_UI_ModelRegistry_registration_feature = Registration
_UI_ModelRegistration_accessor_feature = Accessor
_UI_ModelRegistration_uri_feature = Uri
_UI_Unknown_feature = Unspecified

_UI_ModelRegistry_parent_feature = Parent
_UI_ModelRegistry_resource_feature = Resource
_UI_ModelRegistrySettings_type = Settings
_UI_ModelRegistrySettings_registry_feature = Registry
_UI_JavaURIModelAccessor_name_feature = Name
_UI_ModelRegistry_name_feature = Name
_UI_ModelRegistration_name_feature = Name
_UI_ModelRegistrySettings_name_feature = Name
_UI_ModelRegistry_entry_feature = Entry
_UI_ModelRegistration_kind_feature = Kind
_UI_ModelRegistrySettings_resource_feature = Resource
_UI_ModelRegistration_type_feature = Type
_UI_ModelRegistration_serialization_feature = Serialization
