# <copyright>
#
# Copyright (c) 2008-2013 See4sys, itemis 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
# https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
#
# Contributors:
#     See4sys - Initial API and implementation
#     itemis - [402945] Add a new Hummingbird project creation wizard for Hummingbird examples
#     itemis - [402951] Add a new Hummingbird file creation wizard for Hummingbird examples
#
# </copyright>

# ====================================================================
# To code developer:
#   Do NOT change the properties between this line and the
#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
#   Make a new property name, append to the end of the file and change
#   the code to use the new property.
# ====================================================================

# ====================================================================
# %%% END OF TRANSLATED PROPERTIES %%%
# ====================================================================

pluginName=Sphinx Examples Hummingbird IDE UI Plug-in (Incubation)
providerName=Eclipse Modeling Project

sphinx.examples.hummingbird.ide.ui.editors.hummingbird.name=Generic Hummingbird Form Editor
sphinx.examples.hummingbird.ide.ui.propertyTabs.advanced.label=Advanced

sphinx.examples.hummingbird.ide.ui.navigatorContent.hummingbird=Hummingbird Models

sphinx.examples.hummingbird.ide.ui.decorators.hummingbirdProject.label=Hummingbird Project Decorator
sphinx.examples.hummingbird.ide.ui.decorators.hummingbirdProject.description=Decorates Hummingbird projects according to the Hummingbird metamodel version configured in its settings.

sphinx.examples.hummingbird.ide.ui.newWizards.category.hummingbirdExampleWizards.name=Hummingbird
sphinx.examples.hummingbird.ide.ui.newWizards.hummingbirdFile.name=Hummingbird File
sphinx.examples.hummingbird.ide.ui.newWizards.hummingbirdProject.name=Hummingbird Project
