###############################################################################
# Copyright (c) 2001, 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
#     Jens Lukowski/Innoopract - initial renaming/restructuring
#
###############################################################################
Error_opening_file_UI_=Error opening file
_UI_File_is_read_only=File {0} is read-only.
_32concat_EXC_=Editor could not be open on {0}
Multiple_errors=Multiple annotations found at this line:
_Undo_Text_Change__Ctrl_Z_UI_=&Undo Text Change
Undo_Text_Change__UI_=Undo Text Change.
_Undo__0___Ctrl_Z_UI_=&Undo {0}
Undo___0___UI_=Undo: {0}.
_Redo_Text_Change__Ctrl_Y_UI_=&Redo Text Change
Redo_Text_Change__UI_=Redo Text Change.
_Redo__0___Ctrl_Y_UI_=&Redo {0}
Redo___0___UI_=Redo: {0}.
Format_Document_UI_=Format
Format_Active_Elements_UI_=Format Active Elements
Text_Cut_UI_=Text Cut
Text_Paste_UI_=Text Paste
###############################################################################
Cleanup_Document_UI_=Cleanup Document

Editor_Cut_label=Cu&t
Editor_Cut_tooltip=Cut
Editor_Cut_image=
Editor_Cut_description=Cut

Editor_Copy_label=&Copy
Editor_Copy_tooltip=Copy
Editor_Copy_image=
Editor_Copy_description=Copy

Editor_Paste_label=&Paste
Editor_Paste_tooltip=Paste
Editor_Paste_image=
Editor_Paste_description=Paste

Editor_Delete_label=&Delete@Delete
Editor_Delete_tooltip=Delete
Editor_Delete_image=
Editor_Delete_description=Delete

ContentAssistProposals_label=Con&tent Assist
ContentAssistProposals_tooltip=Content Assist
ContentAssistProposals_description=Content Assist

QuickFix_label=&Quick Fix
QuickFix_tooltip=Quick Fix
QuickFix_image=
QuickFix_description=Quick Fix

ToggleComment_label=Togg&le Comment
ToggleComment_tooltip=Toggle Comment
ToggleComment_image=
ToggleComment_description=Toggle Comment
ToggleComment_progress=Toggling line comments...
AddBlockComment_label=Add &Block Comment
AddBlockComment_tooltip=Add Block Comment
AddBlockComment_image=
AddBlockComment_description=Add Block Comment
RemoveBlockComment_label=Remove Bloc&k Comment
RemoveBlockComment_tooltip=Remove Block Comment
RemoveBlockComment_image=
RemoveBlockComment_description=Remove Block Comment
CleanupDocument_label=C&leanup Document...
CleanupDocument_tooltip=Cleanup Document
CleanupDocument_image=
CleanupDocument_description=Cleanup Document
FormatDocument_label=&Format
FormatDocument_tooltip=Format
FormatDocument_image=
FormatDocument_description=Format
FormatActiveElements_label=Format Act&ive Elements
FormatActiveElements_tooltip=Format Active Elements
FormatActiveElements_image=
FormatActiveElements_description=Format Active Elements
OpenFileFromSource_label=Op&en Selection
OpenFileFromSource_tooltip=Open an editor on the selected link
OpenFileFromSource_image=
OpenFileFromSource_description=Open an editor on the selected link
StructureSelectEnclosing_label=&Enclosing Element
StructureSelectEnclosing_tooltip=Expand selection to include enclosing element
StructureSelectEnclosing_description=Expand selection to include enclosing element
StructureSelectNext_label=&Next Element
StructureSelectNext_tooltip=Expand selection to include next sibling
StructureSelectNext_description=Expand selection to include next sibling
StructureSelectPrevious_label=&Previous Element
StructureSelectPrevious_tooltip=Expand selection to include previous sibling
StructureSelectPrevious_description=Expand selection to include previous sibling
StructureSelectHistory_label=&Restore Last Selection
StructureSelectHistory_tooltip=Restore last selection
StructureSelectHistory_description=Restore last selection
Text_Shift_Right_UI_=Text Shift Right
Text_Shift_Left_UI_=Text Shift Left

