{
  "Centrum skanowania, remediacji i zarządzania zgodnością dostępności dla WordPress i WooCommerce.": "Accessibility scanning, remediation, and compliance management center for WordPress and WooCommerce.",
  "Skanuj pojedyncze URL i WooCommerce. Pełny crawl wielostronicowy jest dostępny po aktywacji Pro.": "Scan a single URL and WooCommerce. Full multi-page crawl is available after Pro activation.",
  "Ustaw automatyczne skany i kolejkę asynchroniczną po aktywacji licencji Pro.": "Set up automatic scans and asynchronous queue after activating a Pro license.",
  "Włączaj poprawki runtime, uruchamiaj naprawy źródłowe z podglądem wpływu i cofaj zmiany z backupu 1 kliknięciem.": "Enable runtime fixes, run source fixes with impact preview, and roll back changes from backup in one click.",
  "Prowadź checklistę wdrożenia pod audyt WCAG 2.2, EN 301 549 i wymagania EAA.": "Maintain a deployment checklist for WCAG 2.2, EN 301 549, and EAA requirements.",
  "Sprawdzaj stan środowiska, zarządzaj licencją Pro oraz kontroluj politykę usuwania danych przy odinstalowaniu.": "Monitor environment status, manage Pro license, and control data removal policy on uninstall.",
  "Centralny panel zarządzania dostępnością i zgodnością Twojej witryny WordPress.": "Central accessibility and compliance management panel for your WordPress site.",
  "Funkcja \"%s\" wymaga aktywnej licencji Pro. Aktywuj licencję w zakładce System -> Licencja Pro.": "The \"%s\" feature requires an active Pro license. Activate your license in System -> Pro License.",
  "Przejdź do aktywacji licencji Pro": "Go to Pro license activation",
  "Weryfikacja ręczna": "Manual verification",
  "Tylko wymagające": "Required only",
  "Ręczny opis alt": "Manual alt description",
  "Tylko wymagające opisu alt": "Only items requiring alt description",
  "Filtruj błędy": "Filter errors",
  "Pokazano %1$d z %2$d błędów.": "Showing %1$d of %2$d errors.",
  "Podgląd wpływu akcji zbiorczych runtime": "Impact preview of bulk runtime actions",
  "Błędy z remediacją runtime w bieżącym widoku: %1$d z %2$d.": "Errors with runtime remediation in current view: %1$d of %2$d.",
  "Włączenie zmieni ustawień: %1$d. Wyłączenie zmieni ustawień: %2$d.": "Enabling will change settings: %1$d. Disabling will change settings: %2$d.",
  "Włączenie zmieni: %s": "Enabling will change: %s",
  "Wyłączenie zmieni: %s": "Disabling will change: %s",
  "Napraw widoczne błędy jednym kliknięciem": "Fix visible errors with one click",
  "Cofnij ostatnią naprawę 1 kliknięciem": "Roll back the last one-click fix",
  "Włącz remediacje runtime dla widocznych błędów": "Enable runtime remediations for visible errors",
  "Podgląd włączenia: zmieni %1$d ustawień (%2$s).": "Enable preview: will change %1$d settings (%2$s).",
  "Podgląd włączenia: brak zmian do zastosowania.": "Enable preview: no changes to apply.",
  "Symulacja nie zapisuje zmian i nie tworzy wpisu w historii akcji.": "Simulation does not save changes and does not create an entry in action history.",
  "Wyłącz remediacje runtime dla widocznych błędów": "Disable runtime remediations for visible errors",
  "Podgląd wyłączenia: zmieni %1$d ustawień (%2$s).": "Disable preview: will change %1$d settings (%2$s).",
  "Podgląd wyłączenia: brak zmian do zastosowania.": "Disable preview: no changes to apply.",
  "WooCommerce nie jest aktywny. Aktywuj WooCommerce, aby uruchomić ten tryb skanowania.": "WooCommerce is not active. Activate WooCommerce to run this scan mode.",
  "Tryb skanuje stronę główną i podstrony, ale wymaga aktywnej licencji Pro.": "This mode scans the homepage and subpages, but requires an active Pro license.",
  "Tryb skanuje stronę główną i wybrane podstrony opublikowane. Możesz użyć trybu asynchronicznego (kolejka), aby przetwarzać zadania partiami przez WP-Cron.": "This mode scans the homepage and selected published subpages. You can use asynchronous mode (queue) to process tasks in batches via WP-Cron.",
  "Dodaj zadania do kolejki i przetwarzaj je partiami (zalecane).": "Add tasks to the queue and process them in batches (recommended).",
  "Gdy wyłączone, crawl wykona się natychmiast w tym samym żądaniu admina.": "When disabled, crawl runs immediately in the same admin request.",
  "Wynik ostatniego skanu": "Latest scan result",
  "Błąd:": "Error:",
  "Łącznie problemów": "Total issues",
  "Brak wykrytych problemów dla tego przebiegu skanu.": "No issues detected for this scan run.",
  "Skan WooCommerce zakończony: %1$d/%2$d stron przeskanowanych, łącznie wykryto %3$d problemów.": "WooCommerce scan completed: %1$d/%2$d pages scanned, %3$d issues detected in total.",
  "Przeskanowano %1$d stron. Zakończone: %2$d, błędy: %3$d.": "%1$d pages scanned. Completed: %2$d, errors: %3$d.",
  "Błąd": "Error",
  "Crawl dodany do kolejki: %1$d/%2$d zadań (pominięte: %3$d).": "Crawl added to queue: %1$d/%2$d tasks (%3$d skipped).",
  "Worker kolejki został zaplanowany do uruchomienia.": "Queue worker has been scheduled.",
  "Crawl zakończony: przeskanowano %1$d stron, wykryto %2$d problemów.": "Crawl completed: %1$d pages scanned, %2$d issues detected.",
  "Automatyczne skany harmonogramu są dostępne w planie Pro.": "Automatic scheduled scans are available in the Pro plan.",
  "Liczba stron na przebieg": "Number of pages per run",
  "Brak (harmonogram wyłączony)": "None (schedule disabled)",
  "Uruchom teraz wg harmonogramu": "Run now by schedule",
  "Ostatni przebieg harmonogramu": "Last schedule run",
  "Brak danych o poprzednich przebiegach.": "No data for previous runs.",
  "brak zaplanowanego przebiegu": "no scheduled run",
  "Ustawienia harmonogramu zapisane. Następny przebieg: %s.": "Schedule settings saved. Next run: %s.",
  "Przebieg harmonogramu uruchomiony ręcznie: %1$d stron, %2$d problemów.": "Schedule run started manually: %1$d pages, %2$d issues.",
  "Worker kolejki jest wyłączony. Włącz kolejkę w ustawieniach, aby przetwarzać zadania.": "Queue worker is disabled. Enable the queue in settings to process tasks.",
  "Worker kolejki uruchomiony: pobrano %1$d, zakończono %2$d, ponowiono %3$d, błędne %4$d.": "Queue worker started: fetched %1$d, completed %2$d, retried %3$d, invalid %4$d.",
  "Worker kolejki, retry i harmonogram przetwarzania zadań są dostępne w planie Pro.": "Queue worker, retries, and task processing schedule are available in the Pro plan.",
  "Kolejka przetwarza skany partiami przez WP-Cron, z retry i statusem zadań.": "Queue processes scans in batches via WP-Cron, with retries and task statuses.",
  "Włącz worker kolejki": "Enable queue worker",
  "Najbliższe gotowe zadanie": "Next ready task",
  "Ostatni przebieg workera": "Last worker run",
  "Ostatnie zadania kolejki": "Latest queue tasks",
  "Odinstalowanie i dane": "Uninstall and data",
  "Wybierz, czy podczas odinstalowania wtyczki mają zostać usunięte tabele i ustawienia Accessibility Radar.": "Choose whether Accessibility Radar tables and settings should be removed during plugin uninstall.",
  "Usuń dane przy odinstalowaniu": "Remove data on uninstall",
  "Tak, usuń wszystkie dane wtyczki (skany, błędy, logi działań, ustawienia i checklistę).": "Yes, remove all plugin data (scans, errors, action logs, settings, and checklist).",
  "Zapisz ustawienia odinstalowania": "Save uninstall settings",
  "Ustawienia odinstalowania zapisane: dane będą usuwane przy odinstalowaniu.": "Uninstall settings saved: data will be removed on uninstall.",
  "Ustawienia odinstalowania zapisane: dane zostaną zachowane po odinstalowaniu.": "Uninstall settings saved: data will be preserved after uninstall.",
  "Klucz licencji Pro zapisany (%s).": "Pro license key saved (%s).",
  "Licencja Pro została aktywowana.": "Pro license activated.",
  "Aktywacja licencji Pro nie powiodła się.": "Pro license activation failed.",
  "Licencja Pro została dezaktywowana lokalnie.": "Pro license deactivated locally.",
  "Licencja Pro": "Pro license",
  "dostęp Pro aktywny": "Pro access active",
  "brak aktywnego dostępu Pro": "no active Pro access",
  "Plan / limit witryn": "Plan / site limit",
  "Zapisany klucz": "Saved key",
  "Ostatnia walidacja": "Last validation",
  "Ostatni komunikat": "Last message",
  "Klucz licencji Pro": "Pro license key",
  "Aby podmienić klucz, wpisz nową wartość i użyj przycisku „Zapisz klucz Pro”.": "To replace the key, enter a new value and use the \"Save Pro key\" button.",
  "Wpisz klucz i aktywuj licencję. Brak klucza nie blokuje funkcji Free.": "Enter the key and activate the license. Missing key does not block Free features.",
  "Aktywuj licencję Pro": "Activate Pro license",
  "Dezaktywuj licencję Pro": "Deactivate Pro license",
  "Funkcje Pro - status dostępu": "Pro features - access status",
  "Dostęp": "Access",
  "dostępna": "available",
  "brak opisu": "no description",
  "Brak danych builderów dla wybranego skanu.": "No builder data for the selected scan.",
  "zgodne": "compliant",
  "WP-Cron wyłączony": "WP-Cron disabled",
  "harmonogram wyłączony": "schedule disabled",
  "Następny przebieg: %s": "Next run: %s",
  "Brak zaplanowanego przebiegu.": "No scheduled run.",
  "worker wyłączony": "worker disabled",
  "Łącznie: %1$d, aktywne: %2$d, przeterminowane: %3$d (TTL: %4$ss).": "Total: %1$d, active: %2$d, expired: %3$d (TTL: %4$ss).",
  "Ostatnie czyszczenie: %s": "Last cleanup: %s",
  "dostęp aktywny": "access active",
  "dostęp nieaktywny": "access inactive",
  "Wykryto %1$d incydentów w próbce %2$d ostatnich akcji.": "Detected %1$d incidents in a sample of %2$d recent actions.",
  "Log runtime (ostatnie wpisy)": "Runtime log (latest entries)",
  "dostępny": "available",
  "Wymagane: %1$s. Brakuje: %2$s.": "Required: %1$s. Missing: %2$s.",
  "Ostatni skan": "Last scan",
  "ID #%1$d, status: %2$s, zakończono: %3$s": "ID #%1$d, status: %2$s, completed: %3$s",
  "Buildery (wybrany skan)": "Builders (selected scan)",
  "Czy wszystkie opcje działają z każdym builderem?": "Do all options work with every builder?",
  "Wykryto sygnały: %d.": "Signals detected: %d.",
  "Brak sygnałów w aktualnie podglądanym skanie.": "No signals in the currently previewed scan.",
  "Brak dedykowanego presetu. Użyj generatora generic/mixed lub ręcznego allow/deny.": "No dedicated preset. Use the generic/mixed generator or manual allow/deny.",
  "Układ mieszany: łącz presety wykrytych builderów i dopełnij selektory ręcznie.": "Mixed layout: combine detected builder presets and complete selectors manually.",
  "Dostępny dedykowany preset Keyboard Access.": "Dedicated Keyboard Access preset available.",
  "Błędy w wybranym skanie: %d": "Errors in selected scan: %d",
  "Przycisk rozwijania: tło": "Expand button: background",
  "Przyciski: tło": "Buttons: background",
  "Włącz ostrożne poprawki po stronie frontendu. Każda zmiana jest logowana i może być wycofana przez ponowne zapisanie ustawień.": "Enable cautious frontend fixes. Every change is logged and can be rolled back by saving settings again.",
  "Guard ogranicza ciężkie remediacje, gdy strona jest wolna. Dzięki temu panel dostępności ładuje się stabilniej na problematycznych podstronach.": "Guard limits heavy remediations when the page is slow. This helps the accessibility toolbar load more reliably on problematic subpages.",
  "Budżet ciężkich zadań przy starcie (ms)": "Heavy task budget at startup (ms)",
  "Budżet ciężkich zadań po zmianach DOM (ms)": "Heavy task budget after DOM changes (ms)",
  "Na wskazanych ścieżkach wyłącz ciężkie remediacje (safe-page)": "Disable heavy remediations on specified paths (safe-page).",
  "Tryb paska górnego przypina panel do górnej krawędzi i może być stale rozwinięty. W trybie pływającym możesz wybrać lewą/prawą stronę.": "Top bar mode pins the toolbar to the top edge and can remain expanded. In floating mode, you can choose the left or right side.",
  "Zawsze rozwinięty (bez przycisku rozwijania)": "Always expanded (without expand button)",
  "Działa dla okienka i paska górnego. Opcja agresywna pomaga, gdy A+/A- nie zmienia realnie wielkości fontu, ale może lekko zwiększyć koszt renderu na bardzo długich stronach.": "Works for both widget and top bar. Aggressive option helps when A+/A- does not change actual font size, but may slightly increase render cost on very long pages.",
  "Dobierz kolorystykę panelu tak, aby pasowała do motywu strony i zachowała czytelność.": "Adjust toolbar colors to match the site theme and keep readability.",
  "Wybierz wyrównanie grup przycisków (A+/A-, kontrast itd.) dla trybu pływającego i paska górnego.": "Choose alignment of button groups (A+/A-, contrast, etc.) for floating mode and top bar.",
  "Podgląd reaguje na zmianę trybu, pozycji, offsetów, szerokości, narożników, fontu, kolorów i opcji zawsze rozwinięty.": "Preview responds to changes in mode, position, offsets, width, corner radius, font, colors, and always-expanded option.",
  "Cofnij ostatnią auto-poprawkę": "Rollback last auto-fix",
  "Podgląd konfliktów analizuje bieżące ustawienia formularza i nie zapisuje zmian.": "Conflict preview analyzes current form settings and does not save changes.",
  "Ostatnie akcje remediacji": "Latest remediation actions",
  "Brak akcji remediacji dla wybranych filtrów.": "No remediation actions for selected filters.",
  "Wycofano": "Rolled back",
  "Wycofaj": "Rollback",
  "Podsumowanie jakości i stabilności akcji naprawczych na podstawie ostatnich zapisanych działań.": "Summary of quality and stability of remediation actions based on recent saved actions.",
  "Łącznie akcji w analizie": "Total actions in analysis",
  "Runtime / źródłowe": "Runtime / source",
  "Sygnały konfliktu rollbacku (batch)": "Rollback conflict signals (batch)",
  "Dzieci batch z błędami": "Batch children with errors",
  "Dzieci batch już wycofane": "Batch children already rolled back",
  "Locki rollbacku (łącznie / aktywne / stale)": "Rollback locks (total / active / stale)",
  "Ostatnia akcja remediacji": "Last remediation action",
  "Ostatnie czyszczenie locków": "Last lock cleanup",
  "Szukaj po ID akcji/skanu/wpisu, typie akcji, regule, opisie zmian lub treści incydentu.": "Search by action/scan/entry ID, action type, rule, change description, or incident content.",
  "Wyników na stronę": "Results per page",
  "Eksport obejmuje wszystkie rekordy zgodne z filtrami (nie tylko bieżącą stronę paginacji).": "Export includes all records matching filters (not only current pagination page).",
  "Naprawy źródłowe (post_content)": "Source fixes (post_content)",
  "Ten moduł zapisuje poprawki bezpośrednio w treści wpisu/strony i tworzy pełny backup do cofnięcia 1 kliknięciem.": "This module saves fixes directly in page/post content and creates a full backup for one-click rollback.",
  "Tryb trwały: automatycznie stosuj naprawy źródłowe po każdym zakończonym skanie (także WooCommerce/Crawl uruchamianym ręcznie).": "Persistent mode: automatically apply source fixes after each completed scan (also WooCommerce/Crawl run manually).",
  "Wybierz skan (ID) w zakładce Skanowanie, aby uruchomić podgląd napraw źródłowych.": "Select scan (ID) in the Scanning tab to run source-fix preview.",
  "Nie znaleziono danych skanu dla napraw źródłowych.": "No scan data found for source fixes.",
  "Wpis źródłowy": "Source entry",
  "Łącznie problemów w skanie": "Total issues in scan",
  "Problemy wspierane przez auto-fix źródłowy": "Issues supported by source auto-fix",
  "Planowane zmiany w treści": "Planned content changes",
  "W tym skanie %d elementów (obrazy / przyciski obrazkowe) wymaga ręcznego opisu alt. Użyj pola „Opisz obrazek” w tabeli błędów poniżej (zakładka Skanowanie).": "In this scan, %d elements (images/image buttons) require manual alt description. Use the \"Describe image\" field in the error table below (Scanning tab).",
  "Podgląd wpływu (próbka zmian)": "Impact preview (sample changes)",
  "Zastosuj naprawy źródłowe dla tego skanu": "Apply source fixes for this scan",
  "Brak nowych zmian do zapisu w treści. Sprawdź, czy URL wskazuje edytowalną stronę/wpis i czy wykryte reguły są wspierane.": "No new content changes to save. Check whether URL points to an editable page/post and whether detected rules are supported.",
  "Cofnij ostatnią naprawę źródłową": "Rollback last source fix",
  "Naprawa źródłowa zbiorcza (ostatnie skany)": "Bulk source fix (recent scans)",
  "Przeanalizowano: %1$d skanów (ukończonych: %2$d). Unikalne wpisy/strony: %3$d.": "Analyzed: %1$d scans (completed: %2$d). Unique entries/pages: %3$d.",
  "Pominięto: URL bez mapowania do wpisu (%1$d), brak zmian (%2$d), duplikat wpisu (%3$d), błędy podglądu (%4$d).": "Skipped: URL without post mapping (%1$d), no changes (%2$d), duplicate post (%3$d), preview errors (%4$d).",
  "Wpis": "Entry",
  "Zastosuj naprawy źródłowe dla ostatnich skanów": "Apply source fixes for recent scans",
  "Akcja przetwarza maks. 20 ostatnich ukończonych skanów i wykonuje jedną naprawę na unikalny wpis/stronę.": "This action processes up to 20 most recent completed scans and performs one fix per unique entry/page.",
  "Cofnij ostatnią naprawę zbiorczą": "Rollback last bulk fix",
  "To heurystyka bezpieczeństwa. Przed publikacją zmian wykonaj szybkie testy klawiatury i czytnika ekranu na kluczowych widokach.": "This is a safety heuristic. Before publishing changes, run quick keyboard and screen reader tests on key views.",
  "Limit błędów w raporcie": "Error limit in report",
  "0 = ostatnie skany": "0 = latest scans",
  "Limit skanów źródłowych": "Source scan limit",
  "Eksportuj błędy WCAG (CSV)": "Export WCAG errors (CSV)",
  "Eksportuj raport harmonogramu (JSON)": "Export schedule report (JSON)",
  "Okno analizy: %1$d ostatnich skanów, z czego ukończonych: %2$d.": "Analysis window: %1$d recent scans, including %2$d completed.",
  "Zakończono": "Completed",
  "Maks. przyrost wszystkich błędów (delta)": "Max increase of all errors (delta)",
  "Fail, gdy brak baseline": "Fail when baseline is missing",
  "brak daty zakończenia": "missing completion date",
  "wybranego skanu": "selected scan",
  "ostatniego zakończonego skanu": "last completed scan",
  "Macierz obejmuje wszystkie obowiązkowe kryteria WCAG 2.2 na poziomach A i AA (%d pozycji). Statusy: zielony = wdrożone, pomarańczowy = do sprawdzenia, czerwony = do poprawy. Przy pozycjach pomarańczowych i czerwonych dostępna jest akcja 1 kliknięciem lub opis naprawy.": "The matrix covers all mandatory WCAG 2.2 criteria at A and AA levels (%d items). Statuses: green = implemented, orange = to verify, red = to fix. For orange and red items, a one-click action or remediation instructions are available.",
  "Ocena na podstawie %1$s: skan #%2$d (zakończono: %3$s).": "Assessment based on %1$s: scan #%2$d (completed: %3$s).",
  "Brak zakończonego skanu. Statusy ustawiono jako \"Do weryfikacji\" do czasu uruchomienia analizy.": "No completed scan. Statuses are set to \"To verify\" until analysis is run.",
  "Podsumowanie statusów: wdrożone %1$d, do sprawdzenia %2$d, do poprawy %3$d (łącznie %4$d).": "Status summary: implemented %1$d, to verify %2$d, to fix %3$d (total %4$d).",
  "Otwarte: %1$d, ręczna weryfikacja: %2$d, oznaczone jako naprawione: %3$d.": "Open: %1$d, manual verification: %2$d, marked as fixed: %3$d.",
  "Pozycja oznaczona jako gotowa po weryfikacji manualnej.": "Item marked as ready after manual verification.",
  "Pozycja wymaga ręcznego potwierdzenia.": "Item requires manual confirmation.",
  "Wymaganie hybrydowe spełnione (automatyka + potwierdzenie manualne).": "Hybrid requirement met (automation + manual confirmation).",
  "Wymaganie hybrydowe jest w trakcie weryfikacji.": "Hybrid requirement is under verification.",
  "Wykryto otwarte błędy dla kryterium.": "Open errors detected for this criterion.",
  "Wymagana ręczna weryfikacja wykrytych sygnałów.": "Manual verification of detected signals is required.",
  "Brak otwartych błędów dla kryterium w aktualnym skanie.": "No open errors for the criterion in the current scan.",
  "Treść przy najechaniu lub fokusie": "Content on hover or focus",
  "Cel łącza (w kontekście)": "Link purpose (in context)",
  "Widoczny fokus": "Visible focus",
  "Identyfikacja błędu": "Error identification",
  "Sugestia błędu": "Error suggestion",
  "Zapobieganie błędom (prawne, finansowe, dane)": "Error prevention (legal, financial, data)",
  "Dostępne uwierzytelnianie (minimum)": "Accessible authentication (minimum)",
  "Wykryto otwarte błędy dla tego kryterium.": "Open errors detected for this criterion.",
  "Wykryto sygnały wymagające ręcznej weryfikacji dla tego kryterium.": "Signals requiring manual verification detected for this criterion.",
  "Powiązana pozycja checklisty nie jest jeszcze wdrożona.": "Related checklist item is not yet implemented.",
  "Powiązana pozycja checklisty wymaga dodatkowego potwierdzenia.": "Related checklist item requires additional confirmation.",
  "Brak otwartych błędów i pozycja checklisty jest oznaczona jako wdrożona.": "No open errors and checklist item is marked as implemented.",
  "Brak mapowania kryterium w checklistcie projektu - wymagana ręczna weryfikacja.": "No criterion mapping in project checklist - manual verification required.",
  "Poziom %1$s. Powiązane pozycje checklisty: %2$d.": "Level %1$s. Related checklist items: %2$d.",
  "Do sprawdzenia": "To verify",
  "Brak identyfikatora wymagania.": "Missing requirement identifier.",
  "Brak wymaganej akcji. Wymaganie oznaczone jako wdrożone.": "No required action. Requirement marked as implemented.",
  "Włączy remediacje: %s.": "Will enable remediations: %s.",
  "Sygnały oznaczone jako „weryfikacja ręczna” nie są automatycznie zamykane przez akcję 1 kliknięciem.": "Signals marked as \"manual verification\" are not automatically closed by one-click action.",
  "Brak deterministycznych błędów do auto-zamknięcia dla tego wymagania.": "No deterministic errors to auto-close for this requirement.",
  "Brak otwartych błędów dla tego wymagania w wybranym skanie.": "No open errors for this requirement in selected scan.",
  "Dodaj skip-link do głównej treści i upewnij się, że cel linku istnieje.": "Add a skip link to main content and make sure the link target exists.",
  "Zwiększ rozmiar i odstępy targetów klikalnych do wymagań WCAG 2.2.": "Increase clickable target size and spacing to WCAG 2.2 requirements.",
  "Popraw kontrast tekstu do wymaganych progów AA/AAA dla kluczowych treści.": "Improve text contrast to required AA/AAA thresholds for key content.",
  "Dodaj kontrolki zatrzymania/pauzy dla autoodtwarzanych mediów.": "Add pause/stop controls for autoplay media.",
  "Zweryfikuj reflow przy 320px i popraw odporność layoutu na zwiększone odstępy tekstu.": "Verify reflow at 320px and improve layout resilience to increased text spacing.",
  "Powiąż etykiety z polami i dodaj brakujące instrukcje formularzowe.": "Associate labels with fields and add missing form instructions.",
  "Dodaj czytelne komunikaty błędów, podsumowanie błędów oraz powiązania ARIA.": "Add clear error messages, error summary, and ARIA associations.",
  "Oznacz pola wymagane semantycznie (aria-required) i wizualnie.": "Mark required fields semantically (aria-required) and visually.",
  "Ogranicz ponowne wpisywanie tych samych danych przez podpowiedzi lub prefill.": "Reduce repeated data entry with hints or prefill.",
  "aktywna": "active",
  "Dostępna i aktywna": "Available and active",
  "Unikalne opcje remediacji: %1$d (aktywne: %2$d, nieaktywne: %3$d).": "Unique remediation options: %1$d (active: %2$d, inactive: %3$d).",
  "Brak nowych zmian do zastosowania. Najbardziej prawdopodobne, że remediacje są już aktywne.": "No new changes to apply. Most likely, remediations are already active.",
  "Wykryte problemy": "Detected issues",
  "WooCommerce nie jest aktywny.": "WooCommerce is not active.",
  "Etykieta": "Label",
  "Następny zaplanowany skan": "Next scheduled scan",
  "Worker aktywny": "Worker active",
  "WP-Cron aktywny": "WP-Cron active",
  "harmonogram aktywny": "schedule active",
  "worker aktywny": "worker active",
  "Usuwa tylko locki starsze niż TTL. Aktywne locki nie są ruszane.": "Removes only locks older than TTL. Active locks are not touched.",
  "aktywny": "active",
  "uzupełnij": "complete",
  "Preset automatycznie uzupełnia pola formularza (układ, zachowanie i kolory). Opcja „Minimalny” używa mniejszego rozmiaru panelu. Po wyborze kliknij „Zapisz remediacje runtime”.": "Preset automatically fills form fields (layout, behavior, and colors). The \"Minimal\" option uses a smaller panel size. After selecting it, click \"Save runtime remediations\".",
  "Brak wykrytych incydentów rollbacku w analizowanym zakresie akcji.": "No rollback incidents detected in the analyzed action range.",
  "Brak aktywnych blockerów release w analizowanym oknie.": "No active release blockers in the analyzed window.",
  "Uwaga: aktywny filtr \"wcag_guard_ci_gate_thresholds\" nadpisuje zapisane wartości formularza.": "Note: active filter \"wcag_guard_ci_gate_thresholds\" overrides saved form values.",
  "Nagłówki i etykiety": "Headings and labels",
  "Etykieta w nazwie": "Label in name",
  "Etykiety lub instrukcje": "Labels or instructions",
  "Usuń bariery poznawcze w logowaniu lub dodaj dostępne metody alternatywne.": "Remove cognitive barriers in login or add accessible alternative methods.",
  "Popraw hierarchię nagłówków i komplet landmarków (main/nav/banner/contentinfo).": "Improve heading hierarchy and complete landmarks (main/nav/banner/contentinfo).",
  "Nadaj unikalny i opisowy tytuł każdej podstronie.": "Give each subpage a unique and descriptive title.",
  "Dodaj semantykę tabel: caption/th/scope oraz poprawne powiązania nagłówków.": "Add table semantics: caption/th/scope and proper header associations.",
  "Popraw etykiety, walidację i komunikaty błędów w checkout.": "Improve labels, validation, and error messages in checkout.",
  "Wykonaj ręczną poprawkę w motywie/wtyczkach zgodnie z mapowaniem WCAG dla tego punktu.": "Apply a manual fix in theme/plugins according to WCAG mapping for this item.",
  "Uporządkuj semantykę treści i formularzy (nagłówki, etykiety, relacje, kolejność).": "Organize content and form semantics (headings, labels, relationships, order).",
  "Popraw kontrast, reflow, skalowanie i czytelność treści przy powiększeniu.": "Improve contrast, reflow, scaling, and content readability at zoom.",
  "Popraw nawigację, kolejność fokusu, tytuły stron i widoczność fokusu.": "Improve navigation, focus order, page titles, and focus visibility.",
  "Dodaj dostępne alternatywy dla gestów i przeciągania oraz popraw ergonomię celów dotykowych.": "Add accessible alternatives for gestures and dragging, and improve touch target ergonomics.",
  "Ustaw poprawny język strony i oznaczaj język fragmentów treści obcojęzycznej.": "Set the correct page language and mark language for foreign-language content fragments.",
  "Popraw obsługę formularzy: etykiety, walidację, sugestie błędów i dostępne uwierzytelnianie.": "Improve form handling: labels, validation, error suggestions, and accessible authentication.",
  "Wprowadź poprawkę zgodną z definicją kryterium WCAG i potwierdź ją testem manualnym.": "Implement a fix consistent with the WCAG criterion definition and confirm it with a manual test.",
  "Pozostałe wymagania": "Remaining requirements",
  "Uzupełniaj statusy i notatki dla pełnej checklisty wdrożenia. Moduł łączy sygnały automatyczne i testy manualne pod audyt EAA.": "Complete statuses and notes for the full deployment checklist. This module combines automatic signals and manual tests for EAA audit.",
  "Ostatnia zmiana": "Last change",
  "Test ręczny / organizacyjny": "Manual / organizational test",
  "Protokół zapisany. Zmieniono pozycji checklisty: %1$d, pól metryki: %2$d. Spełnione: %3$d z %4$d.": "Record saved. Checklist items changed: %1$d, metric fields changed: %2$d. Met: %3$d of %4$d.",
  "Brak zakończonego skanu do wykonania akcji 1 kliknięciem.": "No completed scan to run the one-click action.",
  "Wybrany skan nie jest zakończony. Uruchom ponownie skan i spróbuj jeszcze raz.": "Selected scan is not completed. Run the scan again and try once more.",
  "Akcja 1 kliknięciem: brak nowych zmian do zastosowania dla tego wymagania.": "One-click action: no new changes to apply for this requirement.",
  "Akcja 1 kliknięciem dla \"%1$s\" zakończona. Zmieniono ustawień: %2$d. Oznaczono jako naprawione: %3$d błędów. ID akcji: %4$d. Użyte remediacje: %5$s.": "One-click action for \"%1$s\" completed. Changed settings: %2$d. Marked as fixed: %3$d errors. Action ID: %4$d. Remediations used: %5$s.",
  "Podgląd konfliktów: nie wykryto potencjalnych kolizji dla bieżących ustawień formularza.": "Conflict preview: no potential collisions detected for current form settings.",
  "Wykryto potencjalne konflikty remediacji runtime: %d. Sprawdź panel ostrzeżeń poniżej.": "Potential runtime remediation conflicts detected: %d. Check warning panel below.",
  "Rekomendowane presety i naprawa klawiatury runtime są już aktywne.": "Recommended presets and runtime keyboard fix are already active.",
  "Zastosowano rekomendowane presety: %1$s. Aktywowano też naprawę klawiatury runtime. ID akcji: %2$d. Oznaczono jako naprawione: %3$d błędów.": "Applied recommended presets: %1$s. Runtime keyboard fix was also enabled. Action ID: %2$d. Marked as fixed: %3$d errors.",
  "Preset buildera nierozpoznanego nie wnosi nowych zmian (selektory są już aktywne).": "Unrecognized builder preset adds no new changes (selectors are already active).",
  "Zastosowano preset buildera nierozpoznanego (selektory: %1$d). Aktywowano naprawę klawiatury runtime. ID akcji: %2$d. Oznaczono jako naprawione: %3$d błędów.": "Applied unrecognized builder preset (selectors: %1$d). Runtime keyboard fix enabled. Action ID: %2$d. Marked as fixed: %3$d errors.",
  "Rekomendowany profil wydajności runtime jest już aktywny (brak zmian do zapisania).": "Recommended runtime performance profile is already active (no changes to save).",
  "Opcja remediacji runtime „%s” jest już aktywna.": "Runtime remediation option \"%s\" is already active.",
  "Włączono remediację runtime: %1$s. ID akcji: %2$d. Oznaczono jako naprawione: %3$d.": "Runtime remediation enabled: %1$s. Action ID: %2$d. Marked as fixed: %3$d.",
  "Opcja remediacji runtime „%s” jest już wyłączona.": "Runtime remediation option \"%s\" is already disabled.",
  "Wyłączono remediację runtime: %1$s. ID akcji: %2$d. Usunięto oznaczenie naprawy dla: %3$d błędów.": "Runtime remediation disabled: %1$s. Action ID: %2$d. Removed fix marker for %3$d errors.",
  "Runtime guard: włączony": "Runtime guard: enabled",
  "Runtime guard: wyłącz ciężkie fixy na safe-page": "Runtime guard: disable heavy fixes on safe-page",
  "Panel użytkownika: kolor tła przycisku rozwijania": "User toolbar: expand button background color",
  "Panel użytkownika: kolor tekstu przycisku rozwijania": "User toolbar: expand button text color",
  "Panel użytkownika: kolor tła przycisków": "User toolbar: button background color",
  "Panel użytkownika: kolor tekstu przycisków": "User toolbar: button text color",
  "Panel użytkownika: kolor obramowania przycisków": "User toolbar: button border color",
  "Podgląd rollback: dane rollback tej akcji są skrócone lub uszkodzone.": "Rollback preview: rollback data for this action is truncated or corrupted.",
  "Podgląd rollback: brak danych kopii treści do wycofania tej akcji.": "Rollback preview: missing content backup data to roll back this action.",
  "Podgląd rollback: nie znaleziono wpisu źródłowego do przywrócenia.": "Rollback preview: source entry to restore was not found.",
  "Treść wpisu/strony": "Post/page content",
  "Podgląd rollback: brak zmian do cofnięcia.": "Rollback preview: no changes to revert.",
  "Podgląd rollback: brak akcji podrzędnych dla tej operacji zbiorczej.": "Rollback preview: no child actions for this bulk operation.",
  "Treść wpisu/strony (%d)": "Post/page content (%d)",
  "Podgląd rollback: wszystkie akcje podrzędne są już wycofane.": "Rollback preview: all child actions are already rolled back.",
  "Podgląd rollback: brak zmian do cofnięcia. Problemy danych akcji podrzędnych: %d.": "Rollback preview: no changes to revert. Child-action data issues: %d.",
  "Podgląd rollback zbiorczego: cofnie %1$d zmian (%2$s). Akcje do cofnięcia: %3$d.": "Bulk rollback preview: will revert %1$d changes (%2$s). Actions to revert: %3$d.",
  "Już wycofane: %1$d. Problemy danych: %2$d.": "Already rolled back: %1$d. Data issues: %2$d.",
  "Podgląd rollback: brak danych do wycofania dla tej akcji.": "Rollback preview: no data to roll back for this action.",
  "Symulacja (bez zapisu): wszystkie pasujące remediacje runtime są już aktywne.": "Simulation (without saving): all matching runtime remediations are already active.",
  "Symulacja (bez zapisu): wszystkie pasujące remediacje runtime są już wyłączone.": "Simulation (without saving): all matching runtime remediations are already disabled.",
  "Nieprawidłowy identyfikator skanu dla akcji 1 kliknięcia.": "Invalid scan identifier for one-click action.",
  "Nie znaleziono skanu dla akcji 1 kliknięcia.": "Scan for one-click action was not found.",
  "Brak błędów w tym skanie. Akcja 1 kliknięcia nie ma zakresu.": "No errors in this scan. One-click action has no scope.",
  "Filtry nie zwróciły żadnych błędów. Akcja 1 kliknięcia nie ma zakresu.": "Filters returned no errors. One-click action has no scope.",
  "Akcja 1 kliknięcia: brak nowych zmian do zastosowania (remediacje są już aktywne).": "One-click action: no new changes to apply (remediations are already active).",
  "Akcja 1 kliknięcia nie wykryła zmian po zapisie ustawień.": "One-click action detected no changes after saving settings.",
  "Naprawa 1 kliknięciem zakończona. Zmieniono ustawień: %1$d. ID akcji: %2$d. Oznaczono jako naprawione: %3$d błędów.": "One-click fix completed. Changed settings: %1$d. Action ID: %2$d. Marked as fixed: %3$d errors.",
  "Naprawa 1 kliknięciem zakończona. Zmieniono %1$d ustawień (%2$s). ID akcji: %3$d. Oznaczono jako naprawione: %4$d błędów.": "One-click fix completed. Changed %1$d settings (%2$s). Action ID: %3$d. Marked as fixed: %4$d errors.",
  "Brak błędów w tym skanie. Nie ma czego aktywować.": "No errors in this scan. Nothing to enable.",
  "Wszystkie pasujące remediacje runtime są już aktywne.": "All matching runtime remediations are already active.",
  "Włączono zbiorczą remediację runtime. Zmieniono ustawień: %1$d. ID akcji: %2$d. Oznaczono jako naprawione: %3$d błędów.": "Bulk runtime remediation enabled. Changed settings: %1$d. Action ID: %2$d. Marked as fixed: %3$d errors.",
  "Brak błędów w tym skanie. Nie ma czego wyłączyć.": "No errors in this scan. Nothing to disable.",
  "Wszystkie pasujące remediacje runtime są już wyłączone.": "All matching runtime remediations are already disabled.",
  "Wyłączono zbiorczą remediację runtime. Zmieniono ustawień: %1$d. ID akcji: %2$d. Usunięto oznaczenie naprawy dla: %3$d błędów.": "Bulk runtime remediation disabled. Changed settings: %1$d. Action ID: %2$d. Removed fix marker for %3$d errors.",
  "Naprawa źródłowa nie została wykonana.": "Source fix was not executed.",
  "Naprawa źródłowa: brak nowych zmian do zapisania.": "Source fix: no new changes to save.",
  "Naprawa źródłowa została zapisana.": "Source fix saved.",
  "Naprawa zbiorcza źródłowa: brak kandydatów do zapisania w ostatnich skanach.": "Bulk source fix: no candidates to save in recent scans.",
  "Naprawa zbiorcza źródłowa zakończona. Przetworzono: %1$d skanów. Zmieniono fragmentów: %2$d. Oznaczono jako naprawione: %3$d błędów. ID akcji zbiorczej: %4$d. ID akcji szczegółowych: %5$s. Bez zmian: %6$d. Błędy: %7$d.": "Bulk source fix completed. Processed: %1$d scans. Changed fragments: %2$d. Marked as fixed: %3$d errors. Bulk action ID: %4$d. Detailed action IDs: %5$s. No changes: %6$d. Errors: %7$d.",
  "Naprawa zbiorcza źródłowa zakończona. Przetworzono: %1$d skanów. Zmieniono fragmentów: %2$d. Oznaczono jako naprawione: %3$d błędów. ID akcji: %4$s. Bez zmian: %5$d. Błędy: %6$d. Uwaga: nie zapisano nadrzędnej akcji zbiorczej.": "Bulk source fix completed. Processed: %1$d scans. Changed fragments: %2$d. Marked as fixed: %3$d errors. Action ID: %4$s. No changes: %5$d. Errors: %6$d. Note: parent bulk action was not saved.",
  "Naprawa zbiorcza źródłowa nie zapisała nowych zmian. Bez zmian: %1$d. Błędy: %2$d.": "Bulk source fix did not save new changes. No changes: %1$d. Errors: %2$d.",
  "Symulacja naprawy zbiorczej: kandydaci=%1$d, planowane zmiany=%2$d, ukończone skany=%3$d, unikalne wpisy=%4$d. Próbka skanów: %5$s.": "Bulk fix simulation: candidates=%1$d, planned changes=%2$d, completed scans=%3$d, unique entries=%4$d. Scan sample: %5$s.",
  "Nieprawidłowy identyfikator skanu dla naprawy źródłowej.": "Invalid scan identifier for source fix.",
  "Nie znaleziono danych skanu dla naprawy źródłowej.": "Scan data for source fix was not found.",
  "Naprawa źródłowa 1 kliknięciem": "One-click source fix",
  "Naprawa źródłowa zapisana dla wpisu #%1$d. Zmieniono fragmentów: %2$d. Oznaczono jako naprawione: %3$d błędów. ID akcji: %4$d.": "Source fix saved for entry #%1$d. Changed fragments: %2$d. Marked as fixed: %3$d errors. Action ID: %4$d.",
  "Naprawa źródłowa zapisana dla wpisu #%1$d. Zmieniono fragmentów: %2$d. Oznaczono jako naprawione: %3$d błędów. Uwaga: nie udało się zapisać wpisu historii akcji.": "Source fix saved for entry #%1$d. Changed fragments: %2$d. Marked as fixed: %3$d errors. Note: failed to save action-history entry.",
  "Nie udało się wycofać naprawy źródłowej.": "Failed to roll back source fix.",
  "Wycofano naprawę źródłową #%1$d. Zapisano rollback #%2$d dla wpisu #%3$d. Przywrócono status naprawy dla %4$d błędów.": "Rolled back source fix #%1$d. Saved rollback #%2$d for entry #%3$d. Restored fix status for %4$d errors.",
  "Brak kopii treści potrzebnej do cofnięcia naprawy źródłowej.": "Missing content backup required to roll back source fix.",
  "Nie znaleziono wpisu/strony do przywrócenia podczas rollbacku naprawy źródłowej.": "Entry/page to restore during source-fix rollback was not found.",
  "Nie udało się przywrócić meta buildera podczas rollbacku naprawy źródłowej.": "Failed to restore builder meta during source-fix rollback.",
  "Ta akcja została już wycofana w innym żądaniu.": "This action was already rolled back in another request.",
  "Akcja podrzędna #%d jest aktualnie przetwarzana w innym żądaniu.": "Child action #%d is currently processed in another request.",
  "Akcja podrzędna #%d nie jest akcją naprawy źródłowej.": "Child action #%d is not a source-fix action.",
  "Akcja zbiorcza została już przetworzona w innym żądaniu.": "Bulk action was already processed in another request.",
  "Wszystkie akcje podrzędne tej naprawy zbiorczej były już wcześniej wycofane.": "All child actions of this bulk fix were already rolled back earlier.",
  "Nie udało się wycofać naprawy zbiorczej źródłowej.": "Failed to roll back bulk source fix.",
  "Nie udało się potwierdzić wycofania akcji zbiorczej. Spróbuj ponownie po odświeżeniu strony.": "Failed to confirm rollback of bulk action. Try again after refreshing the page.",
  "Wycofano naprawę zbiorczą #%1$d. Zapisano rollback zbiorczy #%2$d. Cofnięto akcji podrzędnych: %3$d. Już wycofane: %4$d. Błędy: %5$d. Przywrócono status naprawy dla %6$d błędów. Przywrócone klucze meta buildera: %7$d.": "Rolled back bulk fix #%1$d. Saved bulk rollback #%2$d. Child actions reverted: %3$d. Already rolled back: %4$d. Errors: %5$d. Restored fix status for %6$d errors. Restored builder meta keys: %7$d.",
  "Nieprawidłowy identyfikator akcji do wycofania.": "Invalid action identifier to roll back.",
  "Ta akcja jest aktualnie wycofywana w innym żądaniu. Odśwież stronę za chwilę.": "This action is currently being rolled back in another request. Refresh the page shortly.",
  "Nie znaleziono akcji remediacji do wycofania.": "Remediation action to roll back was not found.",
  "Ta akcja była już wcześniej wycofana.": "This action was already rolled back earlier.",
  "Brak danych potrzebnych do wycofania tej akcji.": "Missing data required to roll back this action.",
  "Wycofano akcję #%1$d. Zapisano akcję rollback #%2$d. Przywrócono status naprawy dla %3$d błędów.": "Rolled back action #%1$d. Saved rollback action #%2$d. Restored fix status for %3$d errors.",
  "Brak wykrytych błędów dla tego skanu.": "No errors detected for this scan.",
  "Kontekst buildera": "Builder context",
  "Co nie działa i dlaczego": "What does not work and why",
  "Weryfikacja ręczna:": "Manual verification:",
  "Brak wcześniejszego zakończonego skanu dla tego URL. Po kolejnym skanie panel pokaże regresję.": "No previous completed scan for this URL. After the next scan, the panel will show regression.",
  "Trend regresji (ostatnie skany URL)": "Regression trend (recent URL scans)",
  "Brak bezpiecznej auto-remediacji. Wymagana poprawka w kodzie źródłowym.": "No safe auto-remediation available. Source-code fix is required.",
  "Dostępna opcja: %s (moduł runtime jest globalnie wyłączony).": "Available option: %s (runtime module is globally disabled).",
  "Dostępna opcja: %s (aktualnie wyłączona).": "Available option: %s (currently disabled).",
  "Dostępna opcja: %s (aktywna).": "Available option: %s (active).",
  "Podgląd: zmieni się %1$d ustawień (%2$s).": "Preview: %1$d settings will change (%2$s).",
  "Podgląd: zmieni się %d ustawień.": "Preview: %d settings will change.",
  "Włączono tryb trwały: po zakończonym skanie system automatycznie spróbuje zapisać naprawy źródłowe.": "Persistent mode enabled: after a completed scan, the system will automatically try to save source fixes.",
  "Wyłączono tryb trwały automatycznych napraw źródłowych po skanie.": "Persistent mode for automatic post-scan source fixes has been disabled.",
  "Tryb trwały: nie udało się automatycznie zapisać napraw źródłowych dla skanu #%1$d (%2$s).": "Persistent mode: failed to automatically save source fixes for scan #%1$d (%2$s).",
  "Tryb trwały: automatycznie zapisano naprawy źródłowe dla skanu #%1$d. %2$s": "Persistent mode: source fixes were automatically saved for scan #%1$d. %2$s",
  "Tryb trwały: brak nowych zmian źródłowych do zapisania dla skanu #%1$d.": "Persistent mode: no new source changes to save for scan #%1$d.",
  "To jest poprawka redakcyjna: wtyczka zapisze alt w treści źródłowej i doda wpis do historii napraw.": "This is an editorial fix: the plugin will save alt in source content and add an entry to fix history.",
  "Brak poprawnego skanu dla ręcznego opisu obrazu.": "No valid scan for manual image description.",
  "Nie znaleziono skanu dla ręcznego opisu obrazu.": "Scan for manual image description was not found.",
  "Ręczny opis alt można zastosować tylko dla błędów „missing-img-alt” lub „missing-image-input-alt”.": "Manual alt description can only be applied to \"missing-img-alt\" or \"missing-image-input-alt\" errors.",
  "Nie udało się przypisać skanu do edytowalnej strony/wpisu.": "Failed to map the scan to an editable page/post.",
  "Nie znaleziono wpisu/strony do zapisania opisu obrazka.": "Entry/page for saving image description was not found.",
  "Nie udało się jednoznacznie znaleźć %s w `post_content`. Uzupełnij alt ręcznie w builderze lub edytorze.": "Could not uniquely find %s in `post_content`. Fill alt manually in builder or editor.",
  "Dodano ręczny opis alt przycisku obrazkowego": "Added manual alt description for image button",
  "Dodano ręczny opis alt obrazu": "Added manual alt description for image",
  "Ręczny opis alt przycisku obrazkowego": "Manual alt description for image button",
  "Ręczny opis alt obrazu": "Manual alt description for image",
  "Zapisano opis alt dla %1$s we wpisie #%2$d (issue #%3$d). Oznaczono jako naprawione: %4$d. ID akcji: %5$d.": "Saved alt description for %1$s in entry #%2$d (issue #%3$d). Marked as fixed: %4$d. Action ID: %5$d.",
  " - wymaga weryfikacji ręcznej": "- manual verification required",
  "Wykryte globalnie: %s": "Detected globally: %s",
  "Ostatnie skany": "Recent scans",
  "Łącznie zmian po kliknięciu: %d.": "Total changes after click: %d.",
  "Presety do aktywacji: %s.": "Presets to activate: %s.",
  "Podgląd wpływu po kliknięciu": "Impact preview after click",
  "Presety są już aktywne. Kliknij, aby włączyć naprawę klawiatury runtime.": "Presets are already active. Click to enable runtime keyboard fix.",
  "Wykryto %1$d sygnałów generic/mixed. Proponowane selektory: %2$d.": "Detected %1$d generic/mixed signals. Proposed selectors: %2$d.",
  "Nowe selektory po kliknięciu: %d.": "New selectors after click: %d.",
  "Pominięto selektory już aktywne: %d.": "Skipped selectors already active: %d.",
  "Sygnały pochodzą z reguł: %s.": "Signals come from rules: %s.",
  "Proponowane selektory są już aktywne. Brak dodatkowych zmian do zapisania.": "Proposed selectors are already active. No additional changes to save.",
  "Safe-page: ciężkie remediacje pozostaną aktywne na wszystkich ścieżkach.": "Safe-page: heavy remediations will remain active on all paths.",
  "Zmiany po kliknięciu: %s.": "Changes after click: %s.",
  "Ten profil jest już aktywny lub nie wnosi dodatkowych zmian.": "This profile is already active or does not add additional changes.",
  "Rekomendacja wydajności na podstawie ostatniego skanu #%d z wykrytym sygnałem buildera/WooCommerce.": "Performance recommendation based on latest scan #%d with detected builder/WooCommerce signal.",
  "Zalecany dla koszyka, checkoutu i konta klienta: aktywny guard + pomijanie ciężkich remediacji na krytycznych ścieżkach.": "Recommended for cart, checkout, and account: active guard + skipping heavy remediations on critical paths.",
  "Zalecany dla stron z dużą dynamiką DOM: ciaśniejsze budżety heavy-task bez wyłączania ich globalnie.": "Recommended for pages with high DOM dynamics: tighter heavy-task budgets without disabling them globally.",
  "Rekomendacja na podstawie ostatniego skanu #%d z wykrytym builderem lub kontekstem WooCommerce.": "Recommendation based on latest scan #%d with detected builder or WooCommerce context.",
  "Rekomendacja na podstawie %d błędów z kontekstem generic/mixed w wybranym skanie.": "Recommendation based on %d errors with generic/mixed context in selected scan.",
  "Skan #%1$d, wpis #%2$d, zmiany treści: %3$d, oznaczone błędy: %4$d, klucze meta buildera: %5$d.": "Scan #%1$d, entry #%2$d, content changes: %3$d, marked errors: %4$d, builder meta keys: %5$d.",
  "Batch apply: skany=%1$d, wpisy=%2$d, zmiany=%3$d, oznaczone błędy=%4$d.": "Batch apply: scans=%1$d, entries=%2$d, changes=%3$d, marked errors=%4$d.",
  "Rollback wpisu #%1$d, przywrócone statusy błędów: %2$d, przywrócone klucze meta buildera: %3$d.": "Entry rollback #%1$d, restored error statuses: %2$d, restored builder meta keys: %3$d.",
  "Batch rollback: cofnięte=%1$d, już cofnięte=%2$d, błędy=%3$d, przywrócone statusy=%4$d.": "Batch rollback: reverted=%1$d, already reverted=%2$d, errors=%3$d, restored statuses=%4$d.",
  "Przywrócone klucze meta buildera: %d.": "Restored builder meta keys: %d.",
  "Szybkie włączenie remediacji runtime": "Quick runtime remediation enable",
  "Szybkie wyłączenie remediacji runtime": "Quick runtime remediation disable",
  "Zbiorcze włączenie remediacji runtime": "Bulk runtime remediation enable",
  "Zbiorcze wyłączenie remediacji runtime": "Bulk runtime remediation disable",
  "Naprawa źródłowa (post_content / builder)": "Source fix (post_content / builder)",
  "Naprawa źródłowa zbiorcza": "Bulk source fix",
  "Wycofanie naprawy źródłowej": "Source fix rollback",
  "Wycofanie naprawy źródłowej zbiorczej": "Bulk source-fix rollback",
  "Niepoprawny format. Użyj: table albo json.": "Invalid format. Use: table or json.",
  "Użyj tylko jednego źródła: --scan_id albo --url.": "Use only one source: --scan_id or --url.",
  "Wymagane jest --scan_id albo --url.": "--scan_id or --url is required.",
  "Opcja --run-scan wymaga podania --url.": "Option --run-scan requires --url.",
  "Nie udało się zapisać wyniku skanu.": "Failed to save scan result.",
  "Brak zakończonego skanu dla URL: %s": "No completed scan for URL: %s",
  "Nie udało się zbudować kontekstu skanu.": "Failed to build scan context.",
  "Skan #%1$d nie jest zakończony (status: %2$s).": "Scan #%1$d is not completed (status: %2$s).",
  "CI gate status: N/A (brak baseline i polityka nie wymaga fail).": "CI gate status: N/A (baseline missing and policy does not require fail).",
  "Wszystkie interaktywne elementy muszą działać bez myszy.": "All interactive elements must work without a mouse.",
  "Widoczny fokus na elementach aktywnych": "Visible focus on active elements",
  "Skip-link do głównej treści": "Skip link to main content",
  "Użytkownik powinien móc pominąć bloki powtarzalne.": "User should be able to skip repeated blocks.",
  "Elementy klikalne powinny mieć odpowiedni rozmiar i odstęp.": "Clickable elements should have adequate size and spacing.",
  "Funkcje wymagające drag&drop powinny mieć alternatywę klikalną/klawiaturową.": "Features requiring drag&drop should provide clickable/keyboard alternatives.",
  "Treść tekstowa musi spełniać wymagane progi kontrastu.": "Text content must meet required contrast thresholds.",
  "Obrazy funkcjonalne i informacyjne wymagają sensownego alt.": "Functional and informational images require meaningful alt text.",
  "Autoodtwarzane multimedia powinny mieć możliwość zatrzymania.": "Autoplay media should provide a way to pause/stop.",
  "C. Formularze i transakcje": "C. Forms and transactions",
  "Formularze": "Forms",
  "Poprawne etykiety i instrukcje pól": "Correct field labels and instructions",
  "Każde pole formularza wymaga etykiety powiązanej semantycznie.": "Every form field requires a semantically associated label.",
  "Komunikaty błędów powinny być precyzyjne i zrozumiałe.": "Error messages should be precise and understandable.",
  "Oznaczenie pól wymaganych": "Required field marking",
  "Pola wymagane powinny mieć jasny stan wymagania (tekst i aria-required).": "Required fields should have a clear required state (text and aria-required).",
  "Pola danych osobowych powinny korzystać z tokenów autocomplete.": "Personal-data fields should use autocomplete tokens.",
  "Brak wymogu wielokrotnego wpisywania tych samych danych": "No requirement to re-enter the same data",
  "W procesach wieloetapowych dane powinny być podpowiadane lub przenoszone automatycznie.": "In multi-step flows, data should be suggested or transferred automatically.",
  "Dostępne uwierzytelnianie": "Accessible authentication",
  "Logowanie nie powinno wymuszać zadań poznawczych bez alternatywy (np. CAPTCHA bez opcji).": "Login should not force cognitive tasks without alternatives (e.g., CAPTCHA without an option).",
  "Status messages dostępne dla technologii asystujących": "Status messages available for assistive technologies",
  "Poprawna hierarchia nagłówków i landmarki": "Correct heading hierarchy and landmarks",
  "Struktura dokumentu musi wspierać szybkie przeglądanie treści.": "Document structure must support quick content navigation.",
  "Powtarzalne elementy powinny mieć przewidywalne działanie i nazewnictwo.": "Repeated elements should have predictable behavior and naming.",
  "Dokument powinien mieć ustawiony poprawny język główny.": "Document should have the correct primary language set.",
  "Tabele danych powinny mieć nagłówki, scope i nazwę opisową.": "Data tables should have headers, scope, and descriptive name.",
  "Identyfikatory HTML powinny być unikalne i poprawne dla relacji aria-*.": "HTML identifiers should be unique and valid for aria-* relationships.",
  "Dostępny proces koszyka i zamówienia": "Accessible cart and checkout process",
  "Dynamiczne zmiany koszyka, kosztów i kuponów powinny być ogłaszane dla czytników.": "Dynamic cart, cost, and coupon changes should be announced for screen readers.",
  "Użytkownik powinien mieć możliwość przeglądu i poprawy danych przed złożeniem zamówienia.": "User should be able to review and correct data before placing an order.",
  "Zweryfikuj kluczowe ścieżki użytkownika z czytnikiem ekranu NVDA.": "Verify key user paths with NVDA screen reader.",
  "Przejdź cały kluczowy scenariusz bez myszy, wyłącznie klawiaturą.": "Complete the key scenario without mouse, keyboard only.",
  "Potwierdź poprawne działanie krytycznych widoków przy dużym powiększeniu.": "Confirm correct behavior of critical views at high zoom.",
  "Opublikowana deklaracja dostępności": "Published accessibility statement",
  "Deklaracja powinna zawierać zakres, wyjątki, kontakt i procedurę zgłaszania problemów.": "The statement should include scope, exceptions, contact, and issue-reporting procedure.",
  "Potwierdź akceptację protokołu przez właściciela produktu lub compliance lead.": "Confirm protocol acceptance by product owner or compliance lead.",
  "Accessibility Radar zapisuje lokalnie wyniki skanów WCAG, historię akcji remediacji i konfigurację działania wtyczki w bazie danych WordPress.": "Accessibility Radar stores WCAG scan results, remediation action history, and plugin configuration locally in the WordPress database.",
  "Opcjonalny moduł licencji Pro (jeśli jest doinstalowany) może podczas ręcznej aktywacji licencji przekazać: klucz licencji, adres witryny i e-mail administratora. Szczegóły przetwarzania danych dla Pro określa dostawca dodatku Pro.": "Optional Pro license module (if installed) may send during manual activation: license key, site address, and admin email. Pro data processing details are defined by the Pro add-on provider.",
  "Wymagają ręcznej weryfikacji": "Require manual verification",
  "Brak aktywnych blockerów release (CI gate FAIL) w tym zakresie.": "No active release blockers (CI gate FAIL) in this range.",
  "Brak danych skanów dla wybranego zakresu.": "No scan data for selected range.",
  "Kontekst": "Context",
  "Czytniki ekranu nie odczytają znaczenia obrazu, jeśli nie ma tekstu alternatywnego.": "Screen readers will not read image meaning without alternative text.",
  "Dodaj opisowy atrybut alt zgodny z funkcją obrazu. Nie da się bezpiecznie wygenerować poprawnego opisu automatycznie.": "Add a descriptive alt attribute matching the image function. A correct description cannot be safely generated automatically.",
  "Użyj akcji „Opisz obrazek” i zweryfikuj, czy alt oddaje sens obrazu oraz nie duplikuje tekstu obok grafiki.": "Use the \"Describe image\" action and verify alt reflects image meaning and does not duplicate nearby text.",
  "Przycisk graficzny bez nazwy": "Graphic button without name",
  "Przycisk typu image bez nazwy jest nieczytelny dla technologii asystujących.": "An image-type button without a name is unclear for assistive technologies.",
  "Użyj akcji „Opisz obrazek” i zweryfikuj, czy nazwa przycisku jasno komunikuje akcję, np. „Szukaj” lub „Wyślij”.": "Use the \"Describe image\" action and verify the button name clearly communicates the action, e.g., \"Search\" or \"Send\".",
  "Pole formularza bez dostępnej etykiety": "Form field without accessible label",
  "Użytkownik technologii asystujących może nie znać przeznaczenia pola.": "Assistive-technology users may not know the field purpose.",
  "Powiąż <label for> z id pola albo użyj aria-label / aria-labelledby.": "Associate <label for> with field id or use aria-label / aria-labelledby.",
  "Nie polegaj wyłącznie na placeholderze jako etykiecie docelowej.": "Do not rely solely on placeholder as the final label.",
  "Brak poprawnego autocomplete utrudnia automatyczne uzupełnianie formularza i może obniżać dostępność dla użytkowników wspomaganych.": "Missing valid autocomplete hinders autofill and may reduce accessibility for assisted users.",
  "Grupa pól wyboru bez etykiety grupy": "Choice field group without group label",
  "Grupy opcji (radio/checkbox) bez wspólnej etykiety utrudniają zrozumienie pytania lub kontekstu wyboru.": "Option groups (radio/checkbox) without a shared label make question/context harder to understand.",
  "Użyj fieldset + legend lub kontenera role=\"group\"/\"radiogroup\" z aria-label/aria-labelledby.": "Use fieldset + legend or a role=\"group\"/\"radiogroup\" container with aria-label/aria-labelledby.",
  "Zweryfikuj odczyt nazwy grupy i opcji w czytniku ekranu oraz pełną obsługę klawiaturą.": "Verify screen reader reads group and option names and full keyboard support.",
  "Pole z błędem bez powiązanego opisu": "Field with error without associated description",
  "Zweryfikuj, czy po błędzie fokus i czytnik ekranu odczytują właściwy komunikat dla konkretnego pola.": "Verify that after an error, focus and screen reader read the correct message for the specific field.",
  "Formularz bez podsumowania błędów": "Form without error summary",
  "Przy wielu błędach użytkownik może nie wiedzieć, które pola wymagają poprawy i w jakiej kolejności.": "With many errors, the user may not know which fields require fixes and in what order.",
  "Dodaj podsumowanie błędów na początku formularza, najlepiej z linkami do pól i live region dla czytników ekranu.": "Add an error summary at the top of the form, ideally with links to fields and a live region for screen readers.",
  "Sprawdź, czy podsumowanie aktualizuje się po submit, a linki przenoszą fokus do właściwych pól.": "Check that the summary updates after submit and links move focus to the correct fields.",
  "Pole wymagane bez stanu programowego": "Required field without programmatic state",
  "Dodaj required lub aria-required=\"true\" na polach wymaganych oraz aktualizuj aria-invalid przy błędzie.": "Add required or aria-required=\"true\" to required fields and update aria-invalid on error.",
  "Sprawdź scenariusze walidacji formularza i komunikaty błędów przy użyciu klawiatury i czytnika ekranu.": "Check form validation scenarios and error messages using keyboard and screen reader.",
  "Etykieta może nie zostać poprawnie odczytana, jeśli atrybut for wskazuje niewłaściwe pole.": "Label may not be read correctly if the `for` attribute points to the wrong field.",
  "Upewnij się, że label[for] wskazuje istniejące id właściwego pola i nie koliduje z etykietą zagnieżdżoną.": "Ensure label[for] points to existing id of the correct field and does not conflict with nested label.",
  "Zweryfikuj odczyt etykiety dla pola przez czytnik ekranu oraz kliknięcie etykiety myszą i klawiaturą.": "Verify field-label reading in screen reader and label click with mouse and keyboard.",
  "Element dostępny z klawiatury może zostać pominięty przez czytnik ekranu, jeśli ma aria-hidden=\"true\".": "A keyboard-accessible element may be skipped by screen reader if it has aria-hidden=\"true\".",
  "Sprawdź nawigację Tab oraz odczyt czytnika ekranu dla elementu po usunięciu aria-hidden.": "Check Tab navigation and screen-reader reading for the element after removing aria-hidden.",
  "Fokusowalny element wewnątrz kontenera aria-hidden może być aktywny, ale ukryty dla technologii asystujących.": "A focusable element inside aria-hidden container may be active but hidden from assistive technologies.",
  "Zweryfikuj scenariusze modal/offcanvas, aby nie odsłonić treści, które powinny pozostać ukryte poza aktywnym stanem.": "Verify modal/offcanvas scenarios to avoid exposing content that should stay hidden outside active state.",
  "Brak landmarku nagłówka strony": "Missing page-header landmark",
  "Landmark banner ułatwia użytkownikom szybkie przejście do nagłówka strony.": "Banner landmark helps users quickly jump to the page header.",
  "Dodaj role=\"banner\" do globalnego nagłówka albo upewnij się, że globalny <header> jest obecny.": "Add role=\"banner\" to global header or ensure global <header> is present.",
  "Sprawdź, czy nagłówek główny jest jednoznaczny i nie dubluje innych regionów strony.": "Check that the main header is unambiguous and does not duplicate other page regions.",
  "Landmark contentinfo pomaga użytkownikom szybko odszukać informacje końcowe o stronie.": "Contentinfo landmark helps users quickly find end-of-page information.",
  "Powtarzające się id mogą psuć relacje etykiet, odwołań ARIA i nawigacji po fragmencie.": "Duplicate ids can break label relationships, ARIA references, and fragment navigation.",
  "Zapewnij unikalne id dla każdego elementu i sprawdź odwołania for/aria-* do tych identyfikatorów.": "Ensure unique id for each element and verify for/aria-* references to those ids.",
  "Zweryfikuj działanie formularzy i komponentów JS po usunięciu duplikatów id.": "Verify form and JS component behavior after removing duplicate ids.",
  "Tytuł strony pomaga użytkownikom i czytnikom ekranu zrozumieć kontekst aktualnej podstrony.": "Page title helps users and screen readers understand current subpage context.",
  "Dodaj unikalny i opisowy element <title> dla każdej podstrony.": "Add a unique and descriptive <title> element for each subpage.",
  "Sprawdź, czy tytuł jest unikalny i odzwierciedla treść strony.": "Check that the title is unique and reflects page content.",
  "Brak landmarku głównej treści": "Missing main-content landmark",
  "Dodaj pojedynczy landmark głównej treści jako <main> lub ustaw role=\"main\" na kontenerze treści.": "Add one main-content landmark as <main> or set role=\"main\" on the content container.",
  "Sprawdź, czy na stronie jest tylko jeden aktywny landmark głównej treści.": "Check that there is only one active main-content landmark on the page.",
  "Przy wielu regionach nawigacji użytkownik powinien łatwo odróżnić ich przeznaczenie.": "With many navigation regions, the user should easily distinguish their purpose.",
  "Sprawdź listę landmarków w czytniku ekranu i upewnij się, że nazwy są jednoznaczne.": "Check landmark list in screen reader and ensure names are unambiguous.",
  "Regiony (`role=\"region\"`) bez nazwy utrudniają orientację na liście landmarków czytnika ekranu.": "Unnamed `role=\"region\"` regions make orientation in screen-reader landmark list harder.",
  "Nagłówek z rolą bez aria-level": "Heading with role without aria-level",
  "Ustaw aria-level w zakresie 1-6 albo użyj natywnych znaczników h1-h6.": "Set aria-level in range 1-6 or use native h1-h6 tags.",
  "Sprawdź spójność struktury nagłówków i czytelność dokumentu przy nawigacji po nagłówkach.": "Check heading structure consistency and document readability when navigating by headings.",
  "Oznacz formularz wyszukiwania jako <search> albo ustaw role=\"search\" na kontenerze wyszukiwarki.": "Mark search form as <search> or set role=\"search\" on the search container.",
  "Sprawdź listę landmarków w czytniku ekranu i potwierdź, że wyszukiwarka jest czytelnie nazwana.": "Check landmark list in screen reader and confirm the search is clearly named.",
  "Brak skip-linku": "Missing skip link",
  "Dodaj link „Przejdź do treści” wskazujący główny kontener treści.": "Add a \"Skip to content\" link targeting the main content container.",
  "Zweryfikuj, czy cel skip-linku istnieje i przyjmuje fokus.": "Verify that skip-link target exists and can receive focus.",
  "Skip-link bez poprawnego celu nie przenosi użytkownika do głównej treści i nie skraca nawigacji klawiaturą.": "A skip link without a valid target does not move user to main content and does not shorten keyboard navigation.",
  "Sprawdź działanie skip-linku klawiszem Tab oraz Enter i potwierdź, że fokus trafia do właściwego regionu.": "Check skip-link behavior with Tab and Enter and confirm focus goes to the correct region.",
  "Użytkownik czytnika ekranu może nie wiedzieć, czy sekcja sterowana przez kontrolkę jest rozwinięta czy zwinięta.": "A screen-reader user may not know whether the section controlled by a control is expanded or collapsed.",
  "Sprawdź scenariusze otwierania/zamykania (klik, Enter, Spacja), aby stan aria-expanded zawsze był zgodny z widocznością panelu.": "Check open/close scenarios (click, Enter, Space) so aria-expanded state always matches panel visibility.",
  "Niepoprawny stan aria-selected utrudnia użytkownikom technologii asystujących zrozumienie aktywnej karty.": "Incorrect aria-selected state makes it harder for assistive-technology users to identify active tab.",
  "Dla wszystkich elementów role=\"tab\" ustaw aria-selected na true/false i aktualizuj stan aktywnej karty przy interakcji.": "For all role=\"tab\" elements, set aria-selected to true/false and update active-tab state during interaction.",
  "Użyj jednej z wartości: page, step, location, date, time, true albo false.": "Use one of: page, step, location, date, time, true or false.",
  "Sprawdź, czy aria-current wskazuje właściwy element aktywny w nawigacji, paginacji i komponentach wieloetapowych.": "Check whether aria-current points to the correct active element in navigation, pagination, and multi-step components.",
  "Błędna wartość aria-invalid może zaburzać komunikowanie stanu walidacji pola formularza przez technologie asystujące.": "Invalid aria-invalid value may disrupt communication of field validation state for assistive technologies.",
  "Ustaw aria-invalid na false, true, grammar albo spelling zgodnie z faktycznym stanem pola.": "Set aria-invalid to false, true, grammar, or spelling according to the actual field state.",
  "Zweryfikuj, czy po normalizacji aria-invalid nadal odpowiada rzeczywistym błędom walidacji formularza.": "Verify that after normalization, aria-invalid still reflects actual form validation errors.",
  "Ustaw aria-haspopup na false, true, menu, listbox, tree, grid albo dialog zgodnie z typem otwieranego komponentu.": "Set aria-haspopup to false, true, menu, listbox, tree, grid, or dialog according to the opened component type.",
  "Błędna wartość aria-pressed może utrudniać zrozumienie stanu przycisku przełączającego (włączony/wyłączony/mieszany).": "Invalid aria-pressed value may make toggle button state harder to understand (on/off/mixed).",
  "Niepoprawna wartość aria-live może uniemożliwiać prawidłowe ogłaszanie dynamicznych komunikatów przez czytnik ekranu.": "Invalid aria-live value may prevent proper announcement of dynamic messages by screen readers.",
  "Ustaw aria-live na off, polite albo assertive zgodnie z ważnością komunikatu.": "Set aria-live to off, polite, or assertive according to message importance.",
  "Atrybuty ARIA wskazujące nieistniejące id utrudniają odczyt etykiet i opisów przez technologie asystujące.": "ARIA attributes pointing to missing IDs make labels and descriptions harder to read by assistive technologies.",
  "Po poprawce sprawdź, czy nazwa i opis elementu są nadal poprawnie odczytywane przez czytnik ekranu.": "After the fix, verify that the element name and description are still read correctly by screen readers.",
  "Przycisk bez dostępnej nazwy": "Button without accessible name",
  "Przycisk bez nazwy nie komunikuje działania użytkownikowi czytnika ekranu.": "A button without a name does not communicate its action to screen-reader users.",
  "Dodaj tekst przycisku lub aria-label / aria-labelledby zgodne z funkcją.": "Add button text or aria-label / aria-labelledby consistent with the function.",
  "Sprawdź, czy nazwa przycisku jest zrozumiała poza kontekstem wizualnym.": "Check whether button name is understandable outside visual context.",
  "Link bez dostępnej nazwy": "Link without accessible name",
  "Dodaj zrozumiały tekst linku lub aria-label / aria-labelledby opisujące cel odnośnika.": "Add understandable link text or aria-label / aria-labelledby describing link purpose.",
  "Sprawdź listę linków w czytniku ekranu i upewnij się, że każdy link ma jednoznaczną nazwę.": "Check the link list in screen reader and ensure each link has an unambiguous name.",
  "Kontrolka z rolą ARIA bez dostępnej nazwy": "Control with ARIA role without accessible name",
  "Zweryfikuj, czy auto-uzupełniona etykieta jest jednoznaczna i zgodna z faktyczną akcją kontrolki.": "Verify that auto-completed label is unambiguous and matches the control's actual action.",
  "Iframe bez dostępnego tytułu": "Iframe without accessible title",
  "Bez nazwy ramki użytkownik czytnika ekranu może nie wiedzieć, jaka treść jest osadzona i jaki ma cel.": "Without a frame name, screen-reader users may not know what content is embedded or its purpose.",
  "Ustaw opisowy atrybut title na iframe albo użyj aria-label / aria-labelledby.": "Set a descriptive `title` on iframe or use aria-label / aria-labelledby.",
  "Zweryfikuj, czy tytuł iframe jasno opisuje funkcję osadzonej treści, np. formularz, mapa lub wideo.": "Verify that iframe title clearly describes embedded content function, e.g. form, map, or video.",
  "Dialog/modal bez dostępnej nazwy": "Dialog/modal without accessible name",
  "Użytkownik czytnika ekranu powinien otrzymać nazwę okna dialogowego, aby zrozumieć jego cel.": "Screen-reader users should get a dialog name to understand its purpose.",
  "Sprawdź, czy po otwarciu modala czytnik ekranu odczytuje jego nazwę i fokus trafia do wnętrza okna.": "Check that after opening modal, screen reader reads its name and focus moves inside.",
  "Czytnik ekranu może użyć nieprawidłowej wymowy, gdy dokument nie definiuje języka.": "Screen reader may use incorrect pronunciation when document language is not defined.",
  "Ustaw lang (i opcjonalnie xml:lang) na elemencie <html>, zgodnie z językiem strony.": "Set `lang` (and optionally `xml:lang`) on `<html>` according to page language.",
  "Zweryfikuj, czy wartość języka odpowiada faktycznej wersji językowej treści.": "Verify that language value matches actual language of content.",
  "Błędny lub niespójny tag języka (lang/xml:lang) może powodować nieprawidłową wymowę i interpretację treści.": "Invalid or inconsistent language tag (lang/xml:lang) may cause incorrect pronunciation and interpretation.",
  "Użyj poprawnego tagu języka (np. pl-PL, en-US) i zapewnij spójność lang oraz xml:lang.": "Use a valid language tag (e.g. pl-PL, en-US) and keep lang/xml:lang consistent.",
  "Sprawdź, czy po normalizacji język strony nadal odpowiada faktycznej wersji treści.": "Check that after normalization page language still matches content language.",
  "Tabela danych bez dostępnej nazwy": "Data table without accessible name",
  "Nazwa tabeli pomaga użytkownikom technologii asystujących zrozumieć kontekst i przeznaczenie danych.": "Table name helps assistive-technology users understand context and purpose of data.",
  "Dodaj caption albo aria-label/aria-labelledby opisujące cel tabeli.": "Add `caption` or aria-label/aria-labelledby describing table purpose.",
  "Sprawdź, czy nazwa tabeli jest unikalna i zrozumiała dla użytkownika bez kontekstu wizualnego.": "Check that table name is unique and understandable without visual context.",
  "Tabela bez komórek nagłówkowych": "Table without header cells",
  "Bez nagłówków tabeli użytkownik technologii asystujących traci kontekst danych w komórkach.": "Without table headers, assistive-technology users lose context of data cells.",
  "Dodaj komórki <th> dla nagłówków kolumn/wierszy i uporządkuj strukturę tabeli.": "Add `<th>` cells for row/column headers and organize table structure.",
  "Sprawdź odczyt tabeli przez czytnik ekranu podczas przechodzenia po komórkach.": "Check table reading in screen reader while navigating through cells.",
  "Nagłówki tabeli bez scope": "Table headers without scope",
  "Brak scope utrudnia mapowanie relacji nagłówek-komórka w prostych tabelach.": "Missing scope makes header-cell relationship mapping harder in simple tables.",
  "Zweryfikuj logikę nagłówków także dla bardziej złożonych tabel wielopoziomowych.": "Verify header logic also for more complex multi-level tables.",
  "Użyj semantycznego elementu (np. button/link) albo dodaj tabindex, poprawną rolę i obsługę Enter/Spacja.": "Use a semantic element (e.g., button/link) or add tabindex, proper role, and Enter/Space handling.",
  "Zweryfikuj na urządzeniu dotykowym, że kluczowe akcje (menu, koszyk, checkout) są wygodne do kliknięcia.": "Verify on touch device that key actions (menu, cart, checkout) are easy to tap.",
  "Autoodtwarzane media bez opcji zatrzymania mogą utrudniać odbiór treści i nawigację użytkownikom technologii asystujących.": "Autoplay media without stop option may hinder content consumption and navigation for assistive-technology users.",
  "Wyłącz autoplay lub dodaj łatwo dostępne kontrolki pauzy/zatrzymania (np. controls dla audio/video).": "Disable autoplay or add easily accessible pause/stop controls (e.g., `controls` for audio/video).",
  "Zweryfikuj, czy użytkownik może szybko zatrzymać dźwięk/wideo klawiaturą i czytnikiem ekranu.": "Verify user can quickly stop audio/video with keyboard and screen reader.",
  "Przy nawigacji klawiaturą fokus lub cel przewinięcia może trafić pod stały nagłówek, co utrudnia orientację.": "During keyboard navigation, focus or scroll target may land under sticky header, making orientation harder.",
  "Sprawdź TAB oraz skip-link na stronach z przyklejonym nagłówkiem, także na mobile i w różnych viewportach.": "Check TAB and skip link on pages with sticky header, also on mobile and across viewports.",
  "Zweryfikuj pełną ścieżkę TAB po zmianach, szczególnie w menu, modalach i formularzach wieloetapowych.": "Verify full TAB path after changes, especially in menus, modals, and multi-step forms.",
  "Sprawdź pinch-zoom na iOS/Android i upewnij się, że skala może wzrosnąć powyżej 100%.": "Check pinch-zoom on iOS/Android and ensure scale can increase above 100%.",
  "Użytkownik klawiatury może nie wiedzieć, który element jest aktualnie aktywny.": "Keyboard users may not know which element is currently active.",
  "Sprawdź fokus także na komponentach tworzonych przez buildery i JS.": "Check focus also on components created by builders and JS.",
  "Zmiany statusu koszyka/checkout mogą nie być ogłaszane przez czytniki ekranu.": "Cart/checkout status changes may not be announced by screen readers.",
  "Przetestuj koszyk i checkout z czytnikiem ekranu na realnych scenariuszach.": "Test cart and checkout with a screen reader in real scenarios.",
  "Wykryto problem, który wymaga ręcznej analizy kontekstu strony.": "An issue was detected that requires manual analysis of page context.",
  "Przeanalizuj wskazany fragment i popraw semantykę, etykiety lub nawigację.": "Analyze the indicated fragment and improve semantics, labels, or navigation.",
  "Wykonaj test klawiaturą i czytnikiem ekranu po wdrożeniu poprawki.": "Run keyboard and screen-reader test after deploying the fix.",
  "Podaj klucz licencji Pro, aby rozpocząć aktywację.": "Provide the Pro license key to start activation.",
  "Oczekuje na aktywację": "Pending activation",
  "Błąd aktywacji": "Activation error",
  "Podstawowy skan URL dostępny w wersji Free.": "Basic URL scan available in Free version.",
  "Automatyczne, okresowe skany z zapisem wyników.": "Automatic periodic scans with saved results.",
  "Worker kolejki, retry i przetwarzanie zadań partiami.": "Queue worker, retries, and batch task processing.",
  "Porównanie trendów skanów i wykrywanie regresji między wydaniami.": "Scan trend comparison and regression detection between releases.",
  "Przypisania, terminy, komentarze i statusy zadań dla błędów WCAG.": "Assignments, deadlines, comments, and task statuses for WCAG errors.",
  "Integracje z pipeline CI/CD i automatyczne bramki jakości dostępności.": "Integrations with CI/CD pipeline and automatic accessibility quality gates.",
  "Nie wykryto aktywnego dodatku Pro obsługującego aktywację licencji.": "No active Pro add-on handling license activation detected.",
  "dzieci już wycofane: %d": "children already rolled back: %d",
  "Rollback batch: dzieci już wycofane": "Rollback batch: children already rolled back",
  "Wykryto inne aktywne narzędzia dostępności": "Other active accessibility tools detected",
  "Aktywne wtyczki: %s. Równoległe użycie paneli preferencji może dublować przyciski, style i skróty klawiaturowe.": "Active plugins: %s. Parallel use of preference panels may duplicate buttons, styles, and keyboard shortcuts.",
  "Aktywne wtyczki: %s. Sprawdź komponenty interaktywne, aby uniknąć podwójnych nasłuchów i niespójnych stanów ARIA.": "Active plugins: %s. Check interactive components to avoid duplicated listeners and inconsistent ARIA states.",
  "Wykryto buildery: %s. Po włączeniu napraw interaktywnych wykonaj smoke test menu, accordionów, tabów i modali.": "Detected builders: %s. After enabling interactive fixes, run smoke tests for menus, accordions, tabs, and modals.",
  "Aktywne remediacje bez potwierdzenia w wybranym skanie": "Active remediations without confirmation in selected scan",
  "Dla części aktywnych remediacji nie wykryto odpowiadających błędów w aktualnie podglądanym skanie. Zweryfikuj, czy zmiany nie są zbędne i nie dublują logiki motywu.": "For some active remediations, no matching errors were detected in the currently previewed scan. Verify changes are not redundant and do not duplicate theme logic.",
  "Przejdź do treści głównej": "Skip to main content",
  "Włączono preset czytelności.": "Readability preset enabled.",
  "Panel dostępności gotowy.": "Accessibility toolbar ready.",
  "Formularz zawiera błędy. Popraw następujące pola: %d.": "Form contains errors. Fix the following fields: %d.",
  "Wzmocnij widoczność fokusu": "Enhance focus visibility",
  "Dodaj landmark nagłówka (banner)": "Add header landmark (banner)",
  "Gdy brak landmarku banner, ustawia role=\"banner\" na globalnym nagłówku strony.": "When banner landmark is missing, sets role=\"banner\" on global page header.",
  "Wykrywa zduplikowane id i nadaje unikalne wartości kolejnym wystąpieniom.": "Detects duplicate IDs and assigns unique values to subsequent occurrences.",
  "Dodaj landmark głównej treści (main)": "Add main-content landmark (main)",
  "Gdy nie wykryto <main>/role=\"main\", ustawia role=\"main\" na najbliższym kontenerze treści.": "When <main>/role=\"main\" is not detected, sets role=\"main\" on the nearest content container.",
  "Gdy na stronie jest wiele nawigacji, uzupełnia brakujące aria-label unikalnymi nazwami.": "When page has multiple navigations, fills missing aria-label with unique names.",
  "Dla nienazwanych regionów (`role=\"region\"`) ustawia aria-label na podstawie nagłówka lub etykiety awaryjnej.": "For unnamed regions (`role=\"region\"`), sets aria-label based on heading or fallback label.",
  "Gdy wykryto formularz wyszukiwania bez landmarku, ustawia role=\"search\" na odpowiednim kontenerze.": "When search form without landmark is detected, sets role=\"search\" on the appropriate container.",
  "Wstrzykuje link „Przejdź do treści głównej”, naprawia cel skip-linku i zapewnia fokusowalność targetu.": "Injects \"Skip to main content\" link, fixes skip-link target, and ensures target can receive focus.",
  "Dla kontrolek z aria-controls uzupełnia brakujący aria-expanded, normalizuje błędne wartości i synchronizuje stan po kliknięciu.": "For controls with aria-controls, fills missing aria-expanded, normalizes invalid values, and syncs state after click.",
  "Dla elementów role=\"tab\" bez poprawnego aria-selected ustawia i synchronizuje stan aktywnej karty.": "For role=\"tab\" elements without valid aria-selected, sets and synchronizes active tab state.",
  "Dla elementów z niepoprawnym aria-current ustawia bezpieczną, dozwoloną wartość zgodną z kontekstem.": "For elements with invalid aria-current, sets a safe allowed value matching context.",
  "Dla elementów z niepoprawnym aria-invalid ustawia bezpieczną, dozwoloną wartość zgodną ze stanem walidacji pola.": "For elements with invalid aria-invalid, sets a safe allowed value matching field validation state.",
  "Dla elementów z niepoprawnym aria-haspopup ustawia bezpieczną, dozwoloną wartość zgodną z typem wyskakującego komponentu.": "For elements with invalid aria-haspopup, sets a safe allowed value matching popup component type.",
  "Dla elementów z niepoprawnym aria-pressed ustawia bezpieczną, dozwoloną wartość zgodną z kontekstem kontrolki.": "For elements with invalid aria-pressed, sets a safe allowed value matching control context.",
  "Dla elementów z niepoprawnym aria-live ustawia bezpieczną wartość (off/polite/assertive) zależnie od kontekstu.": "For elements with invalid aria-live, sets a safe value (off/polite/assertive) based on context.",
  "Uzupełnij alt dla obrazów bez opisu": "Fill alt for images without description",
  "Uzupełnij alt dla przycisków obrazkowych": "Fill alt for image buttons",
  "Dla input type=\"image\" bez dostępnej nazwy ustawia alt na podstawie bezpiecznej heurystyki (title, etykieta pola, nazwa pliku).": "For input type=\"image\" without accessible name, sets alt based on safe heuristics (title, field label, filename).",
  "Uzupełnij aria-label dla przycisków bez nazwy": "Fill aria-label for unnamed buttons",
  "Dla przycisków bez nazwy ustawia awaryjne aria-label.": "For unnamed buttons, sets fallback aria-label.",
  "Dla linków bez nazwy ustawia awaryjne aria-label na bazie title lub etykiety zastępczej.": "For unnamed links, sets fallback aria-label based on title or fallback label.",
  "Dla elementów dialogowych bez nazwy ustawia aria-label na podstawie nagłówka lub etykiety awaryjnej.": "For unnamed dialog elements, sets aria-label based on heading or fallback label.",
  "Wykrywa fokusowalne elementy lub ich kontenery z aria-hidden=\"true\" i usuwa konfliktujący atrybut.": "Detects focusable elements (or containers) with aria-hidden=\"true\" and removes conflicting attribute.",
  "Wykrywa elementy z tabindex > 0 i ustawia tabindex=\"0\", aby przywrócić bardziej przewidywalną kolejność TAB.": "Detects elements with tabindex > 0 and sets tabindex=\"0\" to restore more predictable TAB order.",
  "Uzupełnia brakujący język dokumentu i normalizuje niepoprawne lub niespójne wartości lang/xml:lang.": "Fills missing document language and normalizes invalid or inconsistent lang/xml:lang values.",
  "Dla tabel danych bez caption i etykiet ARIA ustawia bezpieczny aria-label.": "For data tables without caption/ARIA labels, sets safe aria-label.",
  "Uzupełnij nagłówki tabeli (<th>)": "Fill table headers (<th>)",
  "W prostych tabelach bez nagłówków zamienia komórki pierwszego wiersza na <th>.": "In simple tables without headers, converts first-row cells to <th>.",
  "Uzupełnij scope dla nagłówków tabeli": "Fill scope for table headers",
  "Gdy pole formularza nie ma nazwy, używa placeholdera jako awaryjnej etykiety ARIA.": "When form field has no name, uses placeholder as fallback ARIA label.",
  "Uzupełnij etykiety grup pól wyboru": "Fill labels for choice-field groups",
  "Napraw relacje label[for] w formularzach": "Fix label[for] relationships in forms",
  "Uzupełnij aria-required dla pól wymaganych": "Fill aria-required for required fields",
  "Powiąż pola z komunikatami błędów (aria-describedby)": "Link fields with error messages (aria-describedby)",
  "Wykrywa komunikaty błędów formularza i przypisuje je do pól przez aria-describedby oraz aria-invalid.": "Detects form error messages and links them to fields via aria-describedby and aria-invalid.",
  "Dodaj podsumowanie błędów formularza": "Add form error summary",
  "Przenieś fokus do pierwszego błędu formularza": "Move focus to first form error",
  "Pokaż panel preferencji dostępności": "Show accessibility preferences panel",
  "Włącza skróty Alt+Shift do szybkiej zmiany ustawień dostępności.": "Enables Alt+Shift shortcuts for quick accessibility setting changes.",
  "Nieprawidłowy identyfikator wpisu do aktualizacji.": "Invalid entry identifier for update.",
  "Nie udało się zapisać zmian source-fix dla meta \"%s\".": "Failed to save source-fix changes for meta \"%s\".",
  "Naprawy źródłowe działają bezpośrednio w post_content.": "Source fixes operate directly on post_content.",
  "Naprawy źródłowe obejmują treści shortcode zapisane w post_content.": "Source fixes include shortcode content saved in post_content.",
  "Część treści jest trzymana w meta buildera. Po auto-fix wykonaj test i w razie potrzeby zapisz korektę w edytorze Elementor.": "Some content is stored in builder meta. After auto-fix, run tests and if needed save correction in Elementor editor.",
  "Część treści jest trzymana w meta buildera. Po auto-fix wykonaj test i w razie potrzeby zapisz korektę w edytorze Bricks.": "Some content is stored in builder meta. After auto-fix, run tests and if needed save correction in Bricks editor.",
  "Nierozpoznany builder: naprawy źródłowe wymagają ręcznego testu po wdrożeniu.": "Unrecognized builder: source fixes require manual testing after deployment.",
  "Brak URL skanu do naprawy źródłowej.": "Missing scan URL for source fix.",
  "Nie udało się przypisać URL skanu do edytowalnej strony/wpisu WordPress.": "Failed to map scan URL to editable WordPress page/post.",
  "Nie znaleziono wpisu WordPress dla wskazanego URL.": "WordPress post/page was not found for the specified URL.",
  "Dodano aria-required dla pola wymaganego": "Added aria-required for required field",
  "Dodano autocomplete dla pola formularza": "Added autocomplete for form field",
  "Dodano aria-label dla pola bez etykiety": "Added aria-label for unlabeled field",
  "Dodano nazwę przycisku przez aria-label": "Added button name via aria-label",
  "Dodano nazwę przycisku input przez aria-label": "Added input button name via aria-label",
  "Dodano nazwę linku przez aria-label": "Added link name via aria-label",
  "Dodano role=\"banner\" dla nagłówka strony": "Added role=\"banner\" for page header",
  "Uzupełniono pusty tytuł strony": "Filled empty page title",
  "Dodano landmark głównej treści (role=\"main\")": "Added main-content landmark (role=\"main\")",
  "Uzupełniono aria-level=\"2\" dla role=\"heading\"": "Filled aria-level=\"2\" for role=\"heading\"",
  "Naprawiono cel skip-linku (href)": "Fixed skip-link target (href)",
  "Dodano skip-link do treści głównej": "Added skip link to main content",
  "[brak skip-linku]": "[missing skip link]",
  "Wyłączono autoplay i dodano controls dla media": "Disabled autoplay and added controls for media",
  "Dodano powiązanie pola z komunikatem błędu": "Added field-to-error-message association",
  "Dodano podsumowanie błędów formularza": "Added form error summary",
  "Dodano role=\"search\" dla formularza wyszukiwania": "Added role=\"search\" for search form",
  "Zmieniono komórkę tabeli na nagłówkową <th>": "Changed table cell to header <th>",
  "Dodano scope dla komórki nagłówkowej tabeli": "Added scope for table header cell",
  "Przejdź do sekcji": "Go to section",
  "Przygotowano cel skip-linku (id + fokus)": "Prepared skip-link target (id + focus)",
  "Element z aria-hidden=\"true\" nie powinien zawierać potomków, którzy mogą otrzymać fokus.": "Element with aria-hidden=\"true\" should not contain descendants that can receive focus.",
  "Kontener aria-hidden zawiera fokusowalny element potomny, co może ukrywać aktywne kontrolki przed czytnikiem ekranu.": "aria-hidden container contains a focusable descendant, which may hide active controls from screen reader.",
  "Media uruchamiane automatycznie powinny mieć łatwo dostępny mechanizm pauzy/zatrzymania (np. natywne kontrolki).": "Automatically started media should provide an easily accessible pause/stop mechanism (e.g., native controls).",
  "Etykiety label[for] powinny wskazywać istniejące i właściwe pola formularza.": "label[for] labels should point to existing and correct form fields.",
  "Etykieta label[for] wskazuje nieistniejące id pola formularza.": "label[for] points to a non-existing form-field id.",
  "Etykieta label[for] wskazuje element, który nie jest wspieranym polem formularza.": "label[for] points to an element that is not a supported form field.",
  "Etykieta label[for] wskazuje inne pole niż kontrolka zagnieżdżona wewnątrz tej etykiety.": "label[for] points to a different field than the control nested inside this label.",
  "Atrybut id powinien być unikalny w obrębie całego dokumentu.": "`id` attribute should be unique within the whole document.",
  "Możliwy problem: fokus zasłaniany przez sticky header": "Possible issue: focus obscured by sticky header",
  "Przy stałym nagłówku (fixed/sticky) fokus i cel przewijania powinny pozostać widoczne i nie mogą być zasłonięte.": "With fixed/sticky header, focus and scroll target should remain visible and not be obscured.",
  "Wykryto prawdopodobny nagłówek fixed/sticky i brak jawnych offsetów przewijania dla fokusu (scroll-margin-top/scroll-padding-top). Wymagana weryfikacja ręczna.": "Probable fixed/sticky header detected and explicit focus scroll offsets missing (scroll-margin-top/scroll-padding-top). Manual verification required.",
  "Elementy, które mogą otrzymać fokus, nie powinny być ukryte dla technologii asystujących przez aria-hidden=\"true\".": "Elements that can receive focus should not be hidden from assistive technologies by aria-hidden=\"true\".",
  "Element może otrzymać fokus, ale ma aria-hidden=\"true\", więc może być pomijany przez czytnik ekranu.": "Element can receive focus, but has aria-hidden=\"true\", so it may be skipped by screen reader.",
  "Atrybut aria-controls powinien wskazywać istniejące id kontrolowanego elementu.": "aria-controls attribute should point to an existing controlled element id.",
  "Atrybut aria-current powinien mieć jedną z dozwolonych wartości: page/step/location/date/time/true/false.": "aria-current should have one of allowed values: page/step/location/date/time/true/false.",
  "Atrybut aria-expanded powinien mieć wartość true albo false dla kontrolek rozwijania/zwijania.": "aria-expanded should be true or false for expand/collapse controls.",
  "Atrybut aria-haspopup powinien mieć wartość false, true, menu, listbox, tree, grid albo dialog.": "aria-haspopup should be false, true, menu, listbox, tree, grid, or dialog.",
  "Atrybut aria-invalid powinien mieć wartość false, true, grammar albo spelling.": "aria-invalid should be false, true, grammar, or spelling.",
  "Atrybut aria-live powinien mieć wartość off, polite albo assertive.": "aria-live should be off, polite, or assertive.",
  "Atrybut aria-pressed powinien mieć wartość true, false, mixed albo undefined.": "aria-pressed should be true, false, mixed, or undefined.",
  "Atrybuty ARIA idref (np. aria-labelledby, aria-describedby) powinny wskazywać istniejące id.": "ARIA idref attributes (e.g., aria-labelledby, aria-describedby) should point to existing ids.",
  "Atrybuty lang/xml:lang na <html> powinny zawierać poprawny tag języka.": "lang/xml:lang attributes on <html> should contain a valid language tag.",
  "Skip-link powinien wskazywać istniejący i fokusowalny cel w obrębie strony.": "Skip link should point to an existing focusable target within the page.",
  "Cel skip-linku istnieje, ale prawdopodobnie nie przyjmuje fokusu klawiatury.": "Skip-link target exists but probably does not receive keyboard focus.",
  "Elementy z role=\"tab\" powinny mieć aria-selected z wartością true/false.": "role=\"tab\" elements should have aria-selected set to true/false.",
  "Wykrywa elementy tekstowe ze stylem inline, gdzie kontrast color/background-color jest zbyt niski.": "Detects text elements with inline styles where color/background-color contrast is too low.",
  "Element sterujący rozwijaniem sekcji powinien komunikować stan przez aria-expanded.": "Section expand/collapse control should expose its state through aria-expanded.",
  "Brak landmarku nagłówka strony (banner)": "Missing page-header landmark (banner)",
  "Strona powinna mieć region nagłówka jako role=\"banner\" lub globalny <header>.": "Page should include a header region as role=\"banner\" or global <header>.",
  "Przyciski powinny mieć widoczny tekst lub nazwę opartą o ARIA.": "Buttons should have visible text or an ARIA-based name.",
  "Przycisk prawdopodobnie nie ma dostępnej nazwy.": "Button likely has no accessible name.",
  "Przycisk input prawdopodobnie nie ma dostępnej nazwy.": "Input button likely has no accessible name.",
  "Elementy dialogowe (dialog/alertdialog) powinny mieć nazwę przez aria-label albo aria-labelledby.": "Dialog elements (dialog/alertdialog) should have a name via aria-label or aria-labelledby.",
  "Dialog/modal nie ma dostępnej nazwy (aria-label / aria-labelledby).": "Dialog/modal has no accessible name (aria-label / aria-labelledby).",
  "Element <html> powinien definiować język strony przez lang lub xml:lang.": "Element <html> should define page language via lang or xml:lang.",
  "Nie udało się potwierdzić atrybutu języka dokumentu na elemencie <html>.": "Could not confirm document language attribute on <html> element.",
  "Strona powinna definiować widoczne wskaźniki fokusu dla elementów interaktywnych.": "Page should define visible focus indicators for interactive elements.",
  "2.4.7 Widoczny fokus": "2.4.7 Visible focus",
  "Nie znaleziono wzorca CSS fokusu w znacznikach strony. Dla zewnętrznych arkuszy stylów potrzebna jest weryfikacja ręczna.": "No CSS focus pattern found in page markup. Manual verification is needed for external stylesheets.",
  "Formularz z wieloma błędami powinien prezentować podsumowanie problemów i ułatwiać przejście do błędnych pól.": "A form with multiple errors should present an error summary and make it easier to move to invalid fields.",
  "Formularz ma %d pól w stanie błędu, ale nie wykryto podsumowania błędów z nawigacją do pól.": "Form has %d fields in error state, but no error summary with field navigation was detected.",
  "Grupy radio/checkbox powinny mieć wspólną etykietę grupy (np. fieldset + legend lub role=\"group\"/\"radiogroup\" z nazwą).": "Radio/checkbox groups should have a shared group label (e.g., fieldset + legend or role=\"group\"/\"radiogroup\" with a name).",
  "Wykryto grupę pól wyboru bez wspólnej etykiety grupy (fieldset/legend lub role=\"group\"/\"radiogroup\" z nazwą).": "Detected a choice-field group without a shared group label (fieldset/legend or role=\"group\"/\"radiogroup\" with a name).",
  "Pola input, select i textarea powinny mieć dostępną nazwę.": "Input, select, and textarea fields should have an accessible name.",
  "Pole input prawdopodobnie nie ma powiązanej etykiety.": "Input field likely has no associated label.",
  "%s prawdopodobnie nie ma powiązanej etykiety.": "%s likely has no associated label.",
  "Elementy z role=\"heading\" powinny mieć poprawny aria-level (1-6).": "Elements with role=\"heading\" should have valid aria-level (1-6).",
  "Osadzone ramki iframe powinny mieć dostępny tytuł (title lub aria-label/aria-labelledby), aby użytkownik znał ich cel.": "Embedded iframes should have an accessible title (title or aria-label/aria-labelledby) so users know their purpose.",
  "Element iframe nie ma dostępnego tytułu (title / aria-label / aria-labelledby).": "Iframe element has no accessible title (title / aria-label / aria-labelledby).",
  "input type=\"image\" powinien mieć alt lub inną nazwę dostępną.": "input type=\"image\" should have alt or another accessible name.",
  "Przycisk typu image nie ma alt ani innej dostępnej nazwy.": "Image-type button has no alt and no other accessible name.",
  "Obrazy powinny mieć atrybut alt (puste alt jest poprawne dla elementów dekoracyjnych).": "Images should have an alt attribute (empty alt is valid for decorative elements).",
  "Pola danych osobowych i kontaktowych powinny mieć poprawny token autocomplete.": "Personal/contact data fields should have a valid autocomplete token.",
  "Elementy aktywowane myszą powinny być fokusowalne i reagować na klawisze Enter/Spacja.": "Mouse-activated elements should be focusable and respond to Enter/Space keys.",
  "Linki interaktywne powinny mieć nazwę dostępną dla technologii asystujących.": "Interactive links should have an accessible name for assistive technologies.",
  "Link prawdopodobnie nie ma dostępnej nazwy.": "Link likely has no accessible name.",
  "Brak landmarku głównej treści (main)": "Missing main-content landmark (main)",
  "Strona powinna mieć główny landmark treści jako <main> albo role=\"main\".": "Page should have a main-content landmark as <main> or role=\"main\".",
  "Nie wykryto landmarku głównej treści (<main> lub role=\"main\").": "Main-content landmark not detected (<main> or role=\"main\").",
  "Gdy strona ma wiele regionów nawigacji, każdy powinien mieć czytelną nazwę.": "When page has multiple navigation regions, each should have a clear name.",
  "Wiele regionów nawigacji wymaga odrębnych nazw (np. aria-label).": "Multiple navigation regions require distinct names (e.g., aria-label).",
  "Elementy z role=\"region\" powinny mieć dostępną nazwę (aria-label lub aria-labelledby).": "Elements with role=\"region\" should have an accessible name (aria-label or aria-labelledby).",
  "Landmark region powinien mieć czytelną nazwę (np. aria-label/aria-labelledby).": "A landmark region should have a clear name (e.g., aria-label/aria-labelledby).",
  "Pole oznaczone wizualnie jako wymagane powinno mieć required lub aria-required=\"true\".": "A field visually marked as required should have required or aria-required=\"true\".",
  "3.3.2 Etykiety lub instrukcje": "3.3.2 Labels or instructions",
  "Pole wygląda na wymagane (np. gwiazdka lub klasa required), ale nie ma required/aria-required.": "Field looks required (e.g., asterisk or `required` class) but lacks required/aria-required.",
  "Elementy z interaktywną rolą ARIA powinny mieć nazwę dostępną dla technologii asystujących.": "Elements with interactive ARIA role should have an accessible name for assistive technologies.",
  "Element z rolą sterującą ARIA prawdopodobnie nie ma dostępnej nazwy.": "Element with interactive ARIA role likely has no accessible name.",
  "Formularz wyszukiwania powinien być oznaczony landmarkiem search (np. role=\"search\").": "Search form should be marked with search landmark (e.g., role=\"search\").",
  "Strona powinna udostępniać skip-link, aby ominąć powtarzalne bloki treści.": "Page should provide a skip link to bypass repeated content blocks.",
  "Nie wykryto oczywistego skip-linku na stronie.": "No obvious skip link detected on page.",
  "Tabela danych powinna zawierać komórki nagłówkowe <th> lub poprawnie zdefiniowane relacje nagłówków.": "Data table should contain <th> header cells or correctly defined header relationships.",
  "Tabela danych nie zawiera komórek nagłówkowych <th>.": "Data table has no <th> header cells.",
  "Komórki <th> w prostych tabelach danych powinny mieć określony atrybut scope (row/col).": "<th> cells in simple data tables should define scope (row/col).",
  "Komórka nagłówkowa <th> nie ma scope (row/col) ani alternatywnego mapowania id/headers.": "<th> header cell has no scope (row/col) or alternative id/headers mapping.",
  "Tabela danych powinna mieć dostępną nazwę, np. caption lub aria-label/aria-labelledby.": "Data table should have an accessible name, e.g., caption or aria-label/aria-labelledby.",
  "Tabela danych nie ma dostępnej nazwy (caption / aria-label / aria-labelledby).": "Data table has no accessible name (caption / aria-label / aria-labelledby).",
  "Interaktywne elementy powinny mieć odpowiedni rozmiar celu dotykowego (minimum 24x24 CSS px, z wyjątkami).": "Interactive elements should have adequate touch target size (minimum 24x24 CSS px, with exceptions).",
  "Meta viewport nie powinien blokować pinch-zoom (np. user-scalable=no, maximum-scale<2).": "Meta viewport should not block pinch-zoom (e.g., user-scalable=no, maximum-scale<2).",
  "Komunikaty błędów i statusów w WooCommerce powinny używać aria-live lub role=alert/status.": "WooCommerce error/status messages should use aria-live or role=alert/status.",
  "Zadanie kolejki ma nieprawidłowy adres URL.": "Queue task has an invalid URL.",
  "Accessibility Radar: Kolejkuj skan URL": "Accessibility Radar: Queue URL scan",
  "Filtr CI gate": "CI gate filter",
  "Zapamiętywanie filtra: ostatni wybór jest zapisywany dla Twojego konta.": "Filter memory: your last choice is saved for your account.",
  "Uwaga: ta operacja jest nieodwracalna i wykona się dopiero podczas odinstalowania wtyczki.": "Warning: this operation is irreversible and will run only during plugin uninstall.",
  "Wersja wtyczki": "Plugin version",
  "Status": "Status",
  "Limity PHP": "PHP limits",
  "Integracje": "Integrations",
  "Rozszerzenia PHP": "PHP extensions",
  "Scorecard kompatybilności builderów": "Builder compatibility scorecard",
  "Odśwież stan runtime": "Refresh runtime status",
  "Poziom WCAG": "WCAG level",
  "Zasada": "Principle",
  "Cechy sensoryczne": "Sensory characteristics",
  "Orientacja": "Orientation",
  "Skan pojedynczego URL": "Single URL scan",
  "Agresywne skalowanie tekstu (fallback dla builderów z twardym px)": "Aggressive text scaling (fallback for builders with hard-coded px)",
  "Tryb Rendered DOM wymaga integracji przez filtr wcag_guard_rendered_scan_payload. W razie braku integracji tryb fallback użyje HTML serwera.": "Rendered DOM mode requires integration via the wcag_guard_rendered_scan_payload filter. If integration is missing, fallback mode will use server HTML.",
  "Wprowadź klucz licencji Pro": "Enter Pro license key",
  "Brak danych do scorecardu kompatybilności builderów.": "No data for the builder compatibility scorecard.",
  "Wynik": "Result",
  "Brak danych do oceny kompatybilności builderów.": "No data for builder compatibility assessment.",
  "Pozycja okienka (tryb pływający)": "Widget position (floating mode)",
  "Filtry macierzy WCAG": "WCAG matrix filters",
  "Filtruj macierz": "Filter matrix",
  "Poziomy w bieżącym widoku: A = %1$d, AA = %2$d (łącznie %3$d).": "Levels in the current view: A = %1$d, AA = %2$d (total %3$d).",
  "Aktywne filtry: pokazano %1$d z %2$d kryteriów.": "Active filters: showing %1$d of %2$d criteria.",
  "Obszar": "Area",
  "Poziom": "Level",
  "Wszystkie poziomy": "All levels",
  "Poziom A": "Level A",
  "Poziom AA": "Level AA",
  "Keyboard Access: presety kompatybilności": "Keyboard Access: compatibility presets",
  "Runtime guard: budżet startowy (ms)": "Runtime guard: startup budget (ms)",
  "Runtime guard: budżet mutacji DOM (ms)": "Runtime guard: DOM mutation budget (ms)",
  "Filtry nie zwróciły żadnych błędów. Brak akcji do wykonania.": "Filters returned no errors. No actions to execute.",
  "Profil: WooCommerce / checkout (safe-page)": "Profile: WooCommerce / checkout (safe-page)",
  "Profil runtime": "Runtime profile",
  "Uwaga: wynik może być ucięty przez limit eksportu.": "Warning: the result may be truncated by the export limit.",
  "Zbyt mały obszar klikalny (target)": "Clickable target too small",
  "Koszyk": "Cart",
  "Zamówienie": "Checkout",
  "Skan stron WooCommerce": "WooCommerce page scan",
  "Szybki skan kluczowych stron sklepu w wersji Free.": "Quick scan of key store pages in the Free version.",
  "Pełny crawl wielostronicowy oraz wyniki zbiorcze.": "Full multi-page crawl and aggregated results.",
  "Panel: tryb wyższego kontrastu": "Panel: high-contrast mode",
  "Układ mieszany: skuteczność zależy od tego, który fragment trafia do post_content. Zweryfikuj wynik po wdrożeniu.": "Mixed layout: effectiveness depends on which fragment lands in post_content. Verify the result after deployment.",
  "HTML serwera (szybki, bez JS)": "Server HTML (fast, without JS)",
  "Tryb Rendered DOM jest wymagany, ale nie zwrócono wyrenderowanego HTML przez integrację.": "Rendered DOM mode is required, but no rendered HTML was returned via integration.",
  "Koryguje błędne lub brakujące powiązania label[for] dla pojedynczych pól zagnieżdżonych w etykiecie.": "Fixes invalid or missing label[for] associations for single fields nested inside labels.",
  "Możesz skanować tylko adresy URL z tej samej witryny WordPress.": "You can only scan URLs from the same WordPress site.",
  "Szukaj": "Search",
  "Wyczyść filtry": "Clear filters",
  "Wszystkie statusy CI gate": "All CI gate statuses",
  "Szybkie liczniki:": "Quick counters:",
  "FAIL: %d": "FAIL: %d",
  "WARN: %d": "WARN: %d",
  "Stary skan: %d": "Stale scan: %d",
  "Legenda CI gate:": "CI gate legend:",
  "FAIL: przekroczone progi jakości.": "FAIL: quality thresholds exceeded.",
  "WARN: wymagana weryfikacja redakcyjna.": "WARN: editorial verification required.",
  "PASS: gotowe do publikacji.": "PASS: ready to publish.",
  "N/A: brak baseline skanu.": "N/A: no scan baseline.",
  "Brak skanu: uruchom skan URL.": "No scan: run a URL scan.",
  "Stary skan: przekroczony limit wieku.": "Stale scan: age limit exceeded.",
  "Sprawdź CI gate": "Check CI gate",
  "Kolejkuj skan URL": "Queue URL scan",
  "Wpis #%d": "Entry #%d",
  "Skan #%d": "Scan #%d",
  "CI gate dla wpisu #%1$d: %2$s": "CI gate for entry #%1$d: %2$s",
  "Dodano URL wpisu #%d do kolejki skanowania.": "Added URL of entry #%d to the scan queue.",
  "Worker kolejki nie został zaplanowany. Sprawdź ustawienia kolejki asynchronicznej.": "Queue worker was not scheduled. Check async queue settings.",
  "Nie udało się dodać URL wpisu #%d do kolejki.": "Could not add URL of entry #%d to the queue.",
  "Ostatni skan przekracza ustawiony limit wieku (%s).": "Latest scan exceeds configured age limit (%s).",
  "Ostatni skan przekracza ustawiony limit wieku.": "Latest scan exceeds configured age limit.",
  "Wiek skanu: %s": "Scan age: %s",
  "mniej niż minuta temu": "less than a minute ago",
  "Stary skan": "Stale scan",
  "Brak skanu": "No scan",
  "Dodano %1$d z %2$d adresów URL do kolejki skanowania.": "Added %1$d of %2$d URLs to the scan queue.",
  "Pominięto %d adresów URL (duplikaty lub brak kwalifikacji).": "Skipped %d URLs (duplicates or not eligible).",
  "Worker kolejki nie został zaplanowany. Sprawdź ustawienia kolejki asynchronicznej w panelu skanowania.": "Queue worker was not scheduled. Check async queue settings in the scanning panel.",
  "Nie dodano żadnych URL-i do kolejki. Sprawdź zaznaczone wpisy i ich adresy docelowe.": "No URLs were added to the queue. Check selected entries and their target URLs.",
  "Brak baseline (poprzedniego skanu) dla tego URL, a polityka CI gate wymaga baseline.": "No baseline (previous scan) for this URL, and CI gate policy requires baseline.",
  "Przekroczono timeout blokady zadania kolejki.": "Queue task lock timeout exceeded.",
  "Nieznany błąd kolejki skanów.": "Unknown scan queue error.",
  "Wykryto problem dostępności przez integrację zewnętrzną.": "Accessibility issue detected via external integration.",
  "Publish gate (przed publikacją)": "Publish gate (before publishing)",
  "Dodatkowa kontrola przed publikacją wpisu w edytorze. W trybie blokady publikacja zostanie zatrzymana, gdy CI gate zwróci FAIL.": "Additional pre-publish check in the editor. In block mode, publishing is stopped when CI gate returns FAIL.",
  "Aktywuj publish gate": "Enable publish gate",
  "Włącz kontrolę przed publikacją": "Enable pre-publish checks",
  "Tryb działania": "Mode",
  "Ostrzeżenie (pozwól publikować po potwierdzeniu)": "Warning (allow publishing after confirmation)",
  "Blokuj publikację przy CI gate FAIL": "Block publishing on CI gate FAIL",
  "Maks. wiek skanu (min)": "Max scan age (min)",
  "0 = bez kontroli świeżości skanu.": "0 = disable scan freshness check.",
  "Tryb ścisły (tylko dla blokady)": "Strict mode (block mode only)",
  "Blokuj publikację, gdy brak skanu dla URL": "Block publishing when no scan exists for the URL",
  "Blokuj publikację, gdy CI gate ma status N/A (brak baseline)": "Block publishing when CI gate is N/A (no baseline)",
  "Blokuj publikację, gdy skan jest starszy niż limit": "Block publishing when the scan is older than the limit",
  "Typy treści objęte kontrolą": "Content types covered by checks",
  "Zapisz ustawienia publish gate": "Save publish gate settings",
  "Ustawienia publish gate zapisane (tryb: %1$s, maks. wiek skanu: %2$d min, typy treści: %3$d, polityka ścisła: %4$s).": "Publish gate settings saved (mode: %1$s, max scan age: %2$d min, content types: %3$d, strict policy: %4$s).",
  "bez skanu": "without scan",
  "bez baseline": "without baseline",
  "stary skan": "stale scan",
  "blokuj": "block",
  "ostrzeżenie": "warning",
  "Brak uprawnień do oceny publish gate dla tego wpisu.": "You do not have permission to evaluate publish gate for this post.",
  "Brak bieżącej oceny. Kliknij \"Sprawdź teraz\".": "No current evaluation. Click \"Check now\".",
  "Sprawdź teraz": "Check now",
  "Nie udało się sprawdzić CI gate przed publikacją. Spróbuj ponownie.": "Could not check CI gate before publishing. Please try again.",
  "Wykryto ostrzeżenia dostępności. Czy mimo to chcesz opublikować?": "Accessibility warnings detected. Do you still want to publish?",
  "Sprawdzanie CI gate przed publikacją…": "Checking CI gate before publishing...",
  "Ostrzeżenie": "Warning",
  "Blokada": "Blocked",
  "Powody:": "Reasons:",
  "Sugerowane kroki:": "Suggested steps:",
  "Ostatni skan:": "Last scan:",
  "Brak uprawnień do wykonania tej operacji.": "You do not have permission to perform this action.",
  "Brak uprawnień do publikacji tego wpisu.": "You do not have permission to publish this post.",
  "Publish gate jest wyłączony w ustawieniach.": "Publish gate is disabled in settings.",
  "Ten typ treści nie jest objęty polityką publish gate.": "This content type is not covered by publish gate policy.",
  "Publikacja zablokowana: najpierw zapisz wpis jako szkic i uruchom skan URL.": "Publishing blocked: first save the post as draft and run a URL scan.",
  "Najpierw zapisz wpis jako szkic, aby sprawdzić CI gate dla docelowego URL.": "First save the post as draft to check CI gate for the target URL.",
  "Publikacja zablokowana: nie udało się ustalić URL wpisu do sprawdzenia CI gate.": "Publishing blocked: could not determine the post URL for CI gate check.",
  "Nie udało się ustalić docelowego URL wpisu.": "Could not determine the target post URL.",
  "Publikacja zablokowana: brak zakończonego skanu dla tego URL.": "Publishing blocked: no completed scan for this URL.",
  "Brak zakończonego skanu dla tego URL. Uruchom skan przed publikacją.": "No completed scan for this URL. Run a scan before publishing.",
  "Ostatni skan jest starszy niż %d min. Zalecany jest nowy skan przed publikacją.": "Latest scan is older than %d min. A fresh scan is recommended before publishing.",
  "Brak baseline dla CI gate, a polityka publish gate wymaga baseline.": "No CI gate baseline found, and publish gate policy requires a baseline.",
  "Skan jest nieaktualny względem ustawionego limitu wieku.": "Scan is stale based on the configured age limit.",
  "CI gate: PASS. Możesz opublikować wpis.": "CI gate: PASS. You can publish this post.",
  "Publikacja zablokowana: CI gate zakończony statusem FAIL.": "Publishing blocked: CI gate returned FAIL.",
  "Publikacja zablokowana: brak baseline dla CI gate.": "Publishing blocked: no CI gate baseline.",
  "Publikacja zablokowana: ostatni skan jest nieaktualny.": "Publishing blocked: latest scan is stale.",
  "Publikacja zablokowana przez politykę publish gate.": "Publishing blocked by publish gate policy.",
  "Próg jakości CI gate został przekroczony.": "CI gate quality threshold was exceeded.",
  "CI gate: N/A (brak baseline). Sprawdź wynik skanu przed publikacją.": "CI gate: N/A (no baseline). Review scan results before publishing.",
  "Wykryto ostrzeżenia dostępności. Zanim opublikujesz, przejrzyj powody poniżej.": "Accessibility warnings detected. Before publishing, review the reasons below.",
  "Otwórz skan i listę błędów": "Open scan and issue list",
  "Przejdź do skanowania URL": "Go to URL scanning",
  "Otwórz remediację runtime/source-fix": "Open runtime/source-fix remediation",
  "Otwórz checklistę zgodności": "Open compliance checklist",
  "Otwórz raporty i release blockers": "Open reports and release blockers",
  "Publikacja została zablokowana przez politykę CI gate.": "Publishing was blocked by CI gate policy."
}
