###############################################################################
# Copyright (c) 2001, 2012 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
#     Benjamin Muskalla, b.muskalla@gmx.net - [158660] character entities should have their own syntax highlighting preference
#     David Carver - STAR - [205989] - [validation] validate XML after XInclude resolution
###############################################################################
## The following line is a sample XML document.  Please translate only the following parts:
## begin color definitions
## Normal text content.
Sample_XML_doc=<?xml version=\"1.0\"?>\n<?customProcessingInstruction\n\tXML processor specific\n\tcontent ?>\n<!DOCTYPE colors\n\tPUBLIC \"//IBM/XML/COLORS/\" \"colors.dtd\">\n<colors>\n\t<!-- begin color definitions -->\n\t<color name=\"plaintext\" foreground=\"#000000\"\n\t\tbackground=\"#D4D0C8\" />\n\t<color name=\"bold\" foreground=\"#000000\"\n\t\tbackground=\"#B3ACA0\" />\n\t<![CDATA[<123456789>]]>\n\tNormal text content.\n\t===&gt;look at me!&lt;===\n\t<color name=\"inverse\" foreground=\"#F0F0F0\"\n\t\tbackground=\"#D4D0C8\" />\n\n</colors>\n
Comment_Delimiters_UI_=Comment Delimiters
Comment_Content_UI_=Comment Content
Tag_Delimiters_UI_=Tag Delimiters
Tag_Names_UI_=Tag Names
Attribute_Names_UI_=Attribute Names
Attribute_Equals_UI_=Attribute Equal Signs
Attribute_Values_UI_=Attribute Values
Declaration_Delimiters_UI_=Declaration Delimiters
Content_UI_=Content
Entity_Reference_UI_=Entity References
## on the following 2 lines, do not translate CDATA
CDATA_Delimiters_UI_=CDATA Delimiters
CDATA_Content_UI_=CDATA Content
Processing_Instruction_Del_UI_=Processing Instruction Delimiters
Processing_Instruction_Con_UI__UI_=Processing Instruction Content
## on the following line solely translate:  Name
DOCTYPE_Name_UI_=DOCTYPE Name
## on the following line solely translate:  Keyword
DOCTYPE_SYSTEM_PUBLIC_Keyw_UI_=DOCTYPE SYSTEM/PUBLIC Keyword
## on the following line solely translate:  Public Reference
DOCTYPE_Public_Reference_UI_=DOCTYPE Public Reference
## on the following line solely translate:  System Reference
DOCTYPE_System_Reference_UI_=DOCTYPE System Reference
# XML Common UI
# Constants for strings

DELETE=Remove
ADD_PROCESSING_INSTRUCTION=Add Processing Instruction

_UI_MENU_ADD_AFTER=Add &After
_UI_MENU_ADD_ATTRIBUTE=Add A&ttribute
_UI_MENU_ADD_BEFORE=Add &Before
_UI_MENU_ADD_CHILD=Add &Child
_UI_MENU_REMOVE=Re&move
_UI_MENU_REPLACE_WITH=Re&place With
_UI_MENU_EDIT_DOCTYPE=Edit DOCTYPE...
_UI_LABEL_UNDO_REPLACE_DESCRIPTION=Replace
_UI_LABEL_EDIT_DOCTYPE=Edit DOCTYPE
_UI_INFO_EXPAND_ALL=Expand All
_UI_INFO_COLLAPSE_ALL=Collapse All

_UI_MENU_ADD_DTD_INFORMATION=Add DTD Information...
_UI_MENU_ADD_SCHEMA_INFORMATION=Add Schema Information...
_UI_MENU_EDIT_PROCESSING_INSTRUCTION=Edit Process&ing Instruction...
_UI_MENU_EDIT_NAMESPACES=Edit &Namespaces...

_UI_MENU_ADD_DTD_INFORMATION_TITLE=Add DTD Information
_UI_MENU_EDIT_PROCESSING_INSTRUCTION_TITLE=Edit Processing Instruction
_UI_MENU_EDIT_SCHEMA_INFORMATION_TITLE=Edit Schema Information

