{
  "appName": { "message": "A11ysaurio PDF Checker" },
  "appDesc": { "message": "Accessibility inspector and validator for PDF documents." },
  
  "skipLink": { "message": "Skip to main content" },
  "appSubTitle": { "message": "PDF Checker and Accessibility Validator" },
  "btnAnalyze": { "message": "Analyze" },
  "pdfSourceHeading": { "message": "PDF Source" },
  "manualPdfUrlLabel": { "message": "Manual PDF URL" },
  "manualPdfUrlPlaceholder": { "message": "https://example.com/document.pdf" },
  "btnUseManualUrl": { "message": "Use URL" },
  "hintManualUrl": { "message": "Use this if automatic detection cannot find the PDF from the viewer." },
  
  "workspaceHeading": { "message": "Workspace" },
  "tabValidation": { "message": "Validation" },
  "tabTree": { "message": "Tree" },
  "tabReader": { "message": "Screen Reader View" },
  "tabReport": { "message": "Report" },
  "tabMetadata": { "message": "Edit Metadata" },
  
  "treeFilterHeading": { "message": "Tree filter" },
  "filterLabel": { "message": "Filter nodes" },
  "filterPlaceholder": { "message": "H1, Table, Figure, Alt, Lang…" },
  "statusHeading": { "message": "Status" },
  "statusWaiting": { "message": "Waiting for analysis…" },
  "metaHeading": { "message": "Metadata" },
  "treeHeading": { "message": "Tag tree" },
  "btnExpandAll": { "message": "Expand all" },
  "btnCollapseAll": { "message": "Collapse all" },
  "btnCopyJson": { "message": "Copy JSON" },
  
  "validationHeading": { "message": "Heuristic validation" },
  "btnCopyValidation": { "message": "Copy validation JSON" },
  
  "readerHeading": { "message": "Screen Reader View" },
  "readerDesc": { "message": "This view simulates how a screen reader will interpret the PDF following the structural tree order." },
  
  "reportHeading": { "message": "Report" },
  "btnCopyReport": { "message": "Copy report JSON" },
  "btnDownloadCsv": { "message": "Download CSV Report" },
  
  "metadataHeading": { "message": "Edit Metadata" },
  "metadataDesc": { "message": "Modify the document title and primary language and download a corrected version." },
  "metaTitleLabel": { "message": "Document title" },
  "metaTitlePlaceholder": { "message": "E.g. Annual Report 2024" },
  "metaLangLabel": { "message": "Primary language (BCP 47)" },
  "btnExportModifiedPdf": { "message": "Export Modified PDF" },
  
  "errorAffectedTags": { "message": "Affected Tags" },
  "btnClose": { "message": "Close" },
  "infoModalTitle": { "message": "Rule Information" },
  "infoModalMatterhorn": { "message": "Matterhorn Explanation" },
  
  "statusSearchingTab": { "message": "Searching for active tab…" },
  "statusNoTab": { "message": "Could not get active tab." },
  "statusDetectingPdf": { "message": "Detecting PDF on page…" },
  "statusNoPdfFound": { "message": "No direct PDF URL found on the active tab. Use the manual URL field with a real .pdf link." },
  "statusNoPdfUsable": { "message": "No usable PDF URL detected." },
  "statusLoadingPdf": { "message": "Loading PDF with pdf.js…" },
  "statusExtractingMeta": { "message": "Extracting metadata…" },
  "statusParsingPage": { "message": "Analyzing page $1 of $2…", "placeholders": { "1": { "content": "$1" }, "2": { "content": "$2" } } },
  "statusGettingOutline": { "message": "Getting bookmarks and permissions…" },
  "statusNoTree": { "message": "The PDF loaded, but pdf.js did not return a structural tree. Check the Report for more details." },
  "statusDone": { "message": "Tree, validation and report generated." },
  "statusProvideUrl": { "message": "Provide a manual PDF URL." },
  "statusJsonCopied": { "message": "JSON copied." },
  
  "labelPass": { "message": "Pass" },
  "labelWarn": { "message": "Warning" },
  "labelManual": { "message": "Manual" },
  "labelFail": { "message": "Fail" },
  "labelCritical": { "message": "CRITICAL" },
  "labelHigh": { "message": "HIGH" },
  "labelMedium": { "message": "MEDIUM" },
  "labelLow": { "message": "LOW" },
  "labelInfo": { "message": "INFO" },
  
  "reportTitle": { "message": "PDF/UA Pre-Audit Report" },
  "reportGeneratedWith": { "message": "Generated with A11ysaurio PDF Checker v$1", "placeholders": { "1": { "content": "$1" } } },
  "reportDocUrl": { "message": "Document URL" },
  "reportPages": { "message": "Pages" },
  "reportPdfUa": { "message": "PDF/UA" },
  "reportTagTree": { "message": "Tag Tree" },
  "reportYes": { "message": "Yes" },
  "reportNo": { "message": "No" },
  "reportNotDeclared": { "message": "Not declared" },
  "reportExecSummary": { "message": "Executive Summary" },
  "reportTotalPass": { "message": "Total Passed" },
  "reportTotalFail": { "message": "Fails / Errors" },
  "reportTotalWarn": { "message": "Warnings" },
  "reportTotalManual": { "message": "Manual Review" },
  "reportIssueDetail": { "message": "Validation Details" },
  "reportRule": { "message": "Rule:" },
  "reportSeverity": { "message": "Severity:" },
  "reportEvidence": { "message": "Evidence:" },
  "reportIssuesOverview": { "message": "Total issues: $1. Validation: $2 OK, $3 warnings, $4 manual, $5 errors.", "placeholders": { "1": { "content": "$1" }, "2": { "content": "$2" }, "3": { "content": "$3" }, "4": { "content": "$4" }, "5": { "content": "$5" } } },
  
  "chk01_title": { "message": "PDF/UA Identifier" },
  "chk01_desc": { "message": "Checks if the pdfuaid declaration exists in XMP." },
  "chk01_tooltip": { "message": "According to Matterhorn 06-002, the document must declare PDF/UA compliance via XMP metadata." },
  "chk01_pass": { "message": "Declared PDF/UA-$1", "placeholders": { "1": { "content": "$1" } } },
  "chk01_fail": { "message": "No pdfuaid detected." },
  
  "chk02_title": { "message": "Structural tree available" },
  "chk02_desc": { "message": "Verifies that the PDF is tagged and its structure can be extracted." },
  "chk02_tooltip": { "message": "Based on Matterhorn 01-005: All real content in the document must be properly tagged to be processed by screen readers." },
  "chk02_pass": { "message": "Structure successfully parsed." },
  "chk02_fail": { "message": "Missing tag tree." },
  
  "chk03_title": { "message": "Document primary language" },
  "chk03_desc": { "message": "Language is crucial for screen readers." },
  "chk03_tooltip": { "message": "Related to Matterhorn 11-001 and 11-006: It is mandatory to define the natural language (e.g., English) so assistive technologies know how to pronounce it." },
  "chk03_pass1": { "message": "Global language: $1", "placeholders": { "1": { "content": "$1" } } },
  "chk03_pass2": { "message": "Language detected in $1 nodes.", "placeholders": { "1": { "content": "$1" } } },
  "chk03_fail": { "message": "No language declared." },
  
  "chk04_title": { "message": "Document title" },
  "chk04_desc": { "message": "A descriptive title is required." },
  "chk04_tooltip": { "message": "Matterhorn 06-003: Every accessible PDF requires a title defined in its XMP metadata." },
  "chk04_pass": { "message": "Found title in metadata or structure. Title: \"$1\"", "placeholders": { "1": { "content": "$1" } } },
  "chk04_fail": { "message": "Title not detected." },
  
  "chk05_title": { "message": "Heading Hierarchy (H1-H6)" },
  "chk05_desc": { "message": "Checks that heading levels don't skip abruptly and generic <H> tags are not used." },
  "chk05_tooltip": { "message": "Matterhorn 14-003 and 14-007: Requires correct nested structure and prohibits generic <H> tags." },
  "chk05_fail": { "message": "Incorrect use of generic <H> tag in $1 elements.", "placeholders": { "1": { "content": "$1" } } },
  "chk05_warn": { "message": "Hierarchy skips detected in $1 headings.", "placeholders": { "1": { "content": "$1" } } },
  "chk05_pass": { "message": "Detected $1 correctly structured headings.", "placeholders": { "1": { "content": "$1" } } },
  "chk05_none": { "message": "No headings." },
  
  "chk06_title": { "message": "List Structure" },
  "chk06_desc": { "message": "Pattern L > LI > Lbl/LBody." },
  "chk06_tooltip": { "message": "Matterhorn Checkpoint 16: Checks that L tag contains LI (List Item) tags and optionally Lbl (Label) and LBody (List Body)." },
  "chk06_pass": { "message": "$1 lists detected.", "placeholders": { "1": { "content": "$1" } } },
  "chk06_none": { "message": "No lists." },
  
  "chk07_title": { "message": "Inaccessible Tables Inspection" },
  "chk07_desc": { "message": "Verifies use of <TH> and proper connection in spanned cells (RowSpan/ColSpan)." },
  "chk07_tooltip": { "message": "Matterhorn Checkpoint 15: Requires header cells (TH) to be present and complex cells (RowSpan/ColSpan) to define their Scope/Headers." },
  "chk07_warn": { "message": "Detected $1 tables but none contain explicit header cells (<TH>).", "placeholders": { "1": { "content": "$1" } } },
  "chk07_fail": { "message": "Found $1 complex cells (RowSpan/ColSpan) without connection attributes (Headers/Scope).", "placeholders": { "1": { "content": "$1" } } },
  "chk07_pass": { "message": "$1 tables detected. Review connection logic manually.", "placeholders": { "1": { "content": "$1" } } },
  "chk07_none": { "message": "No tables." },
  
  "chk08_title": { "message": "Alternative Text" },
  "chk08_desc": { "message": "Figures require Alt or ActualText." },
  "chk08_tooltip": { "message": "Matterhorn 13-004: Any element tagged as <Figure> must possess an alternative text or ActualText describing its purpose." },
  "chk08_fail": { "message": "$1 figures missing Alt out of $2 total.", "placeholders": { "1": { "content": "$1" }, "2": { "content": "$2" } } },
  "chk08_none": { "message": "No figures." },
  
  "chk09_title": { "message": "Tagged Links" },
  "chk09_desc": { "message": "Links must use the Link tag." },
  "chk09_tooltip": { "message": "Related to Matterhorn Checkpoint 13 and interactive annotations handling." },
  "chk09_pass": { "message": "$1 links detected.", "placeholders": { "1": { "content": "$1" } } },
  "chk09_none": { "message": "No links detected." },
  
  "chk10_title": { "message": "Form Structure" },
  "chk10_desc": { "message": "Controls tagged as Form." },
  "chk10_tooltip": { "message": "Matterhorn Checkpoint 24: Interactive form controls must be correctly tagged." },
  "chk10_pass": { "message": "$1 forms detected.", "placeholders": { "1": { "content": "$1" } } },
  "chk10_none": { "message": "No forms." },
  
  "chk11_title": { "message": "Text Layer (OCR Suspected)" },
  "chk11_desc": { "message": "Alerts if there are empty text elements or pure scans." },
  "chk11_tooltip": { "message": "Matterhorn 08-001: Scanned documents processed by OCR must not have significant errors or generate an incomprehensible empty text layer." },
  "chk11_warn": { "message": "Suspicion: $1 empty paragraphs.", "placeholders": { "1": { "content": "$1" } } },
  "chk11_pass": { "message": "Text seems extractable." },
  
  "chk12_title": { "message": "Reading Order" },
  "chk12_desc": { "message": "Logical order must match visual order." },
  "chk12_tooltip": { "message": "Matterhorn 09-001: Tag structure must accurately reflect the logical reading order. (Manual inspection required)" },
  "chk12_manual": { "message": "Requires human verification." },
  
  "chk13_title": { "message": "Bookmarks Outline" },
  "chk13_desc": { "message": "Long documents (>20 pages) must have bookmarks for navigation." },
  "chk13_tooltip": { "message": "Good navigation practice required in accessibility standards (similar to WCAG 2.4.5), essential for long documents." },
  "chk13_pass1": { "message": "Document has a bookmark outline." },
  "chk13_fail": { "message": "Missing bookmarks in a document over 20 pages." },
  "chk13_pass2": { "message": "No bookmarks, but the document is short." },
  
  "chk14_title": { "message": "Accessibility Permissions" },
  "chk14_desc": { "message": "PDF must not block text extraction for screen readers." },
  "chk14_tooltip": { "message": "Matterhorn Checkpoint 26: The PDF cannot be protected by passwords that restrict text extraction for accessibility." },
  "chk14_warn": { "message": "PDF has security restrictions. Verify that 'Copy for accessibility' is allowed." },
  "chk14_pass": { "message": "No security restrictions." },
  
  "chk15_title": { "message": "Author, Subject and Keywords" },
  "chk15_desc": { "message": "Additional metadata useful for SEO and organization." },
  "chk15_tooltip": { "message": "Complement to Matterhorn Checkpoint 06 to improve full document identification." },
  "chk15_pass": { "message": "Detected: $1", "placeholders": { "1": { "content": "$1" } } },
  "chk15_warn": { "message": "Missing Author, Subject and/or Keywords fields." },
  
  "chk16_title": { "message": "Language Format (BCP 47)" },
  "chk16_desc": { "message": "Language codes must be standard (e.g. es-ES, en)." },
  "chk16_tooltip": { "message": "Matterhorn 11-007: Languages must be specified in an internationally recognizable standard format (BCP 47)." },
  "chk16_fail": { "message": "Invalid language formats found: $1", "placeholders": { "1": { "content": "$1" } } },
  "chk16_pass": { "message": "Language formats are correct." },
  
  "chk17_title": { "message": "Empty Tables or Lists" },
  "chk17_desc": { "message": "Structure tags without content generate noise." },
  "chk17_tooltip": { "message": "Related to noise in the structural tree (Matterhorn Checkpoint 09), empty structural elements can confuse screen readers." },
  "chk17_warn": { "message": "Found $1 empty tables or lists.", "placeholders": { "1": { "content": "$1" } } },
  "chk17_pass": { "message": "No empty tables or lists." },
  
  "chk18_title": { "message": "Display Document Title" },
  "chk18_desc": { "message": "Viewer should be configured to show the Title and not the file name." },
  "chk18_tooltip": { "message": "Matterhorn 07-001/07-002: The document must configure the viewer to display the Document Title by default in the window bar." },
  "chk18_pass": { "message": "DisplayDocTitle enabled." },
  "chk18_fail": { "message": "DisplayDocTitle false or not found in ViewerPreferences." },
  
  "chk19_title": { "message": "First Heading is H1" },
  "chk19_desc": { "message": "Requires the document to start its hierarchy with an H1." },
  "chk19_tooltip": { "message": "Matterhorn 14-002: The first heading in a PDF document must obligatorily be an <H1>." },
  "chk19_fail": { "message": "First heading detected is <$1>, but should be <H1>.", "placeholders": { "1": { "content": "$1" } } },
  "chk19_pass1": { "message": "The first heading in the document is correctly an <H1>." },
  "chk19_pass2": { "message": "No headings detected (manual review)." },
  
  "chk20_title": { "message": "Inappropriate Nesting" },
  "chk20_desc": { "message": "Detects absurdly nested block elements." },
  "chk20_tooltip": { "message": "Matterhorn 09-002: Structural elements must not be nested in a semantically inappropriate manner." },
  "chk20_fail": { "message": "Found $1 forbidden nestings (e.g. Tables inside Paragraphs).", "placeholders": { "1": { "content": "$1" } } },
  "chk20_pass": { "message": "No invalid structural nestings detected." },
  
  "chk21_title": { "message": "Alternative Text in Math" },
  "chk21_desc": { "message": "Mathematical formulas must contain an alternative text." },
  "chk21_tooltip": { "message": "Matterhorn 17-002: Every <Formula> element must obligatorily possess an Alt attribute." },
  "chk21_fail": { "message": "$1 mathematical formulas without Alt.", "placeholders": { "1": { "content": "$1" } } },
  "chk21_pass1": { "message": "All formulas have Alt." },
  "chk21_pass2": { "message": "No formulas detected." },
  
  "chk22_title": { "message": "Illegal RoleMap" },
  "chk22_desc": { "message": "Standard tags illegally remapped." },
  "chk22_tooltip": { "message": "Matterhorn 02-004: It is forbidden for the RoleMap dictionary to remap standard types (e.g. transforming <P> into something else)." },
  "chk22_fail": { "message": "The following standard tags have been overwritten: $1.", "placeholders": { "1": { "content": "$1" } } },
  "chk22_pass": { "message": "No overwrites of standard tags detected." },
  
  "chk23_title": { "message": "Identifiers in Notes" },
  "chk23_desc": { "message": "Notes must possess unique identifiers." },
  "chk23_tooltip": { "message": "Matterhorn 19-003 / 19-004: <Note> tags must possess a valid and unique ID in the document." },
  "chk23_warn": { "message": "Verify that $1 Notes/References have unique interconnected IDs.", "placeholders": { "1": { "content": "$1" } } },
  "chk23_pass": { "message": "No notes or references detected." },
  
  "chk24_title": { "message": "Artifacts as Content" },
  "chk24_desc": { "message": "There should be no tagged text inside artifacts." },
  "chk24_tooltip": { "message": "Matterhorn 01-003 / 01-004: Real tagged content cannot be inside an Artifact, and vice versa." },
  "chk24_pass": { "message": "PDF.js reports clean tree. Artifacts have been successfully isolated from reading flow." },
  
  "localFileError": { "message": "Cannot access local files (<code>file:///</code>) due to browser security restrictions.<br><br>To analyze this PDF, you must allow access to file URLs for this extension:<br>1. Go to <b>chrome://extensions/?id=$1</b> (copy and paste into a new tab).<br>2. Enable the <b>Allow access to file URLs</b> option.<br>3. Try again.", "placeholders": { "1": { "content": "$1" } } }
}

