###############################################################################
# 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 v2.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v20.html
#
# Contributors:
#     E.D.Willink - initial API and implementation
###############################################################################

pluginName = OCL for Ecore Edit Support
providerName = Eclipse OCL

_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