_4concat=''{0}'' is not a valid input
## The following strings are for "XML->XML Source->XML Style" Preferences, "Web Tools->Source->HTML Style" Preferences, and "Web Tools->Source->JavaScript Style" Preferences
Content_type__UI_=Co&ntent type:
Foreground_UI_=&Foreground:
Foreground_Color_Selector_Button=Foreground Color Selector
Background_UI_=Backgr&ound:
Background_Color_Selector_Button=Background Color Selector
Bold_UI_=B&old
Italics_UI=Italics
Restore_Default_UI_=&Restore Default
Sample_text__UI_=&Sample text:
##
AddBreakpoint_label=Add &Breakpoint
AddBreakpoint_tooltip=Add Breakpoint
AddBreakpoint_description=Add Breakpoint
AddBreakpoint_error_dialog_title=Add Breakpoint
AddBreakpoint_error_dialog_message=Cannot add breakpoint
##
ToggleBreakpoint_label=Toggle Breakpoint
ToggleBreakpoint_tooltip=Toggle Breakpoint
ToggleBreakpoint_description=Toggle Breakpoint
##
EnableBreakpoint_label=Enable Breakpoint
EnableBreakpoint_tooltip=Enable Breakpoint
EnableBreakpoint_description=Enable Breakpoint
##
DisableBreakpoint_label=Disable Breakpoint
DisableBreakpoint_tooltip=Disable Breakpoint
DisableBreakpoint_description=Disable Breakpoint
##
ManageBreakpoints_add_label=Add &Breakpoint
ManageBreakpoints_remove_label=Remove Breakpoint
ManageBreakpoints_tooltip=Add/Remove Breakpoint
ManageBreakpoints_error_adding_title1=Add Breakpoint
ManageBreakpoints_error_adding_message1=Cannot add breakpoint

AbstractColorPageDescription=Customize the syntax highlighting by selecting the type of text whose style you want to customize from either the combo box or the sample text area
##
EditorModelUtil_0=model in invalid state
EditorModelUtil_1=There was a problem adding adapter factories

# web content settings
UI_Default_HTML_DOCTYPE_ID___1=&Document type:
UI_CSS_profile___2=&CSS profile:
UI_Target_Device___3=&Target device:

Editor_ToggleInsertMode_label=Sma&rt Insert Mode

