// TagAlly Engine — teksty wyjściowe w języku polskim.
// Terminologia zgodna z polskim tłumaczeniem WCAG 2.1 („współczynnik
// kontrastu", „zgodność”, „treść nietekstowa”, „nagłówki”) oraz z polskim
// interfejsem programów InDesign/Acrobat („tekst alternatywny”, „znaczniki”,
// „artefakt”, „panel Artykuły”, „zakładki”).

module.exports = {
  // Metadane języka
  "meta.locale": "pl-PL",
  "meta.htmlLang": "pl",
  "meta.name": "Polski",

  // ---------- Raport: nagłówek i metadane ----------
  "report.docType": "Raport zgodności PDF/UA",
  "report.title": "Raport zgodności — {file}",
  "report.metaFile": "Plik",
  "report.metaProfile": "Profil sprawdzania",
  "report.metaProfileValue": "{profile} · protokół Matterhorn",
  "report.metaEngine": "Silnik sprawdzający",
  "report.metaEngineValue": "veraPDF (sprawdzanie automatyczne) · TagAlly Engine {version}",
  "report.metaDate": "Sprawdzono dnia",

  // ---------- Część 1: sprawdzanie automatyczne ----------
  "report.part1": "Część 1 — Sprawdzanie automatyczne",
  "report.passed": "ZGODNY",
  "report.failed": "NIEZGODNY",
  "report.verdictSub": "{passed} reguł spełnionych · {failed} niespełnionych{checks} — wszystkie warunki protokołu Matterhorn możliwe do sprawdzenia automatycznie",
  "report.verdictChecks": " · {n} pojedynczych naruszeń",
  "report.thClause": "Klauzula",
  "report.thCondition": "Warunek",
  "report.thViolations": "Naruszenia",
  "report.test": "Test {n}",
  "report.pages": "Strony: {list}",

  // ---------- Część 2: sprawdzanie ręczne ----------
  "report.part2": "Część 2 — Sprawdzanie ręczne",
  "report.part2Intro": "Żadne oprogramowanie nie oceni tych warunków — wymagają one oceny człowieka. Dowód zgodności z PDF/UA jest kompletny dopiero po przejściu tej listy kontrolnej.",
  "report.hint": "Zaznacz pozycje listy na ekranie, wpisz poniżej uwagi i swoje nazwisko, a następnie zapisz całość jako PDF przez funkcję drukowania przeglądarki — to jest dowód nadający się do archiwizacji.",
  "report.toolsTitle": "Kontrola wzrokowa — jak sprawdzić tę listę",
  "report.toolsFooter": "Te symbole pojawiają się ponownie na początku każdej grupy listy i wskazują, które narzędzie pomaga w danym miejscu.",
  "report.remarks": "Uwagi",
  "report.remarksPlaceholder": "Spostrzeżenia, ograniczenia, sprawdzone zakresy stron …",
  "report.signedBy": "Sprawdził(a)",
  "report.signedDate": "Data, podpis",
  "report.footer": "Utworzono w TagAlly Pro — dostępne pliki PDF z programu InDesign",
  "report.page": "Strona 1",

  // ---------- Zestaw narzędzi ----------
  "tool.sv": "Widok struktury",
  "tool.acr": "Acrobat",
  "tool.sr": "Czytnik ekranu",
  "tool.cc": "Kontrola kontrastu TagAlly",
  "tool.svText": "<b>Widok struktury TagAlly</b> (przycisk „Widok struktury” w panelu, karta ②): pokazuje <b>kolejność odczytu, hierarchię nagłówków, obrazy wraz z tekstem alternatywnym, tabele i zmiany języka</b> bezpośrednio ze sprawdzonego pliku PDF — bez dodatkowego oprogramowania.",
  "tool.acrText": "<b>Acrobat</b>: panel Znaczniki oraz narzędzie „Kolejność odczytu” do szczegółowej kontroli pojedynczych elementów; właściwości dokumentu dla tytułu, języka i zakładek.",
  "tool.srText": "<b>Kontrola czytnikiem ekranu</b>: przepuść dokument jeden raz przez VoiceOver (macOS, ⌘F5) lub NVDA (Windows, bezpłatny) — to najuczciwszy test kolejności odczytu.",
  "tool.ccText": "<b>Kontrola kontrastu TagAlly</b> (krok „Teksty alternatywne, tabele i kontrast” na karcie ① oraz na żywo w inspektorze obiektów): mierzy kolor tekstu względem tła zgodnie z WCAG (odpowiednio 4,5:1 i 3:1) bezpośrednio w dokumencie; tekst na obrazach trafia na listę do kontroli wzrokowej. Do pomiarów pikselowych w gotowym pliku PDF alternatywą pozostaje „Colour Contrast Analyser” (TPGi, bezpłatny).",

  // ---------- Ręczna lista kontrolna ----------
  "check.structure": "Struktura i kolejność odczytu",
  "check.structure.1": "Kolejność odczytu znaczników odpowiada logicznemu układowi dokumentu.",
  "check.structure.2": "Żaden element niosący treść nie został ukryty jako artefakt.",
  "check.structure.3": "Znaczniki semantyczne (akapit, cytat, lista …) odpowiadają znaczeniu treści.",
  "check.headings": "Nagłówki",
  "check.headings.1": "Poziomy nagłówków poprawnie oddają strukturę treści.",
  "check.language": "Język",
  "check.language.1": "Zadeklarowany język dokumentu odpowiada jego treści.",
  "check.language.2": "Fragmenty w innym języku są oznaczone odpowiednim językiem.",
  "check.graphics": "Grafiki i teksty alternatywne",
  "check.graphics.1": "Każdy tekst alternatywny opisuje treść obrazu trafnie i zwięźle.",
  "check.graphics.2": "Grafiki czysto dekoracyjne są oznaczone jako artefakty.",
  "check.graphics.3": "Złożone ilustracje (wykresy, infografiki) są objaśnione w tekście lub w opisie rozszerzonym.",
  "check.tables": "Tabele",
  "check.tables.1": "Komórki nagłówkowe są poprawne i zdefiniowane w komplecie.",
  "check.tables.2": "Oznaczona znacznikami struktura tabeli odpowiada układowi wizualnemu.",
  "check.links": "Odnośniki i odsyłacze",
  "check.links.1": "Teksty i opisy odnośników są znaczące (żadnych „kliknij tutaj”).",
  "check.color": "Kolor i kontrast",
  "check.color.1": "Kolor nigdy nie jest jedynym sposobem przekazania informacji.",
  "check.color.2": "Tekst spełnia wymagania kontrastu (co najmniej AA).",
  "check.meta": "Metadane i nawigacja",
  "check.meta.1": "Tytuł dokumentu jest znaczący.",
  "check.meta.2": "W dłuższych dokumentach zakładki istnieją i są poprawne.",
  "check.final": "Kontrola końcowa",
  "check.final.1": "Poprawiony plik PDF (…-ua.pdf) wygląda identycznie jak pierwotny eksport.",

  // ---------- Wyniki kontrastu w raporcie ----------
  "contrast.fails": "✗ Kontrola kontrastu TagAlly: {n} miejsc poniżej progu WCAG — popraw je w panelu (krok „Teksty alternatywne, tabele i kontrast”) i wyeksportuj ponownie.",
  "contrast.manualItem": "Wzrokowa kontrola kontrastu: tekst na obrazie lub gradiencie na stronie {pages} — czy czytelność jest wystarczająca?",
  "contrast.covered": "✓ Sprawdzone automatycznie (kontrola kontrastu TagAlly): {checked} obszarów tekstu, żaden poniżej progów WCAG{approved} — dalsza kontrola kontrastu nie jest potrzebna.",
  "contrast.coveredApproved": " — dodatkowo {n} miejsc z tekstem na obrazie lub gradiencie sprawdzono wzrokowo i zatwierdzono",

  // ---------- Komunikaty o błędach (silnik) ----------
  "err.fileNotFound": "Nie znaleziono pliku: {file}",
  "err.verapdfMissing": "Nie znaleziono programu veraPDF. Podaj ścieżkę w engine/config.json w kluczu \"verapdfPath\".",
  "err.verapdfFailed": "Wywołanie veraPDF nie powiodło się: {msg}",
  "err.verapdfParse": "Nie udało się odczytać raportu veraPDF: {msg}",

  // ---------- Widok struktury (TagAllyView) ----------
  "view.docType": "Widok struktury (drzewo znaczników)",
  "view.intro": "Kolejność odczytu z góry na dół — dokładnie tak dokument przetwarza czytnik ekranu. Język dokumentu: {lang} · fragmenty w innym języku mają niebieskie tło (plakietka po prawej) · teksty alternatywne znajdują się pod każdą ilustracją.",
  "view.langConflict": "⚠ Konflikt języków: drzewo znaczników deklaruje na najwyższym poziomie „{lang}”, podczas gdy językiem dokumentu jest „{docLang}” — czytnik ekranu odczyta więc CAŁY dokument w niewłaściwym języku. Sprawdź język w programie InDesign i wyeksportuj ponownie.",
  "view.alt": "Alt",
  "view.altMissing": "BRAK",
  "view.noStructure": "Ten plik PDF nie zawiera struktury znaczników (nie jest plikiem PDF ze znacznikami).",
  "view.pageChip": "s. {n}",
  "view.footer": "Wygenerowano w TagAlly Pro · {headings} nagłówków · {figures} ilustracji ({noAlt} bez tekstu alternatywnego) · {tables} tabel · {links} odnośników",
  "view.stats": "Elementy: {headings} nagłówków · {figures} ilustracji ({noAlt} bez alt) · {tables} tabel · {links} odnośników",
  "view.saved": "Widok struktury: {file}",

  // ---------- Poprawki automatyczne (TagAllyFix) ----------
  "fix.cidSets": "Usunięte strumienie CIDSet: {n}",
  "fix.links": "Adnotacje odnośników z opisem (Contents): {n}",
  "fix.orphanLinks": "Osierocone adnotacje odnośników ujęte w elementy Link: {n}",
  "fix.thScope": "Komórki TH z atrybutem Scope: {n}",
  "fix.paths": "Nieoznaczone ścieżki wektorowe ujęte jako artefakty: {n}",
  "fix.rootLang": "Poprawiony język główny drzewa znaczników: {n}",
  "fix.roleMap": "Rozwiązane przypisania ról (nazwy stylów → znaczniki standardowe): {n}",
  "fix.langInject": "Oznaczone zmiany języka (Lang): {n}",
  "fix.displayDocTitle": "ViewerPreferences/DisplayDocTitle = true",
  "fix.xmpAdded": "XMP: dodano pdfuaid:part = 1",
  "fix.xmpPresent": "XMP: pdfuaid:part już obecny",
  "fix.saved": "Zapisano: {file}",
  "fix.langSkipped": "Pominięto wstawianie języka: {msg}",
  "fix.rootLangDetail": "  {type}: Lang {from} → {to}",

  // ---------- Meldungen des Starters und der Konsole ----------
  "console.starting": "Uruchamianie silnika TagAlly. Zostaw to okno otwarte.",
  "console.running": "Silnik TagAlly {version} działa pod adresem {url}",
  "console.verapdf": "veraPDF: {path}",
  "console.verapdfMissing": "Nie znaleziono veraPDF. Wpisz jego ścieżkę w pliku config.json.",
  "console.alreadyRunning": "Silnik TagAlly {version} już działa pod adresem {url}. Nie ma nic do zrobienia.",
  "console.closeWindow": "To okno możesz zamknąć.",
  "console.olderRunning": "Nadal działa wersja {running}, na dysku jest {local}.",
  "console.replacing": "Trwa zastępowanie starszego silnika …",
  "console.replaced": "Zastąpiono.",
  "console.stopping": "Silnik jest zamykany (na żądanie programu startowego).",
  "console.stopFailed": "Działający silnik nie zdołał zakończyć się sam.",
  "console.stopFailedHint": "Przy bardzo starych wersjach to normalne. Zrób to raz ręcznie:",
  "console.stopFailedRetry": "Potem uruchom ten program startowy ponownie.",
  "console.portBusy": "Port {port} jest już zajęty.",
  "console.portBusyHint": "Czy silnik już działa? Skorzystaj wtedy z programu startowego, sam zastąpi starszą wersję.",
  "console.nodeMissing": "Nie znaleziono Node.js.",
  "console.nodeMissingHint": "Zainstaluj go ze strony https://nodejs.org i uruchom ten skrypt ponownie.",
  "console.engineStopped": "Silnik został zatrzymany.",
  "console.pressEnter": "Naciśnij Enter, aby zamknąć to okno …"
};
