# Copyright (c) 2003, 2005 IBM Corporation 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: 
#   IBM - initial API and implementation
#
# $Id: plugin.properties,v 1.25 2005/12/16 03:55:08 khussey Exp $

# NLS_MESSAGEFORMAT_VAR

# ====================================================================
# 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.
# ====================================================================

pluginName = UML2
providerName = Eclipse.org

_UI_Classifier_NoCyclesInGeneralization_diagnostic = Classifier ''{0}'' is both a transitively general and transitively specific classifier of the same classifier.
_UI_Classifier_SpecializeType_diagnostic = Classifier ''{0}'' specializes classifier ''{1}'' of invalid type.
_UI_Classifier_InheritedMember_diagnostic = The inherited members of classifier ''{0}'' are not derived by inheriting the inheritable members of its parents.
_UI_Classifier_GeneralEqualsParents_diagnostic = The general classifiers of classifier ''{0}'' are not the classifiers referenced by its generalization relationships.
_UI_Constraint_NotApplyToSelf_diagnostic = Constraint ''{0}'' is applied to itself.
_UI_Element_NotOwnSelf_diagnostic = Element ''{0}'' directly or indirectly owns itself.
_UI_Element_HasOwner_diagnostic = Element ''{0}'' must be owned, but it has no owner.
_UI_ElementImport_VisibilityPublicOrPrivate_diagnostic = The visibility of element import ''{0}'' is neither public nor private.
_UI_ElementImport_ImportedElementIsPublic_diagnostic = Imported element ''{0}'' has non-public visibility.
_UI_InstanceSpecification_SlotsAreDefined_diagnostic = The defining feature of slot ''{0}'' is not a structural feature (directly or inherited) of a classifier of instance specification ''{1}''.
_UI_InstanceSpecification_NoDuplicateSlots_diagnostic = Structural feature ''{0}'' is the defining feature of more than one slot in instance specification ''{1}''.
_UI_MultiplicityElement_UpperGT0_diagnostic = Multiplicity element ''{0}'' does not define at least one valid cardinality that is greater than zero.
_UI_MultiplicityElement_LowerGE0_diagnostic = The lower bound of multiplicity element ''{0}'' is not a non-negative integer literal.
_UI_MultiplicityElement_UpperGELower_diagnostic = The upper bound of multiplicity element ''{0}'' is not greater than or equal to its lower bound.
_UI_MultiplicityElement_LowerEQLowerBound_diagnostic = The derived lower attribute of multiplicity element ''{0}'' is not equal to its lower bound.
_UI_MultiplicityElement_UpperEQUpperBound_diagnostic = The derived upper attribute of multiplicity element ''{0}'' is not equal to its upper bound.
_UI_NamedElement_NoName_diagnostic = Named element ''{0}'' has no name, or one of its containing namespaces has no name, but it has a qualified name.
_UI_NamedElement_QualifiedName_diagnostic = Named element ''{0}'' has a name, and all of its containing namespaces have a name, but its qualified name is not constructed from the names of its containing namespaces.
_UI_NamedElement_VisibilityNeedsOwnership_diagnostic = Named element ''{0}'' is not owned by a namespace, but it has visibility.
_UI_Namespace_MembersAreDistinguishable_diagnostic = Not all the members of namespace ''{0}'' are distinguishable within it.
_UI_Namespace_ImportedMemberDerived_diagnostic = The imported members of namespace ''{0}'' are not derived from its element imports and its package imports.
_UI_Operation_TypeOfResult_diagnostic = The type of operation ''{0}'' is not the value of the type for its single return result, or undefined.
_UI_Operation_OnlyBodyForQuery_diagnostic = A body condition is specified for operation ''{0}'', but it is not a query.
_UI_PackageImport_PublicOrPrivate_diagnostic = The visibility of package import ''{0}'' is neither public nor private.
_UI_Package_ElementsPublicOrPrivate_diagnostic = Element ''{0}'', owned by package ''{1}'', has visibility that is neither public nor private.
_UI_Property_OppositeIsOtherEnd_diagnostic = Navigable property ''{0}'' is associated with a binary association, but the other (navigable) end of the association is not its opposite.
_UI_Property_MultiplicityOfComposite_diagnostic = The multiplicity of composite aggregation ''{0}'' has an upper bound greater than 1.
_UI_Property_SubsettingContext_diagnostic = The context of the subsetting property ''{0}'' does not conform to the context of subsetted property ''{1}''.
_UI_Property_NavigablePropertyRedefinition_diagnostic = Navigable property ''{0}'' is redefined or subsetted by non-navigable property ''{1}''.
_UI_Property_SubsettingRules_diagnostic = Subsetting property ''{0}'' either weakens the type of subsetted property ''{1}'', or its upper bound is greater.
_UI_Property_NavigableReadOnly_diagnostic = Non-navigable property ''{0}'' is marked as read-only.
_UI_Property_DerivedUnionIsDerived_diagnostic = Derived union ''{0}'' is not derived.
_UI_RedefinableElement_RedefinitionConsistent_diagnostic = Redefining element ''{0}'' is not consistent with redefined element ''{1}''.
_UI_RedefinableElement_RedefinitionContextValid_diagnostic = None of the redefinition contexts of redefining element ''{0}'' is a specialization of at least one of the redefinition contexts for redefined element ''{1}''.

