# Copyright (c) 2005, 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) - 204200
#
# $Id: plugin.properties,v 1.6 2009/04/07 18:24:54 jbruck Exp $

# NLS_MESSAGEFORMAT_VAR

pluginName = UML2 Ecore Code Generation
providerName = Eclipse Modeling Project

_UI_GeneratingEditTestPackages_message = Generating edit test packages
_UI_GeneratingEditTestsPluginXML_message = Generating edit tests plugin.xml
_UI_GeneratingEditTestsPluginProperties_message = Generating edit tests plugin.properties
_UI_GeneratingEditTestsBuildProperties_message = Generating edit tests build.properties

_UI_GenModel_content_type = UML2 Generator File
_UI_GenModel_1_1_0_content_type = UML2 1.1.0 Generator File
_UI_GenModel_2_2_0_content_type = UML2 2.2.0 Generator File
