###############################################################################
# Copyright (c) 2004, 2009 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
#     Benjamin Muskalla, b.muskalla@gmx.net - [158660] character entities should have their own syntax highlighting preference      
###############################################################################
## The following line is a sample HTML document.  Please translate only the following parts:
## HTML Highlighting Preferences
## we need a flaming logo
Sample_HTML_doc=<!DOCTYPE html\n\tPUBLIC \"-//W3C/DTD/ HTML 4.01 Transitional//EN\"\n\t\"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n\t<head>\n\t\t<meta content=\"text/html\">\n\t\t<title>HTML Highlighting Preferences</title>\n\t</head>\n<body>\n\t<!--\n\t\twe need a flaming logo!\n\t-->\n\t<p>three&nbsp;&nbsp;&nbsp;spaces</p>\n</body>\n</html>

HTMLFilesPreferencePage_0=Loading files
#
_UI_WIZARD_NEW_TITLE = New HTML File
_UI_WIZARD_NEW_HEADING = HTML
_UI_WIZARD_NEW_DESCRIPTION = Create a new HTML file.
_ERROR_FILENAME_MUST_END_HTML = The file name must end in one of the following extensions {0}.
_WARNING_FOLDER_MUST_BE_INSIDE_WEB_CONTENT = Files created outside of the Web Content folder will not be included in your deployed Web application. 
ResourceGroup_nameExists = The same name already exists.
NewHTMLTemplatesWizardPage_0=Select HTML Template
NewHTMLTemplatesWizardPage_1=Select a template as initial content in the HTML page.
NewHTMLTemplatesWizardPage_2=Name
NewHTMLTemplatesWizardPage_3=Description
NewHTMLTemplatesWizardPage_4=&Use HTML Template
NewHTMLTemplatesWizardPage_5=&Preview:
NewHTMLTemplatesWizardPage_6=Templates are 'New HTML' templates found in the <a>HTML Templates</a> preference page.
NewHTMLTemplatesWizardPage_7=&Templates:
#
Creating_files_encoding=Creating files encoding preference
# Copied from sse.ui
CleanupDocument_label=Cleanup Document...
CleanupDocument_tooltip=Cleanup Document
CleanupDocument_description=Cleanup Document
ToggleComment_label=Toggle Comment
ToggleComment_tooltip=Toggle Comment
ToggleComment_description=Toggle Comment
AddBlockComment_label=Add Block Comment
AddBlockComment_tooltip=Add Block Comment
AddBlockComment_description=Add Block Comment
RemoveBlockComment_label=Remove Block Comment
RemoveBlockComment_tooltip=Remove Block Comment
RemoveBlockComment_description=Remove Block Comment
FindOccurrences_label=Occurrences in File
Creating_files=Creating files
Encoding_desc=The following encoding will apply:
## HTML Source preference page
Auto_Activation_UI_=Auto Activation
Automatically_make_suggest_UI_=Automatically ma&ke suggestions
Prompt_when_these_characte_UI_=P&rompt when these characters are inserted:
Cycling_UI_=Cycling
Formatting_UI_=Formatting
Line_width__UI_=Line &width:
Split_multiple_attributes=Split &multiple attributes each on a new line
Align_final_bracket=&Align final bracket in multi-line element tags
Indent_using_tabs=&Indent using tabs
Indent_using_spaces=I&ndent using spaces
Indentation_size=In&dentation size:
Indentation_size_tip=Indentation size
Clear_all_blank_lines_UI_=Clear all &blank lines
Preferred_markup_case_UI_=Preferred markup case for content assist, and code generation
Tag_names__UI_=Tag names:
Tag_names_Upper_case_UI_=&Uppercase
Tag_names_Lower_case_UI_=&Lowercase
Attribute_names__UI_=Attribute names:
Attribute_names_Upper_case_UI_=U&ppercase
Attribute_names_Lower_case_UI_=L&owercase
Cleanup_UI_=Cleanup
Tag_name_case_for_HTML_UI_=Tag name case for HTML:
Tag_name_case_As_is_UI_=&As-is
Tag_name_case_Lower_UI_=&Lower
Tag_name_case_Upper_UI_=&Upper
Attribute_name_case_for_HTML_UI_=Attribute name case for HTML:
Attribute_name_case_As_is_UI_=A&s-is
Attribute_name_case_Lower_UI_=L&ower
Attribute_name_case_Upper_UI_=U&pper
Insert_required_attributes_UI_=Insert &required attributes
Insert_missing_tags_UI_=&Insert missing tags
Quote_attribute_values_UI_=&Quote attribute values
Format_source_UI_=&Format source
Convert_EOL_codes_UI_=Convert line &delimiters to
EOL_Windows_UI=&Windows
EOL_Unix_UI=U&NIX
EOL_Mac_UI=&Mac

