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


## Errors ##

Editor.error.no_provider=Text editor does not have a document provider

Editor.error.save.title=Save problems
Editor.error.save.message=Save could not be completed. 

Editor.error.save.deleted.title=Cannot Save
Editor.error.save.deleted.message=The file has been deleted.


Editor.error.save.outofsync.title=Update conflict
Editor.error.save.outofsync.message=The file has been changed on the file system. Do you want to overwrite the changes?

Editor.error.activated.outofsync.title=File Changed
Editor.error.activated.outofsync.message=The file has been changed on the file system. Do you want to load the changes?

Editor.error.activated.deleted.save.title=File Deleted
Editor.error.activated.deleted.save.message=The file has been deleted from the file system. Do you want to save your changes or close the editor without saving?
Editor.error.activated.deleted.save.button.save=Save
Editor.error.activated.deleted.save.button.close=Close
Editor.error.activated.deleted.close.title=File Deleted
Editor.error.activated.deleted.close.message=The file has been deleted from the file system. This editor will be closed.

Editor.error.refresh.outofsync.title=Problems loading File
Editor.error.refresh.outofsync.message=The file could not be loaded from the file system.

Editor.error.revert.title=Problems while reverting to saved state
Editor.error.revert.message=Could not revert to saved state. 
Editor.error.setinput.title=Problem while opening
Editor.error.setinput.message=Cannot open input element:
Editor.error.no_input=Unable to read text editor input
Editor.error.invalid_input=Invalid text editor input

Editor.error.validateEdit.title= Problems editing file
Editor.error.validateEdit.message= The file cannot be edited.

AbstractDocumentProvider.error.save.inuse=File is either open in another editor or in use by an operation.

DocumentProviderRegistry.error.extension_point_not_found=Extension point: {0}.documentProviders not found



## Actions ##

Editor.Undo.label=&Undo
Editor.Undo.tooltip=Undo
Editor.Undo.image=
Editor.Undo.description=Undo

Editor.Redo.label=&Redo
Editor.Redo.tooltip=Redo
Editor.Redo.image=
Editor.Redo.description=Redo

Editor.Cut.label=Cu&t
Editor.Cut.tooltip=Cut
Editor.Cut.image=
Editor.Cut.description=Cut

Editor.Copy.label=&Copy
Editor.Copy.tooltip=Copy
Editor.Copy.image=
Editor.Copy.description=Copy

Editor.Paste.label=&Paste
Editor.Paste.tooltip=Paste
Editor.Paste.image=
Editor.Paste.description=Paste

Editor.Delete.label=&Delete
Editor.Delete.tooltip=Delete
Editor.Delete.image=
Editor.Delete.description=Delete

Editor.Print.label=&Print
Editor.Print.tooltip=Print
Editor.Print.image=
Editor.Print.description=Print

Editor.SelectAll.label=Select &All
Editor.SelectAll.tooltip=Select All
Editor.SelectAll.image=
Editor.SelectAll.description=Select All

Editor.ShiftRight.label=Sh&ift Right
Editor.ShiftRight.tooltip=Shift Right
Editor.ShiftRight.image=
Editor.ShiftRight.description=Shift Right

Editor.ShiftLeft.label=S&hift Left
Editor.ShiftLeft.tooltip=Shift Left
Editor.ShiftLeft.image=
Editor.ShiftLeft.description=Shift Left

Editor.delete.line.submenu.label=D&elete Line

Editor.DeleteLine.label=&Whole
Editor.DeleteLine.tooltip=Delete Line
Editor.DeleteLine.image=
Editor.DeleteLine.description=Delete Line

Editor.CutLine.label=&Whole
Editor.CutLine.tooltip=Cut Line
Editor.CutLine.image=
Editor.CutLine.description=Cut Line

Editor.DeleteLineToBeginning.label=To &Beginning
Editor.DeleteLineToBeginning.tooltip=Delete Line to Beginning
Editor.DeleteLineToBeginning.image=
Editor.DeleteLineToBeginning.description=Delete Line to Beginning

Editor.CutLineToBeginning.label=To &Beginning
Editor.CutLineToBeginning.tooltip=Cut Line to Beginning
Editor.CutLineToBeginning.image=
Editor.CutLineToBeginning.description=Cut Line to Beginning

Editor.DeleteLineToEnd.label=To &End
Editor.DeleteLineToEnd.tooltip=Delete Line to End
Editor.DeleteLineToEnd.image=
Editor.DeleteLineToEnd.description=Delete Line to End

