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

pluginName = Oomph Setup Maven 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_Unknown_type = Object
_UI_Unknown_datatype= Value
_UI_Unknown_feature = Unspecified

_UI_MavenImportTask_type = Maven Import
_UI_MavenImportTask_sourceLocators_feature = Source Locators
_UI_MavenImportTask_projectNameTemplate_feature = Project Name Template
_UI_MavenImportTask_profiles_feature = Profiles
_UI_MavenUpdateTask_type = Maven Update
_UI_MavenUpdateTask_projectNamePatterns_feature = Project Name Patterns
_UI_MavenUpdateTask_offline_feature = Offline
_UI_MavenUpdateTask_updateSnapshots_feature = Update Snapshots
