###############################################################################
# Copyright (c) 2000, 2006 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
###############################################################################

BuildGroup_buildProject=&Build Project
BuildGroup_rebuildProject=Rebuild Pro&ject

DragAdapter_deleting=Deleting ...
DragAdapter_problem=Problem while moving or copying files.
DragAdapter_problemTitle=Drag & Drop
DragAdapter_refreshing=Refreshing...

DropAdapter_alreadyExists={0} already exists. Would you like to overwrite it?
DropAdapter_errorSame=Cannot copy {0}: the destination folder is the same as the source folder.
DropAdapter_errorSubfolder=Cannot copy {0}: the destination folder is a subfolder of the source folder.
DropAdapter_errorTitle=Drag & Drop
DropAdapter_errorMessage=Error while moving or copying files.
DropAdapter_question=Question

FilterSelectionAction_apply_label=Select &filters to apply (matching files will be hidden):
FilterSelectionAction_apply_toolTip=Apply the defined filters
FilterSelectionAction_dialog_title=Package Explorer Filters

GotoPackage_action_label=&Package...
GotoPackage_dialog_message=&Choose a package (? = any character, * = any string):
GotoPackage_dialog_title=Go to Package
GotoPackage_action_description=Searches for and selects the package entered.

GotoRequiredProjectAction_label=Go to Project
GotoRequiredProjectAction_description=Go to Project
GotoRequiredProjectAction_tooltip=Go to Project

GotoType_action_label=&Type...
GotoType_action_description=Searches for and selects the type entered.
GotoType_dialog_message=&Choose a type (? = any character, * = any string):
GotoType_dialog_title=Go to Type
GotoType_error_message=An exception occurred while searching for types

GotoResource_action_label=&Resource...
GotoResource_dialog_title= Go to Resource

OpenResource_action_description=Open the selected file in an editor.
OpenResource_action_label=&Open
OpenResource_error_message=Cannot open Java editor.
OpenResource_error_messageArgs=Cannot open Java editor on {0}. {1}
OpenResource_error_messageProblems=Problems Opening Editor.
OpenResource_error_title=Open Resource

Sorter_expectPackage=expects a PackageFragment or PackageFragmentRoot

ShowLibraries_hideReferencedLibs=Hide referenced libraries
ShowLibraries_showReferencedLibs=Show referenced libraries

ShowBinaries_hideBinaryProjects=Hide library projects
ShowBinaries_showBinaryProjects=Show library projects

ShowInNavigator_description=Show the selected object(s) in the navigator
ShowInNavigator_error=Cannot open navigator
ShowInNavigator_label=Show in &Navigator

PackageExplorer_filters=&Filters...
PackageExplorer_gotoTitle=G&o To
PackageExplorer_openPerspective=Open &Perspective
PackageExplorer_refactoringTitle=&Refactor
PackageExplorer_referencedLibs=Show Referenced &Libraries
PackageExplorer_binaryProjects=Show Library Projects
PackageExplorer_title=Package Explorer
PackageExplorer_toolTip= Working Set: {0}
PackageExplorer_toolTip2= {0} - Working Set: {1}
PackageExplorer_toolTip3= {0}/{1}
PackageExplorer_openWith=Open Wit&h

PackageExplorer_element_not_present=Cannot reveal {0} in Package Explorer.  The element may be hidden by a filter or an active working set.

PackageExplorer_filteredDialog_title=Show In Package Explorer
PackageExplorer_notFound=Cannot reveal the selected element. Do you want to deselect the current working set ''{0}''?
PackageExplorer_removeFilters=Cannot reveal the selected element. Do you want to remove some filters to reveal the element?

PackageExplorerPart_workspace=Workspace
PackageExplorerPart_workingSetModel=Working Sets

SelectionTransferDropAdapter_error_title=Drag and drop
SelectionTransferDropAdapter_error_message=Unexpected exception. See log for details
SelectionTransferDropAdapter_dialog_title=Move
SelectionTransferDropAdapter_dialog_preview_label=Pre&view
SelectionTransferDropAdapter_dialog_question=Do you want to update references to the moved element(s)? Click 'Preview' to see the preview of the reference updates.

CollapseAllAction_label=Collapse All
CollapseAllAction_tooltip=Collapse All
CollapseAllAction_description=Collapse All

LayoutActionGroup_label= &Package Presentation
LayoutActionGroup_flatLayoutAction_label= &Flat
LayoutActionGroup_hierarchicalLayoutAction_label= &Hierarchical

ClassPathContainer_unbound_label={0} (unbound)
ClassPathContainer_unknown_label={0} (unknown)