###############################################################################
# Copyright (c) 2009, 2019 Mia-Software 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:
#     Fabien Giquel (Mia-Software) - initial API and implementation
#     Nicolas Bros (Mia-Software)
#	  Nicolas Guyomar (Mia_software) - Bug 333651 Remove of the MoDisco EPackage view and of the metamodel browsing button
###############################################################################

new.category.name=MoDisco
new.moDiscoProject.name=MoDisco Project
new.moDiscoProject.description=Create a MoDisco Project

Bundle-Vendor = Eclipse Modeling Project
Bundle-Name = MoDisco Common UI
extension-point.name = Cell content editors
modisco.preferencepage.name = MoDisco
convertToMoDiscoProject.action.label = Convert to MoDisco Project