# 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 Preference Management 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_PreferenceNode_type = Preference Node
_UI_Property_type = Property
_UI_Unknown_type = Object

_UI_Unknown_datatype= Value

_UI_PreferenceNode_children_feature = Children
_UI_PreferenceNode_parent_feature = Parent
_UI_PreferenceNode_properties_feature = Properties
_UI_PreferenceNode_name_feature = Name
_UI_Property_name_feature = Name
_UI_Property_parent_feature = Parent
_UI_Property_value_feature = Value
_UI_Unknown_feature = Unspecified

_UI_PreferenceNode_location_feature = Location
_UI_PreferenceItem_type = Preference Item
_UI_PreferenceItem_root_feature = Root
_UI_PreferenceItem_absolutePath_feature = Absolute Path
_UI_PreferenceItem_name_feature = Name
_UI_PreferenceItem_scope_feature = Scope
_UI_PreferenceItem_scopeRelativePath_feature = Scope Relative Path
_UI_PreferenceItem_relativePath_feature = Relative Path
_UI_PreferenceItem_ancestor_feature = Ancestor
_UI_Property_nonDefault_feature = Non Default
_UI_Property_secure_feature = Secure
_UI_Property_secure_description = Whether this is a secure property.  Setting this to false will show the property value.  Ensure that it's set back to true after editing the value.
