# 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 Project Configuration 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_WorkspaceConfiguration_type = Workspace Configuration
_UI_Project_type = Project
_UI_PreferenceProfile_type = Preference Profile
_UI_PreferenceFilter_type = Preference Filter
_UI_Unknown_type = Object

_UI_Unknown_datatype= Value

_UI_WorkspaceConfiguration_projects_feature = Projects
_UI_WorkspaceConfiguration_defaultPreferenceNode_feature = Default Preference Node
_UI_WorkspaceConfiguration_instancePrefenceNode_feature = Instance Preference Node
_UI_Project_configuration_feature = Configuration
_UI_Project_preferenceProfiles_feature = Preference Profiles
_UI_Project_preferenceNode_feature = Preference Node
_UI_Project_preferenceProfileReferences_feature = Preference Profile References
_UI_PreferenceProfile_preferenceFilters_feature = Preference Filters
_UI_PreferenceProfile_referentProjects_feature = Referent Projects
_UI_PreferenceProfile_name_feature = Name
_UI_PreferenceFilter_preferenceNode_feature = Preference Node
_UI_PreferenceFilter_preferenceProfile_feature = Preference Profile
_UI_PreferenceFilter_pattern_feature = Pattern
_UI_Unknown_feature = Unspecified

_UI_PreferenceProfile_project_feature = Project
_UI_PreferenceProfile_predicates_feature = Predicates
_UI_PreferenceFilter_inclusions_feature = Inclusions
_UI_PreferenceFilter_exclusions_feature = Exclusions
_UI_PreferenceProfile_prerequisites_feature = Prerequisites
_UI_WorkspaceConfiguration_instancePreferenceNode_feature = Instance Preference Node
_UI_PropertyFilter_type = Property Filter
_UI_WorkspaceConfiguration_propertyFilters_feature = Property Filters
_UI_PropertyFilter_omissions_feature = Omissions
_UI_PropertyFilter_predicates_feature = Predicates
_UI_PreferenceFilter_properties_feature = Properties
_UI_PropertyFilter_properties_feature = Properties
_UI_PropertyFilter_configuration_feature = Configuration
_UI_InclusionPredicate_type = Inclusion Predicate
_UI_ExclusionPredicate_type = Exclusion Predicate
_UI_InclusionPredicate_includedPreferenceProfiles_feature = Included Preference Profiles
_UI_ExclusionPredicate_excludedPreferenceProfiles_feature = Excluded Preference Profiles