Editor.CutLineToEnd.label=To &End
Editor.CutLineToEnd.tooltip=Cut Line to End
Editor.CutLineToEnd.image=
Editor.CutLineToEnd.description=Cut Line to End

Editor.mark.status.message.mark.set=Mark set
Editor.mark.status.message.mark.cleared=Mark cleared
Editor.mark.status.message.mark.swapped=Mark swapped
Editor.mark.status.error.message.mark.not.set=Mark not set
Editor.mark.status.error.message.mark.not.visible=Mark not in visible region

Editor.mark.submenu.label=&Mark

Editor.SetMark.label=&Set
Editor.SetMark.tooltip=Set Mark
Editor.SetMark=
Editor.SetMark.description=Set Mark

Editor.ClearMark.label=&Clear
Editor.ClearMark.tooltip=Clear Mark
Editor.ClearMark=
Editor.ClearMark.description=Clear Mark

Editor.SwapMark.label=S&wap
Editor.SwapMark.tooltip=Swap Mark
Editor.SwapMark=
Editor.SwapMark.description=Swap Mark

Editor.FindReplace.label=&Find/Replace...
Editor.FindReplace.tooltip=Find/Replace
Editor.FindReplace.image=
Editor.FindReplace.description=Find/Replace

Editor.FindNext.label=Find &Next
Editor.FindNext.tooltip=Find Next
Editor.FindNext.image=
Editor.FindNext.description=Find Next

Editor.FindPrevious.label=Find Pre&vious
Editor.FindPrevious.tooltip=Find Previous
Editor.FindPrevious.image=
Editor.FindPrevious.description=Find Previous

Editor.FindIncremental.label=&Incremental Find Next
Editor.FindIncremental.tooltip=Incremental Find Next
Editor.FindIncremental.image=
Editor.FindIncremental.description=Incremental Find Next
Editor.FindIncremental.not_found.pattern={0}{1}Incremental Find: {2} not found
Editor.FindIncremental.found.pattern={0}{1}Incremental Find: {2}
Editor.FindIncremental.render.tab=<TAB>
# The following two properties must end in a space
Editor.FindIncremental.wrapped=Wrapped 
Editor.FindIncremental.reverse=Reverse 

Editor.FindIncrementalReverse.label=Incre&mental Find Previous
Editor.FindIncrementalReverse.tooltip=Incremental Find Previous
Editor.FindIncrementalReverse.image=
Editor.FindIncrementalReverse.description=Incremental Find Previous

Editor.AddBookmark.label=Boo&kmark...
Editor.AddBookmark.tooltip=Add Bookmark
Editor.AddBookmark.image=
Editor.AddBookmark.description=Add Bookmark
Editor.AddBookmark.dialog.title=Add Bookmark
Editor.AddBookmark.dialog.message=Enter Bookmark name:
Editor.AddBookmark.error.dialog.title=Add Bookmark
Editor.AddBookmark.error.dialog.message=Problems adding new bookmark

Editor.Save.label=&Save
Editor.Save.tooltip=Save
Editor.Save.image=
Editor.Save.description=Save

Editor.Revert.label=Re&vert
Editor.Revert.tooltip=Revert
Editor.Revert.image=
Editor.Revert.description=Revert

Editor.GotoLine.label=&Go to Line...
Editor.GotoLine.tooltip=Go to Line
Editor.GotoLine.image=
Editor.GotoLine.description=Go to Line
Editor.GotoLine.dialog.title=Go to Line
Editor.GotoLine.dialog.message=Enter line number (1..{0}):
Editor.GotoLine.dialog.invalid_input=Not a number
Editor.GotoLine.dialog.invalid_range=Line number out of range

Editor.ManageBookmarks.tooltip=Adds and Removes Bookmarks
Editor.ManageBookmarks.image=
Editor.ManageBookmarks.description=Adds and removes Bookmarks
Editor.ManageBookmarks.add.label=Add Boo&kmark...
Editor.ManageBookmarks.remove.label=Remove Boo&kmark
Editor.ManageBookmarks.add.dialog.title=Add Bookmark
Editor.ManageBookmarks.add.dialog.message=Enter Bookmark name:
Editor.ManageBookmarks.error.dialog.title=Managing Bookmarks
Editor.ManageBookmarks.error.dialog.message=Problems managing bookmarks

