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

sortAction.title = &Sorting...
filtersAction.title = &Filters...
filtersAction.tooltip = Filters...

sortDialog.title = Sorting
sortDialog.label = Sort by:
sortDialog.columnLabel = &{0}. 
sortDirectionAscending.text = &Ascending
sortDirectionDescending.text = &Descending
restoreDefaults.text = Restore &Defaults

Error = Error: 

columnHeader.message = Description
columnHeader.location = Location
columnHeader.lineNumber = Location
columnHeader.charStart = Char Start
columnHeader.charEnd = Char End
columnHeader.transient = Transient
columnHeader.userEditable = User Editable
columnHeader.severity = 
columnHeader.priority =
columnHeader.done = 

description.message = Description
description.resource = Resource
description.folder = In Folder
description.lineNumber = Location
description.creationTime = Creation Time
description.priority = Priority
description.completion = Completion

label.lineNumber = line {0}

openAction.title = &Go To
copyAction.title = &Copy
pasteAction.title = &Paste
deleteAction.title = &Delete
deleteAction.tooltip = Delete
selectAllAction.title = Select &All
propertiesAction.title = P&roperties

filtersDialog.title = Filters
filtersDialog.onOff = &Enabled
filtersDialog.limitVisibleMarkersTo = Limit visi&ble items to:
filtersDialog.showItemsOfType = Show items of &type:
filtersDialog.anyResource = On any &resource
filtersDialog.anyResourceInSameProject = On any resource in same &project
filtersDialog.selectedResource = On selected resource &only
filtersDialog.selectedAndChildren = On selected resource and its &children
filtersDialog.workingSet = On wor&king set:  {0}
filtersDialog.workingSetSelect = &Select...
filtersDialog.noWorkingSet = On wor&king set:  <no working set selected>
filtersDialog.selectAll = Select &All
filtersDialog.deselectAll = &Deselect All
filtersDialog.type.columnHeader = Type
filtersDialog.superTypecolumnHeader = Parent types
filtersDialog.titleMarkerLimitInvalid = Error
filtersDialog.messageMarkerLimitInvalid = The visible item limit must be a positive integer.
filtersDialog.descriptionLabel = Where &description 
filtersDialog.contains = contains
filtersDialog.doesNotContain = does not contain
filtersDialog.severityLabel = Where se&verity is:
filtersDialog.severityError = &Error
filtersDialog.severityWarning = Warnin&g
filtersDialog.severityInfo = &Info
filtersDialog.priorityLabel = Where priorit&y is: 
filtersDialog.priorityHigh = &High
filtersDialog.priorityNormal = &Normal
filtersDialog.priorityLow = Lo&w
filtersDialog.statusLabel = Where stat&us is: 
filtersDialog.statusComplete = Co&mpleted
filtersDialog.statusIncomplete = Not Comp&leted

propertiesDialog.creationTime.text = Creation &Time: 
propertiesDialog.description.text = &Description: 
propertiesDialog.folder.text = In &Folder: 
propertiesDialog.location.text = &Location: 
propertiesDialog.resource.text = On &Resource: 
propertiesDialog.title = Properties
propertiesDialog.severityLabel = &Severity: {0}
propertiesDialog.errorLabel = Error
propertiesDialog.warningLabel = Warning
propertiesDialog.infoLabel = Info
propertiesDialog.noseverityLabel = Not defined
propertiesDialog.priority = &Priority
propertiesDialog.priorityHigh = High
propertiesDialog.priorityNormal = Normal
propertiesDialog.priorityLow = Low
propertiesDialog.completed = &Completed

restoreDefaults.text = Restore &Defaults

markerLimitExceeded.title = There are too many items to display.\n\
	To see items in this window, adjust the filter settings.
	
filter.matchedMessage = Filter matched {0} of {1} items
filter.itemsMessage = {0} items
view.title = {0} ({1})

errorModifyingBookmark = Error Modifying Bookmark
errorModifyingTask = Error Modifying Task

problemSeverity.description = Severity
problem.statusSummaryVisible = {0,choice,0#0 items|1#{0,number,integer} item|1<{0,number,integer} items}: {1}
problem.statusSummaryBreakdown = {0,choice,0#0 errors|1#{0,number,integer} error|1<{0,number,integer} errors}, {1,choice,0#0 warnings|1#{1,number,integer} warning|1<{1,number,integer} warnings}, {2,choice,0#0 infos|1#{2,number,integer} info|1<{2,number,integer} infos}
problem.statusSummarySelected = {0,choice,0#0 items|1#{0,number,integer} item|1<{0,number,integer} items} selected: {1}
marker.statusSummarySelected = {0,choice,0#0 items|1#{0,number,integer} item|1<{0,number,integer} items} selected.

deleteCompletedAction.title = Delete Completed &Tasks

filtersAction.title = &Filters...

markCompletedAction.title = &Mark Completed

resolveMarkerAction.title = &Quick Fix
resolveMarkerAction.dialogTitle = Quick Fix
resolveMarkerAction.noResolutionsLabel = There are no quick fixes available for the selected marker.

showAction.title = &Open on new problems

deleteCompletedTasks.dialogTitle = Delete Completed Tasks
deleteCompletedTasks.noneCompleted = No user-editable completed tasks to delete.
deleteCompletedTasks.permanentPlural = Do you want to permanently delete the {0} completed tasks?
deleteCompletedTasks.permanentSingular = Do you want to permanently delete the completed task?
deleteCompletedTasks.errorMessage = Error deleting completed tasks

addGlobalTaskAction.title = &Add Task
addGlobalTaskAction.tooltip = New Task

addGlobalTaskDialog.title = Add Task

completion.description = Completed
priority.description = Priority

priority.high = High
priority.normal = Normal
priority.low = Low