_UI_PackageMerger_ProcessImplicitRedefinition_diagnostic = Made redefinition of property ''{1}'' by property ''{0}'' explicit.
_UI_PackageMerger_ProcessEmptyUnion_diagnostic = Removed union designation for property ''{0}'' because it has no subsets.

_UI_PackageMerger_DiscardRedundantGeneralization_diagnostic = Discarded redundant generalization from ''{0}'' to ''{1}''.
_UI_PackageMerger_DiscardInvalidRedefinition_diagnostic = Discarded invalid redefinition of property ''{1}'' by property ''{0}''.
_UI_PackageMerger_DiscardInvalidSubset_diagnostic = Discarded invalid subset of property ''{1}'' by property ''{0}''.

_UI_PackageMerger_ReportDifferentPropertyStaticity_diagnostic = Staticity of merged property ''{1}'' is different from that of receiving/resulting property ''{0}''.
_UI_PackageMerger_ReportDifferentPropertyUniqueness_diagnostic = Uniqueness of merged property ''{1}'' is different from that of receiving/resulting property ''{0}''.
_UI_PackageMerger_ReportRedundantGeneralization_diagnostic = Generalization from ''{0}'' to ''{1}'' is redundant with one to ''{2}''.
_UI_PackageMerger_ReportImplicitRedefinition_diagnostic = Property ''{0}'' implicitly redefines property ''{1}''.
_UI_PackageMerger_ReportInvalidRedefinition_diagnostic = Property ''{0}'' invalidly redefines property ''{1}''.
_UI_PackageMerger_ReportInvalidSubset_diagnostic = Property ''{0}'' invalidly subsets property ''{1}''.
_UI_PackageMerger_ReportEmptyUnion_diagnostic = Union property ''{0}'' has no subsets.

_UI_UML22EcoreConverter_ProcessEcoreTaggedValue_diagnostic = Processed Ecore tag ''{1}'' with value of ''{2}'' for model element ''{0}''.
_UI_UML22EcoreConverter_ProcessRedefiningOperation_diagnostic = Annotated operation ''{0}'' as a redefinition of feature ''{1}''.
_UI_UML22EcoreConverter_ProcessRedefiningProperty_diagnostic = Annotated feature ''{0}'' as a redefinition of feature ''{1}''.
_UI_UML22EcoreConverter_ProcessSubsettingProperty_diagnostic = Annotated feature ''{0}'' as a subset of feature ''{1}''.
_UI_UML22EcoreConverter_ProcessUnionProperty_diagnostic = Annotated feature ''{0}'' as a union and made it non-changeable.
_UI_UML22EcoreConverter_ProcessDerivedFeature_diagnostic = Made derived feature ''{0}'' transient and volatile.
_UI_UML22EcoreConverter_ProcessDuplicateOperation_diagnostic = Processed operation ''{0}'' as a duplicate of inherited operation ''{1}''.
_UI_UML22EcoreConverter_ProcessDuplicateOperationInheritance_diagnostic = Processed inheritance of operation ''{2}'' by class ''{0}'' as a duplicate of operation ''{1}''.
_UI_UML22EcoreConverter_ProcessDuplicateFeature_diagnostic = Processed feature ''{0}'' as a duplicate of inherited feature ''{1}''.
_UI_UML22EcoreConverter_ProcessDuplicateFeatureInheritance_diagnostic = Processed inheritance of feature ''{2}'' by class ''{0}'' as a duplicate of feature ''{1}''.

_UI_UML22EcoreConverter_DiscardDuplicateOperation_diagnostic = Discarded operation ''{0}'' because it is a duplicate of inherited operation ''{1}''.
_UI_UML22EcoreConverter_DiscardDuplicateOperationInheritance_diagnostic = Discarded inheritance of operation ''{2}'' by class ''{0}'' because it is a duplicate of operation ''{1}''.
_UI_UML22EcoreConverter_DiscardDuplicateFeature_diagnostic = Discarded feature ''{0}'' because it is a duplicate of inherited feature ''{1}''.
_UI_UML22EcoreConverter_DiscardDuplicateFeatureInheritance_diagnostic = Discarded inheritance of feature ''{2}'' by class ''{0}'' because it is a duplicate of feature ''{1}''.

