# Copyright (c) 2006, 2009 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.13 2009/04/07 18:23:26 jbruck Exp $

# NLS_MESSAGEFORMAT_VAR

pluginName = UML2 UML Exporter for EMF
providerName = Eclipse Modeling Project 

_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'