_UI_MENU_NEW_ATTRIBUTE=&New Attribute...
_UI_MENU_NEW_ATTRIBUTE_TITLE=New Attribute
_UI_MENU_EDIT_ATTRIBUTE=Edit Attribute...
_UI_MENU_EDIT_ATTRIBUTE_TITLE=Edit Attribute
_UI_MENU_NEW_ELEMENT=New &Element...
_UI_MENU_NEW_ELEMENT_TITLE=New Element
_UI_MENU_RENAME=R&ename
_UI_MENU_RENAME_TITLE=Rename
_UI_LABEL_ELEMENT_NAME=Element name:

_UI_MENU_ADD_COMMENT=Add Comment
_UI_MENU_ADD_PROCESSING_INSTRUCTION=Add Processing Instruction
_UI_MENU_ADD_CDATA_SECTION=Add CDATA Section
_UI_MENU_ADD_PCDATA=Add #PCDATA;

_UI_MENU_COMMENT=C&omment
_UI_MENU_PROCESSING_INSTRUCTION=P&rocessing Instruction
_UI_MENU_CDATA_SECTION=CDATA Section
_UI_MENU_PCDATA=#PC&DATA;

_UI_MENU_ADD=Add

_UI_COMMENT_VALUE=comment
_UI_PI_TARGET_VALUE=target
_UI_PI_DATA_VALUE=data
_UI_LABEL_ROOT_ELEMENT_VALUE=RootElement

_UI_LABEL_TARGET_COLON=Target:
_UI_LABEL_DATA_COLON=Data:
_UI_LABEL_ROOT_ELEMENT_NAME_COLON=Root &element name:
_UI_LABEL_PUBLIC_ID_COLON=&Public ID:
_UI_LABEL_SYSTEM_ID_COLON=&System ID:
_UI_LABEL_BROWSE=&Browse...
_UI_LABEL_BROWSE_1=B&rowse...
_UI_LABEL_SELECT_XML_CATALOG_ENTRY=Select XML Catalog Entry
_UI_LABEL_SPECIFY_SYSTEM_ID=Specify System ID
_UI_LABEL_SELECT_FILE=Select File

_UI_LABEL_KEY=Key
_UI_LABEL_URI=URI:
_UI_LABEL_XML_CATALOG_COLON=XML &Catalog
_UI_LABEL_NAMESPACE_NAME=Namespace Name
_UI_LABEL_LOCATION_HINT=Location Hint
_UI_LABEL_PREFIX=Prefix
_UI_LABEL_NAMESPACE_NAME_COLON=&Namespace Name:
_UI_LABEL_LOCATION_HINT_COLON=&Location Hint:
_UI_LABEL_PREFIX_COLON=&Prefix:
_UI_NO_NAMESPACE_NAME=<no namespace name>
_UI_NO_PREFIX=<no prefix>

_UI_LABEL_XML_SCHEMA_INFORMATION=XML Schema Information

_UI_LABEL_NAME_COLON=Name:
_UI_LABEL_VALUE_COLON=Value:

_UI_BUTTON_DELETE=&Delete
_UI_BUTTON_NEW=New...
_UI_BUTTON_EDIT=&Edit...

_UI_LABEL_NEW_NAMESPACE_INFORMATION=New Namespace Information

# SelectFileOrXMLCatalogIdPanel.java

_UI_RADIO_BUTTON_SELECT_FROM_WORKSPACE=Select file from &Workspace
_UI_RADIO_BUTTON_SELECT_FROM_CATALOG=Select &XML Catalog entry

