# Copyright (c) 2006, 2018 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 v2.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v20.html
#
# Contributors: 
#   IBM - initial API and implementation
#   Kenn Hussey (Embarcadero Technologies) - 156879, 204200
#   Kenn Hussey - 535301
#

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