{
  "birthCert": {
    "transfer": {
      "docTitle": "ŚWIADECTWO PRZENIESIENIA WŁASNOŚCI",
      "seller": "1. ZBYWCA (Sprzedawca / Darczyńca)",
      "buyer": "2. NABYWCA (Kupujący / Odbiorca)",
      "animalDesc": "3. OPIS ZWIERZĘCIA",
      "scientificName": "Nazwa naukowa",
      "commonName": "Nazwa zwyczajowa",
      "birthDate": "Data urodzenia",
      "sex": "Płeć",
      "id": "Oznakowanie (mikrochip/ID)",
      "origin": "Pochodzenie",
      "legalStatus": "Status prawny",
      "price": "Cena / Warunki",
      "nc": "Urodzony w niewoli",
      "annex": "Załącznik {{annex}} (rozporządzenie UE)",
      "free": "Nieodpłatnie / Darowizna",
      "notProvided": "Adres nie został podany",
      "legal1": "Zbywca oświadcza, że opisane powyżej zwierzę pochodzi z legalnej i zgodnej z prawem hodowli.",
      "legal2": "Zbywca oświadcza, że poinformował Nabywcę o warunkach utrzymania, pielęgnacji i opieki wymaganych dla tego gatunku.",
      "legal3": "Nabywca zobowiązuje się utrzymywać to zwierzę w warunkach odpowiadających jego potrzebom biologicznym oraz zgodnych z obowiązującymi przepisami.",
      "doneAt": "Sporządzono w {{city}}, dnia {{date}}",
      "signSeller": "Podpis ZBYWCY",
      "signBuyer": "Podpis NABYWCY",
      "readApproved": "Poprzedzone zwrotem „Przeczytano i zatwierdzono”",
      "declarations": "4. OŚWIADCZENIA",
      "mandatoryTitle": "Obowiązkowa informacja",
      "authorityLabel": "Organ / odniesienie",
      "breederRegNo": "Nr licencji / uprawnień / działalności zbywcy",
      "quantity": "Liczba osobników",
      "mark": "Oznakowanie / Identyfikacja",
      "source": "Kod źródła (CITES)",
      "registrationId": "Nr rejestracji (rejestr krajowy)",
      "citesCertId": "Nr świadectwa wewnątrzunijnego (CIC)",
      "notListed": "Niewymieniony w CITES",
      "field": "Pole",
      "value": "Wartość"
    },
    "actions": {
      "generate": {
        "birth": {
          "title": "Narodziny"
        },
        "clutch": {
          "title": "Raport zniesienia"
        },
        "hatch": {
          "title": "Wyklucie"
        },
        "id": {
          "title": "Identyfikacja"
        },
        "incubation": {
          "title": "Inkubacja"
        },
        "pedigree": {
          "title": "Rodowód"
        },
        "quarantine": {
          "title": "Kwarantanna"
        },
        "sexing": {
          "title": "Określenie płci"
        },
        "transfer": {
          "title": "Przeniesienie / Sprzedaż"
        }
      }
    },
    "alerts": {
      "selectSnakeFirst": "Najpierw wybierz gada."
    },
    "banner": {
      "birth": "Świadectwo urodzenia",
      "clutch": "Raport zniesienia",
      "hatch": "Świadectwo wyklucia",
      "id": "Świadectwo identyfikacji",
      "incubation": "Raport inkubacji",
      "pedigree": "Rodowód (3 pokolenia)",
      "quarantine": "Zaświadczenie o kwarantannie",
      "sexing": "Świadectwo określenia płci",
      "transfer": "Świadectwo przeniesienia / faktura"
    },
    "doc": {
      "creator": "ReptiNode",
      "subject": "Wygenerowane świadectwo"
    },
    "fields": {
      "birthDate": "Data urodzenia",
      "buyer": "Kupujący",
      "clutch": "Zniesienie",
      "currentLength": "Aktualna długość",
      "currentWeight": "Aktualna waga",
      "eggTotals": "Jaja (łącznie/zapłodnione)",
      "eggsTotalFertile": "Jaja (łącznie/zapłodnione)",
      "end": "Koniec",
      "exportedOn": "Wyeksportowano dnia",
      "female": "Samica",
      "generationsShown": "Wyświetlone pokolenia",
      "hatchDate": "Data wyklucia",
      "incubationTH": "Inkubacja (T°/RH)",
      "internalId": "Wewnętrzny identyfikator",
      "laidDate": "Data złożenia",
      "location": "Lokalizacja",
      "male": "Samiec",
      "maternalGrandfather": "Dziadek ze strony matki",
      "maternalGrandmother": "Babcia ze strony matki",
      "method": "Metoda",
      "morph": "Morph",
      "name": "Imię",
      "operator": "Operator",
      "pair": "Para",
      "paternalGrandfather": "Dziadek ze strony ojca",
      "paternalGrandmother": "Babcia ze strony ojca",
      "price": "Cena",
      "seller": "Sprzedawca",
      "sex": "Płeć",
      "sexDetermined": "Określona płeć",
      "species": "Gatunek",
      "start": "Początek",
      "targetHumidity": "Docelowa wilgotność",
      "targetTemp": "Docelowa T°"
    },
    "footer": {
      "generatedByApp": "Świadectwo wygenerowane przez Twoją aplikację",
      "pageXofY": "Strona {{page}} z {{total}}"
    },
    "hatch": {
      "clutchLine": "Zniesienie z {{date}} — {{eggs}} jaj"
    },
    "methods": {
      "autre": "Inne",
      "echography": "USG",
      "other": "Inne",
      "popping": "Popping",
      "probing": "Sondowanie"
    },
    "pdf": {
      "footer": {
        "generatedBy": "Świadectwo wygenerowane przez Twoją aplikację",
        "pageXofY": "Strona {{page}} z {{total}}"
      },
      "numberShort": "Nr",
      "watermark": "ReptiNode"
    },
    "preview": {
      "download": "Pobierz",
      "page": "Strona",
      "title": "Podgląd PDF"
    },
    "section": {
      "animal": "Zwierzę",
      "eggDetails": "Szczegóły jaj",
      "generalInfo": "Informacje ogólne",
      "grandparentsG2": "Dziadkowie (G2)",
      "greatGrandparentsG3": "Pradziadkowie (G3)",
      "info": "Informacje ogólne",
      "juvenile": "Młodociany",
      "parameters": "Parametry",
      "parents": "Rodzice",
      "parentsG1": "Rodzice (G1)",
      "parties": "Strony",
      "quarantinePeriod": "Okres kwarantanny",
      "result": "Wynik",
      "subject": "Podmiot",
      "tracking": "Śledzenie (status i waga)"
    },
    "sections": {
      "eggs": "Szczegóły jaj",
      "general": "Informacje ogólne",
      "grandparentsG2": "Dziadkowie (G2)",
      "greatGrandparentsG3": "Pradziadkowie (G3)",
      "juvenile": "Młodociany",
      "params": "Parametry",
      "parents": "Rodzice",
      "parentsG1": "Rodzice (G1)",
      "subject": "Podmiot",
      "tracking": "Śledzenie (status i waga)"
    },
    "table": {
      "lastUpdate": "Ostatnia aktualizacja",
      "lastUpdateShort": "Akt.",
      "num": "#",
      "status": "Status",
      "weight": "Waga"
    },
    "text": {
      "addMicrochipNote": "Jeśli dotyczy, podaj tutaj numer mikrochipa.",
      "adviceLogs": "Wskazówka: aby wyświetlić wykresy T°/RH, zapisuj dane i eksportuj je tutaj.",
      "attestedBy": "Poświadczone przez: ______________________",
      "breeder": "Hodowca: ______________________",
      "breederSignature": "Podpis hodowcy: ______________________",
      "buyer": "Kupujący: ______________________",
      "captiveBornCertified": "Zaświadczam, że opisane powyżej zwierzę zostało wyhodowane w niewoli (CB).",
      "conditionsNote": "Warunki gwarancji, zwrotu i transportu: podaj tutaj.",
      "dateLine": "Data: ____ / ____ / ______",
      "fillExtendedDataNote": "Uzupełnij za pomocą danych rozszerzonych, jeśli są dostępne (domyślnie nie są podawane).",
      "hatchAttestationLine": "Ja, niżej podpisany/a, zaświadczam wyklucie w niewoli zwierzęcia opisanego powyżej.",
      "owner": "Właściciel: ______________________",
      "seller": "Sprzedawca: ______________________",
      "signature": "Podpis"
    },
    "titles": {
      "birth": "Świadectwo urodzenia",
      "clutchReport": "Raport zniesienia",
      "hatch": "Świadectwo wyklucia",
      "id": "Świadectwo identyfikacji",
      "incubationReport": "Raport inkubacji",
      "pedigree": "Rodowód (3 pokolenia)",
      "quarantine": "Zaświadczenie o kwarantannie",
      "sexing": "Świadectwo określenia płci",
      "transfer": "Świadectwo przeniesienia / faktura"
    },
    "ui": {
      "clutchOptionLabel": "Zniesienie z {{date}} — {{eggs}} jaj",
      "freeForm": {
        "buyerLabel": "Kupujący",
        "buyerPlaceholder": "Imię i nazwisko kupującego",
        "locationLabel": "Lokalizacja (kwarantanna)",
        "locationPlaceholder": "Np. osobne pomieszczenie, regał 2",
        "methodLabel": "Metoda",
        "operatorLabel": "Operator (określenie płci)",
        "operatorPlaceholder": "Np. dr Kowalski",
        "priceLabel": "Cena",
        "pricePlaceholder": "€",
        "qEndLabel": "Koniec (kwarantanna)",
        "qStartLabel": "Początek (kwarantanna)",
        "sellerLabel": "Sprzedawca",
        "sellerPlaceholder": "Hodowca / Firma",
        "country": "Kraj referencyjny (ramy prawne)",
        "commonName": "Nazwa zwyczajowa",
        "price": "Cena sprzedaży",
        "cites": "Status załącznika UE",
        "location": "Miejsce podpisania",
        "markId": "Oznakowanie / Mikrochip (transponder)",
        "source": "Kod źródła (CITES)",
        "quantity": "Liczba osobników",
        "registrationId": "Nr rejestracji (rejestr krajowy)",
        "breederRegNo": "Nr uprawnień / działalności / hodowli",
        "citesCertId": "Nr świadectwa wewnątrzunijnego (CIC)",
        "sellerSection": "Zbywca (Sprzedawca)",
        "buyerSection": "Nabywca (Kupujący)"
      },
      "hints": {
        "enrichPdf": "Wskazówka: dodaj pola (mikrochip, zdjęcia) w swoim modelu, aby wzbogacić pliki PDF."
      },
      "labels": {
        "clutchOptional": "Zniesienie (opcjonalnie)",
        "snake": "Gad"
      },
      "loading": "Ładowanie gadów…",
      "select": {
        "clutchPlaceholder": "Wybierz zniesienie…",
        "snakePlaceholder": "Wybierz gada…",
        "clutchNeedsSnake": "Najpierw wybierz węża",
        "noClutchForSnake": "Brak zniesień dla tego węża"
      },
      "subtitle": "Generuj świadectwa, a następnie pobierz je z podglądu.",
      "title": "Świadectwa i eksport PDF",
      "placeholders": {
        "name": "Imię i nazwisko lub nazwa firmy",
        "address": "Pełny adres (ulica, kod pocztowy, miasto)",
        "markId": "np. 250269...",
        "registrationId": "np. nr I-FAP",
        "breederRegNo": "opcjonalnie",
        "citesCertId": "wymagane dla załącznika A",
        "commonName": "np. Ball Python",
        "price": "np. 150 €",
        "location": "np. Paryż",
        "operator": "Imię i nazwisko weterynarza lub eksperta"
      },
      "annexOpt": {
        "A": "Załącznik A",
        "B": "Załącznik B",
        "C": "Załącznik C",
        "D": "Załącznik D",
        "None": "Niewymieniony (nie dotyczy)"
      },
      "complementary": {
        "title": "Informacje dodatkowe",
        "operator": "Operator (określenie płci)",
        "quarantineStart": "Początek kwarantanny",
        "quarantineEnd": "Koniec kwarantanny"
      },
      "legalData": "Dane prawne i administracyjne",
      "clutchRecap": "Szczegóły zniesienia:",
      "eggs": "jaja"
    },
    "legal": {
      "disclaimer": "Niniejszy dokument jest wzorem informacyjnym i nie stanowi porady prawnej. Zbywca pozostaje odpowiedzialny za zgodność z przepisami obowiązującymi w chwili przeniesienia własności.",
      "captiveBred": "Niniejszy dokument zaświadcza, że okaz został wyhodowany i urodzony w niewoli.",
      "country": {
        "FR": "Francja",
        "BE": "Belgia",
        "ES": "Hiszpania",
        "DE": "Niemcy",
        "NL": "Holandia",
        "CH": "Szwajcaria",
        "US": "Stany Zjednoczone",
        "OTHER": "Inne / UE"
      },
      "sourceCode": {
        "C": "C — Wyhodowany i urodzony w niewoli",
        "F": "F — Urodzony w niewoli (F1+)",
        "W": "W — Pozyskany z natury",
        "R": "R — Pochodzący z ranczingu",
        "D": "D — Załącznik I, zarejestrowana hodowla komercyjna"
      },
      "fr": {
        "title": "ŚWIADECTWO PRZENIESIENIA / SPRZEDAŻY",
        "framework": "Francja — Kodeks środowiskowy (art. L413-6); rozporządzenie (WE) nr 338/97",
        "authority": "DDPP / OFB — krajowy rejestr I-FAP dla gatunków chronionych",
        "marking": "Oznakowanie i rejestracja I-FAP (gatunki chronione)",
        "decl1": "Zbywca oświadcza, że zwierzę pochodzi z legalnej, zgodnej z prawem hodowli i zostało nabyte zgodnie z obowiązującymi przepisami.",
        "decl2": "W przypadku gatunku chronionego zwierzę zostało zidentyfikowane (oznakowane) i wpisane do krajowego rejestru I-FAP przed przeniesieniem własności.",
        "decl3": "Zbywca przekazał nabywcy dokument informacyjny w języku francuskim dotyczący potrzeb i warunków utrzymania gatunku.",
        "decl4": "Nabywca zobowiązuje się utrzymywać zwierzę w warunkach zgodnych z jego potrzebami biologicznymi oraz obowiązującymi przepisami.",
        "mention": "W celu ochrony dzikiej fauny zwierzę, które właśnie nabyłeś/aś, nie może zostać wypuszczone do środowiska naturalnego.",
        "annexA": "Gatunek z załącznika A: przeniesienie komercyjne wymaga świadectwa wewnątrzunijnego (żółty dokument) wydanego przez właściwy organ."
      },
      "de": {
        "title": "ŚWIADECTWO PRZENIESIENIA / DOWÓD POCHODZENIA",
        "framework": "Niemcy — rozporządzenie (WE) nr 338/97; BNatSchG / BArtSchV",
        "authority": "BfN — zgłoszenie do niższego organu ochrony przyrody (untere Naturschutzbehörde)",
        "marking": "Obowiązek oznakowania (załącznik 6 BArtSchV)",
        "decl2": "Zbywca wystawia dowód pochodzenia (Herkunftsnachweis) wskazujący gatunek, liczbę, płeć, oznakowanie, pochodzenie oraz dane kontaktowe obu stron.",
        "decl3": "Zmiana posiadacza podlega obowiązkowi zgłoszenia (Meldepflicht) właściwemu organowi zarówno przez zbywcę, jak i nabywcę."
      },
      "ch": {
        "title": "ŚWIADECTWO PRZENIESIENIA",
        "framework": "Szwajcaria — ustawa CITES (SR 453) oraz rozporządzenia wykonawcze",
        "authority": "Federalny Urząd Bezpieczeństwa Żywności i Weterynarii (FSVO/BLV)",
        "marking": "Dowód pochodzenia; zezwolenie na utrzymywanie, jeśli wymagane",
        "decl1": "Zbywca oświadcza, że zwierzę pochodzi z legalnej hodowli i może udokumentować swoje pochodzenie (dowód pochodzenia / Herkunftsnachweis).",
        "decl2": "W przypadku gatunków chronionych może być wymagane zezwolenie na utrzymywanie; dowód pochodzenia należy zachować.",
        "decl3": "Nabywca zobowiązuje się utrzymywać zwierzę zgodnie ze szwajcarskim prawem o ochronie zwierząt i gatunków."
      },
      "us": {
        "title": "DOWÓD SPRZEDAŻY I ŚWIADECTWO HODOWLI W NIEWOLI",
        "framework": "USA — ustawa Lacey Act (16 U.S.C. 3371-3378), ESA, CITES; przepisy różnią się w zależności od stanu",
        "authority": "U.S. Fish & Wildlife Service — oraz właściwa stanowa agencja ds. dzikiej przyrody",
        "marking": "Mikrochip / unikalny identyfikator, jeśli dotyczy",
        "decl1": "Sprzedawca oświadcza, że zwierzę zostało wyhodowane i urodzone w niewoli oraz nabyte zgodnie z prawem (zgodność z Lacey Act w zakresie legalnego pochodzenia).",
        "decl2": "W przypadku gatunków wymienionych w załączniku I/II CITES lub objętych ESA do przeniesienia międzystanowego lub międzynarodowego wymagane są odpowiednie zezwolenia federalne.",
        "decl3": "Kupujący odpowiada za przestrzeganie przepisów dotyczących dzikiej przyrody obowiązujących w jego stanie zamieszkania, które mogą ograniczać lub zabraniać posiadania.",
        "captiveBred": "Niniejszy dokument zaświadcza, że zwierzę zostało wyhodowane i urodzone w niewoli.",
        "disclaimer": "Niniejszy dokument jest wzorem informacyjnym i nie stanowi porady prawnej. Sprzedawca pozostaje odpowiedzialny za zgodność z obowiązującym prawem federalnym i stanowym."
      },
      "eu": {
        "title": "ŚWIADECTWO PRZENIESIENIA",
        "framework": "Unia Europejska — rozporządzenie (WE) nr 338/97 oraz rozporządzenie (WE) nr 865/2006",
        "marking": "Zgodne oznakowanie oraz zgłoszenie do właściwego organu krajowego",
        "decl1": "Zbywca oświadcza, że okaz został wyhodowany i urodzony w niewoli w rozumieniu art. 54 rozporządzenia (WE) nr 865/2006 oraz nabyty zgodnie z prawem.",
        "decl2": "W przypadku okazu z załącznika B niniejszy dokument wraz z możliwym do prześledzenia rodowodem stanowi dowód legalnego nabycia (art. 8 ust. 5).",
        "decl3": "W przypadku okazu z załącznika A wykorzystanie komercyjne wymaga świadectwa zwolnienia (żółty dokument) wydanego przez krajowy organ zarządzający CITES.",
        "decl4": "Nabywca zobowiązuje się przestrzegać warunków utrzymania oraz obowiązujących przepisów krajowych i unijnych.",
        "annexA": "Okaz z załącznika A: wykorzystanie komercyjne wymaga świadectwa zwolnienia (żółty dokument) wydanego przez krajowy organ zarządzający CITES."
      },
      "be": {
        "authority": "Organ zarządzający CITES — FPS Zdrowie Publiczne (CITES Belgia)"
      },
      "es": {
        "authority": "Organ zarządzający CITES — właściwe ministerstwo (CITES Hiszpania)"
      },
      "nl": {
        "authority": "Organ zarządzający CITES — RVO; egzekwowanie NVWA (Holandia)"
      }
    },
    "errors": {
      "loadFailed": "Nie udało się wczytać danych. Spróbuj ponownie."
    }
  },
  "pairing": {
    "actions": {
      "createFirst": "Utwórz swoje pierwsze kojarzenie",
      "new": "Nowe kojarzenie",
      "update": "Aktualizuj"
    },
    "alert": {
      "sameSnake": "Samiec i samica nie mogą być tym samym gadem."
    },
    "delete": {
      "confirm": "Ta czynność jest nieodwracalna. Czy na pewno chcesz usunąć to kojarzenie?",
      "title": "Usunąć to kojarzenie?"
    },
    "empty": "Brak zarejestrowanych kojarzeń",
    "fields": {
      "date": "Data kojarzenia",
      "female": "Samica",
      "male": "Samiec",
      "notes": "Notatki",
      "status": "Status"
    },
    "modal": {
      "editTitle": "Edytuj kojarzenie",
      "newTitle": "Nowe kojarzenie"
    },
    "placeholders": {
      "notes": "Obserwacje, zachowania itp.",
      "selectFemale": "Wybierz samicę…",
      "selectMale": "Wybierz samca…"
    },
    "status": {
      "active": "Aktywne",
      "failed": "Nieudane",
      "planned": "Planowane",
      "separated": "Rozdzielone",
      "successful": "Udane"
    },
    "subtitle": "Śledź swoje kojarzenia i ich postępy",
    "title": "Zarządzanie kojarzeniami"
  },
  "changelog": {
    "nav": {
      "back": "Wstecz"
    },
    "header": {
      "badge": "Historia wersji",
      "title": "Co nowego?",
      "subtitle": "Regularnie rozwijamy platformę. Poznaj najnowsze funkcje, poprawki i usprawnienia wydajności."
    },
    "types": {
      "feature": "Nowość",
      "improvement": "Ulepszenie",
      "fix": "Poprawka"
    },
    "major_update": "Duża aktualizacja",
    "footer_slogan": "Nieustanny rozwój.",
    "releases": [
      {
        "version": "v1.9.0",
        "date": "6 lipca 2026",
        "isoDate": "2026-07-06",
        "highlight": true,
        "title": "Szybciej, bezpieczniej, pewniej",
        "description": "Gruntowna aktualizacja skupiona w całości na jakości: ReptiNode jest teraz szybszy, bezpieczniejszy, bardziej dostępny i bardziej niezawodny. Nic nie musisz robić — zmiany są już aktywne, a nowe funkcje pojawią się już wkrótce.",
        "changes": [
          {
            "type": "improvement",
            "text": "Szybsza aplikacja: krótsze ładowanie i płynniejsza nawigacja, nawet przy dużych kolekcjach (zakładki rozrodu oraz narzędzia PDF/QR wczytywane na żądanie, zoptymalizowane listy)."
          },
          {
            "type": "improvement",
            "text": "Pogłębione bezpieczeństwo i prywatność: dostęp do rodowodu ograniczony wyłącznie do właściciela, systematyczna ochrona tras oraz wzmocnione uwierzytelnianie."
          },
          {
            "type": "improvement",
            "text": "Lepsza dostępność w całej aplikacji: nawigacja klawiaturą, zamykanie okien dialogowych klawiszem Esc, obsługa czytników ekranu i etykiety formularzy."
          },
          {
            "type": "improvement",
            "text": "Większa niezawodność: czyste usuwanie kont i zniesień (koniec z osieroconymi danymi), zapisy atomowe oraz solidniejsze płatności Stripe."
          },
          {
            "type": "improvement",
            "text": "Ponad 100 automatycznych testów i bezpieczniejsze wdrożenia (wydanie jest blokowane w razie niepowodzenia testu) dla stabilności na co dzień."
          },
          {
            "type": "fix",
            "text": "Naprawiono restart produkcyjny i dostęp do Panelu Administracyjnego, a także wiele innych poprawek stabilności."
          }
        ]
      },
      {
        "version": "v1.8.0",
        "date": "15 czerwca 2026",
        "isoDate": "2026-06-15",
        "highlight": true,
        "title": "Publiczna wizytówka, kody QR i sprzedaż",
        "description": "Duża aktualizacja poświęcona dzieleniu się: publikuj swoje gady na dopracowanych profilach publicznych, wyposaż kolekcję w inteligentne kody QR i otwórz drzwi do sprzedaży dzięki MorphMarket. Więcej kontroli, więcej bezpieczeństwa, więcej możliwości.",
        "changes": [
          {
            "type": "feature",
            "text": "Profile publiczne nowej generacji: udostępniaj każdego gada za pomocą bezpiecznego linku z jednorazowym tokenem, z trzema poziomami widoczności (prywatny, niepubliczny, publiczny), wygasaniem linku, ochroną hasłem oraz kontrolą nad tym, jakie dane są wyświetlane."
          },
          {
            "type": "feature",
            "text": "Galeria wielu zdjęć: profile publiczne mają teraz prawdziwą galerię (do 20 zdjęć) obok morphu, płci i genetyki, z bogatym podglądem podczas udostępniania w mediach społecznościowych."
          },
          {
            "type": "feature",
            "text": "Sprzedaż i MorphMarket: ustaw status na sprzedaż, zarezerwowany lub sprzedany wraz z ceną i przyciskiem kontaktu, a następnie wyeksportuj całą swoją ofertę do MorphMarket jednym kliknięciem (konta Pro)."
          },
          {
            "type": "feature",
            "text": "QR dla terrarium i racka: wygeneruj kod QR dla całego terrarium lub racka, który prowadzi do listy jego mieszkańców, i zarządzaj swoimi terrariami bezpośrednio w aplikacji."
          },
          {
            "type": "feature",
            "text": "Kody QR szybkich akcji: kod QR „karmienie” lub „ważenie” otwiera od razu wypełniony formularz — jedno zeskanowanie zapisuje zdarzenie."
          },
          {
            "type": "feature",
            "text": "Transfer przez QR i certyfikat autentyczności: przekaż gada wraz z całą jego historią kupującemu jednym skanowaniem i ciesz się weryfikowalnym certyfikatem odzwierciedlającym pochodzenie oraz historię własności."
          },
          {
            "type": "feature",
            "text": "Druk masowy i wbudowany skaner: wydrukuj całą kolekcję kodów QR na arkuszu PDF (układy w stylu Avery), skanuj etykiety bezpośrednio z aplikacji i dostosuj swoje kody QR (wzmocniona odporność do wilgotnych terrariów, logo hodowli)."
          },
          {
            "type": "feature",
            "text": "Odpowiadanie na wsparcie przez e-mail: odpowiedz bezpośrednio na nasze wiadomości e-mail, a Twoja odpowiedź zostanie automatycznie dodana do zgłoszenia."
          },
          {
            "type": "improvement",
            "text": "Statystyki skanowań dla każdego gada oraz nowe wskaźniki widoczności i sprzedaży bezpośrednio na każdej karcie."
          },
          {
            "type": "improvement",
            "text": "Profile publiczne wyświetlane w języku odwiedzającego, tryb konserwacji z banerem informacyjnym oraz ankiety z możliwością zaplanowania (daty rozpoczęcia i zakończenia)."
          },
          {
            "type": "fix",
            "text": "Publiczny kod QR działa teraz bezbłędnie (koniec z błędnym komunikatem „profil prywatny”), wraz z licznymi poprawkami stabilności."
          }
        ]
      },
      {
        "version": "v1.7.1",
        "date": "31 maja 2026",
        "isoDate": "2026-05-31",
        "title": "Wychodzimy na świat i szlifujemy szczegóły",
        "description": "ReptiNode przekracza granice: dokumenty prawne są teraz dostępne w wielu krajach, strona główna zyskuje nowy, świeży wygląd, a kilka celowanych poprawek czyni aplikację jeszcze bardziej niezawodną.",
        "changes": [
          {
            "type": "feature",
            "text": "Międzynarodowe dokumenty prawne: generowanie oficjalnych dokumentów jest teraz dostępne dla Belgii, Hiszpanii, Niemiec, Holandii, Szwajcarii, Stanów Zjednoczonych oraz wszystkich krajów Unii Europejskiej."
          },
          {
            "type": "feature",
            "text": "Nowe strony prezentacyjne: poznaj flagowe funkcje ReptiNode dzięki dedykowanym stronom, zaprojektowanym tak, byś w pełni zrozumiał wszystko, co oferuje aplikacja."
          },
          {
            "type": "improvement",
            "text": "Wizualne odświeżenie strony głównej — nowocześniejsze, bardziej przejrzyste i lepiej ustrukturyzowane pierwsze wrażenie."
          },
          {
            "type": "fix",
            "text": "Centrum Rozrodu (Pro): naprawiono błąd powodujący ukrywanie się niektórych gadów po wprowadzeniu Trybu Rodzinnego."
          },
          {
            "type": "fix",
            "text": "Poprawiono kilka tłumaczeń, aby zwiększyć spójność językową w całej aplikacji."
          }
        ]
      },
      {
        "version": "v1.7.0",
        "date": "8 maja 2026",
        "isoDate": "2026-05-08",
        "title": "Transfery, karmienia i analityka",
        "description": "Aktualizacja skupiona na tym, by zarządzanie gadami było bardziej elastyczne i niezawodne: przenoś swoje zwierzęta, dodawaj je łatwiej, śledź karmienia z większą precyzją i korzystaj z całkowicie przeprojektowanej zakładki analitycznej.",
        "highlight": true,
        "changes": [
          {
            "type": "feature",
            "text": "Transfery gadów: możesz teraz przenieść gada do rodziny lub przekazać go innemu użytkownikowi."
          },
          {
            "type": "improvement",
            "text": "Ulepszone dodawanie gada: formularz jest bardziej przejrzysty, kompletniejszy i teraz podpowiada gatunki z katalogu ReptiNode."
          },
          {
            "type": "improvement",
            "text": "Ulepszone wprowadzanie karmienia: rejestrowanie posiłków jest bardziej precyzyjne, szybsze i lepiej dopasowane do codziennych przypadków."
          },
          {
            "type": "feature",
            "text": "Całkowite przeprojektowanie zakładki Analityka: profile gadów zawierają teraz bogatszy widok statystyk, ułatwiający śledzenie zdrowia, posiłków, wagi, wylinek i alertów."
          },
          {
            "type": "fix",
            "text": "Naprawiono kilka drobnych błędów związanych z rodzinami, zdarzeniami i wyświetlaniem niektórych danych."
          },
          {
            "type": "improvement",
            "text": "Usprawnienia wydajności i stabilności dla płynniejszej nawigacji w całej aplikacji."
          }
        ]
      },
      {
        "version": "v1.6.0",
        "date": "20 grudnia 2025",
        "isoDate": "2025-12-20",
        "title": "Społeczność, Rodzina i Zdjęcia",
        "description": "Aktualizacja skupiona na dzieleniu się! Zarządzaj projektami hodowlanymi z innymi, rozmawiaj na forum i uwieczniaj swoje gady na zdjęciach — a wszystko to w znacznie rozszerzonym planie darmowym.",
        "highlight": true,
        "changes": [
          {
            "type": "feature",
            "text": "Start społeczności: nowa zakładka Forum do rozmów, zadawania pytań i dzielenia się pasją z innymi członkami."
          },
          {
            "type": "feature",
            "text": "Tryb Rodzinny: zarządzajcie gadami wspólnie! Utwórz „Rodzinę” w ustawieniach, aby zaprosić partnera lub współpracowników do swojej kolekcji."
          },
          {
            "type": "feature",
            "text": "Galeria zdjęć: zakładka „Zdjęcia” jest teraz dostępna na profilach gadów. Zacznij budować ich album."
          },
          {
            "type": "improvement",
            "text": "Rozszerzenie planu darmowego: limit znacząco wzrósł! Możesz teraz zarządzać za darmo do 30 gadów, zamiast 5."
          },
          {
            "type": "improvement",
            "text": "Uproszczenie: usunięto zakładkę „Wkład”. Prośby o dodanie gatunku przechodzą teraz przez formularz kontaktowy."
          },
          {
            "type": "fix",
            "text": "Formularz dodawania: data urodzenia nie jest już wymagana, co ułatwia rejestrowanie zwierząt o niepewnym pochodzeniu."
          },
          {
            "type": "fix",
            "text": "Poprawki wizualne wersji mobilnej dla lepszej nawigacji na małych ekranach."
          }
        ]
      },
      {
        "version": "v1.5.0",
        "date": "8 grudnia 2025",
        "isoDate": "2025-12-08",
        "title": "Rozszerzenie listy gatunków i design",
        "description": "Duża aktualizacja, która otwiera ReptiNode na cały świat terrariofilistyki.",
        "highlight": true,
        "changes": [
          {
            "type": "feature",
            "text": "Oficjalne wsparcie dla 190 nowych gatunków (Hognose, pytonowiec zielony, pyton siatkowany...) oraz rozszerzenie bazy danych na wszystkie gady (jaszczurki, żółwie itd.), nie tylko węże."
          },
          {
            "type": "improvement",
            "text": "Ulepszony design kilku elementów dla lepszej przejrzystości i dostępności."
          },
          {
            "type": "fix",
            "text": "Poprawki stabilności modułu genetyki oraz usprawnienia wydajności."
          }
        ]
      },
      {
        "version": "v1.4.0",
        "date": "1 grudnia 2025",
        "isoDate": "2025-12-01",
        "title": "Połącz świat rzeczywisty z cyfrowym: kody QR i publiczna wizytówka",
        "description": "Przekształć swoje instalacje dzięki inteligentnym etykietom. Od szybkiego skanowania karmienia po publiczne profile sprzedażowe na targach — połącz swoje racki z aplikacją.",
        "highlight": true,
        "changes": [
          {
            "type": "feature",
            "text": "Generator kodów QR: twórz spersonalizowane etykiety PDF (imię, morph itd.) gotowe do druku dla swoich terrariów i racków."
          },
          {
            "type": "feature",
            "text": "Tryb publicznej wizytówki: włącz tryb „Sprzedaż”, aby wygenerować publiczny link. Idealny na targi: odwiedzający mogą zeskanować i zobaczyć niezbędne informacje bez dostępu do Twoich prywatnych danych."
          },
          {
            "type": "feature",
            "text": "Szybkie akcje przez skanowanie: skonfiguruj kod QR tak, aby bezpośrednio otwierał okno tworzenia zdarzenia (posiłek, wylinka, waga) podczas rundy pielęgnacyjnej."
          },
          {
            "type": "feature",
            "text": "Personalizacja wizualna: użyj kolorowego oznaczenia (zielony, czerwony, niebieski...) na swoich kodach QR, aby wizualnie identyfikować statusy takie jak Na sprzedaż, W opiece czy W rozrodzie bezpośrednio na terrarium."
          },
          {
            "type": "feature",
            "text": "Bezpośredni kontakt: profil publiczny zawiera teraz wstępnie wypełniony przycisk kontaktu e-mail, ułatwiający rozmowy z potencjalnymi kupującymi."
          },
          {
            "type": "improvement",
            "text": "Zgodność z drukarkami termicznymi: format PDF został zoptymalizowany pod standardowe etykiety 50x50 mm oraz format wizytówek."
          }
        ]
      },
      {
        "version": "v1.3.0",
        "date": "15 listopada 2025",
        "isoDate": "2025-11-15",
        "title": "Zrewolucjonizuj swój rozród: Centrum Rozrodu",
        "description": "Kompletny pakiet dedykowany zapalonym hodowcom. Zdigitalizowaliśmy każdy etap Twojego sezonu: od planowania kojarzeń po druk świadectwa urodzenia.",
        "highlight": true,
        "changes": [
          {
            "type": "feature",
            "text": "Przebieg kojarzeń: zarządzaj pełnym cyklem dzięki spersonalizowanym statusom (Zaplanowane, W trakcie, Potwierdzone, Nieudane)."
          },
          {
            "type": "feature",
            "text": "Precyzyjna inkubacja: śledzenie na poziomie zniesienia wraz z odczytami środowiskowymi (temperatura i wilgotność) oraz szacowaną datą wyklucia."
          },
          {
            "type": "feature",
            "text": "Zarządzanie poszczególnymi jajami: śledź każde jajo indywidualnie, w tym wagę, jaja bez zarodka (slugi), niezapłodnione, martwe urodzenia lub wyklute."
          },
          {
            "type": "feature",
            "text": "Drzewo genealogiczne i genetyka: wizualizuj przodków i oblicz prawdopodobieństwa morphów przed kojarzeniem."
          },
          {
            "type": "feature",
            "text": "Dokumenty administracyjne: automatycznie generuj profesjonalne świadectwa urodzenia i przeniesienia własności."
          },
          {
            "type": "improvement",
            "text": "Bezpieczeństwo danych: ekskluzywny moduł dla kont „Pro” z priorytetową kopią zapasową w chmurze."
          }
        ]
      },
      {
        "version": "v1.2.0",
        "date": "1 listopada 2025",
        "isoDate": "2025-11-01",
        "title": "Współtwórz i zdobywaj nagrody",
        "description": "Baza danych staje się napędzana przez społeczność! Możesz teraz zgłaszać brakujące mutacje, weryfikować dane i zdobywać kredyty na swoją subskrypcję.",
        "highlight": true,
        "changes": [
          {
            "type": "feature",
            "text": "System zgłoszeń: zaproponuj brakujące morphy, lokalizacje lub gatunki do katalogu."
          },
          {
            "type": "feature",
            "text": "Portfel i nagrody: zdobywaj kredyty (⟡) za każde zgłoszenie zaakceptowane przez moderację."
          },
          {
            "type": "feature",
            "text": "Ranking społeczności: poznaj najlepszych współtwórców i porównaj swoją pozycję."
          },
          {
            "type": "improvement",
            "text": "Zintegrowane wyszukiwanie w katalogu, aby unikać duplikatów podczas zgłaszania wkładu."
          }
        ]
      },
      {
        "version": "v1.1.0",
        "date": "15 października 2025",
        "isoDate": "2025-10-15",
        "title": "Panel główny: przeciągnij i upuść oraz personalizacja",
        "description": "Duża aktualizacja Twojego panelu głównego. Zmieniaj układ kart, szybciej korzystaj z częstych akcji i ciesz się płynniejszym interfejsem.",
        "changes": [
          {
            "type": "feature",
            "text": "Przeciągnij i upuść: zmieniaj kolejność swoich gadów prostym przeciągnięciem. Twój porządek zostaje zapisany."
          },
          {
            "type": "feature",
            "text": "Widżety statystyk: nowe karty pozwalające na pierwszy rzut oka śledzić wylinki i posiłki z tego tygodnia."
          },
          {
            "type": "improvement",
            "text": "Synchronizacja awatara użytkownika oraz usprawnione zarządzanie pamięcią podręczną."
          },
          {
            "type": "fix",
            "text": "Naprawiono problem z ładowaniem awatara przy wolnych połączeniach."
          }
        ]
      },
      {
        "version": "v1.0.0",
        "date": "1 października 2025",
        "isoDate": "2025-10-01",
        "title": "Oficjalna premiera!",
        "description": "Po miesiącach prac, wersja 1.0 jest już tutaj! Wszystko, czego potrzebujesz, aby zarządzać profilami zwierząt, wizualizować wzrost i bezpiecznie przechowywać dane.",
        "highlight": true,
        "changes": [
          {
            "type": "feature",
            "text": "Kompletne profile: śledzenie wagi, długości i wieku w czasie rzeczywistym."
          },
          {
            "type": "feature",
            "text": "Inteligentne wykresy: wizualizuj krzywe wzrostu i częstotliwość karmienia."
          },
          {
            "type": "feature",
            "text": "Eksport PDF Pro: generuj arkusze transferu i kontroli weterynaryjnej jednym kliknięciem."
          },
          {
            "type": "feature",
            "text": "Tryb tylko do odczytu i archiwizacja: chroń dane gadów, które zostały sprzedane lub padły."
          }
        ]
      }
    ]
  },
  "auth": {
    "login_success": "Jesteś zalogowany/a.",
    "register_success": "Konto utworzone! Zaloguj się.",
    "login_title": "Logowanie",
    "login_subtitle": "Witaj ponownie!",
    "register_title": "Utwórz konto",
    "register_subtitle": "Rozpocznij swoją przygodę z hodowlą.",
    "email_label": "Adres e-mail",
    "email_placeholder": "twoj@email.com",
    "password_label": "Hasło",
    "forgot_password_link": "Nie pamiętasz hasła?",
    "confirm_password_label": "Potwierdź hasło",
    "sign_in_button": "Zaloguj się",
    "sign_up_button": "Zarejestruj się",
    "not_member_text": "Nie masz jeszcze konta?",
    "already_member_text": "Masz już konto?",
    "create_account_button": "Utwórz konto",
    "back_to_signin_button": "Powrót do logowania",
    "hero": {
      "title_part1": "Hodowla",
      "title_highlight": "na nowo.",
      "subtitle": "Dołącz do elity terrariofilistyki. Śledzenie wagi, zaawansowana genetyka i zarządzanie kolekcją w interfejsie zaprojektowanym pod kątem wydajności.",
      "feature_1": "Bezpieczna kopia zapasowa w chmurze",
      "feature_2": "Szczegółowe rodowody i świadectwa urodzenia",
      "feature_3": "Zarządzanie kojarzeniami, zniesieniami i inkubacją",
      "feature_4": "Śledzenie wagi, wylinek i karmienia",
      "feature_5": "Bezpieczna kopia zapasowa w chmurze, dostępna z każdego miejsca",
      "footer": "© {{year}} ReptiNode Inc. Napędzamy nowoczesnych hodowców."
    },
    "accountCreated": "Konto utworzone. Możesz się teraz zalogować.",
    "backToSignIn": "Powrót do logowania",
    "confirmPassword": "Potwierdź hasło",
    "confirmPasswordPlaceholder": "Potwierdź hasło",
    "createAccount": "Utwórz konto",
    "createAccountBtn": "Utwórz konto",
    "createYourAccount": "Utwórz swoje konto",
    "defineNewPassword": "Ustaw nowe hasło",
    "defineNewPasswordSubtitle": "Wybierz silne hasło do swojego konta.",
    "email": "Adres e-mail",
    "emailPlaceholder": "Adres e-mail",
    "forgotPassword": "Nie pamiętasz hasła?",
    "hasAccount": "Masz już konto?",
    "hide": "Ukryj",
    "hidePassword": "Ukryj hasło",
    "invalidOrExpiredToken": "Nieprawidłowy lub wygasły token.",
    "loggedIn": "Zalogowano pomyślnie.",
    "newPassword": "Nowe hasło",
    "noAccount": "Nie masz konta?",
    "password": "Hasło",
    "passwordPlaceholder": "Hasło",
    "passwordUpdated": "Hasło zaktualizowane. Możesz się teraz zalogować.",
    "passwordsDontMatch": "Hasła nie są zgodne.",
    "passwordsNotMatch": "Hasła nie są zgodne.",
    "processing": "Przetwarzanie...",
    "resetPassword": "Zresetuj hasło",
    "resetSent": "Wysłano e-mail z linkiem do resetowania hasła.",
    "resetSubtitle": "Podaj swój adres e-mail, aby otrzymać link do resetowania hasła.",
    "sendReset": "Wyślij e-mail resetujący",
    "show": "Pokaż",
    "showPassword": "Pokaż hasło",
    "signIn": "Zaloguj się",
    "signInBtn": "Zaloguj się",
    "signInSubtitle": "Zaloguj się do swojego konta",
    "signUp": "Zarejestruj się",
    "signUpSubtitle": "Zacznij zarządzać swoją kolekcją gadów już dziś",
    "signUpSuccess": "Konto zostało pomyślnie utworzone.",
    "subscribe": "Zacznij teraz",
    "trialExpired": "Twój 14-dniowy bezpłatny okres próbny wygasł. Wykup subskrypcję, aby dalej korzystać z ReptiNode.",
    "updatePassword": "Zaktualizuj hasło",
    "welcomeBack": "Witaj ponownie!",
    "forgot_password": {
      "form_title": "Nie pamiętasz hasła?",
      "form_subtitle": "Podaj swój adres e-mail, aby otrzymać link do resetowania.",
      "back_button": "Wstecz",
      "email_label": "Adres e-mail",
      "email_placeholder": "ty@email.com",
      "submit_button": "Wyślij link resetujący",
      "success_title": "E-mail wysłany!",
      "success_message": "Sprawdź swoją skrzynkę odbiorczą (oraz folder spam), aby znaleźć link resetujący.",
      "retry_button": "Wyślij ponownie e-mail",
      "sidebar": {
        "title": "Problem z logowaniem?",
        "description": "Bez obaw. Proces jest prosty i bezpieczny. Wykonaj poniższe kroki, aby odzyskać dostęp do swojej kolekcji."
      },
      "steps": {
        "1": {
          "title": "Podaj swój adres e-mail",
          "desc": "Zidentyfikujemy Twoje konto."
        },
        "2": {
          "title": "Sprawdź skrzynkę odbiorczą",
          "desc": "Otrzymasz unikalny link."
        },
        "3": {
          "title": "Utwórz nowe hasło",
          "desc": "Zabezpiecz ponownie swój dostęp."
        }
      }
    },
    "errors": {
      "invalid_token": "Nieprawidłowy lub wygasły link (brak tokenu).",
      "passwords_not_match": "Hasła nie są zgodne."
    },
    "reset_password": {
      "form_title": "Ustaw nowe hasło",
      "form_subtitle": "Podaj poniżej swoje nowe hasło, aby uzyskać dostęp do konta.",
      "label_new_password": "Nowe hasło",
      "label_confirm_password": "Potwierdź hasło",
      "submit_button": "Zaktualizuj hasło",
      "success_title": "Hasło zaktualizowane",
      "success_message": "Twoje hasło zostało pomyślnie zaktualizowane.",
      "redirecting": "Przekierowywanie...",
      "sidebar": {
        "badge": "Maksymalne bezpieczeństwo",
        "title": "Zabezpiecz swoje konto.",
        "description": "Wybierz silne hasło, aby chronić genetykę hodowlaną i dane śledzenia.",
        "tips_title": "Wskazówki dotyczące bezpieczeństwa",
        "tip_1": "Użyj co najmniej 8 znaków",
        "tip_2": "Łącz litery, cyfry i symbole",
        "tip_3": "Unikaj używania imion swoich gadów"
      }
    }
  },
  "admin": {
    "tabs": {
      "dashboard": "Panel główny",
      "support": "Wsparcie"
    },
    "shell": {
      "admin": "Admin",
      "checkingAccess": "Sprawdzanie dostępu...",
      "restrictedTitle": "Dostęp ograniczony",
      "restrictedDesc": "Ten obszar jest zarezerwowany dla administratorów. Jeśli uważasz, że to błąd, skontaktuj się z pomocą techniczną.",
      "backToSite": "Powrót do strony",
      "superAdmin": "Super Admin",
      "exit": "Wyjdź z panelu administracyjnego",
      "online": "Online:",
      "presenceTooltip": "{{email}} · zakładka {{tab}} · {{seconds}} s temu",
      "help": "Pomoc",
      "helpTooltip": "Pomoc kontekstowa"
    },
    "users": {
      "title": "Użytkownicy",
      "subtitle_one": "{{count}} konto — wyszukuj, edytuj i moderuj.",
      "subtitle_other": "{{count}} kont — wyszukuj, edytuj i moderuj.",
      "searchPlaceholder": "Szukaj po e-mailu lub nazwie użytkownika…",
      "exportCsv": "Eksportuj CSV",
      "exportFilename": "users.csv",
      "allPlans": "Wszystkie plany",
      "allRoles": "Wszystkie role",
      "allStatus": "Dowolny status",
      "statusActive": "Aktywny",
      "statusSuspended": "Zawieszony",
      "allCountries": "Wszystkie kraje",
      "minReptiles": "Min. gadów",
      "reset": "Resetuj",
      "selectedCount_one": "{{count}} zaznaczony",
      "selectedCount_other": "{{count}} zaznaczonych",
      "clear": "Wyczyść",
      "suspend": "Zawieś",
      "reactivate": "Reaktywuj",
      "changePlan": "Zmień plan",
      "selectAll": "Zaznacz wszystko (bieżąca strona)",
      "colUser": "Użytkownik",
      "plan": "Plan",
      "roles": "Role",
      "colReptiles": "Gady",
      "colRegistered": "Dołączenie",
      "empty": "Nie znaleziono użytkowników.",
      "suspended": "Zawieszony",
      "active": "Aktywny",
      "impersonate": "Zaloguj się jako użytkownik",
      "crmTitle": "CRM i role",
      "resetPassword": "Zresetuj hasło",
      "unsuspend": "Znieś zawieszenie",
      "forceLogout": "Wymuś wylogowanie",
      "exportGdpr": "Eksport RODO",
      "pageOf": "Strona {{page}} / {{totalPages}}",
      "editTitle": "Edytuj {{name}}",
      "emailVerified": "E-mail zweryfikowany",
      "saving": "Zapisywanie…",
      "resetMsg": "Ustaw nowe hasło dla {{name}}. Użytkownik zostanie wylogowany.",
      "resetConfirm": "Resetuj",
      "newPasswordPlaceholder": "Nowe hasło (min. 8)",
      "suspendTitle": "Zawieś konto",
      "suspendMsg": "Zawieś {{name}}. Konto zostanie zablokowane, a użytkownik wylogowany.",
      "days": "dni",
      "reasonOptional": "Powód (opcjonalnie)",
      "logoutMsg": "Unieważnić wszystkie sesje użytkownika {{name}}?",
      "logoutConfirm": "Wyloguj",
      "deleteTitle": "Usuń konto",
      "deleteMsg": "Ta czynność jest nieodwracalna i usunie wszystkie dane użytkownika {{name}} (RODO).",
      "deleteConfirm": "Usuń trwale",
      "deleteReasonPlaceholder": "Powód usunięcia (wymagany)",
      "impersonateMsg": "Otworzyć sesję jako {{name}}? Nastąpi wylogowanie z konta administratora i przekierowanie do panelu tego użytkownika. Ta czynność jest rejestrowana.",
      "impersonateConfirm": "Zaloguj się",
      "bulkSuspendTitle": "Zawieś zaznaczone konta",
      "bulkSuspendMsg": "{{count}} konto(-a) zostanie zawieszone i wylogowane.",
      "processing": "Przetwarzanie…",
      "bulkUnsuspendTitle": "Reaktywuj konta",
      "bulkUnsuspendMsg": "Znieść zawieszenie na {{count}} konto(-a)?",
      "bulkSetPlanMsg": "Zastosuj nowy plan do {{count}} konto(-a).",
      "apply": "Zastosuj",
      "newPlan": "Nowy plan",
      "bulkDeleteTitle": "Usuń zaznaczone konta",
      "bulkDeleteMsg": "Ta czynność jest nieodwracalna i trwale usunie {{count}} konto(-a) wraz ze wszystkimi danymi (RODO). Twoje własne konto zostanie pominięte.",
      "deleting": "Usuwanie…",
      "bulkDeleteConfirm": "Usuń {{count}} konto(-a)",
      "healthScore": "Wskaźnik kondycji",
      "healthFactors": "{{days}}d od aktywności · {{snakes}} gadów · {{plan}}",
      "profileModeration": "Moderacja profilu publicznego",
      "hidden": "Ukryty",
      "visible": "Widoczny",
      "verified": "Zweryfikowany",
      "notVerified": "Niezweryfikowany",
      "tags": "Tagi",
      "noTags": "Brak tagów",
      "addTagPlaceholder": "Dodaj tag",
      "internalNotes": "Notatki wewnętrzne",
      "addNotePlaceholder": "Dodaj notatkę…",
      "adminAuthor": "Administrator",
      "noNotes": "Brak notatek.",
      "bulkPartialFail": "{{succeeded}} z {{requested}} działań powiodło się, {{failed}} nie powiodło się.",
      "reasonRequired": "Dla tej czynności wymagane jest podanie powodu.",
      "passwordTooShort": "Hasło zbyt krótkie (min. 8)",
      "impersonateFailed": "Nie udało się zalogować do konta.",
      "impersonateError": "Błąd podczas logowania do konta.",
      "subtitle": "W sumie {{count}} użytkownik(ów)",
      "selectedCount": "{{count}} zaznaczonych"
    },
    "confirm": {
      "reason": "Powód (wymagany)",
      "typeToConfirm": "Wpisz {{value}}, aby potwierdzić"
    },
    "compliance": {
      "tabRgpd": "RODO",
      "tabConsents": "Zgody",
      "tabRetention": "Retencja",
      "tabPassword": "Hasło",
      "tabMaintenance": "Konserwacja",
      "tabSessions": "Sesje administratorów",
      "tabSuspicious": "Podejrzane logowania",
      "tabPermissions": "Historia uprawnień",
      "tabIncidents": "Status / incydenty",
      "title": "Bezpieczeństwo i zgodność",
      "subtitle": "RODO, zgody, retencja, dostęp i status usługi.",
      "newRequest": "Nowe żądanie",
      "emptyRgpd": "Brak żądań RODO.",
      "dueDate": "Termin:",
      "statusPending": "Oczekujące",
      "statusInProgress": "W toku",
      "statusCompleted": "Zakończone",
      "statusRejected": "Odrzucone",
      "rgpdRequest": "Żądanie RODO",
      "emailConcerned": "E-mail, którego dotyczy żądanie",
      "typeExport": "Eksport danych",
      "typeDelete": "Usunięcie (prawo do bycia zapomnianym)",
      "noteOptional": "Notatka (opcjonalnie)",
      "emptyConsents": "Nie zarejestrowano żadnych zgód.",
      "granted": "Udzielona",
      "refused": "Odmówiona",
      "policySaved": "Zasady zapisane.",
      "purgeConfirm": "Uruchomić czyszczenie teraz? Dane starsze niż określone w zasadach zostaną usunięte.",
      "purgeDone": "Czyszczenie zakończone: {{result}}",
      "fieldLoginLogs": "Dzienniki logowań",
      "fieldErrorLogs": "Dzienniki błędów",
      "fieldAudit": "Dziennik audytu",
      "fieldJobRuns": "Historia zadań",
      "retentionTitle": "Retencja danych",
      "retentionHint": "Okres retencji w dniach (0 = bez limitu).",
      "purgeNow": "Wyczyść teraz",
      "passwordTitle": "Zasady haseł",
      "minLength": "Minimalna długość",
      "requireUppercase": "Wymagana wielka litera",
      "requireNumber": "Wymagana cyfra",
      "requireSymbol": "Wymagany symbol",
      "expiration": "Wygaśnięcie (dni, 0 = nigdy)",
      "maintenanceUpdated": "Tryb konserwacji zaktualizowany.",
      "maintenanceTitle": "Tryb konserwacji",
      "maintenanceActive": "Konserwacja WŁĄCZONA — strona wyświetla baner",
      "maintenanceDisabled": "Konserwacja wyłączona",
      "maintenanceMessagePlaceholder": "Wiadomość wyświetlana użytkownikom",
      "emptySessions": "Brak sesji administratorów.",
      "noConnections": "Nie zarejestrowano żadnych logowań.",
      "noSuspicious": "Nie wykryto podejrzanych logowań w ciągu 7 dni. 🎉",
      "bruteForce": "Atak brute force",
      "multiCountry": "Wiele krajów",
      "emptyPermissions": "Nie zarejestrowano żadnych zmian uprawnień.",
      "byActor": "przez {{actor}}",
      "system": "system",
      "declareIncident": "Zgłoś incydent",
      "noIncidents": "Brak incydentów. Wszystkie systemy działają poprawnie. 🟢",
      "resolve": "Rozwiąż",
      "deleteConfirm": "Usunąć?",
      "incidentTitlePlaceholder": "Tytuł",
      "severityMinor": "Drobny",
      "severityMajor": "Poważny",
      "severityMaintenance": "Konserwacja",
      "declare": "Zgłoś"
    },
    "i18n": {
      "add": {
        "enLabel": "Angielski (EN) — wymagany",
        "enPlaceholder": "Wartość w języku angielskim",
        "error": {
          "required": "Klucz, EN i FR są wymagane."
        },
        "extra": {
          "langLabel": "Dodatkowy język",
          "toggle": "Dodaj dodatkowy język",
          "valueLabel": "Wartość"
        },
        "frLabel": "Francuski (FR) — wymagany",
        "frPlaceholder": "Wartość w języku francuskim",
        "keyLabel": "Klucz",
        "keyPlaceholder": "np. contribute.form.name",
        "reset": "Resetuj",
        "submit": "Wyślij",
        "title": "Dodaj tłumaczenie (wymagane EN + FR)"
      },
      "browse": {
        "byAuthor": "przez {{author}}",
        "byAuthorWithDate": "przez {{author}} — {{date}}",
        "deleteTitle": "Trwale usuń ten klucz (wszystkie języki)",
        "empty": "Brak wyników.",
        "lang": {
          "all": "Wszystkie",
          "en": "EN",
          "es": "ES",
          "fr": "FR"
        },
        "langLabel": "Język",
        "searchLabel": "Szukaj (klucz lub wartość)",
        "searchPlaceholder": "np. contribute.title, „Konto utworzone”…",
        "table": {
          "actions": "Akcje",
          "en": "EN",
          "es": "ES",
          "fr": "FR",
          "key": "Klucz"
        },
        "title": "Istniejące tłumaczenia",
        "translatorLabel": "Tłumacz"
      },
      "delete": {
        "confirm": "Usuń trwale",
        "confirmInstruction": "Aby potwierdzić, wpisz ponownie klucz: {{key}}",
        "confirmTooltip": "Wpisz ponownie klucz, aby potwierdzić",
        "inputPlaceholder": "Wpisz klucz ponownie dokładnie",
        "title": "Usuń klucz",
        "warning": "Ta czynność trwale usunie klucz {{key}} we wszystkich językach."
      },
      "edit": {
        "history": {
          "empty": "Brak historii dla tego języka.",
          "label": "Historia ({{count}})"
        },
        "title": "Edycja i historia"
      },
      "error": {
        "load": "Błąd wczytywania i18n: {{message}}"
      },
      "loading": {
        "translations": "Wczytywanie tłumaczeń…"
      },
      "missing": {
        "addButton": "Dodaj (EN+FR)",
        "empty": "Brak brakujących tłumaczeń.",
        "langLabel": "Język",
        "searchKeyLabel": "Szukaj po kluczu",
        "searchKeyPlaceholder": "np. contribute.form.",
        "table": {
          "key": "Klucz"
        },
        "title": "Brakujące klucze ({{lang}})"
      },
      "overview": {
        "card": {
          "progress": "{{done}}/{{total}} kluczy",
          "viewLangTranslationsTitle": "Zobacz tłumaczenia {{lang}}"
        },
        "title": "Pokrycie tłumaczeń"
      },
      "pending": {
        "approve": "Zatwierdź",
        "empty": "Brak oczekujących tłumaczeń.",
        "reject": "Odrzuć",
        "table": {
          "actions": "Akcje",
          "id": "ID",
          "key": "Klucz",
          "lang": "Język",
          "submittedAt": "Data zgłoszenia",
          "submittedBy": "Zgłoszone przez",
          "value": "Wartość"
        },
        "title": "Tłumaczenia oczekujące na zatwierdzenie"
      },
      "tabs": {
        "add": "Dodaj",
        "browse": "Przeglądaj i edytuj",
        "missing": "Brakujące ({{count}})",
        "overview": "Przegląd",
        "pending": "Oczekujące ({{count}})"
      }
    },
    "content": {
      "actionShown": "Pokazano",
      "actionHidden": "Ukryto",
      "actionCreated": "Utworzono",
      "actionUpdated": "Zaktualizowano",
      "actionDeleted": "Usunięto",
      "langLabel": "Język:",
      "langDefault": "(domyślny)",
      "langTranslation": "(tłumaczenie — puste = powrót do FR)",
      "confirmDelete": "Trwale usunąć ten element? (Aby tymczasowo go ukryć, użyj zamiast tego ikony oka.)",
      "tabFaq": "FAQ",
      "tabAnnouncements": "Ogłoszenia",
      "tabChangelog": "Dziennik zmian",
      "tabTemplates": "Szablony odpowiedzi",
      "visibleHint": "Widoczne — kliknij, aby ukryć",
      "hiddenHint": "Ukryte — kliknij, aby pokazać",
      "visible": "Widoczne",
      "hidden": "Ukryte",
      "title": "Treść",
      "subtitle": "FAQ, ogłoszenia, dziennik zmian i szablony odpowiedzi. Ikona oka pokazuje/ukrywa bez usuwania.",
      "seedSuccess": "Załadowano treść witryny: {{faq}} FAQ, {{announcements}} ogłoszeń, {{changelog}} wpisów dziennika zmian, {{templates}} szablonów",
      "seedSuccessExtra": ", {{emails}} e-maili, {{surveys}} ankiet",
      "seedBtn": "Załaduj treść witryny",
      "empty": "Brak elementów. Kliknij „Dodaj” lub „Załaduj treść witryny”, aby rozpocząć.",
      "visibilityHistory": "Historia widoczności",
      "new": "Nowy",
      "question": "Pytanie",
      "answer": "Odpowiedź",
      "category": "Kategoria",
      "publishedSite": "Opublikowane (widoczne na stronie)",
      "fieldTitle": "Tytuł",
      "fieldTitleLang": "Tytuł ({{lang}})",
      "fieldMessage": "Wiadomość",
      "fieldMessageLang": "Wiadomość ({{lang}})",
      "typeInfo": "Informacja",
      "typeWarning": "Ostrzeżenie",
      "typeSuccess": "Sukces",
      "typeMaintenance": "Konserwacja",
      "startsAt": "Widoczne od (opcjonalnie)",
      "endsAt": "Do (opcjonalnie)",
      "activeApp": "Aktywne (widoczne w aplikacji)",
      "targetingLabel": "Targetowanie (opcjonalnie) — pozostaw puste, aby wysłać do",
      "targetingAll": "wszystkich",
      "targetPlaceholder": "Wybierz konkretnych użytkowników…",
      "versionPlaceholder": "Wersja (v2.1.0)",
      "changelogNotesPlaceholder": "Notatki — jedna linia na zmianę:\n+ Nowa funkcja\n~ Ulepszenie\n! Poprawka błędu",
      "changelogHintPrefix": "Wskazówka: poprzedź każdą linię znakiem",
      "changelogHintNew": "(nowość),",
      "changelogHintImprove": "(ulepszenie) lub",
      "changelogHintFix": "(poprawka) — pojawią się jako kolorowe odznaki na stronie publicznej.",
      "publishedChangelog": "Opublikowane (widoczne na /changelog)",
      "majorUpdate": "Ważna aktualizacja (zielona odznaka)",
      "templateTitle": "Tytuł szablonu",
      "templateBody": "Treść szablonu",
      "saving": "Zapisywanie…",
      "noEvents": "Nie zarejestrowano jeszcze żadnych zdarzeń.",
      "by": "przez {{name}}"
    },
    "support": {
      "statusNew": "Nowe",
      "statusInProgress": "W trakcie",
      "statusResolved": "Rozwiązane",
      "catBug": "Błąd",
      "catFeature": "Pomysł",
      "catUi": "Wygląd",
      "catGeneral": "Opinia",
      "tabTickets": "Zgłoszenia wsparcia",
      "tabFeedback": "Opinie i uwagi",
      "title": "Centrum wsparcia",
      "subtitleTickets": "Zarządzaj zgłoszeniami pomocy.",
      "subtitleFeedback": "Analizuj opinie społeczności.",
      "statTotalTickets": "Wszystkie zgłoszenia",
      "statPending": "Oczekujące",
      "statAwaitingReply": "Oczekuje na odpowiedź",
      "statResolved": "Rozwiązane",
      "slaFirstResponse": "Pierwsza odpowiedź (śr.)",
      "slaTarget": "/ SLA {{hours}}h",
      "slaResolution": "Rozwiązanie (śr.)",
      "slaBreaches": "Naruszenia SLA",
      "statAvgRating": "Średnia ocena",
      "statTotalFeedback": "Wszystkie opinie",
      "statBugsReported": "Zgłoszone błędy",
      "statIdeasReceived": "Otrzymane pomysły",
      "searchTicketsPlaceholder": "Szukaj (temat, e-mail, imię)… i naciśnij Enter",
      "filterBugs": "Błędy",
      "filterIdeas": "Pomysły",
      "filterDesign": "Wygląd",
      "filterGeneral": "Ogólne",
      "thUser": "Użytkownik",
      "thSubject": "Temat",
      "thType": "Typ",
      "thRatingMessage": "Ocena i wiadomość",
      "newReply": "Nowa odpowiedź",
      "noComment": "Brak komentarza",
      "emptyTickets": "Nie znaleziono zgłoszeń.",
      "emptyFeedback": "Nie znaleziono opinii.",
      "paginationInfo": "{{count}} zgłoszeń · strona {{page}}/{{totalPages}}",
      "userMessageLabel": "Wiadomość użytkownika",
      "conversation": "Konwersacja",
      "reply": "Odpowiedz",
      "templates": "Szablony",
      "noTemplates": "Brak szablonów. Utwórz je w zakładce Treść.",
      "replyPlaceholder": "Twoja odpowiedź do użytkownika…",
      "send": "Wyślij",
      "priority": "Priorytet",
      "priorityLow": "Niski",
      "priorityNormal": "Normalny",
      "priorityHigh": "Wysoki",
      "priorityUrgent": "Pilny",
      "category": "Kategoria",
      "sendError": "Błąd podczas wysyłania"
    },
    "system": {
      "pagerInfo_one": "{{count}} wpis · strona {{page}}/{{totalPages}}",
      "pagerInfo_other": "{{count}} wpisów · strona {{page}}/{{totalPages}}",
      "cleanupConfirm": "Trwale usunąć {{n}} osierocony(e) plik(i)? Tej operacji nie można cofnąć.",
      "operationFailed": "Operacja nie powiodła się",
      "tabHealth": "Kondycja",
      "tabErrors": "Błędy",
      "tabCron": "CRON",
      "tabJobs": "Zadania",
      "tabEmails": "Wysłane e-maile",
      "tabUsage": "Użycie funkcji",
      "tabUploads": "Przesłane pliki",
      "tabI18n": "i18n",
      "tabAudit": "Dziennik audytu",
      "title": "System",
      "subtitle": "Obserwowalność, zadania, tłumaczenia i dziennik audytu.",
      "dbLabel": "Baza danych",
      "dbOffline": "OFFLINE",
      "uploadsValue": "{{size}} · {{n}} plików",
      "memoryLabel": "Pamięć (RSS)",
      "memoryValue": "{{mb}} MB",
      "uptimeLabel": "Czas działania",
      "checkedInLabel": "Ostatnie sprawdzenie",
      "topErrorEndpoints": "Najczęstsze błędne endpointy (7 dni)",
      "noErrors": "Brak zarejestrowanych błędów. 🎉",
      "never": "nigdy",
      "lastRun": "Ostatnie uruchomienie:",
      "errorLabel": "Błąd:",
      "lastPassNotifs": "{{n}} powiad. przy ostatnim uruchomieniu",
      "sent30d": "{{sent}} w ciągu 30 dni ({{runs}} uruchomień)",
      "filterSent": "Wysłane",
      "filterFailed": "Nieudane",
      "noJobRuns": "Brak zarejestrowanych uruchomień.",
      "jobsSent_one": "{{count}} wysłano",
      "jobsSent_other": "{{count}} wysłano",
      "topFeatures": "Najczęściej używane funkcje (30 dni)",
      "topFeaturesHint": "Kliknij funkcję, aby zobaczyć jej dzienną historię.",
      "noUsage": "Brak jeszcze danych o użyciu. Śledzenie zaczyna się, gdy użytkownik skorzysta z funkcji.",
      "loadingHistory": "Wczytywanie historii…",
      "usageOver30d": "{{n}} użycie/a w ciągu 30 dni",
      "orphanFiles": "Osierocone pliki",
      "filesCount": "{{n}} plik(ów)",
      "deleteOrphans": "Usuń osierocone pliki",
      "noOrphans": "Nie wykryto osieroconych plików.",
      "exportCsv": "Eksportuj CSV",
      "coverageDetail": "{{done}} / {{total}} · brakuje: {{missing}}",
      "unusedKeysTitle": "Potencjalnie nieużywane klucze (FR) — {{n}}",
      "unusedKeysHint": "Klucze obecne w pliku JSON, ale niewykryte w kodzie źródłowym (przeskanowano {{scanned}} plików). Sprawdź przed usunięciem (niektóre mogą być budowane dynamicznie).",
      "searchEmails": "Szukaj po odbiorcy lub typie… a następnie Enter",
      "noEmails": "Brak zarejestrowanych e-maili. Rejestrowanie zacznie się od następnej wysyłki.",
      "searchAudit": "Szukaj (akcja, e-mail, cel)… a następnie Enter",
      "noAuditActions": "Brak zarejestrowanych akcji.",
      "systemActor": "system",
      "pagerInfo": "{{count}} wpis(ów) · strona {{page}}/{{totalPages}}",
      "jobsSent": "{{count}} wysłano"
    },
    "billing": {
      "pagerSingular": "{{count}} subskrybent · strona {{page}}/{{totalPages}}",
      "pagerPlural": "{{count}} subskrybentów · strona {{page}}/{{totalPages}}",
      "confirmFullRefund": "Potwierdzić PEŁNY zwrot za tę płatność?",
      "refundInitiated": "Zwrot został zainicjowany.",
      "invalidAmount": "Nieprawidłowa kwota.",
      "partialRefundInitiated": "Częściowy zwrot został zainicjowany.",
      "subNotFound": "Nie znaleziono subskrypcji Stripe.",
      "confirmCancelSub": "Trwale anulować tę subskrypcję? Ta operacja jest natychmiastowa i nieodwracalna.",
      "subCanceled": "Subskrypcja anulowana.",
      "subPaused": "Subskrypcja wstrzymana.",
      "subResumed": "Subskrypcja wznowiona.",
      "tabSubs": "Subskrypcje",
      "tabFailed": "Nieudane płatności",
      "tabPromos": "Kody promocyjne",
      "tabWebhooks": "Webhooki",
      "stripeOff": "Stripe nie jest skonfigurowane na serwerze (brak klucza API). Dane na żywo ze Stripe są niedostępne; kodami promocyjnymi nadal można zarządzać lokalnie.",
      "title": "Płatności",
      "subtitle": "Subskrypcje, płatności i kody promocyjne.",
      "promoBtn": "Kod promocyjny",
      "colClient": "Klient",
      "colPlan": "Plan",
      "colAmount": "Kwota",
      "colRenewal": "Odnowienie",
      "emptySubs": "Brak płacących subskrybentów.",
      "paused": "wstrzymana",
      "resumeSub": "Wznów subskrypcję",
      "pauseSub": "Wstrzymaj",
      "cancelSub": "Anuluj subskrypcję",
      "colAttempts": "Próby",
      "colAction": "Akcja",
      "emptyFailed": "Brak nieudanych płatności. 🎉",
      "refundBtn": "Zwrot",
      "partialBtn": "Częściowy",
      "invoice": "Faktura",
      "colCode": "Kod",
      "colDiscount": "Zniżka",
      "colUsed": "Wykorzystano",
      "colExpires": "Wygasa",
      "colActive": "Aktywny",
      "emptyPromos": "Brak kodów promocyjnych.",
      "never": "Nigdy",
      "deactivate": "Dezaktywuj",
      "activate": "Aktywuj",
      "confirmDeletePromo": "Usunąć ten kod?",
      "emptyWebhooks": "Brak zdarzeń.",
      "newPromoTitle": "Nowy kod promocyjny",
      "codePlaceholder": "KOD (np. WELCOME10)",
      "percentPlaceholder": "% zniżki",
      "maxUsesPlaceholder": "Maks. liczba użyć",
      "partialRefundTitle": "Częściowy zwrot",
      "customer": "Klient",
      "amountPaid": "zapłacona kwota {{amount}}",
      "refundAmountLabel": "Kwota do zwrotu (€)"
    },
    "moderation": {
      "title": "Moderacja",
      "subtitle": "Zgłoszone treści i konta wymagające uwagi.",
      "tabReports": "Zgłoszone treści",
      "tabStruggling": "Konta wymagające uwagi",
      "filterAll": "Wszystkie statusy",
      "filterReviewed": "Sprawdzone",
      "filterDismissed": "Odrzucone",
      "filterActioned": "Rozpatrzone",
      "statusPending": "Oczekujące",
      "statusReviewed": "Sprawdzone",
      "statusActioned": "Rozpatrzone",
      "statusDismissed": "Odrzucone",
      "typeProfile": "Profil",
      "typePhoto": "Zdjęcie",
      "typeFamily": "Rodzina",
      "emptyReports": "Brak zgłoszonych treści.",
      "emptyStruggling": "Nie wykryto kont wymagających uwagi.",
      "targetRef": "cel #{{id}}",
      "targetLabel": "Cel: ",
      "targetUnresolved": "nie do ustalenia",
      "owner": "właściciel #{{id}}",
      "reportedBy": "Zgłoszone przez: ",
      "reporterAnonymous": "anonimowo / nieznany",
      "changeStatusTitle": "Zmień status",
      "sanctionBtn": "Sankcja",
      "sanctionsFor": "Sankcje — właściciel #{{id}}",
      "reasonPlaceholder": "Powód (widoczny w dzienniku audytu)…",
      "hideProfileBtn": "Ukryj profil",
      "showProfileBtn": "Przywróć",
      "suspendDurationTitle": "Czas trwania w dniach",
      "daysShort": "dni",
      "suspendBtn": "Zawieś",
      "ticketsCount": "{{count}} zgłoszeń",
      "statusUpdated": "Status zaktualizowany",
      "sanctionReasonPrefix": "W związku ze zgłoszeniem: {{reason}}",
      "confirmHideProfile": "Ukryć publiczny profil tego użytkownika?",
      "profileHidden": "Profil ukryty",
      "profileShown": "Profil przywrócony",
      "invalidDays": "Nieprawidłowa liczba dni",
      "confirmSuspend": "Zawiesić tego użytkownika na {{days}} dni?",
      "defaultSuspendReason": "Zawieszenie w wyniku moderacji",
      "userSuspended": "Użytkownik zawieszony na {{days}} dni"
    },
    "comms": {
      "audiencePro": "Subskrybenci PRO",
      "audienceFree": "Użytkownicy darmowi",
      "audienceProInactive30d": "PRO nieaktywni 30 dni",
      "audienceInactive30d": "Nieaktywni 30 dni",
      "audienceActive7d": "Aktywni 7 dni",
      "audienceSpecific": "Wybrani użytkownicy",
      "confirmSendCampaign": "Wysłać tę kampanię teraz?",
      "confirmSendEmail": "Wysłać tego e-maila do {{count}} odbiorców?",
      "emailSent": "Wysłano do {{count}} odbiorców.",
      "confirmDelete": "Usunąć?",
      "tabPush": "Kampanie push",
      "tabEmail": "E-mail segmentowany",
      "tabTemplates": "Szablony e-maili",
      "tabStats": "Adopcja i dostarczalność",
      "title": "Komunikacja",
      "subtitle": "Push, segmentowane e-maile, szablony i adopcja.",
      "pushCampaignBtn": "Kampania push",
      "emptyCampaigns": "Brak kampanii. Utwórz jedną.",
      "received": "{{count}} odebranych",
      "send": "Wyślij",
      "targetSegment": "Segment docelowy",
      "recipients": "{{count}} odbiorców",
      "emailSubjectPlaceholder": "Temat e-maila",
      "emailContentPlaceholder": "Treść (dozwolony HTML)",
      "sendToSegment": "Wyślij do segmentu",
      "templateDefault": "(wartości domyślne — edytuj, aby dostosować)",
      "pushAdoption": "Adopcja push",
      "emailsEnabled": "E-maile włączone",
      "feedingReminders": "Przypomnienia o karmieniu",
      "emailFailure": "Błędy wysyłki e-maili",
      "sent": "{{count}} wysłanych",
      "newPushCampaign": "Nowa kampania push",
      "pushTitlePlaceholder": "Tytuł",
      "pushMessagePlaceholder": "Wiadomość",
      "pushUrlPlaceholder": "Adres URL docelowy (np. /dashboard)",
      "potentialRecipients": "{{count}} potencjalnych odbiorców",
      "createDraft": "Utwórz (szkic)",
      "templateLabel": "Szablon:",
      "templateVarsHint": "Zmienne takie jak {{example}} zostaną zastąpione podczas wysyłki.",
      "subjectPlaceholder": "Temat",
      "htmlContentPlaceholder": "Treść HTML"
    },
    "dashboard": {
      "timeAgoNow": "przed chwilą",
      "timeAgoMin": "{{value}} min temu",
      "timeAgoHour": "{{value}} godz. temu",
      "timeAgoDay": "{{value}} dni temu",
      "typeSignup": "Rejestracja",
      "typeFeedback": "Opinia",
      "typeSupport": "Wsparcie",
      "typeSurvey": "Ankieta",
      "typeRgpd": "RODO",
      "typeReport": "Zgłoszenie",
      "vsPrevPeriod": "vs poprz. okres",
      "loading": "Wczytywanie panelu…",
      "title": "Przegląd",
      "subtitle": "Kondycja biznesu, przychody i zaangażowanie.",
      "todoSupportAwaiting": "Oczekujące zgłoszenia wsparcia",
      "todoFeedbackNew": "Nowe opinie",
      "todoRgpdPending": "Wnioski RODO do rozpatrzenia",
      "todoReportedPending": "Zgłoszone treści",
      "todoTitle": "Do zrobienia",
      "todoEmpty": "Brak oczekujących zadań. 🎉",
      "recentTitle": "Ostatnia aktywność",
      "recentEmpty": "Brak ostatniej aktywności.",
      "realtime": "Czas rzeczywisty",
      "onlineNow": "online (5 min)",
      "active15m": "aktywni (15 min)",
      "lastSignup": "Najnowsza rejestracja: {{name}}",
      "arpuSub": "ARPU {{value}}",
      "payingUsersSub": "{{value}} płacących subskrybentów",
      "usersLabel": "Użytkownicy",
      "convertedSub": "{{value}}% przeszło na PRO",
      "signups30dLabel": "Rejestracje 30 dni",
      "dauLabel": "DAU (aktywni 24h)",
      "mauLabel": "MAU (aktywni 30d)",
      "stickinessLabel": "Stickiness DAU/MAU",
      "stickinessSub": "Codzienne zaangażowanie",
      "growthTitle": "Wzrost (30 dni)",
      "signupsSeries": "Rejestracje",
      "activeSeries": "Aktywni",
      "planDistributionTitle": "Rozkład planów"
    },
    "revenue": {
      "migrationDone": "Zmigrowano {{count}} kont.",
      "tabMrr": "Wykres kaskadowy MRR",
      "tabForecast": "Prognoza",
      "tabPromos": "Kody promocyjne",
      "tabReconciliation": "Uzgodnienie",
      "tabMigration": "Migracja planu",
      "title": "Przychody",
      "subtitle": "Zmiany MRR, prognozy, promocje i operacje rozliczeniowe.",
      "exportFailed": "Operacja nie powiodła się",
      "exportAccounting": "Eksport księgowy (VAT)",
      "currentMrr": "Bieżący MRR",
      "currentArr": "Bieżący ARR",
      "noHistory": "Historia zmian MRR jest budowana na podstawie nadchodzących zmian subskrypcji (za pośrednictwem webhooków Stripe). Słupki będą się wypełniać w miarę zmian planów.",
      "breakdownTitle": "Podział zmian (6 miesięcy)",
      "new": "Nowe",
      "expansion": "Rozszerzenie",
      "contraction": "Zmniejszenie",
      "churn": "Rezygnacje",
      "forecastTitle": "Prognoza MRR (6 miesięcy)",
      "avgGrowth": "Śr. wzrost: {{value}}/mies.",
      "current": "Bieżący",
      "projectedMrr": "Prognozowany MRR",
      "code": "Kod",
      "reduction": "Zniżka",
      "usages": "Użycia",
      "estimatedRevenue": "Szacowany przychód",
      "active": "Aktywny",
      "noPromos": "Brak kodów promocyjnych.",
      "stripeNotConfigured": "Stripe nie jest skonfigurowany — uzgodnienie niedostępne.",
      "noDiscrepancy": "Nie wykryto rozbieżności między bazą danych a Stripe. Sprawdzono {{count}} subskrybentów. 🎉",
      "discrepancies": "Wykryto {{count}} rozbieżności",
      "migrationTitle": "Masowa migracja planu",
      "migrationDesc": "Przenosi wszystkich użytkowników z jednego planu na inny (z zachowaniem dotychczasowej ceny). Zawsze najpierw uruchom tryb testowy (dry-run).",
      "dryRunResult": "Tryb testowy: {{count}} kont zostałoby zmigrowanych.",
      "migratedResult": "{{count}} kont zmigrowanych ✓",
      "dryRunBtn": "Tryb testowy",
      "migrateConfirm": "Zmigrować wszystkich z {{from}} na {{to}}?",
      "apply": "Zastosuj"
    },
    "surveys": {
      "actionShown": "Włączone",
      "actionHidden": "Wyłączone",
      "actionCreated": "Utworzono",
      "actionUpdated": "Zaktualizowano",
      "title": "Ankiety i NPS",
      "subtitle": "Mierz satysfakcję i czytaj opinie.",
      "newSurvey": "Nowa ankieta",
      "empty": "Brak ankiet. Utwórz swoją pierwszą ankietę NPS.",
      "inactive": "nieaktywna",
      "viewResponses": "Zobacz odpowiedzi",
      "activationHistory": "Historia aktywacji",
      "deactivate": "Dezaktywuj",
      "activate": "Aktywuj",
      "confirmDelete": "Usunąć?",
      "npsScore": "Wynik NPS",
      "avgScore": "Średni wynik",
      "responses": "Odpowiedzi",
      "editSurvey": "Edytuj ankietę",
      "language": "Język:",
      "defaultLang": "(domyślny)",
      "emptyFallback": "(puste = wartość domyślna FR)",
      "internalTitle": "Tytuł wewnętrzny",
      "titleLang": "Tytuł ({{lang}})",
      "questionPlaceholder": "Pytanie zadawane użytkownikowi",
      "questionLang": "Pytanie ({{lang}})",
      "typeNps": "NPS (0–10)",
      "typeCsat": "CSAT (1–5)",
      "typeText": "Tekst dowolny",
      "audienceFree": "Użytkownicy darmowi",
      "startDate": "Początek (opcjonalnie)",
      "endDate": "Koniec (opcjonalnie)",
      "dateHint": "Jeśli ustawione, ankieta będzie wyświetlana użytkownikom tylko w tym przedziale dat.",
      "noResponses": "Brak odpowiedzi.",
      "scoreLabel": "Wynik: {{score}}",
      "textResponse": "Tekst",
      "noEvents": "Nie zarejestrowano jeszcze żadnych zdarzeń.",
      "byActor": "przez {{name}}"
    },
    "analytics": {
      "periodToday": "Dzisiaj",
      "periodAll": "Wszystko",
      "periodDays": "{{count}} dni",
      "tooltipTotalConnections": "Łączna liczba logowań:",
      "tooltipUniqueUsers": "Unikalni użytkownicy:",
      "defaultUsername": "Użytkownik",
      "resetRange": "Zresetuj zakres dat",
      "statUniqueUsers": "Unikalni użytkownicy",
      "statTotalConnections": "Łączna liczba logowań",
      "statAvgSessions": "Śr. liczba sesji / użytkownika",
      "statNewRegistrations": "Nowe rejestracje",
      "loadingData": "Ładowanie danych...",
      "noDataForPeriod": "Brak danych dla tego okresu",
      "chartVisitors": "Odwiedzający",
      "chartConnections": "Logowania",
      "legendUniqueVisitors": "Unikalni odwiedzający",
      "legendTotalConnections": "Łączna liczba logowań",
      "envTitle": "Środowisko",
      "envBrowsers": "Przeglądarki",
      "envDevices": "Urządzenia",
      "locTitle": "Lokalizacja",
      "locCountries": "Kraje",
      "locRegions": "Regiony",
      "locCities": "Miasta",
      "loadingActiveUsers": "Ładowanie aktywnych użytkowników...",
      "noActiveUsers": "Brak aktywnych użytkowników",
      "noActiveUsersHint": "Spróbuj dostosować filtry lub okres.",
      "colUser": "Użytkownik",
      "colConnections": "Logowania",
      "colLastLocation": "Ostatnia lokalizacja",
      "colLastDevice": "Ostatnie urządzenie",
      "colLastActivity": "Ostatnia aktywność",
      "unknown": "Nieznane",
      "activeUsersSingular": "{{count}} aktywny użytkownik",
      "activeUsersPlural": "{{count}} aktywnych użytkowników",
      "pageIndicator": "strona {{page}} / {{total}}"
    },
    "infra": {
      "cronHourlyReminders": "Przypomnienia co godzinę",
      "cronFeedbackRequests": "Prośby o opinię",
      "cronProDiscovery": "E-maile odkrywcze PRO",
      "cronInactiveUsers": "Wiadomości do nieaktywnych użytkowników",
      "cronBreedingReminders": "Przypomnienia o rozrodzie",
      "jobStarted": "Zadanie „{{job}}” zostało uruchomione.",
      "backupCreated": "Utworzono kopię zapasową.",
      "backupFailed": "Niepowodzenie: {{detail}}",
      "cacheCleared": "Pamięć podręczna wyczyszczona.",
      "tabLatency": "Opóźnienie",
      "tabCron": "CRON (uruchom teraz)",
      "tabStorage": "Magazyn",
      "tabSql": "SQL (tylko odczyt)",
      "tabBackups": "Kopie zapasowe",
      "title": "Infrastruktura",
      "subtitle": "Wydajność, webhooki, zadania, magazyn i baza danych.",
      "latencyEmpty": "Brak pomiarów. Opóźnienia są zbierane w miarę napływu żądań (bufor w pamięci).",
      "colRequests": "Żądania",
      "webhooksEmpty": "Nie zarejestrowano żadnych dostarczeń webhooków.",
      "replay": "Powtórz",
      "run": "Uruchom",
      "storageEmpty": "Brak danych o magazynie.",
      "colUser": "Użytkownik",
      "colSpace": "Przestrzeń",
      "sqlReadOnly": "Tylko odczyt: dozwolone są wyłącznie zapytania SELECT (limit 200 wierszy). Modyfikacje nie są możliwe.",
      "execute": "Wykonaj",
      "rowsCount": "{{count}} wiersz(y)",
      "runBackup": "Wykonaj kopię zapasową",
      "backupsEmpty": "Nie zarejestrowano żadnych kopii zapasowych.",
      "fileSize": "{{size}} MB · ",
      "cacheTitle": "Pamięć podręczna aplikacji",
      "cacheEntries": "{{count}} wpis(ów) w pamięci podręcznej (agregacje panelu, krótkie TTL).",
      "clearCache": "Wyczyść pamięć podręczną"
    },
    "common": {
      "save": "Zapisz",
      "cancel": "Anuluj",
      "delete": "Usuń",
      "add": "Dodaj",
      "edit": "Edytuj",
      "search": "Szukaj",
      "close": "Zamknij",
      "confirm": "Potwierdź",
      "loading": "Ładowanie…",
      "actions": "Akcje",
      "refresh": "Odśwież",
      "export": "Eksportuj",
      "filters": "Filtry",
      "all": "Wszystkie",
      "none": "Brak",
      "back": "Wstecz",
      "yes": "Tak",
      "no": "Nie",
      "noResults": "Brak wyników",
      "required": "Wymagane",
      "previous": "Poprzedni",
      "next": "Następny",
      "saved": "Zapisano",
      "error": "Wystąpił błąd",
      "total": "Razem",
      "status": "Status",
      "name": "Nazwa",
      "description": "Opis",
      "date": "Data",
      "email": "E-mail",
      "create": "Utwórz",
      "view": "Podgląd"
    },
    "nav": {
      "groups": {
        "pilotage": "Sterowanie",
        "management": "Zarządzanie",
        "contentSupport": "Treści i wsparcie",
        "technical": "Techniczne"
      },
      "items": {
        "dashboard": "Przegląd",
        "analytics": "Sesje i statystyki",
        "revenue": "Przychody",
        "surveys": "Ankiety / NPS",
        "users": "Użytkownicy",
        "roles": "Role",
        "billing": "Płatności",
        "families": "Rodziny",
        "support": "Wsparcie",
        "content": "Treści",
        "moderation": "Moderacja",
        "genetics": "Genetyka",
        "comms": "Komunikacja",
        "i18n": "Tłumaczenia",
        "system": "System",
        "infra": "Infrastruktura",
        "compliance": "Bezpieczeństwo i zgodność"
      }
    },
    "genetics": {
      "newSpeciesPrompt": "Identyfikator nowego gatunku (np. python-regius):",
      "invalidJson": "Nieprawidłowy JSON — sprawdź składnię.",
      "confirmDelete": "Usunąć gatunek „{{id}}”?",
      "confirmMerge": "Scalić „{{source}}” z „{{target}}”? Gatunek źródłowy zostanie usunięty.",
      "title": "Rejestr genetyczny",
      "subtitle": "{{count}} gatunków — katalog, edycja loci/morph i scalanie.",
      "newSpeciesBtn": "+ Gatunek",
      "searchPlaceholder": "Szukaj gatunku…",
      "colSpecies": "Gatunek",
      "colFamily": "Rodzina",
      "colLoci": "Loci",
      "colCompleteness": "Kompletność",
      "empty": "Brak gatunków.",
      "merge": "Scal",
      "newSpeciesTitle": "Nowy gatunek",
      "jsonWarning": "Bezpośrednia edycja pliku JSON rejestru. Zachowaj nienaruszoną strukturę (species, groups, loci, namedCombos).",
      "mergeTitle": "Scal gatunek",
      "mergeSource": "Źródło:",
      "mergeSourceInfo": "Jego loci, aliasy i kombinacje zostaną skopiowane do gatunku docelowego, a następnie źródło zostanie usunięte.",
      "mergeTargetPlaceholder": "Identyfikator docelowy (np. python-regius)"
    },
    "families": {
      "deleteConfirm": "Usunąć tę rodzinę? Gady zostaną odłączone.",
      "title": "Rodziny i współpraca",
      "subtitle": "Współdzielone kolekcje, członkowie i statystyki.",
      "statFamilies": "Rodziny",
      "statCollaborators": "Współpracownicy",
      "collaboratorPct": "{{pct}}% użytkowników",
      "avgSize": "Średni rozmiar",
      "membersPerFamily": "członków / rodzinę",
      "largest": "Największa",
      "searchPlaceholder": "Szukaj rodziny po nazwie…",
      "colMembers": "Członkowie",
      "colReptiles": "Gady",
      "colCreated": "Utworzono",
      "empty": "Brak rodzin.",
      "pagination_one": "Strona {{page}} / {{totalPages}} · {{count}} rodzina",
      "pagination_other": "Strona {{page}} / {{totalPages}} · {{count}} rodzin",
      "detailCounts": "{{reptiles}} gadów · {{members}} członków",
      "deleteFamily": "Usuń tę rodzinę",
      "pagination": "Strona {{page}}/{{totalPages}} · {{count}} rodzina(y)"
    },
    "help": {
      "dashboard": "Wskaźniki biznesowe: MRR/ARR, rejestracje, zaangażowanie (DAU/MAU), alerty i konwersja na stronę.",
      "analytics": "Sesje logowania i szczegółowe statystyki użytkowania.",
      "revenue": "Podział MRR (nowi klienci/ekspansja/rezygnacje), prognoza, skuteczność promocji, uzgadnianie danych Stripe i migracja planów.",
      "surveys": "Twórz ankiety NPS/CSAT, śledź wynik i czytaj komentarze.",
      "users": "Wyszukiwanie, edycja, moderacja, RODO oraz profil CRM (notatki, tagi, wskaźnik kondycji, przypisywanie ról).",
      "roles": "Definiuj role i ich uprawnienia. Przypisywanie ról do użytkowników odbywa się z poziomu ich profilu CRM.",
      "billing": "Subskrypcje, nieudane płatności, zwroty, kody promocyjne i webhooki Stripe.",
      "families": "Wspólne kolekcje, ich członkowie, statystyki i moderacja.",
      "support": "Zgłoszenia z wątkiem dyskusji, szablonami odpowiedzi, priorytetem/kategorią oraz śledzeniem SLA.",
      "content": "FAQ, ogłoszenia w aplikacji, dziennik zmian i szablony odpowiedzi.",
      "moderation": "Kolejka zgłoszonych treści i wykrywanie kont zagrożonych ryzykiem.",
      "genetics": "Katalog gatunków i edycja rejestru genetycznego (loci/morphy) wraz ze wskaźnikiem kompletności.",
      "comms": "Kampanie push, segmentowane e-maile, szablony, adopcja PWA i dostarczalność.",
      "i18n": "Pokrycie tłumaczeń wg języka, brakujące/nieużywane klucze oraz eksport CSV.",
      "system": "Kondycja systemu, błędy, CRON, zadania, wykorzystanie funkcji, przesyłane pliki i audyt.",
      "infra": "Opóźnienia (p50/p95/p99), webhooki + ponowne wysyłanie, CRON na żądanie, magazyn danych, SQL tylko do odczytu, kopie zapasowe i pamięć podręczna.",
      "compliance": "RODO, zgody, retencja danych, polityka haseł, tryb konserwacji, sesje administratorów, podejrzane logowania i strona statusu."
    },
    "roles": {
      "confirmDelete": "Usunąć rolę „{{name}}”?",
      "unsavedConfirm": "Niezapisane zmiany zostaną utracone. Kontynuować?",
      "title": "Role i uprawnienia",
      "subtitle": "Szczegółowa kontrola dostępu (RBAC).",
      "newRole": "Nowa rola",
      "permsCount": "{{n}} uprawnień",
      "selectPrompt": "Wybierz rolę, aby zarządzać jej uprawnieniami.",
      "selectedCount_one": "Wybrano {{count}} uprawnienie",
      "selectedCount_other": "Wybrano {{count}} uprawnień",
      "usersWithRole": "Użytkownicy z tą rolą ({{n}})",
      "noUsers": "Żaden użytkownik nie ma tej roli.",
      "namePlaceholder": "Nazwa roli (np. moderator)",
      "descPlaceholder": "Opis (opcjonalnie)",
      "editRole": "Edytuj rolę",
      "systemRoleNameLocked": "Nazwy roli systemowej nie można zmienić.",
      "selectedCount": "Wybrano {{count}} uprawnienie(a)"
    },
    "header": {
      "title": "Administracja",
      "subtitle": "Rozszerzony panel sterowania",
      "role": "Super Admin"
    },
    "state": {
      "errorTitle": "Nie udało się tego wczytać",
      "retry": "Ponów",
      "empty": "Nic tu jeszcze nie ma."
    },
    "pager": {
      "total": "Łącznie: {{count}}",
      "prev": "Poprzednia",
      "next": "Następna"
    }
  },
  "snake": {
    "transfer": {
      "button": "Transfer",
      "title": "Transfer {{name}}",
      "subtitle": "Przenieś tego gada do rodziny lub przekaż go innemu użytkownikowi.",
      "to_family": "Przenieś do rodziny",
      "to_family_help": "Gad zniknie z Twojej przestrzeni osobistej i stanie się widoczny w przestrzeni rodzinnej.",
      "choose_family": "Wybierz rodzinę...",
      "confirm_family": "Przenieś do rodziny",
      "already_in_family": "Ten gad jest już przypisany do tej rodziny.",
      "no_families": "Nie masz żadnej rodziny dostępnej do tego transferu.",
      "confirm_personal": "Wróć do mojej przestrzeni osobistej",
      "personal_success": "Gad został przeniesiony z powrotem do Twojej przestrzeni osobistej.",
      "family_success": "Gad został przeniesiony do rodziny.",
      "to_user": "Przekaż użytkownikowi",
      "to_user_help": "Nowy użytkownik stanie się właścicielem gada. Stracisz dostęp do jego profilu.",
      "user_placeholder": "E-mail lub nazwa użytkownika...",
      "confirm_user_button": "Przekaż gada",
      "confirm_user": "Ten gad zostanie przekazany innemu użytkownikowi. Stracisz do niego dostęp. Kontynuować?",
      "user_warning": "Uwaga: ta czynność usuwa gada z Twojego konta.",
      "user_success": "Gad został pomyślnie przekazany.",
      "in_progress": "Transfer w toku...",
      "error": "Transfer nie powiódł się."
    },
    "upload_first": "Dodaj zdjęcie",
    "photo_gallery": "Galeria zdjęć",
    "add_photo": "Dodaj",
    "no_photos": "Brak zdjęć",
    "no_photos_desc": "Dodawaj zdarzenia ze zdjęciami, aby zapełnić galerię.",
    "profile_pic": "Zdjęcie profilowe",
    "locked_title": "Profil zablokowany",
    "locked_desc": "Ten gad przekracza limit Twojego darmowego planu. Ostatnio dodane gady są zablokowane. Przejdź na plan Pro, aby uzyskać do nich dostęp.",
    "addTitle": "Dodaj gada",
    "edit": "Edytuj",
    "editTitle": "Edytuj profil",
    "edit_title": "Edytuj profil",
    "deleteTitle": "Usuń {{name}}",
    "not_found": "Nie znaleziono gada.",
    "no_photo": "Brak dostępnego zdjęcia",
    "noPhoto": "Brak dostępnego zdjęcia",
    "qr_code": "Kod QR",
    "export_pdf": "Eksportuj PDF",
    "exportPDF": "Eksportuj do PDF",
    "maintenance_title": "Konserwacja i przypomnienia",
    "feeding_interval_label": "Częstotliwość karmienia",
    "feedingIntervalTitle": "Interwał karmienia",
    "feeding_interval_placeholder": "Np.: 7",
    "feeding_interval_help": "Liczba dni między posiłkami. Pozostaw puste, aby wyłączyć.",
    "feeding_interval_title": "Częstotliwość karmienia",
    "avg_feeding_interval_label": "Średni interwał:",
    "avgFeedingIntervalLabel": "Średni interwał:",
    "avgShedCycleLabel": "Średni cykl:",
    "feedingSchedule": "Harmonogram karmienia",
    "status": {
      "late_feeding": "Opóźnione karmienie",
      "next_feeding": "Następne karmienie",
      "feed_now": "Nakarm teraz",
      "feed_me": "Do nakarmienia",
      "next_shed_prediction": "Przewidywana wylinka",
      "shed_late": "Prawdopodobne opóźnienie (~{{diff}} dni)",
      "shed_in": "Za około {{diff}} dni",
      "next_vet": "Wizyta u weterynarza",
      "in_days": "Za {{count}} dni",
      "days_late": "{{count}} dni opóźnienia"
    },
    "overview": "Przegląd",
    "events": "Zdarzenia",
    "analytics": "Analityka",
    "recent_activity": "Ostatnia aktywność",
    "recentActivity": "Ostatnia aktywność",
    "event_history": "Pełna historia",
    "eventHistory": "Historia zdarzeń",
    "health_indicators": "Wskaźniki zdrowia",
    "healthIndicators": "Wskaźniki zdrowia",
    "weight_trend": "Trend wagi",
    "weightTrend": "Trend wagi",
    "length_evolution": "Wzrost (długość)",
    "lengthEvolution": "Zmiana długości",
    "weight_and_feeding": "Waga i karmienie",
    "weightAndFeeding": "Waga i karmienie",
    "growthRate": "Tempo wzrostu",
    "growthTitle": "Wzrost",
    "growthTrend": "Trend wzrostu: prawidłowy",
    "last_feeding_label": "Ostatnie karmienie:",
    "lastFeeding": "Ostatnie karmienie:",
    "lastFeedingLabel": "Ostatnie karmienie:",
    "last_shed_label": "Ostatnia wylinka:",
    "lastShedLabel": "Ostatnia wylinka:",
    "nextShedEstimate": "Przewidywana kolejna wylinka za {{days}} dni",
    "daysAfterPrevious": "{{days}} dni od poprzedniej",
    "name": "Imię",
    "species": "Gatunek",
    "morph": "Morph",
    "age": "Wiek",
    "years": "lat",
    "yearsOld": "{{count}} lat",
    "yearsOld_one": "{{count}} rok",
    "yearsOld_other": "{{count}} lat",
    "weight": "Waga",
    "currentWeight": "Aktualna waga:",
    "initialWeight": "Waga początkowa:",
    "weightGain": "Przyrost wagi: +30 g w tym miesiącu",
    "totalGain": "Całkowity przyrost:",
    "length": "Długość",
    "sex": {
      "male": "Samiec",
      "female": "Samica",
      "unknown": "Nieznana"
    },
    "sexe": "Płeć",
    "birth_date": "Data urodzenia",
    "birthDate": "Data urodzenia",
    "notes": "Notatki",
    "days": "dni",
    "read_only_badge": "Tylko do odczytu",
    "readOnlyBadge": "Tylko do odczytu",
    "read_only_tip": "Ten gad jest zarchiwizowany lub nie można go modyfikować.",
    "read_only_cannot_modify": "Nie można modyfikować gada w trybie tylko do odczytu.",
    "archived": "Ten gad jest zarchiwizowany.",
    "readonly_until": "Tylko do odczytu do {{date}}",
    "readonlyUntil": "Tylko do odczytu do {{date}}.",
    "restore": "Przywróć",
    "archive_30d_title": "Archiwizuj (30 dni)",
    "archive30dTitle": "Archiwizacja 30 dni (zalecane)",
    "archive_readonly_info": "Przełącza w tryb tylko do odczytu. Można przywrócić.",
    "archiveReadOnlyInfo": "Gad pozostaje widoczny w trybie tylko do odczytu. Możesz go przywrócić w dowolnym momencie.",
    "permanent_delete_title": "Trwałe usunięcie",
    "permanentDeleteTitle": "Trwałe usunięcie",
    "permanent_delete_warning": "Nieodwracalne. Wszystkie dane zostaną utracone.",
    "permanentDeleteWarning": "Nieodwracalna czynność: wszystkie dane i powiązane zdarzenia zostaną usunięte.",
    "delete_confirm": "Czy na pewno chcesz trwale usunąć tego gada?",
    "deleteConfirm": "Trwale usunąć tego gada i CAŁĄ historię?",
    "delete_error": "Błąd podczas usuwania",
    "deleteError": "Błąd podczas usuwania gada.",
    "feedings": "Karmienia",
    "totalFeedingsLabel": "Łączna liczba karmień:",
    "sheds": "Wylinki",
    "totalShedsLabel": "Łączna liczba wylinek:",
    "sheddingHistoryTitle": "Historia wylinek",
    "vet_visits": "Wizyty u weterynarza",
    "vetVisits": "Wizyty u weterynarza",
    "totalVetVisitsLabel": "Wizyty u weterynarza:",
    "meals": "Posiłki",
    "totalEventsLabel": "Łączna liczba zdarzeń:",
    "health": {
      "feeding": "Karmienie",
      "sheds": "Wylinka",
      "growth": "Wzrost",
      "overall": "Ogólny",
      "help_feeding": "Na podstawie regularności karmienia w porównaniu z Twoim celem.",
      "help_sheds": "Na podstawie regularności cyklu wylinek.",
      "help_growth": "Zmiana wagi od urodzenia/nabycia.",
      "help_overall": "Średnia ważona kluczowych wskaźników.",
      "help": {
        "feeding": "Na podstawie średniego interwału karmienia: 7 dni odpowiada 100%. Dłuższe interwały obniżają wynik.",
        "growth": "Procentowa zmiana między pierwszą a ostatnią wagą.",
        "overall": "Prosta średnia trzech wyników.",
        "sheds": "100%, jeśli średni interwał wylinek wynosi poniżej 60 dni. Powyżej tej wartości wynik stopniowo maleje."
      }
    },
    "pdf": {
      "kpis": "Kluczowe wskaźniki",
      "details": "Szczegóły techniczne"
    },
    "metric": "Metryka",
    "value": "Wartość",
    "field": "Pole",
    "fields": {
      "birthDate": "Data urodzenia",
      "imageUrl": "Adres URL zdjęcia",
      "length": "Długość (cm)",
      "morph": "Morph",
      "name": "Imię",
      "sex": "Płeć",
      "species": "Gatunek",
      "weight": "Waga (g)"
    },
    "placeholders": {
      "imageUrl": "https://...",
      "length": "np. 120",
      "morph": "np. Pastel",
      "name": "np. Luna",
      "species": "np. Python regius",
      "weight": "np. 1200"
    },
    "profile": "Profil",
    "progression": "Postęp:",
    "editPhoto": "Edytuj",
    "statsTitle": "Statystyki",
    "tour": {
      "health_title": "Wskaźniki zdrowia",
      "healthTitle": "Wskaźniki zdrowia",
      "health_text": "Szybkie podsumowanie regularności karmienia, cykli wylinek i trendów wagi.",
      "healthText": "Szybkie podsumowanie regularności karmienia, cykli wylinek i trendów wagi. Najedź na ?, aby dowiedzieć się, jak obliczany jest każdy wynik.",
      "weight_title": "Trend wagi",
      "weightTitle": "Trend wagi",
      "weight_text": "Twój wykres wagi. Wizualnie śledź wzrost w czasie.",
      "weightText": "Twój wykres wagi. Wynik wzrostu porównuje pierwszą i ostatnią zarejestrowaną wagę.",
      "events_title": "Historia zdarzeń",
      "eventsTitle": "Historia zdarzeń",
      "events_text": "Zobacz tutaj wszystkie zdarzenia (karmienia, wylinki, pielęgnacja...).",
      "eventsText": "Zobacz tutaj wszystkie zdarzenia. Kliknij zdarzenie, aby je edytować lub usunąć.",
      "add_title": "Dodaj zdarzenie",
      "addTitle": "Dodaj zdarzenie",
      "add_text": "Użyj tego przycisku, aby szybko zarejestrować czynność.",
      "addText": "Użyj przycisku „Dodaj zdarzenie”, aby rejestrować karmienia, wylinki, wizyty u weterynarza itd."
    },
    "photos": "Zdjęcia"
  },
  "landingpage": {
    "nav": {
      "features": "Funkcje",
      "pricing": "Cennik",
      "faq": "FAQ",
      "updates": "Nowości",
      "login": "Zaloguj się",
      "lang_code": "PL"
    },
    "hero": {
      "badge": "Rozwiązanie numer 1 dla hodowców",
      "title_part1": "Zarządzaj swoją hodowlą gadów",
      "title_highlight": "z precyzją.",
      "subtitle": "Odłóż na bok papierowe notatniki i chaotyczne pliki Excel. ReptiNode centralizuje śledzenie, zdrowie, genetykę i rozród w jednym nowoczesnym interfejsie.",
      "cta": "Zacznij za darmo"
    },
    "hero_illustration": {
      "snake_name": "Banana Pied #05",
      "snake_species": "Python Regius",
      "status_active": "Aktywny",
      "last_meal_label": "Ostatnie karmienie",
      "last_meal_time": "2 dni",
      "last_meal_food": "Szczur 40 g",
      "weight_label": "Waga",
      "weight_value": "485 g",
      "history_title": "Ostatnia historia",
      "event_weight": "Zważono",
      "time_2h_ago": "2 godziny temu",
      "event_ovulation": "Wykryto owulację",
      "time_yesterday": "Wczoraj",
      "qr_scan": "Szybkie skanowanie",
      "meal_validated": "Posiłek potwierdzony",
      "sync": "Natychmiastowa synchronizacja"
    },
    "features": {
      "main_title": "Wszystko, czego potrzebujesz, w jednym miejscu.",
      "main_subtitle": "Zyskaj natychmiastowy przegląd swojej kolekcji. Scentralizuj dane i podejmuj trafne decyzje dzięki inteligentnym narzędziom monitorowania.",
      "card_medical": {
        "tag": "Niezbędne",
        "title": "Kompletna kartoteka medyczna",
        "description": "Prowadź stały rejestr zdrowia swoich gadów. Zapisuj posiłki, odmowy jedzenia, wylinki, wagę i leczenie weterynaryjne.",
        "feature_1": "Automatyczne przypomnienia",
        "feature_2": "Wykresy wagi"
      },
      "card_mobile": {
        "title": "Tryb mobilny i QR",
        "description": "Generuj kody QR dla swoich racków. Zeskanuj i zarejestruj czynność w zaledwie 2 sekundy bezpośrednio ze smartfona."
      },
      "card_genetic": {
        "title": "Kalkulator genetyczny",
        "description": "Planuj swoje projekty hodowlane. Nasz silnik obsługuje geny recesywne, kodominujące oraz złożone kombinacje."
      },
      "card_docs": {
        "title": "Dokumenty i rozród",
        "description": "Generuj certyfikaty przeniesienia własności i karty pielęgnacji w formacie PDF. Śledź inkubacje i wskaźniki wyklucia.",
        "example_1_title": "Zniesienie #12",
        "example_1_status": "W inkubacji",
        "example_2_title": "Certyfikat przeniesienia",
        "example_2_status": "PDF gotowy"
      }
    },
    "pricing": {
      "main_title": "Przejrzysty cennik",
      "main_subtitle": "Zacznij za darmo, rozwijaj się w swoim tempie.",
      "switch_monthly": "Miesięcznie",
      "switch_yearly": "Rocznie",
      "switch_discount": "-12%",
      "free_plan": {
        "title": "Odkrywca",
        "frequency": "/ dożywotnio",
        "description": "Niezbędne minimum, by rozpocząć swoją pasję i zorganizować pierwszą kolekcję bez ograniczeń.",
        "feature_1": "Do 30 gadów",
        "feature_2": "Pełne monitorowanie: posiłki, wylinki, pielęgnacja, waga i rozmiar",
        "feature_3": "Panel główny: przypomnienia, alerty i wykresy",
        "feature_4": "Galeria zdjęć według gada i zdarzenia",
        "cta": "Zacznij teraz"
      },
      "pro_plan": {
        "recommended": "Polecany",
        "title": "Profesjonalny",
        "frequency": "/ miesiąc",
        "billed_yearly": "Rozliczane {{price}}€ rocznie",
        "description": "Odblokuj pełną moc narzędzia. Dla poważnych hodowców, którzy chcą zoptymalizować swoją produkcję.",
        "feature_1": "Nieograniczona liczba gadów",
        "feature_2": "Zaawansowany kalkulator genetyczny",
        "feature_3": "Eksporty PDF (przeniesienie, pielęgnacja itd.)",
        "feature_4": "Generowanie kodów QR",
        "feature_5": "Śledzenie rozrodu, rodowodu i jaj",
        "cta": "Przejdź na Pro",
        "guarantee": "14-dniowa gwarancja zwrotu pieniędzy"
      }
    },
    "faq": {
      "title": "Najczęściej zadawane pytania",
      "subtitle": "Wszystko, co musisz wiedzieć, aby spokojnie zarządzać swoją hodowlą.",
      "q1": "Jak efektywnie zarządzać hodowlą gadów?",
      "r1": "Zarządzanie kolekcją gadów wymaga rzetelnego śledzenia kluczowych parametrów: krzywych wagi, harmonogramów karmienia i cykli rozrodczych. Korzystanie ze specjalistycznego oprogramowania, takiego jak ReptiNode, pozwala scentralizować te dane, zastąpić papierowe dzienniki i zapewnić zgodność sanitarną oraz prawną dla Twoich węży i jaszczurek.",
      "q2": "Dlaczego warto korzystać z oprogramowania do śledzenia gadów zamiast notatnika?",
      "r2": "W przeciwieństwie do papieru czy Excela, oprogramowanie do zarządzania gadami zabezpiecza Twoje dane i automatyzuje zadania. Pozwala generować przekazywalne karty hodowlane na potrzeby sprzedaży, planować przypomnienia o karmieniu czy wizytach u weterynarza oraz uzyskiwać dostęp do historii zwierząt za pomocą kodu QR z dowolnego miejsca.",
      "q3": "Czy potrzebuję specjalnego sprzętu do kodów QR?",
      "r3": "Nie, nie jest wymagana żadna inwestycja. Aplikacja generuje etykiety, które możesz wydrukować na zwykłej drukarce. Następnie wystarczy aparat w smartfonie, aby skanować kody i wchodzić w interakcję ze swoimi zwierzętami.",
      "q4": "Czy moje dane są bezpieczne?",
      "r4": "Oczywiście. Twoje dane są szyfrowane i codziennie zapisywane w kopii zapasowej na bezpiecznych serwerach. Nie ryzykujesz utraty historii, tak jak w przypadku zgubionego papierowego notatnika czy uszkodzonego pliku Excel.",
      "q5": "Jakimi gadami można zarządzać (Ball Python, gekony, połozowate)?",
      "r5": "ReptiNode jest przeznaczony dla wszystkich rodzajów gadów. Doskonale sprawdza się przy śledzeniu węży (Ball Python, węże zbożowe, boa), jaszczurek (Leopard Gecko, agamy brodate) i innych gatunków egzotycznych. Karty ewidencyjne dostosowują się do specyfiki każdego gatunku (wylinki, zniesienia, brumacja).",
      "support_text": "Masz więcej pytań?",
      "support_link": "Porozmawiaj z naszym zespołem wsparcia"
    },
    "final_cta": {
      "badge": "Stworzone przez hodowcę, dla hodowców 🐍",
      "title_part1": "Twoje gady zasługują na coś lepszego",
      "title_highlight": "niż plik Excel.",
      "description": "Zabezpiecz swoje dane, śledź wzrost zwierząt i zarządzaj swoimi projektami hodowlanymi. Kompleksowa platforma dla nowoczesnej terrariofilistyki.",
      "button": "Ulepsz życie moich gadów",
      "reassurance_1": "Za darmo do 30 gadów",
      "reassurance_2": "Bezpieczne dane w chmurze",
      "reassurance_3": "Aplikacja webowa i mobilna"
    },
    "footer": {
      "brand_description": "Nie zostawiaj niczego przypadkowi. Od ważenia po wykluwanie się jaj, referencyjne narzędzie dla wymagających hodowców.",
      "col_product_title": "Produkt",
      "col_legal_title": "Informacje prawne",
      "link_privacy": "Polityka prywatności",
      "link_terms": "Regulamin",
      "link_legal": "Nota prawna",
      "copyright_reserved": "Wszelkie prawa zastrzeżone.",
      "made_with_love_part1": "Stworzone z",
      "made_with_love_part2": "we Francji."
    }
  },
  "breeding": {
    "feature": {
      "certificatesDesc": "Generuj profesjonalne certyfikaty i raporty",
      "eggsDesc": "Monitoruj inkubację, śledząc temperatury i daty",
      "geneticsDesc": "Przewiduj morphy młodych przed kojarzeniem",
      "pairingsDesc": "Śledź kojarzenia i ich wyniki",
      "pedigreeDesc": "Wizualizuj rodowody i zarządzaj hodowlą"
    },
    "header": {
      "subtitle": "Wizualizuj rodowody i zarządzaj swoim programem hodowlanym"
    },
    "proOnly": {
      "cta": {
        "upgradePro": "Przejdź na plan Pro"
      },
      "descriptions": {
        "certificates": "Generuj eleganckie certyfikaty gotowe do druku, którymi łatwo się podzielisz.",
        "eggs": "Rejestruj zniesienia, inkubacje i wykluwanie oraz otrzymuj kluczowe przypomnienia.",
        "genetics": "Symuluj prawdopodobieństwo morphów i porównuj wyniki na pierwszy rzut oka.",
        "pairings": "Planuj kojarzenia, śledź cykle i prowadź historię hodowli.",
        "pedigree": "Twórz mapy rodowodów, unikaj ryzykownych krzyżówek i buduj swoje linie krwi."
      },
      "features": {
        "certificates": "Certyfikaty PDF",
        "eggs": "Śledzenie jaj",
        "genetics": "Kalkulator genetyczny",
        "pairings": "Zarządzanie kojarzeniami",
        "pedigree": "Rodowód"
      },
      "subtitle": "Odblokuj zaawansowane narzędzia dla swojej hodowli.",
      "title": "Funkcje Pro"
    },
    "title": "Centrum hodowlane",
    "tabs": {
      "pedigree": "Rodowód",
      "genetics": "Genetyka",
      "pairings": "Kojarzenia",
      "eggs": "Jaja",
      "certificates": "Dokumenty",
      "season": "Sezon",
      "incubation": "Inkubacja",
      "lineage": "Pochodzenie",
      "projects": "Projekty",
      "economy": "Ekonomia"
    },
    "pro_only": {
      "title": "Funkcje Pro",
      "subtitle": "Centrum hodowlane jest dostępne wyłącznie dla użytkowników planu Pro.",
      "features": {
        "pedigree": {
          "title": "Drzewa rodowodowe",
          "desc": "Wizualizuj rodowody na przestrzeni wielu pokoleń."
        },
        "genetics": {
          "title": "Zaawansowany kalkulator",
          "desc": "Przewidywanie morphów i kombinacji."
        },
        "pairings": {
          "title": "Śledzenie kojarzeń",
          "desc": "Pełna historia i przypomnienia."
        },
        "eggs": {
          "title": "Zarządzanie jajami",
          "desc": "Inkubacja, wykluwanie i śledzenie."
        },
        "certificates": {
          "title": "Dokumenty urzędowe",
          "desc": "Automatyczne generowanie certyfikatów."
        }
      },
      "cta_upgrade": "Przejdź na Pro"
    },
    "ui": {
      "loading": "Ładowanie…",
      "save": "Zapisz",
      "cancel": "Anuluj",
      "add": "Dodaj",
      "delete": "Usuń",
      "close": "Zamknij",
      "later": "Później"
    },
    "season": {
      "title": "Sezon hodowlany",
      "all_seasons": "Wszystkie sezony",
      "pairings": "Kojarzenia",
      "clutches": "Zniesienia",
      "eggs": "Jaja",
      "hatchlings": "Młode",
      "fertility_rate": "Wskaźnik płodności",
      "hatch_rate": "Wskaźnik wyklucia",
      "success_rate": "Ogólna skuteczność",
      "benchmark_title": "Analiza porównawcza według gatunku (cała platforma)",
      "benchmark_sub": "Zagregowane, zanonimizowane średnie wskaźniki wyklucia — przydatne do porównania Twoich wyników.",
      "hatch_rate_legend": "Wskaźnik wyklucia"
    },
    "projects": {
      "title": "Projekty hodowlane",
      "new": "Nowy projekt",
      "empty": "Brak projektów. Utwórz swój pierwszy projekt (np. „Pied 2026”).",
      "animals": "zwierzęta",
      "pairings": "kojarzenia",
      "new_title": "Nowy projekt hodowlany",
      "ph_name": "Nazwa projektu",
      "ph_goal": "Docelowy morph (np. Pied)",
      "ph_season": "Sezon (np. 2026)",
      "ph_desc": "Opis (opcjonalnie)",
      "create": "Utwórz",
      "objective": "Cel",
      "no_animals": "Brak powiązanych zwierząt.",
      "no_pairings": "Brak powiązanych kojarzeń.",
      "delete_confirm": "Usunąć ten projekt?",
      "status": {
        "active": "Aktywny",
        "paused": "Wstrzymany",
        "completed": "Zakończony",
        "archived": "Zarchiwizowany"
      }
    },
    "economy": {
      "view_summary": "Podsumowanie",
      "view_expenses": "Wydatki",
      "view_inventory": "Kolekcja",
      "expense": "Wydatek",
      "expenses": "Wydatki",
      "revenue": "Przychód",
      "margin": "Marża",
      "sales": "sprzedaże",
      "by_category": "Wydatki według kategorii",
      "no_expenses": "Brak zarejestrowanych wydatków.",
      "new_expense": "Nowy wydatek",
      "ph_label": "Nazwa (np. Mrożone myszy)",
      "amount": "Kwota €",
      "cat": {
        "food": "Pokarm",
        "equipment": "Sprzęt",
        "vet": "Weterynarz",
        "acquisition": "Zakup",
        "other": "Inne"
      },
      "avail": {
        "keeping": "Zatrzymane",
        "for_sale": "Na sprzedaż",
        "reserved": "Zarezerwowane",
        "sold": "Sprzedane",
        "holdback": "Rezerwa hodowlana"
      },
      "inv": {
        "gravid": "Samice gravidalne",
        "cooling": "Chłodzenie",
        "for_sale": "Na sprzedaż / zarezerwowane",
        "breeders": "Dostępne osobniki hodowlane"
      },
      "delete_confirm": "Usunąć?"
    },
    "genealogy": {
      "coi_title": "Zgodność kojarzenia (chów wsobny)",
      "coi_sub": "Sprawdź współczynnik chowu wsobnego (COI) przed skojarzeniem dwóch zwierząt.",
      "male": "Samiec",
      "female": "Samica",
      "verify": "Sprawdź",
      "coi_high": "Wysoki poziom chowu wsobnego — niezalecane.",
      "coi_none": "Nie wykryto istotnego chowu wsobnego między tymi dwoma zwierzętami.",
      "common_ancestors": "wspólny(-ych) przodek(-ów).",
      "tree_title": "Drzewo genealogiczne",
      "choose_snake": "Wybierz gada…",
      "select_prompt": "Wybierz gada, aby wyświetlić jego rodowód.",
      "ancestors": "Przodkowie",
      "descendants": "Potomkowie",
      "unknown": "nieznany"
    },
    "incubation": {
      "title": "Śledzenie inkubacji",
      "choose_clutch": "Wybierz zniesienie…",
      "empty": "Brak zarejestrowanych zniesień. Utwórz zniesienie w zakładce Jaja.",
      "select_prompt": "Wybierz zniesienie, aby śledzić jego inkubację.",
      "clutch": "Zniesienie",
      "eggs_count": "jaja",
      "predicted_hatch": "Przewidywane wyklucie",
      "days": "d",
      "base": "bazowo",
      "avg_temp": "Śr. temp.",
      "target": "cel",
      "species": "Gatunek",
      "temp": "Temperatura °C",
      "humidity": "Wilgotność %",
      "reading": "Odczyt",
      "curve_title": "Wykres temperatury / wilgotności",
      "temp_legend": "Temp. °C",
      "humidity_legend": "Wilgotność %",
      "eggs_title": "Jaja",
      "eggs_sub": "prześwietlanie i wykluwanie",
      "no_eggs": "Brak zarejestrowanych jaj dla tego zniesienia.",
      "inspect": "Zbadaj",
      "hatch": "Wyklucie",
      "insp_title": "Kontrola",
      "type_candling": "Prześwietlanie",
      "type_weighing": "Ważenie",
      "type_pip": "Pękanie skorupki (wykluwanie)",
      "type_note": "Notatka",
      "fertile_yes": "Zapłodnione (widoczne naczynia)",
      "fertile_no": "Niezapłodnione / przezroczyste",
      "weight_ph": "Waga (g)",
      "notes_ph": "Notatki",
      "history": "Historia",
      "fertile": "zapłodnione",
      "infertile": "niezapłodnione",
      "hatch_title": "Wykluwanie",
      "hatch_sub": "Tworzy młodego osobnika i automatycznie łączy go z rodzicami oraz zniesieniem.",
      "hatch_name_ph": "Imię młodego",
      "sex_unknown": "Płeć nieznana",
      "sex_male": "Samiec",
      "sex_female": "Samica",
      "morph_ph": "Morph (opcjonalnie)",
      "create_hatchling": "Utwórz młodego",
      "hatchling_created": "Młody osobnik utworzony i powiązany z rodowodem ✓"
    },
    "adv_genetics": {
      "title": "Zaawansowana genetyka",
      "sub": "Krzyżówka wielogenowa (z ostrzeżeniami o kombinacjach letalnych) i projekcja odwrotna na podstawie Twojej kolekcji.",
      "mode_cross": "Krzyżówka",
      "mode_reverse": "Projekcja odwrotna",
      "male": "Samiec",
      "female": "Samica",
      "calculate": "Oblicz",
      "rarity": {
        "common": "pospolity",
        "uncommon": "niepospolity",
        "rare": "rzadki",
        "very_rare": "bardzo rzadki"
      },
      "target_morph": "Docelowy morph",
      "target_ph": "np. Pied",
      "species": "Gatunek",
      "all_species": "Wszystkie",
      "search_pairs": "Znajdź pary",
      "no_pairs": "Żadna para w Twojej kolekcji nie może wyprodukować tego morphu.",
      "wildtype": "Dziki typ"
    }
  },
  "legal": {
    "nav": {
      "back": "Wstecz"
    },
    "header": {
      "title": "Nota prawna",
      "subtitle": "Obowiązkowe informacje prawne"
    },
    "sections": {
      "editor": {
        "title": "1. Wydawca strony",
        "intro": "Strona <strong>ReptiNode</strong> jest wydawana przez spółkę:",
        "company_name": "<strong>Nazwa spółki:</strong> ReptiNode (spółka w trakcie rejestracji)",
        "capital": "<strong>Kapitał zakładowy:</strong> 10 000 €",
        "rcs": "<strong>RCS:</strong> Paris B 123 456 789",
        "siret": "<strong>SIRET:</strong> 123 456 789 00012",
        "tva": "<strong>Numer VAT:</strong> FR 12 123456789",
        "address": "<strong>Siedziba:</strong> 10 impasse des Dames Colle, 10000 Troyes, Francja",
        "director": "<strong>Dyrektor ds. publikacji:</strong> MERCOURT Noé (CEO)"
      },
      "hosting": {
        "title": "2. Hosting",
        "intro": "Strona i jej dane są hostowane przez dostawców zgodnych z europejskimi standardami bezpieczeństwa:",
        "app_provider": "Aplikacja i frontend:",
        "db_provider": "Baza danych i przechowywanie:"
      },
      "intellectual": {
        "title": "3. Własność intelektualna",
        "p1": "Cała niniejsza strona podlega francuskiemu i międzynarodowemu prawu autorskiemu oraz przepisom dotyczącym własności intelektualnej. Wszelkie prawa do powielania są zastrzeżone, w tym w odniesieniu do dokumentów do pobrania oraz przedstawień ikonograficznych i fotograficznych.",
        "p2": "Powielanie całości lub części tej strony na jakimkolwiek nośniku elektronicznym jest surowo zabronione bez wyraźnej zgody dyrektora ds. publikacji."
      },
      "contact": {
        "title": "4. Kontakt",
        "intro": "W przypadku jakichkolwiek pytań dotyczących strony można się z nami skontaktować:",
        "email_label": "E-mailem:",
        "mail_label": "Listownie:",
        "mail_value": "Na adres siedziby wskazany powyżej."
      }
    },
    "footer": {
      "privacy": "Polityka prywatności",
      "terms": "Regulamin",
      "rights": "Wszelkie prawa zastrzeżone."
    }
  },
  "blob": "blob",
  "suivi_nourrissage_reptiles": {
    "seo": {
      "title": "Śledzenie karmienia gadów",
      "description": "ReptiNode pomaga śledzić karmienie Twoich gadów dzięki przejrzystej historii, zaakceptowanym lub odrzuconym posiłkom, zapisom wagi i bardziej wiarygodnemu monitorowaniu.",
      "structured_data_app_description": "Śledź karmienie swoich gadów dzięki przejrzystej historii, scentralizowanym zdarzeniom, zapisom wagi, odmowom jedzenia i lepszej kontroli nad rytmem karmienia."
    },
    "hero": {
      "badge": "Uporządkowane śledzenie karmienia",
      "title_line_1": "Śledzenie karmienia",
      "title_line_2": "gadów",
      "description": "Prowadź przejrzystą historię posiłków, odmów, rytmu karmienia i postępów każdego gada w narzędziu bardziej czytelnym i wiarygodnym niż zwykła notatka czy arkusz kalkulacyjny.",
      "primary_cta": "Zacznij śledzić",
      "secondary_cta": "Zobacz funkcje",
      "stats": {
        "history": {
          "value": "1",
          "label": "Historia karmienia dla każdego gada"
        },
        "forgotten_meals": {
          "value": "0",
          "label": "Pominięte lub trudne do przejrzenia posiłki"
        },
        "clarity": {
          "value": "+ przejrzyściej",
          "label": "By śledzić rytm karmienia i odmowy"
        }
      },
      "reassurance_1": "Chronologiczna historia dla każdego zwierzęcia",
      "reassurance_2": "Odmowy widoczne na pierwszy rzut oka",
      "reassurance_3": "Automatycznie powiązane z wagą"
    },
    "illustration": {
      "card_title": "Nyx · Samica 2022",
      "card_subtitle": "Python regius · śledzenie karmienia",
      "status": "Karmienie potwierdzone",
      "last_meal_label": "Ostatni posiłek",
      "last_meal_value": "3 dni temu",
      "last_meal_meta": "szczur pup",
      "next_check_label": "Następna kontrola",
      "next_check_value": "Jutro",
      "next_check_meta": "do obserwacji",
      "history_title": "Historia karmienia",
      "history_meal_accepted_title": "Posiłek zaakceptowany",
      "history_meal_accepted_time": "Piątek · 19:14",
      "history_weight_recorded_title": "Waga zapisana",
      "history_weight_recorded_time": "Czwartek · 09:22",
      "history_scheduled_check_title": "Zaplanowana kontrola",
      "history_scheduled_check_time": "Jutro · przypomnienie aktywne",
      "quick_access": "Szybki dostęp do profilu",
      "clear_rhythm_title": "Przejrzysty rytm karmienia",
      "clear_rhythm_text": "Mniej pominiętych wpisów, więcej regularności",
      "rhythm_ok": "Rytm w normie",
      "metric_meals_label": "Posiłki 90 dni",
      "metric_refusals_label": "Odmowy",
      "metric_pace_label": "Cykl",
      "calendar_title": "Kalendarz · 8 tyg.",
      "legend_eaten": "zjedzone",
      "legend_refused": "odrzucone",
      "last_entry_label": "Ostatni wpis",
      "last_entry_title": "Mrożony szczur · zaakceptowany",
      "last_entry_meta": "Piątek 19:14 · 32 g",
      "pattern_detected_title": "Wykryto wzorzec",
      "pattern_detected_meta": "2 odmowy w tym samym tygodniu",
      "next_meal_title": "Następny posiłek",
      "next_meal_meta": "za 3 dni"
    },
    "benefits_section": {
      "title": "Dlaczego warto dokładniej śledzić karmienie swoich gadów?",
      "description": "Gdy karmienia następują jedno po drugim, trzeba odnotowywać odmowy albo porównywać różne rytmy, uporządkowane śledzenie szybko staje się niezbędne.",
      "cards": {
        "data": {
          "badge": "Rytm karmienia",
          "title": "Każdy posiłek staje się użytecznymi danymi, a nie zagubioną notatką",
          "description": "ReptiNode pozwala wizualizować zaakceptowane posiłki, odmowy, częstotliwość i zdarzenia powiązane z każdym gadem, dzięki czemu zachowujesz przejrzysty obraz śledzenia karmienia w czasie.",
          "items": [
            "Chronologiczna historia posiłków",
            "Bardziej przejrzysty obraz rytmu karmienia"
          ]
        },
        "simple": {
          "title": "Łatwe do codziennego rejestrowania",
          "description": "Celem nie jest dodawanie złożoności, lecz umożliwienie szybkiego zapisania posiłku, odmowy lub obserwacji oraz natychmiastowego odnalezienia informacji."
        },
        "refusals": {
          "title": "Odmowy stają się widoczne",
          "description": "Gdy odmowy są rozproszone w różnych notatkach, łatwo je przeoczyć. Dzięki uporządkowanemu śledzeniu łatwiej zauważyć okresy wymagające uwagi.",
          "example_line": "12/03: odmowa",
          "example_highlight": "➜ czytelna historia + zachowany kontekst"
        },
        "context": {
          "title": "Karmienie nabiera większego sensu, gdy jest powiązane z resztą danych",
          "description": "Pojedynczy posiłek mówi bardzo niewiele. Powiązany z wagą, osią czasu i innymi zdarzeniami w profilu, staje się dużo bardziej użyteczny do zrozumienia postępów zwierzęcia.",
          "items": {
            "meals_observations_title": "Posiłki i obserwacje",
            "meals_observations_badge": "Scentralizowane",
            "weight_timeline_title": "Waga i oś czasu",
            "weight_timeline_badge": "Czytelne"
          }
        }
      }
    },
    "value_section": {
      "title": "Co naprawdę powinno dawać śledzenie karmienia",
      "description": "Dobre śledzenie karmienia to nie tylko zapisywanie daty. Powinno pomagać przeglądać, porównywać i lepiej rozumieć nawyki każdego gada.",
      "daily_card": {
        "title": "Do codziennego użytku",
        "description": "Zachowaj przejrzyste i szybkie śledzenie bez mnożenia notatek i plików.",
        "features": [
          "Posiłki rejestrowane dla każdego gada",
          "Wyraźnie widoczne odmowy",
          "Łatwa do przejrzenia chronologiczna historia",
          "Łatwiejszy do śledzenia rytm karmienia",
          "Szybki dostęp z jednego profilu"
        ],
        "button": "Poznaj funkcje"
      },
      "long_term_card": {
        "badge": "Dla bardziej wiarygodnego śledzenia",
        "title": "Na dłuższą metę",
        "description": "Im więcej tygodni mija, tym cenniejsze stają się dobrze uporządkowane dane.",
        "features": [
          "Łatwiejsze porównywanie w czasie",
          "Mniejsza zależność od pamięci",
          "Szybsze wychwytywanie nieprawidłowości",
          "Bardziej spójny odczyt zachowań żywieniowych",
          "Czystsza podstawa do ogólnego zarządzania"
        ],
        "button": "Zacznij za darmo",
        "footer_note": "Bardziej przejrzyste śledzenie karmienia"
      }
    },
    "comparison_section": {
      "title": "Przejdź od pobieżnego śledzenia do naprawdę czytelnego",
      "description": "Różnica polega nie tylko na zapisywaniu informacji, ale na możliwości ponownego ich odnalezienia, porównania i nadania im kontekstu.",
      "before": {
        "title": "Przedtem",
        "description": "Daty zapisywane w różnych miejscach, możliwe pominięcia, trudne do odnalezienia odmowy i bardzo mała ogólna widoczność rytmu karmienia."
      },
      "with_reptinode": {
        "title": "Z ReptiNode",
        "description": "Przejrzysta historia dla każdego gada, spójny chronologiczny widok i dane o karmieniu powiązane z resztą profilu."
      },
      "result": {
        "title": "Efekt",
        "description": "Spokojniejsze zarządzanie, łatwiejszy do zrozumienia rytm karmienia i śledzenie, które pozostaje przydatne nawet po kilku miesiącach."
      }
    },
    "faq_section": {
      "title": "Najczęściej zadawane pytania",
      "description": "Najważniejsze informacje pozwalające zrozumieć wartość prawdziwego śledzenia karmienia gadów.",
      "items": [
        {
          "q": "Dlaczego warto precyzyjnie śledzić karmienie gadów?",
          "r": "Ponieważ regularne śledzenie karmienia pozwala wiedzieć, co zostało podane, kiedy, jak często i jak każdy gad reaguje w czasie. Pomaga to lepiej zrozumieć nawyki i uniknąć pominiętych wpisów."
        },
        {
          "q": "Czy to przydatne nawet przy małej kolekcji?",
          "r": "Tak. Nawet przy zaledwie kilku gadach przejrzyste śledzenie karmienia pozwala uniknąć zgadywania. A gdy kolekcja się powiększa, struktura jest już gotowa."
        },
        {
          "q": "Czy można rejestrować odmowy posiłków?",
          "r": "Tak. Jest to wręcz niezbędne, ponieważ powtarzające się odmowy, zmiany rytmu czy nietypowe okresy łatwiej wykryć, gdy wszystko jest zapisane w jednym miejscu."
        },
        {
          "q": "Czy waga jest przydatna obok danych o karmieniu?",
          "r": "Tak. Waga i karmienie tworzą bardzo przydatną parę, dzięki której można uzyskać bardziej spójny obraz postępów gada w czasie."
        },
        {
          "q": "Czym to jest lepsze niż notatka w telefonie?",
          "r": "Pojedyncza notatka szybko staje się trudna do ponownego odczytania, porównania czy powiązania z resztą profilu. ReptiNode porządkuje dane według zwierzęcia, zachowuje historię i sprawia, że informacje są dużo łatwiejsze do odczytania."
        }
      ],
      "bottom_text": "Chcesz zobaczyć resztę narzędzia związaną ze śledzeniem karmienia?",
      "bottom_link": "Zobacz stronę funkcji"
    },
    "cta_section": {
      "badge": "Uczyń śledzenie karmienia bardziej przejrzystym",
      "title_line_1": "Śledź każdy posiłek",
      "title_line_2": "w narzędziu stworzonym na lata",
      "description": "ReptiNode pomaga prowadzić przejrzystą, czytelną historię karmienia powiązaną z każdym gadem, dla bardziej spójnego codziennego zarządzania.",
      "button": "Utwórz swoją przestrzeń za darmo",
      "features": [
        "Historia dla każdego gada",
        "Posiłki i odmowy śledzone w bardziej przejrzysty sposób",
        "Bardziej czytelne śledzenie w czasie"
      ]
    },
    "cross_links_label": "Odkryj więcej:",
    "anatomy": {
      "tag": "Anatomia wpisu karmienia",
      "title": "Wszystko, co ważne, w jednym zapisie",
      "subtitle": "Nie tylko „zjadł / odmówił”. Każdy posiłek staje się danymi do wykorzystania, powiązanymi z gadem i resztą jego osi czasu.",
      "card_title": "Karmienie · #1284",
      "card_subtitle": "Powiązane z Nyx · Python regius",
      "card_status": "Zatwierdzone",
      "field_date": {
        "label": "Data i godzina",
        "value": "Pt, 14 mar · 19:14"
      },
      "field_prey": {
        "label": "Rodzaj pokarmu",
        "value": "Mrożony szczur"
      },
      "field_size": {
        "label": "Rozmiar / waga"
      },
      "field_status": {
        "label": "Status",
        "value": "Zaakceptowany"
      },
      "field_context": {
        "label": "Kontekst",
        "value": "Po wylince · apetyt w normie"
      },
      "footer_note": "Zapisane · zsynchronizowane · powiązane z dzisiejszą wagą",
      "explain_title": "Uporządkowane dane, a nie wyrzucona notatka.",
      "explain_p1": "Notatka mówi „zjadł w czwartek”. Zapis mówi kto, kiedy, co, ile, z jakim statusem i w jakim kontekście. Na tym polega różnica między wiedzieć a móc to później odczytać.",
      "explain_p2": "Trzy miesiące później odnajdujesz ten posiłek, jego kontekst i to, co się wokół niego działo. Właśnie to sprawia, że śledzenie jest naprawdę przydatne w czasie."
    },
    "patterns": {
      "tag": "Wykrywalne wzorce",
      "title": "3 sygnały, które w końcu zobaczysz",
      "subtitle": "Te sygnały już istnieją w Twojej kolekcji. Różnica polega na dostrzeżeniu ich, zanim staną się problemem.",
      "refusal_streak": {
        "tag": "Seria odmów",
        "title": "Kilka odmów z rzędu",
        "desc": "Gdy odmowy są rozproszone w notatkach, pozostają niezauważone. Pokazane jako seria w kalendarzu, stają się oczywiste."
      },
      "rhythm_change": {
        "tag": "Zmiana rytmu",
        "title": "Wydłużanie lub skracanie cyklu",
        "desc": "Gad przechodzący z 7 na 14 dni między posiłkami to sygnał. Widoczny od razu, gdy śledzenie jest uporządkowane."
      },
      "weight_link": {
        "tag": "Korelacja z wagą",
        "title": "Związek między posiłkami a krzywą wagi",
        "desc": "Posiłek nabiera sensu dopiero obok wagi. ReptiNode przechowuje oba te elementy w tym samym zapisie, by odczytać spójność."
      }
    },
    "calendar": {
      "tag": "Widok 12 miesięcy",
      "title": "Rok karmienia na pierwszy rzut oka",
      "subtitle": "Rytm gada odczytuje się w skali miesięcy, nie tygodni. Widok roczny ujawnia to, czego nie pokaże żadna pojedyncza notatka.",
      "year_label": "2025 · Nyx",
      "legend_none": "brak",
      "legend_meal": "posiłek",
      "legend_refusal": "odmowa",
      "caption": "Te dwa czerwone kwadraty dzielą 4 miesiące. Ręcznie nigdy byś ich nie połączył."
    },
    "breadcrumb": {
      "home": "Strona główna"
    }
  },
  "events": {
    "load_error": "Nie udało się załadować zdarzeń.",
    "load_error_help": "Sprawdź wybrany kontekst i spróbuj ponownie.",
    "refused_meal": "Zwierzę odmówiło jedzenia",
    "refused_badge": "ODMOWA",
    "disable_button_title": "Zacznij od dodania gada",
    "page_title": "Wszystkie zdarzenia",
    "search_placeholder": "Szukaj po nazwie, notatce lub typie...",
    "history_title": "Historia zdarzeń",
    "delete_confirm": "Czy na pewno chcesz usunąć to zdarzenie?",
    "snake_unknown": "Nieznany",
    "addError": "Błąd podczas dodawania zdarzenia.",
    "filters": {
      "all": "Wszystkie",
      "feeding": "Karmienie",
      "shed": "Wylinka",
      "vet_visit": "Weterynarz",
      "handling": "Handling",
      "other": "Inne"
    },
    "empty": {
      "title": "Nie znaleziono zdarzeń",
      "no_match": "Żadne zdarzenie nie pasuje do wyszukiwania.",
      "no_history": "Nie zarejestrowano jeszcze żadnego zdarzenia."
    },
    "actions": {
      "ariaLabel": "Akcje zdarzenia",
      "menuLabel": "Menu akcji zdarzenia"
    },
    "add": "Dodaj zdarzenie",
    "addEvent": "Dodaj zdarzenie",
    "addPhotos": "Dodaj zdjęcia (maks. 5)",
    "addTitle": "Dodaj zdarzenie",
    "all": "Wszystkie",
    "allEvents": "Wszystkie zdarzenia",
    "cancel": "Anuluj",
    "confirmDelete": "Usunąć to zdarzenie? Tej czynności nie można cofnąć.",
    "date": "Data",
    "delete": "Usunąć to zdarzenie? Tej czynności nie można cofnąć.",
    "editTitle": "Edytuj zdarzenie",
    "eventHistory": "Historia zdarzeń",
    "eventType": "Typ zdarzenia",
    "feeding": "Karmienie",
    "fields": {
      "snake": "Gad",
      "date": "Data",
      "notes": "Notatki",
      "type": "Typ",
      "weight": "Waga (g)",
      "length": "Długość (mm)"
    },
    "handling": "Handling",
    "noEventsFound": "Nie znaleziono zdarzeń",
    "noEventsMatch": "Żadne zdarzenie nie pasuje do wyszukiwania.",
    "noEventsYet": "Nie zarejestrowano jeszcze żadnego zdarzenia.",
    "notes": "Notatki",
    "notesPlaceholder": "Dodatkowe informacje o tym zdarzeniu...",
    "other": "Inne",
    "photos": "Zdjęcia",
    "placeholders": {
      "notes": "Dowolne notatki…",
      "weight": "np. 120",
      "length": "np. 850"
    },
    "processing": "Przetwarzanie...",
    "searchPlaceholder": "Szukaj zdarzeń...",
    "selectSnake": "Wybierz gada",
    "shed": "Wylinka",
    "add_error": "Błąd podczas dodawania",
    "gallery_upload_note": "Przesyłanie do galerii",
    "types": {
      "gallery": "Galeria",
      "weight": "Ważenie",
      "length": "Pomiar",
      "note": "Notatka",
      "cleaning": "Czyszczenie",
      "feeding": "Karmienie",
      "handling": "Handling",
      "shed": "Wylinka",
      "vet_visit": "Wizyta u weterynarza",
      "other": "Inne"
    },
    "uploadError": {
      "failed": "Przesyłanie nie powiodło się",
      "incomplete": "Niektórych zdjęć nie udało się przesłać. Spróbuj ponownie.",
      "size": "{{fileName}} jest zbyt duży. Maksymalny rozmiar: {{maxSizeMB}} MB."
    },
    "modal": {
      "add": {
        "subtitleDefault": "Dodaj proste zdarzenie do historii.",
        "subtitleFeeding": "Uproszczony wpis karmienia, zaprojektowany do codziennego użytku."
      },
      "edit": {
        "saveFailed": "Zapis nie powiódł się."
      },
      "measurements": {
        "title": "Pomiary gada",
        "description": "Te wartości automatycznie zasilają statystyki zdrowia, wagi i wzrostu.",
        "length": "Długość (mm)",
        "lengthPlaceholder": "np. 850"
      },
      "feeding": {
        "selectPreyTypeFirst": "Najpierw wybierz rodzaj pokarmu",
        "title": "Karmienie",
        "description": "Status posiłku i kluczowe informacje o pokarmie.",
        "applyLastFeeding": "Użyj ostatniego karmienia",
        "loadingLastFeeding": "Wczytywanie ostatniego karmienia...",
        "lastFeedingRecorded": "Ostatnie zarejestrowane karmienie",
        "noStructuredPrey": "Brak ustrukturyzowanego pokarmu",
        "theoreticalInterval": "Teoretyczna częstotliwość: {{days}} dni",
        "noPreviousFeeding": "Nie znaleziono wcześniejszego karmienia dla tego gada.",
        "daysAgo_one": "{{count}} dzień temu",
        "daysAgo_other": "{{count}} dni temu",
        "status": "Status posiłku",
        "refusalReason": "Powód odmowy",
        "refusalReasonPlaceholder": "Np. wylinka, stres, brak zainteresowania",
        "preyType": "Rodzaj pokarmu",
        "unspecified": "Nieokreślony",
        "preySize": "Rozmiar / budowa",
        "preyCount": "Ilość",
        "preyWeight": "Waga pokarmu (g)",
        "feedingMethod": "Metoda (opcjonalnie)",
        "feedingMethodPlaceholder": "Szczypce, pozostawione w terrarium...",
        "deduct_from_stock": "Odejmij to karmienie z mojego zapasu pokarmu",
        "animalWeight": "Waga zwierzęcia (g)",
        "animalWeightPlaceholder": "Np. 540",
        "statusOptions": {
          "accepted": "Posiłek zaakceptowany",
          "refused": "Odmowa",
          "partial": "Częściowy",
          "regurgitated": "Zwrotka",
          "assisted": "Wspomagane"
        },
        "preyTypes": {
          "mouse": "Mysz",
          "rat": "Szczur",
          "asf": "ASF",
          "chick": "Pisklę",
          "insect": "Owad",
          "fish": "Ryba",
          "other": "Inne"
        },
        "preySizes": {
          "weaned": "Weaner",
          "pup": "Pup",
          "day_old": "Jednodniowe",
          "micro": "Mikro",
          "juvenile": "Młodociane",
          "fry": "Narybek",
          "small": "Małe",
          "medium": "Średnie",
          "large": "Duże",
          "pinky": "Pinky",
          "fuzzy": "Fuzzy",
          "hopper": "Hopper",
          "subadult": "Subadult",
          "adult": "Dorosłe",
          "other": "Inne"
        }
      }
    },
    "uploadSelected": "Prześlij wybrane elementy",
    "vetVisit": "Wizyta weterynaryjna",
    "weight": "Waga (gramy)",
    "weightOptional": "Opcjonalnie - waga w momencie zdarzenia",
    "weightWithUnit": "Waga: {{weight}}g",
    "length": "Długość",
    "lengthWithUnit": "Długość: {{length}}mm"
  },
  "reproduction_reptiles": {
    "seo": {
      "title": "Rozród gadów",
      "description": "ReptiNode pomaga śledzić rozród Twoich gadów dzięki kojarzeniom, kluczowym datom, zniesieniom, jajom i przejrzystej osi czasu.",
      "structured_data_description": "Śledź rozród swoich gadów za pomocą narzędzia porządkującego kojarzenia, cykle, zniesienia, jaja i pełną oś czasu rozrodu."
    },
    "illustration": {
      "card_title": "Projekt 2026 · Kojarzenie A12",
      "card_subtitle": "Mojave het Clown × Pastel",
      "status": "Rozród śledzony",
      "last_pairing_label": "Ostatnie kojarzenie",
      "last_pairing_value": "4 dni temu",
      "last_pairing_meta": "zaobserwowane",
      "current_stage_label": "Obecny etap",
      "current_stage_value": "Przed zniesieniem",
      "current_stage_meta": "do obserwacji",
      "timeline_title": "Oś czasu rozrodu",
      "pairing_logged_title": "Kojarzenie zapisane",
      "pairing_logged_time": "Piątek · 21:08",
      "key_date_planned_title": "Zaplanowano kluczową datę",
      "key_date_planned_time": "Kontrola za 3 dni",
      "clutch_tracking_ready_title": "Śledzenie zniesienia gotowe",
      "clutch_tracking_ready_time": "Lista kontrolna gotowa",
      "instant_pairing_sheet": "Natychmiastowa karta kojarzenia",
      "structured_cycle_title": "Uporządkowany cykl",
      "structured_cycle_text": "Mniej zapomnianych etapów, więcej przejrzystości",
      "tracking": "Aktywne śledzenie",
      "step_pairing": "Kojarzenie",
      "step_pairing_meta": "24 sty · potwierdzone",
      "step_ovulation": "Owulacja",
      "step_ovulation_meta": "15 lut · zaobserwowana",
      "step_prelay": "Przed zniesieniem",
      "step_prelay_meta": "w trakcie",
      "step_lay": "Zniesienie",
      "step_lay_meta": "szacowane na 18 mar",
      "step_incubation": "Inkubacja",
      "step_incubation_meta": "~ 55 d",
      "metric_progress_label": "Postęp",
      "metric_progress_unit": "etapy",
      "metric_next_label": "Następna kontrola",
      "metric_next_unit": "kontrola",
      "metric_next_meta": "17 mar · przed zniesieniem",
      "now_label": "Teraz",
      "eggs_expected_title": "Oczekiwane zniesienie",
      "eggs_expected_unit": "jaja",
      "checkpoint_title": "Kontrola zaplanowana",
      "checkpoint_meta": "za 3 dni"
    },
    "faq": {
      "title": "Najczęściej zadawane pytania",
      "description": "Najważniejsze informacje pozwalające zrozumieć wartość rzetelnego śledzenia rozrodu gadów.",
      "items": [
        {
          "q": "Dlaczego warto używać narzędzia do śledzenia rozrodu gadów?",
          "r": "Ponieważ rozród obejmuje wiele etapów, kluczowych dat i obserwacji, które bez odpowiedniej struktury szybko trudno ze sobą powiązać. Dedykowane narzędzie pomaga utrzymać przejrzystą oś czasu."
        },
        {
          "q": "Czy można zaplanować ważne etapy cyklu?",
          "r": "Tak. Chodzi właśnie o to, by nie zarządzać rozrodem wyłącznie z pamięci. ReptiNode pomaga wyznaczyć jasne punkty odniesienia dotyczące kojarzeń, kontroli, zniesień i jaj."
        },
        {
          "q": "Czy strona rozrodu zastępuje genetykę?",
          "r": "Nie. Ta strona koncentruje się na organizacji procesu rozrodu: kojarzeniach, osi czasu, zniesieniach i bieżącym śledzeniu. Genetyka może następnie wzbogacić analizę."
        },
        {
          "q": "Czy to przydatne przy niewielkiej hodowli?",
          "r": "Tak. Nawet przy kilku projektach uporządkowane śledzenie zapobiega pominięciu etapów i ułatwia analizę. A jeśli hodowla się rozrośnie, struktura jest już gotowa."
        },
        {
          "q": "Czym to jest lepsze od arkusza kalkulacyjnego?",
          "r": "Arkusz kalkulacyjny często zmusza do ręcznego łączenia informacji. ReptiNode utrzymuje dane powiązane z właściwym kojarzeniem, właściwymi zwierzętami i właściwą osią czasu, co znacznie ułatwia odczytanie śledzenia."
        }
      ],
      "bottom_text": "Chcesz połączyć rozród z sekcją genetyki?",
      "bottom_link": "Zobacz stronę genetyki"
    },
    "hero": {
      "badge": "Zorganizowany rozród od początku do końca",
      "title_line_1": "Rozród",
      "title_line_2": "gadów",
      "description": "Organizuj kojarzenia, prowadź przejrzystą oś czasu cykli, przygotowuj się do ważnych etapów i centralizuj śledzenie zniesień oraz jaj w narzędziu stworzonym specjalnie dla gadów.",
      "primary_cta": "Uporządkuj mój rozród",
      "secondary_cta": "Zobacz funkcje",
      "stats": {
        "timeline": "Przejrzysta oś czasu dla każdego projektu rozrodu",
        "lost_dates": "Kluczowe daty gubione w różnych notatkach",
        "clarity_value": "+ prościej",
        "clarity_label": "By śledzić kojarzenia, zniesienia i jaja"
      },
      "reassurance_1": "Oś czasu dla każdego projektu",
      "reassurance_2": "Jaja śledzone indywidualnie",
      "reassurance_3": "Wiele równoległych projektów"
    },
    "benefits": {
      "title": "Dlaczego warto lepiej organizować rozród gadów?",
      "description": "Gdy pojawia się wiele kojarzeń, wiele etapów lub kilka samic śledzonych równolegle, sama pamięć już nie wystarcza. Potrzebna jest przejrzysta i czytelna baza.",
      "cycle": {
        "badge": "Cykl rozrodczy",
        "title": "Każdy etap pozostaje powiązany z właściwym projektem rozrodu",
        "description": "ReptiNode pomaga zachować przejrzysty ciąg między kojarzeniami, datami do obserwacji, spostrzeżeniami, zniesieniami i śledzeniem jaj, bez rozpraszania informacji w osobnych notatkach.",
        "items": [
          "Prostsze kamienie milowe w czasie",
          "Bardziej przejrzyste śledzenie zniesień i jaj"
        ]
      },
      "projects": {
        "title": "Solidna podstawa dla Twoich projektów",
        "description": "Celem nie jest jedynie odnotowanie kojarzenia, lecz możliwość przejrzenia całego przebiegu projektu rozrodu ze znacznie większą jasnością."
      },
      "dispersion": {
        "title": "Mniej rozproszonych informacji",
        "description": "Gdy dane są rozproszone między arkuszami, kalendarzami i notatkami, śledzenie rozrodu staje się zawodne. Jedna spójna struktura zwiększa niezawodność.",
        "example_line": "Kojarzenie A12",
        "example_highlight": "➜ oś czasu, kamienie milowe i śledzenie w jednym miejscu"
      },
      "readability": {
        "title": "Rozród łatwiej przeanalizować, nawet kilka tygodni później",
        "description": "Dobre narzędzie do rozrodu nie służy tylko do wprowadzania informacji. Powinno pozwalać szybko odzyskać kontekst, etapy już zakończone i te, które nadchodzą.",
        "items": {
          "key_dates_title": "Kluczowe daty i kontrole",
          "key_dates_badge": "Przejrzyste",
          "clutches_eggs_title": "Zniesienia i jaja",
          "clutches_eggs_badge": "Scentralizowane"
        }
      }
    },
    "value_section": {
      "title": "Co powinno dawać dobre śledzenie rozrodu",
      "description": "Celem nie jest dodawanie pól wszędzie, lecz ułatwienie zarządzania, przeglądania i porównywania każdego projektu rozrodu.",
      "daily": {
        "title": "Do codziennego zarządzania",
        "description": "Trzymaj najważniejsze informacje tam, gdzie są przydatne, bez mnożenia narzędzi.",
        "features": [
          "Kojarzenia zapisywane w przejrzysty sposób",
          "Przejrzysta oś czasu dla każdego projektu",
          "Łatwiejsze śledzenie kluczowych dat",
          "Lepiej scentralizowane zniesienia i jaja",
          "Szybki podgląd kontekstu rozrodu"
        ],
        "button": "Poznaj funkcje"
      },
      "long_term": {
        "badge": "Dla lepiej zorganizowanej hodowli",
        "title": "Na dłuższą metę",
        "description": "Im więcej masz projektów, tym cenniejsza staje się solidna organizacja rozrodu.",
        "features": [
          "Mniejsza zależność od pamięci",
          "Przejrzystszy widok równoległych cykli",
          "Mniej pomyłek między projektami",
          "Bardziej przejrzysta baza do analizy",
          "Bardziej wiarygodna organizacja w dłuższej perspektywie"
        ],
        "button": "Zacznij za darmo",
        "footer_note": "Bardziej czytelny rozród"
      }
    },
    "comparison": {
      "title": "Przejdź od rozrodu „w głowie” do rozrodu, który jest naprawdę śledzony",
      "description": "Prawdziwą różnicą nie jest liczba zrobionych notatek, lecz zdolność do rzetelnego przeanalizowania projektu rozrodu od początku do końca.",
      "before": {
        "title": "Przedtem",
        "description": "Kojarzenia zapisywane osobno, przypomnienia rozproszone tu i tam oraz etapy trudne do powiązania kilka tygodni później."
      },
      "with_reptinode": {
        "title": "Z ReptiNode",
        "description": "Jedna struktura do śledzenia projektu, ważnych dat, zniesień, jaj i pełnej osi czasu."
      },
      "result": {
        "title": "Rezultat",
        "description": "Rozród lepiej zarządzany, łatwiejszy do przeanalizowania i znacznie bardziej niezawodny, gdy kilka projektów przebiega równolegle."
      }
    },
    "cta": {
      "badge": "Lepiej zarządzaj swoimi projektami rozrodu",
      "title_line_1": "Zorganizuj swój rozród",
      "title_line_2": "w narzędziu stworzonym dla gadów",
      "description": "ReptiNode pomaga uporządkować kojarzenia, kluczowe etapy, zniesienia i jaja, dzięki czemu masz przejrzysty obraz każdego projektu rozrodu.",
      "button": "Załóż darmowe konto",
      "features": [
        "Lepiej zorganizowane kojarzenia",
        "Przejrzysta oś czasu cyklu",
        "Bardziej niezawodne śledzenie w dłuższej perspektywie"
      ]
    },
    "cross_links_label": "Zobacz również:",
    "cycle": {
      "tag": "Pełny cykl",
      "title": "Każdy etap na swoim miejscu na osi czasu",
      "subtitle": "Pięć przejrzystych etapów, powiązanych z tym samym projektem rozrodu. Koniec z pytaniem „kiedy to było?” trzy miesiące później.",
      "step_1": {
        "title": "Kojarzenie",
        "desc": "Data, zaobserwowane kopulacje, warunki. Tutaj zaczyna się karta projektu, powiązana z obydwoma zwierzętami."
      },
      "step_2": {
        "title": "Owulacja",
        "desc": "Centralny punkt odniesienia cyklu. Odnotowana w dniu obserwacji, wyznacza całą kolejną oś czasu."
      },
      "step_3": {
        "title": "Przed zniesieniem i wylinka",
        "desc": "Zachowanie, odmowy pokarmu, wylinka. ReptiNode automatycznie łączy zdarzenia z tego okresu z samicą."
      },
      "step_4": {
        "title": "Zniesienie",
        "desc": "Data, liczba jaj, jakość. Każde jajo otrzymuje własny identyfikator do indywidualnego śledzenia."
      },
      "step_5": {
        "title": "Inkubacja i wykluwanie",
        "desc": "Odliczanie, wskaźnik wyklucia, młode odnotowywane i powiązane z pierwotnym kojarzeniem."
      }
    },
    "parallel": {
      "tag": "Wiele projektów",
      "title": "Kilka kojarzeń równolegle, bez pomyłek",
      "p1": "Trzy projekty w toku, na różnych etapach, u różnych samic. To właśnie wtedy arkusz kalkulacyjny zawodzi.",
      "p2": "ReptiNode utrzymuje każdy projekt oddzielnie, ale czytelnie na pierwszy rzut oka. Od razu widzisz, co się rozwija, co utknęło i co wymaga Twojej uwagi w tym tygodniu.",
      "dashboard_title": "Projekty 2026",
      "active_label": "aktywne"
    },
    "projects": {
      "stage_prelay": "Przed zniesieniem",
      "stage_pairing": "Kojarzenie",
      "stage_incub": "Inkubacja",
      "stage_ovul": "Owulacja"
    },
    "clutch": {
      "tag": "Śledzenie jaj",
      "title": "Każde jajo, własna karta",
      "subtitle": "Zniesienie to nie liczba — to sześć indywidualnych historii. Śledź każdą z nich, z dniem inkubacji, statusem i obserwacjami.",
      "clutch_title": "Zniesienie #A12-2026",
      "clutch_meta": "Złożone 18 mar · 6 jaj · pozostało 56%",
      "legend_incub": "w inkubacji",
      "legend_hatched": "wyklute",
      "legend_failed": "zatrzymane",
      "caption": "Po wykluciu każde jajo staje się młodym osobnikiem automatycznie powiązanym z pierwotnym kojarzeniem."
    },
    "breadcrumb": {
      "home": "Strona główna"
    }
  },
  "reptile_stats_panel": {
    "common": {
      "empty_value": "—"
    },
    "units": {
      "g": "g",
      "mm": "mm",
      "percent": "%",
      "day_short": "d"
    },
    "loading": "Ładowanie statystyk...",
    "errors": {
      "load": "Nie można wczytać statystyk."
    },
    "header": {
      "title": "Statystyki gada",
      "subtitle": "Zdrowie, waga, posiłki, wylinki i alerty na podstawie zapisanej historii."
    },
    "health": {
      "score_label": "{{score}}/100 · {{label}}",
      "levels": {
        "good": "Stabilne śledzenie",
        "warning": "Wymaga obserwacji",
        "danger": "Wymaga uwagi",
        "unknown": "Niewystarczające dane"
      },
      "reasons": {
        "feeding_tracked": "Posiłki śledzone",
        "no_feeding": "Brak zarejestrowanych posiłków",
        "weight_available": "Waga zarejestrowana",
        "missing_weight": "Brak wagi",
        "refusal_streak": "{{count}} kolejnych odmów",
        "no_refusal_streak": "Brak niepokojącej serii odmów",
        "recent_regurgitation": "Niedawna regurgitacja",
        "no_recent_regurgitation": "Brak niedawnej regurgitacji"
      }
    },
    "cards": {
      "current_weight": "Aktualna waga",
      "last_meal": "Ostatni posiłek",
      "next_meal": "Następny posiłek",
      "last_shed": "Ostatnia wylinka",
      "next_feeding_late": "{{days}} d opóźnienia",
      "average_short": "śr. {{days}} d"
    },
    "alerts": {
      "types": {
        "no_events": "Dla tego gada nie zarejestrowano żadnego zdarzenia.",
        "feeding_late": "Ostatni zjedzony posiłek miał miejsce {{days}} dni temu. Oczekiwany rytm jest opóźniony o {{lateByDays}} dni.",
        "refusal_streak": "Zarejestrowano {{count}} kolejnych odmów.",
        "recent_regurgitation": "W ciągu ostatnich 30 dni zarejestrowano regurgitację.",
        "missing_recent_weight": "Brak ważenia od {{days}} dni.",
        "missing_weight": "Brak dostępnych danych o wadze.",
        "weight_loss": "Waga spadła o {{percent}}% w ciągu ostatnich 90 dni.",
        "shed_interval_long": "Ostatnia wylinka miała miejsce {{days}} dni temu, co przekracza obserwowany średni odstęp."
      }
    },
    "charts": {
      "not_enough_weight_data": "Za mało danych, aby wyświetlić wykres.",
      "weight_curve_aria": "Krzywa wagi"
    },
    "sections": {
      "weight": {
        "title": "Trend wagi",
        "min_max": "Min {{min}} · Maks {{max}}"
      },
      "feeding": {
        "title": "Posiłki",
        "subtitle": "Regularność i akceptacja."
      },
      "prey": {
        "title": "Pokarm",
        "common_type": "Najczęstszy typ",
        "common_size": "Najczęstszy rozmiar",
        "average_weight": "Średnia waga",
        "prey_weight_ratio": "Stosunek pokarmu do wagi"
      },
      "growth": {
        "title": "Wzrost",
        "current_length": "Aktualna długość",
        "variation": "Zmiana",
        "last_measure": "Ostatni pomiar",
        "points": "Punkty"
      },
      "health": {
        "title": "Zdrowie",
        "vet_visits": "Wizyty weterynaryjne",
        "last_visit": "Ostatnia wizyta",
        "sheds": "Wylinki",
        "events": "Zdarzenia"
      },
      "activity": {
        "title": "Ostatnia aktywność",
        "empty": "Brak ostatniej aktywności."
      }
    },
    "feeding_breakdown": {
      "accepted": "Przyjęte",
      "partial": "Częściowe",
      "assisted": "Wspomagane",
      "refused": "Odmowy",
      "regurgitated": "Regurgitacje"
    },
    "feeding_status": {
      "accepted": "przyjęty",
      "refused": "odmówiony",
      "partial": "częściowy",
      "regurgitated": "zwrócony",
      "assisted": "wspomagany"
    },
    "event_types": {
      "feeding": "Karmienie",
      "shed": "Wylinka",
      "mue": "Wylinka",
      "vet_visit": "Wizyta weterynaryjna",
      "vet": "Wizyta weterynaryjna",
      "veterinary": "Wizyta weterynaryjna",
      "handling": "Kontakt",
      "weight": "Ważenie",
      "length": "Pomiar",
      "pairing": "Kojarzenie",
      "ovulation": "Owulacja",
      "clutch": "Zniesienie",
      "hatch": "Wyklucie",
      "birth": "Narodziny",
      "other": "Inne"
    }
  },
  "pedigree": {
    "actions": {
      "addParents": "Dodaj rodziców",
      "cancel": "Anuluj",
      "save": "Zapisz"
    },
    "depthLabel": "Głębokość",
    "empty": "Brak dostępnych danych rodowodu",
    "export": {
      "exporting": "Eksportowanie...",
      "tooltip": "Eksportuj rodowód do PDF"
    },
    "generation": "Pokolenie",
    "legend": {
      "female": "Samica",
      "male": "Samiec",
      "title": "Legenda",
      "unknown": "Nieznane"
    },
    "parents": {
      "cycleDetected": "Nie można zapisać: ten wybór utworzyłby cykl (dziecko stałoby się przodkiem rodzica).",
      "cycleWarning": "Nieprawidłowy wybór: spowodowałoby to powstanie cyklu w rodowodzie.",
      "fatherLabel": "Ojciec (samiec)",
      "motherLabel": "Matka (samica)",
      "noneFemale": "— Brak / Nieznana —",
      "noneMale": "— Brak / Nieznany —",
      "title": "Powiąż rodziców"
    },
    "pdf": {
      "field": {
        "exportedOn": "Wyeksportowano:",
        "generationsShown": "Pokazane pokolenia:",
        "individual": "Osobnik:",
        "morph": "Morph:",
        "sex": "Płeć:",
        "species": "Gatunek:"
      },
      "infoSection": "INFORMACJE",
      "title": "RODOWÓD"
    },
    "rel": {
      "father": "Ojciec",
      "greatGrandparent": "Pradziadkowie ({{side}})",
      "individual": "Osobnik",
      "maternalGrandfather": "Dziadek ze strony matki",
      "maternalGrandmother": "Babcia ze strony matki",
      "mother": "Matka",
      "nthGreatGrandparent": "Pradziadkowie {{n}}. stopnia ({{side}})",
      "paternalGrandfather": "Dziadek ze strony ojca",
      "paternalGrandmother": "Babcia ze strony ojca",
      "side": {
        "maternal": "matczyna",
        "paternal": "ojcowska"
      }
    },
    "selectLabel": "Wybierz:",
    "subtitle": "Wizualizuj rodowody swoich gadów",
    "table": {
      "birthYear": "Rok urodzenia",
      "generation": "Pokolenie",
      "morph": "Morph",
      "name": "Imię",
      "relation": "Pokrewieństwo",
      "sex": "Płeć"
    },
    "title": "Rodowód",
    "view": {
      "compact": "Kompaktowy",
      "grid": "Siatka",
      "horizontal": "Poziomy",
      "table": "Tabela",
      "vertical": "Pionowy"
    },
    "viewTitle": {
      "compact": "Kompaktowy",
      "grid": "Siatka",
      "horizontal": "Poziomy",
      "table": "Tabela",
      "vertical": "Pionowy"
    }
  },
  "genetique_reptiles": {
    "seo": {
      "title": "Genetyka gadów",
      "description": "ReptiNode pomaga śledzić genetykę Twoich gadów, dając przejrzystszy wgląd w geny, rodowód, pochodzenie i projekcje kojarzeń.",
      "structured_data_description": "Śledź genetykę swoich gadów za pomocą narzędzia, które łączy geny, rodowód, pochodzenie, kojarzenia i projekcje w jednej przejrzystej bazie."
    },
    "illustration": {
      "card_title": "Projekt genetyczny · BEL",
      "card_subtitle": "Mojave × Lesser",
      "status": "Projekcja gotowa",
      "pairing_label": "Kojarzenie",
      "pairing_value": "2 geny",
      "pairing_meta": "zgodne",
      "goal_label": "Cel",
      "goal_value": "BEL",
      "goal_meta": "prognozowany",
      "genetic_view_title": "Widok genetyczny",
      "pedigree_linked_title": "Rodowód powiązany",
      "pedigree_linked_time": "Pochodzenie dostępne",
      "projection_calculated_title": "Projekcja obliczona",
      "projection_calculated_time": "Oczekiwane kombinacje",
      "genes_linked_title": "Geny powiązane z rodzicami",
      "genes_linked_time": "Czytelniejszy odczyt",
      "quick_access": "Szybki dostęp do rodowodu",
      "simplified_reading_title": "Uproszczony odczyt genetyczny",
      "simplified_reading_text": "Mniej rozproszonych założeń",
      "live_label": "Na żywo",
      "parent_male": "Mojave het Pied",
      "parent_female": "Pastel het Pied",
      "punnett_title": "Oczekiwany rozkład",
      "outcomes_label": "wyników",
      "punnett": {
        "normal_label": "Normal",
        "het_label": "Het Pied",
        "pied_label": "Pied"
      },
      "visual_morphs": "25% widoczne",
      "het_morphs": "50% het",
      "pedigree_title": "Powiązany rodowód",
      "pedigree_meta": "3 prześledzone pokolenia",
      "morphs_registered_title": "Rejestr morphów",
      "morphs_registered_meta": "14 kombinacji"
    },
    "faq": {
      "title": "Najczęściej zadawane pytania",
      "description": "Najważniejsze informacje pozwalające zrozumieć wartość rzetelnego śledzenia genetyki gadów.",
      "items": [
        {
          "q": "Dlaczego warto używać narzędzia do genetyki gadów?",
          "r": "Ponieważ gdy trzeba powiązać ze sobą geny, rodziców, potomstwo i cele hodowlane, informacje szybko stają się trudne do przejrzenia bez jasnej struktury. Dedykowane narzędzie znacznie ułatwia ich odczyt."
        },
        {
          "q": "Czy można śledzić rodowód i pochodzenie?",
          "r": "Tak. To jedna z głównych zalet: łączenie osobników ze sobą, zachowanie ciągłości w odczycie pochodzenia i uniknięcie utraty informacji rozproszonych w wielu plikach."
        },
        {
          "q": "Czy to przydatne przy przygotowywaniu kojarzeń?",
          "r": "Tak. Genetyka pomaga mądrzej przygotować kojarzenia, dając przejrzystszy wgląd w obecne geny, docelowe cele i oczekiwane projekcje."
        },
        {
          "q": "Czy genetyka zastępuje śledzenie rozrodu?",
          "r": "Nie. Genetyka pomaga lepiej zrozumieć i przewidzieć kombinacje. Śledzenie rozrodu pozostaje skoncentrowane na operacyjnej osi czasu kojarzeń, cykli, zniesień i jaj."
        },
        {
          "q": "Czym to jest lepsze niż notatka czy arkusz kalkulacyjny?",
          "r": "Notatka czy arkusz kalkulacyjny wymagają dużo pracy pamięci przy odtwarzaniu informacji. ReptiNode pomaga bezpośrednio powiązać informacje z właściwym profilem, właściwym kojarzeniem i właściwym kontekstem genetycznym."
        }
      ],
      "bottom_text": "Chcesz połączyć tę sekcję z operacyjnym śledzeniem rozrodu?",
      "bottom_link": "Zobacz stronę rozrodu"
    },
    "hero": {
      "badge": "Przejrzysta, powiązana genetyka",
      "title_line_1": "Genetyka",
      "title_line_2": "gadów",
      "description": "Połącz geny, rodowód, pochodzenie i projekcje kojarzeń w narzędziu zaprojektowanym tak, by odczyt genetyczny był prostszy, przejrzystszy i bardziej użyteczny na dłuższą metę.",
      "primary_cta": "Uporządkuj moją genetykę",
      "secondary_cta": "Zobacz funkcje",
      "stats": {
        "base": "Przejrzysta baza genów i pochodzenia",
        "hypotheses": "Założenia gubione w różnych notatkach",
        "clarity_value": "+ przejrzyściej",
        "clarity_label": "By odczytywać rodowód i projekcje"
      },
      "reassurance_1": "Kwadrat Punnetta jednym kliknięciem",
      "reassurance_2": "Rodowód na 3 pokolenia",
      "reassurance_3": "Recesywy i heterozygoty"
    },
    "benefits": {
      "title": "Dlaczego warto lepiej uporządkować genetykę gadów?",
      "description": "Gdy trzeba powiązać kilka genów, zweryfikować pochodzenie lub przygotować poważne kojarzenia, luźna organizacja szybko staje się ograniczeniem.",
      "lineage": {
        "badge": "Pochodzenie i rodowód",
        "title": "Każdy szczegół genetyczny pozostaje powiązany z właściwym kontekstem",
        "description": "ReptiNode pomaga łączyć geny, rodziców, potomstwo i cele kojarzeń, by uniknąć ciągłego odtwarzania informacji z pamięci i utrzymać znacznie bardziej wiarygodną bazę.",
        "items": [
          "Czytelniejszy odczyt pochodzenia",
          "Projekcje łatwiejsze do przejrzenia"
        ]
      },
      "projects": {
        "title": "Czytelniejszy odczyt projektów",
        "description": "Celem nie jest jedynie posiadanie etykiet genów, lecz lepsze zrozumienie relacji między osobnikami oraz celów, do których dążysz."
      },
      "uncertainty": {
        "title": "Mniej niepewności",
        "description": "Gdy informacje genetyczne są rozproszone, założenia stają się niepewne. Dobrze uporządkowana baza znacznie ułatwia weryfikację.",
        "example_line": "Mojave het Clown × Pastel het Clown",
        "example_highlight": "➜ projekcja przejrzana bez trudności"
      },
      "usable": {
        "title": "Genetyka staje się użyteczna, a nie tylko przechowywana",
        "description": "Dobre narzędzie do genetyki nie służy jedynie do gromadzenia informacji. Powinno pomagać weryfikować rodowód, przygotowywać kojarzenie i łatwo przeglądać kluczowe elementy pochodzenia.",
        "items": {
          "pedigree_title": "Rodowód i pochodzenie",
          "pedigree_badge": "Powiązane",
          "projection_title": "Projekcja kojarzenia",
          "projection_badge": "Czytelne"
        }
      }
    },
    "value_section": {
      "title": "Co naprawdę powinno dawać dobre śledzenie genetyki",
      "description": "Prawdziwą korzyścią nie jest posiadanie większej ilości informacji, lecz właściwe ich powiązanie, dzięki czemu podejmujesz lepsze decyzje i skuteczniej przeglądasz swoje projekty.",
      "daily": {
        "title": "Do codziennego odczytu",
        "description": "Zachowaj przejrzysty widok genów i relacji między osobnikami bez ciągłego odtwarzania kontekstu.",
        "features": [
          "Czytelniejszy odczyt genów",
          "Rodowód łatwiejszy do przejrzenia",
          "Lepiej uporządkowane pochodzenie",
          "Projekcje kojarzeń łatwiejsze do przejrzenia",
          "Informacje genetyczne powiązane z właściwymi profilami"
        ],
        "button": "Poznaj funkcje"
      },
      "long_term": {
        "badge": "Dla lepiej przygotowanych projektów",
        "title": "Na dłuższą metę",
        "description": "Im więcej pochodzenia i projektów przybywa, tym cenniejsza staje się uporządkowana baza genetyczna.",
        "features": [
          "Mniej niejasnych założeń",
          "Łatwiejsza weryfikacja pochodzenia",
          "Bardziej spójne przygotowanie kojarzeń",
          "Bardziej wiarygodna baza dla przyszłych projektów",
          "Szybszy przegląd kluczowych informacji"
        ],
        "button": "Zacznij za darmo",
        "footer_note": "Lepiej uporządkowana genetyka"
      }
    },
    "comparison": {
      "title": "Przejdź od genetyki „w notatkach” do genetyki naprawdę użytecznej",
      "description": "Prawdziwa wartość dobrego śledzenia genetyki polega na łączeniu właściwych informacji we właściwym momencie, bez konieczności odtwarzania wszystkiego za każdym razem.",
      "before": {
        "title": "Przedtem",
        "description": "Geny zapisywane osobno, rodowody odtwarzane ręcznie i projekcje trudne do przejrzenia, gdy kilka projektów się nawarstwia."
      },
      "with_reptinode": {
        "title": "Z ReptiNode",
        "description": "Przejrzysta baza łącząca geny, pochodzenie, rodowód i projekcje, ze znacznie mniejszymi trudnościami przy przeglądaniu i podejmowaniu decyzji."
      },
      "result": {
        "title": "Rezultat",
        "description": "Czytelniejsza genetyka, lepiej przygotowane kojarzenia i solidniejsza podstawa do rozwijania projektów w czasie."
      }
    },
    "cta": {
      "badge": "Uporządkuj swoje projekty genetyczne",
      "title_line_1": "Uporządkuj swoją genetykę",
      "title_line_2": "w narzędziu stworzonym dla gadów",
      "description": "ReptiNode pomaga łączyć geny, rodowód, pochodzenie i projekcje, dzięki czemu Twoje decyzje są jaśniejsze, a projekty łatwiejsze do odczytania.",
      "button": "Utwórz swoją przestrzeń za darmo",
      "features": [
        "Geny lepiej powiązane",
        "Rodowód łatwiejszy do odczytania",
        "Lepiej przygotowane projekcje"
      ]
    },
    "cross_links_label": "Odkryj więcej:",
    "lenses": {
      "tag": "Trzy sposoby odczytu",
      "title": "Trzy sposoby odczytu genetyki",
      "subtitle": "W zależności od tego, czego szukasz — projekcji, zrozumienia czy inwentaryzacji — te same dane zmieniają perspektywę.",
      "punnett": {
        "tag": "Projekcja",
        "title": "Kwadrat Punnetta",
        "desc": "Wybierz dwa zwierzęta, a ReptiNode obliczy oczekiwany rozkład. Koniec z liczeniem w pamięci na kolanie."
      },
      "pedigree": {
        "tag": "Pochodzenie",
        "title": "Wizualny rodowód",
        "desc": "Trzy pokolenia na pierwszy rzut oka. Wiesz, skąd pochodzi każdy morph i jak został przekazany."
      },
      "library": {
        "tag": "Inwentarz",
        "title": "Rejestr morphów",
        "desc": "Wszystkie kombinacje obecne w Twojej kolekcji, posortowane, policzone i gotowe do filtrowania."
      }
    },
    "pedigree": {
      "tag": "Wizualny rodowód",
      "title": "Trzy pokolenia, jedno spojrzenie",
      "p1": "Skąd pochodzi ten morph? Który dziadek nosił gen recesywny? Drzewo genealogiczne odpowiada na to bez konieczności przewijania trzech lat notatek.",
      "p2": "Każdy węzeł jest klikalny i otwiera pełny profil zwierzęcia. Cofasz się w pochodzeniu, nie opuszczając drzewa.",
      "subject": "Nyx · Banana het Pied",
      "subject_meta": "Urodzona 4 sie 2024 · pokolenie III",
      "legend_morph": "nosiciel morphu",
      "legend_het": "nosiciel recesywny (het)",
      "legend_normal": "normal"
    },
    "registry": {
      "tag": "Rejestr",
      "title": "Wszystkie Twoje kombinacje w jednym miejscu",
      "subtitle": "Jedno spojrzenie, by wiedzieć, ile zwierząt nosi daną kombinację i które to osobniki.",
      "col_combo": "Kombinacja",
      "col_type": "Typ",
      "col_animals": "Zwierzęta",
      "type_codominant": "Kodominujący",
      "type_recessive": "Recesywny",
      "type_mixed": "Mieszany",
      "animals_unit": "zwierząt",
      "footer_total": "5 kombinacji · dotyczy 12 zwierząt",
      "footer_action": "Filtruj →"
    },
    "breadcrumb": {
      "home": "Strona główna"
    }
  },
  "qrx": {
    "shareSettings": "Ustawienia linku publicznego",
    "visibility": "Widoczność",
    "visUnlisted": "Niepubliczny (dostępny tylko przez link)",
    "visPublic": "Publiczny (indeksowalny)",
    "expiration": "Wygaśnięcie linku (opcjonalnie)",
    "password": "Hasło (opcjonalnie)",
    "passwordSetPlaceholder": "•••••• (ustawione)",
    "passwordNone": "Brak",
    "define": "Ustaw",
    "remove": "Usuń",
    "publicFieldsLabel": "Informacje widoczne publicznie",
    "fieldWeight": "Waga",
    "fieldLength": "Długość",
    "fieldLocality": "Lokalizacja",
    "fieldNotes": "Notatki",
    "fieldPrice": "Cena",
    "fieldsHint": "Kliknij, aby ukryć/pokazać. Przekreślone = ukryte w profilu publicznym.",
    "scansTotal": "Łączna liczba skanowań: {{count}}",
    "syncUpdating": "Aktualizowanie…",
    "syncRetry": "Ponów",
    "publicLiveOn": "Ten profil jest publiczny: kod QR można zeskanować.",
    "makePrivate": "Ustaw jako prywatny",
    "activatePublic": "Włącz profil publiczny, aby kod QR był dostępny.",
    "saleTitle": "Sprzedaż (opcjonalnie)",
    "saleNotForSale": "Nie na sprzedaż",
    "saleForSale": "Na sprzedaż",
    "saleReserved": "Zarezerwowane",
    "saleSold": "Sprzedane",
    "salePrice": "Cena",
    "saleContact": "Kontakt do sprzedawcy (e-mail lub link)",
    "saleMorphmarket": "Link do ogłoszenia na MorphMarket (opcjonalnie)",
    "exportMM": "Eksportuj całą moją listę „na sprzedaż” do MorphMarket (CSV)",
    "exportMMHint": "Prześlij plik do MorphMarket (import masowy). Tylko dla kont PRO.",
    "exportMMEmpty": "Brak gadów oznaczonych jako „na sprzedaż” lub „zarezerwowane” do wyeksportowania.",
    "exportMMError": "Eksport niedostępny (tylko dla kont PRO).",
    "actionTitle": "Akcja po zeskanowaniu",
    "actionView": "Wyświetl profil",
    "actionAddEvent": "Dodaj zdarzenie",
    "actionFeed": "Karm bezpośrednio",
    "actionWeigh": "Zważ bezpośrednio",
    "actionHint": "„Karm” / „Zważ” otwierają wstępnie wypełniony formularz zaraz po zalogowaniu.",
    "qualityTitle": "Jakość / odporność kodu QR",
    "qualBasic": "Podstawowa",
    "qualStandard": "Standardowa",
    "qualSolid": "Solidna",
    "qualMax": "Maksymalna (terrarium)",
    "qualityHint": "Poziom korekcji błędów: „Maksymalna” pozostaje czytelna nawet częściowo uszkodzona lub zamoczona. Do terrarium drukuj na wodoodpornym winylu lub laminowanym materiale.",
    "transferTitle": "Transfer / sprzedaż",
    "transferDesc": "Wygeneruj kod QR do przekazania kupującemu: po zeskanowaniu otrzyma tego gada wraz z jego historią na swoim koncie.",
    "transferGenerate": "Wygeneruj kod QR transferu",
    "transferCopy": "Kopiuj link",
    "transferCancel": "Anuluj",
    "transferWarn": "Ważny przez 30 dni. Transfer jest ostateczny po zaakceptowaniu.",
    "photosTitle": "Galeria zdjęć",
    "photosAdd": "Dodaj",
    "photosEmpty": "Brak zdjęć. Dodaj je, aby wzbogacić profil publiczny.",
    "photosUploadError": "Przesyłanie nie powiodło się",
    "photosPublicHint": "Te zdjęcia pojawiają się w galerii profilu publicznego (udostępniony kod QR).",
    "bulkTitle": "Arkusz kodów QR do druku",
    "bulkLayout": "Układ",
    "bulkLayout2x4": "2 × 4 (duże etykiety)",
    "bulkLayout3x6": "3 × 6 (standardowy)",
    "bulkLayout4x8": "4 × 8 (Avery / małe)",
    "bulkLinkType": "Typ linku",
    "bulkLinkPublic": "Publiczny (profil do udostępnienia)",
    "bulkLinkInternal": "Wewnętrzny (aplikacja, wymaga zalogowania)",
    "bulkReptiles": "Gady",
    "bulkSelectAll": "Zaznacz wszystkie",
    "bulkDeselectAll": "Odznacz wszystkie",
    "bulkInternalNote": "link wewnętrzny (niepubliczny)",
    "bulkCancel": "Anuluj",
    "bulkGenerate": "Wygeneruj PDF",
    "bulkError": "Błąd podczas generowania PDF",
    "scannerTitle": "Zeskanuj kod QR ReptiNode",
    "scannerUnsupported": "Twoja przeglądarka nie obsługuje wbudowanego skanera. Użyj aparatu telefonu: automatycznie otworzy link kodu QR.",
    "scannerDenied": "Odmówiono dostępu do kamery.",
    "scannerError": "Nie można uruchomić kamery.",
    "scannerAim": "Wyceluj w kod QR na etykiecie ReptiNode.",
    "scannerDetected": "Wykryto kod QR: {{value}}",
    "btnScan": "Zeskanuj kod QR",
    "btnEnclosures": "Terraria i racki",
    "btnBulk": "Arkusz kodów QR do druku"
  },
  "brand": {
    "name": "ReptiNode"
  },
  "logiciel_gestion_reptiles": {
    "seo": {
      "title": "Oprogramowanie do zarządzania gadami",
      "description": "ReptiNode to oprogramowanie do zarządzania gadami, które pozwala śledzić karmienia, wagę, wylinki, rozród, genetykę i historię w jednym przejrzystym, specjalistycznym narzędziu.",
      "structured_data_description": "Oprogramowanie do zarządzania gadami, które pozwala śledzić karmienia, wylinki, wagę, rozród, genetykę i historię w specjalistycznym narzędziu."
    },
    "illustration": {
      "card_title": "Główna kolekcja",
      "card_subtitle": "Pytony królewskie · 24 aktywne profile",
      "status": "Śledzenie na bieżąco",
      "last_feeding_label": "Ostatnie karmienie",
      "last_feeding_value": "2 dni temu",
      "last_feeding_meta": "potwierdzone szczenię szczura",
      "weight_label": "Waga",
      "weight_value": "1284 g",
      "weight_meta": "↗",
      "history_title": "Ostatnia historia",
      "weight_logged_title": "Waga zapisana",
      "weight_logged_time": "Dzisiaj · 09:42",
      "breeding_cycle_title": "Zaplanowany cykl rozrodczy",
      "breeding_cycle_time": "Wczoraj · 18:17",
      "quick_access": "Szybka identyfikacja",
      "synced_data_title": "Zsynchronizowane dane",
      "synced_data_text": "Scentralizowana historia",
      "collection_name": "Moja kolekcja",
      "collection_meta": "24 gady · 3 gatunki",
      "synced": "Synchronizacja",
      "search_placeholder": "Szukaj: imię, kod, gatunek…",
      "metric_to_feed_label": "Do nakarmienia",
      "metric_to_feed_unit": "w tym tygodniu",
      "metric_late_label": "Zaległe ważenia",
      "metric_late_unit": "do wykonania",
      "list_title": "Ostatnia aktywność",
      "list": {
        "r1_event": "Ważenie · 1284 g",
        "r2_event": "Zapisano posiłek",
        "r3_event": "Przed złożeniem jaj"
      },
      "filters_title": "Filtry",
      "export_title": "Eksport gotowy",
      "export_meta": "PDF · CSV"
    },
    "faq": {
      "title": "Najczęściej zadawane pytania",
      "description": "Wszystko, co warto wiedzieć przed wyborem oprogramowania do zarządzania gadami.",
      "items": [
        {
          "q": "Dla kogo jest to oprogramowanie do zarządzania gadami?",
          "r": "ReptiNode zostało stworzone dla pasjonatów, hodowców i organizacji, które chcą scentralizować karty zwierząt, historię, karmienia, wylinki, rozród i dokumenty w jednym narzędziu."
        },
        {
          "q": "Czy to bardziej praktyczne niż arkusz kalkulacyjny?",
          "r": "Tak. Arkusz kalkulacyjny wymaga ręcznego strukturyzowania wszystkiego, ogranicza śledzenie chronologiczne i szybko staje się zawodny przy wielu zwierzętach. ReptiNode gromadzi dane według gada, wyraźnie pokazuje historię i ogranicza liczbę pominiętych informacji."
        },
        {
          "q": "Czy mogę szybko znaleźć profil w dużej hodowli?",
          "r": "Tak. ReptiNode zostało zaprojektowane tak, by szybko uzyskać dostęp do każdego profilu, rejestrować zdarzenia, śledzić kluczowe informacje i znaleźć gada bez tracenia czasu."
        },
        {
          "q": "Czy mogę zarządzać zarówno codzienną opieką, jak i rozrodem?",
          "r": "Tak. Oprogramowanie obejmuje zarówno codzienne śledzenie gadów, jak i bardziej zaawansowane potrzeby, takie jak kojarzenia, złoża jaj, rodowód, genetyka i dokumentacja."
        },
        {
          "q": "Czy oprogramowanie sprawdzi się przy rosnącej kolekcji?",
          "r": "Tak. Im więcej gadów posiadasz, tym bardziej przydatne staje się posiadanie ustrukturyzowanego oprogramowania zamiast polegania na pamięci lub rozproszonych plikach."
        }
      ],
      "bottom_text": "Chcesz zobaczyć, jak to wszystko łączy się w produkcie?",
      "bottom_link": "Zobacz stronę funkcji"
    },
    "hero": {
      "badge": "Specjalistyczne oprogramowanie dla gadów",
      "title_line_1": "Oprogramowanie do zarządzania",
      "title_line_2": "gadami",
      "description": "Scentralizuj profile swoich gadów, historię zdarzeń, karmienia, wylinki, wagi, rozród i genetykę w narzędziu zaprojektowanym z myślą o Twojej hodowli lub kolekcji.",
      "primary_cta": "Utwórz moje konto",
      "secondary_cta": "Zobacz funkcje",
      "stats": {
        "all_data": "Jedno miejsce na wszystkie dane",
        "no_spreadsheets": "Rozproszone arkusze kalkulacyjne do utrzymania",
        "specialized_value": "100%",
        "specialized_label": "Stworzone z myślą o świecie gadów"
      },
      "reassurance_1": "Jedno scentralizowane miejsce",
      "reassurance_2": "Zero arkuszy kalkulacyjnych do utrzymania",
      "reassurance_3": "Hosting w UE"
    },
    "benefits": {
      "title": "Dlaczego warto używać oprogramowania do zarządzania gadami?",
      "description": "Wraz z rozwojem kolekcji ręczne śledzenie szybko staje się zawodne. Specjalistyczne oprogramowanie pomaga zachować przejrzysty, ustrukturyzowany i wiarygodny obraz każdego gada.",
      "daily": {
        "badge": "Codzienne śledzenie",
        "title": "Każdy gad ma przejrzysty, użyteczny profil",
        "description": "Koniec z rozproszonymi notatkami, zapomnianymi informacjami czy zgubionymi szczegółami. ReptiNode centralizuje ważne dane dla każdego zwierzęcia w czytelnym, ustrukturyzowanym i łatwym do aktualizacji profilu.",
        "items": [
          "Chronologiczna historia zdarzeń",
          "Śledzenie wagi i postępów"
        ]
      },
      "mobile": {
        "title": "Zaprojektowane, by być wygodne na co dzień",
        "description": "Dodaj zdarzenie, otwórz profil, sprawdź informacje lub znajdź gada w kilka sekund, nawet z telefonu."
      },
      "genetics": {
        "title": "Solidna podstawa dla genetyki",
        "description": "Śledź kojarzenia, wizualizuj powiązania między osobnikami i zachowaj bardziej rzetelną identyfikowalność niż w zwykłym arkuszu kalkulacyjnym.",
        "example_line": "Pastel x Mojave",
        "example_highlight": "➜ kojarzenie zapisane + historia zachowana"
      },
      "admin": {
        "title": "Cała przydatna administracja w jednym miejscu",
        "description": "Przechowuj dokumenty, kluczowe informacje i ważne odniesienia bezpośrednio powiązane z Twoimi gadami, aby oszczędzać czas i unikać utraty informacji.",
        "items": {
          "breeding_title": "Śledzenie rozrodu",
          "breeding_badge": "Ustrukturyzowane",
          "centralized_title": "Scentralizowane informacje",
          "centralized_badge": "Dostępne"
        }
      }
    },
    "value_section": {
      "title": "Czym ReptiNode pomaga zarządzać lepiej",
      "description": "Dobre oprogramowanie do zarządzania gadami powinno obejmować podstawowe codzienne zadania, pozostając przydatnym, gdy Twoja działalność się rozwija.",
      "daily": {
        "title": "Codzienne zarządzanie",
        "description": "ReptiNode pomaga utrzymać śledzenie przejrzyste, spójne i czytelne w czasie.",
        "features": [
          "Scentralizowane profile gadów",
          "Historia zdarzeń",
          "Śledzenie karmienia i wylinek",
          "Śledzenie wagi i postępów",
          "Prosty dostęp z telefonu"
        ],
        "button": "Poznaj funkcje"
      },
      "advanced": {
        "badge": "Dla poważnych kolekcji",
        "title": "Zaawansowane zarządzanie",
        "description": "Gdy tylko śledzisz kilka zwierząt lub prowadzisz rozród, struktura robi różnicę.",
        "features": [
          "Organizacja kojarzeń",
          "Przejrzystszy widok rozrodu",
          "Baza robocza do genetyki",
          "Bardziej wiarygodne informacje w czasie",
          "Mniejsza zależność od rozproszonych plików"
        ],
        "button": "Zacznij za darmo",
        "footer_note": "Szybka konfiguracja"
      }
    },
    "comparison": {
      "title": "Bardziej wiarygodne narzędzie niż improwizowana organizacja",
      "description": "Im bardziej rozwija się Twoja kolekcja, tym ważniejsze staje się posiadanie przejrzystej, stabilnej bazy zaprojektowanej do odnajdywania właściwych informacji we właściwym czasie.",
      "before": {
        "title": "Wcześniej",
        "description": "Notatki w wielu miejscach, arkusze kalkulacyjne, osobne przypomnienia i poleganie na pamięci, by łączyć informacje."
      },
      "with_reptinode": {
        "title": "Z ReptiNode",
        "description": "Jedna struktura, by otworzyć właściwy profil, szybko zapisać zdarzenie i utrzymać przejrzystą historię w czasie."
      },
      "result": {
        "title": "Rezultat",
        "description": "Spokojniejsze zarządzanie, lepiej utrzymywane dane i znacznie solidniejsza podstawa do śledzenia gadów na co dzień i długoterminowo."
      }
    },
    "cta": {
      "badge": "Przejdź na bardziej przejrzyste zarządzanie",
      "title_line_1": "Zarządzaj swoimi gadami",
      "title_line_2": "w narzędziu stworzonym z myślą o nich",
      "description": "ReptiNode pomaga scentralizować dane, lepiej śledzić każde zwierzę i zbudować solidniejszą podstawę dla Twojej kolekcji lub hodowli.",
      "button": "Utwórz moje konto za darmo",
      "features": [
        "Szybkie wdrożenie",
        "Narzędzie stworzone dla gadów",
        "Przejrzysta podstawa na przyszłość"
      ]
    },
    "cross_links_label": "Odkryj więcej:",
    "workflow": {
      "tag": "Jak to działa",
      "title": "Trzy kroki, zero komplikacji",
      "subtitle": "Zaprojektowane tak, by zniknąć za Twoimi zwierzętami. Ty zapisujesz, ReptiNode strukturyzuje i przechowuje.",
      "step_1": {
        "title": "Scentralizuj swoje karty",
        "desc": "Jeden profil na gada: tożsamość, gatunek, genetyka, zdjęcie, kod wewnętrzny. Koniec z notatkami rozproszonymi między telefonem, papierem i arkuszami kalkulacyjnymi."
      },
      "step_2": {
        "title": "Zapisuj na bieżąco",
        "desc": "Ważenie, posiłek, wylinka, obserwacja: każde zdarzenie dodajesz w kilka sekund, z komputera lub telefonu, a zostaje ono przypisane do właściwego zwierzęcia."
      },
      "step_3": {
        "title": "Odczytuj bez wysiłku",
        "desc": "Filtruj według gatunku, roku, statusu. Znajdź pełną historię zwierzęcia jednym kliknięciem, nawet po trzech latach."
      }
    },
    "compare_table": {
      "tag": "Porównanie",
      "title": "Arkusz kalkulacyjny a dedykowane oprogramowanie",
      "subtitle": "Arkusz kalkulacyjny może pomieścić 5 zwierząt. Powyżej tego prawdziwa struktura oprogramowania robi różnicę.",
      "col_criteria": "Kryterium",
      "col_spreadsheet": "Arkusz kalkulacyjny",
      "row_1": {
        "criteria": "Jeden profil na gada"
      },
      "row_2": {
        "criteria": "Automatyczna historia chronologiczna"
      },
      "row_3": {
        "criteria": "Dedykowane wyszukiwanie i filtry"
      },
      "row_4": {
        "criteria": "Szybkie wprowadzanie danych z telefonu"
      },
      "row_5": {
        "criteria": "Powiązany rodowód i linie hodowlane"
      },
      "row_6": {
        "criteria": "Zarządzane kopie zapasowe i bezpieczeństwo"
      }
    },
    "use_cases": {
      "tag": "Przypadki użycia",
      "title": "Niezależnie od wielkości Twojej kolekcji",
      "subtitle": "To samo narzędzie sprawdza się zarówno u pojedynczego pasjonata, jak i w profesjonalnej strukturze.",
      "hobbyist": {
        "title": "Pojedynczy pasjonat",
        "desc": "Od 2 do 10 gadów. Chcesz przestać zapominać o ważeniach i zachować przejrzystą historię, bez nadmiaru funkcji.",
        "tag": "Darmowy plan wystarczy"
      },
      "keeper": {
        "title": "Zorganizowany hodowca",
        "desc": "Od 20 do 100 gadów, wiele projektów. Potrzebujesz filtrów, powiązanego rodowodu i szybkiego przeglądu całej kolekcji.",
        "tag": "Zalecany plan Pro"
      },
      "pro": {
        "title": "Struktura profesjonalna",
        "desc": "Sklep zoologiczny, punkt sprzedaży, park. Chcesz mieć przejrzystą, eksportowalną i trwałą bazę do śledzenia żywego inwentarza i historii sanitarnej.",
        "tag": "Pro + eksport"
      }
    },
    "breadcrumb": {
      "home": "Strona główna"
    }
  },
  "cookies": {
    "footerButton": "Preferencje plików cookie",
    "banner": {
      "text": "Używamy plików cookie i pamięci lokalnej, aby uruchomić stronę, zapamiętać Twoje preferencje i anonimowo mierzyć naszą oglądalność. Za Twoją zgodą oceniamy również nasze reklamy. Możesz zaakceptować wszystko, odrzucić wszystko lub wybrać.",
      "customize": "Dostosuj",
      "acceptAll": "Zaakceptuj wszystko",
      "rejectAll": "Odrzuć wszystko"
    },
    "modal": {
      "title": "Preferencje plików cookie",
      "intro": "Szanujemy Twoją prywatność. Pliki cookie niezbędne, preferencyjne oraz służące do anonimowego pomiaru oglądalności są zawsze aktywne. Tylko reklamy wymagają Twojej zgody.",
      "alwaysActive": "Zawsze aktywne",
      "viewCookies": "Zobacz pliki cookie",
      "save": "Zapisz moje wybory",
      "acceptAll": "Zaakceptuj wszystko",
      "rejectAll": "Odrzuć wszystko",
      "moreInfo": "Więcej informacji w naszej",
      "privacyLink": "polityce prywatności",
      "close": "Zamknij"
    },
    "categories": {
      "necessary": {
        "title": "Absolutnie niezbędne",
        "description": "Niezbędne do działania strony (logowanie, bezpieczeństwo, płatności). Nie można ich wyłączyć.",
        "items": [
          {
            "name": "token",
            "provider": "ReptiNode",
            "duration": "Sesja / 7 dni",
            "purpose": "Utrzymuje Twoją sesję zalogowaną (token uwierzytelniający)."
          },
          {
            "name": "user",
            "provider": "ReptiNode",
            "duration": "Sesja / 7 dni",
            "purpose": "Buforuje Twój profil, aby uniknąć ponownego ładowania na każdej stronie."
          },
          {
            "name": "rn_cookie_consent",
            "provider": "ReptiNode",
            "duration": "6 miesięcy",
            "purpose": "Przechowuje Twoje preferencje dotyczące plików cookie."
          },
          {
            "name": "__stripe_mid / __stripe_sid",
            "provider": "Stripe",
            "duration": "1 rok / 30 min",
            "purpose": "Zabezpiecza płatności i zapobiega oszustwom."
          },
          {
            "name": "Service Worker (PWA)",
            "provider": "ReptiNode",
            "duration": "Trwałe",
            "purpose": "Umożliwia instalację aplikacji i tryb offline."
          }
        ]
      },
      "functional": {
        "title": "Funkcjonalne / Preferencje",
        "description": "Zapamiętują Twoje preferencje użytkowania (język, wyświetlanie, postępy mini-gry). Dane własne ReptiNode, bez plików cookie reklamowych ani śledzenia.",
        "items": [
          {
            "name": "i18nextLng",
            "provider": "ReptiNode",
            "duration": "Trwałe",
            "purpose": "Zapamiętuje preferowany język."
          },
          {
            "name": "dashboard_context",
            "provider": "ReptiNode",
            "duration": "Trwałe",
            "purpose": "Zapamiętuje wybrany widok panelu (osobisty lub współdzielony)."
          },
          {
            "name": "android-prompt-dismissed / ios-prompt-dismissed",
            "provider": "ReptiNode",
            "duration": "Trwałe",
            "purpose": "Zapobiega ponownemu wyświetlaniu monitu o instalację aplikacji po jego odrzuceniu."
          },
          {
            "name": "snake_archive_until_…",
            "provider": "ReptiNode",
            "duration": "Zmienne",
            "purpose": "Tymczasowo wycisza przypomnienie dla danego zwierzęcia."
          },
          {
            "name": "reptinode_achievements, reptinode_biopoints, reptinode_collection, reptinode_consumables, reptinode_hatched_count, reptinode_prestige, reptinode_upgrades",
            "provider": "ReptiNode",
            "duration": "Trwałe",
            "purpose": "Zapisuje postępy w bonusowej mini-grze (osiągnięcia, punkty, kolekcja)."
          }
        ]
      },
      "analytics": {
        "title": "Pomiar oglądalności",
        "description": "Statystyki ruchu za pomocą samodzielnie hostowanego narzędzia niewykorzystującego plików cookie. Dane anonimowe, zagregowane, nigdy nieudostępniane, które nie pozwalają Cię zidentyfikować.",
        "items": [
          {
            "name": "analytics.reptinode.fr",
            "provider": "ReptiNode (self-hosted)",
            "duration": "Brak pliku cookie",
            "purpose": "Anonimowe, zagregowane statystyki ruchu (odsłony stron, źródło). Brak plików cookie, danych osobowych i udostępniania stronom trzecim."
          }
        ]
      },
      "marketing": {
        "title": "Marketing i reklama",
        "description": "Pozwól nam mierzyć skuteczność naszych reklam na Facebooku i Instagramie oraz pokazywać Ci odpowiednie treści. Wyłączone do czasu wyrażenia zgody.",
        "items": [
          {
            "name": "_fbp",
            "provider": "Meta (Facebook)",
            "duration": "3 miesiące",
            "purpose": "Mierzy skuteczność reklam i retargeting."
          },
          {
            "name": "_fbc",
            "provider": "Meta (Facebook)",
            "duration": "3 miesiące",
            "purpose": "Przypisuje wizyty pochodzące z kliknięcia w reklamę Meta."
          },
          {
            "name": "Conversions API (CAPI)",
            "provider": "Meta (Facebook)",
            "duration": "—",
            "purpose": "Wysyła konwersje (rejestracja, subskrypcja) do Meta po stronie serwera."
          }
        ]
      }
    }
  },
  "plans": {
    "basic": "Basic",
    "pro": "Pro"
  },
  "health_growth_analytics": {
    "title": "Analiza zdrowia i wzrostu",
    "nav": "Analizy",
    "back": "Panel",
    "subtitle": "Zdrowie, wzrost i karmienie w całej Twojej kolekcji.",
    "refresh": "Odśwież",
    "retry": "Ponów",
    "error": "Nie można załadować analiz.",
    "empty_title": "Brak danych",
    "empty_desc": "Dodaj gady oraz rejestruj karmienia i ważenia, aby odblokować analizę zdrowia i wzrostu.",
    "go_dashboard": "Przejdź do panelu",
    "kpi": {
      "reptiles": "Gady",
      "avg_health": "Śr. zdrowie",
      "alerts": "Aktywne alerty",
      "critical": "{{count}} krytycznych",
      "feeding": "Wskaźnik karmienia",
      "tracked": "Śledzona waga",
      "todo": "Do zrobienia"
    },
    "feeding_trend": "Akceptacja karmienia",
    "accepted": "Zaakceptowane",
    "health_distribution": "Rozkład zdrowia",
    "no_data": "Za mało danych.",
    "attention": "Wymaga uwagi",
    "all_good": "Wszystko wygląda zdrowo 🎉",
    "growth_leaders": "Najlepszy wzrost (90 dni)",
    "no_growth": "Za mało ważeń.",
    "all_reptiles": "Wszystkie gady",
    "no_weight": "Brak wagi",
    "generated_at": "Zaktualizowano {{time}}",
    "alert_types": {
      "feeding_late": "Zaległe karmienie",
      "refusal_streak": "Powtarzające się odmowy",
      "recent_regurgitation": "Niedawna regurgitacja",
      "weight_loss": "Utrata wagi",
      "shed_interval_long": "Zaległa wylinka",
      "missing_recent_weight": "Ważenie zaległe"
    },
    "period": {
      "30": "30 dni",
      "90": "90 dni",
      "365": "1 rok",
      "all": "Wszystko"
    },
    "filters": {
      "all_species": "Wszystkie gatunki",
      "all_sexes": "Wszystkie płcie",
      "all_enclosures": "Wszystkie terraria",
      "clear": "Wyczyść"
    },
    "export": {
      "report_title": "Raport zdrowia kolekcji"
    },
    "pts": "pkt",
    "todo": {
      "title": "Do zrobienia dzisiaj",
      "empty": "Nic do zrobienia — wszystko aktualne 🎉",
      "feeding_overdue": "Karmienie zaległe o {{count}}d",
      "weigh_in_due": "Ważenie zaległe ({{count}}d)",
      "weigh_in_never": "Brak zarejestrowanego ważenia",
      "no_recent_log": "Brak wpisów od {{count}}d",
      "no_log_never": "Brak zarejestrowanego zdarzenia"
    },
    "growth_chart": {
      "title": "Porównanie wzrostu",
      "no_data": "Wybierz gady z co najmniej dwoma ważeniami, aby porównać ich wzrost."
    },
    "sex": {
      "Male": "Samiec",
      "Female": "Samica",
      "Unknown": "Nieznana"
    },
    "columns": {
      "name": "Nazwa",
      "species": "Gatunek",
      "health": "Zdrowie",
      "weight": "Waga (g)",
      "delta": "Δ %",
      "alerts": "Alerty",
      "last_activity": "Ostatnia aktywność"
    },
    "health_levels": {
      "good": "Stabilne",
      "warning": "Obserwuj",
      "danger": "Uwaga",
      "unknown": "Nieznane"
    }
  },
  "settings": {
    "title": "Ustawienia",
    "tabs": {
      "profile": "Profil",
      "family": "Rodzina i hodowla",
      "notifications": "Powiadomienia",
      "language": "Język",
      "subscription": "Subskrypcja",
      "security": "Bezpieczeństwo"
    },
    "errors": {
      "push_permission_denied": "Odmówiono uprawnień do powiadomień push",
      "save_error": "Błąd podczas zapisywania",
      "delete_error": "Błąd podczas usuwania konta",
      "portal_error": "Nie można uzyskać dostępu do portalu rozliczeniowego."
    },
    "billing": {
      "checking_title": "Weryfikacja...",
      "checking_desc": "Potwierdzamy Twoją bezpieczną płatność.",
      "success_title": "Subskrypcja aktywowana!",
      "success_desc": "Twoje konto zostało uaktualnione. Dziękujemy za zaufanie.",
      "cancel_title": "Płatność anulowana",
      "cancel_desc": "Nie pobrano żadnej opłaty.",
      "failed_title": "Płatność nieudana",
      "failed_desc": "Wystąpił błąd. Spróbuj ponownie."
    },
    "profile": {
      "avatar_alt": "Awatar",
      "image_title": "Zdjęcie profilowe",
      "image_desc": "To zdjęcie będzie widoczne na Twoim publicznym profilu i w aplikacji.",
      "change_photo": "Zmień zdjęcie",
      "name_label": "Wyświetlana nazwa",
      "name_placeholder": "Twoje imię",
      "email_label": "Adres e-mail",
      "email_placeholder": "your@email.com"
    },
    "notifications": {
      "time_label": "Godzina przypomnienia",
      "time_desc": "O której godzinie chcesz otrzymywać codzienne powiadomienia?",
      "feeding_reminders": "Przypomnienia o karmieniu",
      "receive_alerts": "Otrzymuj alerty dotyczące {{type}}",
      "types": {
        "feedingReminders": "Przypomnienia o karmieniu",
        "shedReminders": "Śledzenie wylinki",
        "vetReminders": "Wizyty u weterynarza",
        "healthAlerts": "Alerty zdrowotne",
        "emailNotifications": "E-maile podsumowujące"
      }
    },
    "language": {
      "language_selector": "Język:",
      "select_label": "Język interfejsu"
    },
    "subscription": {
      "current_plan_label": "Twój obecny plan",
      "plan_free": "Darmowy",
      "plan_pro": "Pro",
      "plan_pro_monthly": "Pro (miesięcznie)",
      "plan_pro_yearly": "Pro (rocznie)",
      "pro_badge": "Członek Pro",
      "free_badge": "Członek Darmowy",
      "upsell_text": "Przejdź na Pro, aby odblokować wszystkie nieograniczone funkcje.",
      "upgrade_button": "Przejdź na Pro",
      "manage_button": "Zarządzaj subskrypcją",
      "manage_desc": "Zaktualizuj metodę płatności, anuluj lub zmień swój plan."
    },
    "security": {
      "password_title": "Zmień hasło",
      "password_desc": "Regularnie aktualizuj hasło, aby zabezpieczyć swoje konto.",
      "password_button": "Zmień",
      "delete_title": "Usuń konto",
      "delete_warning": "Ta czynność jest nieodwracalna. Wszystkie Twoje dane (gady, śledzenie, zdjęcia) zostaną trwale usunięte.",
      "delete_confirm": "Czy na pewno chcesz trwale usunąć swoje konto?",
      "delete_button": "Usuń moje konto",
      "deleting": "Usuwanie..."
    },
    "changePassword": "Zmień hasło",
    "currentPassword": "Obecne hasło",
    "newPassword": "Nowe hasło",
    "confirmNewPassword": "Potwierdź nowe hasło",
    "updatePasswordButton": "Zaktualizuj hasło",
    "passwordMismatch": "Hasła nie są zgodne.",
    "passwordTooShort": "Hasło musi mieć co najmniej 8 znaków.",
    "passwordUpdateSuccess": "Hasło zostało pomyślnie zaktualizowane.",
    "passwordUpdateError": "Nie udało się zaktualizować hasła. Sprawdź swoje obecne hasło."
  },
  "addSnake": {
    "birthDateRequired": "Wymagana prawidłowa data urodzenia",
    "add": "Dodaj gada",
    "addPhoto": "Dodaj zdjęcie",
    "added": "Dodano!",
    "adding": "Dodawanie...",
    "birthDate": "Data urodzenia",
    "birthDateInvalid": "Nieprawidłowy format daty.",
    "birthDateFuture": "Data urodzenia nie może być w przyszłości.",
    "cancel": "Anuluj",
    "changePhoto": "Zmień zdjęcie",
    "edit_subtitle": "Edytuj informacje dla {{name}}.",
    "familyRequired": "Wybierz rodzinę lub dodaj gada do swojej przestrzeni osobistej.",
    "female": "Samica",
    "feedingIntervalInvalid": "Częstotliwość karmienia musi być liczbą całkowitą większą od 0.",
    "imageSizeError": "Obraz nie może przekraczać {{max}} MB.",
    "imageTypeError": "Wybrany plik musi być obrazem.",
    "imageUrl": "URL obrazu",
    "imageUrlPlaceholder": "",
    "length": "Długość (cm)",
    "lengthInvalid": "Długość musi być większa od 0.",
    "locality": "Lokalizacja",
    "localityPlaceholder": "np. Biak",
    "locus": "Locus / Loci (oddzielone przecinkami)",
    "locusPlaceholder": "np. Mojave, Pied...",
    "male": "Samiec",
    "morph": "Morfa",
    "morphPlaceholder": "np. Pastel",
    "name": "Nazwa",
    "namePlaceholder": "np. Luna",
    "nameRequired": "Nazwa jest wymagana.",
    "noPhoto": "Brak zdjęcia",
    "notes": "Notatki",
    "notesPlaceholder": "Dodatkowe notatki dotyczące tego gada...",
    "photo": "Zdjęcie gada",
    "photoHelp": "JPG, PNG lub WebP. Maks. {{max}} MB.",
    "photo_hint": "Kliknij, aby zmienić",
    "removePhoto": "Usuń zdjęcie",
    "sex": "Płeć",
    "species": "Gatunek",
    "speciesPlaceholder": "np. Python regius",
    "speciesRequired": "Gatunek jest wymagany.",
    "subtitle": "Wypełnij teraz najważniejsze informacje. Profil możesz uzupełnić później.",
    "title": "Dodaj nowego gada",
    "traits": "Cechy / Fenotypy",
    "traitsPlaceholder": "np. Red, Hypo...",
    "unknown": "Nieznana",
    "unknownSpeciesHelp": "Tego gatunku nie ma w katalogu, ale nadal możesz go dodać.",
    "weight": "Waga (gramy)",
    "weightInvalid": "Waga musi być większa od 0.",
    "destination": {
      "title": "Gdzie należy dodać tego gada?",
      "personal": "Moja przestrzeń osobista",
      "personal_help": "Widoczne tylko na Twojej liście osobistej.",
      "family": "Rodzina",
      "family_help": "Gad zostanie utworzony, a następnie przeniesiony do wybranej rodziny.",
      "family_label": "Rodzina docelowa",
      "choose_family": "Wybierz rodzinę...",
      "family_selected": "Będzie widoczny w {{name}}.",
      "summary_personal": "Dodano do Twojej przestrzeni osobistej.",
      "summary_family": "Dodano do rodziny {{name}}."
    }
  },
  "eggTracking": {
    "a11y": {
      "deleteClutch": "Usuń zniesienie",
      "editClutch": "Edytuj zniesienie"
    },
    "actions": {
      "newClutch": "Nowe zniesienie"
    },
    "clutchLabel": "Zniesienie",
    "createFirst": "Zarejestruj swoje pierwsze zniesienie",
    "daysRemaining": "Pozostało dni: {{count}}",
    "delete": {
      "subtitle": "Spowoduje to również usunięcie wszystkich powiązanych jaj.",
      "title": "Usunąć to zniesienie?"
    },
    "eggModal": {
      "status": "Status",
      "title": "Edytuj jajo",
      "weight": "Waga (g)",
      "weightPlaceholder": "np. 62,5"
    },
    "empty": "Brak zarejestrowanych zniesień",
    "form": {
      "eggCount": "Liczba jaj",
      "error": {
        "fertileExceedsTotal": "Liczba jaj zapłodnionych nie może przekraczać łącznej liczby jaj."
      },
      "estHatchDate": "Szacowana data wyklucia",
      "expectedHatchDate": "Szacowana data wyklucia",
      "fertileCount": "Zapłodnione",
      "humidityPct": "Wilgotność (%)",
      "laidDate": "Data złożenia",
      "noPairings": "Nie znaleziono kojarzeń. Najpierw utwórz kojarzenie w sekcji Kojarzenia.",
      "noPairingsHint": "Nie znaleziono kojarzeń. Najpierw utwórz jedno w sekcji Kojarzenia.",
      "notes": "Notatki",
      "notesPlaceholder": "Obserwacje (średnia waga, prześwietlanie jaj, straty itp.)",
      "pairing": "Para (kojarzenie)",
      "selectPairing": "Wybierz kojarzenie…",
      "tempC": "Temperatura (°C)"
    },
    "hatchingSoon": "Wykluwanie już wkrótce!",
    "humidity": "Wilgotność",
    "individualEggs": "Poszczególne jaja",
    "laidOn": "Złożone {{date}}",
    "legend": {
      "damaged": "Uszkodzone",
      "hatched": "Wyklute",
      "incubating": "W inkubacji",
      "infertile": "Niezapłodnione",
      "title": "Legenda"
    },
    "modal": {
      "createTitle": "Nowe zniesienie",
      "editTitle": "Edytuj zniesienie"
    },
    "stat": {
      "totalEggs": "Łączna liczba jaj"
    },
    "stats": {
      "damagedPlural": "Uszkodzone",
      "eggs": "Jaja",
      "hatched": "Wyklute",
      "incubating": "W inkubacji",
      "infertilePlural": "Niezapłodnione"
    },
    "status": {
      "damaged": "Uszkodzone",
      "hatched": "Wyklute",
      "incubating": "W inkubacji",
      "infertile": "Niezapłodnione"
    },
    "subtitle": "Monitoruj inkubację swoich zniesień",
    "temperature": "Temperatura",
    "title": "Śledzenie zniesień"
  },
  "privacy": {
    "nav": {
      "back": "Wstecz"
    },
    "header": {
      "badge": "Twoje dane należą do Ciebie",
      "title": "Polityka prywatności",
      "last_update": "Ostatnia aktualizacja: {{date}}"
    },
    "tldr": {
      "title": "W skrócie (TL;DR)",
      "point_1": "<strong>Nigdy</strong> nie sprzedajemy Twoich danych osobowych osobom trzecim.",
      "point_2": "Twoje dane hodowlane (gady, wagi, rozród) są domyślnie prywatne.",
      "point_3": "W każdej chwili możesz wyeksportować lub usunąć swoje dane.",
      "point_4": "Dane są bezpiecznie przechowywane na serwerach w Europie."
    },
    "sections": {
      "intro": {
        "title": "1. Wprowadzenie",
        "p1": "Witamy w <strong>ReptiNode</strong>. Ochrona Twojej prywatności jest sercem naszej misji. Jako hodowcy sami wiemy, że dane dotyczące Twoich linii genetycznych, projektów hodowlanych i kolekcji są wrażliwe.",
        "p2": "Niniejsza polityka opisuje, jakie dane zbieramy, jak ich używamy i jak je chronimy. Korzystając z naszej usługi, akceptujesz opisane tu praktyki."
      },
      "collected": {
        "title": "2. Zbierane dane",
        "intro": "Zbieramy wyłącznie informacje niezbędne do prawidłowego działania aplikacji:",
        "point_1": "<strong>Informacje o koncie:</strong> adres e-mail, hasło (szyfrowane), nazwa użytkownika.",
        "point_2": "<strong>Dane hodowlane:</strong> imiona gadów, gatunki, morphy, wagi, daty karmienia, wylinki, kojarzenia, zniesienia, notatki oraz przesyłane przez Ciebie zdjęcia.",
        "point_3": "<strong>Dane techniczne:</strong> logi połączeń, typ urządzenia, adres IP (wyłącznie do celów bezpieczeństwa).",
        "point_4": "<strong>Płatności:</strong> jeśli subskrybujesz plan Pro, nasz operator płatności (Stripe) obsługuje Twoje dane bankowe. Nigdy nie przechowujemy pełnych numerów Twojej karty."
      },
      "usage": {
        "title": "3. Wykorzystanie danych",
        "intro": "Twoje dane są wykorzystywane wyłącznie do:",
        "point_1": "Zapewnienia dostępu do panelu i zarządzania Twoją hodowlą.",
        "point_2": "Generowania Twoich dokumentów (świadectw przeniesienia, arkuszy śledzenia).",
        "point_3": "Wysyłania ważnych powiadomień (przypomnienia o opiece, aktualizacje bezpieczeństwa).",
        "point_4": "Ulepszania aplikacji dzięki zanonimizowanym statystykom (np. „Ile pytonów królewskich jest zarządzanych na platformie?”)."
      },
      "sharing": {
        "title": "4. Udostępnianie i podmioty trzecie",
        "bold_statement": "Nie sprzedajemy, nie wynajmujemy ani nie udostępniamy Twoich danych osobowych żadnym reklamodawcom.",
        "intro": "Udostępniamy dane wyłącznie naszym niezbędnym dostawcom technicznym:",
        "point_1": "<strong>Hosting i baza danych:</strong> PostgreSQL (bezpieczne przechowywanie).",
        "point_2": "<strong>Płatności:</strong> Stripe (zarządzanie subskrypcjami).",
        "point_3": "<strong>E-maile:</strong> Hostinger (wysyłka powiadomień transakcyjnych)."
      },
      "security": {
        "title": "5. Bezpieczeństwo",
        "intro": "Stosujemy najlepsze praktyki branżowe w celu ochrony Twoich danych:",
        "point_1": "Wszystkie połączenia są szyfrowane za pomocą protokołu <strong>SSL/TLS (HTTPS)</strong>.",
        "point_2": "Hasła są hashowane przy użyciu solidnych algorytmów (Argon2/Bcrypt) przed zapisaniem.",
        "point_3": "Automatyczne kopie zapasowe są wykonywane codziennie, aby zapobiec utracie danych.",
        "point_4": "Dostęp do danych produkcyjnych jest ograniczony do kluczowych inżynierów zespołu."
      },
      "rights": {
        "title": "6. Twoje prawa (RODO)",
        "intro": "Zgodnie z Ogólnym Rozporządzeniem o Ochronie Danych, przysługują Ci następujące prawa:",
        "point_1": "<strong>Prawo dostępu i przenoszenia danych:</strong> możesz pobrać pełną kopię swoich danych (PDF/JSON) ze swojego konta.",
        "point_2": "<strong>Prawo do sprostowania:</strong> możesz w każdej chwili zmodyfikować swoje informacje.",
        "point_3": "<strong>Prawo do bycia zapomnianym:</strong> możesz trwale usunąć swoje konto oraz wszystkie powiązane dane w ustawieniach."
      },
      "cookies": {
        "title": "7. Pliki cookie",
        "content": "Używamy wyłącznie „niezbędnych” plików cookie koniecznych do utrzymania Twojej sesji (podtrzymanie zalogowania) oraz do celów bezpieczeństwa (ochrona przed atakami CSRF). Nie stosujemy inwazyjnych reklamowych ani śledzących plików cookie osób trzecich."
      }
    },
    "contact": {
      "title": "Skontaktuj się z nami",
      "text": "W przypadku jakichkolwiek pytań dotyczących niniejszej polityki lub chęci skorzystania ze swoich praw, skontaktuj się z naszym Inspektorem Ochrony Danych (IOD):"
    },
    "footer": {
      "terms": "Regulamin",
      "legal": "Informacje prawne",
      "rights": "Wszelkie prawa zastrzeżone."
    }
  },
  "inventory": {
    "nav": "Pokarm",
    "title": "Magazyn pokarmu",
    "subtitle": "Śledź zapasy pokarmu; karmienia mogą automatycznie zmniejszać stan magazynowy.",
    "add_item": "Dodaj pokarm",
    "empty_title": "Brak śledzonego pokarmu",
    "empty_desc": "Dodaj pozycję pokarmu (rodzaj + rozmiar), aby zacząć śledzić zapasy i otrzymywać alerty o niskim stanie.",
    "error": "Nie udało się wczytać magazynu.",
    "low_stock_banner": "{{count}} pozycja(e) na poziomie lub poniżej progu niskiego stanu.",
    "low_badge": "Niski stan",
    "unit_weight": "Jednostka",
    "threshold": "Próg",
    "unit_cost": "Koszt",
    "stock": "Stan",
    "history": "Historia",
    "confirm_delete": "Usunąć tę pozycję pokarmu?",
    "toast": {
      "created": "Dodano pozycję pokarmu",
      "updated": "Zaktualizowano pozycję pokarmu",
      "deleted": "Usunięto pozycję pokarmu",
      "stock_updated": "Zaktualizowano stan magazynowy",
      "error": "Coś poszło nie tak"
    },
    "modal": {
      "title_create": "Dodaj pozycję pokarmu",
      "title_edit": "Edytuj pozycję pokarmu",
      "prey_type": "Rodzaj pokarmu",
      "prey_size": "Rozmiar",
      "any_size": "Dowolny / nie dotyczy",
      "initial_qty": "Ilość początkowa",
      "unit_weight": "Waga jednostkowa (g)",
      "threshold": "Próg niskiego stanu",
      "unit_cost": "Koszt jednostkowy",
      "notes": "Notatki"
    },
    "stock_modal": {
      "title": "Aktualizuj stan magazynowy",
      "add": "Dodaj",
      "remove": "Usuń",
      "amount": "Ilość",
      "note": "Notatka",
      "current": "Aktualny stan: {{count}}"
    },
    "movements_title": "Ruchy magazynowe",
    "no_movements": "Brak ruchów magazynowych.",
    "reasons": {
      "purchase": "Zakup",
      "consumption": "Karmienie",
      "adjustment": "Korekta"
    },
    "filter": {
      "all_types": "Wszystkie rodzaje",
      "all_sizes": "Wszystkie rozmiary",
      "low_only": "Tylko niski stan",
      "clear": "Wyczyść",
      "count": "Wyświetlono: {{count}}",
      "none": "Żadna pozycja pokarmu nie pasuje do Twoich filtrów."
    }
  },
  "common": {
    "selected": "wybrano",
    "share": "Udostępnij",
    "download": "Pobierz",
    "confirm_delete_photos": "Usunąć {{count}} zdjęcie(a)?",
    "error_occurred": "Wystąpił błąd",
    "family_badge": "Rodzina",
    "date_placeHolder": "DD/MM/RRRR",
    "upgrade_now": "Ulepsz teraz",
    "back": "Wstecz",
    "back_dashboard": "Powrót do panelu",
    "you": "Ty",
    "backToHome": "Powrót do strony głównej",
    "cancel": "Anuluj",
    "chooseOption": "Wybierz opcję",
    "close": "Zamknij",
    "code": "Kod:",
    "confirm": "Potwierdź",
    "create": "Utwórz",
    "delete": "Usuń",
    "demo": "Demonstracja",
    "edit": "Edytuj",
    "error": "Błąd",
    "exportPdf": "Eksportuj PDF",
    "finish": "Zakończ",
    "formatCard": "dd MMM yyyy",
    "generatedOn": "Wygenerowano dnia",
    "loading": "Wczytywanie...",
    "loggedAs": "Zalogowano jako",
    "next": "Dalej",
    "notAvailable": "Nie dotyczy",
    "page": "Strona",
    "understood": "Zrozumiano",
    "report": "Zgłoś",
    "uploading": "Przesyłanie...",
    "retry": "Ponów",
    "save": "Zapisz",
    "saved": "Zapisano!",
    "saving": "Zapisywanie...",
    "select": "Wybierz…",
    "skip": "Pomiń",
    "ok": "OK",
    "success": "Sukces",
    "selectSnake": "Wybierz gada.",
    "unexpectedError": "Nieoczekiwany błąd",
    "unknown": "Nieznany",
    "update": "Aktualizuj",
    "unexpected_error": "Wystąpił nieoczekiwany błąd."
  },
  "family": {
    "manage_members": "Zarządzaj członkami",
    "manage_members_title": "Członkowie rodziny",
    "kick_member": "Usuń członka",
    "transfer_ownership": "Przekaż własność",
    "confirm_kick": "Czy na pewno chcesz usunąć tego członka z rodziny?",
    "confirm_transfer": "Uwaga: przekazując własność, staniesz się zwykłym członkiem i stracisz uprawnienia administratora. Kontynuować?",
    "transfer_success": "Własność została pomyślnie przekazana.",
    "members_count": "członek(-ów)",
    "leave_btn": "Opuść rodzinę",
    "leave_success": "Opuszczono rodzinę.",
    "leave_error": "Błąd podczas opuszczania rodziny.",
    "leave_confirm_title": "Opuścić rodzinę?",
    "leave_confirm_desc": "Czy na pewno chcesz opuścić „{{name}}”? Stracisz dostęp do danych.",
    "confirm_leave": "Opuść",
    "delete_btn": "Usuń rodzinę",
    "delete_confirm_title": "Usunąć rodzinę?",
    "delete_warning_1": "Ta czynność jest nieodwracalna.",
    "delete_warning_2": "Wszyscy członkowie zostaną usunięci. Upewnij się, że masz zapisane ważne dane.",
    "type_to_confirm": "Wpisz „{{name}}”, aby potwierdzić:",
    "single_family_policy_title": "Jedna rodzina naraz",
    "single_family_policy_desc": "Jesteś już członkiem rodziny. Aby dołączyć do innej lub utworzyć nową, musisz najpierw opuścić lub usunąć obecną rodzinę.",
    "delete_error": "Błąd podczas usuwania rodziny.",
    "my_families": "Moje rodziny",
    "no_family": "Nie należysz jeszcze do żadnej rodziny.",
    "create_prompt": "Załóż teraz swoją grupę hodowlaną!",
    "join_title": "Dołącz do rodziny",
    "join_placeholder": "Wpisz kod zaproszenia...",
    "join_btn": "Dołącz",
    "join_help": "Poproś właściciela hodowli o kod zaproszenia.",
    "code_label": "Kod:",
    "join_success": "Dołączono do rodziny!",
    "join_error": "Nieprawidłowy kod lub błąd.",
    "create_error": "Błąd podczas tworzenia.",
    "cannot_join_title": "Działanie niedozwolone",
    "cannot_join_owner": "Jako właściciel hodowli (rodziny) nie możesz obecnie dołączyć do innych rodzin.",
    "role": {
      "OWNER": "Właściciel",
      "ADMIN": "Administrator",
      "MEMBER": "Członek"
    },
    "create_modal": {
      "title": "Utwórz rodzinę",
      "name_label": "Nazwa Twojej hodowli / rodziny",
      "name_placeholder": "np. Pasja Gadów...",
      "description": "Utworzy to wspólną przestrzeń, do której możesz zaprosić innych członków.",
      "submit": "Utwórz przestrzeń"
    }
  },
  "dashboard": {
    "community": "Społeczność",
    "switch_space": "Zmień przestrzeń",
    "mySpace": "Moja przestrzeń",
    "create_family": "Utwórz rodzinę",
    "familySnakes": "Gady rodziny",
    "noEventsSubtitle": "Dodaj wydarzenie, aby śledzić historię.",
    "lockedSnake": "Zablokowany gad",
    "upgradeToAccess": "Przejdź na Pro, aby uzyskać dostęp",
    "addEvent": "Dodaj wydarzenie",
    "addFirstSnake": "Zacznij od dodania pierwszego gada do kolekcji.",
    "addFirstSnakeBtn": "Dodaj pierwszego gada",
    "addSnake": "Dodaj gada",
    "dropHere": "Upuść tutaj, aby umieścić na końcu",
    "errorLoadingEvents": "Błąd wczytywania wydarzeń",
    "errorLoadingSnakes": "Błąd wczytywania gadów",
    "filter": "Filtr",
    "filters": {
      "all": "Wszystkie",
      "female": "Samice",
      "male": "Samce",
      "needsFeeding": "Wymaga karmienia",
      "recentChanges": "Ostatnie zmiany",
      "unknown": "Płeć nieznana"
    },
    "loadingEvents": "Wczytywanie wydarzeń...",
    "loadingSnakes": "Wczytywanie gadów...",
    "mySnakes": "Moje gady",
    "noEvents": "Brak ostatnich wydarzeń",
    "noSnakes": "Nie znaleziono gadów",
    "noSnakesSubtitle": "Żaden gad nie pasuje do wyszukiwania.",
    "recentEvents": "Ostatnie wydarzenia",
    "search": "Szukaj gadów...",
    "settings": "Ustawienia",
    "signOut": "Wyloguj się",
    "stats": {
      "allTime": "Cały czas",
      "lastWeek": "Ostatnie 7 dni",
      "recentFeedings": "Ostatnie karmienia",
      "recentSheds": "Ostatnie linienia",
      "thisMonth": "w tym miesiącu",
      "thisWeek": "W tym tygodniu",
      "totalEvents": "Łączna liczba wydarzeń",
      "totalSnakes": "Łączna liczba gadów"
    },
    "subtitle": "Zarządzaj swoją kolekcją gadów",
    "title": "Panel",
    "viewAllEvents": "Zobacz wszystkie wydarzenia"
  },
  "featuresPage": {
    "seo": {
      "title": "Funkcje zarządzania hodowlą gadów | ReptiNode",
      "description": "Poznaj kompleksowe narzędzia dla herpetologów: śledzenie wagi, generowanie kodów QR, dokumentację medyczną, harmonogramy karmienia i zarządzanie genetyką."
    },
    "hero": {
      "badge": "Pełny przegląd",
      "title_part1": "Kompleksowa platforma do zarządzania dla",
      "title_highlight": "nowoczesnego hodowcy",
      "subtitle": "Koniec z zagubionymi notatnikami i chaotycznymi plikami Excel. ReptiNode centralizuje wszystkie kluczowe dane Twoich gadów w płynnym i bezpiecznym interfejsie."
    },
    "weight": {
      "title": "Śledzenie wzrostu i biometria",
      "description": "Krzywa wagi jest podstawowym wskaźnikiem zdrowia gada. Nasz moduł pozwala natychmiast zwizualizować rozwój Twoich zwierząt.",
      "list": {
        "1": "Automatyczne interaktywne wykresy",
        "2": "Wykrywanie nieprawidłowej utraty wagi",
        "3": "Nieograniczona historia ważeń",
        "4": "Porównanie ze średnimi dla gatunku"
      },
      "graph_title": "Waga - Ball Python #04",
      "graph_subtitle": "+12% vs poprzedni miesiąc"
    },
    "qrcode": {
      "title": "Inteligentne etykiety z kodem QR",
      "description": "Skończ z zgadywaniem, kiedy dany gad jadł ostatni raz. Naklej kod QR na każde terrarium lub pojemnik w racku, aby uzyskać natychmiastowy dostęp.",
      "list": {
        "1": "Generowanie plików PDF gotowych do druku",
        "2": "Szybkie skanowanie aparatem z telefonu",
        "3": "Aktualizuj kartę bez dotykania zwierzęcia",
        "4": "Tryb „Rack” do skanowania seryjnego"
      },
      "scan_me": "Zeskanuj mnie!"
    },
    "feeding": {
      "title": "Zarządzanie posiłkami i przypomnienia",
      "description": "Zarządzaj cyklem karmienia setek gadów bez błędów. ReptiNode oblicza kolejne posiłki na podstawie ustalonej przez Ciebie częstotliwości.",
      "list": {
        "1": "Inteligentny kalendarz karmienia",
        "2": "Zarządzanie zapasem pokarmu (mrożony/żywy)",
        "3": "Śledzenie odmów pokarmu i głodówek",
        "4": "Powiadomienia przypominające w danym dniu"
      },
      "card_scheduled_title": "Karmienie zaplanowane na dziś",
      "card_scheduled_desc": "5 węży do nakarmienia (szczur M)",
      "card_refusal_title": "Odmowa posiłku - Gecko #01",
      "card_refusal_desc": "Odnotowano 2 dni temu"
    },
    "health_genetics": {
      "title": "Zdrowie weterynaryjne i genetyka",
      "subtitle": "Dla profesjonalnych hodowców identyfikowalność jest obowiązkowa. Upraszczamy Twoje rejestry i plany hodowlane.",
      "medical_title": "Monitoring medyczny",
      "medical_desc": "Rejestruj linienia, leczenie, wizyty u weterynarza i codzienne obserwacje. Wyeksportuj historię jednym kliknięciem dla weterynarza.",
      "genetic_title": "Kalkulator genetyczny",
      "genetic_desc": "Planuj swoje kojarzenia. Połącz rodziców z potomstwem, aby automatycznie generować drzewa genealogiczne i śledzić mutacje."
    },
    "cta": {
      "title": "Gotowy, aby unowocześnić swoją hodowlę?",
      "subtitle": "Dołącz do hodowców, którzy zamienili papier na ReptiNode. Całkowicie za darmo.",
      "button": "Zacznij teraz!"
    }
  },
  "features": {
    "analytics": {
      "description": "Wizualny wgląd we wzorce wzrostu, skuteczność karmienia i trendy zdrowotne.",
      "title": "Analizy i wykresy"
    },
    "detailedProfiles": {
      "description": "Kompletne profile gadów ze zdjęciami, informacjami o gatunku, genetyką i dokumentacją zdrowotną.",
      "title": "Szczegółowe profile"
    },
    "eventTracking": {
      "description": "Monitoruj harmonogramy karmienia, cykle linienia i wizyty weterynaryjne.",
      "title": "Śledzenie wydarzeń"
    },
    "exportReports": {
      "description": "Generuj raporty PDF i Excel dla weterynarzy lub dokumentacji hodowlanej.",
      "title": "Eksport raportów"
    },
    "multiUser": {
      "description": "Udostępniaj dostęp partnerom, weterynarzom lub współpracownikom hodowlanym.",
      "title": "Dostęp wielu użytkowników"
    },
    "photoManagement": {
      "description": "Organizuj i śledź zdjęcia ze znacznikami daty i automatycznymi galeriami.",
      "title": "Zarządzanie zdjęciami"
    },
    "subtitle": "Kompleksowe narzędzia zaprojektowane specjalnie dla miłośników gadów i profesjonalnych hodowców.",
    "title": "Wszystko, czego potrzebujesz do zarządzania swoją kolekcją"
  },
  "public_profile": {
    "errors": {
      "not_found": "Zwierzę nie zostało znalezione lub zostało sprzedane.",
      "loading": "Błąd ładowania",
      "access_title": "Profil niedostępny"
    },
    "status_available": "Dostępny",
    "share_alert": "Link skopiowany!",
    "labels": {
      "morph": "Morfa",
      "sex": "Płeć",
      "age": "Wiek",
      "weight": "Waga",
      "length": "Długość"
    },
    "units": {
      "year": "rok",
      "year_plural": "lata"
    },
    "defaults": {
      "classic": "Classic",
      "na": "N/D"
    },
    "certification_text": "To zwierzę pochodzi z mojej certyfikowanej hodowli. Zeskanuj, aby zobaczyć pełną historię przy przekazaniu.",
    "email_subject": "Zainteresowanie: {{name}}",
    "contact_button": "Skontaktuj się z hodowcą",
    "contact_unavailable": "Kontakt niedostępny",
    "footer_generated": "Karta wygenerowana przez aplikację ReptiNode",
    "password": {
      "title": "Profil chroniony hasłem",
      "desc": "Ten profil jest chroniony hasłem.",
      "placeholder": "Hasło",
      "wrong": "Nieprawidłowe hasło.",
      "submit": "Wejdź"
    },
    "forSale": {
      "forSale": "Na sprzedaż",
      "reserved": "Zarezerwowany",
      "sold": "Sprzedany",
      "contact": "Kontakt",
      "morphmarket": "MorphMarket"
    },
    "cert": {
      "verified": "Zweryfikowany certyfikat autentyczności",
      "show": "Pokaż",
      "hide": "Ukryj",
      "breeder": "Hodowca",
      "currentOwner": "Obecny właściciel",
      "genetics": "Genetyka",
      "chain": "Historia własności",
      "verifiedAt": "Zweryfikowano dnia {{date}} · ReptiNode"
    }
  },
  "terms": {
    "nav": {
      "back": "Wstecz"
    },
    "header": {
      "badge": "Podstawowe zasady",
      "title": "Regulamin",
      "subtitle": "Regulamin i warunki sprzedaży – obowiązuje od 22 listopada 2025 r."
    },
    "tldr": {
      "title": "W skrócie (najważniejsze informacje)",
      "point_1": "Dozwolone użycie prywatne i profesjonalne.",
      "point_2": "Subskrypcja Pro nie wiąże się z zobowiązaniem – możesz ją anulować w dowolnym momencie.",
      "point_3": "Pozostajesz właścicielem swoich danych.",
      "point_4": "Nie odpowiadamy za zdrowie Twoich zwierząt (skonsultuj się z weterynarzem)."
    },
    "sections": {
      "object": {
        "title": "1. Przedmiot",
        "content": "Niniejsze Ogólne Warunki Korzystania i Sprzedaży (zwane dalej „Regulaminem”) regulują korzystanie ze strony i aplikacji ReptiNode. Zakładając konto, akceptujesz niniejsze warunki bez zastrzeżeń."
      },
      "access": {
        "title": "2. Dostęp do usługi",
        "p1": "Usługa jest dostępna bezpłatnie (Plan Discovery) z ograniczoną liczbą funkcji. Zaawansowane funkcje (Plan Pro) wymagają płatnej subskrypcji.",
        "p2": "Odpowiadasz za poufność swoich danych logowania. Wszelkie działania wykonane z Twojego konta uznaje się za wykonane przez Ciebie."
      },
      "payment": {
        "title": "3. Subskrypcje i płatności",
        "sub_1_title": "3.1 Cennik",
        "sub_1_content": "Ceny podane są w euro (€) z uwzględnieniem wszystkich podatków. ReptiNode zastrzega sobie prawo do zmiany cen w dowolnym momencie, jednak zobowiązuje się do stosowania stawek obowiązujących w chwili subskrypcji.",
        "sub_2_title": "3.2 Płatność",
        "sub_2_content": "Płatności są zabezpieczone i przetwarzane przez naszego partnera Stripe. Żadne dane bankowe nie przechodzą przez nasze serwery w formie niezaszyfrowanej.",
        "sub_3_title": "3.3 Anulowanie",
        "sub_3_content": "Subskrypcja nie wiąże się z zobowiązaniem. Możesz ją anulować w dowolnym momencie w sekcji „Ustawienia”. Anulowanie wejdzie w życie z końcem bieżącego okresu rozliczeniowego. Nie są zwracane środki proporcjonalne do niewykorzystanego okresu."
      },
      "liability": {
        "title": "4. Ograniczona odpowiedzialność",
        "intro_bold": "ReptiNode to narzędzie do zarządzania, a nie weterynarz.",
        "intro_text": "Udostępniamy narzędzia do śledzenia wagi, karmień i rozrodu. Jednak:",
        "list_1": "Nie gwarantujemy powodzenia Twoich projektów hodowlanych.",
        "list_2": "Nie ponosimy odpowiedzialności za zdrowie Twoich zwierząt. Powiadomienia w aplikacji nie zastępują porady specjalisty.",
        "list_3": "Nie ponosimy odpowiedzialności za utratę danych spowodowaną poważną awarią, choć robimy wszystko, co możliwe (codzienne kopie zapasowe), aby temu zapobiec."
      },
      "user_content": {
        "title": "5. Treści użytkownika",
        "content": "Zobowiązujesz się nie publikować na platformie (w tym w notatkach lub zdjęciach) żadnych treści, które są niezgodne z prawem, nawołują do nienawiści, mają charakter pornograficzny lub nawołują do okrucieństwa wobec zwierząt. ReptiNode zastrzega sobie prawo do zawieszenia każdego konta naruszającego tę zasadę, bez uprzedzenia i bez zwrotu kosztów."
      },
      "law": {
        "title": "6. Prawo właściwe",
        "content": "Niniejsze warunki podlegają prawu francuskiemu. W przypadku sporu, w razie braku polubownego rozwiązania, wyłączną jurysdykcję będą miały sądy w Paryżu."
      }
    },
    "footer": {
      "privacy": "Polityka prywatności",
      "legal": "Nota prawna",
      "rights": "Wszelkie prawa zastrzeżone."
    }
  },
  "qrcode": {
    "studio": "Studio druku",
    "previewFormat": "Format: {{format}}",
    "downloadLabel": "Drukuj etykietę",
    "scanMe": "ZESKANUJ MNIE",
    "normalMorph": "Normal",
    "printedOn": "Wydrukowano: {{date}}",
    "forSale": "NA SPRZEDAŻ",
    "idLabel": "ID: {{id}}",
    "scanForPrice": "ZESKANUJ, ABY POZNAĆ CENĘ",
    "private": {
      "title": "Prywatny",
      "desc": "Panel"
    },
    "public": {
      "title": "Publiczny",
      "desc": "Witryna sprzedażowa"
    },
    "format": {
      "title": "Format",
      "standard": "Standard",
      "deli": "Deli Cup",
      "strip": "Pasek racka",
      "card": "Karta terrarium"
    },
    "design": {
      "title": "Wygląd i marka",
      "logoTitle": "Logo na środku",
      "logoNone": "Brak",
      "logoSnake": "Gad",
      "logoUpload": "Prześlij..."
    },
    "options": {
      "addPrintDate": "Dodaj datę wydruku",
      "addPrintDateHint": "Przydatne do śledzenia aktualności wyświetlanych informacji."
    },
    "colors": {
      "black": "Czarny (standardowy)",
      "green": "Zielony (zdrowy/dostępny)",
      "blue": "Niebieski (hodowlany)",
      "purple": "Fioletowy (holdback)",
      "pink": "Różowy (samica)",
      "orange": "Pomarańczowy (wylinka)",
      "red": "Czerwony (sprzedany/chory)",
      "gold": "Złoty (specjalny)"
    },
    "customColor": "Kolor niestandardowy"
  },
  "enclosures": {
    "unavailable": "Terrarium niedostępne",
    "occupants": "{{count}} mieszkaniec(-ów)",
    "noPublic": "Brak publicznego gada w tym terrarium.",
    "title": "Terraria i racki",
    "backDashboard": "Panel",
    "name": "Nazwa",
    "namePlaceholder": "Terrarium A1",
    "type": "Typ",
    "typeTerrarium": "Terrarium",
    "typeRack": "Rack",
    "typeBin": "Pojemnik",
    "typeRoom": "Pomieszczenie",
    "create": "Utwórz",
    "empty": "Brak terrariów. Utwórz jedno, aby wygenerować kod QR dla terrarium/racku.",
    "reptileCount": "{{count}} gad(ów)",
    "qrActive": "QR aktywny",
    "back": "Wstecz",
    "deleteConfirm": "Usunąć to terrarium? Gady zostaną odłączone (nie usunięte).",
    "qrTitle": "Kod QR terrarium",
    "visPrivate": "Prywatne (bez strony publicznej)",
    "visUnlisted": "Niepubliczne (dostępne przez link)",
    "visPublic": "Publiczne",
    "qrHint": "Ustaw terrarium jako niepubliczne lub publiczne, aby wygenerować kod QR.",
    "view": "Podgląd",
    "occupantsTitle": "Mieszkańcy",
    "removeOccupant": "Usuń",
    "noOccupants": "Brak gada w tym terrarium.",
    "addReptile": "Dodaj gada",
    "choose": "Wybierz…",
    "copyLink": "Kopiuj link",
    "single": "Terrarium"
  },
  "pricing": {
    "monthly": "Miesięcznie",
    "professional": {
      "cta": "Subskrybuj teraz",
      "duration": " / miesiąc",
      "features": {
        "birthCertificates": "Certyfikaty (urodzenia, tożsamości, przekazania…) w formacie PDF",
        "eggTracking": "Śledzenie jaj i inkubacji (temperatura, wilgotność, terminy wyklucia)",
        "genetics": "Kalkulator genetyki i przewidywanie morf",
        "pairing": "Zarządzanie parowaniem i notatki",
        "pedigree": "Drzewo rodowodowe i eksport do PDF",
        "snakes": "Nielimitowana liczba gadów i zniesień"
      },
      "popular": "Najpopularniejszy",
      "price": "9,99 €",
      "title": "Professional",
      "yearlyDuration": " / rok",
      "yearlyPrice": "99 €",
      "yearlySavings": "2 miesiące gratis w porównaniu z opcją miesięczną"
    },
    "save2Months": "Zaoszczędź 2 miesiące",
    "starter": {
      "cta": "Zacznij teraz",
      "duration": "",
      "features": {
        "photos": "Przechowywanie zdjęć",
        "snakes": "Do 30 gadów",
        "tracking": "Podstawowe śledzenie zdarzeń"
      },
      "price": "Za darmo",
      "title": "Starter"
    },
    "subtitle": "Wybierz plan dopasowany do wielkości Twojej kolekcji",
    "title": "Proste, przejrzyste ceny",
    "yearly": "Rocznie"
  },
  "genetics": {
    "calculate": "Oblicz prawdopodobieństwa",
    "emptyAfterSelect": "Kliknij „Oblicz”, aby zobaczyć przewidywania",
    "femaleParent": "Rodzic (samica)",
    "loadingRegistry": "Wczytywanie rejestru genetycznego…",
    "maleParent": "Rodzic (samiec)",
    "morphLabel": "Morfa",
    "normal": "Normal",
    "results": {
      "commons": "Wspólne czynniki (100%):",
      "genes": "Geny",
      "het": "Het/Nosiciel",
      "methodNote": "Dane obliczane dla każdego locus (dominujący, recesywny, niepełny), z agregacją, sprawdzaniem kompleksów allelicznych, nazwami międzyallelicznymi/nazwanymi kombinacjami oraz niestandardowymi „superami” zdefiniowanymi w rejestrze JSON.",
      "probability": "prawdopodobieństwo",
      "title": "Przewidywane wyniki genetyczne",
      "visual": "Wizualny"
    },
    "selectFemale": "Wybierz samicę…",
    "selectMale": "Wybierz samca…",
    "subtitle": "Krzyżówki mendlowskie dla każdego locus, sprawdzanie kompleksów allelicznych, fenotypy międzyalleliczne, supery i nazwane kombinacje, obsługa wielu gatunków dzięki rejestrom JSON.",
    "title": "Kalkulator genetyki",
    "violations": {
      "hint": "Popraw genetykę rodzica: rodzic nie może nosić wielu alleli z tego samego kompleksu.",
      "title": "Konflikt(y) alleliczne w obrębie tego samego kompleksu"
    },
    "warn": {
      "unsupportedSpecies": "Kalkulator genetyczny nie jest jeszcze dostępny dla gatunku {{species}}.",
      "allelicConflictMessage": "Aby obliczenia były wiarygodne, oboje rodzice muszą należeć do tego samego gatunku.",
      "registryFallback": "Nie można wczytać zewnętrznego pliku JSON. Używany jest minimalny lokalny rejestr (zapasowy)."
    }
  },
  "feedback": {
    "header": {
      "title": "Twoja opinia się liczy",
      "subtitle": "Pomóż nam stworzyć najlepszą platformę dla Twoich gadów."
    },
    "rating_label": "Oceń swoje doświadczenie",
    "category_label": "Temat",
    "message_label": "Twoja wiadomość",
    "message_placeholder": "Napisz, co Ci się podoba lub co możemy poprawić...",
    "submit_button": "Wyślij opinię",
    "categories": {
      "general": "Ogólna opinia",
      "feature": "Pomysł / funkcja",
      "bug": "Problem / błąd",
      "ui": "Design / UX"
    },
    "rating_labels": {
      "1": "Niezadowolony(-a) 😞",
      "2": "Mogłoby być lepiej 😕",
      "3": "Dobrze 🙂",
      "4": "Bardzo dobrze! 😊",
      "5": "Świetnie! 🎉"
    },
    "success": {
      "title": "Bardzo dziękujemy!",
      "message": "Twoja opinia jest cenna i pomaga nam każdego dnia ulepszać ReptiNode.",
      "button": "Powrót do panelu"
    },
    "errors": {
      "rating_required": "Wybierz ocenę."
    },
    "footer_thanks": "Dziękujemy za Twój wkład."
  },
  "add_snake": {
    "title": "Dodaj gada",
    "edit_title": "Edytuj profil",
    "photo_label": "Zdjęcie gada",
    "add_photo_btn": "Dodaj zdjęcie",
    "name_label": "Imię",
    "species_label": "Gatunek",
    "morph_label": "Morfa",
    "locality_label": "Lokalizacja",
    "locus_label": "Locus (genetyka)",
    "sex_label": "Płeć",
    "sex_unknown": "Nieznana",
    "sex_male": "Samiec",
    "sex_female": "Samica",
    "birth_date_label": "Data urodzenia (lub nabycia)",
    "notes_label": "Notatki",
    "name_placeholder": "Np. Banana Pied #05",
    "weight_label": "Waga początkowa (g)"
  },
  "contact": {
    "nav": {
      "back": "Wstecz"
    },
    "header": {
      "title": "Skontaktuj się z nami",
      "subtitle": "Masz pytanie dotyczące swoich gadów? Nasz zespół jest do Twojej dyspozycji."
    },
    "info": {
      "title": "Dane kontaktowe",
      "email_label": "E-mail",
      "office_label": "Biuro"
    },
    "form": {
      "title": "Wyślij nam wiadomość",
      "name_label": "Imię i nazwisko",
      "name_placeholder": "Jan Kowalski",
      "email_label": "E-mail",
      "message_label": "Wiadomość",
      "message_placeholder": "W czym mogę pomóc...",
      "submit_button": "Wyślij wiadomość",
      "sending": "Wysyłanie...",
      "success_title": "Wiadomość wysłana!",
      "success_message": "Otrzymaliśmy Twoje zgłoszenie i odpowiemy w ciągu 24 godzin.",
      "send_another": "Wyślij kolejną wiadomość"
    }
  },
  "avatarCropper": {
    "title": "Przytnij awatar",
    "header": "Edytor awatara",
    "newDesignBadge": "Nowy design",
    "zoom": "Powiększenie",
    "zoomOut": "Pomniejsz",
    "zoomIn": "Powiększ",
    "zoomLevel": "Poziom powiększenia",
    "reset": "Resetuj",
    "fit": "Dopasuj",
    "center": "Wyśrodkuj",
    "tipTitle": "Wskazówka",
    "tip1": "Przeciągnij, aby przesunąć obraz",
    "tip2": "Kółko myszy/szczypanie, aby powiększyć",
    "tip3": "Skróty: <1>+</1>/<3>-</3>, strzałki, <5>0</5>, <7>Enter</7>, <9>Esc</9>",
    "apply": "Zastosuj"
  },
  "claim": {
    "success": "Przeniesienie zakończone sukcesem!",
    "successDesc": "{{name}} jest teraz częścią Twojej kolekcji.",
    "viewSheet": "Zobacz profil",
    "unavailable": "Przeniesienie niedostępne",
    "title": "Przeniesienie własności",
    "currentOwner": "Obecny właściciel: {{owner}}",
    "explain": "Po zaakceptowaniu ten gad wraz z jego historią zostanie przeniesiony na Twoje konto.",
    "accept": "Zaakceptuj przeniesienie",
    "loginToAccept": "Zaloguj się, aby zaakceptować",
    "error": "Przeniesienie nie powiodło się",
    "notFound": "Nie znaleziono przeniesienia"
  },
  "iosInstallPrompt": {
    "title": "Zainstaluj ReptiNode",
    "subtitle": "Aplikacja dla Twoich gadów, na Twoim iPhonie.",
    "step1Prefix": "1. Stuknij ",
    "step1Highlight": "Udostępnij",
    "step1Suffix": " na dole ekranu Safari.",
    "step2Prefix": "2. Przewiń w dół i wybierz ",
    "step2Highlight": "Dodaj do ekranu początkowego",
    "step3Prefix": "3. Na koniec stuknij ",
    "step3Highlight": "Dodaj",
    "step3Suffix": " w prawym górnym rogu, aby zakończyć."
  },
  "notifications_bell": {
    "title": "Powiadomienia",
    "empty": "Brak powiadomień",
    "mark_all_read": "Oznacz wszystkie jako przeczytane",
    "see_analytics": "Zobacz statystyki",
    "loading": "Ładowanie…",
    "open_aria": "Powiadomienia",
    "unread_aria": "{{count}} nieprzeczytanych",
    "delete": "Usuń"
  },
  "footer": {
    "about": "O nas",
    "company": "Firma",
    "description": "Profesjonalne zarządzanie gadami dla pasjonatów i hodowców.",
    "privacy": "Prywatność",
    "product": "Produkt",
    "rights": "Wszelkie prawa zastrzeżone.",
    "support": "Wsparcie",
    "terms": "Regulamin"
  },
  "surveyWidget": {
    "default_title": "Twoja opinia",
    "thanks": "Dziękujemy za opinię! 🙏",
    "later": "Później",
    "send": "Wyślij",
    "hint_nps": "Ocena: {{score}}/10 — komentarz (opcjonalnie)?",
    "hint_csat": "Ocena: {{score}}/5 — komentarz (opcjonalnie)?",
    "ph_text": "Twoja odpowiedź…",
    "ph_optional": "Powiedz nam więcej (opcjonalnie)…"
  },
  "snakeBadges": {
    "public": "Publiczny",
    "unlisted": "Link",
    "forSale": "Na sprzedaż",
    "reserved": "Zarezerwowany",
    "sold": "Sprzedany",
    "publicTitle": "Profil publiczny",
    "unlistedTitle": "Dostępny przez link"
  },
  "language": {
    "changed": "Język zaktualizowany",
    "current": "Obecny: {{lang}}",
    "names": {
      "en": "Angielski",
      "es": "Hiszpański",
      "fr": "Francuski"
    },
    "selector": {
      "label": "Język"
    }
  },
  "upgrade": {
    "choosePlan": "Wybierz ten plan",
    "description": "Ulepsz plan, aby dalej dodawać dane i uzyskać dostęp do wszystkich funkcji Pro.",
    "guarantee": "30-dniowa gwarancja zwrotu pieniędzy. Anuluj w dowolnym momencie.",
    "limitReached": "Osiągnięto limit darmowego planu",
    "processing": "Przetwarzanie…",
    "unlockFull": "Odblokuj pełny potencjał"
  },
  "hero": {
    "description": "Śledź, zarządzaj i monitoruj swoją kolekcję gadów dzięki kompleksowej dokumentacji zdrowotnej, harmonogramom karmienia i szczegółowym statystykom.",
    "learnMore": "Dowiedz się więcej",
    "subtitle": "W prosty sposób",
    "title": "Profesjonalne zarządzanie gadami",
    "tryFree": "Zacznij teraz"
  },
  "nav": {
    "backToHome": "Powrót do strony głównej",
    "contact": "Kontakt",
    "features": "Funkcje",
    "pricing": "Cennik",
    "signIn": "Zaloguj się"
  },
  "testimonials": {
    "testimonial1": "ReptiNode zrewolucjonizował sposób, w jaki śledzę moją kolekcję. Harmonogramy karmienia i monitorowanie zdrowia są bezcenne.",
    "testimonial2": "Funkcje analityczne pomagają mi optymalizować harmonogramy karmienia i śledzić wzorce wzrostu jak nigdy dotąd.",
    "testimonial3": "Jako weterynarzowi szczegółowa dokumentacja zdrowotna i funkcje eksportu znacznie ułatwiają mi pracę.",
    "title": "Zaufali nam pasjonaci gadów"
  },
  "units": {
    "cm": "cm",
    "days": "dni",
    "g": "g",
    "grams": "g"
  },
  "androidInstallPrompt": {
    "title": "Zainstaluj ReptiNode",
    "subtitle": "Dodaj aplikację do ekranu głównego, aby mieć łatwiejszy dostęp.",
    "button": "Zainstaluj teraz"
  },
  "landing": {
    "roles": {
      "exoticVeterinarian": "Weterynarz zwierząt egzotycznych",
      "professionalBreeder": "Profesjonalny hodowca",
      "reptileEnthusiast": "Pasjonat gadów"
    }
  },
  "sex": {
    "female": "Samica",
    "male": "Samiec",
    "unknown": "Nieznana"
  },
  "maintenance": {
    "title": "Trwa konserwacja",
    "defaultMessage": "Usługa jest tymczasowo niedostępna, wkrótce wracamy."
  },
  "charts": {
    "interval": "Interwał"
  },
  "date": {
    "cardStyle": "medium"
  },
  "families": {
    "family": "Rodzina"
  },
  "html2canvas": "html2canvas",
  "jspdf": "jsPDF",
  "script": "script"
}