_UI_WARNING_MORE_THAN_ONE_NS_WITH_NAME=More than one namespace has been specified with the namespace name :
_UI_WARNING_MORE_THAN_ONE_NS_WITHOUT_NAME=More than one schema has been specified without a namespace name
_UI_WARNING_MORE_THAN_ONE_NS_WITHOUT_PREFIX=More than one namespace has been specificed without a prefix
_UI_WARNING_MORE_THAN_ONE_NS_WITH_PREFIX=More than one namespace has been specified with the prefix :
_UI_WARNING_SCHEMA_CAN_NOT_BE_LOCATED=The specified schema can not be located :
_UI_WARNING_LOCATION_HINT_NOT_SPECIFIED=A location hint has not been specified for the namespace with name
_UI_WARNING_NAMESPACE_NAME_NOT_SPECIFIED=A name must be specified for the namespace with prefix :
_UI_WARNING_PREFIX_NOT_SPECIFIED=A prefix must be specified for the namespace named :
_UI_WARNING_ROOT_ELEMENT_MUST_BE_SPECIFIED=A root element name must be specified.
_UI_WARNING_SYSTEM_ID_MUST_BE_SPECIFIED=A system ID must be specified.

_UI_INVALID_NAME=Invalid name

# String used for editing namespaces (org.eclipse.wst.xml.ui.nsedit)
_UI_ENTER_REQ_PREFIX_AND_NAMESPACE=Enter the required prefix and namespace URI for the namespace declaration.
_UI_SELECT_REGISTERED_NAMESPACES=Select From &Registered Namespaces
_UI_SPECIFY_NEW_NAMESPACE=Specify New Na&mespace
_UI_SELECT_NAMESPACE_TO_ADD=&Select the namespace declarations to add.
_UI_ADD_NAMESPACE_DECLARATIONS=Add Namespace Declarations
_UI_NAMESPACE_DECLARATIONS=&Namespace Declarations
_UI_TARGET_NAMESPACE=Target Namespace

_ERROR_XML_ATTRIBUTE_ALREADY_EXISTS=The element already has an attribute with this name.

#
error_message_goes_here=error message goes here
SurroundWithNewElementQuickAssistProposal_0=Surround with new element
SurroundWithNewElementQuickAssistProposal_1=Surround with new element
RenameInFileQuickAssistProposal_0=Link all references for a rename in file (does not change references in other files)
RenameInFileQuickAssistProposal_1=Rename in file
InsertRequiredAttrsQuickAssistProposal_0=Insert required attributes
InsertRequiredAttrsQuickAssistProposal_1=Insert required attributes
EncodingSettings_0=IANA:
EncodingSettings_1=Encoding:
DragNodeCommand_0=Move
DragNodeCommand_1=Copy
CommonEditNamespacesDialog_0=&Add...
JFaceNodeAdapter_1=Refresh Property Sheet
QuickFixProcessorXML_0=Remove empty tag
QuickFixProcessorXML_1=Change to empty-element tag
QuickFixProcessorXML_2=Remove this tag
QuickFixProcessorXML_3=Insert end tag before first child element
QuickFixProcessorXML_4=Insert end tag at end of element
QuickFixProcessorXML_5=Remove attributes in end tag
QuickFixProcessorXML_6=Insert default attribute value
QuickFixProcessorXML_7=Remove this attribute
QuickFixProcessorXML_8=Remove spaces before tag name
QuickFixProcessorXML_9=Remove spaces before processing instruction
QuickFixProcessorXML_10=Remove namespace in processing instruction
QuickFixProcessorXML_11=Remove this element
QuickFixProcessorXML_12=Remove this attribute value
QuickFixProcessorXML_13=Insert required attribute
QuickFixProcessorXML_14=Quote attribute value
QuickFixProcessorXML_15=Insert closing bracket
XMLPropertySourceAdapter_0=General

