# Copyright (c) 2006, 2008 IBM Corporation, Embarcadero Technologies, 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) - 156879, 204200
#
# $Id: plugin.properties,v 1.12 2008/05/06 21:42:17 khussey Exp $

# NLS_MESSAGEFORMAT_VAR

pluginName = UML2 UML Exporter for EMF
providerName = Eclipse.org

_UI_UMLExporter_label = UML model

_UI_UMLExport_title = UML Export

_UI_Exporting_message = Exporting package to ''{0}''...

_UI_ProblemsEncounteredProcessing_message = Problems were encountered processing the models

_UI_UMLModelExporter_description = Creates UML and CMOF models based on ecore and genmodel files

_UI_InvalidArtifactFileNameExtension_message = The artifact file name must end in '.uml', '.xmi', or '.cmof'
