###############################################################################
# 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.bookmarkexplorer


# ==============================================================================
# Bookmarks View
# ==============================================================================
BookmarkLabel.textHasContainer = {0} (on {1} in {2})
BookmarkLabel.textNoContainer = {0} (on {1})

CopyBookmark.text = &Copy

PasteBookmark.text = &Paste
PasteBookmark.errorTitle = Error pasting bookmark(s)

OpenBookmark.text = &Go To
OpenBookmark.toolTip = Go To
OpenBookmark.errorTitle = Problems Opening Editor

RemoveBookmark.text = &Delete
RemoveBookmark.toolTip = Delete
RemoveBookmark.errorTitle = Error deleting bookmarks

SelectAll.text = Select A&ll
SelectAll.toolTip = Select All

Properties.text = P&roperties

ColumnIcon.text = 
ColumnDescription.text = by &Description
ColumnResource.text = by &Resource
ColumnFolder.text = by &Folder
ColumnLocation.text = by &Location
ColumnCreationTime.text = by &Creation Time

LineIndicator.text = line {0} 

ColumnIcon.header = 
ColumnDescription.header = Description
ColumnResource.header = Resource
ColumnFolder.header = In Folder
ColumnLocation.header = Location

ColumnIcon.dialogText = 
ColumnDescription.dialogText = Description:
ColumnResource.dialogText = Resource:
ColumnFolder.dialogText = In Folder:
ColumnLocation.dialogText = Location:

SortMenuGroup.text = &Sort
SortDirectionAscending.text = &Ascending
SortDirectionDescending.text = D&escending

PropertiesDialogTitle.text = Bookmark Properties
NewBookmarkDialogTitle.text = New Bookmark

MarkerCreationTime.text = &Creation Time:

Error.text = &Error

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

