###############################################################################
# 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
###############################################################################
pluginName= Text Editor Framework
providerName= Eclipse.org

category.textEditor.name= Text Editing

ExtPoint.referenceProvider= Reference Provider

textEditorNavigationActionSet.label= Editor Navigation
textEditorPresentationActionSet.label= Editor Presentation

goToLastEditPosition.label= Go to Last Edit Location
goToLastEditPosition.description= Go to last edit location
goToLastEditPosition.tooltip= Go to Last Edit Location

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 one
smartEnterInverse.label= Insert Line Above Current Line
smartEnterInverse.description= Adds a new line above the current one
moveLineUp.label= Move Lines Up
moveLineUp.description= Moves the selected lines upwards
moveLineDown.label= Move Lines Down
moveLineDown.description= Moves the selected lines downwards
copyLineUp.label= Duplicate Lines
copyLineUp.description= Duplicates the selected lines but leaves the selection
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

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 certain line of text
command.goToLine.name = Go to Line
command.lineDown.description = Go down a 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 a 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 a page
command.pageDown.name = Page Down
command.pageUp.description = Go up a 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 state after the most recent save operation
command.revertToSaved.name = Revert to Saved
command.scrollLineDown.description = Scroll down a line of text
command.scrollLineDown.name = Scroll Line Down
command.scrollLineUp.description = Scroll up a 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 start 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 start 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 start of the text
command.textStart.name = Text Start
command.toggleOverwrite.description = Toggle input mode
command.toggleOverwrite.name = Toggle Overwrite
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
