# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

# Encoding warnings and errors
EncNoDeclarationFrame = The character encoding of a framed document was not declared. The document may appear different if viewed without the document framing it.
EncXmlDecl = The character encoding of an HTML document was declared using the XML declaration syntax. This is non-conforming, and declaring the encoding using a meta tag at the start of the head part is more efficient.
EncMetaTooLate = A meta tag attempting to declare the character encoding declaration was found too late, and the encoding was guessed from content instead. The meta tag needs to be moved to the start of the head part of the document.
EncMetaTooLateFrame = A meta tag attempting to declare the character encoding declaration was found too late, and the encoding of the parent document was used instead. The meta tag needs to be moved to the start of the head part of the document.
EncMetaAfterHeadInKilobyte = The meta tag declaring the character encoding of the document should be moved to start of the head part of the document.
EncNoDecl = The character encoding of the document was not declared, so the encoding was guessed from content. The character encoding needs to be declared in the Content-Type HTTP header, using a meta tag, or using a byte order mark.
EncNoDeclPlain = The character encoding of the document was not declared, so the encoding was guessed from content. The character encoding needs to be declared in the Content-Type HTTP header or using a byte order mark.
EncMetaUnsupported = An unsupported character encoding was declared for the HTML document using a meta tag. The declaration was ignored.
EncProtocolUnsupported = An unsupported character encoding was declared on the transfer protocol level. The declaration was ignored.
EncMetaUtf16 = A meta tag was used to declare the character encoding as UTF-16. This was interpreted as an UTF-8 declaration instead.
EncMetaUserDefined = A meta tag was used to declare the character encoding as x-user-defined. This was interpreted as a windows-1252 declaration instead for compatibility with intentionally mis-encoded legacy fonts. This site should migrate to Unicode.
EncMetaReplacement = A meta tag was used to declare an encoding that is a cross-site scripting hazard. The replacement encoding was used instead.
EncProtocolReplacement = An encoding that is a cross-site scripting hazard was declared on the transfer protocol level. The replacement encoding was used instead.
EncDetectorReload = The character encoding of the document was not declared, and the encoding was guessable from content only late. This caused the document to be reloaded. The character encoding needs to be declared in the Content-Type HTTP header, using a meta tag, or using a byte order mark.
EncDetectorReloadPlain = The character encoding of the document was not declared, and the encoding was guessable from content only late. This caused the document to be reloaded. The character encoding needs to be declared in the Content-Type HTTP header or using a byte order mark.
EncError = The byte stream was erroneous according to the character encoding that was declared. The character encoding declaration may be incorrect.
EncErrorFrame = The byte stream was erroneous according to the character encoding that was inherited from the parent document. The character encoding needs to be declared in the Content-Type HTTP header, using a meta tag, or using a byte order mark.
EncErrorFramePlain = The byte stream was erroneous according to the character encoding that was inherited from the parent document. The character encoding needs to be declared in the Content-Type HTTP header or using a byte order mark.
EncSpeculationFailMeta = The start of the document was reparsed, because there were non-ASCII characters before the meta tag that declared the encoding. The meta should be the first child of head without non-ASCII comments before.
EncSpeculationFailXml = The start of the document was reparsed, because there were non-ASCII characters in the part of the document that was unsuccessfully searched for a meta tag before falling back to the XML declaration syntax. A meta tag at the start of the head part should be used instead of the XML declaration syntax.
# The audience of the following message isn't the author of the document but other people debugging browser behavior.
EncSpeculationFail2022 = The start of the document was reparsed, because ISO-2022-JP is an ASCII-incompatible encoding.

# The bulk of the messages below are derived from
# https://hg.mozilla.org/projects/htmlparser/file/1f633cef7de7/src/nu/validator/htmlparser/impl/ErrorReportingTokenizer.java
# which is available under the MIT license.