##########################################################################
# These strings are used in Workbench menu bar
##########################################################################
ExpandSelectionToMenu_label=E&xpand Selection To
SourceMenu_label=&Source
RefactorMenu_label=Refac&tor
#
FindOccurrencesActionProvider_0=Current selection does not resolve to a searchable element
RemoveAction_0=Remove Property
ShowPropertiesAction_0=P&roperties
ContentOutlineConfiguration_0=Collapse All
ContentOutlineConfiguration_1=&Link with Editor
AbstractOpenOn_0=Current text selection does not resolve to a file
FormatActionDelegate_jobName=Formatting...
FormatActionDelegate_errorStatusMessage=Exceptions occurred while formatting documents
FormatActionDelegate_3=Formatting {0}
FormatActionDelegate_4=Exception occurred while formatting document {0}
FormatActionDelegate_5=MalformedInputException occurred while formatting document {0}
TranslucencyPreferenceTab_0=Read-Only text style
TranslucencyPreferenceTab_1=Read-Only contrast percentage:
StructuredTextEditorPreferencePage_2=Matching brackets highlight
StructuredTextEditorPreferencePage_6=The following preferences apply to the HTML, JSP, XML, and other source editors.
StructuredTextEditorPreferencePage_20=Highlight &matching brackets
StructuredTextEditorPreferencePage_23=Appearance co&lor options:
StructuredTextEditorPreferencePage_24=C&olor:
StructuredTextEditorPreferencePage_30=&Report problems as you type
StructuredTextEditorPreferencePage_37=Empty input
StructuredTextEditorPreferencePage_38=is not a valid input.
StructuredTextEditorPreferencePage_39=Inform when &unsupported content type is in editor
StructuredTextEditorPreferencePage_40=Also see the <a>''{0}''</a> preferences.
StructuredTextEditorPreferencePage_41=Completion proposal background
StructuredTextEditorPreferencePage_42=Completion proposal foreground
StructuredTextEditorPreferencePage_43=Parameter hints background
StructuredTextEditorPreferencePage_44=Parameter hints foreground
TaskTagPreferenceTab_0=Low
TaskTagPreferenceTab_1=Normal
TaskTagPreferenceTab_2=High
TaskTagPreferenceTab_3=N/A
TaskTagPreferenceTab_5=Task Tag
TaskTagPreferenceTab_6=Tag:
TaskTagPreferenceTab_7=Priority:
TaskTagPreferenceTab_12=Tag
TaskTagPreferenceTab_13=Priority
TaskTagPreferenceTab_14=&New...
TaskTagPreferenceTab_15=Ed&it...
TaskTagPreferenceTab_16=&Remove
TaskTagPreferenceTab_17=&Select All
TaskTagPreferenceTab_18=Deselect A&ll
TaskTagPreferenceTab_19=Note: tags are case insensitive
TaskTagPreferenceTab_20=&Task Tags
TaskTagPreferenceTab_22=Task Tags Settings Changed
TaskTagPreferenceTab_23=The task tags settings have changed.  Make these changes effective now?
TaskTagPreferenceTab_24=Yes
TaskTagPreferenceTab_25=No
TaskTagPreferenceTab_26=Cancel
TaskTagPreferenceTab_27=Scanning files for tasks
TaskTagPreferenceTab_28=detection aborted
TaskTagPreferenceTab_29=detection completed
TaskTagPreferenceTab_30=detection encountered errors
TaskTagPreferenceTab_31=&Enable searching for Task Tags
TaskTagPreferencePage_32=&Clean and redetect Tasks
TaskTagPreferenceTab_33=Ta&gs in comments indicating Tasks:
TaskTagExclusionTab_01=&Filters
TaskTagExclusionTab_02=Sca&n the selected Content Types:
TaskTagExclusionTab_03=Affected Content T&ypes:

PropertyPreferencePage_01=Project Specific Configuration
PropertyPreferencePage_02=Select the project to configure:

FilePreferencePage_0=Expand the tree to edit preferences for a specific content type.
NoModificationCompletionProposal_0=No corrections available
ToggleBreakpointAction_0=Toggle &Breakpoints
ManageBreakpointAction_0=&Enable Breakpoints
ManageBreakpointAction_1=&Disable Breakpoints
EditBreakpointAction_0=Breakpoint &Properties...
## Used in Structured Text Editor Preference Page / Hovers Tab
TextHoverPreferenceTab_title=Hovers
TextHoverPreferenceTab_hoverPreferences=Text &Hover key modifier preferences:
TextHoverPreferenceTab_keyModifier=Pressed key &modifier while hovering:
TextHoverPreferenceTab_description=Description:
TextHoverPreferenceTab_modifierIsNotValid=Modifier ''{0}'' is not valid.
TextHoverPreferenceTab_modifierIsNotValidForHover=Modifier ''{0}'' for ''{1}'' hover is not valid.
TextHoverPreferenceTab_duplicateModifier=''{0}'' hover uses the same modifier as ''{1}'' hover.
TextHoverPreferenceTab_nameColumnTitle=Text Hover Name
TextHoverPreferenceTab_modifierColumnTitle=Pressed Key Modifier While Hovering
TextHoverPreferenceTab_delimiter=+
TextHoverPreferenceTab_insertDelimiterAndModifierAndDelimiter=\ + {0} +
TextHoverPreferenceTab_insertModifierAndDelimiter=\ {0} +
TextHoverPreferenceTab_insertDelimiterAndModifier=\ + {0}
combinationHover_label=Combined Hover
combinationHover_desc=Tries the hovers in the sequence listed in the table below this one and uses the one which fits best for the selected element and the current context.
problemHover_label=Problem Description
problemHover_desc=Shows the description of the selected problem.
documentationHover_label=Documentation Description
documentationHover_desc=Shows the documentation of the selected element.
annotationHover_label=Annotation Description
annotationHover_desc=Shows the description of the selected annotation.
EditStructuredTextEditorPreferencesAction_0=Editor Preferences
StructuredTextEditorPreferencePage_0=Appearance
StructuredTextEditorPreferencePage_1=Enable &semantic highlighting
PreferenceManager_0=Original Error:

OccurrencesSearchQuery_0={0} - {1} occurrences in {2}
OccurrencesSearchQuery_2=file
ShowView_errorTitle=Problems Showing View
proc_dirty_regions_0 = Processing Dirty Regions

textHoverMakeStickyHint=Press ''{0}'' for focus.

## Encoding
EncodingPreferencePage_0=Encoding settings for Web and XML files:
EncodingPreferencePage_1=Use 3 byte BOM (Byte Order Mark) when saving UTF-8 encoded files
caret_update=caret update
EmptyFilePreferencePage_0=This category ID has been replaced by 'org.eclipse.wst.xml.ui.preferences.xml' and 'org.eclipse.wst.html.ui.preferences.web'
OffsetStatusLineContributionItem_0=Selection Information:
OffsetStatusLineContributionItem_2=Partitions
OffsetStatusLineContributionItem_3=ITextRegions
OffsetStatusLineContributionItem_4=Structured Model Content-Type: 
OffsetStatusLineContributionItem_5=Model Handler: 
OffsetStatusLineContributionItem_6=Document Class: 
OffsetStatusLineContributionItem_7=Document Provider Class: 
OffsetStatusLineContributionItem_8=Partitionings:
OffsetStatusLineContributionItem_9=Start
OffsetStatusLineContributionItem_10=Length
OffsetStatusLineContributionItem_11=Type
OffsetStatusLineContributionItem_12=Input Type: 
OffsetStatusLineContributionItem_13=Partitioner: 
OffsetStatusLineContributionItem_14=Structured Selection
OffsetStatusLineContributionItem_15=Start
OffsetStatusLineContributionItem_16=Length
OffsetStatusLineContributionItem_17=Text Length
OffsetStatusLineContributionItem_18=Context
OffsetStatusLineContributionItem_19=Workbench Selection
OffsetStatusLineContributionItem_20=Indexed Regions

StructuredTextEditor_0=Unsupported content type warning
UnknownContentTypeDialog_0=Unsupported Content Type
UnknownContentTypeDialog_1=Do not show this message again
UnknownContentTypeDialog_2=Unsupported content type in editor.\nTo associate file extension with a supported content type,\nplease see <a>Content Types Preference Page</a>

################################################################################
## Below are possibly unused strings that may be removed
################################################################################
Save_label=&Save
An_error_has_occurred_when_ERROR_=An error has occurred when retrieving resources for the source editor. The Eclipse Workbench installation may have been corrupted.
## save as problems (next two) should match what is in workbench
Problems_During_Save_As_UI_=Problems During Save As...
Save_could_not_be_complete_UI_=Save could not be completed.
SemanticHighlightingReconciler_0=Semantic Highlighting Job
ManageBreakpoints_error_removing_title1=Remove Breakpoint
ManageBreakpoints_error_removing_message1=Cannot remove breakpoint
ManageBreakpoints_error_retrieving_message=Retrieving markers failed:
JSPSourcePreferencePageDescription=Embedded content type\'s source preferences will be used. Select the file type for customization
# The following lines copied from org\eclipse\ui\editors\text\TextEditorMessages.properties in org.eclipse.ui plugin
Editor_error_save_message=Save could not be completed. {0}
Editor_error_save_title=Problems During Save As...
Editor_warning_save_delete=The original file ''{0}'' has been deleted.