Editor.ManageTasks.tooltip=Adds and Removes Tasks
Editor.ManageTasks.image=
Editor.ManageTasks.description=Adds and removes Tasks
Editor.ManageTasks.add.label=Add &Task...
Editor.ManageTasks.remove.label=Remove &Task
Editor.ManageTasks.add.dialog.title=Add Task
Editor.ManageTasks.add.dialog.message=Enter Task description:
Editor.ManageTasks.error.dialog.title=Managing Tasks
Editor.ManageTasks.error.dialog.message=Problems managing tasks

Editor.SelectMarker.tooltip=Selects the marker's range
Editor.SelectMarker.image=
Editor.SelectMarker.description=Selects the Marker's Range
Editor.SelectMarker.label=Select &Marker Range
Editor.SelectMarker.error.dialog.title=Selecting Marker Range
Editor.SelectMarker.error.dialog.message=Problems selecting marker range

Editor.ConvertLineDelimiter.title=Converting line delimiters...
Editor.ConvertLineDelimiter.toWindows.label=CRLF (&Windows)
Editor.ConvertLineDelimiter.toWindows.default.label=CRLF (&Windows) [default]
Editor.ConvertLineDelimiter.toUNIX.label=LF (&UNIX, MacOS X)
Editor.ConvertLineDelimiter.toUNIX.default.label=LF (&UNIX, MacOS X) [default]
Editor.ConvertLineDelimiter.toMac.label=CR (Classic &MacOS)
Editor.ConvertLineDelimiter.toMac.default.label=CR (Classic &MacOS) [default]

## Status line ##

Editor.statusline.state.readonly.label=Read Only
Editor.statusline.state.writable.label=Writable
Editor.statusline.mode.insert.label=Insert
Editor.statusline.mode.overwrite.label=Overwrite
Editor.statusline.position.pattern={0} : {1}
Editor.statusline.error.label=?

## Others ##

AbstractMarkerAnnotationModel.connected=AbstractMarkerAnnotationModel.connected
AbstractMarkerAnnotationModel.createMarkerUpdater=AbstractMarkerAnnotationModel.createMarkerUpdater
AbstractMarkerAnnotationModel.removeAnnotations=AbstractMarkerAnnotationModel.removeAnnotations
ResourceMarkerAnnotationModel.resourceChanged=ResourceMarkerAnnotationModel.resourceChanged

WorkbenchChainedTextFontFieldEditor.defaultWorkbenchTextFont=<Using Workbench Text Font>

FindReplace.title= Find/Replace
FindReplace.Find.label=&Find:
FindReplace.Replace.label=R&eplace With:
FindReplace.Direction=Direction
FindReplace.ForwardRadioButton.label=F&orward
FindReplace.BackwardRadioButton.label=&Backward
FindReplace.Scope=Scope
FindReplace.GlobalRadioButton.label=A&ll
FindReplace.SelectedRangeRadioButton.label=Selec&ted Lines
FindReplace.Options=Options
FindReplace.CaseCheckBox.label=&Case Sensitive
FindReplace.WrapCheckBox.label=Wra&p Search
FindReplace.WholeWordCheckBox.label=&Whole Word
FindReplace.IncrementalCheckBox.label=&Incremental
FindReplace.FindNextButton.label=Fi&nd
FindReplace.ReplaceFindButton.label=Replace/Fin&d
FindReplace.ReplaceSelectionButton.label=&Replace
FindReplace.ReplaceAllButton.label=Replace &All
FindReplace.CloseButton.label=Close
FindReplace.Status.noMatch.label=String Not Found
FindReplace.Status.replacement.label=1 Match replaced
FindReplace.Status.replacements.label={0} matches replaced

FindNext.Status.noMatch.label=String Not Found

MarkerRulerAction.addMarker=MarkerRulerAction.addMarker
MarkerRulerAction.getMarker=MarkerRulerAction.getMarker
MarkerRulerAction.removeMarkers=MarkerRulerAction.removeMarkers

SelectMarkerRulerAction.getMarker=SelectMarkerRulerAction.getMarker
SelectMarkerRulerInfoAction.getMarker=SelectMarkerRulerInfoAction.getMarker
AbstractDocumentProvider.ok=OK
AbstractDocumentProvider.error=ERROR
FindReplaceDialog.read_only=Replace can not be performed because of read only state.
MarkRegionTarget.markNotSet=mark not set
MarkRegionTarget.markNotVisible=mark not in visible region