WorkbenchDefaultEncodingSettings_0=Use workspace encoding
refreshoutline_0=Refreshing Outline
Creating_files_encoding=Creating files encoding preference
# ReconcileStepForMarkup
End_tag_has_attributes=End tag has attributes
Attribute__is_missing_a_value=Attribute \"{0}\" is missing a value
Attribute__has_no_value=Attribute \"{0}\"  has no value
Missing_start_tag_=Missing start tag \"{0}\"
Missing_end_tag_=Missing end tag \"{0}\"
ReconcileStepForMarkup_0=Missing closing quote
ReconcileStepForMarkup_1=Missing quotes for attribute value
ReconcileStepForMarkup_2=A tagname cannot start with a space
ReconcileStepForMarkup_3=Empty tags are not allowed
ReconcileStepForMarkup_4=Namespaces are not allowed in a Processing Instruction target
ReconcileStepForMarkup_5=Spaces are not allowed before a Processing Instruction
ReconcileStepForMarkup_6=Tag missing closing bracket '>'
# Content Assist
End_with_=End with {0}>
SEVERE_internal_error_occu_UI_=SEVERE internal error occurred
No_known_attribute__UI_=No known attribute
Content_Assist_not_availab_UI_=Content Assist not available at the current location
Element__is_unknown=Element <{0}> is unknown.
Comment__=comment {0}
Close_with__=Close with {0}
End_with__=End with \"</{0}>\"
Close_with___=Close with \"{0}\"
Close_with____=Close with \"></{0}>\"
_Has_no_available_child={0} has no available child tags.
No_known_child_tag=No known child tag names of <{0}> begin with \"{1}\".
__Has_no_known_child=<{0}> has no known child tags.
No_known_child_tag_names=No known child tag names of <{0}> begin with \"{1}\"
The_document_element__=The document element <{0}> is already present.
No_definition_for_in=No definition was found for element <{0}> in {1}
No_definition_for=No definition was found for element <{0}>
No_content_model_for=No content model found for {0}.
No_content_model_found_UI_=No content model found
## The following strings are for the XML Cleanup dialog
Cleanup_UI_=Cleanup
Compress_empty_element_tags_UI_=&Compress empty element tags
Insert_required_attributes_UI_=Insert &required attributes
Insert_missing_tags_UI_=&Insert missing tags
Insert_single_proposals=&Insert single proposals automatically
Quote_attribute_values_UI_=&Quote attribute values
Format_source_UI_=&Format source
Convert_EOL_codes_UI_=Convert line &delimiters to
Insert_XML_decl=Fix XML declaration
EOL_Windows_UI=&Windows
EOL_Unix_UI=U&NIX
EOL_Mac_UI=&Mac
## XML Files preference page
Creating_files=Creating files
Encoding_desc=The following encoding will apply:
Encoding=En&coding:
Creating_or_saving_files=Creating or saving files
End_of_line_code_desc=The following line delimiter will apply:
End_of_line_code=&Line delimiter:
EOL_Windows=Windows
EOL_Unix=UNIX
EOL_Mac=Mac
EOL_NoTranslation=No translation
Validating_files=Validating files
Indicate_no_grammar_specified=No &grammar specified:
Indicate_no_grammar_specified_severities_error=Error
Indicate_no_grammar_specified_severities_warning=Warning
Indicate_no_grammar_specified_severities_ignore=Ignore
XMLFilesPreferencePage_ExtensionLabel=Add this &suffix (if not specified):
XMLFilesPreferencePage_ExtensionError=Suffix must be one of the following {0}.
## XML Source preference page
XMLContentAssistPreferencePage_Auto_Activation_UI_=Auto Activation
XMLContentAssistPreferencePage_Cycling_UI_=Cycling
Automatically_make_suggest_UI_=Automatically ma&ke suggestions
Auto_Activation_Delay=Auto activation dela&y (ms):
Not_an_integer=''{0}'' is not a positive integer.
Missing_integer=A positive integer must be specified.
Prompt_when_these_characte_UI_=P&rompt when these characters are inserted:
Formatting_UI_=Formatting
Line_width__UI_=Line &width:
Split_multiple_attributes=Split &multiple attributes each on a new line
Align_final_bracket=A&lign final bracket in multi-line element tags
Preserve_PCDATA_Content=&Preserve whitespace in tags with PCDATA content
Space_before_empty_close_tag=Ins&ert whitespace before closing empty end-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
Format_comments=&Format comments
Format_comments_join_lines=&Join lines
Grammar_Constraints=Grammar Constraints
Group_label_Insertion=Insertion
Use_inferred_grammar_in_absence_of=&Use inferred grammar in absence of DTD/Schema
Suggestion_Strategy=&Suggestion strategy:
Suggestion_Strategy_Lax=Lax
Suggestion_Strategy_Strict=Strict
## tag info
Element____1=Element :
Content_Model____2=Content Model :
Attribute____3=Attribute :
Data_Type____4=Data Type :
Enumerated_Values____5=Enumerated Values :
Default_Value____6=Default Value :
Documentation_view_default_msg=<p>Select a node in the editor to display XML Documentation if any is available.</p>
## copied from sse.ui
SourceMenu_label=&Source
Comment_label=Co&mment
Comment_tooltip=Comment
Comment_description=Comment
Uncomment_label=&Uncomment
Uncomment_tooltip=Uncomment
Uncomment_description=Uncomment
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
CleanupDocument_label=Cleanup Document...
CleanupDocument_tooltip=Cleanup Document
CleanupDocument_description=Cleanup Document
FindOccurrences_label=Occurrences in File
OpenFileFromSource_label=Op&en Selection
OpenFileFromSource_tooltip=Open an editor on the selected link
OpenFileFromSource_description=Open an editor on the selected link
XMLContentOutlineConfiguration_0=&Show Attributes
XMLTyping_Auto_Complete=Automatically close
XMLTyping_Auto_Remove=Automatically remove
XMLTyping_Complete_Comments=&Comments
XMLTyping_Close_Strings=A&ttribute values
XMLTyping_Close_Brackets=(Parentheses) and [square] brac&kets
XMLTyping_Complete_End_Tags=A&utomatically close the tag
XMLTyping_Complete_Elements=&Insert a matching end tag
XMLTyping_Remove_End_Tags=E&nd tags when creating empty self-closing tags
XMLTyping_Start_Tag=When typing a start tag
XMLTyping_End_Tag=When typing an end tag
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
MESSAGE_XML_VALIDATION_MESSAGE_UI_=XML Validator validating {0}
SyntaxColoringPage_0=S&yntax Element:
SyntaxColoringPage_2=Enable
SyntaxColoringPage_3=&Bold
SyntaxColoringPage_4=&Italic
SyntaxColoringPage_5=&Strikethrough
SyntaxColoringPage_6=&Underline
EmptyFilePreferencePage_0=Expand the tree to edit preferences for a specific feature.
_UI_STRUCTURED_TEXT_EDITOR_PREFS_LINK=XML editing preferences.  Note that some preferences may be set on the <a>{0}</a> preference page.
Use_XInclude=Process XML &Inclusions
Honour_all_schema_locations=&Honour all XML schema locations
nextSibling_label=Next Sibling
nextSibling_description=Go to Next Sibling
previousSibling_label=Previous Sibling
previousSibling_description=Go to Previous Sibling
gotoMatchingTag_label=Matching Tag
gotoMatchingTag_description=Go To Matching Tag
gotoMatchingTag_start=Start tag of element <{0}>
gotoMatchingTag_end=End tag of element <{0}>
Open=Open ''{0}''
Open_With=Open ''{0}'' with {1}
_UI_BUTTON_SORT=Sort
Validating_files=Validating files
Indicate_no_document_element=Missing r&oot element:
Indicate_no_grammar_specified_severities_error=Error
Indicate_no_grammar_specified_severities_warning=Warning
Indicate_no_grammar_specified_severities_ignore=Ignore
MarkupValidation_files_label=Errors/Warnings
MarkupValidation_files=&Enable markup validation
Severity_error=Error
Severity_warning=Warning
Severity_ignore=Ignore
Empty_element_tag=Invalid e&mpty element tag:
End_tag_with_attributes=Invalid end &tag with attributes:
Invalid_whitespace_before_tagname=Invalid &white space before tag name:
Missing_closing_bracket=Missing &closing bracket:
Missing_closing_quote=Missing closing &quote:
Missing_end_tag=Missing e&nd tag:
Missing_start_tag=Missing &start tag:
Missing_quotes=Missing q&uotes:
Namespace_in_pi_target=In&valid name space in PI:
Tag_name_missing=Missing tag n&ame:
Whitespace_at_start=Inva&lid white space at start:
_ERROR_XML_ATTRIBUTE_IS_INVALID=\"{0}\" is not a valid attribute name