###############################################################################
# Copyright (c) 2000, 2011 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     IBM Corporation - initial API and implementation
#     Alex Weirig <alex.weirig@telewalfer.lu> - Collapse All (https://bugs.eclipse.org/bugs/show_bug.cgi?id=65268)
###############################################################################
pluginName= Default Text Editor
providerName= Eclipse.org

ExtPoint.markerUpdaters= Marker Updater
ExtPoint.documentProviders= Document Provider
ExtPoint.markerAnnotationSpecification= Marker Annotation Specification
ExtPoint.annotationTypes= Annotation Types
ExtPoint.editorTemplate= Editor Template

convertDelimiters.Windows.name= Convert Line Delimiters to Windows (CRLF, \\r\\n, 0D0A, \u00A4\u00B6)
convertDelimiters.Windows.label= &Windows (CRLF, \\r\\n, 0D0A, \u00A4\u00B6)
convertDelimiters.Windows.description= Converts the line delimiters to Windows (CRLF, \\r\\n, 0D0A, \u00A4\u00B6)

convertDelimiters.Unix.name= Convert Line Delimiters to Unix (LF, \\n, 0A, \u00B6)
convertDelimiters.Unix.label= &Unix (LF, \\n, 0A, \u00B6)
convertDelimiters.Unix.description= Converts the line delimiters to Unix (LF, \\n, 0A, \u00B6)

convertDelimiters.MacOS9.name= Convert Line Delimiters to MacOS 9 (CR, \\r, 0D, \u00A4)
convertDelimiters.MacOS9.label= &MacOS 9 (CR, \\r, 0D, \u00A4)
convertDelimiters.MacOS9.description= Converts the line delimiters to MacOS 9 (CR, \\r, 0D, \u00A4)

removeTrailingWhitespace.name= Remove Trailing Whitespace
removeTrailingWhitespace.description= Removes the trailing whitespace of each line

NewUntitledTextFile.label= Untitled Text File
NewUntitledTextFile.description= Creates an empty untitled text file

ActionDefinition.quickDiff.name= Quick Diff Toggle
ActionDefinition.quickDiff.description= Toggles quick diff information display on the line number ruler

ActionDefinition.quickDiff.revert.name= Revert Lines
ActionDefinition.quickDiff.revert.description= Revert the current selection, block or deleted lines

ActionDefinition.quickDiff.revertLine.name= Revert Line
ActionDefinition.quickDiff.revertLine.description= Revert the current line

ActionDefinition.lineNumberToggle.name= Show Line Numbers
ActionDefinition.lineNumberToggle.description= Toggle display of line numbers

Editors.DefaultTextEditor= Text Editor
PreferencePages.GeneralTextEditors= Text Editors
PreferencePages.Annotations= Annotations
PreferencePages.QuickDiff= Quick Diff
PreferencePages.Accessibility= Accessibility
PreferencePages.Spelling= Spelling

lastSaveReferenceProvider.label= Version on &Disk

AddTask.label=Add &Task...
AddTask.tooltip=Add Task...
AddBookmark.label=Add Boo&kmark...
AddBookmark.tooltip=Add Bookmark...

BookmarkRulerAction.label= Text Editor Bookmark Ruler Action
SelectRulerAction.label= Text Editor Ruler Single-Click

textEditorAnnotationNavigationActionSet.label= Annotation Navigation

goToPreviousAnnotation.label= Previous Annotation
goToPreviousAnnotation.tooltip= Previous Annotation
goToNextAnnotation.label= Next Annotation
goToNextAnnotation.tooltip= Next Annotation

errors.label= Errors
warnings.label= Warnings
infos.label= Info
tasks.label= Tasks
bookmarks.label= Bookmarks
changes.label= Diff Changes
additions.label= Diff Additions
deletions.label= Diff Deletions
spelling.label= Spelling Errors
revisionInfo.label= Revision Information

goToLastEditPosition.label= Last Edit Lo&cation
goToLastEditPosition.tooltip= Last Edit Location

textEditorNavigationActionSet.label= Editor Navigation

command.folding.expandAll.name = Expand All
command.folding.expandAll.description = Expands all folded regions
command.folding.collapseAll.name = Collapse All
command.folding.collapseAll.description = Collapses all folded regions
command.folding.toggle.name = Toggle Folding
command.folding.toggle.description = Toggles folding in the current editor
command.folding.expand.name = Expand
command.folding.expand.description = Expands the folded region at the current selection
command.folding.collapse.name = Collapse
command.folding.collapse.description = Collapses the folded region at the current selection
command.folding.restore.name = Reset Structure
command.folding.restore.description = Resets the folding structure

command.revisions.renderingCycle.name = Cycle Revision Coloring Mode
command.revisions.renderingCycle.description = Cycles through the available coloring modes for revisions
command.revisions.authorToggle.name = Toggle Revision Author Display
command.revisions.authorToggle.description = Toggles the display of the revision author
command.revisions.idToggle.name = Toggle Revision Id Display
command.revisions.idToggle.description = Toggles the display of the revision id

command.showChangeRulerInformation.name = Show Quick Diff Ruler Tooltip
command.showChangeRulerInformation.description = Displays quick diff or revision information for the caret line in a focused hover

command.showRulerAnnotationInformation.name = Show Ruler Annotation Tooltip
command.showRulerAnnotationInformation.description = Displays annotation information for the caret line in a focused hover

conversionActionSet.label= Convert Line Delimiters
conversionSubMenu.label= Con&vert Line Delimiters To

preferenceKeywords.general= text editor tabs spaces width undo history ruler print margin overview hyperlink overwrite colors line numbers range indicator typing appearance derived navigation smart caret positioning invisible whitespace characters drag drop dnd hovers sticky enrich rich
preferenceKeywords.annotations= annotations vertical ruler overview colors text editor
preferenceKeywords.quickdiff= quick diff compare reference colors text editor changes
preferenceKeywords.accessibility= accessibility caret cursor quick diff text editor ruler
preferenceKeywords.spelling= spelling spell checking dictionary correction check text editor
preferenceKeywords.linkedmode= editor linked mode template
preferenceKeywords.hyperlinkDetectors= hyperlinking text editor on demand link navigation modifier key

#--- linked mode annotations
linked.focus.label= Current range
linked.slave.label= Range linked to current
linked.target.label= Editable range
linked.exit.label= Final caret location

editorLinkedMode=Linked Mode

#--- rulers
LineNumberRuler.name= Line Numbers
AnnotationRuler.name= Annotations

#--- Hyperlinking ---
TextEditorHyperlinkTarget= Textual Editors
URLHyperlinkDetector= URL
HyperlinkDetectorsPreferencePage= Hyperlinking

#--- Unused label ---
dummy=
