###############################################################################
# Copyright (c) 2009, 2013 Willink Transformations 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
###############################################################################

pluginName = OCL for Ecore 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_AnyType_type = Any Type
_UI_BagType_type = Bag Type
_UI_CollectionType_type = Collection Type
_UI_ElementType_type = Element Type
_UI_InvalidType_type = Invalid Type
_UI_MessageType_type = Message Type
_UI_OrderedSetType_type = Ordered Set Type
_UI_PrimitiveType_type = Primitive Type
_UI_SequenceType_type = Sequence Type
_UI_SetType_type = Set Type
_UI_TemplateParameterType_type = Template Parameter Type
_UI_TupleType_type = Tuple Type
_UI_TypeType_type = Type Type
_UI_VoidType_type = Void Type
_UI_CallOperationAction_type = Call Operation Action
_UI_Constraint_type = Constraint
_UI_SendSignalAction_type = Send Signal Action
_UI_ExpressionInOCL_type = Expression In OCL
_UI_AssociationClassCallExp_type = Association Class Call Exp
_UI_BooleanLiteralExp_type = Boolean Literal Exp
_UI_CallExp_type = Call Exp
_UI_CollectionItem_type = Collection Item
_UI_CollectionLiteralExp_type = Collection Literal Exp
_UI_CollectionLiteralPart_type = Collection Literal Part
_UI_CollectionRange_type = Collection Range
_UI_EnumLiteralExp_type = Enum Literal Exp
_UI_FeatureCallExp_type = Feature Call Exp
_UI_IfExp_type = If Exp
_UI_IntegerLiteralExp_type = Integer Literal Exp
_UI_UnlimitedNaturalLiteralExp_type = Unlimited Natural Literal Exp
_UI_InvalidLiteralExp_type = Invalid Literal Exp
_UI_IterateExp_type = Iterate Exp
_UI_IteratorExp_type = Iterator Exp
_UI_LetExp_type = Let Exp
_UI_LiteralExp_type = Literal Exp
_UI_LoopExp_type = Loop Exp
_UI_MessageExp_type = Message Exp
_UI_NavigationCallExp_type = Navigation Call Exp
_UI_NullLiteralExp_type = Null Literal Exp
_UI_NumericLiteralExp_type = Numeric Literal Exp
_UI_OCLExpression_type = OCL Expression
_UI_OperationCallExp_type = Operation Call Exp
_UI_PrimitiveLiteralExp_type = Primitive Literal Exp
_UI_PropertyCallExp_type = Property Call Exp
_UI_RealLiteralExp_type = Real Literal Exp
_UI_StateExp_type = State Exp
_UI_StringLiteralExp_type = String Literal Exp
_UI_TupleLiteralExp_type = Tuple Literal Exp
_UI_TupleLiteralPart_type = Tuple Literal Part
_UI_TypeExp_type = Type Exp
_UI_UnspecifiedValueExp_type = Unspecified Value Exp
_UI_Variable_type = Variable
_UI_VariableExp_type = Variable Exp
_UI_Unknown_type = Object

_UI_Unknown_datatype= Value

_UI_CallOperationAction_operation_feature = Operation
_UI_Constraint_specification_feature = Specification
_UI_Constraint_constrainedElements_feature = Constrained Elements
_UI_Constraint_stereotype_feature = Stereotype
_UI_SendSignalAction_signal_feature = Signal
_UI_Unknown_feature = Unspecified
_UI_OppositePropertyCallExp_type = Opposite Property Call Exp
_UI_OppositePropertyCallExp_referredOppositeProperty_feature = Referred Opposite Property
