###############################################################################
# Copyright (c) 2010, 2019 CEA LIST
# 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:
#     Nicolas Bros (Mia-Software) - initial API and implementation
#     Nicolas Guyomar (Mia-Software) - Bug 339899 - everything must be externalized before UI freeze
###############################################################################

pluginName = MoDisco Facet Celleditors Model
providerName = Eclipse Modeling Project

celleditors.content-type.name = MoDisco Facet Model Cell Editors
celleditors.extension-point.name = Model Cell Editors
compositeEditors.extension-point.name = Composite Cell Editor Factories
command.factories.extension-point.name = Command Factories