# actions
Previous_annotation=Previous Annotation
Next_annotation=Next Annotation
# Annotation Types
AnnotationTypes_Errors=Errors
AnnotationTypes_Warnings=Warnings
AnnotationTypes_Tasks=Tasks
AnnotationTypes_SearchResults=Search Results
AnnotationTypes_Bookmarks=Bookmarks
AnnotationTypes_Others=Others

Editor_ConvertToWindows_label=&Windows
Editor_ConvertToWindows_tooltip=Converts line delimiters to Windows
Editor_ConvertToWindows_image=
Editor_ConvertToWindows_description=Converts line delimiters to Windows

Editor_ConvertToUNIX_label=&UNIX
Editor_ConvertToUNIX_tooltip=Converts line delimiters to UNIX
Editor_ConvertToUNIX_image=
Editor_ConvertToUNIX_description=Converts line delimiters to UNIX

Editor_ConvertToMac_label=&Mac
Editor_ConvertToMac_tooltip=Converts line delimiters to Mac
Editor_ConvertToMac_image=
Editor_ConvertToMac_description=Converts line delimiters to Mac
ConvertLineDelimitersMenu_label=Co&nvert Line Delimiters to
FindOccurrences_label=O&ccurrences in File

ConvertLineDelimitersToCRLFActionDelegate_jobName=Converting line delimiters
ConvertLineDelimitersToCRLFActionDelegate_errorStatusMessage=Exceptions occurred while converting line delimiters
ConvertLineDelimitersToCRLFActionDelegate_3=Converting line delimiters for {0}
ConvertLineDelimitersToCRLFActionDelegate_4=Exception occurred while converting line delimiters for document {0}
TextHoverPreferenceTab_annotationRollover=&Enable annotation roll-over (on new editors)
TextHoverPreferenceTab_showAffordance=&Show affordance in hover on how to make it sticky
TextHoverPreferenceTab_enabled=&Enabled

BasicFindOccurrencesAction_0=region match:
BasicSearchLabelProvider_0=line
NavigationPreferenceTab_0=Modifier ''{0}'' is not valid.
OccurrencesSearchQuery_1={0} - 1 Occurrence in {1}
FileModelProvider_0=Error reloading {0}
JFaceNodeAdapter_0=Update Outline

ConfigureProjectSettings=Configure Project Specific Settings...
ConfigureWorkspaceSettings=Configure Workspace Settings...
EnableProjectSettings=Enable &project specific settings

LoadingReferencedGrammars=Loading referenced grammars

## Folding
Folding=Folding
StructuredTextEditorPreferencePage_3=Enable &folding
Projection_Toggle_label= &Enable Folding
Projection_Toggle_tooltip= Toggles Folding
Projection_Toggle_description= Toggles folding for the current editor
Projection_Toggle_image=
Projection_ExpandAll_label= Expand &All
Projection_ExpandAll_tooltip= Expands All Collapsed Regions
Projection_ExpandAll_description= Expands any collapsed regions in the current editor
Projection_ExpandAll_image=
Projection_CollapseAll_label= Collapse A&ll
Projection_CollapseAll_tooltip= Collapses All Expanded Regions
Projection_CollapseAll_description= Collapse any expanded regions in the current editor
Projection_CollapseAll_image=

## These are copied from org.eclipse.ui.texteditor.EditorMessages.properties
## They are needed temporarily until CMVC defect 203158 / Bugzilla defect 20054 is fixed
Editor_ManageBookmarks_tooltip=Adds and Removes Bookmarks
Editor_ManageBookmarks_image=
Editor_ManageBookmarks_description=Adds and removes Bookmarks
Editor_ManageBookmarks_add_label=Add Boo&kmark...
Editor_ManageBookmarks_remove_label=Remove Boo&kmark
Editor_ManageBookmarks_add_dialog_title=Add Bookmark
Editor_ManageBookmarks_add_dialog_message=Enter Bookmark name
Editor_ManageBookmarks_error_dialog_title=Managing Bookmarks
Editor_ManageBookmarks_error_dialog_message=Problems managing bookmarks

