# Copyright (c) 2006, 2011 IBM Corporation, Embarcadero Technologies, CEA, 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
#   Kenn Hussey (Embarcadero Technologies) - 204200
#   Kenn Hussey (CEA) - 327039
#
# $Id: plugin.properties,v 1.9 2009/04/07 18:24:02 jbruck Exp $

# NLS_MESSAGEFORMAT_VAR

pluginName = UML2 UML Examples UI
providerName = Eclipse Modeling Project

_UI_editorActions_label = UML2 UML Examples UI Editor Actions

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

_UI_OptionsDialog_message = Please choose options.

_UI_ConvertToUMLModelAction_label = &Convert to UML Model...
_UI_ConvertToUMLActionCommand_label = Convert package ''{0}'' to UML model
_UI_ConvertingToUML_message = Converting package ''{0}'' to UML model...

_UI_ConvertToMenu_label = &Convert To

_UI_EcoreModelAction_label = &Ecore Model...
_UI_ConvertToEcoreActionCommand_label = Convert package ''{0}'' to Ecore package
_UI_ConvertingToEcore_message = Converting package ''{0}'' to Ecore package...

_UI_MetamodelAction_label = &Metamodel
_UI_ConvertToMetamodelActionCommand_label = Convert model {0} to a metamodel

_UI_ModelLibraryAction_label = Model &Library
_UI_ConvertToModelLibraryActionCommand_label = Convert package {0} to a model library

_UI_GenerateMenu_label = &Generate

_UI_PrimitiveTypesMenu_label = &Primitive Types

_UI_StereotypesMenu_label = &Stereotypes

_UI_EcoreAction_label = &Ecore
_UI_GenerateEcorePrimitiveTypesActionCommand_label = Generate Ecore primitive types into model {0}
_UI_GenerateEcoreStereotypesActionCommand_label = Generate Ecore stereotypes into profile {0}

_UI_JavaAction_label = &Java
_UI_GenerateJavaPrimitiveTypesActionCommand_label = Generate Java primitive types into model {0}

_UI_StandardL2Action_label = Standard L&2
_UI_GenerateStandardL2StereotypesActionCommand_label = Generate standard L2 stereotypes into profile {0}

_UI_StandardL3Action_label = Standard L&3
_UI_GenerateStandardL3StereotypesActionCommand_label = Generate standard L3 stereotypes into profile {0}

_UI_UML2Action_label = &UML2
_UI_GenerateUML2StereotypesActionCommand_label = Generate UML2 stereotypes into profile {0}

_UI_UMLAction_label = &UML
_UI_GenerateUMLPrimitiveTypesActionCommand_label = Generate UML primitive types into model {0}

_UI_ExternalizeMenu_label = E&xternalize

_UI_KeywordsAction_label = &Keywords
_UI_LabelsAction_label = &Labels

_UI_XMLAction_label = &XML
_UI_GenerateXMLPrimitiveTypesActionCommand_label = Generate XML primitive types into Model {0}