# Tokenizer errors
errGarbageAfterLtSlash = Garbage after “</”.
errLtSlashGt = Saw “</>”. Probable causes: Unescaped “<” (escape as “&lt;”) or mistyped end tag.
errCharRefLacksSemicolon = Character reference was not terminated by a semicolon.
errNoDigitsInNCR = No digits in numeric character reference.
errGtInSystemId = “>” in system identifier.
errGtInPublicId = “>” in public identifier.
errNamelessDoctype = Nameless doctype.
errConsecutiveHyphens = Consecutive hyphens did not terminate a comment. “--” is not permitted inside a comment, but e.g. “- -” is.
errPrematureEndOfComment = Premature end of comment. Use “-->” to end a comment properly.
errBogusComment = Bogus comment.
errUnquotedAttributeLt = “<” in an unquoted attribute value. Probable cause: Missing “>” immediately before.
errUnquotedAttributeGrave = “`” in an unquoted attribute value. Probable cause: Using the wrong character as a quote.
errUnquotedAttributeQuote = Quote in an unquoted attribute value. Probable causes: Attributes running together or a URL query string in an unquoted attribute value.
errUnquotedAttributeEquals = “=” in an unquoted attribute value. Probable causes: Attributes running together or a URL query string in an unquoted attribute value.
errSlashNotFollowedByGt = A slash was not immediately followed by “>”.
errNoSpaceBetweenAttributes = No space between attributes.
errUnquotedAttributeStartLt = “<” at the start of an unquoted attribute value. Probable cause: Missing “>” immediately before.
errUnquotedAttributeStartGrave = “`” at the start of an unquoted attribute value. Probable cause: Using the wrong character as a quote.
errUnquotedAttributeStartEquals = “=” at the start of an unquoted attribute value. Probable cause: Stray duplicate equals sign.
errAttributeValueMissing = Attribute value missing.
errBadCharBeforeAttributeNameLt = Saw “<” when expecting an attribute name. Probable cause: Missing “>” immediately before.
errEqualsSignBeforeAttributeName = Saw “=” when expecting an attribute name. Probable cause: Attribute name missing.
errBadCharAfterLt = Bad character after “<”. Probable cause: Unescaped “<”. Try escaping it as “&lt;”.
errLtGt = Saw “<>”. Probable causes: Unescaped “<” (escape as “&lt;”) or mistyped start tag.
errProcessingInstruction = Saw “<?”. Probable cause: Attempt to use an XML processing instruction in HTML. (XML processing instructions are not supported in HTML.)
errUnescapedAmpersandInterpretedAsCharacterReference = The string following “&” was interpreted as a character reference. (“&” probably should have been escaped as “&amp;”.)
errNotSemicolonTerminated = Named character reference was not terminated by a semicolon. (Or “&” should have been escaped as “&amp;”.)
errNoNamedCharacterMatch = “&” did not start a character reference. (“&” probably should have been escaped as “&amp;”.)
errQuoteBeforeAttributeName = Saw a quote when expecting an attribute name. Probable cause: “=” missing immediately before.
errLtInAttributeName = “<” in attribute name. Probable cause: “>” missing immediately before.
errQuoteInAttributeName = Quote in attribute name. Probable cause: Matching quote missing somewhere earlier.
errExpectedPublicId = Expected a public identifier but the doctype ended.
errBogusDoctype = Bogus doctype.
maybeErrAttributesOnEndTag = End tag had attributes.
maybeErrSlashInEndTag = Stray “/” at the end of an end tag.
errNcrNonCharacter = Character reference expands to a non-character.
errNcrSurrogate = Character reference expands to a surrogate.
errNcrControlChar = Character reference expands to a control character.
errNcrCr = A numeric character reference expanded to carriage return.
errNcrInC1Range = A numeric character reference expanded to the C1 controls range.
errEofInPublicId = End of file inside public identifier.
errEofInComment = End of file inside comment.
errEofInDoctype = End of file inside doctype.
errEofInAttributeValue = End of file reached when inside an attribute value. Ignoring tag.
errEofInAttributeName = End of file occurred in an attribute name. Ignoring tag.
errEofWithoutGt = Saw end of file without the previous tag ending with “>”. Ignoring tag.
errEofInTagName = End of file seen when looking for tag name. Ignoring tag.
errEofInEndTag = End of file inside end tag. Ignoring tag.
errEofAfterLt = End of file after “<”.
errNcrOutOfRange = Character reference outside the permissible Unicode range.
errNcrUnassigned = Character reference expands to a permanently unassigned code point.
errDuplicateAttribute = Duplicate attribute.
errEofInSystemId = End of file inside system identifier.
errExpectedSystemId = Expected a system identifier but the doctype ended.
errMissingSpaceBeforeDoctypeName = Missing space before doctype name.
errNestedComment = Saw “<!--” within a comment. Probable cause: Nested comment (not allowed).
errNcrZero = Character reference expands to zero.
errNoSpaceBetweenDoctypeSystemKeywordAndQuote = No space between the doctype “SYSTEM” keyword and the quote.
errNoSpaceBetweenPublicAndSystemIds = No space between the doctype public and system identifiers.
errNoSpaceBetweenDoctypePublicKeywordAndQuote = No space between the doctype “PUBLIC” keyword and the quote.
# Tree builder errors
errDeepTree = The document tree is too deep. The tree will be flattened to be 513 elements deep.
errStrayStartTag2 = Stray start tag “%1$S”.
errStrayEndTag = Stray end tag “%1$S”.
errUnclosedElements = End tag “%1$S” seen, but there were open elements.
errUnclosedElementsImplied = End tag “%1$S” implied, but there were open elements.
errUnclosedElementsCell = A table cell was implicitly closed, but there were open elements.
errStrayDoctype = Stray doctype.
errAlmostStandardsDoctype = Almost standards mode doctype. Expected “<!DOCTYPE html>”.
errQuirkyDoctype = Quirky doctype. Expected “<!DOCTYPE html>”.
errAlmostStandardsDoctypeVerbose = This page is in Almost Standards Mode. Page layout may be impacted. For Standards Mode use “<!DOCTYPE html>”.
errQuirkyDoctypeVerbose = This page is in Quirks Mode. Page layout may be impacted. For Standards Mode use “<!DOCTYPE html>”.
errNonSpaceInTrailer = Non-space character in page trailer.
errNonSpaceAfterFrameset = Non-space after “frameset”.
errNonSpaceInFrameset = Non-space in “frameset”.
errNonSpaceAfterBody = Non-space character after body.
errNonSpaceInColgroupInFragment = Non-space in “colgroup” when parsing fragment.
errNonSpaceInNoscriptInHead = Non-space character inside “noscript” inside “head”.
errFooBetweenHeadAndBody = “%1$S” element between “head” and “body”.
errStartTagWithoutDoctype = Start tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”.
errNoSelectInTableScope = No “select” in table scope.
errStartSelectWhereEndSelectExpected = “select” start tag where end tag expected.
errStartTagWithSelectOpen = “%1$S” start tag with “select” open.
errBadStartTagInNoscriptInHead = Bad start tag “%1$S” in “noscript” in “head”.
errImage = Saw a start tag “image”.
errFooSeenWhenFooOpen2 = Start tag “%1$S” seen but an element of the same type was already open.
errHeadingWhenHeadingOpen = Heading cannot be a child of another heading.
errFramesetStart = “frameset” start tag seen.
errNoCellToClose = No cell to close.
errStartTagInTable = Start tag “%1$S” seen in “table”.
errFormWhenFormOpen = Saw a “form” start tag, but there was already an active “form” element. Nested forms are not allowed. Ignoring the tag.
errTableSeenWhileTableOpen = Start tag for “table” seen but the previous “table” is still open.
errStartTagInTableBody = “%1$S” start tag in table body.
errEndTagSeenWithoutDoctype = End tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”.
errEndTagAfterBody = Saw an end tag after “body” had been closed.
errEndTagSeenWithSelectOpen = “%1$S” end tag with “select” open.
errGarbageInColgroup = Garbage in “colgroup” fragment.
errEndTagBr = End tag “br”.
errNoElementToCloseButEndTagSeen = No “%1$S” element in scope but a “%1$S” end tag seen.
errHtmlStartTagInForeignContext = HTML start tag “%1$S” in a foreign namespace context.
errNoTableRowToClose = No table row to close.
errNonSpaceInTable = Misplaced non-space characters inside a table.
errUnclosedChildrenInRuby = Unclosed children in “ruby”.
errStartTagSeenWithoutRuby = Start tag “%1$S” seen without a “ruby” element being open.
errSelfClosing = Self-closing syntax (“/>”) used on a non-void HTML element. Ignoring the slash and treating as a start tag.
errNoCheckUnclosedElementsOnStack = Unclosed elements on stack.
errEndTagDidNotMatchCurrentOpenElement = End tag “%1$S” did not match the name of the current open element (“%2$S”).
errEndTagViolatesNestingRules = End tag “%1$S” violates nesting rules.
errEndWithUnclosedElements = End tag for “%1$S” seen, but there were unclosed elements.
errListUnclosedStartTags = Unclosed element or elements.
