# Copyright (c) 2014 Eike Stepper (Berlin, Germany) 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:
#    Eike Stepper - initial API and implementation

pluginName = Oomph Resources Edit Support
providerName = Eclipse Oomph Project

_UI_CreateChild_text = {0}
_UI_CreateChild_text2 = {1} {0}
_UI_CreateChild_text3 = {1}
_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.

_UI_PropertyDescriptor_description = The {0} of the {1}

_UI_SourceLocator_type = Source Locator
_UI_Unknown_type = Object

_UI_Unknown_datatype= Value

_UI_SourceLocator_rootFolder_feature = Root Folder
_UI_SourceLocator_locateNestedProjects_feature = Locate Nested Projects
_UI_SourceLocator_predicates_feature = Predicates
_UI_Unknown_feature = Unspecified

_UI_ProjectFactory_type = Project Factory
_UI_EclipseProjectFactory_type = Eclipse Project Factory
_UI_MavenProjectFactory_type = Maven Project Factory
_UI_SourceLocator_projectFactories_feature = Project Factories
_UI_XMLProjectFactory_type = XML Project Factory
_UI_SourceLocator_excludedPaths_feature = Excluded Paths
_UI_ProjectFactory_excludedPaths_feature = Excluded Paths
