###############################################################################
# Copyright (c) 2000, 2003 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials 
# are made available under the terms of the Common Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

# package: org.eclipse.ui.views.navigator


# ==============================================================================
# Navigator View
# ==============================================================================
ResourceNavigator.title = {0} : {1}
ResourceNavigator.oneItemSelected = 1 item selected
ResourceNavigator.statusLine = {0} items selected
ResourceNavigator.workingSetToolTip = Working Set: {0}
ResourceNavigator.workingSetInputToolTip = {0} - Working Set: {1}
ResourceManager.toolTip = Workspace
ShowInNavigator.errorMessage = Can't open navigator

# --- Actions ---
ResourceNavigator.sort = &Sort
SortView.byType = by &Type
SortView.toolTipByType = Sort By Type
SortView.byName = by &Name
SortView.toolTipByName = Sort By Name

ToggleLinkingAction.text = &Link with Editor
ToggleLinkingAction.toolTip = Link with Editor

ResourceNavigator.filterText = &Filters...

ResourceNavigator.new = Ne&w
ResourceNavigator.goto = &Go To
ResourceNavigator.resourceText = &Resource...
ResourceNavigator.openPerspective = Open &Perspective
ResourceNavigator.openWith = Open Wit&h

ShowInNavigator.text = Show in &Navigator
ShowInNavigator.toolTip = Show Selected Objects in Navigator View

CopyAction.title = &Copy
CopyAction.toolTip = Copy

PasteAction.title=&Paste
PasteAction.toolTip = Paste

CollapseAllAction.title = Co&llapse All
CollapseAllAction.toolTip = Collapse All

GoToResource.showNavError=Could not open resource navigator view.
GoToResource.label=&Resource...

NavigatorFrameSource.closedProject.title=Closed Project
NavigatorFrameSource.closedProject.message=You attempted to go into a closed project: {0}\nPlease open the project and try again.
# --- Dialogs ---
Goto.title = Go To Resource
Goto.label = Choose a resource:
Goto.pattern = &Pattern (? = any character, * = any string):
Goto.matching = &Matching Resources:
Goto.folders = In &Folders:

FilterSelection.message = Select the &filters to apply (matching files will be hidden):
FilterSelection.toolTip = Apply Filters
FilterSelection.title = Navigator Filters

DecoratorMenu.title = &Decorators

# --- Drop Adapter ---
DropAdapter.sameSourceAndDestination = Source and destination are the same.
DropAdapter.destinationASubFolder = Destination is a sub-folder of the source.
DropAdapter.title = Drag and Drop Problem
DropAdapter.problemImporting = Problems occurred while importing resources.
DropAdapter.canNotDropOntoSelf = Cannot drop a resource onto itself
DropAdapter.cancelled = Operation Cancelled
DropAdapter.problemsMoving = Problems occurred while moving resources.
DropAdapter.question = Question
DropAdapter.targetMustBeResource = Target must be a resource
DropAdapter.canNotDropIntoClosedProject = Cannot drop a resource into closed project
DropAdapter.resourcesCanNotBeSiblings = Resources cannot be siblings of projects
DropAdapter.canNotCopy = Cannot copy \"{0}\". {1}
DropAdapter.canNotMove = Cannot move \"{0}\". {1}
DropAdapter.ok = ok
DropAdapter.dropOperationError = An error occurred during the drop operation: {0}
DropAdapter.overwriteQuery = {0} already exists.  Would you like to overwrite it?
DropAdapter.copyNameTwoArgs = Copy ({0}) of {1}
DropAdapter.copyNameOneArg = Copy of {0}
DropAdapter.dropOperationErrorOther = An error occurred during the drop operation.

DragAdapter.title = Check Move
DragAdapter.checkMoveMessage = {0} is read only. Do you still wish to move it?
DragAdapter.checkDeleteMessage = {0} is read only. Do you still wish to delete it?

LocalSelectionTransfer.errorMessage=Received wrong transfer data.

CopyToClipboardProblemDialog.title=Problem Copying to Clipboard
CopyToClipboardProblemDialog.message=There was a problem when accessing the system clipboard. Retry?

MoveResourceAction.title = Check Move
MoveResourceAction.checkMoveMessage = ''{0}'' is read only. Do you still wish to move it?

