###############################################################################
# Copyright (c) 2000, 2004 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
###############################################################################
pluginName= Text Editor Framework
providerName= Eclipse.org

category.textEditor.name= Text Editing
category.textEditor.description= Text Editing Commands

ExtPoint.referenceProvider= Reference Provider

textEditorPresentationActionSet.label= Editor Presentation

onlyShowSelectedElement.label= Show Selected Element Only
onlyShowSelectedElement.tooltip= Show Selected Element Only
onlyShowSelectedElement.description= Show Selected Element Only

smartEnter.label= Insert Line Below Current Line
smartEnter.description= Adds a new line below the current line
smartEnterInverse.label= Insert Line Above Current Line
smartEnterInverse.description= Adds a new line above the current line
moveLineUp.label= Move Lines Up
moveLineUp.description= Moves the selected lines up
moveLineDown.label= Move Lines Down
moveLineDown.description= Moves the selected lines down
copyLineUp.label= Duplicate Lines
copyLineUp.description= Duplicates the selected lines and leaves the selection unchanged
copyLineDown.label= Copy Lines
copyLineDown.description= Duplicates the selected lines and moves the selection to the copy
upperCase.description= Changes the selection to upper case
upperCase.label= To Upper Case
lowerCase.description= Changes the selection to lower case
lowerCase.label= To Lower Case

goToLastEditPosition.label= Last Edit Location
goToLastEditPosition.description= Last edit location

command.clearMark.description = Clear the mark
command.clearMark.name = Clear Mark
command.contentAssistContextInformation.description= Show Context Information
command.contentAssistContextInformation.name= Context Information
command.contentAssistProposals.description= Content Assist
command.contentAssistProposals.name= Content Assist
command.deleteLine.description = Delete a line of text
command.deleteLine.name = Delete Line
command.cutLine.description = Cut a line of text
command.cutLine.name = Cut Line
command.deleteLineBeginning.description = Delete to the beginning of a line of text
command.deleteLineBeginning.name = Delete to Beginning of Line
command.cutLineBeginning.description = Cut to the beginning of a line of text
command.cutLineBeginning.name = Cut to Beginning of Line
command.deleteLineEnd.description = Delete to the end of a line of text
command.deleteLineEnd.name = Delete to End of Line
command.cutLineEnd.description = Cut to the end of a line of text
command.cutLineEnd.name = Cut to End of Line
command.deleteNext.description = Delete the next character
command.deleteNext.name = Delete Next
command.deletePreviousWord.description = Delete the previous word
command.deletePreviousWord.name = Delete Previous Word
command.deleteNextWord.description = Delete the next word
command.deleteNextWord.name = Delete Next Word
command.deletePrevious.description = Delete the previous character
command.deletePrevious.name = Delete Previous
command.findIncremental.description = Incremental find
command.findIncremental.name = Incremental Find
command.findIncrementalReverse.description = Incremental find reverse
command.findIncrementalReverse.name = Incremental Find Reverse
command.findNext.description = Find next item
command.findNext.name = Find Next
command.findPrevious.description = Find previous item
command.findPrevious.name = Find Previous
command.goToLine.description = Go to a specified line of text
command.goToLine.name = Go to Line
command.lineDown.description = Go down one line of text
command.lineDown.name = Line Down
command.lineEnd.description = Go to the end of the line of text
command.lineEnd.name = Line End
command.lineStart.description = Go to the start of the line of text
command.lineStart.name = Line Start
command.lineUp.description = Go up one line of text
command.lineUp.name = Line Up
command.nextColumn.description = Go to the next column
command.nextColumn.name = Next Column
command.nextWord.description = Go to the next word
command.nextWord.name = Next Word
command.pageDown.description = Go down one page
command.pageDown.name = Page Down
command.pageUp.description = Go up one page
command.pageUp.name = Page Up
command.previousColumn.description = Go to the previous column
command.previousColumn.name = Previous Column
command.previousWord.description = Go to the previous word
command.previousWord.name = Previous Word
command.revertToSaved.description = Revert to the last saved state
command.revertToSaved.name = Revert to Saved
command.scrollLineDown.description = Scroll down one line of text
command.scrollLineDown.name = Scroll Line Down
command.scrollLineUp.description = Scroll up one line of text
command.scrollLineUp.name = Scroll Line Up
command.selectAll.description = Select all
command.selectAll.name = Select All
command.selectLineDown.description = Extend the selection to the next line of text
command.selectLineDown.name = Select Line Down
command.selectLineEnd.description = Select to the end of the line of text
command.selectLineEnd.name = Select Line End
command.selectLineStart.description = Select to the beginning of the line of text
command.selectLineStart.name = Select Line Start
command.selectLineUp.description = Extend the selection to the previous line of text
command.selectLineUp.name = Select Line Up
command.selectNextColumn.description = Select the next column
command.selectNextColumn.name = Select Next Column
command.selectPageDown.description = Select to the bottom of the page
command.selectPageDown.name = Select Page Down
command.selectPageUp.description = Select to the top of the page
command.selectPageUp.name = Select Page Up
command.selectPreviousColumn.description = Select the previous column
command.selectPreviousColumn.name = Select Previous Column
command.selectTextEnd.description = Select to the end of the text
command.selectTextEnd.name = Select Text End
command.selectTextStart.description = Select to the beginning of the text
command.selectTextStart.name = Select Text Start
command.selectWindowEnd.description = Select to the end of the window
command.selectWindowEnd.name = Select Window End
command.selectWindowStart.description = Select to the start of the window
command.selectWindowStart.name = Select Window Start
command.selectWordNext.description = Select the next word
command.selectWordNext.name = Select Next Word
command.selectWordPrevious.description = Select the previous word
command.selectWordPrevious.name = Select Previous Word
command.setMark.description = Set the mark 
command.setMark.name = Set Mark
command.shiftLeft.description = Shift a block of text to the left
command.shiftLeft.name = Shift Left
command.shiftRight.description = Shift a block of text to the right
command.shiftRight.name = Shift Right
command.showRulerContextMenu.description = Show the context menu for the ruler
command.showRulerContextMenu.name = Show Ruler Context Menu
command.swapMark.description = Swap the mark with the cursor position
command.swapMark.name = Swap Mark
command.textEnd.description = Go to the end of the text
command.textEnd.name = Text End
command.textStart.description = Go to the beginning of the text
command.textStart.name = Text Start
command.toggleOverwrite.description = Toggle overwrite mode
command.toggleOverwrite.name = Toggle Overwrite
command.toggleInsertMode.description = Toggle insert mode
command.toggleInsertMode.name = Toggle Insert Mode
command.windowEnd.description = Go to the end of the window
command.windowEnd.name = Window End
command.windowStart.description = Go to the start of the window
command.windowStart.name = Window Start