Editor_ManageTasks_tooltip=Adds and Removes Tasks
Editor_ManageTasks_image=
Editor_ManageTasks_description=Adds and removes Tasks
Editor_ManageTasks_add_label=Add &Task...
Editor_ManageTasks_remove_label=Remove &Task
Editor_ManageTasks_add_dialog_title=Add Task
Editor_ManageTasks_add_dialog_message=Enter Task description
Editor_ManageTasks_error_dialog_title=Managing Tasks
Editor_ManageTasks_error_dialog_message=Problems managing tasks
################################################################################
## Above are possibly unused strings that may be removed
###############################################################################
StyledTextColorPicker_0=Pick a color
SyntaxColoring_Link=Default colors and font can be configured on the <a href=\"org.eclipse.ui.preferencePages.GeneralTextEditor\">Text Editors</a> and on the <a href=\"org.eclipse.ui.preferencePages.ColorsAndFonts\">Colors and Fonts</a> preference pages.  Decorations for annotations can be configured on the <a href=\"org.eclipse.ui.editors.preferencePages.Annotations\">Annotations</a> preference page.
SyntaxColoring_Description=Customize the syntax highlighting by selecting the type of text whose style you want to customize from either the list or the example text area.

GotoMatchingBracket_label= Matching &Character
GotoMatchingBracket_tooltip=Go to Matching Character
GotoMatchingBracket_description=Go to Matching Character
GotoMatchingBracket_error_invalidSelection=No character selected
GotoMatchingBracket_error_noMatchingBracket=No matching character found
GotoMatchingBracket_error_bracketOutsideSelectedElement=Matching character is outside the selected element

TextSearchLabelProvider_matchCountFormat=({0} matches)


##################################################
## Content Assist Strings
##################################################
ContentAssist_computing_proposals=Computing completion proposals
ContentAssist_collecting_proposals=Collecting completion proposals
ContentAssist_sorting_proposals=Sorting completion proposals
ContentAssist_collecting_contexts=Collecting context information
ContentAssist_computing_contexts=Computing context information
ContentAssist_sorting_contexts=Sorting context information
ContentAssist_no_completions=No completions available.
ContentAssist_all_disabled_title=Content Assist Problem
ContentAssist_all_disabled_message=Some content proposal kinds have been uninstalled. It is recommended to review the content assist settings.
ContentAssist_all_disabled_preference_link=Change the settings on the <a>Content Assist preference page</a> or click ''{0}'' to restore the default behavior.
ContentAssist_no_message= No {0}
ContentAssist_toggle_affordance_update_message={1} to show {2}
ContentAssist_defaultProposalCategory_title=Default Proposals
ContentAssist_press=Press ''{0}''
ContentAssist_click=Click
OptionalMessageDialog_dontShowAgain= Do not show this &message again

##################################################
## Content Assist Properties page Strings
##################################################
CodeAssistAdvancedConfigurationBlock_page_description=Configure the behavior of the content assist ({0}) command.
CodeAssistAdvancedConfigurationBlock_no_shortcut=no shortcut
CodeAssistAdvancedConfigurationBlock_Up=&Up
CodeAssistAdvancedConfigurationBlock_Down=D&own
CodeAssistAdvancedConfigurationBlock_default_table_description=Select the proposal &categories contained in the 'default' content assist list:
CodeAssistAdvancedConfigurationBlock_default_table_category_column_title=Default Proposal Categories
CodeAssistAdvancedConfigurationBlock_PagesDown=Do&wn
CodeAssistAdvancedConfigurationBlock_PagesUp=U&p
CodeAssistAdvancedConfigurationBlock_separate_table_description=Select the &enablement and order of proposal categories that are cycled through when repeatedly invoking content assist:
CodeAssistAdvancedConfigurationBlock_separate_table_category_column_title=Content Assist Pages
Validation_Title=Validation Settings Changed
Validation_Workspace=The validation settings have changed. A full validation is required for changes to take effect. Validate now?
Validation_Project=The validation settings have changed. A validation of the project is required for changes to take effect. Validate the project now?
Validation_jobName=Validating...