###############################################################################
# Copyright (c) 2005 IBM Corporation 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:
#     IBM Corporation - initial API and implementation
###############################################################################
  
Could_not_provide_children_for_element=Could not acquire children from extension: {0}
Could_not_provide_parent_for_element=Could not acquire parent from extension: {0}
Link_With_Editor_Job_=Link With Editor Job   
NavigatorViewerDescriptor_Popup_Menu_Overridden=Warning: popupMenuId of "{0}" was overridden: old value = "{1}", new value = "{2}".
TreeViewerElementCollector_0=Updating tree
TreeViewerElementCollector_1=Remove placeholder
StructuredViewerManager_0=Refresh Common Viewer Tree
PendingUpdateAdapter_PendingLabel=Pending...
TextAction_selectAll = Select All
Cut = Cut
Copy = Copy 
Paste = Paste 
Delete = Delete

CopyAction_toolTip=Copy
PasteAction_toolTip=Paste

LocalSelectionTransfer_errorMessage=Received wrong transfer data. 
PropertyDialog_messageTitle=Property Pages
NavigatorContentExtensionRecord_0=The extension cannot be null
CommonElementAdapter_0=<pending...>
PropertyDialog_noPropertyMessage=No property pages for {0}.
NavigatorSelectionSerializer_1=Could not create byte array.
FetchElementsJob_0=Fetching children ...
NavigatorSelectionSerializer_0=A valid INavigatorExtensionSite must be used to create a NavigatorSerializer.

DropHandlerDescriptor_10=Problem creating INavigatorDropActionDelegate for "{0}".
Navigator_statusLineMultiSelect={0} items selected
DropHandlerRegistry_0=Problem determing Drop Handlers
 
PropertyDialog_toolTip=Open Properties Dialog 
PropertyDialog_text=P&roperties
CommonFilterSelectionDialog_4=Select the filters to apply (matching items will be hidden):
CommonFilterSelectionDialog_3=Select the available extensions to show (unchecked extensions will not display content):
ExtensionFilterDescriptor_11=The navigatorExtensionId cannot be null
ExtensionFilterDescriptor_10=The filterId cannot be null

CommonFilterSelectionDialog_2=Hides all content associated with the "{0}" content extension.
CommonFilterSelectionDialog_1=Types of content
SelectFiltersActionDelegate_1=Select and deselect filters to apply to the content in the tree
CollapseAllActionDelegate_0=Collapse All 
CommonFilterSelectionDialog_0=Filters
SelectFiltersActionDelegate_0=Filters...

SerializerDescriptor_0=A valid IConfigurationElement must be used to create a SerializerDescriptor
SerializerDescriptor_1=A valid id is required for a SerializerDescriptor
 
SerializerDescriptor_3=Warning: Serializer Descriptor {0} has more than one ActionExpression.
SerializerDescriptor_5=Could not create serializer with id: {0} : {1}

NavigatorDropSelectionDialog_3=Skip this dialog when only one action is available
NavigatorDropSelectionDialog_1=Available Actions

ExtensionFilterRegistry_16=Warning: All Third Party Extension Filters must provide a valid navigatorExtensionid.
LinkEditorActionDelegate_1=Link open editors with content in the Navigator
LinkEditorActionDelegate_0=Link Editor
PropertyDialog_propertyMessage=Properties for {0}
NavigatorExtensionSite_0=Preloading Selected Navigator Extensions

CommonDropHandlerService_0=Common Drop Handler Service

Attribute_Missing_Warning=Missing attribute: {0} in extension "{1}" defined in bundle "{2}".
Too_many_elements_Warning=Too many elements of type: {0} in extension "{1}" defined in bundle "{2}".
Open_action_label=Open


NewProjectWizard_errorTitle = New Project Problems

NewProjectAction_text = P&roject...