###############################################################################
# Copyright (c) 2000, 2016 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
#     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= Create 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= Previous Edit Lo&cation
goToLastEditPosition.tooltip= Previous Edit Location
goToNextEditPosition.label= Next Edit Lo&cation
goToNextEditPosition.tooltip= Next 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= pop-up 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 popup sticky enrich rich
preferenceKeywords.tabWidth= tab width
preferenceKeywords.lineNumber= line numbers
preferenceKeywords.printMargin= print margin
preferenceKeywords.annotationCodeMining= annotation code mining marker error warning info
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=
