#/*
# * 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 Common Public License v1.0
# * which accompanies this distribution, and is available at
# * http://www.eclipse.org/legal/cpl-v10.html
# * 
# * Contributors: 
# *   IBM - Initial API and implementation
# *
# * $Id: plugin.properties,v 1.4 2005/01/12 22:04:08 khussey Exp $
# */

# ====================================================================
# 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 Examples UI
providerName = Eclipse.org

_UI_editorActions_label = UML2 Examples UI Editor Actions

_UI_ElementMenu_label = Ele&ment
_UI_ExtensionMenu_label = E&xtension
_UI_PackageMenu_label = P&ackage
_UI_ProfileMenu_label = Pr&ofile
_UI_StereotypeMenu_label = &Stereotype

_UI_ApplyProfileAction_label = &Apply...
_UI_ApplyStereotypeAction_label = &Apply...
_UI_CreateExtensionAction_label = &Create...
_UI_DefineProfileAction_label = &Define
_UI_ImportPrimitiveTypeAction_label = &Import Primitive Type...
_UI_ReferenceMetaclassAction_label = &Reference Metaclass...
_UI_UnapplyProfileAction_label = &Unapply...
_UI_UnapplyStereotypeAction_label = &Unapply...
_UI_DestroyElementAction_label = &Destroy

_UI_ApplyProfileActionCommand_label = Apply Profile(s)
_UI_ApplyStereotypeActionCommand_label = Apply Stereotype(s)
_UI_CreateExtensionActionCommand_label = Create Extension(s)
_UI_DefineProfileActionCommand_label = Define Profile ''{0}''
_UI_ImportPrimitiveTypeActionCommand_label = Import Primitive Type(s)
_UI_ReferenceMetaclassActionCommand_label = Reference Metaclass(es)
_UI_UnapplyProfileActionCommand_label = Unapply Profile(s)
_UI_UnapplyStereotypeActionCommand_label = Unapply Stereotype(s)
_UI_DestroyElementActionCommand_label = Destroy Element ''{0}''

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

_UI_DiagnosticOK_message = The operation was successful.
_UI_DiagnosticProblems_message = Problems were ecountered.

_UI_MergePackageAction_label = &Merge
_UI_MergePackageActionCommand_label = Merge Package ''{0}''
_UI_MergingPackage_message = Merging package ''{0}''...

_UI_ConvertToEcoreAction_label = &Convert to Ecore
_UI_ConvertToEcoreActionCommand_label = Convert Package ''{0}'' to Ecore
_UI_ConvertingToEcore_message = Converting package ''{0}'' to Ecore...
