{
  "config": {
    "step": {
      "user": {
        "title": "Maintenance Supporter",
        "description": "Skonfiguruj system zarządzania konserwacją.",
        "menu_options": {
          "create_object": "Utwórz obiekt konserwacji",
          "create_from_template": "Utwórz z szablonu",
          "global_setup": "Ustawienia globalne"
        }
      },
      "create_from_template": {
        "title": "Wybierz kategorię szablonu",
        "description": "Wybierz kategorię, aby przeglądać predefiniowane szablony konserwacji.",
        "data": {
          "template_category": "Kategoria",
          "go_back": "Wróć"
        },
        "data_description": {
          "go_back": "Wróć do menu głównego bez zapisywania."
        }
      },
      "template_select": {
        "title": "Wybierz szablon",
        "description": "Wybierz szablon konserwacji jako punkt wyjścia.",
        "data": {
          "template_id": "Szablon",
          "go_back": "Wróć"
        },
        "data_description": {
          "go_back": "Wróć do wyboru kategorii bez zapisywania."
        }
      },
      "template_customize": {
        "title": "Dostosuj szablon",
        "description": "Dostosuj szablon {template_name}. Zawiera {task_count} zadań: {task_list}.",
        "data": {
          "name": "Nazwa obiektu",
          "area_id": "Obszar",
          "manufacturer": "Producent",
          "model": "Model",
          "serial_number": "Numer seryjny",
          "documentation_url": "URL instrukcji / dokumentacji",
          "notes": "Notatki",
          "go_back": "Wróć"
        },
        "data_description": {
          "name": "Nazwa tego obiektu konserwacji.",
          "area_id": "Obszar, w którym znajduje się obiekt.",
          "manufacturer": "Producent obiektu.",
          "model": "Nazwa lub numer modelu.",
          "serial_number": "Numer seryjny obiektu.",
          "documentation_url": "Opcjonalny link do instrukcji PDF, strony producenta lub dowolnego URL z informacjami referencyjnymi dla tego obiektu.",
          "notes": "Notatki o obiekcie — numery części, procedury, przypomnienia ustawień, itp.",
          "go_back": "Wróć do wyboru szablonu bez zapisywania."
        }
      },
      "global_setup": {
        "title": "Ustawienia globalne",
        "description": "Skonfiguruj globalne ustawienia konserwacji.",
        "data": {
          "default_warning_days": "Domyślne dni ostrzeżenia przed terminem",
          "notifications_enabled": "Włącz powiadomienia",
          "notify_service": "Usługa powiadomień"
        },
        "data_description": {
          "default_warning_days": "Liczba dni przed terminem zadania konserwacji, w której wyświetlane jest ostrzeżenie.",
          "notifications_enabled": "Wysyłaj powiadomienia, gdy zadania konserwacji stają się wymagane.",
          "notify_service": "Usługa powiadomień, której należy używać (np. notify.mobile_app_phone)."
        }
      },
      "create_object": {
        "title": "Utwórz obiekt konserwacji",
        "description": "Zdefiniuj urządzenie lub element wyposażenia do zarządzania konserwacją.",
        "data": {
          "name": "Nazwa obiektu",
          "area_id": "Obszar",
          "manufacturer": "Producent",
          "model": "Model",
          "serial_number": "Numer seryjny",
          "documentation_url": "URL instrukcji / dokumentacji",
          "notes": "Notatki",
          "installation_date": "Data instalacji",
          "warranty_expiry": "Wygaśnięcie gwarancji",
          "go_back": "Wróć"
        },
        "data_description": {
          "name": "Unikalna nazwa tego obiektu konserwacji (np. „Pompa basenowa”, „Samochód”).",
          "area_id": "Obszar w domu, w którym znajduje się ten obiekt.",
          "manufacturer": "Producent obiektu.",
          "model": "Nazwa lub numer modelu.",
          "serial_number": "Numer seryjny obiektu.",
          "documentation_url": "Opcjonalny link do instrukcji PDF, strony producenta lub dowolnego URL z informacjami referencyjnymi dla tego obiektu.",
          "notes": "Notatki o obiekcie — numery części, procedury, przypomnienia ustawień, itp.",
          "installation_date": "Kiedy ten obiekt został zainstalowany lub kupiony.",
          "warranty_expiry": "Kiedy wygasa gwarancja producenta dla tego obiektu.",
          "go_back": "Wróć do menu głównego bez zapisywania."
        }
      },
      "task_menu": {
        "title": "Zadania konserwacji",
        "description": "Dodaj zadania konserwacji dla {object_name}. Aktualnie zdefiniowanych zadań: {task_count}.",
        "menu_options": {
          "add_task": "Dodaj zadanie konserwacji",
          "finish": "Zakończ konfigurację"
        }
      },
      "add_task": {
        "title": "Dodaj zadanie konserwacji",
        "description": "Zdefiniuj zadanie konserwacji dla {object_name}.",
        "data": {
          "name": "Nazwa zadania",
          "type": "Typ konserwacji",
          "schedule_type": "Typ harmonogramu",
          "custom_icon": "Ikona zadania",
          "go_back": "Wróć"
        },
        "data_description": {
          "name": "Opisowa nazwa tego zadania (np. „Czyszczenie filtra”, „Wymiana oleju”).",
          "type": "Kategoria pracy konserwacyjnej.",
          "schedule_type": "Sposób planowania tego zadania.",
          "custom_icon": "Opcjonalna niestandardowa ikona dla tego zadania (np. mdi:oil, mdi:filter-variant).",
          "go_back": "Wróć do menu zadań bez zapisywania."
        }
      },
      "time_based": {
        "title": "Harmonogram czasowy",
        "description": "Skonfiguruj interwał czasowy dla tego zadania konserwacji.",
        "data": {
          "interval_days": "Interwał",
          "interval_unit": "Jednostka interwału",
          "last_performed": "Ostatnio wykonane",
          "warning_days": "Dni ostrzeżenia przed terminem",
          "go_back": "Wróć",
          "interval_anchor": "Punkt odniesienia interwału"
        },
        "data_description": {
          "interval_days": "Jak często ta konserwacja się powtarza, w połączeniu z jednostką interwału.",
          "interval_unit": "Jednostka interwału: dni, tygodnie, miesiące lub lata. Miesiące i lata podążają za kalendarzem.",
          "last_performed": "Kiedy ta konserwacja była ostatnio wykonana. Pozostaw puste, jeśli nigdy nie wykonano.",
          "warning_days": "Liczba dni przed terminem, w której wyświetlane jest ostrzeżenie.",
          "go_back": "Wróć do tworzenia zadania bez zapisywania.",
          "interval_anchor": "Sposób obliczania następnego terminu po ukończeniu. „Planowany” zapobiega odchyleniom harmonogramu, kotwicząc się do pierwotnej daty."
        }
      },
      "one_time": {
        "title": "Zadanie jednorazowe",
        "description": "Skonfiguruj pojedyncze, niepowtarzające się zadanie konserwacji. Po ukończeniu jest archiwizowane.",
        "data": {
          "due_date": "Termin",
          "warning_days": "Dni ostrzeżenia przed terminem",
          "go_back": "Wróć"
        },
        "data_description": {
          "due_date": "Data, do której to jednorazowe zadanie ma być wykonane.",
          "warning_days": "Liczba dni przed terminem, w której wyświetlane jest ostrzeżenie.",
          "go_back": "Wróć do tworzenia zadania bez zapisywania."
        }
      },
      "calendar": {
        "title": "Harmonogram kalendarzowy",
        "description": "Skonfiguruj powtarzanie oparte na kalendarzu (dni tygodnia, n-ty dzień tygodnia w miesiącu lub dzień miesiąca).",
        "data": {
          "weekdays": "W te dni tygodnia",
          "nth": "Które wystąpienie",
          "weekday": "Dzień tygodnia",
          "day": "Dzień miesiąca",
          "warning_days": "Dni ostrzeżenia przed terminem",
          "go_back": "Wróć",
          "last_day": "Ostatni dzień miesiąca",
          "business": "Tylko dni robocze",
          "offset": "Przesunięcie (dni)"
        },
        "data_description": {
          "weekdays": "Zadanie powtarza się w każdy wybrany dzień tygodnia.",
          "nth": "Które wystąpienie w miesiącu (np. 1., lub Ostatnie).",
          "weekday": "Dzień tygodnia dla reguły n-tego dnia tygodnia (np. sobota).",
          "day": "Dzień miesiąca (1-31; ograniczony do długości miesiąca).",
          "warning_days": "Liczba dni przed terminem, w której wyświetlane jest ostrzeżenie.",
          "go_back": "Wróć do tworzenia zadania bez zapisywania.",
          "last_day": "Nadpisuje numer dnia: termin przypada na ostatni dzień miesiąca.",
          "business": "Cofa datę weekendową do poprzedzającego piątku (np. ostatni dzień roboczy).",
          "offset": "Przesuwa obliczoną datę o ±N dni (np. -2 = dwa dni wcześniej)."
        }
      },
      "sensor_select": {
        "title": "Wybierz czujnik wyzwalający",
        "description": "Wybierz encję Home Assistant do monitorowania dla tego zadania konserwacji.",
        "data": {
          "trigger_entity": "Encja do monitorowania",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_entity": "Wybierz encję czujnika, która ma wyzwalać to zadanie konserwacji.",
          "go_back": "Wróć do tworzenia zadania bez zapisywania."
        }
      },
      "sensor_attribute": {
        "title": "Wybierz atrybut",
        "description": "Wybierz, którą wartość monitorować z {entity_id}. Aktualny stan: {current_state} {unit}",
        "data": {
          "trigger_attribute": "Wartość do monitorowania",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_attribute": "Wybierz stan encji lub konkretny atrybut do monitorowania.",
          "go_back": "Wróć do wyboru encji bez zapisywania."
        }
      },
      "trigger_type": {
        "title": "Typ wyzwalacza",
        "description": "W jaki sposób wartość czujnika ma wyzwalać konserwację?",
        "data": {
          "trigger_type": "Typ wyzwalacza",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_type": "Próg: wyzwalanie po przekroczeniu limitów. Licznik: wyzwalanie po skumulowaniu wartości docelowej. Zmiana stanu: wyzwalanie po określonej liczbie zmian stanu.",
          "go_back": "Wróć do wyboru atrybutu bez zapisywania."
        }
      },
      "trigger_threshold": {
        "title": "Konfiguracja progu",
        "description": "Ustaw wartości progowe dla **{entity_id}** ({attribute}).\nAktualnie: **{current_value} {unit}** | Średnio: {average} | Zakres: {minimum}–{maximum} ({data_period}d)\nProponowane powyżej: {suggested_above} | Proponowane poniżej: {suggested_below}",
        "data": {
          "trigger_above": "Wyzwalaj powyżej",
          "trigger_below": "Wyzwalaj poniżej",
          "trigger_for_minutes": "Przez co najmniej (minuty)",
          "interval_days": "Interwał bezpieczeństwa",
          "interval_unit": "Jednostka interwału",
          "warning_days": "Dni ostrzeżenia przed terminem",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_above": "Wyzwalaj konserwację, gdy wartość przekroczy ten próg.",
          "trigger_below": "Wyzwalaj konserwację, gdy wartość spadnie poniżej tego progu.",
          "trigger_for_minutes": "Wartość musi przekraczać próg przez tyle minut przed wyzwoleniem.",
          "interval_days": "Opcjonalny interwał bezpieczeństwa oparty na czasie, oprócz wyzwalacza czujnika.",
          "interval_unit": "Jednostka interwału: dni, tygodnie, miesiące lub lata. Miesiące i lata podążają za kalendarzem.",
          "warning_days": "Liczba dni przed terminem, w której wyświetlane jest ostrzeżenie.",
          "go_back": "Wróć do wyboru typu wyzwalacza bez zapisywania."
        }
      },
      "trigger_counter": {
        "title": "Konfiguracja licznika",
        "description": "Ustaw cel licznika dla {entity_id} ({attribute}). Aktualnie: {current_value} {unit}.",
        "data": {
          "trigger_target_value": "Wartość docelowa",
          "trigger_delta_mode": "Tryb różnicowy (licz zmiany, nie wartość bezwzględną)",
          "interval_days": "Interwał bezpieczeństwa",
          "interval_unit": "Jednostka interwału",
          "warning_days": "Dni ostrzeżenia przed terminem",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_target_value": "Wyzwalaj konserwację, gdy ta skumulowana wartość zostanie osiągnięta.",
          "trigger_delta_mode": "Jeśli włączone, liczy różnicę względem linii bazowej zamiast wartości bezwzględnej.",
          "interval_days": "Opcjonalny interwał bezpieczeństwa oparty na czasie, oprócz wyzwalacza licznika.",
          "interval_unit": "Jednostka interwału: dni, tygodnie, miesiące lub lata. Miesiące i lata podążają za kalendarzem.",
          "warning_days": "Liczba dni przed terminem, w której wyświetlane jest ostrzeżenie.",
          "go_back": "Wróć do wyboru typu wyzwalacza bez zapisywania."
        }
      },
      "trigger_state_change": {
        "title": "Konfiguracja zmiany stanu",
        "description": "Zliczaj zmiany stanu encji {entity_id}.",
        "data": {
          "trigger_from_state": "Ze stanu (opcjonalnie)",
          "trigger_to_state": "Do stanu (opcjonalnie)",
          "trigger_target_changes": "Liczba zmian do wyzwolenia",
          "interval_days": "Interwał bezpieczeństwa",
          "interval_unit": "Jednostka interwału",
          "warning_days": "Dni ostrzeżenia przed terminem",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_from_state": "Zliczaj tylko przejścia z tego stanu. Pozostaw puste dla dowolnego.",
          "trigger_to_state": "Zliczaj tylko przejścia do tego stanu. Pozostaw puste dla dowolnego.",
          "trigger_target_changes": "Liczba pasujących zmian stanu przed wyzwoleniem konserwacji.",
          "interval_days": "Opcjonalny interwał bezpieczeństwa oparty na czasie, oprócz wyzwalacza zmiany stanu.",
          "interval_unit": "Jednostka interwału: dni, tygodnie, miesiące lub lata. Miesiące i lata podążają za kalendarzem.",
          "warning_days": "Liczba dni przed terminem, w której wyświetlane jest ostrzeżenie.",
          "go_back": "Wróć do wyboru typu wyzwalacza bez zapisywania."
        }
      },
      "trigger_runtime": {
        "title": "Konfiguracja czasu pracy",
        "description": "Śledź skumulowany czas pracy {entity_id}. Konserwacja jest wyzwalana, gdy łączny czas włączenia osiągnie docelową liczbę godzin.",
        "data": {
          "trigger_runtime_hours": "Docelowy czas pracy (godziny)",
          "trigger_on_states": "Stany aktywne (oddzielone przecinkami)",
          "interval_days": "Interwał bezpieczeństwa",
          "interval_unit": "Jednostka interwału",
          "warning_days": "Dni ostrzeżenia przed terminem",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_runtime_hours": "Wyzwalaj konserwację po tylu godzinach skumulowanego czasu pracy.",
          "trigger_on_states": "Które stany czujnika liczą się jako „aktywne”. Pozostaw puste dla domyślnych: on, 1, true. Przykład: in_use, running",
          "interval_days": "Opcjonalny interwał bezpieczeństwa oparty na czasie, oprócz wyzwalacza czasu pracy.",
          "interval_unit": "Jednostka interwału: dni, tygodnie, miesiące lub lata. Miesiące i lata podążają za kalendarzem.",
          "warning_days": "Liczba dni przed terminem, w której wyświetlane jest ostrzeżenie.",
          "go_back": "Wróć do wyboru typu wyzwalacza bez zapisywania."
        }
      },
      "compound_logic": {
        "title": "Wyzwalacz złożony",
        "description": "Wybierz, w jaki sposób wiele warunków ma być łączonych.",
        "data": {
          "compound_logic": "Logika",
          "go_back": "Wróć"
        },
        "data_description": {
          "compound_logic": "ORAZ = wszystkie warunki muszą zostać spełnione. LUB = wystarczy jeden warunek.",
          "go_back": "Wróć do wyboru typu wyzwalacza bez zapisywania."
        }
      },
      "compound_condition_entity": {
        "title": "Warunek nr {condition_num} — Encja",
        "description": "Wybierz encję dla tego warunku.",
        "data": {
          "trigger_entity": "Encja",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_entity": "Encja czujnika do monitorowania w tym warunku.",
          "go_back": "Wróć do poprzedniego kroku bez zapisywania."
        }
      },
      "compound_condition_type": {
        "title": "Warunek nr {condition_num} — Typ",
        "description": "W jaki sposób ten warunek ma oceniać czujnik?",
        "data": {
          "trigger_type": "Typ wyzwalacza",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_type": "Metoda używana do określenia, kiedy ten warunek jest wyzwalany.",
          "go_back": "Wróć do wyboru encji bez zapisywania."
        }
      },
      "compound_condition_threshold": {
        "title": "Warunek — Próg",
        "data": {
          "trigger_above": "Wyzwalaj powyżej",
          "trigger_below": "Wyzwalaj poniżej",
          "trigger_for_minutes": "Czas trwania (minuty)",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_above": "Wyzwalaj, gdy wartość przekroczy ten próg.",
          "trigger_below": "Wyzwalaj, gdy wartość spadnie poniżej tego progu.",
          "trigger_for_minutes": "Wartość musi pozostać poza progiem przez ten czas.",
          "go_back": "Wróć do wyboru typu warunku bez zapisywania."
        }
      },
      "compound_condition_counter": {
        "title": "Warunek — Licznik",
        "data": {
          "trigger_target_value": "Wartość docelowa",
          "trigger_delta_mode": "Tryb różnicowy",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_target_value": "Wyzwalaj, gdy skumulowana wartość osiągnie ten cel.",
          "trigger_delta_mode": "Licz zmiany względem linii bazowej zamiast wartości bezwzględnej.",
          "go_back": "Wróć do wyboru typu warunku bez zapisywania."
        }
      },
      "compound_condition_state_change": {
        "title": "Warunek — Zmiana stanu",
        "data": {
          "trigger_from_state": "Ze stanu",
          "trigger_to_state": "Do stanu",
          "trigger_target_changes": "Liczba zmian",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_from_state": "Zliczaj tylko przejścia z tego stanu. Pozostaw puste dla dowolnego.",
          "trigger_to_state": "Zliczaj tylko przejścia do tego stanu. Pozostaw puste dla dowolnego.",
          "trigger_target_changes": "Liczba pasujących zmian stanu przed wyzwoleniem.",
          "go_back": "Wróć do wyboru typu warunku bez zapisywania."
        }
      },
      "compound_condition_runtime": {
        "title": "Warunek — Czas pracy",
        "data": {
          "trigger_runtime_hours": "Docelowy czas pracy (godziny)",
          "trigger_on_states": "Stany aktywne",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_runtime_hours": "Wyzwalaj po tylu godzinach skumulowanego czasu pracy.",
          "trigger_on_states": "Stany czujnika liczone jako „aktywne”. Pozostaw puste dla domyślnych.",
          "go_back": "Wróć do wyboru typu warunku bez zapisywania."
        }
      },
      "compound_review": {
        "title": "Przegląd wyzwalacza złożonego",
        "description": "Skonfigurowano {condition_count} warunek(ów) z logiką {compound_logic}.",
        "data": {
          "compound_action": "Akcja",
          "go_back": "Wróć"
        },
        "data_description": {
          "go_back": "Wróć do wyboru logiki bez zapisywania."
        }
      },
      "manual": {
        "title": "Harmonogram ręczny",
        "description": "To zadanie nie ma automatycznego harmonogramu. Możesz je oznaczyć jako wymagane ręcznie.",
        "data": {
          "warning_days": "Dni ostrzeżenia przed terminem",
          "notes": "Notatki",
          "go_back": "Wróć"
        },
        "data_description": {
          "warning_days": "Liczba dni przed terminem, w której wyświetlane jest ostrzeżenie.",
          "notes": "Dodatkowe notatki lub instrukcje dla tego zadania.",
          "go_back": "Wróć do tworzenia zadania bez zapisywania."
        }
      },
      "reconfigure": {
        "title": "Rekonfiguruj {name}",
        "description": "Zaktualizuj ustawienia tego obiektu konserwacji.",
        "data": {
          "name": "Nazwa obiektu",
          "area_id": "Obszar",
          "manufacturer": "Producent",
          "model": "Model",
          "serial_number": "Numer seryjny",
          "documentation_url": "URL instrukcji / dokumentacji",
          "notes": "Notatki",
          "installation_date": "Data instalacji",
          "warranty_expiry": "Wygaśnięcie gwarancji"
        },
        "data_description": {
          "name": "Nazwa tego obiektu konserwacji.",
          "area_id": "Obszar, w którym znajduje się obiekt.",
          "manufacturer": "Producent obiektu.",
          "model": "Model obiektu.",
          "serial_number": "Numer seryjny obiektu.",
          "documentation_url": "Opcjonalny link do instrukcji PDF, strony producenta lub dowolnego URL z informacjami referencyjnymi dla tego obiektu.",
          "notes": "Notatki o obiekcie — numery części, procedury, przypomnienia ustawień, itp.",
          "installation_date": "Kiedy obiekt został zainstalowany.",
          "warranty_expiry": "Kiedy wygasa gwarancja producenta dla tego obiektu."
        }
      }
    },
    "error": {
      "name_exists": "Obiekt konserwacji o tej nazwie już istnieje.",
      "no_tasks": "Wymagane jest co najmniej jedno zadanie konserwacji.",
      "invalid_entity": "Wybrana encja nie istnieje lub nie ma danych liczbowych.",
      "invalid_attribute": "Wybrany atrybut nie jest dostępny dla tej encji.",
      "invalid_threshold": "Należy ustawić co najmniej jeden próg (powyżej lub poniżej).",
      "invalid_due_date": "Dla zadań jednorazowych wymagany jest termin.",
      "invalid_interval": "Interwał musi być liczbą dodatnią.",
      "min_exceeds_max": "Minimalny interwał nie może przekraczać maksymalnego.",
      "invalid_notify_service": "Nieprawidłowy format usługi powiadomień. Użyj „notify.service_name” (np. notify.mobile_app_phone).",
      "notify_service_not_found": "Tej usługi powiadomień nie znaleziono w Home Assistant. Sprawdź nazwę usługi.",
      "nfc_tag_duplicate": "Ten tag NFC jest już powiązany z innym zadaniem."
    },
    "abort": {
      "already_configured": "Ten obiekt konserwacji jest już skonfigurowany.",
      "global_already_exists": "Ustawienia globalne są już skonfigurowane.",
      "template_not_found": "Nie znaleziono wybranego szablonu.",
      "missing_data": "Nie podano wymaganych danych.",
      "reconfigure_successful": "Konfiguracja zaktualizowana pomyślnie.",
      "reconfigure_cancelled": "Rekonfiguracja anulowana."
    }
  },
  "options": {
    "step": {
      "init": {
        "title": "Opcje konserwacji",
        "description": "{object_info}",
        "menu_options": {
          "manage_tasks": "Zarządzaj zadaniami",
          "add_task": "Dodaj nowe zadanie",
          "object_settings": "Ustawienia obiektu",
          "done": "Gotowe"
        }
      },
      "global_init": {
        "title": "Ustawienia globalne",
        "description": "Skonfiguruj globalne ustawienia konserwacji.",
        "menu_options": {
          "general_settings": "Ustawienia ogólne",
          "advanced_features": "Funkcje zaawansowane",
          "panel_access": "Dostęp do panelu",
          "budget_settings": "Ustawienia budżetu",
          "manage_groups": "Zarządzaj grupami",
          "notification_settings": "Ustawienia powiadomień",
          "notification_actions": "Akcje interaktywne",
          "test_notification": "Wyślij testowe powiadomienie",
          "done": "Gotowe"
        }
      },
      "advanced_features": {
        "title": "Funkcje zaawansowane",
        "description": "Wybierz, które zaawansowane funkcje mają być widoczne w interfejsie. Wyłączenie funkcji ukrywa ją z interfejsu, ale nie usuwa żadnych danych.",
        "data": {
          "advanced_adaptive_visible": "Adaptacyjne planowanie",
          "advanced_predictions_visible": "Predykcje czujników",
          "advanced_seasonal_visible": "Korekty sezonowe",
          "advanced_environmental_visible": "Korelacja środowiskowa",
          "advanced_budget_visible": "Śledzenie budżetu",
          "advanced_groups_visible": "Grupy",
          "advanced_checklists_visible": "Listy kontrolne",
          "advanced_schedule_time_visible": "Harmonogram z porą dnia"
        },
        "data_description": {
          "advanced_adaptive_visible": "Pokaż EWA, analizę Weibulla i sugestie interwałów dla zadań.",
          "advanced_predictions_visible": "Pokaż analizę degradacji czujników i wykresy predykcji progów.",
          "advanced_seasonal_visible": "Pokaż wykresy współczynników sezonowych i miesięczne dane korekcyjne.",
          "advanced_environmental_visible": "Pokaż korekty oparte na korelacji środowiskowej (temperatura, wilgotność).",
          "advanced_budget_visible": "Pokaż śledzenie budżetu miesięcznego/rocznego i alerty.",
          "advanced_groups_visible": "Pokaż zarządzanie grupami konserwacji.",
          "advanced_checklists_visible": "Pokaż listy kontrolne zadań do realizacji krok po kroku.",
          "advanced_schedule_time_visible": "Zezwalaj zadaniom stać się przeterminowanymi o określonej porze dnia zamiast o północy."
        }
      },
      "panel_access": {
        "title": "Dostęp do panelu",
        "description": "Administratorzy zawsze mają pełny dostęp. Aby delegować tworzenie, edytowanie i usuwanie wybranym użytkownikom bez uprawnień administratora, włącz opcję poniżej i zaznacz ich — pozostali widzą tylko Wykonaj i Pomiń. Znaleziono {user_count} użytkowników bez uprawnień administratora.",
        "data": {
          "operator_write_enabled": "Zezwól wybranym użytkownikom na tworzenie, edycję i usuwanie",
          "admin_panel_user_ids": "Użytkownicy z pełnym dostępem do panelu"
        },
        "data_description": {
          "operator_write_enabled": "Wyłączone (domyślnie): tylko administratorzy mogą zmieniać treść. Włączone: wybrani poniżej użytkownicy również mają pełny dostęp.",
          "admin_panel_user_ids": "Wymienieni użytkownicy widzą pełny panel; pozostali widzą tylko Zakończ i Pomiń przy każdym zadaniu."
        }
      },
      "general_settings": {
        "title": "Ustawienia ogólne",
        "description": "Skonfiguruj podstawowe ustawienia Maintenance Supporter.",
        "data": {
          "default_warning_days": "Domyślne dni ostrzeżenia przed terminem",
          "notifications_enabled": "Włącz powiadomienia",
          "notify_service": "Usługa powiadomień",
          "panel_enabled": "Pokaż panel boczny",
          "panel_title": "Tytuł panelu na pasku bocznym"
        },
        "data_description": {
          "default_warning_days": "Liczba dni przed terminem zadania konserwacji, w której wyświetlane jest ostrzeżenie.",
          "notifications_enabled": "Wysyłaj powiadomienia, gdy zadania konserwacji stają się wymagane lub przeterminowane.",
          "notify_service": "Usługa powiadomień, której należy używać (np. notify.mobile_app_phone).",
          "panel_enabled": "Pokaż panel Maintenance Supporter w pasku bocznym.",
          "panel_title": "Własna nazwa wpisu na pasku bocznym. Pozostaw puste, aby użyć „Maintenance”. Przydatne, aby uniknąć kolizji z wbudowanym pulpitem Maintenance w Home Assistant."
        }
      },
      "notification_settings": {
        "title": "Ustawienia powiadomień",
        "description": "Skonfiguruj, kiedy i jak często wysyłane są powiadomienia dla każdego statusu.",
        "data": {
          "notify_due_soon_enabled": "Powiadom, gdy wkrótce wymagane",
          "notify_due_soon_interval_hours": "Interwał przypomnień „wkrótce wymagane” (godziny)",
          "notify_overdue_enabled": "Powiadom, gdy przeterminowane",
          "notify_overdue_interval_hours": "Interwał przypomnień „przeterminowane” (godziny)",
          "notify_triggered_enabled": "Powiadom przy wyzwoleniu",
          "notify_triggered_interval_hours": "Interwał przypomnień „wyzwolone” (godziny)",
          "quiet_hours_enabled": "Włącz godziny ciszy",
          "quiet_hours_start": "Początek godzin ciszy",
          "quiet_hours_end": "Koniec godzin ciszy",
          "max_notifications_per_day": "Maks. powiadomień dziennie",
          "notification_bundling_enabled": "Łącz powiadomienia",
          "notification_bundle_threshold": "Próg łączenia",
          "notification_title_style": "Styl tytułu powiadomienia"
        },
        "data_description": {
          "notify_due_soon_interval_hours": "Jak często powtarzać przypomnienie „wkrótce wymagane”. Ustaw 0 dla pojedynczego powiadomienia.",
          "notify_overdue_interval_hours": "Jak często powtarzać przypomnienie „przeterminowane”. Ustaw 0 dla pojedynczego powiadomienia.",
          "notify_triggered_interval_hours": "Jak często powtarzać powiadomienie „wyzwolone”. Ustaw 0 dla pojedynczego powiadomienia.",
          "quiet_hours_enabled": "Wstrzymuj powiadomienia w godzinach ciszy.",
          "max_notifications_per_day": "Maksymalna liczba powiadomień dziennie. Ustaw 0 dla nieograniczonej liczby.",
          "notification_bundling_enabled": "Wyślij jedno zbiorcze powiadomienie, gdy wiele zadań wymaga uwagi.",
          "notification_bundle_threshold": "Minimalna liczba zadań do wyzwolenia łączonego powiadomienia.",
          "notification_title_style": "Co pojawia się jako TYTUŁ powiadomienia. Domyślnie zachowywany jest tekst dla statusu (np. „Konserwacja przeterminowana!”). Nazwa obiektu / zadania pomaga, gdy telefon układa powiadomienia w stos."
        }
      },
      "notification_actions": {
        "title": "Akcje interaktywne",
        "description": "Skonfiguruj przyciski akcji wyświetlane w powiadomieniach mobilnych (wymaga aplikacji Companion).",
        "data": {
          "action_complete_enabled": "Pokaż przycisk „Zakończ”",
          "action_skip_enabled": "Pokaż przycisk „Pomiń”",
          "action_snooze_enabled": "Pokaż przycisk „Drzemka”",
          "snooze_duration_hours": "Czas drzemki (godziny)"
        },
        "data_description": {
          "action_complete_enabled": "Dodaje przycisk do oznaczania zadania jako ukończonego bezpośrednio z powiadomienia.",
          "action_skip_enabled": "Dodaje przycisk do pomijania bieżącego cyklu konserwacji z powiadomienia.",
          "action_snooze_enabled": "Dodaje przycisk do odraczania przypomnienia.",
          "snooze_duration_hours": "Jak długo odraczać powiadomienia po naciśnięciu drzemki."
        }
      },
      "budget_settings": {
        "title": "Ustawienia budżetu",
        "description": "Ustaw miesięczne i roczne budżety konserwacji do śledzenia wydatków.",
        "data": {
          "budget_currency": "Waluta",
          "budget_monthly": "Budżet miesięczny",
          "budget_yearly": "Budżet roczny",
          "budget_alerts_enabled": "Włącz alerty budżetowe",
          "budget_alert_threshold": "Próg alertu (%)"
        },
        "data_description": {
          "budget_currency": "Waluta używana do wyświetlania budżetu i powiadomień.",
          "budget_monthly": "Maksymalne miesięczne wydatki na konserwację. Ustaw 0, aby wyłączyć.",
          "budget_yearly": "Maksymalne roczne wydatki na konserwację. Ustaw 0, aby wyłączyć.",
          "budget_alerts_enabled": "Wyślij powiadomienie, gdy wydatki przekroczą próg alertu.",
          "budget_alert_threshold": "Procent budżetu, przy którym wysyłany jest alert."
        }
      },
      "test_notification": {
        "title": "Powiadomienie testowe",
        "description": "{result}"
      },
      "manage_groups": {
        "title": "Zarządzaj grupami",
        "description": "Wybierz grupę do zarządzania lub utwórz nową.",
        "data": {
          "selected_group": "Wybierz grupę"
        }
      },
      "add_group": {
        "title": "Dodaj grupę",
        "description": "Utwórz nową grupę konserwacji, aby uporządkować powiązane zadania.",
        "data": {
          "group_name": "Nazwa grupy",
          "group_description": "Opis"
        },
        "data_description": {
          "group_name": "Nazwa tej grupy (np. „Konserwacja wiosenna”).",
          "group_description": "Opcjonalny opis tej grupy."
        }
      },
      "manage_tasks": {
        "title": "Zarządzaj zadaniami",
        "description": "Wybierz zadanie do edycji lub usunięcia.",
        "data": {
          "selected_task": "Wybierz zadanie",
          "go_back": "Wróć"
        }
      },
      "task_action": {
        "title": "Akcje zadania",
        "description": "Zadanie: {task_name} — wybierz akcję.\n\nNajbliższe terminy: {next_dates}",
        "menu_options": {
          "edit_task": "Edytuj zadanie",
          "edit_trigger": "Edytuj wyzwalacz",
          "remove_trigger": "Usuń wyzwalacz",
          "edit_checklist": "Edytuj listę kontrolną",
          "adaptive_scheduling": "Adaptacyjne planowanie",
          "delete_task": "Usuń zadanie",
          "manage_tasks": "Wróć"
        }
      },
      "edit_task": {
        "title": "Edytuj zadanie",
        "description": "Edytuj ustawienia dla **{task_name}**.",
        "data": {
          "name": "Nazwa zadania",
          "type": "Typ konserwacji",
          "interval_days": "Interwał",
          "interval_unit": "Jednostka interwału",
          "warning_days": "Dni ostrzeżenia przed terminem",
          "due_date": "Termin",
          "enabled": "Włączone",
          "notes": "Notatki",
          "documentation_url": "URL dokumentacji",
          "last_performed": "Ostatnio wykonane",
          "responsible_user_id": "Użytkownik odpowiedzialny",
          "custom_icon": "Ikona zadania",
          "nfc_tag_id": "ID tagu NFC",
          "go_back": "Wróć",
          "interval_anchor": "Punkt odniesienia interwału",
          "reading_unit": "Jednostka odczytu (dla zadań odczytu, np. kWh)",
          "season_months": "Okno sezonowe (miesiace)",
          "ends_count": "Konczy sie po (liczbie razy)",
          "ends_until": "Konczy sie w dniu"
        },
        "data_description": {
          "name": "Opisowa nazwa tego zadania (np. „Czyszczenie filtra”, „Wymiana oleju”).",
          "type": "Kategoria pracy konserwacyjnej.",
          "interval_days": "Jak często ta konserwacja się powtarza, w połączeniu z jednostką interwału.",
          "interval_unit": "Jednostka interwału: dni, tygodnie, miesiące lub lata. Miesiące i lata podążają za kalendarzem.",
          "warning_days": "Liczba dni przed terminem, w której wyświetlane jest ostrzeżenie.",
          "due_date": "Data, do której to jednorazowe zadanie ma być wykonane.",
          "enabled": "Po wyłączeniu planowanie i wyzwalacze są wstrzymane. Zadanie nie jest usuwane.",
          "notes": "Dodatkowe notatki lub instrukcje dla tego zadania.",
          "documentation_url": "Link do zewnętrznej dokumentacji lub instrukcji dla tego zadania.",
          "last_performed": "Kiedy ta konserwacja była ostatnio wykonana. Pozostaw puste, jeśli nigdy nie wykonano.",
          "responsible_user_id": "Użytkownik Home Assistant odpowiedzialny za to zadanie.",
          "custom_icon": "Opcjonalna niestandardowa ikona dla tego zadania (np. mdi:oil, mdi:filter-variant).",
          "nfc_tag_id": "Powiąż tag NFC z tym zadaniem. Zeskanowanie tagu automatycznie oznaczy zadanie jako ukończone.",
          "go_back": "Wróć do akcji zadania bez zapisywania.",
          "interval_anchor": "Sposób obliczania następnego terminu po ukończeniu. „Planowany” zapobiega odchyleniom harmonogramu, kotwicząc się do pierwotnej daty.",
          "season_months": "Termin tylko w wybranych miesiacach; daty poza sezonem przechodza na nastepny aktywny miesiac. Puste = caly rok.",
          "ends_count": "Przestan powtarzac po tylu wykonaniach (seria skonczona). Puste = bez limitu.",
          "ends_until": "Przestan powtarzac, gdy nastepny termin wypadlby po tej dacie. Ignorowane, gdy ustawiono 'Konczy sie po'."
        }
      },
      "edit_checklist": {
        "title": "Edytuj listę kontrolną",
        "description": "Zdefiniuj kroki listy kontrolnej dla {task_name}. Wprowadź jeden krok w jednej linii.",
        "data": {
          "checklist_text": "Kroki listy kontrolnej",
          "go_back": "Wróć"
        },
        "data_description": {
          "checklist_text": "Wprowadź każdy krok listy kontrolnej w osobnej linii. Te kroki będą pokazywane podczas kończenia zadania.",
          "go_back": "Wróć do akcji zadania bez zapisywania."
        }
      },
      "compound_logic": {
        "title": "Wyzwalacz złożony",
        "description": "Wybierz, w jaki sposób wiele warunków ma być łączonych.",
        "data": {
          "compound_logic": "Logika",
          "go_back": "Wróć"
        },
        "data_description": {
          "compound_logic": "ORAZ = wszystkie warunki muszą zostać spełnione. LUB = wystarczy jeden warunek."
        }
      },
      "compound_condition_entity": {
        "title": "Warunek nr {condition_num} — Encja",
        "description": "Wybierz encję dla tego warunku.",
        "data": {
          "trigger_entity": "Encja",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_entity": "Encja czujnika do monitorowania w tym warunku."
        }
      },
      "compound_condition_type": {
        "title": "Warunek nr {condition_num} — Typ",
        "description": "W jaki sposób ten warunek ma oceniać czujnik?",
        "data": {
          "trigger_type": "Typ wyzwalacza",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_type": "Metoda używana do określenia, kiedy ten warunek jest wyzwalany."
        }
      },
      "compound_condition_threshold": {
        "title": "Warunek — Próg",
        "data": {
          "trigger_above": "Wyzwalaj powyżej",
          "trigger_below": "Wyzwalaj poniżej",
          "trigger_for_minutes": "Czas trwania (minuty)",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_above": "Wyzwalaj, gdy wartość przekroczy ten próg.",
          "trigger_below": "Wyzwalaj, gdy wartość spadnie poniżej tego progu.",
          "trigger_for_minutes": "Wartość musi pozostać poza progiem przez ten czas."
        }
      },
      "compound_condition_counter": {
        "title": "Warunek — Licznik",
        "data": {
          "trigger_target_value": "Wartość docelowa",
          "trigger_delta_mode": "Tryb różnicowy",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_target_value": "Wyzwalaj, gdy skumulowana wartość osiągnie ten cel.",
          "trigger_delta_mode": "Licz zmiany względem linii bazowej zamiast wartości bezwzględnej."
        }
      },
      "compound_condition_state_change": {
        "title": "Warunek — Zmiana stanu",
        "data": {
          "trigger_from_state": "Ze stanu",
          "trigger_to_state": "Do stanu",
          "trigger_target_changes": "Liczba zmian",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_from_state": "Zliczaj tylko przejścia z tego stanu. Pozostaw puste dla dowolnego.",
          "trigger_to_state": "Zliczaj tylko przejścia do tego stanu. Pozostaw puste dla dowolnego.",
          "trigger_target_changes": "Liczba pasujących zmian stanu przed wyzwoleniem."
        }
      },
      "compound_condition_runtime": {
        "title": "Warunek — Czas pracy",
        "data": {
          "trigger_runtime_hours": "Docelowy czas pracy (godziny)",
          "trigger_on_states": "Stany aktywne",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_runtime_hours": "Wyzwalaj po tylu godzinach skumulowanego czasu pracy.",
          "trigger_on_states": "Stany czujnika liczone jako „aktywne”. Pozostaw puste dla domyślnych."
        }
      },
      "compound_review": {
        "title": "Przegląd wyzwalacza złożonego",
        "description": "Skonfigurowano {condition_count} warunek(ów) z logiką {compound_logic}.",
        "data": {
          "compound_action": "Akcja",
          "go_back": "Wróć"
        }
      },
      "adaptive_scheduling": {
        "title": "Adaptacyjne planowanie",
        "description": "Skonfiguruj inteligentne dostosowanie interwału dla {task_name}. System uczy się na podstawie Twoich opinii o zakończeniu zadań i sugeruje lepsze interwały.",
        "data": {
          "adaptive_enabled": "Włącz adaptacyjne planowanie",
          "ewa_alpha": "Tempo uczenia (alpha)",
          "min_interval_days": "Minimalny interwał (dni)",
          "max_interval_days": "Maksymalny interwał (dni)",
          "seasonal_enabled": "Włącz świadomość sezonową",
          "sensor_prediction_enabled": "Włącz predykcje sterowane czujnikami",
          "environmental_entity": "Czujnik środowiskowy (opcjonalnie)",
          "go_back": "Wróć"
        },
        "data_description": {
          "adaptive_enabled": "Po włączeniu system uczy się na podstawie Twoich opinii i sugeruje optymalne interwały konserwacji.",
          "ewa_alpha": "Jak szybko algorytm dostosowuje się do nowych danych. Wyższy = bardziej responsywny, niższy = bardziej stabilny.",
          "min_interval_days": "Najkrótszy interwał, jaki system kiedykolwiek zarekomenduje.",
          "max_interval_days": "Najdłuższy interwał, jaki system kiedykolwiek zarekomenduje.",
          "seasonal_enabled": "Dostosowuj rekomendacje na podstawie wzorców sezonowych nauczonych z historii konserwacji.",
          "sensor_prediction_enabled": "Analizuj trendy czujników, aby przewidywać, kiedy progi zostaną osiągnięte i sugerować wcześniejszą konserwację, jeśli to konieczne.",
          "environmental_entity": "Powiąż czujnik temperatury, wilgotności lub ciśnienia, aby skorelować warunki środowiskowe z interwałami konserwacji.",
          "go_back": "Wróć do akcji zadania bez zapisywania."
        }
      },
      "delete_task": {
        "title": "Usuń zadanie",
        "description": "Czy na pewno chcesz usunąć zadanie {task_name}? Tej operacji nie można cofnąć.",
        "data": {
          "confirm": "Potwierdź usunięcie",
          "go_back": "Wróć"
        }
      },
      "remove_trigger": {
        "title": "Usuń wyzwalacz",
        "description": "Usunąć wyzwalacz z **{task_name}**?\n\n**Encja:** {entity_ids}\n**Typ:** {trigger_type}\n**Konfiguracja:** {config_details}\n\nJeśli usunięto wszystkie encje, harmonogram powróci do trybu czasowego.",
        "data": {
          "entities_to_remove": "Encje do usunięcia",
          "confirm": "Potwierdź usunięcie",
          "go_back": "Wróć"
        },
        "data_description": {
          "entities_to_remove": "Wybierz, które encje usunąć z tego wyzwalacza. Jeśli wszystkie zostaną usunięte, cały wyzwalacz zostanie usunięty.",
          "go_back": "Wróć do akcji zadania bez zapisywania."
        }
      },
      "trigger_summary": {
        "title": "Aktualny wyzwalacz",
        "description": "Wyzwalacz dla **{task_name}**:\n\n**Encja:** {entity_ids}\n**Aktualny stan:** {current_states}\n**Typ:** {trigger_type} (atrybut: {attribute})\n**Konfiguracja:** {config_details}",
        "menu_options": {
          "edit_trigger_proceed": "Edytuj wyzwalacz",
          "task_action": "Wróć"
        }
      },
      "add_task": {
        "title": "Dodaj zadanie konserwacji",
        "description": "Zdefiniuj nowe zadanie konserwacji dla tego obiektu.",
        "data": {
          "name": "Nazwa zadania",
          "type": "Typ konserwacji",
          "schedule_type": "Typ harmonogramu",
          "custom_icon": "Ikona zadania",
          "go_back": "Wróć",
          "reading_unit": "Jednostka odczytu (dla zadań odczytu, np. kWh)"
        },
        "data_description": {
          "name": "Opisowa nazwa tego zadania (np. „Czyszczenie filtra”, „Wymiana oleju”).",
          "type": "Kategoria pracy konserwacyjnej.",
          "schedule_type": "Sposób planowania tego zadania.",
          "custom_icon": "Opcjonalna niestandardowa ikona dla tego zadania (np. mdi:oil, mdi:filter-variant).",
          "go_back": "Wróć do menu głównego bez zapisywania."
        }
      },
      "opt_time_based": {
        "title": "Harmonogram czasowy",
        "description": "Skonfiguruj interwał czasowy dla tego zadania.",
        "data": {
          "interval_days": "Interwał",
          "interval_unit": "Jednostka interwału",
          "last_performed": "Ostatnio wykonane",
          "warning_days": "Dni ostrzeżenia przed terminem",
          "go_back": "Wróć",
          "interval_anchor": "Punkt odniesienia interwału"
        },
        "data_description": {
          "interval_days": "Jak często ta konserwacja się powtarza, w połączeniu z jednostką interwału.",
          "interval_unit": "Jednostka interwału: dni, tygodnie, miesiące lub lata. Miesiące i lata podążają za kalendarzem.",
          "last_performed": "Kiedy ta konserwacja była ostatnio wykonana. Pozostaw puste, jeśli nigdy nie wykonano.",
          "warning_days": "Liczba dni przed terminem, w której wyświetlane jest ostrzeżenie.",
          "go_back": "Wróć do menu głównego bez zapisywania.",
          "interval_anchor": "Sposób obliczania następnego terminu po ukończeniu. „Planowany” zapobiega odchyleniom harmonogramu, kotwicząc się do pierwotnej daty."
        }
      },
      "opt_one_time": {
        "title": "Zadanie jednorazowe",
        "description": "Skonfiguruj pojedyncze, niepowtarzające się zadanie konserwacji. Po ukończeniu jest archiwizowane.",
        "data": {
          "due_date": "Termin",
          "warning_days": "Dni ostrzeżenia przed terminem",
          "go_back": "Wróć"
        },
        "data_description": {
          "due_date": "Data, do której to jednorazowe zadanie ma być wykonane.",
          "warning_days": "Liczba dni przed terminem, w której wyświetlane jest ostrzeżenie.",
          "go_back": "Wróć do menu głównego bez zapisywania."
        }
      },
      "opt_calendar": {
        "title": "Harmonogram kalendarzowy",
        "description": "Skonfiguruj powtarzanie oparte na kalendarzu (dni tygodnia, n-ty dzień tygodnia w miesiącu lub dzień miesiąca).",
        "data": {
          "weekdays": "W te dni tygodnia",
          "nth": "Które wystąpienie",
          "weekday": "Dzień tygodnia",
          "day": "Dzień miesiąca",
          "last_performed": "Ostatnio wykonano",
          "warning_days": "Dni ostrzeżenia przed terminem",
          "go_back": "Wróć",
          "last_day": "Ostatni dzień miesiąca",
          "business": "Tylko dni robocze",
          "offset": "Przesunięcie (dni)"
        },
        "data_description": {
          "weekdays": "Zadanie powtarza się w każdy wybrany dzień tygodnia.",
          "nth": "Które wystąpienie w miesiącu (np. 1., lub Ostatnie).",
          "weekday": "Dzień tygodnia dla reguły n-tego dnia tygodnia (np. sobota).",
          "day": "Dzień miesiąca (1-31; ograniczony do długości miesiąca).",
          "last_performed": "Kiedy ostatnio wykonano tę konserwację. Pozostaw puste, jeśli nigdy.",
          "warning_days": "Liczba dni przed terminem, w której wyświetlane jest ostrzeżenie.",
          "go_back": "Wróć do menu głównego bez zapisywania.",
          "last_day": "Nadpisuje numer dnia: termin przypada na ostatni dzień miesiąca.",
          "business": "Cofa datę weekendową do poprzedzającego piątku (np. ostatni dzień roboczy).",
          "offset": "Przesuwa obliczoną datę o ±N dni (np. -2 = dwa dni wcześniej)."
        }
      },
      "opt_manual": {
        "title": "Harmonogram ręczny",
        "description": "To zadanie nie ma automatycznego harmonogramu. Możesz je oznaczyć jako wymagane ręcznie.",
        "data": {
          "warning_days": "Dni ostrzeżenia przed terminem",
          "notes": "Notatki",
          "go_back": "Wróć"
        },
        "data_description": {
          "warning_days": "Liczba dni przed terminem, w której wyświetlane jest ostrzeżenie.",
          "notes": "Dodatkowe notatki lub instrukcje dla tego zadania.",
          "go_back": "Wróć do menu głównego bez zapisywania."
        }
      },
      "opt_sensor_select": {
        "title": "Wybierz czujnik wyzwalający",
        "description": "Wybierz encję Home Assistant do monitorowania.",
        "data": {
          "trigger_entity": "Encja do monitorowania",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_entity": "Wybierz encję czujnika, która ma wyzwalać to zadanie konserwacji."
        }
      },
      "opt_sensor_attribute": {
        "title": "Wybierz atrybut",
        "description": "Wybierz, którą wartość monitorować z {entity_id}. Aktualny stan: {current_state} {unit}",
        "data": {
          "trigger_attribute": "Wartość do monitorowania",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_attribute": "Wybierz stan encji lub konkretny atrybut do monitorowania."
        }
      },
      "opt_trigger_type": {
        "title": "Typ wyzwalacza",
        "description": "W jaki sposób wartość czujnika ma wyzwalać konserwację?",
        "data": {
          "trigger_type": "Typ wyzwalacza",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_type": "Próg: wyzwalanie po przekroczeniu limitów. Licznik: wyzwalanie po skumulowaniu wartości docelowej. Zmiana stanu: wyzwalanie po określonej liczbie zmian stanu."
        }
      },
      "opt_trigger_threshold": {
        "title": "Konfiguracja progu",
        "description": "Ustaw wartości progowe dla **{entity_id}** ({attribute}).\nAktualnie: **{current_value} {unit}** | Średnio: {average} | Zakres: {minimum}–{maximum} ({data_period}d)\nProponowane powyżej: {suggested_above} | Proponowane poniżej: {suggested_below}",
        "data": {
          "trigger_above": "Wyzwalaj powyżej",
          "trigger_below": "Wyzwalaj poniżej",
          "trigger_for_minutes": "Przez co najmniej (minuty)",
          "interval_days": "Interwał bezpieczeństwa",
          "interval_unit": "Jednostka interwału",
          "warning_days": "Dni ostrzeżenia przed terminem",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_above": "Wyzwalaj konserwację, gdy wartość przekroczy ten próg.",
          "trigger_below": "Wyzwalaj konserwację, gdy wartość spadnie poniżej tego progu.",
          "trigger_for_minutes": "Wartość musi przekraczać próg przez tyle minut przed wyzwoleniem.",
          "interval_days": "Opcjonalny interwał bezpieczeństwa oparty na czasie, oprócz wyzwalacza czujnika.",
          "interval_unit": "Jednostka interwału: dni, tygodnie, miesiące lub lata. Miesiące i lata podążają za kalendarzem.",
          "warning_days": "Liczba dni przed terminem, w której wyświetlane jest ostrzeżenie."
        }
      },
      "opt_trigger_counter": {
        "title": "Konfiguracja licznika",
        "description": "Ustaw cel licznika dla {entity_id} ({attribute}). Aktualnie: {current_value} {unit}.",
        "data": {
          "trigger_target_value": "Wartość docelowa",
          "trigger_delta_mode": "Tryb różnicowy (licz zmiany, nie wartość bezwzględną)",
          "interval_days": "Interwał bezpieczeństwa",
          "interval_unit": "Jednostka interwału",
          "warning_days": "Dni ostrzeżenia przed terminem",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_target_value": "Wyzwalaj konserwację, gdy ta skumulowana wartość zostanie osiągnięta.",
          "trigger_delta_mode": "Jeśli włączone, liczy różnicę względem linii bazowej zamiast wartości bezwzględnej.",
          "interval_days": "Opcjonalny interwał bezpieczeństwa oparty na czasie, oprócz wyzwalacza licznika.",
          "interval_unit": "Jednostka interwału: dni, tygodnie, miesiące lub lata. Miesiące i lata podążają za kalendarzem.",
          "warning_days": "Liczba dni przed terminem, w której wyświetlane jest ostrzeżenie."
        }
      },
      "opt_trigger_state_change": {
        "title": "Konfiguracja zmiany stanu",
        "description": "Zliczaj zmiany stanu encji {entity_id}.",
        "data": {
          "trigger_from_state": "Ze stanu (opcjonalnie)",
          "trigger_to_state": "Do stanu (opcjonalnie)",
          "trigger_target_changes": "Liczba zmian do wyzwolenia",
          "interval_days": "Interwał bezpieczeństwa",
          "interval_unit": "Jednostka interwału",
          "warning_days": "Dni ostrzeżenia przed terminem",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_from_state": "Zliczaj tylko przejścia z tego stanu. Pozostaw puste dla dowolnego.",
          "trigger_to_state": "Zliczaj tylko przejścia do tego stanu. Pozostaw puste dla dowolnego.",
          "trigger_target_changes": "Liczba pasujących zmian stanu przed wyzwoleniem konserwacji.",
          "interval_days": "Opcjonalny interwał bezpieczeństwa oparty na czasie, oprócz wyzwalacza zmiany stanu.",
          "interval_unit": "Jednostka interwału: dni, tygodnie, miesiące lub lata. Miesiące i lata podążają za kalendarzem.",
          "warning_days": "Liczba dni przed terminem, w której wyświetlane jest ostrzeżenie."
        }
      },
      "opt_trigger_runtime": {
        "title": "Konfiguracja czasu pracy",
        "description": "Śledź skumulowany czas pracy {entity_id}.",
        "data": {
          "trigger_runtime_hours": "Docelowy czas pracy (godziny)",
          "trigger_on_states": "Stany aktywne (oddzielone przecinkami)",
          "interval_days": "Interwał bezpieczeństwa",
          "interval_unit": "Jednostka interwału",
          "warning_days": "Dni ostrzeżenia przed terminem",
          "go_back": "Wróć"
        },
        "data_description": {
          "trigger_runtime_hours": "Wyzwalaj konserwację po tylu godzinach skumulowanego czasu pracy.",
          "trigger_on_states": "Które stany czujnika liczą się jako „aktywne”. Pozostaw puste dla domyślnych: on, 1, true. Przykład: in_use, running",
          "interval_days": "Opcjonalny interwał bezpieczeństwa oparty na czasie, oprócz wyzwalacza czasu pracy.",
          "interval_unit": "Jednostka interwału: dni, tygodnie, miesiące lub lata. Miesiące i lata podążają za kalendarzem.",
          "warning_days": "Liczba dni przed terminem, w której wyświetlane jest ostrzeżenie."
        }
      },
      "object_settings": {
        "title": "Ustawienia obiektu",
        "description": "Edytuj szczegóły obiektu.",
        "data": {
          "name": "Nazwa obiektu",
          "manufacturer": "Producent",
          "model": "Model",
          "serial_number": "Numer seryjny",
          "documentation_url": "URL instrukcji / dokumentacji",
          "notes": "Notatki",
          "area_id": "Obszar",
          "installation_date": "Data instalacji",
          "warranty_expiry": "Wygaśnięcie gwarancji",
          "go_back": "Wróć"
        },
        "data_description": {
          "name": "Unikalna nazwa tego obiektu konserwacji (np. „Pompa basenowa”, „Samochód”).",
          "manufacturer": "Producent obiektu.",
          "model": "Nazwa lub numer modelu.",
          "serial_number": "Numer seryjny obiektu.",
          "documentation_url": "Opcjonalny link do instrukcji PDF, strony producenta lub dowolnego URL z informacjami referencyjnymi dla tego obiektu.",
          "notes": "Notatki o obiekcie — numery części, procedury, przypomnienia ustawień, itp.",
          "area_id": "Obszar w domu, w którym znajduje się ten obiekt.",
          "installation_date": "Kiedy ten obiekt został zainstalowany lub kupiony.",
          "warranty_expiry": "Kiedy wygasa gwarancja producenta dla tego obiektu.",
          "go_back": "Wróć do menu głównego bez zapisywania."
        }
      }
    }
  },
  "entity": {
    "button": {
      "button_complete": {
        "name": "{task_name} Zakończ"
      },
      "button_skip": {
        "name": "{task_name} Pomiń"
      },
      "button_reset": {
        "name": "{task_name} Resetuj"
      }
    },
    "sensor": {
      "maintenance_task": {
        "name": "{task_name}",
        "state": {
          "ok": "OK",
          "due_soon": "Wkrótce wymagane",
          "overdue": "Przeterminowane",
          "triggered": "Wyzwolone",
          "archived": "Zarchiwizowane",
          "paused": "Wstrzymane"
        },
        "state_attributes": {
          "maintenance_type": {
            "name": "Typ konserwacji",
            "state": {
              "cleaning": "Czyszczenie",
              "inspection": "Kontrola",
              "replacement": "Wymiana",
              "calibration": "Kalibracja",
              "service": "Serwis",
              "reading": "Odczyt",
              "custom": "Niestandardowe"
            }
          },
          "schedule_type": {
            "name": "Typ harmonogramu",
            "state": {
              "time_based": "Czasowy",
              "sensor_based": "Czujnikowy",
              "one_time": "Jednorazowo",
              "manual": "Ręczny"
            }
          },
          "interval_days": {
            "name": "Interwał"
          },
          "interval_unit": {
            "name": "Jednostka interwału"
          },
          "warning_days": {
            "name": "Dni ostrzeżenia"
          },
          "last_performed": {
            "name": "Ostatnio wykonane"
          },
          "next_due": {
            "name": "Następny termin"
          },
          "days_until_due": {
            "name": "Dni do terminu"
          },
          "parent_object": {
            "name": "Obiekt nadrzędny"
          },
          "times_performed": {
            "name": "Liczba wykonań"
          },
          "total_cost": {
            "name": "Łączny koszt"
          },
          "average_duration": {
            "name": "Średni czas trwania (min)"
          },
          "notes": {
            "name": "Notatki"
          },
          "documentation_url": {
            "name": "URL dokumentacji"
          },
          "trigger_entity": {
            "name": "Encja wyzwalająca"
          },
          "trigger_attribute": {
            "name": "Atrybut wyzwalacza"
          },
          "trigger_type": {
            "name": "Typ wyzwalacza",
            "state": {
              "threshold": "Próg",
              "counter": "Licznik",
              "state_change": "Zmiana stanu",
              "runtime": "Czas pracy",
              "compound": "Złożony"
            }
          },
          "trigger_active": {
            "name": "Wyzwalacz aktywny"
          },
          "trigger_current_value": {
            "name": "Aktualna wartość wyzwalacza"
          },
          "trigger_entity_state": {
            "name": "Stan encji wyzwalającej",
            "state": {
              "available": "Dostępna",
              "unavailable": "Niedostępna",
              "missing": "Brak",
              "startup": "Uruchamianie"
            }
          },
          "trigger_above": {
            "name": "Wyzwalaj powyżej"
          },
          "trigger_below": {
            "name": "Wyzwalaj poniżej"
          },
          "trigger_for_minutes": {
            "name": "Wyzwalaj przez (minuty)"
          },
          "trigger_target_value": {
            "name": "Wartość docelowa wyzwalacza"
          },
          "trigger_delta_mode": {
            "name": "Tryb różnicowy wyzwalacza"
          },
          "trigger_baseline_value": {
            "name": "Wartość bazowa wyzwalacza"
          },
          "trigger_current_delta": {
            "name": "Aktualna różnica wyzwalacza"
          },
          "trigger_from_state": {
            "name": "Wyzwalaj ze stanu"
          },
          "trigger_to_state": {
            "name": "Wyzwalaj do stanu"
          },
          "trigger_target_changes": {
            "name": "Docelowa liczba zmian"
          },
          "trigger_change_count": {
            "name": "Liczba zmian wyzwalacza"
          },
          "trigger_runtime_hours": {
            "name": "Docelowy czas pracy (godziny)"
          },
          "trigger_accumulated_hours": {
            "name": "Skumulowany czas pracy (godziny)"
          },
          "trigger_remaining_hours": {
            "name": "Pozostały czas pracy (godziny)"
          },
          "last_entry": {
            "name": "Ostatni wpis"
          },
          "suggested_interval": {
            "name": "Sugerowany interwał"
          },
          "interval_confidence": {
            "name": "Pewność interwału",
            "state": {
              "low": "Niska",
              "medium": "Średnia",
              "high": "Wysoka"
            }
          },
          "adaptive_scheduling_enabled": {
            "name": "Adaptacyjne planowanie włączone"
          },
          "seasonal_factor": {
            "name": "Współczynnik sezonowy"
          },
          "seasonal_reason": {
            "name": "Powód sezonowy",
            "state": {
              "learned": "Wyuczone",
              "manual": "Ręczne"
            }
          },
          "degradation_rate": {
            "name": "Tempo degradacji"
          },
          "degradation_trend": {
            "name": "Trend degradacji",
            "state": {
              "rising": "Rosnący",
              "falling": "Malejący",
              "stable": "Stabilny",
              "insufficient_data": "Niewystarczające dane"
            }
          },
          "days_until_threshold": {
            "name": "Dni do progu"
          },
          "threshold_prediction_confidence": {
            "name": "Pewność predykcji",
            "state": {
              "low": "Niska",
              "medium": "Średnia",
              "high": "Wysoka"
            }
          },
          "environmental_factor": {
            "name": "Współczynnik środowiskowy"
          },
          "environmental_entity": {
            "name": "Encja środowiskowa"
          },
          "weibull_beta": {
            "name": "Kształt Weibulla (β)"
          },
          "weibull_eta": {
            "name": "Skala Weibulla (η)"
          },
          "weibull_r_squared": {
            "name": "R² Weibulla"
          },
          "weibull_beta_interpretation": {
            "name": "Wzorzec awarii",
            "state": {
              "early_failures": "Wczesne awarie",
              "random_failures": "Awarie losowe",
              "wear_out": "Zużycie",
              "highly_predictable": "Wysoce przewidywalne"
            }
          },
          "confidence_interval_low": {
            "name": "Przedział ufności (dolny)"
          },
          "confidence_interval_high": {
            "name": "Przedział ufności (górny)"
          },
          "interval_anchor": {
            "name": "Punkt odniesienia interwału",
            "state": {
              "completion": "Od ukończenia",
              "planned": "Od planowanej daty"
            }
          },
          "due_date": {
            "name": "Termin"
          }
        }
      },
      "summary_overdue": {
        "name": "Przeterminowane"
      },
      "summary_due_soon": {
        "name": "Wkrótce wymagane"
      },
      "summary_triggered": {
        "name": "Wyzwolone"
      },
      "summary_needs_attention": {
        "name": "Wymaga uwagi"
      },
      "summary_ok": {
        "name": "OK"
      },
      "document_storage": {
        "name": "Magazyn dokumentów"
      },
      "summary_total_tasks": {
        "name": "Łącznie zadań"
      },
      "next_due": {
        "name": "{task_name} Następny termin"
      },
      "days_until_due": {
        "name": "{task_name} Dni do terminu"
      },
      "parts_to_reorder": {
        "name": "Części do zamówienia"
      },
      "batteries_to_replace": {
        "name": "Baterie do wymiany"
      }
    },
    "calendar": {
      "maintenance_schedule": {
        "name": "Harmonogram konserwacji"
      }
    },
    "binary_sensor": {
      "maintenance_task_due": {
        "name": "{task_name} przeterminowane",
        "state_attributes": {
          "maintenance_status": {
            "name": "Status konserwacji",
            "state": {
              "ok": "OK",
              "due_soon": "Wkrótce wymagane",
              "overdue": "Przeterminowane",
              "triggered": "Wyzwolone",
              "archived": "Zarchiwizowane"
            }
          },
          "days_until_due": {
            "name": "Dni do terminu"
          },
          "next_due": {
            "name": "Następny termin"
          },
          "parent_object": {
            "name": "Obiekt nadrzędny"
          }
        }
      }
    },
    "todo": {
      "maintenance_todo": {
        "name": "Konserwacja"
      }
    }
  },
  "selector": {
    "maintenance_type": {
      "options": {
        "cleaning": "Czyszczenie",
        "inspection": "Kontrola",
        "replacement": "Wymiana",
        "calibration": "Kalibracja",
        "service": "Serwis",
        "reading": "Odczyt",
        "custom": "Niestandardowe"
      }
    },
    "schedule_type": {
      "options": {
        "time_based": "Czasowy",
        "weekdays": "Dni tygodnia",
        "nth_weekday": "N-ty dzień tygodnia w miesiącu",
        "day_of_month": "Dzień miesiąca",
        "sensor_based": "Czujnikowy",
        "one_time": "Jednorazowo",
        "manual": "Ręczny"
      }
    },
    "interval_unit": {
      "options": {
        "days": "Dni",
        "weeks": "Tygodnie",
        "months": "Miesiące",
        "years": "Lata"
      }
    },
    "trigger_type": {
      "options": {
        "threshold": "Próg",
        "counter": "Licznik",
        "state_change": "Zmiana stanu",
        "runtime": "Czas pracy",
        "compound": "Złożony (wiele warunków)"
      }
    },
    "compound_logic": {
      "options": {
        "and": "ORAZ (wszystkie warunki muszą zostać spełnione)",
        "or": "LUB (wystarczy jeden warunek)"
      }
    },
    "entity_logic": {
      "options": {
        "any": "Dowolna encja wyzwala",
        "all": "Wszystkie encje muszą wyzwalać"
      }
    },
    "notification_title_style": {
      "options": {
        "default": "Domyślny (tytuł według statusu)",
        "object_name": "Nazwa obiektu jako tytuł",
        "task_name": "Nazwa zadania jako tytuł"
      }
    }
  },
  "services": {
    "complete": {
      "name": "Zakończ konserwację",
      "description": "Oznacz zadanie konserwacji jako ukończone.",
      "fields": {
        "entity_id": {
          "name": "Encja",
          "description": "Encja czujnika konserwacji do oznaczenia jako ukończone."
        },
        "notes": {
          "name": "Notatki",
          "description": "Opcjonalne notatki o wykonanej konserwacji."
        },
        "cost": {
          "name": "Koszt",
          "description": "Koszt wykonanej konserwacji."
        },
        "duration": {
          "name": "Czas trwania",
          "description": "Czas trwania konserwacji w minutach."
        },
        "reading_value": {
          "name": "Wartość odczytu",
          "description": "Zarejestrowana wartość dla zadań odczytu (odczyt licznika, kontrola poziomu)."
        }
      }
    },
    "reset": {
      "name": "Resetuj konserwację",
      "description": "Resetuj datę ostatniego wykonania zadania konserwacji.",
      "fields": {
        "entity_id": {
          "name": "Encja",
          "description": "Encja czujnika konserwacji do zresetowania."
        },
        "date": {
          "name": "Data",
          "description": "Data do ustawienia jako ostatnio wykonana. Domyślnie dzisiaj."
        }
      }
    },
    "skip": {
      "name": "Pomiń konserwację",
      "description": "Pomiń bieżący cykl konserwacji.",
      "fields": {
        "entity_id": {
          "name": "Encja",
          "description": "Encja czujnika konserwacji do pominięcia."
        },
        "reason": {
          "name": "Powód",
          "description": "Opcjonalny powód pominięcia konserwacji."
        }
      }
    },
    "export_data": {
      "name": "Eksportuj dane",
      "description": "Eksportuj wszystkie dane konserwacji jako JSON lub YAML.",
      "fields": {
        "format": {
          "name": "Format",
          "description": "Format wyjściowy eksportowanych danych (json lub yaml)."
        },
        "include_history": {
          "name": "Dołącz historię",
          "description": "Czy uwzględnić wpisy historii zadań w eksporcie."
        }
      }
    },
    "add_object": {
      "name": "Dodaj obiekt",
      "description": "Utwórz nowy obiekt konserwacji (urządzenie). Zwraca nowe entry_id.",
      "fields": {
        "name": {
          "name": "Nazwa",
          "description": "Nazwa obiektu/urządzenia."
        },
        "area_id": {
          "name": "Obszar",
          "description": "Obszar, do którego przypisać urządzenie."
        },
        "manufacturer": {
          "name": "Producent"
        },
        "model": {
          "name": "Model"
        },
        "serial_number": {
          "name": "Numer seryjny"
        },
        "installation_date": {
          "name": "Data instalacji"
        },
        "warranty_expiry": {
          "name": "Wygaśnięcie gwarancji",
          "description": "Data końca gwarancji (do ewidencji majątku i przypomnień)."
        },
        "documentation_url": {
          "name": "URL dokumentacji",
          "description": "Link do instrukcji lub strony producenta (tylko http/https)."
        },
        "notes": {
          "name": "Notatki"
        }
      }
    },
    "add_task": {
      "name": "Dodaj zadanie",
      "description": "Dodaj zadanie konserwacji do istniejącego obiektu. Zwraca nowe task_id.",
      "fields": {
        "entry_id": {
          "name": "Obiekt",
          "description": "Obiekt konserwacji, do którego zostanie dodane zadanie."
        },
        "name": {
          "name": "Nazwa",
          "description": "Nazwa zadania."
        },
        "task_type": {
          "name": "Typ zadania",
          "description": "Dowolna kategoria (np. inspection, service, custom)."
        },
        "schedule_type": {
          "name": "Typ harmonogramu",
          "description": "time_based (interwał) lub sensor_based. Domyślnie: time_based."
        },
        "interval_days": {
          "name": "Interwał",
          "description": "Długość interwału między wystąpieniami (dla zadań czasowych), w połączeniu z interval_unit."
        },
        "interval_unit": {
          "name": "Jednostka interwału",
          "description": "Jednostka interwału: days, weeks, months lub years. Domyślnie: days."
        },
        "due_date": {
          "name": "Termin",
          "description": "Termin (YYYY-MM-DD) zadania jednorazowego (schedule_type one_time)."
        },
        "schedule": {
          "name": "Harmonogram kalendarzowy",
          "description": "Zagnieżdżone powtarzanie dla typów kalendarzowych, np. kind=nth_weekday, nth=1, weekday=5 dla 1. soboty (weekday 0=pon ... 6=niedz), kind=weekdays, weekdays=[0, 3] dla pon i czw, lub kind=day_of_month, day=15. Ma pierwszeństwo przed interval_days / schedule_type."
        },
        "warning_days": {
          "name": "Ostrzeżenie (dni)",
          "description": "Liczba dni przed terminem, od których zadanie wchodzi w okno „wkrótce”."
        },
        "enabled": {
          "name": "Włączone"
        },
        "notes": {
          "name": "Notatki"
        }
      }
    },
    "update_task": {
      "name": "Aktualizuj zadanie",
      "description": "Aktualizuje typowe pola istniejącego zadania konserwacji. Zmieniają się tylko podane pola.",
      "fields": {
        "entry_id": {
          "name": "Obiekt",
          "description": "Obiekt konserwacji, do którego należy zadanie."
        },
        "task_id": {
          "name": "Identyfikator zadania",
          "description": "Id zadania do zaktualizowania (zob. list_tasks)."
        },
        "name": {
          "name": "Nazwa",
          "description": "Nowa nazwa zadania."
        },
        "task_type": {
          "name": "Typ zadania",
          "description": "Kategoria (cleaning, inspection, replacement, calibration, service, reading, custom)."
        },
        "schedule_type": {
          "name": "Typ harmonogramu",
          "description": "time_based (interwał), sensor_based, one_time lub manual."
        },
        "interval_days": {
          "name": "Interwał",
          "description": "Długość interwału między wystąpieniami, w połączeniu z interval_unit."
        },
        "interval_unit": {
          "name": "Jednostka interwału",
          "description": "days, weeks, months lub years."
        },
        "due_date": {
          "name": "Termin",
          "description": "Termin zadań jednorazowych (YYYY-MM-DD)."
        },
        "schedule": {
          "name": "Harmonogram (powtarzanie kalendarzowe)",
          "description": "Zagnieżdżony obiekt powtarzania dla typów kalendarzowych, np. kind=day_of_month, day=-1, business=true. Ma pierwszeństwo przed polami płaskimi."
        },
        "warning_days": {
          "name": "Dni ostrzeżenia",
          "description": "Liczba dni przed terminem, od których zadanie staje się „wkrótce”."
        },
        "enabled": {
          "name": "Włączone",
          "description": "Czy zadanie jest aktywne."
        },
        "notes": {
          "name": "Notatki",
          "description": "Dowolne notatki do zadania."
        },
        "priority": {
          "name": "Priorytet",
          "description": "low, normal lub high."
        },
        "labels": {
          "name": "Etykiety",
          "description": "Lista tagów do filtrowania i raportowania."
        }
      }
    },
    "delete_task": {
      "name": "Usuń zadanie",
      "description": "Usuwa zadanie konserwacji wraz z jego historią. Nie można tego cofnąć - rozważ zamiast tego archiwizację w panelu.",
      "fields": {
        "entry_id": {
          "name": "Obiekt",
          "description": "Obiekt konserwacji, do którego należy zadanie."
        },
        "task_id": {
          "name": "Identyfikator zadania",
          "description": "Id zadania do usunięcia (zob. list_tasks)."
        }
      }
    },
    "list_tasks": {
      "name": "Wyświetl zadania",
      "description": "Zwraca migawkę aktywnych zadań konserwacji (id, nazwa, status, następny termin) dla automatyzacji, skryptów i głosu. Obsługuje filtrowanie według obiektu i statusu.",
      "fields": {
        "entry_id": {
          "name": "Obiekt",
          "description": "Zwracaj tylko zadania tego obiektu konserwacji."
        },
        "status": {
          "name": "Status",
          "description": "Zwracaj tylko zadania o tym statusie."
        }
      }
    }
  },
  "issues": {
    "document_storage_issues": {
      "title": "Magazyn dokumentów wymaga oczyszczenia",
      "fix_flow": {
        "step": {
          "init": {
            "title": "Odzyskaj miejsce w magazynie dokumentów",
            "description": "Maintenance Supporter znalazł niereferencjonowane pliki i/lub martwe rekordy w magazynie dokumentów — zwykle skutek awarii, zewnętrznego usunięcia pliku lub częściowego przywrócenia.\n\nKliknij **Zatwierdź**, aby odzyskać miejsce: niereferencjonowane i nieaktualne pliki są usuwane, a martwe rekordy dokumentów kasowane. Pliki nadal używane przez dokument nigdy nie są ruszane.\n\n(Aby zignorować bez czyszczenia, użyj przycisku **Zignoruj** w Home Assistant na stronie Naprawy.)"
          }
        }
      }
    },
    "missing_trigger_entity": {
      "title": "Nie znaleziono czujnika wyzwalającego: {task_name}",
      "fix_flow": {
        "step": {
          "init": {
            "title": "Brakująca encja wyzwalająca",
            "description": "Encja czujnika `{entity_id}` skonfigurowana jako wyzwalacz dla zadania „{task_name}” na obiekcie „{object_name}” nie jest już dostępna.\n\nWybierz, jak rozwiązać ten problem:",
            "menu_options": {
              "replace_entity": "Zastąp inną encją",
              "remove_trigger": "Usuń wyzwalacz czujnika",
              "dismiss": "Odrzuć (pojawi się ponownie)"
            }
          },
          "replace_entity": {
            "title": "Zastąp encję wyzwalającą",
            "description": "Wybierz nową encję, aby zastąpić `{entity_id}` jako wyzwalacz dla zadania „{task_name}” na „{object_name}”.",
            "data": {
              "new_entity_id": "Nowa encja wyzwalająca"
            },
            "data_description": {
              "new_entity_id": "Wybierz nową encję czujnika do użycia jako wyzwalacz."
            }
          },
          "remove_trigger": {
            "title": "Usuń wyzwalacz czujnika",
            "description": "Spowoduje to usunięcie wyzwalacza czujnika z zadania „{task_name}” na „{object_name}” i konwersję harmonogramu na czasowy lub ręczny. Historia konserwacji zostanie zachowana.\n\nPoprzednia encja wyzwalająca: `{entity_id}`"
          }
        }
      }
    },
    "orphan_admin_panel_user": {
      "title": "Użytkownik z dostępem do panelu już nie istnieje",
      "fix_flow": {
        "step": {
          "init": {
            "title": "Osierocony użytkownik na liście dostępu do panelu",
            "description": "Użytkownik `{user_id}…` znajduje się na liście dostępu do panelu Maintenance Supporter, ale nie istnieje już w Home Assistant. Prawdopodobnie został usunięty.\n\nKliknij **Wyślij**, aby usunąć tego użytkownika z listy. (Aby zignorować problem, użyj przycisku **Ignoruj** Home Assistant na stronie Naprawy.)"
          }
        }
      }
    },
    "stale_action_entity": {
      "title": "Akcja po ukończeniu odwołuje się do usuniętej encji",
      "fix_flow": {
        "step": {
          "init": {
            "title": "Akcja po ukończeniu: {stale_entity} już nie istnieje",
            "description": "Zadanie **{task_name}** ma skonfigurowaną akcję `on_complete_action`, która wywołuje usługę na `{stale_entity}`, ale ta encja nie jest już zarejestrowana w Home Assistant.\n\nWybierz, jak naprawić:",
            "menu_options": {
              "replace_entity": "Zastąp inną encją",
              "remove_action": "Usuń akcję po ukończeniu"
            }
          },
          "replace_entity": {
            "title": "Zastąp encję docelową",
            "description": "Wybierz encję do użycia zamiast `{stale_entity}` dla zadania **{task_name}**.",
            "data": {
              "new_entity": "Nowa encja docelowa"
            }
          },
          "remove_action": {
            "title": "Usuń akcję po ukończeniu",
            "description": "Wyczyść `on_complete_action` z zadania **{task_name}** całkowicie. Samo zadanie pozostanie nienaruszone — usuwane jest tylko wywołanie usługi po ukończeniu."
          }
        }
      }
    },
    "notify_service_missing": {
      "title": "Nie znaleziono usługi powiadomień `{service}`",
      "description": "Maintenance Supporter jest skonfigurowany do wysyłania powiadomień przez `{service}`, ale ta usługa obecnie nie istnieje w Home Assistant, więc przypomnienia zawodzą po cichu.\n\nZwykle oznacza to, że usługa została przemianowana lub że integracja stojąca za nią (aplikacja mobilna, grupa powiadomień, …) została usunięta. Aby to naprawić: przywróć tę usługę lub otwórz **Ustawienia → Urządzenia i usługi → Maintenance Supporter → Konfiguruj → Ustawienia ogólne** i wybierz prawidłową usługę `notify.*`.\n\nUwaga: sprawdzana jest tylko sama skonfigurowana usługa. Jeśli powiadomienia docierają do niektórych urządzeń, ale nie do innych, prawdopodobnie błędnie skonfigurowany jest członek *wewnątrz* Twojej grupy powiadomień — to nie jest tu widoczne; sprawdź **dziennik systemowy** Home Assistant (Ustawienia → System → Dzienniki)."
    },
    "missing_global_entry": {
      "title": "Brak globalnej konfiguracji Maintenance Supporter",
      "fix_flow": {
        "step": {
          "init": {
            "title": "Przywróć globalną konfigurację",
            "description": "Twoje obiekty konserwacji nadal istnieją, ale globalny wpis \"Maintenance Supporter\" został usunięty — dlatego brakuje czujników podsumowania, panelu bocznego i liczników pulpitu, a wskaźniki KPI pokazują \"unknown\".\n\nKliknij **Wyślij**, aby ponownie utworzyć globalną konfigurację z ustawieniami domyślnymi. Twoje obiekty i zadania pozostają nienaruszone. Powiadomienia i wartości domyślne możesz dostosować później w Ustawienia → Urządzenia i usługi.\n\n(Aby niczego nie zmieniać, użyj przycisku **Ignoruj** w Home Assistant.)"
          }
        }
      }
    }
  },
  "exceptions": {
    "no_coordinator_for_entity": {
      "message": "Nie znaleziono koordynatora konserwacji dla encji {entity_id}."
    },
    "no_task_for_entity": {
      "message": "Nie znaleziono zadania konserwacji dla encji {entity_id}."
    }
  },
  "triggers": {
    "task_became_overdue": {
      "name": "Zadanie konserwacji stało się zaległe",
      "description": "Wyzwala się, gdy status zadania konserwacji zmienia się na zaległe.",
      "fields": {
        "behavior": {
          "name": "Zachowanie"
        },
        "for": {
          "name": "Przez"
        }
      }
    },
    "task_became_due_soon": {
      "name": "Zadanie konserwacji wkrótce wymagane",
      "description": "Wyzwala się, gdy zadanie konserwacji wchodzi w okno ostrzeżenia.",
      "fields": {
        "behavior": {
          "name": "Zachowanie"
        },
        "for": {
          "name": "Przez"
        }
      }
    },
    "sensor_trigger_activated": {
      "name": "Wyzwalacz czujnika został aktywowany",
      "description": "Wyzwala się, gdy zadanie konserwacji oparte na czujnikach się aktywuje.",
      "fields": {
        "behavior": {
          "name": "Zachowanie"
        },
        "for": {
          "name": "Przez"
        }
      }
    },
    "task_became_ok": {
      "name": "Zadanie konserwacji wróciło do stanu OK",
      "description": "Wyzwala się, gdy zadanie konserwacji nie wymaga już uwagi.",
      "fields": {
        "behavior": {
          "name": "Zachowanie"
        },
        "for": {
          "name": "Przez"
        }
      }
    }
  },
  "conditions": {
    "task_is_overdue": {
      "name": "Zadanie konserwacji jest zaległe",
      "description": "Sprawdza, czy zadanie konserwacji jest zaległe.",
      "fields": {
        "behavior": {
          "name": "Zachowanie"
        },
        "for": {
          "name": "Przez"
        }
      }
    },
    "task_is_due_soon": {
      "name": "Zadanie konserwacji wkrótce wymagane",
      "description": "Sprawdza, czy zadanie konserwacji jest w oknie ostrzeżenia.",
      "fields": {
        "behavior": {
          "name": "Zachowanie"
        },
        "for": {
          "name": "Przez"
        }
      }
    },
    "task_is_triggered": {
      "name": "Wyzwalacz czujnika jest aktywny",
      "description": "Sprawdza, czy zadanie konserwacji oparte na czujnikach jest aktywowane.",
      "fields": {
        "behavior": {
          "name": "Zachowanie"
        },
        "for": {
          "name": "Przez"
        }
      }
    },
    "task_needs_attention": {
      "name": "Zadanie konserwacji wymaga uwagi",
      "description": "Sprawdza, czy zadanie konserwacji jest zaległe lub aktywowane.",
      "fields": {
        "behavior": {
          "name": "Zachowanie"
        },
        "for": {
          "name": "Przez"
        }
      }
    }
  }
}
