###############################################################################
# Copyright (c) 2000, 2016 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)

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= Infos
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 undo history ruler overview hyperlink overwrite colors range indicator typing appearance derived navigation smart caret positioning invisible whitespace characters drag drop dnd hovers sticky enrich rich
preferenceKeywords.tabWidth= tab width
preferenceKeywords.lineNumber= line numbers
preferenceKeywords.printMargin= print margin
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=