# web content settings
UI_Description_of_role_of_following_DOCTYPE=Use the following default document type when no DOCTYPE is declared in a file:
UI_Default_HTML_DOCTYPE_ID___1=Document type:
UI_Public_ID=Public ID:
UI_System_ID=System ID:
UI_none=none
UI_CSS_profile___2=CSS profile:
WebContentSettingsPropertyPage_0=The properties used that cannot or are not specified in web files.  The project setting is used if you specify "none."
ProjectWebContentSettingsPropertyPage_0=These values are used when the corresponding properties are not specified within a web page.
SyntaxColoringPage_0=Syntax Element:
SyntaxColoringPage_2=Enable
SyntaxColoringPage_3=&Bold
SyntaxColoringPage_4=&Italic
SyntaxColoringPage_5=&Strikethrough
SyntaxColoringPage_6=&Underline
# below are possibly unused strings that may be deleted
HTMLFilesPreferencePage_1=Add this suffix (if not specified):
HTMLFilesPreferencePage_2=Insert DOCTYPE declaration
HTMLFilesPreferencePage_3=Insert GENERATOR with META tag
EmptyFilePreferencePage_0=Expand the tree to edit preferences for a specific feature.
_UI_STRUCTURED_TEXT_EDITOR_PREFS_LINK=HTML editing preferences.  Note that some preferences may be set on the <a>{0}</a> preference page.
# above are possibly unused strings that may be deleted

# HTML Typing Preference Page
HTMLTyping_Auto_Complete=Automatically close
HTMLTyping_Auto_Remove=Automatically remove
HTMLTyping_Complete_Comments=&Comments
HTMLTyping_Close_Strings=A&ttribute values
HTMLTyping_Close_Brackets=(Parentheses) and [square] brac&kets
HTMLTyping_Complete_End_Tags=&End tags
HTMLTyping_Remove_End_Tags=E&nd tags when creating empty self-closing tags


# Validation strings
Validation_description=Select the severity level for the following validation problems:
Validation_Warning=Warning
Validation_Error=Error
Validation_Ignore=Ignore
Expandable_label_attributes=Attributes
Expandable_label_elements=Elements
Expandable_label_document_type=Document Type
Expandable_label_text=Text Regions
Expandable_label_comment=Comments
Expandable_label_cdata=CDATA Sections
Expandable_label_pi=Processing Instructions
Expandable_label_entity_ref=Entity References

HTMLValidationPreferencePage_0=Undefined attribute name:
HTMLValidationPreferencePage_1=Undefined attribute value:
HTMLValidationPreferencePage_10=Start-tag uses invalid case:
HTMLValidationPreferencePage_11=End tag uses invalid case:
HTMLValidationPreferencePage_12=Missing start tag:
HTMLValidationPreferencePage_13=Missing end tag:
HTMLValidationPreferencePage_14=Unnecessary end tag:
HTMLValidationPreferencePage_15=Invalid directive:
HTMLValidationPreferencePage_16=Invalid tag location:
HTMLValidationPreferencePage_17=Duplicate tag:
HTMLValidationPreferencePage_18=Coexistence:
HTMLValidationPreferencePage_19=Unclosed start tag:
HTMLValidationPreferencePage_2=Attribute name using wrong case character:
HTMLValidationPreferencePage_20=Unclosed end tag:
HTMLValidationPreferencePage_21=Invalid empty element tag:
HTMLValidationPreferencePage_22=Duplicate DOCTYPE declaration:
HTMLValidationPreferencePage_23=Invalid location:
HTMLValidationPreferencePage_24=DOCTYPE declaration unclosed:
HTMLValidationPreferencePage_25=Invalid text string:
HTMLValidationPreferencePage_26=Invalid characters used in text string:
HTMLValidationPreferencePage_27=Invalid location:
HTMLValidationPreferencePage_28=Unclosed comment:
HTMLValidationPreferencePage_29=Invalid location:
HTMLValidationPreferencePage_3=Invalid attribute name:
HTMLValidationPreferencePage_30=Unclosed CDATA section:
HTMLValidationPreferencePage_31=Invalid location:
HTMLValidationPreferencePage_32=Unclosed processing instruction:
HTMLValidationPreferencePage_33=Invalid location:
HTMLValidationPreferencePage_34=Unknown entity:
HTMLValidationPreferencePage_4=Invalid attribute:
HTMLValidationPreferencePage_5=Multiple values specified for an attribute:
HTMLValidationPreferencePage_6=Attribute value using wrong case character:
HTMLValidationPreferencePage_7=Unclosed attribute value:
HTMLValidationPreferencePage_8=Unknown tag name:
HTMLValidationPreferencePage_9=Invalid tag name:
HTMLValidationPreferencePage_35=Attribute value refers to missing resource:

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...

Hyperlink_line={0}={1} : line {2}
Open=Open ''{0}''