_UI_UML22EcoreConverter_ReportEcoreTaggedValue_diagnostic = Model element ''{0}'' should be processed based on Ecore tag ''{1}'' with value of ''{2}''.
_UI_UML22EcoreConverter_ReportRedefiningOperation_diagnostic = Operation ''{0}'' should be annotated as redefinition of operation ''{1}''.
_UI_UML22EcoreConverter_ReportRedefiningProperty_diagnostic = Feature ''{0}'' should be annotated as redefinition of feature ''{1}''.
_UI_UML22EcoreConverter_ReportSubsettingProperty_diagnostic = Feature ''{0}'' should be annotated as subset of feature ''{1}''.
_UI_UML22EcoreConverter_ReportUnionProperty_diagnostic = Feature ''{0}'' should be annotated as a union and made non-changeable.
_UI_UML22EcoreConverter_ReportDerivedFeature_diagnostic = Derived feature ''{0}'' should be made transient and volatile.
_UI_UML22EcoreConverter_ReportDuplicateOperation_diagnostic = Operation ''{0}'' is a duplicate of inherited operation ''{1}''.
_UI_UML22EcoreConverter_ReportDuplicateOperationInheritance_diagnostic = Class ''{0}'' inherits duplicate operations ''{1}'' and ''{2}''.
_UI_UML22EcoreConverter_ReportDuplicateFeature_diagnostic = Feature ''{0}'' is a duplicate of inherited feature ''{1}''.
_UI_UML22EcoreConverter_ReportDuplicateFeatureInheritance_diagnostic = Class ''{0}'' inherits duplicate features ''{1}'' and ''{2}''.

_UI_Ecore2UML2Converter_ProcessEcoreTaggedValue_diagnostic = Applied Ecore tag ''{1}'' with value of ''{2}'' to element ''{0}''.
_UI_Ecore2UML2Converter_ProcessRedefinesAnnotation_diagnostic = Made ''{0}'' redefine ''{1}'' based on an annotation.
_UI_Ecore2UML2Converter_ProcessSubsetsAnnotation_diagnostic = Made ''{0}'' subset ''{1}'' based on an annotation.
_UI_Ecore2UML2Converter_ProcessUnionAnnotation_diagnostic = Made ''{0}'' a union based on an annotation.

_UI_Ecore2UML2Converter_ReportEcoreTaggedValue_diagnostic = Element ''{0}'' should have an Ecore tag ''{1}'' with value of ''{2}''.
_UI_Ecore2UML2Converter_ReportRedefinesAnnotation_diagnostic = ''{0}'' should redefine ''{1}'' based on an annotation.
_UI_Ecore2UML2Converter_ReportSubsetsAnnotation_diagnostic = ''{0}'' should subset ''{1}'' based on an annotation.
_UI_Ecore2UML2Converter_ReportUnionAnnotation_diagnostic = ''{0}'' should be a union based on an annotation.

# ==============================================================================
# %%% END OF TRANSLATED PROPERTIES %%%
# The above properties have been shipped for translation.
# ==============================================================================

_UI_Property_NavigablePropertyRedefined_diagnostic = Navigable property ''{1}'' is redefined by non-navigable property ''{0}''.

_UI_PackageMerger_ProcessAssociationSpecialization_diagnostic = Added specialization of association ''{1}'' by association ''{0}''.
_UI_PackageMerger_ProcessCapability_diagnostic = Annotated element ''{0}'' as merged from capability ''{1}''.
_UI_PackageMerger_ProcessImplicitFeatureRedefinition_diagnostic = Made redefinition of feature ''{1}'' by feature ''{0}'' explicit.
_UI_PackageMerger_ProcessInvalidRedefinition_diagnostic = Replaced invalid redefinition of feature ''{1}'' by feature ''{0}'' with feature ''{2}''.
_UI_PackageMerger_ProcessInvalidSubset_diagnostic = Replaced invalid subset of property ''{1}'' by property ''{0}'' with property ''{2}''.

_UI_PackageMerger_DiscardInvalidFeatureRedefinition_diagnostic = Discarded invalid redefinition of feature ''{1}'' by feature ''{0}''.

_UI_PackageMerger_ReportAssociationSpecialization_diagnostic = Association ''{0}'' should specialize association ''{1}''.
_UI_PackageMerger_ReportCapability_diagnostic = Element ''{0}'' merged from capability ''{1}''.
_UI_PackageMerger_ReportImplicitFeatureRedefinition_diagnostic = Feature ''{0}'' implicitly redefines feature ''{1}''.
_UI_PackageMerger_ReportInvalidFeatureRedefinition_diagnostic = Feature ''{0}'' invalidly redefines feature ''{1}''.

_UI_UML22EcoreConverter_ProcessSuperClassOrder_diagnostic = Re-ordered the super classes of class ''{0}'' for optimal code generation.
_UI_UML22EcoreConverter_ReportSuperClassOrder_diagnostic = The super classes of class ''{0}'' should be re-ordered for optimal code generation.

_UI_UML22EcoreConverter_ProcessAnnotationDetails_diagnostic = Annotated model element ''{0}'' with details from source ''{1}''.
_UI_UML22EcoreConverter_ReportAnnotationDetails_diagnostic = Model element ''{0}'' should be annotated with details from source ''{1}''.

_UI_Ecore2UML2Converter_ProcessAnnotationDetails_diagnostic = Annotated element ''{0}'' with details from source ''{1}''.
_UI_Ecore2UML2Converter_ReportAnnotationDetails_diagnostic = Element ''{0}'' should be annotated with details from source ''{1}''.
