# Copyright (c) 2004 - 2010 Eike Stepper (Berlin, 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:
#    Martin Fluegge - initial API and implementation

pluginName = CDO Dawn Examples Classdiagram Editor 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_AClass_type = AClass
_UI_AInterface_type = AInterface
_UI_ClassDiagram_type = Class Diagram
_UI_AnAttribute_type = An Attribute
_UI_AnOperation_type = An Operation
_UI_ABasicClass_type = ABasic Class
_UI_AParameter_type = AParameter
_UI_AClassChild_type = AClass Child
_UI_Unknown_type = Object

_UI_Unknown_datatype= Value

_UI_AClass_subClasses_feature = Sub Classes
_UI_AClass_implementedInterfaces_feature = Implemented Interfaces
_UI_AClass_associations_feature = Associations
_UI_AClass_compositions_feature = Compositions
_UI_AClass_aggregations_feature = Aggregations
_UI_ClassDiagram_title_feature = Title
_UI_ClassDiagram_classes_feature = Classes
_UI_ClassDiagram_interfaces_feature = Interfaces
_UI_AnOperation_parameters_feature = Parameters
_UI_ABasicClass_operations_feature = Operations
_UI_ABasicClass_attributes_feature = Attributes
_UI_ABasicClass_name_feature = Name
_UI_AParameter_name_feature = Name
_UI_AParameter_type_feature = Type
_UI_AClassChild_name_feature = Name
_UI_AClassChild_accessright_feature = Accessright
_UI_AClassChild_dataType_feature = Data Type
_UI_Unknown_feature = Unspecified

_UI_AccessType_PUBLIC_literal = public
_UI_AccessType_PRIVATE_literal = private
_UI_AccessType_PROECTED_literal = protected
_UI_AccessType_PACKAGE_literal = package
