###############################################################################
# Copyright (c) 2000, 2015 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     IBM Corporation - initial API and implementation
#     Tom Eicher (Avaloq Evolution AG) - block selection mode
###############################################################################

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=&Shift 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.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.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.ToggleInsertMode.label=Sma&rt Insert Mode
Editor.ToggleInsertMode.tooltip=Toggle Smart Insert Mode
Editor.ToggleInsertMode.image=
Editor.ToggleInsertMode.description= Toggles smart insert mode

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.FindIncrementalReverse.label=Incre&mental Find Previous
Editor.FindIncrementalReverse.tooltip=Incremental Find Previous
Editor.FindIncrementalReverse.image=
Editor.FindIncrementalReverse.description=Incremental Find Previous

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

Editor.Revert.label=Re&vert File
Editor.Revert.tooltip=Revert File to Saved Version
Editor.Revert.image=
Editor.Revert.description=Reverts file contents to version on disk

Editor.GotoLine.label=&Go to Line...
Editor.GotoLine.tooltip=Go to Line
Editor.GotoLine.image=
Editor.GotoLine.description=Go to Line
Editor.GotoLine.button=&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.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]

Editor.SmartEnter.label=Insert line below current line
Editor.SmartEnter.tooltip=Add a New Line Below the Current Line
Editor.SmartEnter.image=
Editor.SmartEnter.description=Adds a new line below the current line

Editor.SmartEnterInverse.label=Insert line above current line
Editor.SmartEnterInverse.tooltip=Add a New Line Above the Current Line
Editor.SmartEnterInverse.image=
Editor.SmartEnterInverse.description=Adds a new line above the current line

Editor.MoveLinesUp.label=Move Lines Up
Editor.MoveLinesUp.tooltip=Move the Selected Lines Up
Editor.MoveLinesUp.image=
Editor.MoveLinesUp.description=Moves the selected lines up

Editor.MoveLinesDown.label=Move Lines Down
Editor.MoveLinesDown.tooltip=Move the Selected Lines Down
Editor.MoveLinesDown.image=
Editor.MoveLinesDown.description=Moves the selected lines down

Editor.UpperCase.label=To Upper Case
Editor.UpperCase.tooltip=Change the Selection to Upper Case
Editor.UpperCase.image=
Editor.UpperCase.description=Changes the selection to upper case

Editor.LowerCase.label=To Lower Case
Editor.LowerCase.tooltip=Change the Selection to Lower Case
Editor.LowerCase.image=
Editor.LowerCase.description=Changes the selection to lower case

Editor.ToggleOverwriteMode.label= Toggle Overwrite Mode
Editor.ToggleOverwriteMode.tooltip= Toggle Overwrite Mode
Editor.ToggleOverwriteMode.image=
Editor.ToggleOverwriteMode.description= Toggles overwrite / insert behavior

Editor.HippieCompletion.label=&Word Completion
Editor.HippieCompletion.tooltip=Context insensitive completion
Editor.HippieCompletion.image=
Editor.HippieCompletion.description= Completes the word under the cursor

Editor.GotoNextAnnotation.label= Ne&xt Annotation
Editor.GotoNextAnnotation.tooltip= Next Annotation
Editor.GotoNextAnnotation.description= Next Annotation

Editor.GotoPreviousAnnotation.label= Pre&vious Annotation
Editor.GotoPreviousAnnotation.tooltip= Previous Annotation
Editor.GotoPreviousAnnotation.description= Previous Annotation

Editor.ContentAssistProposal.label=&Content Assist
Editor.ContentAssistProposal.tooltip=Content Assist
Editor.ContentAssistProposal.image=
Editor.ContentAssistProposal.description=Content Assist

Editor.ContentAssistContextInformation.label=S&how Context Information
Editor.ContentAssistContextInformation.tooltip=Show Context Information
Editor.ContentAssistContextInformation.QuickAssist.image=
Editor.ContentAssistContextInformation.description=Show Context Information

Editor.QuickAssist.label=&Quick Fix
Editor.QuickAssist.tooltip=Quick Fix
Editor.QuickAssist.image=
Editor.QuickAssist.description=Quick Fix

Editor.Recenter.label= &Recenter
Editor.Recenter.tooltip= Recenter
Editor.Recenter.image=
Editor.Recenter.description= Put the line containing the cursor at the middle of the screen 

Editor.ShowWhitespaceCharacters.label= Show Whitespace Characters
Editor.ShowWhitespaceCharacters.description= Shows whitespace characters in current text editor
Editor.ShowWhitespaceCharacters.image=
Editor.ShowWhitespaceCharacters.tooltip= Show Whitespace Characters

Editor.ShowInformation.label= Show T&ooltip Description
Editor.ShowInformation.tooltip= Shows the Tooltip Description
Editor.ShowInformation.image=
Editor.ShowInformation.description= Displays information for the current caret location in a sticky hover

Editor.ToggleBlockSelectionMode.label= Toggle Block Selection Mode
Editor.ToggleBlockSelectionMode.description= Enable block / column selection in the current text editor
Editor.ToggleBlockSelectionMode.image=
Editor.ToggleBlockSelectionMode.tooltip= Toggle Block Selection Mode

Editor.ToggleWordWrap.label= Toggle Word Wrap
Editor.ToggleWordWrap.description= Toggle word wrap in the current text editor
Editor.ToggleWordWrap.image=
Editor.ToggleWordWrap.tooltip= Toggle Word Wrap

Editor.OpenHyperlink.label= Open Hyperlin&k
Editor.OpenHyperlink.tooltip= Open Hyperlink
Editor.OpenHyperlink.image=
Editor.OpenHyperlink.description= Opens the hyperlink at the caret location or opens a chooser if more than one hyperlink is available
