mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 20:42:43 +00:00
The native client SPKI-pins the server's TLS leaf certificate. When the leaf auto-renews (GTS re-issues it roughly every 90 days) the leaf keypair — and so the SPKI pin — changes, and a client shipped only the old pin refuses to connect on the next renewal: a silent outage. Nothing server-side signalled that a client pins the served leaf. Add a pg-boss monitor that probes the served leaf every 6 hours, computes its iOS SPKI pin (base64(sha256(DER subjectPublicKeyInfo)) via a raw TLS socket + X509Certificate), and compares it against the operator's known-good set in TLS_LEAF_SPKI_PINS (comma-separated for the dual-pin renewal window). On a served pin outside the set it fails loud: a tls.pin.leaf_changed wide-event annotation, a system.tls.pin_changed audit row, and a high-priority SYSTEM_ALERT fanned out to admins through the existing dispatcher idiom. Transient TLS/network failures annotate tls.pin.probe_failed and never alarm. The baseline is an env var, not a persisted last-seen row — a self-learning baseline would silently adopt the first rotation and suppress the alarm the pinned client needs; an unset baseline logs the served pin and warns rather than auto-adopting. The runbook documents extraction, the re-pin + dual-pin procedure (≥11 days before expiry, ship to TestFlight), and the assumption that the probed host is the host the client connects to. Wires the queue into the worker (allQueues + cron + worker), adds the optional env to the manifest, compose whitelist, and .env example, and covers the SPKI computation + change detection with a fixture-cert unit test plus a queue-registration guard. (cherry picked from commit cdb88cd77b88aec71ad2f21caf2b15c185dfc01e)
4815 lines
232 KiB
JSON
4815 lines
232 KiB
JSON
{
|
||
"common": {
|
||
"save": "Zapisz",
|
||
"cancel": "Anuluj",
|
||
"delete": "Usuń",
|
||
"edit": "Edytuj",
|
||
"moreOptions": "Więcej opcji",
|
||
"create": "Utwórz",
|
||
"close": "Zamknij",
|
||
"loading": "Ładowanie…...",
|
||
"loadFailed": "Nie udało się załadować",
|
||
"error": "Błąd",
|
||
"saved": "Zapisano",
|
||
"no": "Nie",
|
||
"noData": "Brak danych",
|
||
"optional": "Opcjonalne",
|
||
"active": "Aktywne",
|
||
"inactive": "Nieaktywne",
|
||
"enabled": "Włączone",
|
||
"disabled": "Wyłączone",
|
||
"networkError": "Błąd sieci",
|
||
"unknownError": "Nieznany błąd",
|
||
"copied": "Skopiowano!",
|
||
"or": "lub",
|
||
"unknown": "Nieznane",
|
||
"add": "Dodaj",
|
||
"import": "Importuj",
|
||
"test": "Testuj",
|
||
"reset": "Resetuj",
|
||
"copy": "Kopiuj",
|
||
"copyDetails": "Kopiuj szczegóły",
|
||
"retry": "Spróbuj ponownie",
|
||
"reportIssue": "Zgłoś problem",
|
||
"showPassword": "Pokaż hasło",
|
||
"hidePassword": "Ukryj hasło"
|
||
},
|
||
"doctorReport": {
|
||
"title": "Raport zdrowotny",
|
||
"subtitle": "HealthLog — Osobisty raport zdrowotny",
|
||
"patient": "Pacjent",
|
||
"dateOfBirth": "Data urodzenia",
|
||
"gender": "Płeć",
|
||
"genderMale": "Mężczyzna",
|
||
"genderFemale": "Kobieta",
|
||
"genderOther": "Niebinarna",
|
||
"height": "Wzrost",
|
||
"period": "Okres raportu",
|
||
"createdOn": "Utworzono",
|
||
"vitalsTitle": "Parametry życiowe — Podsumowanie",
|
||
"colParameter": "Parametr",
|
||
"colCurrent": "Aktualny",
|
||
"colAvgPeriod": "Śr. okresu",
|
||
"colMin": "Min",
|
||
"colMax": "Maks",
|
||
"colN": "n",
|
||
"bpClassificationTitle": "Ciśnienie tętnicze — klasyfikacja ESH (2023)",
|
||
"avgBp": "Średnie ciśnienie tętnicze",
|
||
"classification": "Klasyfikacja",
|
||
"bmiTitle": "Wskaźnik masy ciała (BMI)",
|
||
"bmiRow": "BMI:{bmi} kg/m² — Classification: {class} (WHO)",
|
||
"complianceTitle": "Przestrzeganie leków",
|
||
"glp1Title": "Terapia GLP-1",
|
||
"glp1WeightSummary": "Waga w okresie raportu: {start} kg → {end} kg ({delta} kg)",
|
||
"glp1CurrentDose": "Aktualna dawka:{value} {unit} (since {since})",
|
||
"glp1Compliance": "Przestrzeganie zaleceń:{taken} / {total} ({rate}%)",
|
||
"glp1SideEffectsTitle": "Zarejestrowane działania niepożądane",
|
||
"colGlp1Date": "Data",
|
||
"colGlp1Dose": "Dawka",
|
||
"colGlp1Note": "Notatka",
|
||
"colGlp1SideEffect": "Skutek uboczny",
|
||
"colMedication": "Lek",
|
||
"colTaken": "Przyjęte",
|
||
"colSkipped": "Pominięte",
|
||
"colMissed": "Pominięte",
|
||
"colTotal": "Razem",
|
||
"colComplianceRate": "Wskaźnik przestrzegania",
|
||
"moodTitle": "Przebieg nastroju",
|
||
"moodSummary": "Średnia:{avg} / 5.0 · Entries: {count} · Range: {min}–{max}",
|
||
"colMood": "Nastrój",
|
||
"colCount": "Liczba",
|
||
"colShare": "Udział",
|
||
"footerDisclaimer1": "Ten raport został wygenerowany automatycznie z danych samodzielnie rejestrowanych i ma na celu wspierać",
|
||
"footerDisclaimer2": "rozmowę lekarza z pacjentem. Nie zastępuje diagnozy medycznej. Korelacje nie oznaczają związku przyczynowego.",
|
||
"footerSource": "Źródło: HealthLog | Strefa czasowa: Europe/Berlin | Utworzono: {timestamp}",
|
||
"typeWeight": "Masa ciała",
|
||
"typeBpSys": "Ciśnienie skurczowe",
|
||
"typeBpDia": "Ciśnienie rozkurczowe",
|
||
"typePulse": "Tętno spoczynkowe",
|
||
"typeBodyFat": "Tkanka tłuszczowa",
|
||
"typeSleep": "Czas snu",
|
||
"typeSteps": "Aktywność (kroki)",
|
||
"typeTotalBodyWater": "Całkowita woda w organizmie",
|
||
"typeBoneMass": "Masa kostna",
|
||
"typeOxygenSaturation": "Saturacja tlenem",
|
||
"unitSteps": "Kroki",
|
||
"bmiUnderweight": "Niedowaga",
|
||
"bmiNormal": "Waga prawidłowa",
|
||
"bmiOverweight": "Nadwaga (preobesyty)",
|
||
"bmiObeseGrade1": "Otyłość I stopnia",
|
||
"bmiObeseGrade2": "Otyłość II stopnia",
|
||
"bmiObeseGrade3": "Otyłość III stopnia",
|
||
"bpOptimal": "Optymalne",
|
||
"bpNormal": "Prawidłowe",
|
||
"bpHighNormal": "Wysokie prawidłowe",
|
||
"bpHypertensionGrade1": "Nadciśnienie 1 stopnia",
|
||
"bpHypertensionGrade2": "Nadciśnienie 2 stopnia",
|
||
"bpHypertensionGrade3": "Nadciśnienie 3 stopnia",
|
||
"moodAwful": "Bardzo zły",
|
||
"moodBad": "Źle",
|
||
"moodNeutral": "Neutralny",
|
||
"moodGood": "Dobrze",
|
||
"moodGreat": "Bardzo dobry",
|
||
"typeGlucoseFasting": "Glukoza (na czczo)",
|
||
"typeGlucosePostprandial": "Glukoza (po posiłku)",
|
||
"typeGlucoseRandom": "Glukoza (dowolna)",
|
||
"typeGlucoseBedtime": "Glukoza (przed snem)",
|
||
"glucoseClassificationTitle": "Glikemia — zakresy referencyjne (ADA 2024 / DDG)",
|
||
"glucoseRow": "{label}: śr. {avg} {unit} (cel {rangeMin}–{rangeMax}) — {class}",
|
||
"glucoseInTarget": "w celu",
|
||
"glucoseBelowTarget": "poniżej celu",
|
||
"glucoseAboveTarget": "powyżej celu",
|
||
"practiceLabel": "Gabinet",
|
||
"dialog": {
|
||
"title": "Raport medyczny (PDF)",
|
||
"description": "Ustaw okres analizy i (opcjonalnie) nazwę gabinetu — oba pojawią się na stronie tytułowej.",
|
||
"startLabel": "Od",
|
||
"endLabel": "Do",
|
||
"practiceLabel": "Gabinet / klinika (opcjonalnie)",
|
||
"practicePlaceholder": "np. dr Müller — lekarz rodzinny",
|
||
"preset90d": "Ostatnie 90 dni",
|
||
"preset180d": "Ostatnie 6 miesięcy",
|
||
"preset365d": "Ostatnie 12 miesięcy",
|
||
"submit": "Wygeneruj PDF",
|
||
"cancel": "Anuluj",
|
||
"errorEndBeforeStart": "Data końcowa nie może być wcześniejsza niż początkowa.",
|
||
"errorRangeTooLong": "Okres analizy nie może przekraczać 2 lat.",
|
||
"errorInvalidDate": "Wybierz poprawną datę początku i końca."
|
||
},
|
||
"sections": {
|
||
"title": "Wybierz zawartość",
|
||
"bp": "Ciśnienie krwi",
|
||
"weight": "Waga",
|
||
"pulse": "Tętno spoczynkowe",
|
||
"bmi": "Wskaźnik masy ciała (BMI)",
|
||
"mood": "Nastrój",
|
||
"moodSensitive": "Wrażliwe — domyślnie wyłączone.",
|
||
"compliance": "Przestrzeganie leków",
|
||
"sleep": "Czas snu",
|
||
"empty": "Brak danych dla wybranego okresu. Raport zachowa stronę tytułową.",
|
||
"unavailableHint": "Brak danych w tym okresie"
|
||
},
|
||
"insurer": "Ubezpieczyciel zdrowotny",
|
||
"insuranceNumber": "Nr ubezpieczonego",
|
||
"summaryTitle": "Podsumowanie kliniczne",
|
||
"summaryReadings": "Zarejestrowano w ciągu {days} dni: {count} pomiarów w {params} parametrach.",
|
||
"summaryTrend": "{label}: ostatnio {latest} {arrow}",
|
||
"summaryAdherence": "Przestrzeganie zaleceń lekowych: {rate}% (średnia ważona).",
|
||
"chartsTitle": "Wykresy trendów",
|
||
"aiSummaryTitle": "Podsumowanie AI — niezweryfikowane klinicznie",
|
||
"aiSummaryDisclaimer": "Ta sekcja została wygenerowana automatycznie przez model AI i nie jest zweryfikowana klinicznie. Nie zastępuje oceny lekarskiej.",
|
||
"packageReadme": "Dokumentacja zdrowotna HealthLog\n\nTen pakiet zawiera:\n- report.pdf: raport zdrowotny dla lekarza.\n- bundle.json: te same dane jako dokument HL7 FHIR R4 (Bundle), zgodny z ePA.\n\nWygenerowano w HealthLog.",
|
||
"wellnessTitle": "Podsumowanie dobrostanu",
|
||
"wellnessDisclaimer": "To opisowe wyniki dobrostanu obliczone na podstawie śledzonych sygnałów (0–100). Nie są to oceny kliniczne ani diagnozy.",
|
||
"wellnessRecovery": "Regeneracja",
|
||
"wellnessStress": "Stres",
|
||
"wellnessStrain": "Obciążenie"
|
||
},
|
||
"errorBoundary": {
|
||
"title": "Coś poszło nie tak",
|
||
"description": "Wystąpił nieoczekiwany błąd. Możesz spróbować ponownie, skopiować szczegóły techniczne lub otworzyć zgłoszenie błędu."
|
||
},
|
||
"notFound": {
|
||
"title": "Ta strona nie istnieje.",
|
||
"backToDashboard": "Powrót do panelu"
|
||
},
|
||
"offlineBanner": {
|
||
"message": "Brak połączenia — twoje zmiany zostaną zapisane, gdy ponownie pojawisz się online."
|
||
},
|
||
"nav": {
|
||
"dashboard": "Panel",
|
||
"measurements": "Pomiary",
|
||
"medications": "Leki",
|
||
"insights": "Insights",
|
||
"targets": "Cele",
|
||
"achievements": "Osiągnięcia",
|
||
"settings": "Ustawienia",
|
||
"bugreport": "Zgłoszenie błędu",
|
||
"admin": "Konsola administratora",
|
||
"logout": "Wyloguj",
|
||
"login": "Zaloguj",
|
||
"about": "O HealthLog",
|
||
"notifications": "Centrum powiadomień",
|
||
"theme": "Wygląd",
|
||
"themeSystem": "Systemowy",
|
||
"themeDark": "Ciemny",
|
||
"themeLight": "Jasny",
|
||
"collapseSidebar": "Zwiń",
|
||
"userMenu": "Menu użytkownika",
|
||
"mood": "Nastrój",
|
||
"workouts": "Treningi",
|
||
"skipToContent": "Przejdź do treści",
|
||
"sidebar": "Pasek boczny",
|
||
"mainNavigation": "Nawigacja główna",
|
||
"mobileNavigation": "Nawigacja mobilna",
|
||
"breadcrumb": "Nawigacja okruszkami",
|
||
"loadingScreen": "Ładowanie…",
|
||
"more": "Więcej",
|
||
"moreSheetTitle": "Więcej",
|
||
"moreSheetDescription": "Przejdź do reszty HealthLog.",
|
||
"capture": {
|
||
"title": "Zapisz",
|
||
"description": "Co chcesz zapisać?",
|
||
"measurement": "Pomiar",
|
||
"measurementDescription": "Waga, ciśnienie, tętno i więcej",
|
||
"medication": "Lek",
|
||
"medicationDescription": "Oznacz dawkę jako przyjętą",
|
||
"mood": "Nastrój",
|
||
"moodDescription": "Zapisz nastrój i tagi"
|
||
}
|
||
},
|
||
"auth": {
|
||
"login": "Zaloguj się",
|
||
"register": "Zarejestruj się",
|
||
"username": "Nazwa użytkownika",
|
||
"password": "Hasło",
|
||
"email": "Adres e-mail",
|
||
"emailPlaceholder": "imie@przyklad.pl",
|
||
"emailOrUsername": "Adres e-mail lub nazwa użytkownika",
|
||
"emailOrUsernamePlaceholder": "imie@przyklad.pl lub nazwauzytkownika",
|
||
"loginWithPasskey": "Zaloguj się za pomocą passkey",
|
||
"loginWithPassword": "Zaloguj się hasłem",
|
||
"noAccount": "Nie masz jeszcze konta?",
|
||
"hasAccount": "Masz już konto?",
|
||
"loginFailed": "Logowanie nie powiodło się",
|
||
"registerFailed": "Rejestracja nie powiodła się",
|
||
"createAccount": "Utwórz konto",
|
||
"newAccount": "Utwórz nowe konto",
|
||
"backToPasskey": "Wróć do passkey",
|
||
"passkeySetupLater": "Passkey możesz skonfigurować później w ustawieniach.",
|
||
"passwordMinLength": "Min. 12 znaków",
|
||
"passwordTooShort": "Hasło musi mieć co najmniej {minLength} znaków.",
|
||
"privacyPolicy": "Polityka prywatności"
|
||
},
|
||
"dashboard": {
|
||
"title": "Pulpit",
|
||
"greeting": {
|
||
"morning": "Dzień dobry",
|
||
"day": "Cześć",
|
||
"evening": "Dobry wieczór"
|
||
},
|
||
"welcomeBack": "{greeting}, witaj ponownie.",
|
||
"welcomeBackWithName": "{greeting} {name}, witaj ponownie.",
|
||
"greetingSalutation": "Cześć, {name}",
|
||
"streakLabel": "dni z rzędu",
|
||
"weight": "Waga",
|
||
"bloodPressure": "Ciśnienie krwi",
|
||
"pulse": "Tętno",
|
||
"bodyFat": "Tkanka tłuszczowa",
|
||
"sleep": "Sen",
|
||
"steps": "Kroki",
|
||
"vo2Max": "VO₂ max",
|
||
"vo2MaxUnit": "mL/(kg·min)",
|
||
"bpInTarget": "RR w zakresie docelowym",
|
||
"weightShort": "Waga",
|
||
"bloodPressureSysShort": "RR (Sk)",
|
||
"bloodPressureDiaShort": "RR (Rk)",
|
||
"pulseShort": "Tętno",
|
||
"bodyFatShort": "TT",
|
||
"moodShort": "Nastrój",
|
||
"sleepShort": "Sen",
|
||
"stepsShort": "Kroki",
|
||
"vo2MaxShort": "VO₂ max",
|
||
"bpInTargetShort": "RR-cel",
|
||
"medications": "Leki",
|
||
"quickAddMeasurement": "Zarejestruj pomiar",
|
||
"quickAddMood": "Zarejestruj nastrój",
|
||
"quickAddMedicationIntake": "Zarejestruj przyjęcie",
|
||
"customizeDashboard": "Dostosuj pulpit",
|
||
"medicationIntakeQuickAdd": {
|
||
"sheetTitle": "Zarejestruj przyjęcie leku",
|
||
"sheetDescription": "Zapisz dawkę, godzinę i lek w kilku stuknięciach.",
|
||
"medicationLabel": "Lek",
|
||
"medicationPlaceholder": "Wybierz lek",
|
||
"doseLabel": "Dawka",
|
||
"dosePlaceholder": "np. 5 mg",
|
||
"doseHint": "Obecnie zapisywana jest dawka standardowa. Dawki zmienne pojawią się w jednej z kolejnych wersji.",
|
||
"timeLabel": "Godzina przyjęcia",
|
||
"saveError": "Nie udało się zapisać przyjęcia.",
|
||
"emptyTitle": "Brak leków",
|
||
"emptyDescription": "Najpierw dodaj lek z harmonogramem, a potem wróć tutaj, aby zarejestrować jego przyjęcie.",
|
||
"emptyCta": "Dodaj lek"
|
||
},
|
||
"quickEntryDiscard": {
|
||
"title": "Odrzucić ten wpis?",
|
||
"description": "Masz niezapisane dane. Zamknąć formularz i utracić to, co wpisano?",
|
||
"confirm": "Odrzuć",
|
||
"cancel": "Kontynuuj edycję"
|
||
},
|
||
"compliance7d": "Przestrzeganie (7 dni)",
|
||
"mood": "Nastrój",
|
||
"customizeTitle": "Układ panelu",
|
||
"layoutReset": "Przywróć wartości domyślne",
|
||
"layoutSaveSuccess": "Układ panelu zapisany",
|
||
"layoutSaveError": "Nie udało się zapisać układu",
|
||
"layoutResetSuccess": "Przywrócono układ domyślny",
|
||
"layoutUsingDefaults": "Aktywny układ domyślny",
|
||
"layoutCustomized": "Aktywny układ niestandardowy",
|
||
"moveUp": "W górę",
|
||
"moveDown": "W dół",
|
||
"layoutTileColumn": "Kafelek",
|
||
"layoutChartColumn": "Wykres",
|
||
"dragHandle": "Przeciągnij, aby zmienić kolejność",
|
||
"dragHandleHint": "Strzałki Góra/Dół, lub Spacja plus strzałki na zaznaczonym uchwycie.",
|
||
"emptyTitle": "Twój panel jest pusty",
|
||
"emptyDescription": "Zarejestruj pierwszy pomiar lub nastrój. Kafelki i wykresy pojawią się automatycznie, gdy będą dane.",
|
||
"emptyAddMeasurement": "Zarejestruj pierwszy pomiar",
|
||
"staleHint": "Ostatni odczyt {count} d temu",
|
||
"staleHintWeeksOne": "Ostatni odczyt 1 tydzień temu",
|
||
"staleHintWeeksOther": "Ostatni odczyt {count} tygodni temu",
|
||
"staleHintMonthsOne": "Ostatni odczyt 1 miesiąc temu",
|
||
"staleHintMonthsOther": "Ostatni odczyt {count} miesięcy temu",
|
||
"coachCta": "Zapytaj coacha",
|
||
"recentWorkouts": {
|
||
"title": "Ostatnie treningi",
|
||
"viewAll": "Zobacz wszystkie",
|
||
"loading": "Wczytywanie treningów…",
|
||
"empty": {
|
||
"title": "Brak treningów",
|
||
"cta": "Otwórz aplikację Apple Zdrowie na iPhonie, aby zsynchronizować treningi."
|
||
}
|
||
},
|
||
"metric": {
|
||
"title": {
|
||
"weight": "Waga",
|
||
"bloodPressure": "Ciśnienie krwi",
|
||
"pulse": "Tętno",
|
||
"bodyFat": "Tkanka tłuszczowa",
|
||
"glucose": "Glikemia",
|
||
"sleep": "Sen",
|
||
"steps": "Kroki",
|
||
"totalBodyWater": "Całkowita woda w organizmie",
|
||
"boneMass": "Masa kostna",
|
||
"oxygenSaturation": "Saturacja tlenem"
|
||
},
|
||
"unit": {
|
||
"weight": "kg",
|
||
"bloodPressure": "mmHg",
|
||
"pulse": "bpm",
|
||
"bodyFat": "%",
|
||
"glucose": "mg/dL",
|
||
"sleep": "h",
|
||
"steps": "kroki",
|
||
"totalBodyWater": "kg",
|
||
"boneMass": "kg",
|
||
"oxygenSaturation": "%"
|
||
}
|
||
}
|
||
},
|
||
"measurements": {
|
||
"title": "Pomiary",
|
||
"subtitle": "Waga, ciśnienie tętnicze, tętno i więcej",
|
||
"addMeasurement": "Dodaj",
|
||
"editMeasurement": "Edytuj pomiar",
|
||
"type": "Typ",
|
||
"value": "Wartość",
|
||
"date": "Data",
|
||
"source": "Źródło",
|
||
"notes": "Notatki",
|
||
"typeWeight": "Waga",
|
||
"typeBloodPressure": "Ciśnienie krwi",
|
||
"typeBpSys": "Skur",
|
||
"typeBpDia": "Rozk",
|
||
"typePulse": "Tętno",
|
||
"typeBodyFat": "Tkanka tłuszczowa",
|
||
"typeSleep": "Sen",
|
||
"typeSteps": "Kroki",
|
||
"typeBloodGlucose": "Glikemia",
|
||
"typeTotalBodyWater": "Całkowita woda w organizmie",
|
||
"typeBoneMass": "Masa kostna",
|
||
"typeOxygenSaturation": "Saturacja tlenem",
|
||
"typeHeartRateVariability": "Zmienność rytmu serca",
|
||
"typeRestingHeartRate": "Tętno spoczynkowe",
|
||
"typeActiveEnergyBurned": "Aktywna energia",
|
||
"typeFlightsClimbed": "Pokonane piętra",
|
||
"typeWalkingRunningDistance": "Dystans marszu i biegu",
|
||
"typeVo2Max": "VO₂ max",
|
||
"typeBodyTemperature": "Temperatura ciała",
|
||
"typeFatFreeMass": "Masa beztłuszczowa",
|
||
"typeFatMass": "Masa tłuszczu",
|
||
"typeMuscleMass": "Masa mięśniowa",
|
||
"typeSkinTemperature": "Temperatura skóry",
|
||
"typePulseWaveVelocity": "Prędkość fali tętna",
|
||
"typeVascularAge": "Wiek naczyniowy",
|
||
"typeVisceralFat": "Tłuszcz trzewny",
|
||
"typeAudioExposureEnv": "Ekspozycja na hałas (otoczenie)",
|
||
"typeAudioExposureHeadphone": "Ekspozycja na hałas (słuchawki)",
|
||
"typeTimeInDaylight": "Czas w świetle dziennym",
|
||
"typeWalkingSteadiness": "Stabilność chodu",
|
||
"typeAudioExposureEvent": "Zdarzenie głośnego słuchania",
|
||
"typeRespiratoryRate": "Częstość oddechów",
|
||
"typeBodyMassIndex": "Wskaźnik masy ciała",
|
||
"typeLeanBodyMass": "Masa beztłuszczowa",
|
||
"typeWalkingHeartRateAverage": "Tętno przy chodzeniu (śr.)",
|
||
"typeWalkingAsymmetry": "Asymetria chodu",
|
||
"typeWalkingDoubleSupport": "Podwójna podpora chodu",
|
||
"typeWalkingStepLength": "Długość kroku",
|
||
"typeWalkingSpeed": "Prędkość chodu",
|
||
"glucoseContext": "Kontekst",
|
||
"glucoseContextFasting": "Na czczo (≥8 godz. bez jedzenia)",
|
||
"glucoseContextPostprandial": "Po posiłku (2 godz. po jedzeniu)",
|
||
"glucoseContextRandom": "Dowolny / bez kontekstu",
|
||
"glucoseContextBedtime": "Przed snem",
|
||
"unitHours": "Godziny",
|
||
"unitSteps": "Kroki",
|
||
"sourceManual": "Ręcznie",
|
||
"sourceWithings": "Withings",
|
||
"sourceImport": "Importuj",
|
||
"sourceAppleHealth": "Apple Health",
|
||
"systolicLabel": "Skurczowe (mmHg)",
|
||
"diastolicLabel": "Rozkurczowe (mmHg)",
|
||
"pulseLabel": "Tętno (uderz./min)",
|
||
"valueWithUnit": "Wartość ({unit})",
|
||
"timestamp": "Czas",
|
||
"notesPlaceholder": "np. po jedzeniu",
|
||
"formReset": "Resetuj formularz",
|
||
"saveError": "Błąd zapisu",
|
||
"duplicateTimestamp": "Pomiar tego typu już istnieje dla wybranej daty.",
|
||
"deleteError": "Błąd usuwania",
|
||
"invalidValue": "Wprowadź poprawną wartość.",
|
||
"invalidTimestamp": "Wybierz poprawną datę i godzinę.",
|
||
"loginRequired": "Zaloguj się, aby zobaczyć pomiary.",
|
||
"allTypes": "Wszystkie typy",
|
||
"filterByType": "Filtruj według typu",
|
||
"measurementCount": "{count} pomiarów",
|
||
"emptyTitle": "Brak pomiarów",
|
||
"emptyDescription": "Zarejestruj wagę, ciśnienie, tętno lub inne wartości, aby zauważyć trendy.",
|
||
"emptyFilteredTitle": "Żaden pomiar nie pasuje do filtra",
|
||
"emptyFilteredDescription": "Wybierz inny typ lub usuń filtr, aby zobaczyć wszystkie pomiary.",
|
||
"emptyAddFirst": "Zarejestruj pierwszy pomiar",
|
||
"emptyResetFilter": "Pokaż wszystkie typy",
|
||
"comment": "Komentarz",
|
||
"actions": "Akcje",
|
||
"deleteConfirmTitle": "Usunąć pomiar?",
|
||
"deleteConfirmDescription": "Ten pomiar zostanie nieodwracalnie usunięty.",
|
||
"pageInfo": "Strona {page} z {total}",
|
||
"previousPage": "Poprzednia strona",
|
||
"nextPage": "Następna strona",
|
||
"dailyTotalCaption": "({count} pomiarów)",
|
||
"sleepNapCaption": "+{count} drzemka/i",
|
||
"sleepAwakeningsCaption": "{count} przebudzenia",
|
||
"expandDay": "Pokaż pomiary z tego dnia",
|
||
"collapseDay": "Ukryj pomiary z tego dnia",
|
||
"loadError": "Nie udało się załadować pomiarów.",
|
||
"typeCardioRecovery": "Regeneracja serca",
|
||
"typeWristTemperature": "Temperatura nadgarstka",
|
||
"typeFallCount": "Upadki",
|
||
"typeSixMinuteWalkDistance": "Dystans marszu 6-minutowego",
|
||
"typeStairAscentSpeed": "Prędkość wchodzenia po schodach",
|
||
"typeStairDescentSpeed": "Prędkość schodzenia po schodach",
|
||
"typeBreathingDisturbances": "Zaburzenia oddychania we śnie",
|
||
"typeIrregularRhythmNotification": "Powiadomienie o nieregularnym rytmie",
|
||
"typeHighHeartRateEvent": "Powiadomienie o wysokim tętnie",
|
||
"typeLowHeartRateEvent": "Powiadomienie o niskim tętnie",
|
||
"typeWalkingSteadinessEvent": "Alert stabilności chodu",
|
||
"typeBreathingDisturbanceEvent": "Zaburzenie oddychania",
|
||
"typeRecoveryScore": "Wynik regeneracji",
|
||
"typeStressScore": "Wynik stresu",
|
||
"typeStrainScore": "Wynik obciążenia",
|
||
"typeHrvRmssd": "HRV (RMSSD)",
|
||
"typeDayStrain": "Obciążenie dzienne",
|
||
"typeWorkoutStrain": "Obciążenie treningowe",
|
||
"typeSleepPerformance": "Wydajność snu",
|
||
"typeSleepEfficiency": "Efektywność snu",
|
||
"typeSleepConsistency": "Regularność snu",
|
||
"typeSleepNeed": "Zapotrzebowanie na sen",
|
||
"typeEnergyExpenditureKj": "Wydatek energetyczny"
|
||
},
|
||
"mood": {
|
||
"title": "Nastrój",
|
||
"subtitle": "Trend i wpisy nastroju",
|
||
"addEntry": "Dodaj",
|
||
"editEntry": "Edytuj wpis",
|
||
"moodLevel": "Nastrój",
|
||
"heroQuestion": "Jak się masz?",
|
||
"factorYes": "Tak",
|
||
"factorNo": "Nie",
|
||
"factorRatingOption": "{label}: {value} z {max}",
|
||
"tags": "Tagi",
|
||
"tagsPlaceholder": "np. sport, praca, rodzina",
|
||
"tagsHelp": "Oddziel przecinkami",
|
||
"timestamp": "Czas",
|
||
"date": "Data",
|
||
"source": "Źródło",
|
||
"levelSuperGut": "Świetnie",
|
||
"levelGut": "Dobrze",
|
||
"levelOkay": "OK",
|
||
"levelSchlecht": "Źle",
|
||
"levelLausig": "Fatalnie",
|
||
"sourceMoodlog": "moodLog",
|
||
"allMoods": "Wszystkie nastroje",
|
||
"entryCount": "{count} wpisów",
|
||
"emptyTitle": "Brak wpisów nastroju",
|
||
"emptyDescription": "Zapisz, jak się dziś czujesz, aby z czasem dostrzec wzorce.",
|
||
"emptyFilteredTitle": "Żaden wpis nie pasuje do filtra",
|
||
"emptyFilteredDescription": "Wybierz inny poziom lub usuń filtr, aby zobaczyć wszystkie wpisy.",
|
||
"emptyAddFirst": "Zapisz pierwszy nastrój",
|
||
"emptyResetFilter": "Pokaż wszystkie nastroje",
|
||
"actions": "Akcje",
|
||
"formReset": "Resetuj formularz",
|
||
"noteCharCount": "{count}/{max}",
|
||
"formResetConfirmTitle": "Zresetować ten formularz?",
|
||
"formResetConfirmBody": "Spowoduje to usunięcie wprowadzonego nastroju, tagów i notatki. Tej operacji nie można cofnąć.",
|
||
"formResetConfirmAction": "Resetuj",
|
||
"saveError": "Błąd zapisu",
|
||
"deleteError": "Błąd usuwania",
|
||
"invalidTimestamp": "Wybierz poprawną datę i godzinę.",
|
||
"deleteConfirmTitle": "Usunąć wpis?",
|
||
"deleteConfirmDescription": "Ten wpis nastroju zostanie nieodwracalnie usunięty.",
|
||
"pageInfo": "Strona {page} z {total}",
|
||
"loginRequired": "Zaloguj się, aby zobaczyć wpisy nastroju.",
|
||
"note": "Notatka",
|
||
"notePlaceholder": "Dodaj notatkę o swoim samopoczuciu…",
|
||
"tagPicker": "Tagi",
|
||
"tagCategory": {
|
||
"feelings": "Uczucia",
|
||
"sleep": "Sen",
|
||
"health": "Zdrowie",
|
||
"social": "Społeczne",
|
||
"work": "Praca",
|
||
"hobbies": "Hobby",
|
||
"factors": "Czynniki"
|
||
},
|
||
"tag": {
|
||
"happy": "szczęśliwy",
|
||
"excited": "podekscytowany",
|
||
"grateful": "wdzięczny",
|
||
"relaxed": "zrelaksowany",
|
||
"content": "zadowolony",
|
||
"tired": "zmęczony",
|
||
"unsure": "niepewny",
|
||
"bored": "znudzony",
|
||
"tense": "spięty",
|
||
"angry": "zły",
|
||
"stressed": "zestresowany",
|
||
"sad": "smutny",
|
||
"sleptWell": "dobrze spałem",
|
||
"sleptOk": "sen średni",
|
||
"sleptPoorly": "źle spałem",
|
||
"earlyNight": "wcześnie spać",
|
||
"workedOut": "trening",
|
||
"ateWell": "zdrowo zjadłem",
|
||
"hydrated": "piłem wodę",
|
||
"walked": "spacer",
|
||
"alcohol": "alkohol",
|
||
"family": "rodzina",
|
||
"friends": "znajomi",
|
||
"party": "impreza",
|
||
"alone": "sam",
|
||
"productive": "produktywny",
|
||
"overtime": "nadgodziny",
|
||
"dayOff": "dzień wolny",
|
||
"travel": "podróż",
|
||
"sickDay": "dzień chorobowy",
|
||
"movies": "filmy",
|
||
"reading": "czytanie",
|
||
"gaming": "gry",
|
||
"music": "muzyka",
|
||
"outdoors": "na dworze",
|
||
"fastFood": "fast food",
|
||
"noSweets": "bez słodyczy",
|
||
"bigMeal": "obfity posiłek",
|
||
"factorWork": "praca",
|
||
"factorSocial": "życie towarzyskie",
|
||
"factorSleepQuality": "jakość snu",
|
||
"factorStress": "stres",
|
||
"factorConflict": "konflikt",
|
||
"factorFamily": "rodzina"
|
||
}
|
||
},
|
||
"medications": {
|
||
"title": "Leki",
|
||
"subtitle": "Leki, harmonogramy i przyjęcia",
|
||
"loginRequired": "Zaloguj się, aby zarządzać lekami.",
|
||
"addMedication": "Dodaj",
|
||
"editMedication": "Edytuj lek",
|
||
"newMedication": "Nowy lek",
|
||
"firstMedication": "Dodaj pierwszy lek",
|
||
"emptyTitle": "Brak leków",
|
||
"emptyDescription": "Utwórz leki, dawki i okna czasowe, aby śledzić przestrzeganie.",
|
||
"loadFailed": "Nie udało się załadować leków",
|
||
"retryLoad": "Spróbuj ponownie",
|
||
"name": "Nazwa",
|
||
"dose": "Dawka",
|
||
"scheduleFrom": "Od",
|
||
"scheduleTo": "Do",
|
||
"scheduleLabel": "Etykieta",
|
||
"scheduleDays": "Dni",
|
||
"scheduleDaily": "Codziennie",
|
||
"inactive": "Wstrzymany",
|
||
"intakeHistory": "Historia przyjęć",
|
||
"openDetailPage": "Otwórz stronę szczegółów leku",
|
||
"deleteConfirm": "Usunąć lek?",
|
||
"compliance": "Przestrzeganie zaleceń",
|
||
"importIntakes": "Importuj przyjęcia",
|
||
"importDescription": "Wklej tablicę JSON z danymi przyjęć. Oczekiwany format:",
|
||
"importUploadFile": "Prześlij plik JSON",
|
||
"importPaste": "Wklej tutaj JSON...",
|
||
"importSelected": "Wybrano: {name}",
|
||
"importFileLoaded": "Plik „{name}” wczytany",
|
||
"importInvalidJson": "Plik nie zawiera prawidłowego JSON",
|
||
"importNoArray": "Nie znaleziono tablicy",
|
||
"importResult": "{imported} przyjęć zaimportowano",
|
||
"importDuplicatesSkipped": "{count} duplikatów pominięto",
|
||
"importInvalidSkipped": "{count} nieprawidłowych wpisów pominięto",
|
||
"importFailed": "Import nie powiódł się",
|
||
"importInvalidFormat": "Nieprawidłowy format JSON",
|
||
"apiEndpointTitle": "Punkt końcowy API: {name}",
|
||
"apiEndpointDescription": "Użyj tego punktu końcowego do rejestrowania przyjęć przez API (np. Skrót iPhone lub zadanie cron).",
|
||
"apiEndpointActive": "Punkt końcowy API aktywny",
|
||
"apiEndpointActivated": "Punkt końcowy API aktywowany",
|
||
"apiEndpointDeactivated": "Punkt końcowy API dezaktywowany",
|
||
"apiTokenCount": "Aktywny ({count} tokenów)",
|
||
"apiToken": "Token API",
|
||
"apiTokenActiveHint": "Punkt końcowy jest aktywny. Istniejące tokeny pozostają ważne, ale nie można ich ponownie pokazać jako zwykły tekst.",
|
||
"apiTokenActivateHint": "Aktywuj punkt końcowy, aby utworzyć nowy token.",
|
||
"apiTokenOnceHint": "Token jest pokazywany jako zwykły tekst tylko raz, przy tworzeniu.",
|
||
"requestExample": "Przykład żądania",
|
||
"statusLoadFailed": "Nie udało się wczytać statusu",
|
||
"changeFailed": "Zmiana nie powiodła się",
|
||
"categoryBloodPressure": "Ciśnienie krwi",
|
||
"categoryVitamin": "Witaminy",
|
||
"categoryThyroid": "Tarczyca",
|
||
"categoryHormone": "Hormony",
|
||
"categorySupplement": "Suplement",
|
||
"categoryPainRelief": "Przeciwbólowy",
|
||
"categoryAllergy": "Alergia",
|
||
"categoryDigestive": "Trawienne",
|
||
"categorySkin": "Pielęgnacja skóry",
|
||
"categorySleepAid": "Na sen",
|
||
"categoryDiabetes": "Diabetes",
|
||
"categoryAntibiotic": "Antybiotyk",
|
||
"categoryOther": "Inne",
|
||
"daysSun": "Nd",
|
||
"daysMon": "Pn",
|
||
"daysTue": "Wt",
|
||
"daysWed": "Śr",
|
||
"daysThu": "Czw",
|
||
"daysFri": "Pt",
|
||
"daysSat": "Sob",
|
||
"back": "Wstecz",
|
||
"today": "Dzisiaj",
|
||
"yesterday": "Wczoraj",
|
||
"tomorrow": "Jutro",
|
||
"withoutNotification": "Bez powiadomienia",
|
||
"pausedSince": "Wstrzymane od",
|
||
"takeNow": "Przyjmij teraz",
|
||
"overdue": "Po terminie",
|
||
"veryOverdue": "Mocno po terminie",
|
||
"compliance7d": "Przestrzeganie 7 dni",
|
||
"compliance30d": "Przestrzeganie 30 dni",
|
||
"complianceWindow": "Przestrzeganie {days} dni",
|
||
"lastIntake": "Ostatnie przyjęcie:",
|
||
"nextIntake": "Następne przyjęcie:",
|
||
"dayStreak": "dni serii",
|
||
"taken": "Przyjęte",
|
||
"skipped": "Pominięte",
|
||
"intakeToastTaken": "{name} oznaczone jako przyjęte",
|
||
"intakeToastSkipped": "{name} pominięte",
|
||
"intakeToastFailed": "Nie udało się zapisać {name} — spróbuj ponownie",
|
||
"intakeUndo": "Cofnij",
|
||
"intakeUndone": "Wpis cofnięty",
|
||
"intakeUndoFailed": "Nie udało się cofnąć — popraw w historii",
|
||
"weekdaySunday": "Niedziela",
|
||
"weekdayMonday": "Poniedziałek",
|
||
"weekdayTuesday": "Wtorek",
|
||
"weekdayWednesday": "Środa",
|
||
"weekdayThursday": "Czwartek",
|
||
"weekdayFriday": "Piątek",
|
||
"weekdaySaturday": "Sobota",
|
||
"weekdaySundayPlural": "Niedziele",
|
||
"weekdayMondayPlural": "Poniedziałki",
|
||
"weekdayTuesdayPlural": "Wtorki",
|
||
"weekdayWednesdayPlural": "Środy",
|
||
"weekdayThursdayPlural": "Czwartki",
|
||
"weekdayFridayPlural": "Piątki",
|
||
"weekdaySaturdayPlural": "Soboty",
|
||
"formType": "Typ",
|
||
"formDose": "Dawka",
|
||
"formUnit": "Jednostka",
|
||
"formSchedule": "Okno czasowe",
|
||
"formTreatmentClass": "Klasa terapii",
|
||
"formTreatmentClassHelp": "Wybierz „Iniekcja GLP-1” dla cotygodniowych iniekcji jak Mounjaro, Ozempic, Wegovy, Zepbound. Odblokowuje kartę ciała i dziennik GLP-1.",
|
||
"treatmentClassGeneric": "Lek standardowy",
|
||
"treatmentClassGlp1": "Iniekcja GLP-1",
|
||
"glp1WeeklyPresetTitle": "Raz w tygodniu, w…",
|
||
"glp1WeeklyPresetHelp": "Większość agonistów receptora GLP-1 podawana jest raz w tygodniu. Stuknij dzień, aby ustawić rytm.",
|
||
"glp1WeeklyPresetSuggest": "Przejmij ostatnio wybrany dzień",
|
||
"glp1DosesPerUnit": "Dawki na pen / fiolkę",
|
||
"glp1DosesPerUnitPlaceholder": "np. 4 dla pena Mounjaro KwikPen",
|
||
"glp1DosesPerUnitHelp": "Opcjonalne — Mounjaro KwikPen = 4, Ozempic 0,25/0,5 mg = 4, Wegovy pen jednorazowy = 1. Zostaw puste, jeśli nie chcesz śledzić dawek na pen.",
|
||
"glp1LastInjection": "Ostatni termin: {label}",
|
||
"glp1LastInjectionWithSite": "Ostatni termin: {label} · {site}",
|
||
"glp1NextInjectionDays": "Następnie: {label} (za {days} dni)",
|
||
"glp1NextInjectionToday": "Następny termin: dziś",
|
||
"glp1NextInjectionTomorrow": "Następny termin: jutro",
|
||
"glp1RotationLast": "Ostatnie miejsce: {site}",
|
||
"glp1RotationSuggested": "Sugerowane: {site}",
|
||
"glp1LogSideEffect": "Zapisz działanie niepożądane",
|
||
"sideEffects": {
|
||
"section": "Skutki uboczne",
|
||
"addCta": "Dodaj",
|
||
"sheetTitle": "Zarejestruj skutek uboczny",
|
||
"categoryLabel": "Kategoria",
|
||
"entryLabel": "Objaw",
|
||
"severityLabel": "Nasilenie",
|
||
"severity": {
|
||
"mild": "Łagodne",
|
||
"moderate": "Umiarkowane",
|
||
"significant": "Wyraźne",
|
||
"severe": "Silne",
|
||
"verySevere": "Bardzo silne"
|
||
},
|
||
"notesLabel": "Notatka (opcjonalnie)",
|
||
"notesPlaceholder": "Cokolwiek warto zapamiętać, maks. 280 znaków",
|
||
"submitCta": "Zapisz",
|
||
"cancelCta": "Anuluj",
|
||
"emptyState": "Nie zarejestrowano jeszcze skutków ubocznych. Śledzenie może pomóc lekarzowi i ujawnić wzorce w czasie.",
|
||
"recentTitle": "Ostatnie 30 dni",
|
||
"loading": "Ładowanie…",
|
||
"deleteCta": "Usuń",
|
||
"deleteConfirm": "Usunąć ten wpis?",
|
||
"errorSeverity": "Nasilenie musi mieścić się w zakresie 1–5",
|
||
"errorEntry": "Wybierz objaw",
|
||
"categories": {
|
||
"gi": "Żołądkowo-jelitowe",
|
||
"metabolic": "Metaboliczne",
|
||
"injectionSite": "Miejsce wstrzyknięcia",
|
||
"cognitive": "Poznawcze",
|
||
"glp1Specific": "Specyficzne dla GLP-1"
|
||
},
|
||
"entries": {
|
||
"nausea": "Nudności",
|
||
"vomiting": "Wymioty",
|
||
"diarrhea": "Biegunka",
|
||
"constipation": "Zaparcia",
|
||
"abdominalPain": "Ból brzucha",
|
||
"hypoglycemiaSymptoms": "Objawy hipoglikemii",
|
||
"dehydration": "Odwodnienie",
|
||
"anorexia": "Utrata apetytu",
|
||
"electrolyteFatigue": "Zmęczenie elektrolitowe",
|
||
"injectionRedness": "Zaczerwienienie miejsca wstrzyknięcia",
|
||
"injectionSwelling": "Obrzęk miejsca wstrzyknięcia",
|
||
"injectionBruising": "Siniak w miejscu wstrzyknięcia",
|
||
"injectionInduration": "Stwardnienie miejsca wstrzyknięcia",
|
||
"brainFog": "Mgła umysłowa",
|
||
"dizziness": "Zawroty głowy",
|
||
"lowMood": "Obniżony nastrój",
|
||
"lowEnergy": "Brak energii",
|
||
"earlySatiety": "Wczesne uczucie sytości",
|
||
"gastroparesisLike": "Spowolnione opróżnianie żołądka",
|
||
"dysgeusia": "Zmiana smaku",
|
||
"gallbladderDiscomfort": "Dolegliwości pęcherzyka żółciowego"
|
||
}
|
||
},
|
||
"scheduling": {
|
||
"naturalLanguage": {
|
||
"title": "Opisz lek",
|
||
"description": "Opisz lek własnymi słowami, a my wstępnie wypełnimy formularz za Ciebie.",
|
||
"placeholder": "np. Mounjaro 5 mg co tydzień w środę rano od najbliższego poniedziałku",
|
||
"submit": "Wyodrębnij",
|
||
"submitBusy": "Wyodrębnianie…",
|
||
"cancel": "Anuluj",
|
||
"examples": {
|
||
"label": "Wypróbuj jeden z tych przykładów",
|
||
"weekly": "Mounjaro 5 mg co tydzień w środę rano",
|
||
"daily": "Ibuprofen 200 mg codziennie, 3 razy dziennie",
|
||
"rolling": "Metotreksat 7,5 mg co 7 dni od ostatniego wstrzyknięcia"
|
||
},
|
||
"error": {
|
||
"empty": "Najpierw wpisz opis.",
|
||
"tooLong": "Utrzymuj opis poniżej 2000 znaków.",
|
||
"rateLimit": "Zbyt wiele żądań — poczekaj chwilę i spróbuj ponownie.",
|
||
"noProvider": "Brak skonfigurowanego dostawcy AI — skonfiguruj go w Ustawieniach.",
|
||
"budget": "Osiągnięto dzienny limit AI — spróbuj jutro.",
|
||
"network": "Nie udało się połączyć z dostawcą AI — spróbuj ponownie."
|
||
}
|
||
},
|
||
"cadence": {
|
||
"section": "Częstotliwość",
|
||
"label": "Jak często",
|
||
"kind": {
|
||
"daily": "Codziennie",
|
||
"weekdays": "W określone dni tygodnia",
|
||
"everyNWeeks": "Co N tygodni w określone dni",
|
||
"monthly": "Co miesiąc w określonym dniu",
|
||
"everyNMonths": "Co N miesięcy w określonym dniu",
|
||
"yearly": "Raz w roku",
|
||
"rolling": "Co N dni od ostatniego przyjęcia (elastycznie)",
|
||
"rollingExplainer": "Liczy od ostatniego zarejestrowanego przyjęcia — wstrzymuje się, jeśli pominiesz dawkę.",
|
||
"oneShot": "Dawka jednorazowa"
|
||
},
|
||
"weekdays": {
|
||
"label": "Dni tygodnia",
|
||
"short": {
|
||
"mo": "Mo",
|
||
"tu": "Wt",
|
||
"we": "Śr",
|
||
"th": "Cz",
|
||
"fr": "Fr",
|
||
"sa": "Sa",
|
||
"su": "Nd"
|
||
},
|
||
"long": {
|
||
"mo": "Poniedziałek",
|
||
"tu": "Wtorek",
|
||
"we": "Środa",
|
||
"th": "Czwartek",
|
||
"fr": "Piątek",
|
||
"sa": "Sobota",
|
||
"su": "Niedziela"
|
||
}
|
||
},
|
||
"intervalWeeks": {
|
||
"suffix": "tygodni"
|
||
},
|
||
"dayOfMonth": {
|
||
"label": "Dzień"
|
||
},
|
||
"intervalMonths": {
|
||
"suffix": "miesięcy",
|
||
"dayOnLabel": "w dniu"
|
||
},
|
||
"yearly": {
|
||
"date": {
|
||
"label": "Data"
|
||
}
|
||
},
|
||
"rollingDays": {
|
||
"suffix": "dni"
|
||
}
|
||
},
|
||
"timesOfDay": {
|
||
"section": "Pory dnia",
|
||
"label": "Pory dnia",
|
||
"empty": {
|
||
"cta": "Dodaj pierwszą godzinę."
|
||
},
|
||
"add": "Dodaj godzinę",
|
||
"remove": "Usuń",
|
||
"presets": {
|
||
"morning": "Rano",
|
||
"noon": "Południe",
|
||
"evening": "Wieczór",
|
||
"night": "Noc"
|
||
},
|
||
"max": {
|
||
"reached": "Osiągnięto maksimum — usuń jedną godzinę przed dodaniem kolejnej."
|
||
}
|
||
},
|
||
"courseWindow": {
|
||
"section": "Okres leczenia",
|
||
"startsOn": {
|
||
"label": "Rozpoczyna się"
|
||
},
|
||
"endsOn": {
|
||
"label": "Kończy się"
|
||
},
|
||
"noEndDate": "Brak daty zakończenia",
|
||
"oneShotCaption": "(dawka jednorazowa)",
|
||
"invalidRange": "Data zakończenia musi być taka sama jak data rozpoczęcia lub późniejsza."
|
||
}
|
||
},
|
||
"wizard": {
|
||
"header": {
|
||
"stepOf": "Krok {current} z {total}",
|
||
"createTitle": "Nowy lek",
|
||
"editTitle": "Edytuj {name}"
|
||
},
|
||
"nav": {
|
||
"back": "Wstecz",
|
||
"next": "Dalej",
|
||
"save": "Zapisz",
|
||
"saveEdit": "Zapisz zmiany",
|
||
"nextHint": "Dalej: {step}",
|
||
"reviewHint": "Dalej: Zapisz",
|
||
"jumpFirst": "Przejdź do pierwszego kroku",
|
||
"jumpLast": "Przejdź do podsumowania i zapisu"
|
||
},
|
||
"nl": {
|
||
"button": "Opisz"
|
||
},
|
||
"steps": {
|
||
"step1": {
|
||
"title": "Jak nazywa się lek?",
|
||
"subline": "Dokładnie tak, jak na opakowaniu.",
|
||
"label": "Name",
|
||
"placeholder": "np. Ramipryl",
|
||
"short": "Nazwa"
|
||
},
|
||
"step2": {
|
||
"title": "Jaki to rodzaj leku?",
|
||
"subline": "Wykorzystujemy to do odpowiednich szablonów i analiz.",
|
||
"short": "Rodzaj"
|
||
},
|
||
"step3": {
|
||
"title": "Jaka jest dawka?",
|
||
"subline": "Tabletka, wziew, kropla — w zależności od formy.",
|
||
"amountLabel": "Ilość",
|
||
"amountPlaceholder": "np. 5",
|
||
"unitLabel": "Jednostka",
|
||
"unit": {
|
||
"mg": "mg",
|
||
"ml": "ml",
|
||
"iu": "j.m.",
|
||
"mcg": "µg",
|
||
"g": "g",
|
||
"tablets": "tabletka/i",
|
||
"capsules": "kapsułka/i",
|
||
"drops": "krople",
|
||
"puffs": "wziew",
|
||
"sprays": "rozpylenie",
|
||
"pieces": "sztuki",
|
||
"other": "inne"
|
||
},
|
||
"deliveryFormLabel": "Droga podania",
|
||
"deliveryForm": {
|
||
"ORAL": "Doustnie",
|
||
"INJECTION": "Iniekcja",
|
||
"OTHER": "Inna"
|
||
},
|
||
"dosesPerUnitLabel": "Dawki na jednostkę",
|
||
"dosesPerUnitPlaceholder": "np. 4",
|
||
"dosesPerUnitHint": "Dawki na wstrzykiwacz / fiolkę — zostaw puste, aby nie śledzić zapasów.",
|
||
"injectionSiteToggle": "Rotacja miejsc wstrzyknięcia",
|
||
"injectionSiteHint": "Opcjonalny przewodnik rotacji. Miejsce każdej dawki zapisywane jest przy rejestrowaniu przyjęcia.",
|
||
"short": "Dawka"
|
||
},
|
||
"step4": {
|
||
"title": "Przez jaki okres go przyjmujesz?",
|
||
"subline": "Na dziś wystarczy data rozpoczęcia. Datę zakończenia możesz dodać później.",
|
||
"short": "Kiedy"
|
||
},
|
||
"step5": {
|
||
"title": "Jak często go przyjmujesz?",
|
||
"subline": "Wybierz częstotliwość — szczegóły w następnym kroku.",
|
||
"short": "Częstotliwość"
|
||
},
|
||
"step6": {
|
||
"title": "Jak to wygląda szczegółowo?",
|
||
"subline": "Ustaw dni tygodnia, interwały lub dzień miesiąca.",
|
||
"intervalWeeks": {
|
||
"label": "Co",
|
||
"suffix": "tygodni"
|
||
},
|
||
"dayOfMonth": {
|
||
"label": "W dniu",
|
||
"suffix": "dzień miesiąca"
|
||
},
|
||
"rollingDays": {
|
||
"label": "Co",
|
||
"suffix": "dni od ostatniego przyjęcia"
|
||
},
|
||
"short": "Szczegóły"
|
||
},
|
||
"step7": {
|
||
"title": "Kiedy go przyjmujesz?",
|
||
"subline": "Jedna lub więcej pór dnia — przypomnienia opierają się na tej liście.",
|
||
"presetsLabel": "Ustawienia wstępne pory dnia",
|
||
"presets": {
|
||
"morning": "Rano",
|
||
"noon": "Południe",
|
||
"evening": "Wieczór",
|
||
"night": "Noc"
|
||
},
|
||
"short": "Godziny"
|
||
},
|
||
"step8": {
|
||
"title": "Gotowe — czy HealthLog ma Ci przypominać?",
|
||
"subline": "Sprawdź wszystko poniżej przed zapisaniem.",
|
||
"remindersLabel": "Przypomnienia włączone",
|
||
"remindersDescription": "Push, Telegram lub ntfy — w zależności od ustawień.",
|
||
"multiScheduleNote": "Ten lek ma wiele harmonogramów. Szczegółowy edytor wróci w kolejnej wersji.",
|
||
"short": "Gotowe"
|
||
}
|
||
},
|
||
"classRow": {
|
||
"bloodPressure": "Ciśnienie krwi",
|
||
"diabetes": "Diabetes",
|
||
"hormone": "Hormony",
|
||
"glp1": "Iniekcja GLP-1",
|
||
"painRelief": "Ból",
|
||
"allergy": "Alergia",
|
||
"vitamin": "Witaminy",
|
||
"supplement": "Suplement",
|
||
"antibiotic": "Antybiotyk",
|
||
"other": "Inne"
|
||
},
|
||
"cadence": {
|
||
"daily": {
|
||
"label": "Codziennie",
|
||
"description": "Codziennie o tej samej porze."
|
||
},
|
||
"weekdays": {
|
||
"label": "Określone dni tygodnia",
|
||
"description": "Np. poniedziałek, środa, piątek."
|
||
},
|
||
"everyNWeeks": {
|
||
"label": "Co kilka tygodni",
|
||
"description": "Np. co 2 tygodnie w czwartki (GLP-1, leki biologiczne)."
|
||
},
|
||
"monthly": {
|
||
"label": "Co miesiąc",
|
||
"description": "W stały dzień każdego miesiąca (np. zawsze 1.)."
|
||
},
|
||
"rolling": {
|
||
"label": "Elastycznie od ostatniej dawki",
|
||
"description": "Pozostaw kolejną dawkę otwartą. Po naciśnięciu „przyjęto” licznik startuje od nowa od tego momentu."
|
||
},
|
||
"oneShot": {
|
||
"label": "Jednorazowo",
|
||
"description": "Jednorazowe podanie, np. szczepionka lub kuracja antybiotykowa."
|
||
}
|
||
},
|
||
"summary": {
|
||
"title": "Podsumowanie",
|
||
"cadence": {
|
||
"daily": "Codziennie",
|
||
"weekdays": "W wybrane dni tygodnia",
|
||
"biweekly": "Co dwa tygodnie",
|
||
"monthly": "Co miesiąc",
|
||
"quarterly": "Co trzy miesiące",
|
||
"yearly": "Raz w roku",
|
||
"rolling": "Co {n} dni od ostatniego przyjęcia",
|
||
"oneShot": "Pojedyncza dawka",
|
||
"everyNWeeks": "Co {n} tygodni",
|
||
"everyNMonths": "Co {n} miesięcy"
|
||
},
|
||
"weekdaysDetail": ", w {days}",
|
||
"dayOfMonthDetail": ", dnia {day}.",
|
||
"times": "o {times}",
|
||
"startsOn": "Początek: {date}",
|
||
"endsOn": "Koniec: {date}",
|
||
"noEndDate": "Brak daty zakończenia"
|
||
},
|
||
"compose": {
|
||
"scheduleIndex": "Harmonogram {n} z {total}",
|
||
"list": {
|
||
"add": "Dodaj kolejny harmonogram",
|
||
"edit": "Edytuj",
|
||
"remove": "Usuń",
|
||
"removeDisabled": "Wymagany jest co najmniej jeden harmonogram.",
|
||
"empty": "Brak harmonogramu."
|
||
}
|
||
},
|
||
"errors": {
|
||
"submitFailed": "Nie udało się zapisać leku — spróbuj ponownie."
|
||
}
|
||
},
|
||
"doseStrength": {
|
||
"title": "Dawka w czasie",
|
||
"axisLabel": "Zapisana dawka ({unit})",
|
||
"tooltipLabel": "Dawka",
|
||
"currentDose": "Aktualna dawka: {dose} {unit}",
|
||
"noCurrentDose": "Nie zapisano jeszcze żadnej dawki.",
|
||
"empty": "Brak historii titracji. Zapisz zmianę dawki, aby zobaczyć krzywą dawki."
|
||
},
|
||
"injectionSiteBodyOutlineAriaLabel": "Sylwetka ciała",
|
||
"injectionSitePickerAriaLabel": "Wybór miejsca iniekcji",
|
||
"injectionSiteRecommendedAriaLabel": "{site} — zalecane następne miejsce",
|
||
"injectionSiteLegendAriaLabel": "Legenda oznaczeń",
|
||
"injectionSiteLegendRecommended": "Zalecane następne miejsce",
|
||
"injectionSiteLegendLastUsed": "Ostatnio użyte miejsce",
|
||
"siteAbdomenLeft": "Brzuch, dolny lewy",
|
||
"siteAbdomenRight": "Brzuch, dolny prawy",
|
||
"siteAbdomenUpperLeft": "Brzuch, górny lewy",
|
||
"siteAbdomenUpperRight": "Brzuch, górny prawy",
|
||
"siteThighLeft": "Lewe udo",
|
||
"siteThighRight": "Prawe udo",
|
||
"siteUpperArmLeft": "Lewe ramię",
|
||
"siteUpperArmRight": "Prawe ramię",
|
||
"sideEffectTagsHelp": "Stuknij chip, aby dodać go do tagów nastroju.",
|
||
"sideEffectTagNausea": "Nudności",
|
||
"sideEffectTagConstipation": "Zaparcia",
|
||
"sideEffectTagDiarrhea": "Biegunka",
|
||
"sideEffectTagFatigue": "Zmęczenie",
|
||
"sideEffectTagAppetiteLoss": "Utrata apetytu",
|
||
"sideEffectTagHeartburn": "Zgaga",
|
||
"sideEffectTagHeadache": "Ból głowy",
|
||
"newSchedule": "Nowe okno czasowe",
|
||
"removeSchedule": "Usuń okno czasowe",
|
||
"advancedEditing": "Edycja zaawansowana",
|
||
"advancedEditingHide": "Ukryj edycję zaawansowaną",
|
||
"scheduleInterval": "Interwał",
|
||
"scheduleEveryWeek": "co tydzień",
|
||
"scheduleEveryNWeeks": "co {n} tygodni",
|
||
"scheduleIntervalPrefix": "Interwał:",
|
||
"nextSchedulePrefix": "Następne okno:",
|
||
"nextScheduleDaily": "codziennie",
|
||
"importIntakesAction": "Importuj przyjęcia",
|
||
"apiEndpointAction": "Endpoint API",
|
||
"pause": "Wstrzymaj",
|
||
"activate": "Aktywuj",
|
||
"disableNotifications": "Wyłącz powiadomienia",
|
||
"enableNotifications": "Włącz powiadomienia",
|
||
"purgeRecords": "Usuń zapisy",
|
||
"formReset": "Resetuj formularz",
|
||
"createMedication": "Utwórz lek",
|
||
"deleteConfirmDescription": "Ten lek i wszystkie jego przyjęcia zostaną nieodwracalnie usunięte.",
|
||
"purgeConfirmTitle": "Usunąć wszystkie przyjęcia?",
|
||
"purgeConfirmDescription": "Wszystkie zarejestrowane przyjęcia tego leku zostaną nieodwracalnie usunięte.",
|
||
"saveError": "Błąd zapisu",
|
||
"deleteError": "Błąd usuwania",
|
||
"purgeError": "Błąd czyszczenia rekordów",
|
||
"invalidTimestamp": "Wybierz poprawną datę i godzinę.",
|
||
"noIntakesYet": "Brak zarejestrowanych przyjęć.",
|
||
"actions": "Akcje",
|
||
"pageInfo": "Strona {page} z {total}",
|
||
"previousPage": "Poprzednia strona",
|
||
"nextPage": "Następna strona",
|
||
"loginRequiredIntakes": "Zaloguj się, aby zobaczyć historię przyjęć.",
|
||
"phaseConfig": "Fazy przypomnień",
|
||
"phaseConfigDescription": "Skonfiguruj momenty przypomnień.",
|
||
"phaseGreen": "Zielony",
|
||
"phaseYellow": "Żółty",
|
||
"phaseOrange": "Pomarańczowy",
|
||
"phaseRed": "Czerwony",
|
||
"phaseMinutes": "Min",
|
||
"phasePercent": "%",
|
||
"phaseBeforeEnd": "przed końcem",
|
||
"phaseAfterEnd": "po końcu",
|
||
"phaseResetDefaults": "Przywróć wartości domyślne",
|
||
"phaseSaved": "Fazy przypomnień zapisane",
|
||
"phaseReset": "Przywrócono wartości domyślne",
|
||
"sourceWeb": "Web",
|
||
"sourceApi": "Aplikacja iOS",
|
||
"sourceReminder": "Przypomnienie",
|
||
"sourceImport": "Import",
|
||
"intakeSourceVia": "przez {origin}",
|
||
"intakeHistoryEmptyTitle": "Brak przyjęć",
|
||
"intakeHistoryEmptyDescription": "Gdy tylko zarejestrujesz przyjęcie, pojawi się tu wraz z godziną i źródłem.",
|
||
"intakeHistoryEmptyAction": "Zarejestruj przyjęcie",
|
||
"intakeHistoryColTaken": "Przyjęty",
|
||
"intakeHistoryColScheduled": "Zaplanowany",
|
||
"intakeHistoryColStatus": "Status",
|
||
"intakeHistoryColSource": "Źródło",
|
||
"intakeHistoryStatusTaken": "Przyjęty",
|
||
"intakeHistoryStatusSkipped": "Pominięty",
|
||
"intakeHistorySortByTaken": "Sortuj wg czasu przyjęcia",
|
||
"intakeHistorySortByScheduled": "Sortuj wg czasu zaplanowanego",
|
||
"intakeHistoryPageInfo": "Strona {page} z {total} · {count} wpisów",
|
||
"intakeHistoryPrev": "Poprzednia",
|
||
"intakeHistoryNext": "Następna",
|
||
"unitDrops": "kropli",
|
||
"unitTablets": "tabletek",
|
||
"unitCapsules": "kapsułek",
|
||
"unitPieces": "sztuk",
|
||
"namePlaceholder": "np. Ramipril",
|
||
"dosePlaceholder": "np. 5 mg",
|
||
"labelPlaceholder": "np. Rano",
|
||
"defaultDose": "Dawka standardowa",
|
||
"dayDeactivate": "Wyłącz {day}",
|
||
"dayActivate": "Włącz {day}",
|
||
"glp1": {
|
||
"drug": {
|
||
"tirzepatide": {
|
||
"name": "Tyrzepatyd"
|
||
},
|
||
"semaglutide": {
|
||
"name": "Semaglutyd"
|
||
},
|
||
"liraglutide": {
|
||
"name": "Liraglutyd"
|
||
},
|
||
"dulaglutide": {
|
||
"name": "Dulaglutyd"
|
||
},
|
||
"exenatide": {
|
||
"name": "Eksenatyd"
|
||
}
|
||
}
|
||
},
|
||
"researchMode": {
|
||
"dialog": {
|
||
"title": "Włącz tryb Badawczy",
|
||
"intro": "Tryb Badawczy dodaje szacowany wykres poziomu leku do twojej strony GLP-1. Przed jego włączeniem przeczytaj granicę poniżej — wykres jest pomocą edukacyjną, nigdy pomiarem i nigdy poradą medyczną.",
|
||
"whatItIsHeader": "Czym to jest",
|
||
"whatItIs": "Piłokształtną krzywą, która symuluje nakładanie się twoich zarejestrowanych dawek w czasie, na podstawie jednokompartmentowego modelu Batemana z parametrami absorpcji i okresu półtrwania opublikowanymi w EPAR EMA dla każdego zatwierdzonego agonisty GLP-1. Oś pionowa jest bezjednostkowa i nieopisana. To kształt, a nie liczba, jest tym, co pokazuje wykres.",
|
||
"whatItIsntHeader": "Czym to nie jest",
|
||
"whatItIsnt": "Nie jest poziomem we krwi. Nie jest pomiarem. Nie jest prognozą faktycznej reakcji twojego organizmu. Nie jest podstawą żadnej decyzji o dawce, czasie ani eskalacji. We wszystkim, co dotyczy sposobu przyjmowania leku, porozmawiaj z lekarzem prowadzącym.",
|
||
"whyEstimateHeader": "Dlaczego to oszacowanie",
|
||
"whyEstimate": "Farmakokinetyka populacyjna opisuje typowego pacjenta. Zmienność osobnicza jest duża — model Schneck/Urva 2024 dla tirzepatydu raportuje około 22 % międzyosobniczej zmienności absorpcji i około 49 % objętości dystrybucji. Krzywa z podręcznika nie uchwyci ani twojej masy ciała, ani funkcji nerek, ani techniki iniekcji, ani precyzji czasu. Czytaj krzywą jako rytm dawkowania, a nie twój poziom.",
|
||
"mdrBoundaryHeader": "Granica regulacyjna",
|
||
"mdrBoundary": "HealthLog wyświetla publiczne dane regulacyjne i twoje własne wpisy. Aplikacja nie prognozuje, nie diagnozuje, nie leczy i nie rekomenduje żadnej terapii. Rozporządzenie UE 2017/745 (Medical Device Regulation, MDR) oraz dokument MDCG 2021-24 wyznaczają granicę przy oprogramowaniu interpretującym dane do celów medycznych — ten wykres pozostaje zdecydowanie po edukacyjnej stronie tej granicy. Jeśli kiedykolwiek poczujesz, że kieruje cię w stronę decyzji klinicznej, zamknij go.",
|
||
"citationsHeader": "Źródła",
|
||
"citations": "European Public Assessment Reports EMA dla Mounjaro, Ozempic, Wegovy, Saxenda, Trulicity, Byetta i Bydureon (Sekcja 5.2). Schneck K, Urva S. Population pharmacokinetics of the GIP/GLP receptor agonist tirzepatide. CPT Pharmacometrics Syst Pharmacol 2024;13(3):494-503 (DOI 10.1002/psp4.13099).",
|
||
"versionLine": "Wersja disclaimera: {version}",
|
||
"acknowledgeCta": "Rozumiem — włącz",
|
||
"cancelCta": "Anuluj",
|
||
"successToast": "Tryb Badawczy włączony. Krzywa poziomu leku jest teraz widoczna na twojej stronie GLP-1.",
|
||
"errorToast": "Nie udało się włączyć trybu Badawczego. Spróbuj ponownie.",
|
||
"staleVersionToast": "Disclaimer został zaktualizowany od czasu wczytania tej strony. Odśwież, aby przeczytać aktualną wersję."
|
||
},
|
||
"chart": {
|
||
"title": "Szacowany poziom leku",
|
||
"axisLabel": "Szacowany poziom (względny)",
|
||
"emptyState": "Brak zarejestrowanych przyjęć.",
|
||
"emptyStateCta": "Zarejestruj dawkę, aby zobaczyć kształtującą się krzywą szacunkową.",
|
||
"estimateNote": "Edukacyjne oszacowanie z opublikowanej przez EMA farmakokinetyki populacyjnej. To nie jest pomiar.",
|
||
"unknownDrug": "{name} nie znajduje się w katalogu GLP-1 zatwierdzonym przez EMA, więc HealthLog nie może wyrysować krzywej farmakokinetyki populacyjnej."
|
||
}
|
||
},
|
||
"detail": {
|
||
"status": {
|
||
"active": "Aktywny",
|
||
"paused": "Wstrzymany",
|
||
"ended": "Zakończony"
|
||
},
|
||
"today": {
|
||
"groupLabel": "Dzisiejsza dawka",
|
||
"taken": "Przyjęto",
|
||
"skipped": "Pominięto",
|
||
"toastTaken": "Dzisiejsza dawka zapisana",
|
||
"toastSkipped": "Dzisiejsza dawka pominięta",
|
||
"recordedTaken": "Przyjęto dziś o {time}",
|
||
"recordedSkipped": "Pominięto dziś o {time}",
|
||
"recordedOneShot": "Jednorazową dawkę przyjęto o {time}",
|
||
"noneScheduled": "Na dziś nie zaplanowano żadnej dawki.",
|
||
"pausedHint": "Wstrzymano — dziś brak przypomnienia.",
|
||
"error": "Nie udało się zapisać dawki."
|
||
},
|
||
"cadence": {
|
||
"oneShotOn": "Dawka jednorazowa w dniu {date}.",
|
||
"oneShotPending": "Dawka jednorazowa oczekuje."
|
||
},
|
||
"intake": {
|
||
"title": "Historia przyjęć",
|
||
"importButton": "Importuj",
|
||
"rowActions": {
|
||
"openMenu": "Otwórz akcje wiersza",
|
||
"edit": "Edytuj",
|
||
"delete": "Usuń"
|
||
},
|
||
"selection": {
|
||
"rowToggleLabel": "Zaznacz wiersz"
|
||
},
|
||
"bulkDelete": {
|
||
"selectionCount": "{count} wpisów zaznaczono",
|
||
"deleteButton": "Usuń zaznaczone",
|
||
"cancelButton": "Anuluj",
|
||
"confirmTitle": "Usunąć zaznaczone wpisy?",
|
||
"confirmBody": "{count} wpisów zostanie trwale usuniętych. Sam lek pozostaje.",
|
||
"confirmAction": "Usuń",
|
||
"toast": "Zaznaczone usunięto",
|
||
"failed": "Nie udało się usunąć zaznaczonych."
|
||
},
|
||
"edit": {
|
||
"dialogTitle": "Edytuj przyjęcie",
|
||
"takenAtLabel": "Przyjęto o",
|
||
"skippedLabel": "Pominięto",
|
||
"noteLabel": "Notatka",
|
||
"save": "Zapisz",
|
||
"cancel": "Anuluj",
|
||
"savedToast": "Przyjęcie zaktualizowane",
|
||
"failed": "Nie udało się zaktualizować przyjęcia."
|
||
},
|
||
"deleteRow": {
|
||
"confirmTitle": "Usunąć to przyjęcie?",
|
||
"confirmBody": "Wpis zostanie trwale usunięty.",
|
||
"confirmAction": "Usuń",
|
||
"toast": "Przyjęcie usunięte",
|
||
"failed": "Nie udało się usunąć przyjęcia."
|
||
}
|
||
},
|
||
"notifications": {
|
||
"title": "Przypomnienia",
|
||
"switchLabel": "Wyślij przypomnienie, gdy nadejdzie czas tej dawki",
|
||
"helperOn": "Przypomnienia są włączone.",
|
||
"helperOff": "Przypomnienia są wyłączone.",
|
||
"enabledToast": "Przypomnienia włączone",
|
||
"disabledToast": "Przypomnienia wyłączone",
|
||
"toggleFailed": "Nie udało się zmienić ustawienia przypomnień.",
|
||
"clientManagedChip": "Twój iPhone zarządza przypomnieniami dla tego leku."
|
||
},
|
||
"settings": {
|
||
"title": "Ustawienia",
|
||
"phases": {
|
||
"openButton": "Skonfiguruj fazy",
|
||
"requiresCourseWindow": "Fazy są dostępne po ustawieniu okresu leczenia."
|
||
},
|
||
"grace": {
|
||
"label": "Okno przypomnienia — dotyczy głównego harmonogramu",
|
||
"primaryScheduleNote": "Leki z wieloma harmonogramami zachowują domyślne okno pozostałych harmonogramów.",
|
||
"unit": "minut",
|
||
"saved": "Okno przypomnienia zapisane",
|
||
"failed": "Nie udało się zapisać okna przypomnienia."
|
||
},
|
||
"codes": {
|
||
"label": "Kody kliniczne (ATC / RxNorm)",
|
||
"note": "Opcjonalne. Używane w eksporcie FHIR dokumentacji zdrowotnej. Kody są zapisywane dokładnie tak, jak wprowadzone — nigdy nie są zgadywane.",
|
||
"atcLabel": "ATC",
|
||
"rxNormLabel": "RxNorm",
|
||
"saved": "Kody kliniczne zapisane",
|
||
"failed": "Nie udało się zapisać kodów klinicznych."
|
||
}
|
||
},
|
||
"zone": {
|
||
"title": "Zarządzanie i strefa zagrożenia",
|
||
"pause": {
|
||
"title": "Wstrzymaj",
|
||
"helper": "Wstrzymaj przypomnienia, aż włączysz je ponownie. Historia pozostaje nienaruszona.",
|
||
"pausedToast": "Przypomnienia wstrzymane",
|
||
"resumedToast": "Przypomnienia wznowione",
|
||
"failed": "Nie udało się zmienić stanu wstrzymania."
|
||
},
|
||
"end": {
|
||
"title": "Zakończ lek",
|
||
"helper": "Zatrzymuje przypomnienia i oznacza lek jako zakończony. Historia pozostaje widoczna.",
|
||
"button": "Zakończ",
|
||
"dialogTitle": "Zakończ {name} — zatrzymuje przypomnienia, historia pozostaje widoczna",
|
||
"dialogBody": "Brak kolejnych przypomnień. Stare wpisy pozostają na osi czasu.",
|
||
"toast": "Lek zakończony",
|
||
"failed": "Nie udało się zakończyć leku."
|
||
},
|
||
"purge": {
|
||
"title": "Usuń historię",
|
||
"helper": "Dla tego leku zapisano {count} przyjęć.",
|
||
"button": "Usuń historię",
|
||
"dialogTitle": "Na pewno usunąć historię?",
|
||
"dialogBody": "{count} przyjęć zostanie trwale usuniętych. Sam lek pozostaje.",
|
||
"toast": "Historia usunięta",
|
||
"failed": "Nie udało się usunąć historii."
|
||
},
|
||
"delete": {
|
||
"title": "Usuń lek",
|
||
"helper": "Usuwa lek i wszystkie powiązane rekordy.",
|
||
"button": "Usuń",
|
||
"dialogTitle": "Usunąć {name}?",
|
||
"dialogBody": "Lek, jego harmonogramy, historia przyjęć, tokeny API, konfiguracja faz i przypomnienia zostaną trwale usunięte.",
|
||
"toast": "Lek usunięty",
|
||
"failed": "Nie udało się usunąć leku."
|
||
}
|
||
},
|
||
"phases": {
|
||
"modeLabel": "Tryb {phase}",
|
||
"saveFailed": "Nie udało się zapisać faz przypomnień."
|
||
},
|
||
"api": {
|
||
"caption": "Punkt końcowy dla „{name}”",
|
||
"copyUrl": "Kopiuj URL",
|
||
"urlCopied": "Skopiowano URL",
|
||
"mintToken": "Wygeneruj token",
|
||
"mintAnotherToken": "Wygeneruj kolejny token",
|
||
"mintFailed": "Nie udało się wygenerować tokena.",
|
||
"copyFailed": "Nie udało się skopiować.",
|
||
"tokenCopied": "Token skopiowany",
|
||
"copyToken": "Kopiuj token",
|
||
"mintedHint": "Skopiuj ten token teraz — jest pokazywany tylko raz."
|
||
},
|
||
"edit": {
|
||
"planOption": "Edytuj plan",
|
||
"advancedOption": "Ustawienia zaawansowane"
|
||
},
|
||
"advanced": {
|
||
"title": "Ustawienia zaawansowane",
|
||
"group": {
|
||
"data": "Dane",
|
||
"reminders": "Przypomnienia",
|
||
"lifecycle": "Cykl życia",
|
||
"externalApi": "Zewnętrzne API"
|
||
},
|
||
"dataPortability": {
|
||
"import": {
|
||
"title": "Importuj przyjęcia",
|
||
"helper": "Wczytaj wcześniejsze przyjęcia z pliku JSON lub wklejonego JSON.",
|
||
"button": "Importuj JSON"
|
||
},
|
||
"export": {
|
||
"title": "Eksportuj lek",
|
||
"helper": "Pobierz ten lek jako plik CSV.",
|
||
"includeIntake": "Dołącz historię przyjęć",
|
||
"button": "Eksportuj CSV"
|
||
}
|
||
}
|
||
},
|
||
"header": {
|
||
"historyLabel": "Zobacz historię przyjęć",
|
||
"advancedLabel": "Ustawienia zaawansowane"
|
||
},
|
||
"history": {
|
||
"back": "Powrót do leku",
|
||
"subtitle": "Pełna historia przyjęć",
|
||
"plannedSuffix": "zaplanowane"
|
||
}
|
||
},
|
||
"logInjectionSiteTitle": "Zarejestruj miejsce iniekcji",
|
||
"logInjectionSiteDescription": "Gdzie wstrzyknięto {name}? Opcjonalnie — możesz to pominąć.",
|
||
"logInjectionSiteSkip": "Pomiń",
|
||
"logInjectionSiteConfirm": "Zapisz miejsce",
|
||
"logInjectionSiteNoneAvailable": "Brak dostępnego miejsca iniekcji — wszystkie miejsca są wykluczone w Twoich ustawieniach.",
|
||
"logInjectionSiteSaveFailed": "Nie udało się zapisać miejsca iniekcji. Spróbuj ponownie.",
|
||
"trackInjectionSitesToggle": "Rejestruj miejsca iniekcji",
|
||
"trackInjectionSitesHint": "Po przyjęciu dawki zapytaj, którego miejsca użyto, i zaproponuj kolejną rotację.",
|
||
"allowedSitesLabel": "Dozwolone miejsca",
|
||
"allowedSitesHint": "Pozostaw wszystkie zaznaczone, aby nie stosować ograniczeń. Miejsca wykluczone globalnie nigdy nie są proponowane."
|
||
},
|
||
"charts": {
|
||
"loadingLabel": "Ładowanie wykresu…",
|
||
"loadingSlowHint": "Obliczanie analiz — to może chwilę potrwać.",
|
||
"weight": "Waga",
|
||
"bloodPressure": "Ciśnienie tętnicze",
|
||
"pulse": "Tętno",
|
||
"bodyFat": "Tkanka tłuszczowa",
|
||
"sleep": "Sen",
|
||
"steps": "Kroki",
|
||
"hrv": "HRV",
|
||
"restingHeartRate": "Tętno spoczynkowe",
|
||
"activeEnergy": "Energia czynna",
|
||
"flights": "Pokonane piętra",
|
||
"distance": "Dystans marsz + bieg",
|
||
"vo2Max": "VO₂ max",
|
||
"bodyTemperature": "Temperatura ciała",
|
||
"noData": "Brak danych w wybranym okresie",
|
||
"bucketWeekly": "Średnia tygodniowa",
|
||
"bucketMonthly": "Średnia miesięczna",
|
||
"points7Label": "7 pkt",
|
||
"points7Title": "Ostatnie 7 punktów",
|
||
"points30Label": "30 pkt",
|
||
"points30Title": "Ostatnie 30 punktów",
|
||
"points90Label": "90 pkt",
|
||
"points90Title": "Ostatnie 90 punktów",
|
||
"pointsAllLabel": "Wszystkie",
|
||
"pointsAllTitle": "Wszystkie dostępne punkty",
|
||
"systolic": "Skurczowe",
|
||
"diastolic": "Rozkurczowe",
|
||
"bodyWater": "Woda w organizmie",
|
||
"boneMass": "Masa kostna",
|
||
"spo2": "SpO₂",
|
||
"movingAverage7d": "Trend 7-dniowy",
|
||
"avg7dShort": "7D",
|
||
"avg30dShort": "30D",
|
||
"trend7dShort": "Trend 7-dniowy",
|
||
"trend": "Trend",
|
||
"perWeek": "/tydzień",
|
||
"totalDelta": "Łącznie",
|
||
"colorGreen": "Zielony:",
|
||
"colorOrange": "Pomarańczowy:",
|
||
"colorRed": "Czerwony:",
|
||
"mood": "Nastrój",
|
||
"moodScore": "Wynik nastroju",
|
||
"weekdays": {
|
||
"mon": "Pon",
|
||
"wed": "Śr",
|
||
"fri": "Pt",
|
||
"sun": "Nd"
|
||
},
|
||
"months": {
|
||
"jan": "Sty",
|
||
"feb": "Lut",
|
||
"mar": "Mar",
|
||
"apr": "Kwi",
|
||
"may": "Maj",
|
||
"jun": "Cze",
|
||
"jul": "Lip",
|
||
"aug": "Sie",
|
||
"sep": "Wrz",
|
||
"oct": "Paź",
|
||
"nov": "Lis",
|
||
"dec": "Gru"
|
||
},
|
||
"heatmapOnTime": "na czas",
|
||
"heatmapLate": "spóźniona",
|
||
"heatmapVeryLate": "mocno spóźniona",
|
||
"legendOnTime": "Na czas",
|
||
"legendLate": "Spóźniona",
|
||
"legendVeryLate": "Mocno spóźniona",
|
||
"legendMissed": "Pominięta",
|
||
"emptyStateTitle": "Zarejestruj więcej pomiarów, aby zobaczyć trendy",
|
||
"emptyStateDescription": "Zarejestruj co najmniej 3 wpisy, aby odblokować linię trendu.",
|
||
"needMoreDistinctDaysTitle": "Potrzeba więcej różnych dni",
|
||
"needMoreDistinctDaysDescription": "Rejestruj w więcej dni, aby odblokować linię trendu.",
|
||
"noDataInRangeTitle": "Brak danych w tym zakresie",
|
||
"noDataInRangeDescription": "Żadne pomiary nie mieszczą się w wybranym zakresie. Zmień zakres lub dodaj nowy pomiar.",
|
||
"sparseDataCaption": "Więcej dni dopełni trend.",
|
||
"personalBaseline": "Twoja średnia",
|
||
"deltaVsBaseline": "{delta} vs. twoja średnia",
|
||
"deltaUnchanged": "odpowiada twojej średniej",
|
||
"deltaVsTarget": "{delta} vs. cel",
|
||
"weekdaysFull": {
|
||
"mon": "Poniedziałek",
|
||
"tue": "Wtorek",
|
||
"wed": "Środa",
|
||
"thu": "Czwartek",
|
||
"fri": "Piątek",
|
||
"sat": "Sobota",
|
||
"sun": "Niedziela"
|
||
},
|
||
"rangeBand": "Zakres"
|
||
},
|
||
"chart": {
|
||
"overlay": {
|
||
"controls": {
|
||
"title": "Warstwy wykresu",
|
||
"trendIndicator": "Trend 7-dniowy",
|
||
"trendArrow": "Strzałka trendu",
|
||
"targetRange": "Zakres docelowy",
|
||
"comparisonBaseline": "Porównanie",
|
||
"comparisonUnavailable": "Brak dostępnego poprzedniego okresu",
|
||
"tooltip": {
|
||
"openSettings": "Ustawienia warstw wykresu"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"comparison": {
|
||
"toggleLabel": "Porównaj z",
|
||
"toggleHint": "Porównuje bieżący okres z tym samym okresem rok wcześniej.",
|
||
"baseline": {
|
||
"none": "Wyłączone",
|
||
"lastMonth": "Poprzedni miesiąc",
|
||
"lastYear": "Poprzedni rok"
|
||
},
|
||
"captionLastMonth": "vs. poprzedni miesiąc",
|
||
"captionLastYear": "vs. poprzedni rok",
|
||
"deltaVs": {
|
||
"lastMonth": "{delta} vs. poprzedni miesiąc",
|
||
"lastYear": "{delta} vs. poprzedni rok"
|
||
},
|
||
"tooltipPrior": "Poprzedni okres",
|
||
"unavailable": {
|
||
"lastMonth": "Porównanie niedostępne — brak danych z poprzedniego miesiąca",
|
||
"lastYear": "Porównanie niedostępne — brak danych z poprzedniego roku"
|
||
},
|
||
"notAvailableForCompliance": "Porównanie niedostępne dla przestrzegania"
|
||
},
|
||
"insights": {
|
||
"noAnalysisYet": "Brak oceny.",
|
||
"assessmentPreparing": "Przygotowywanie oceny…",
|
||
"emptyTitle": "Jeszcze za mało danych",
|
||
"emptyDescription": "Insights pojawią się, gdy zarejestrujesz kilka pomiarów. Zacznij od wagi lub ciśnienia.",
|
||
"emptyAddMeasurement": "Zarejestruj pomiar",
|
||
"bmiEmptyTitle": "Dodaj wzrost, aby obliczyć BMI",
|
||
"bmiEmptyDescription": "BMI wymaga twojego wzrostu. Zapisz go w Ustawieniach → Konto.",
|
||
"bmiEmptyAction": "Otwórz ustawienia konta",
|
||
"noProviderConfigured": "Ocena niedostępna.",
|
||
"startAnalysis": "Uruchom ocenę",
|
||
"refreshAnalysis": "Odśwież ocenę",
|
||
"keyTakeaway": "Najważniejsze",
|
||
"findingsTitle": "Wnioski",
|
||
"heroFindingPositive": "Najważniejszy wniosek",
|
||
"heroFindingNeutral": "Najważniejszy wniosek",
|
||
"heroFindingAttention": "Do uwagi",
|
||
"heroFindingWarning": "Najważniejszy alert",
|
||
"correlationsTitle": "Korelacje",
|
||
"recommendationsTitle": "Rekomendacje",
|
||
"personalRecord": {
|
||
"badge": "PR",
|
||
"tooltip": "Rekord osobisty: {value} {unit} dnia {date}"
|
||
},
|
||
"recommendation": {
|
||
"source": "Źródło",
|
||
"viewSource": "Otwórz wytyczne w nowej karcie",
|
||
"rationale": "Dlaczego ta rekomendacja",
|
||
"rationaleWindow": "Okno",
|
||
"rationaleComparedTo": "W porównaniu z",
|
||
"rationaleDeviation": "Odchylenie",
|
||
"rationaleExpand": "Pokaż uzasadnienie",
|
||
"rationaleCollapse": "Ukryj uzasadnienie",
|
||
"legacyPayloadCta": "Insights zaktualizowane — wygeneruj ponownie, aby aktywować nowe wyjaśnienia",
|
||
"feedbackHelpful": "Przydatne",
|
||
"feedbackNotHelpful": "Mało przydatne",
|
||
"feedbackThanks": "Dzięki za opinię",
|
||
"feedbackConfirmed": "Opinia zapisana",
|
||
"feedbackAlreadyRated": "Już ocenione",
|
||
"feedbackError": "Nie udało się zapisać opinii. Spróbuj ponownie.",
|
||
"confidence": "Pewność",
|
||
"confidenceAria": "Pewność: {value} na 100",
|
||
"confidenceHigh": "Wysoka pewność",
|
||
"confidenceMedium": "Średnia pewność",
|
||
"confidenceLow": "Niska pewność — mało danych",
|
||
"confidenceDraft": "Wersja robocza"
|
||
},
|
||
"dataFoundation": "Podstawa danych",
|
||
"dataGaps": "Braki danych:",
|
||
"lastUpdated": "Ostatnia aktualizacja",
|
||
"confidenceHoch": "Wysoka",
|
||
"confidenceMittel": "Średnia",
|
||
"confidenceGering": "Niska",
|
||
"loadError": "Nie udało się załadować analiz",
|
||
"heroGenerated": "Wygenerowano {time}",
|
||
"heroPersonalBaseline": "Na podstawie ostatnich 90 dni",
|
||
"heroRegenerate": "Wygeneruj ponownie",
|
||
"heroRegenerating": "Generowanie",
|
||
"regenerateAnalysis": "Uruchom ocenę ponownie",
|
||
"regenerateSuccess": "Ocena wygenerowana ponownie",
|
||
"warmAssessments": "Przygotuj oceny",
|
||
"warmAssessmentsHint": "Oceny odświeżają się automatycznie w nocy. Przygotuj je teraz, aby zobaczyć najnowsze dane.",
|
||
"warmStarted": "Oceny są przygotowywane w tle",
|
||
"narrativeTitle": "Twój okres w skrócie",
|
||
"narrativeWeek": "Ten tydzień",
|
||
"narrativeMonth": "Ten miesiąc",
|
||
"narrativePreparing": "Przygotowywanie podsumowania…",
|
||
"narrativeUpdating": "Aktualizowanie…",
|
||
"narrativeUpdated": "Zaktualizowano {time}",
|
||
"narrativeProvenanceLabel": "Jak to powstało",
|
||
"narrativeProvenanceMethod": "Podsumowanie okresu w prostym języku, oparte wyłącznie na zarejestrowanych wartościach i powiązaniach, które przeszły statystyczną korektę dla porównań wielokrotnych. Opisowe, nigdy nie przyczynowe.",
|
||
"narrativeProvenanceMetrics": "Na podstawie: {metrics}",
|
||
"narrativeProvenanceWindow": "Okno: od {from} do {to}",
|
||
"heroFallbackSubtitle": "Codzienne spojrzenie na twoje trendy — prosto z liczb, które rejestrujesz.",
|
||
"heroGreetingMorning": "Dzień dobry",
|
||
"heroGreetingAfternoon": "Dzień dobry",
|
||
"heroGreetingEvening": "Dobry wieczór",
|
||
"heroComingSoonTooltip": "Wkrótce",
|
||
"heroActionAskCoach": "Zapytaj coacha",
|
||
"healthScore": {
|
||
"label": "Wynik zdrowia",
|
||
"progressAria": "Postęp wyniku zdrowia",
|
||
"deltaVsLastWeek": "{delta} w porównaniu z ubiegłym tygodniem",
|
||
"deltaUnavailable": "Brak historii — zajrzyj w przyszłym tygodniu.",
|
||
"componentBp": "RR",
|
||
"componentWeight": "Waga",
|
||
"componentMood": "Nastrój",
|
||
"componentCompliance": "Przestrzeganie",
|
||
"disclaimer": "Wskazówka — nie ocena medyczna.",
|
||
"deltaExplainer": {
|
||
"trigger": "Co oznacza ta zmiana?",
|
||
"title": "Jak liczona jest ta zmiana",
|
||
"description": "Zmiana względem ubiegłego tygodnia: {delta}",
|
||
"body": "Wynik łączy ciśnienie, wagę, nastrój i przyjmowanie leków. Porównujemy dzisiejszy wynik z tym samym momentem tydzień wcześniej. Dodaj świeży pomiar lub wpis o nastroju, żeby pchnąć go w górę."
|
||
},
|
||
"provenance": {
|
||
"toggle": "Składa się z",
|
||
"weightLabel": "udział",
|
||
"mixedBanner": "Niektóre komponenty łączą wiele źródeł. Zestawienie pokazuje najświeższą wartość dla każdego komponentu.",
|
||
"footnote": "Wagi są przeskalowywane do dostępnych danych.",
|
||
"asOfLabel": "stan na {date}",
|
||
"provisional": "Wstępny — dostępne {count} z {total} danych",
|
||
"provisionalBadge": "Wstępne",
|
||
"sourceAria": "Źródło: {source}",
|
||
"sources": {
|
||
"manual": "Ręczne",
|
||
"withings": "Withings",
|
||
"appleHealth": "Apple Health",
|
||
"mixed": "Mieszane",
|
||
"none": "Brak danych"
|
||
}
|
||
}
|
||
},
|
||
"suggestedPrompts": {
|
||
"label": "Zapytaj mnie",
|
||
"whyMonday": "Dlaczego moje ciśnienie było wyższe w poniedziałek?",
|
||
"weightVsPulse": "Jak spadek wagi wpłynął na moje tętno?",
|
||
"weekVsMonth": "Porównaj ten tydzień z poprzednim miesiącem",
|
||
"tellMyDoctor": "Co powinienem powiedzieć lekarzowi?",
|
||
"medicationWorking": "Czy mój lek działa?"
|
||
},
|
||
"dailyBriefing": {
|
||
"title": "Briefing dnia",
|
||
"keyFindingsTitle": "Kluczowe wnioski",
|
||
"emptyTitle": "Jeszcze brak briefingu",
|
||
"emptyDescription": "Wygeneruj dzisiejszy briefing, aby zobaczyć podsumowanie trendów.",
|
||
"emptyAction": "Wygeneruj briefing",
|
||
"loadingLabel": "Przygotowanie briefingu"
|
||
},
|
||
"therapyTimeline": {
|
||
"title": "Historia terapii GLP-1",
|
||
"description": "Chronologiczna lista: zmiany dawki, iniekcje, zapasy i dni z działaniami niepożądanymi.",
|
||
"empty": "Brak zdarzeń GLP-1 w ostatnich 90 dniach.",
|
||
"doseTo": "Dawka na",
|
||
"pens": "Peny",
|
||
"sideEffects": "Działania niepożądane"
|
||
},
|
||
"trendsRow": {
|
||
"title": "Trendy",
|
||
"subtitle": "Ostatnie 30 dni w skrócie",
|
||
"caption": {
|
||
"bp": "Wartości skurczowe i rozkurczowe z ostatnich 30 dni.",
|
||
"weight": "Trend masy ciała z ostatnich 30 dni.",
|
||
"pulse": "Tętno spoczynkowe z ostatnich 30 dni.",
|
||
"mood": "Dzienna ocena nastroju z ostatnich 30 dni.",
|
||
"sleep": "Długość snu nocnego z ostatnich 30 dni.",
|
||
"steps": "Dzienna liczba kroków z ostatnich 30 dni.",
|
||
"hrv": "Zmienność rytmu serca z ostatnich 30 dni.",
|
||
"resting_hr": "Spoczynkowe tętno z ostatnich 30 dni.",
|
||
"active_energy": "Aktywnie spalona energia z ostatnich 30 dni.",
|
||
"flights": "Pokonane piętra z ostatnich 30 dni.",
|
||
"distance": "Dystans marszu i biegu z ostatnich 30 dni.",
|
||
"vo2_max": "VO₂ max z ostatnich 30 dni.",
|
||
"body_temp": "Temperatura ciała z ostatnich 30 dni."
|
||
}
|
||
},
|
||
"vo2Max": {
|
||
"statLatest": "Aktualne",
|
||
"statMin": "Min",
|
||
"statMax": "Maks",
|
||
"empty": "Brak danych VO₂ max — zsynchronizuj Apple Health, aby uzupełnić ten widok."
|
||
},
|
||
"trendAnnotation": {
|
||
"emptyBp": "Potrzeba więcej danych, aby skomentować ten trend.",
|
||
"emptyWeight": "Potrzeba więcej danych, aby skomentować ten trend.",
|
||
"emptyMood": "Potrzeba więcej danych, aby skomentować ten trend.",
|
||
"confidenceHigh": "Wysoka pewność",
|
||
"confidenceModerate": "Średnia pewność",
|
||
"confidenceLow": "Niska pewność",
|
||
"pendingLabel": "Komentarz trendu jest generowany"
|
||
},
|
||
"range": {
|
||
"label": "Okres",
|
||
"noPriorData": "brak danych z poprzedniego okresu",
|
||
"option": {
|
||
"7d": "7d",
|
||
"30d": "30d",
|
||
"90d": "90d",
|
||
"1y": "1r"
|
||
},
|
||
"priorLabel": {
|
||
"7d": "vs poprzednie 7d",
|
||
"30d": "vs poprzednie 30d",
|
||
"90d": "vs poprzednie 90d",
|
||
"1y": "vs poprzedni rok"
|
||
},
|
||
"noChange": "bez zmian"
|
||
},
|
||
"correlationRow": {
|
||
"title": "Korelacje",
|
||
"disclaimer": "Korelacje są obserwacyjne, nie przyczynowe — porozmawiaj z lekarzem, jeśli ciśnienie jest wysokie.",
|
||
"experimentCta": "Uruchom 7-dniowy eksperyment",
|
||
"experimentTooltip": "Wkrótce",
|
||
"emptyTitle": "Potrzeba więcej danych, aby pokazać tę korelację",
|
||
"sourceChip": "na podstawie {n} sparowanych pomiarów · {window}",
|
||
"sourceWindowLast30": "Ostatnie 30 dni",
|
||
"confidenceHigh": "Wysoka pewność",
|
||
"confidenceModerate": "Średnia pewność",
|
||
"confidenceLow": "Niska pewność",
|
||
"card": {
|
||
"bpComplianceTitle": "RR × przestrzeganie leków",
|
||
"bpComplianceSubtitle": "Dzienne skurczowe wobec % przestrzegania",
|
||
"moodPulseTitle": "Nastrój × tętno spoczynkowe",
|
||
"moodPulseSubtitle": "Nastrój i tętno spoczynkowe w tym samym dniu",
|
||
"weightWeekdayTitle": "Waga × dzień tygodnia",
|
||
"weightWeekdaySubtitle": "Waga pogrupowana wg dnia tygodnia"
|
||
}
|
||
},
|
||
"coach": {
|
||
"refusalOutOfScope": "Mogę pomóc tylko w sprawach danych zdrowotnych z twojego logu — pomiarów, leków, nastroju, trendów. Pytań spoza tego zakresu nie podejmuję.",
|
||
"refusalInjection": "Twoja wiadomość zawiera instrukcje, które próbują nadpisać moje wytyczne. Jestem coachem HealthLog i podsumowuję wyłącznie twoje własne dane zdrowotne — przeformułuj pytanie w tych ramach.",
|
||
"errorBudget": "Osiągnięto dzienny limit coacha. Limit resetuje się o północy (UTC).",
|
||
"errorProvider": "Coach nie mógł teraz skontaktować się z dostawcą analizy. Spróbuj za chwilę.",
|
||
"errorNetwork": "Brak połączenia z Internetem — spróbuj ponownie, gdy wrócisz online.",
|
||
"errorCredentialExpired": "Połączenie z dostawcą AI wygasło. Połącz je ponownie w Ustawieniach, aby Coach działał dalej.",
|
||
"tagline": "Osobisty coach zdrowia, oparty na twoich danych.",
|
||
"newChat": "Nowa rozmowa",
|
||
"maximizeAriaLabel": "Otwórz na pełnej stronie",
|
||
"minimizeAriaLabel": "Powrót do panelu",
|
||
"send": "Wyślij",
|
||
"stop": "Zatrzymaj",
|
||
"thinking": "Myślę…",
|
||
"composerPlaceholder": "Zapytaj o swoje dane…",
|
||
"composerHint": "Enter wysyła, Shift+Enter przechodzi do nowej linii.",
|
||
"composerDisclaimer": "Odpowiedzi są generowane. Decyzje kliniczne należą do lekarza.",
|
||
"voiceComingSoon": "Wejście głosowe pojawi się z aplikacją iOS w v1.5.",
|
||
"threadEmpty": "Zapytaj o swoje trendy, leki lub pomiary, aby zacząć.",
|
||
"historyTitle": "Rozmowy",
|
||
"historySearchPlaceholder": "Szukaj w rozmowach…",
|
||
"historyEmpty": "Twoje rozmowy pojawią się tutaj. Zadaj pytanie, aby zacząć.",
|
||
"historyDeleteAria": "Usuń rozmowę",
|
||
"historyDeleteConfirm": "Usunąć tę rozmowę? Tego nie da się cofnąć.",
|
||
"sourcesTitle": "Do czego mam dostęp",
|
||
"sourcesFresh": "Aktualne",
|
||
"sourcesStale": "Nieaktualne",
|
||
"sourcesFooter": "Coach czyta tylko dane, które podłączyłeś.",
|
||
"evidenceLabel": "Na czym to się opiera?",
|
||
"metric": {
|
||
"bp": "Ciśnienie krwi",
|
||
"weight": "Waga",
|
||
"pulse": "Tętno",
|
||
"mood": "Nastrój",
|
||
"compliance": "Przestrzeganie zaleceń",
|
||
"general": "Ogólne",
|
||
"hrv": "HRV",
|
||
"sleep": "Sen",
|
||
"resting_hr": "Tętno spoczynkowe",
|
||
"steps": "Kroki",
|
||
"active_energy": "Aktywna energia",
|
||
"flights": "Piętra",
|
||
"distance": "Dystans",
|
||
"vo2_max": "VO₂ max",
|
||
"body_temp": "Temperatura ciała",
|
||
"medications": "Leki",
|
||
"anthropometrics": "Profil (wzrost, wiek, płeć)",
|
||
"walking_hr": "Tętno podczas chodzenia",
|
||
"respiratory_rate": "Częstość oddechów",
|
||
"spo2": "Saturacja krwi",
|
||
"pulse_wave_velocity": "Prędkość fali tętna",
|
||
"vascular_age": "Wiek naczyniowy",
|
||
"body_fat": "Tkanka tłuszczowa",
|
||
"fat_mass": "Masa tłuszczowa",
|
||
"fat_free_mass": "Masa beztłuszczowa",
|
||
"muscle_mass": "Masa mięśniowa",
|
||
"lean_body_mass": "Beztłuszczowa masa ciała",
|
||
"bone_mass": "Masa kostna",
|
||
"total_body_water": "Woda w organizmie",
|
||
"bmi": "BMI",
|
||
"visceral_fat": "Tłuszcz trzewny",
|
||
"glucose": "Glukoza",
|
||
"walking_steadiness": "Stabilność chodu",
|
||
"walking_asymmetry": "Asymetria chodu",
|
||
"walking_double_support": "Czas podwójnego podparcia",
|
||
"walking_step_length": "Długość kroku",
|
||
"walking_speed": "Prędkość chodu",
|
||
"audio_env": "Dźwięk otoczenia",
|
||
"audio_headphone": "Dźwięk słuchawek",
|
||
"audio_event": "Zdarzenia głośnego dźwięku",
|
||
"daylight": "Czas w świetle dziennym",
|
||
"skin_temp": "Temperatura skóry",
|
||
"workouts": "Treningi"
|
||
},
|
||
"window": {
|
||
"last7days": "Ostatnie 7 dni",
|
||
"last30days": "Ostatnie 30 dni",
|
||
"last90days": "Ostatnie 90 dni",
|
||
"lastYear": "od początku roku",
|
||
"allTime": "Cały okres"
|
||
},
|
||
"windowLabel": "Okres",
|
||
"settingsAriaLabel": "Ustawienia coacha",
|
||
"settingsTitle": "Ustawienia coacha",
|
||
"settingsDescription": "Ustaw, jak coach do ciebie mówi.",
|
||
"settingsToneLabel": "Ton",
|
||
"settingsToneWarm": "Ciepły",
|
||
"settingsToneNeutral": "Neutralny",
|
||
"settingsToneConcise": "Zwięzły",
|
||
"settingsVerbosityLabel": "Długość odpowiedzi",
|
||
"settingsVerbosityBrief": "Krótka",
|
||
"settingsVerbosityDefault": "Standardowa",
|
||
"settingsVerbosityDetailed": "Szczegółowa",
|
||
"settingsExcludeLabel": "Wyklucz metryki",
|
||
"settingsExcludeHint": "Coach nie zobaczy danych wybranych metryk.",
|
||
"settingsEvidenceLabel": "Pokazuj dowody domyślnie",
|
||
"settingsEvidenceHint": "Automatycznie otwiera pole dowodów pod każdą odpowiedzią.",
|
||
"settingsDefaultWindowLabel": "Domyślny okres analizy",
|
||
"settingsDefaultWindowHint": "Coach czyta ten okres na rozmowę, chyba że wybierzesz inny w nagłówku panelu.",
|
||
"settingsSave": "Zapisz",
|
||
"settingsSaved": "Zapisano.",
|
||
"settingsCancel": "Anuluj",
|
||
"feedbackHelpful": "Przydatne",
|
||
"feedbackUnhelpful": "Mało przydatne",
|
||
"feedbackThanks": "Dzięki za sygnał.",
|
||
"dailyLimitTitle": "Osiągnięto dzienny limit",
|
||
"dailyLimitBody": "Osiągnięto dzienny limit; reset o 00:00 UTC.",
|
||
"providerRateLimitTitle": "Dostawca z ograniczeniem",
|
||
"providerRateLimitBody": "Dostawca jest tymczasowo przeciążony; reset za ~5 min.",
|
||
"settingsContextLabel": "Wysyłaj kontekst",
|
||
"settingsContextHint": "Opcjonalne bloki, na których coach może się opierać. Wyłączenie pominie blok w każdej odpowiedzi.",
|
||
"cluster": {
|
||
"cardio": {
|
||
"label": "Sercowo-naczyniowe",
|
||
"hint": "Ciśnienie · tętno · HRV · tętno spoczynkowe i marszowe"
|
||
},
|
||
"body": {
|
||
"label": "Skład ciała",
|
||
"hint": "Waga · tłuszcz · mięśnie · BMI"
|
||
},
|
||
"activity": {
|
||
"label": "Aktywność",
|
||
"hint": "Kroki · energia · dystans · VO₂ max"
|
||
},
|
||
"workouts": {
|
||
"label": "Treningi",
|
||
"hint": "Biegi · przejażdżki · sesje"
|
||
},
|
||
"sleep": {
|
||
"label": "Sen",
|
||
"hint": "Czas trwania · fazy"
|
||
},
|
||
"mood": {
|
||
"label": "Nastrój",
|
||
"hint": "Codzienne wpisy nastroju"
|
||
},
|
||
"glucose": {
|
||
"label": "Glukoza",
|
||
"hint": "Pomiary na czczo i poposiłkowe"
|
||
},
|
||
"medication": {
|
||
"label": "Leki",
|
||
"hint": "Przestrzeganie · kontekst GLP-1"
|
||
},
|
||
"mobility": {
|
||
"label": "Mobilność i chód",
|
||
"hint": "Stabilność · asymetria · chód"
|
||
},
|
||
"environment": {
|
||
"label": "Środowisko",
|
||
"hint": "Hałas · światło · temp. skóry"
|
||
}
|
||
},
|
||
"settingsClustersLabel": "Dane widziane przez Coacha",
|
||
"settingsClustersHint": "Wybierz, które grupy danych Coach może czytać. Więcej danych to bogatsze odpowiedzi i większy prompt.",
|
||
"settingsClusterNoData": "Brak danych",
|
||
"sourcesMemberCount": "{count} wskaźników"
|
||
},
|
||
"relativeJustNow": "przed chwilą",
|
||
"relativeMinutesAgoOne": "{count} minutę temu",
|
||
"relativeMinutesAgoOther": "{count} minut temu",
|
||
"relativeHoursAgoOne": "{count} godzinę temu",
|
||
"relativeHoursAgoOther": "{count} godzin temu",
|
||
"relativeDaysAgoOne": "{count} dzień temu",
|
||
"relativeDaysAgoOther": "{count} dni temu",
|
||
"navOverview": "Przegląd",
|
||
"navBloodPressure": "Ciśnienie krwi",
|
||
"navWeight": "Waga",
|
||
"navPulse": "Tętno",
|
||
"navMood": "Nastrój",
|
||
"navMedication": "Lek",
|
||
"navBmi": "BMI",
|
||
"navSleep": "Sen",
|
||
"navHrv": "HRV",
|
||
"navRestingHr": "Tętno spoczynkowe",
|
||
"navOxygenSaturation": "Tlen",
|
||
"navBodyTemperature": "Temperatura",
|
||
"navActiveEnergy": "Energia czynna",
|
||
"navAriaLabel": "Przejdź do sekcji",
|
||
"tabStrip": {
|
||
"vitalsParent": {
|
||
"label": "Witalne",
|
||
"header": "Parametry witalne"
|
||
},
|
||
"bodyParent": {
|
||
"label": "Ciało",
|
||
"header": "Skład ciała"
|
||
},
|
||
"activityParent": {
|
||
"label": "Aktywność",
|
||
"header": "Aktywność i mobilność"
|
||
},
|
||
"cardiovascularParent": {
|
||
"label": "Sercowo-naczyniowe",
|
||
"header": "Markery sercowo-naczyniowe"
|
||
},
|
||
"hearingParent": {
|
||
"label": "Słuch",
|
||
"header": "Słuch i ekspozycja na dźwięk"
|
||
},
|
||
"environmentParent": {
|
||
"label": "Środowisko",
|
||
"header": "Środowisko"
|
||
},
|
||
"metabolicParent": {
|
||
"label": "Metaboliczne",
|
||
"header": "Metaboliczne"
|
||
}
|
||
},
|
||
"hrv": {
|
||
"title": "HRV",
|
||
"description": "Zmienność rytmu serca w czasie — sygnał regeneracji układu nerwowego, rejestrowany nocą przez Apple Watch i inne zgodne wearable.",
|
||
"chartTitle": "Zmienność rytmu serca",
|
||
"emptyState": {
|
||
"title": "Brak wartości HRV",
|
||
"description": "Wartości HRV pojawią się tutaj, gdy Apple Watch (lub zgodne urządzenie Withings) zsynchronizuje pomiary nocne."
|
||
}
|
||
},
|
||
"restingHr": {
|
||
"title": "Tętno spoczynkowe",
|
||
"description": "Dzienna linia bazowa rytmu serca — różna od tętna punktowego na stronie Pulse. Apple Zdrowie podaje jedną wartość na dobę.",
|
||
"chartTitle": "Tętno spoczynkowe",
|
||
"emptyState": {
|
||
"title": "Brak tętna spoczynkowego",
|
||
"description": "Tętno spoczynkowe pojawi się, gdy Apple Watch lub zgodne urządzenie Withings spędzi spokojny dzień na nadgarstku."
|
||
}
|
||
},
|
||
"oxygenSaturation": {
|
||
"title": "Saturacja tlenu",
|
||
"description": "Tlen we krwi (SpO₂) — kliniczny zakres normy 95–100 %, ze strefami docelowymi zacienionymi na wykresie.",
|
||
"chartTitle": "Saturacja tlenu",
|
||
"emptyState": {
|
||
"title": "Brak próbek SpO₂",
|
||
"description": "Próbki SpO₂ trafią tutaj, gdy zgodne wearable (Apple Watch, Withings ScanWatch) wykona pomiar."
|
||
}
|
||
},
|
||
"bodyTemperature": {
|
||
"title": "Temperatura ciała",
|
||
"description": "Trend temperatury rdzenia ciała w stopniach Celsjusza. Temperatura skóry z Withings działa na osobnej metryce.",
|
||
"chartTitle": "Temperatura ciała",
|
||
"emptyState": {
|
||
"title": "Brak temperatury ciała",
|
||
"description": "Zarejestruj pomiar lub pozwól wearable zsynchronizować jeden — trend pojawi się tutaj.",
|
||
"cta": "Zarejestruj temperaturę ciała"
|
||
}
|
||
},
|
||
"activeEnergy": {
|
||
"title": "Energia czynna",
|
||
"description": "Dzienna suma energii czynnej w kilokaloriach — jeden wiersz na dobę, z Apple Zdrowie lub aktywności Withings.",
|
||
"chartTitle": "Energia czynna",
|
||
"emptyState": {
|
||
"title": "Brak danych o energii czynnej",
|
||
"description": "Sumy energii czynnej pojawią się tutaj, gdy Apple Zdrowie lub urządzenie Withings zsynchronizuje pełny dzień."
|
||
}
|
||
},
|
||
"subPage": {
|
||
"blutdruckDescription": "Twój przebieg skurczowego/rozkurczowego z zakresami docelowymi dopasowanymi do wieku i oceną tekstową.",
|
||
"gewichtDescription": "Przebieg wagi na tle zdrowego pasma wyliczonego z twojego wzrostu, z oceną.",
|
||
"pulsDescription": "Resting pulse vs. the personalised Karvonen target band, plus a written assessment.",
|
||
"stimmungDescription": "Dzienne wartości nastroju w czasie wraz z oceną tekstową.",
|
||
"stimmungEmptyTitle": "Zarejestruj pierwszy nastrój",
|
||
"stimmungEmptyDescription": "Insights nastroju pojawiają się, gdy zarejestrujesz kilka wpisów. Stuknij poniżej, aby zacząć.",
|
||
"stimmungEmptyAction": "Otwórz dziennik nastroju",
|
||
"medikamenteDescription": "Kalendarz przyjęć dla każdego leku plus ocena tekstowa.",
|
||
"medikamenteEmptyTitle": "Dodaj pierwszy lek",
|
||
"medikamenteEmptyDescription": "Insights przestrzegania wymagają przynajmniej jednego zarejestrowanego leku.",
|
||
"medikamenteEmptyAction": "Otwórz leki",
|
||
"therapyTimelineDescription": "Chronologiczny protokół terapii GLP-1 — zmiany dawki, iniekcje, stan, działania niepożądane.",
|
||
"bmiDescription": "BMI obliczone z twojej wagi i wzrostu, z oceną.",
|
||
"target": {
|
||
"range": "Cel: {min}–{max} {unit}",
|
||
"bpRange": "Cel: {sysMin}–{sysMax} / {diaMin}–{diaMax} {unit}",
|
||
"inTargetShare": "{pct}% zarejestrowanych dni w zakresie celu",
|
||
"adjustLink": "Dostosuj zakres docelowy"
|
||
},
|
||
"primary": {
|
||
"avg30Label": "Średnia z 30 dni",
|
||
"inRangeLabel": "W zakresie",
|
||
"inRangeAria": "{pct}% zarejestrowanych dni w zakresie celu"
|
||
},
|
||
"lastMeasurement": {
|
||
"label": "Ostatni pomiar"
|
||
},
|
||
"explainer": {
|
||
"trigger": "Czym jest {title}?",
|
||
"bloodPressureTitle": "Ciśnienie krwi",
|
||
"bloodPressureBody": "Ciśnienie krwi to siła, z jaką krew napiera na ściany tętnic, zapisywana jako skurczowe do rozkurczowego (szczyt podczas uderzenia serca do wartości spoczynkowej między uderzeniami). Stale wysokie wartości z czasem obciążają serce i naczynia.",
|
||
"pulseTitle": "Tętno",
|
||
"pulseBody": "Tętno to liczba uderzeń serca na minutę. Pojedynczy pomiar odzwierciedla to, co robiłeś w danej chwili — w spoczynku wynosi zwykle 60–100 uderzeń na minutę i naturalnie rośnie przy ruchu, stresie lub kofeinie.",
|
||
"weightTitle": "Waga",
|
||
"weightBody": "Masa ciała to jeden z najprostszych sygnałów długoterminowego bilansu energetycznego i ogólnego zdrowia. Trend na przestrzeni tygodni liczy się znacznie bardziej niż pojedynczy odczyt, który zmienia się wraz z nawodnieniem, jedzeniem i porą dnia.",
|
||
"bmiTitle": "Wskaźnik masy ciała (BMI)",
|
||
"bmiBody": "BMI to waga podzielona przez wzrost do kwadratu — jedna liczba przypisująca Cię do szerokiej kategorii wagowej. To badanie przesiewowe dla populacji, a nie diagnoza, i nie odróżnia mięśni od tłuszczu.",
|
||
"sleepTitle": "Sen",
|
||
"sleepBody": "Długość snu to czas, który faktycznie przespałeś w nocy, podzielony na fazy lekką, głęboką i REM. Większość dorosłych potrzebuje około siedmiu do dziewięciu godzin; stała ilość i jakość wspierają regenerację, nastrój i metabolizm.",
|
||
"moodTitle": "Nastrój",
|
||
"moodBody": "Śledzenie nastroju rejestruje Twoje samopoczucie w czasie na prostej skali. Regularne zapisywanie ujawnia wzorce — jak sen, aktywność czy leki łączą się z samopoczuciem — których pojedynczy dzień nigdy nie pokaże.",
|
||
"medicationsTitle": "Przestrzeganie zaleceń lekowych",
|
||
"medicationsBody": "Przestrzeganie zaleceń to rzetelność przyjmowania leków zgodnie z zaleceniami, pokazana tu jako odsetek oczekiwanych dawek, które zarejestrowałeś. Regularne przyjmowanie często decyduje o tym, czy terapia działa zgodnie z zamierzeniem.",
|
||
"restingHrTitle": "Tętno spoczynkowe",
|
||
"restingHrBody": "Tętno spoczynkowe to częstość uderzeń serca w pełnym spoczynku, zwykle mierzona w nocy. Niższe tętno zwykle wskazuje na lepszą wydolność krążeniową, a rosnący trend może być wczesnym sygnałem stresu lub choroby.",
|
||
"hrvTitle": "Zmienność rytmu serca (HRV)",
|
||
"hrvBody": "HRV to drobna zmienność czasu między kolejnymi uderzeniami serca. Wyższa zmienność zwykle odzwierciedla dobrze zregenerowany, elastyczny układ nerwowy, a utrzymujący się spadek może sygnalizować zmęczenie, stres lub niewystarczającą regenerację.",
|
||
"oxygenSaturationTitle": "Saturacja tlenem (SpO₂)",
|
||
"oxygenSaturationBody": "SpO₂ to odsetek czerwonych krwinek przenoszących tlen. Wartości 95–100% są normalne w spoczynku; wartości utrzymujące się poniżej 90% wymagają uwagi, choć krótkie nocne spadki są częste.",
|
||
"bodyTemperatureTitle": "Temperatura ciała",
|
||
"bodyTemperatureBody": "Temperatura ciała odzwierciedla stan cieplny rdzenia, zwykle około 37 °C z niewielkimi dobowymi wahaniami. Utrzymujący się wzrost może wskazywać na infekcję, podczas gdy nocne pomiary na nadgarstku śledzą głównie zmiany względne, a nie wartość kliniczną.",
|
||
"activeEnergyTitle": "Energia aktywna",
|
||
"activeEnergyBody": "Energia aktywna to kalorie spalane przez ruch, ponad podstawowy wydatek w spoczynku. To bezpośrednia miara tego, jak aktywny fizycznie był Twój dzień.",
|
||
"workoutsTitle": "Treningi",
|
||
"workoutsBody": "Treningi to ustrukturyzowane sesje ćwiczeń rejestrowane przez Twoje urządzenia, wraz z typem, czasem trwania i energią. Ich śledzenie pokazuje, jak regularny trening kumuluje się przez tygodnie i jak wiąże się z innymi sygnałami zdrowotnymi.",
|
||
"respiratoryRateTitle": "Częstość oddechów",
|
||
"respiratoryRateBody": "Częstość oddechów to liczba wdechów na minutę. W spoczynku większość dorosłych oddycha około dwunastu do dwudziestu razy na minutę; utrzymujący się wzrost może towarzyszyć chorobie, wysiłkowi lub stresowi.",
|
||
"bodyWaterTitle": "Całkowita woda w organizmie",
|
||
"bodyWaterBody": "Całkowita woda w organizmie to udział płynów w masie ciała, wewnątrz i wokół komórek. Zmienia się wraz z nawodnieniem, posiłkami i aktywnością, więc trend w ciągu tygodni mówi więcej niż pojedynczy pomiar.",
|
||
"boneMassTitle": "Masa kostna",
|
||
"boneMassBody": "Masa kostna to szacowana waga minerałów w szkielecie. Pomiary z wagi są przybliżone, ale stabilny lub rosnący trend sprzyja długotrwałej wytrzymałości kości.",
|
||
"fatFreeMassTitle": "Masa beztłuszczowa",
|
||
"fatFreeMassBody": "Masa beztłuszczowa to wszystko w ciele, co nie jest tłuszczem — mięśnie, kości, narządy i woda. Utrzymanie lub jej budowanie przy spadku wagi zwykle wskazuje na zdrowszy skład ciała.",
|
||
"fatMassTitle": "Masa tłuszczowa",
|
||
"fatMassBody": "Masa tłuszczowa to łączna waga tłuszczu w ciele. Pewna ilość tłuszczu jest niezbędna dla hormonów i magazynowania energii, ale jego nadmiar — zwłaszcza w okolicy brzucha — zwiększa długoterminowe ryzyko zdrowotne.",
|
||
"muscleMassTitle": "Masa mięśniowa",
|
||
"muscleMassBody": "Masa mięśniowa to szacowana waga mięśni w ciele. Więcej mięśni wspiera siłę, metabolizm i sprawność, a ich utrzymanie z wiekiem zwykle wymaga aktywnego wysiłku.",
|
||
"visceralFatTitle": "Tłuszcz trzewny",
|
||
"visceralFatBody": "Tłuszcz trzewny to tłuszcz gromadzony głęboko w jamie brzusznej wokół narządów. W odróżnieniu od tłuszczu podskórnego jego wysoki poziom jest ściśle powiązany z chorobami serca i cukrzycą typu 2, więc im niżej, tym lepiej.",
|
||
"leanBodyMassTitle": "Beztłuszczowa masa ciała",
|
||
"leanBodyMassBody": "Beztłuszczowa masa ciała to całkowita waga pomniejszona o tłuszcz — mięśnie, kości, narządy i woda razem. Śledzenie jej obok wagi pokazuje, czy zmiany wynikają z mięśni, czy z tłuszczu.",
|
||
"flightsClimbedTitle": "Pokonane piętra",
|
||
"flightsClimbedBody": "Pokonane piętra liczą kondygnacje, które pokonujesz w górę każdego dnia, gdzie jedno piętro to około trzech metrów wzniesienia. To prosty wskaźnik codziennej aktywności i wysiłku nóg.",
|
||
"walkingDistanceTitle": "Dystans marszu i biegu",
|
||
"walkingDistanceBody": "Dystans marszu i biegu to droga, jaką pokonujesz pieszo każdego dnia. Uzupełnia liczbę kroków, pokazując, jak daleko się poruszałeś, a nie tylko jak często stawiałeś kroki.",
|
||
"walkingSteadinessTitle": "Stabilność chodu",
|
||
"walkingSteadinessBody": "Stabilność chodu szacuje, jak stabilny i zrównoważony jest twój sposób chodzenia, w skali od dobrej do niskiej. Niski poziom wskazuje na większe ryzyko upadku i warto omówić go z lekarzem.",
|
||
"walkingHeartRateTitle": "Tętno podczas chodzenia",
|
||
"walkingHeartRateBody": "Tętno podczas chodzenia to średni puls w trakcie równego marszu. Niższa wartość w czasie często odzwierciedla poprawę wydolności krążeniowej przy tym samym wysiłku.",
|
||
"walkingAsymmetryTitle": "Asymetria chodu",
|
||
"walkingAsymmetryBody": "Asymetria chodu to odsetek czasu, w którym kroki są nierówne między lewą a prawą nogą. Wyższy procent może wskazywać na ból, kontuzję lub problem z chodem wart sprawdzenia.",
|
||
"doubleSupportTimeTitle": "Czas podwójnego podparcia",
|
||
"doubleSupportTimeBody": "Czas podwójnego podparcia to udział każdego cyklu chodu, w którym obie stopy dotykają ziemi jednocześnie. Wyższy procent zwykle oznacza ostrożniejszy, mniej stabilny chód.",
|
||
"stepLengthTitle": "Długość kroku",
|
||
"stepLengthBody": "Długość kroku to średnia odległość od jednego postawienia stopy do następnego. Krótszy krok w czasie może odzwierciedlać zmęczenie, ostrożność lub zmianę sprawności ruchowej.",
|
||
"walkingSpeedTitle": "Prędkość chodu",
|
||
"walkingSpeedBody": "Prędkość chodu to tempo poruszania się po płaskim terenie. To dobrze zbadany wskaźnik ogólnego zdrowia i sprawności, a stałe lub rosnące tempo to dobry znak.",
|
||
"pulseWaveVelocityTitle": "Prędkość fali tętna",
|
||
"pulseWaveVelocityBody": "Prędkość fali tętna mierzy, jak szybko fala ciśnienia z każdego uderzenia serca przemieszcza się przez tętnice. Szybsza fala wskazuje na sztywniejsze tętnice, co wiąże się z wyższym ryzykiem sercowo-naczyniowym.",
|
||
"vascularAgeTitle": "Wiek naczyniowy",
|
||
"vascularAgeBody": "Wiek naczyniowy szacuje, jak stare zachowują się twoje tętnice w porównaniu z rzeczywistym wiekiem, na podstawie sztywności tętnic. Wiek naczyniowy niższy od rzeczywistego sugeruje zdrowsze naczynia krwionośne.",
|
||
"environmentalAudioTitle": "Poziom dźwięku otoczenia",
|
||
"environmentalAudioBody": "Poziom dźwięku otoczenia śledzi głośność otoczenia w decybelach. Długotrwała ekspozycja powyżej około 70 dB może z czasem uszkodzić słuch, więc niższe średnie dzienne są bezpieczniejsze.",
|
||
"headphoneAudioTitle": "Poziom dźwięku w słuchawkach",
|
||
"headphoneAudioBody": "Poziom dźwięku w słuchawkach śledzi w decybelach, jak głośno słuchasz przez słuchawki. Ściszanie głośności i robienie przerw chroni słuch w dłuższej perspektywie.",
|
||
"audioEventsTitle": "Zdarzenia głośnego dźwięku",
|
||
"audioEventsBody": "Zdarzenia głośnego dźwięku oznaczają momenty, gdy hałas wokół ciebie osiągnął poziom mogący przy wystarczającej ekspozycji uszkodzić słuch. Częste zdarzenia to sygnał, by poszukać cichszego otoczenia lub ochrony słuchu.",
|
||
"daylightTitle": "Czas w świetle dziennym",
|
||
"daylightBody": "Czas w świetle dziennym to ilość czasu spędzanego w świetle na zewnątrz każdego dnia. Regularne światło dzienne wspiera zdrowy rytm snu i czuwania oraz nastrój, a czas na świeżym powietrzu wiąże się ze zdrowiem oczu.",
|
||
"bloodGlucoseTitle": "Poziom glukozy we krwi",
|
||
"bloodGlucoseBody": "Poziom glukozy we krwi to ilość cukru we krwi, głównego źródła energii organizmu. Rośnie po jedzeniu i ustala się między posiłkami; wartości utrzymujące się wysoko mogą sygnalizować cukrzycę lub stan przedcukrzycowy.",
|
||
"skinTemperatureTitle": "Temperatura skóry",
|
||
"skinTemperatureBody": "Temperatura skóry to tutaj niewielka nocna zmiana temperatury nadgarstka względem twojej własnej wartości bazowej, a nie bezwzględny pomiar gorączki. Zmiany mogą odzwierciedlać sen, otoczenie, chorobę lub fazę cyklu menstruacyjnego.",
|
||
"cardioFitnessTitle": "Wydolność krążeniowa (VO₂ max)",
|
||
"cardioFitnessBody": "VO₂ max to ilość tlenu, jaką organizm potrafi wykorzystać przy maksymalnym wysiłku. To najlepszy laboratoryjny wskaźnik wydolności tlenowej, a wyższa lub rosnąca wartość świadczy o dobrym zdrowiu układu krążenia.",
|
||
"cardioRecoveryTitle": "Regeneracja serca",
|
||
"cardioRecoveryBody": "Regeneracja serca to liczba uderzeń na minutę, o jaką spada tętno w pierwszej minucie po zakończeniu intensywnego wysiłku. Większy spadek oznacza, że serce szybciej się uspokaja, co świadczy o dobrej kondycji.",
|
||
"wristTemperatureTitle": "Temperatura nadgarstka",
|
||
"wristTemperatureBody": "Temperatura nadgarstka jest mierzona podczas snu. Apple pokazuje ją jako różnicę względem Twojej wartości bazowej; stabilny odczyt jest normalny, a utrzymujący się wzrost może wskazywać na chorobę, intensywny trening lub zmianę cyklu.",
|
||
"fallsTitle": "Upadki",
|
||
"fallsBody": "Tutaj liczone są poważne upadki wykryte przez Apple Watch. Celem jest zero; rosnąca liczba to sygnał ryzyka związanego z mobilnością, który warto omówić z lekarzem, zwłaszcza u osób starszych.",
|
||
"sixMinuteWalkTitle": "Dystans marszu 6-minutowego",
|
||
"sixMinuteWalkBody": "To szacunek Apple, jak daleko mógłbyś przejść w sześć minut — klasyczny test kliniczny mobilności i wydolności krążeniowo-oddechowej. Stały lub rosnący dystans to dobry znak.",
|
||
"stairAscentSpeedTitle": "Prędkość wchodzenia po schodach",
|
||
"stairAscentSpeedBody": "To prędkość, z jaką pokonujesz bieg schodów. To czuły wskaźnik siły nóg i mobilności — stałe lub rosnące tempo to dobry znak, a spadające warto obserwować.",
|
||
"stairDescentSpeedTitle": "Prędkość schodzenia po schodach",
|
||
"stairDescentSpeedBody": "To prędkość, z jaką schodzisz bieg schodów. Razem z prędkością wchodzenia odzwierciedla kontrolę nóg i równowagę — stałe tempo to dobry znak, a spadające warto obserwować.",
|
||
"breathingDisturbancesTitle": "Zaburzenia oddychania we śnie",
|
||
"breathingDisturbancesBody": "Twój Apple Watch potrafi oszacować, jak często Twój oddech był przerywany podczas snu. Niższy wskaźnik jest lepszy; poziom, który Apple oznacza jako podwyższony — zwłaszcza przez wiele nocy — warto omówić z lekarzem."
|
||
},
|
||
"stats": {
|
||
"label": "Statystyki podsumowujące",
|
||
"min": "Min",
|
||
"max": "Maks",
|
||
"median": "Mediana",
|
||
"mean": "Średnia"
|
||
},
|
||
"showAllValues": "Pokaż wszystkie pomiary",
|
||
"valuesPageTitle": "{metric} — wszystkie pomiary",
|
||
"valuesPageDescription": "Każdy pomiar stojący za tą metryką. Edytuj lub usuń wpis bezpośrednio.",
|
||
"diversity": {
|
||
"trigger": "Wskazówka pomiarowa",
|
||
"weekday": "Większość Twoich pomiarów {metric} przypada na jeden dzień tygodnia. Pomiary w inne dni dają pełniejszy obraz.",
|
||
"timeOfDay": "Większość Twoich pomiarów {metric} przypada o podobnej porze dnia. Różne pory dają pełniejszy obraz."
|
||
},
|
||
"valuesBack": "Powrót do Insights",
|
||
"valuesBackToMetric": "Powrót do {metric}",
|
||
"scoresBack": "Powrót do Insights"
|
||
},
|
||
"sleep": {
|
||
"title": "Sen",
|
||
"description": "Podział na fazy i nocna długość snu, dane z Apple Health.",
|
||
"headlineTitle": "Średnia na noc",
|
||
"headlineCaption": "Uśrednione z {count} nocy — {suffix}",
|
||
"headlineCaptionSuffix": "na noc",
|
||
"compositionTitle": "Rozkład faz",
|
||
"compositionSubtitle": "Ostatnie {nights} nocy",
|
||
"compositionAriaLabel": "Rozkład faz snu w {nights} nocach",
|
||
"hypnogram": {
|
||
"title": "Ostatnia noc",
|
||
"subtitle": "{asleep} snu",
|
||
"ariaLabel": "Przebieg faz snu ostatniej nocy: {asleep} snu, {awakenings} przebudzeń",
|
||
"asleepTotal": "Sen {value}",
|
||
"inBedTotal": "W łóżku {value}",
|
||
"awakenings": "{count} przebudzeń"
|
||
},
|
||
"stages": {
|
||
"deep": "Głęboki",
|
||
"rem": "REM",
|
||
"core": "Lekki",
|
||
"asleep": "Śpi",
|
||
"awake": "Czuwa",
|
||
"inBed": "W łóżku",
|
||
"unavailable": "Brak danych o fazach — synchronizacja faz przez Apple Health pojawi się w v1.5."
|
||
},
|
||
"empty": {
|
||
"title": "Brak danych o śnie",
|
||
"description": "Synchronizacja Apple Health pojawi się w v1.5 i wypełni ten widok automatycznie.",
|
||
"action": "Zarządzaj urządzeniami"
|
||
}
|
||
},
|
||
"correlations": "Korelacje",
|
||
"medicationCompliance": "Przestrzeganie leków",
|
||
"dayStreak": "{count} dni serii",
|
||
"compliance7d": "Przestrzeganie 7 dni",
|
||
"compliance30d": "Przestrzeganie 30 dni",
|
||
"taken": "Przyjęte",
|
||
"skipped": "Pominięte",
|
||
"missed": "Pominięte",
|
||
"generalStatusBadge": {
|
||
"good": "Dobrze",
|
||
"watch": "Obserwuj",
|
||
"critical": "Krytyczny"
|
||
},
|
||
"assessmentTitle": "Ocena",
|
||
"assessmentShowMore": "Pokaż więcej",
|
||
"assessmentShowLess": "Pokaż mniej",
|
||
"bloodPressureSectionTitle": "Ciśnienie krwi",
|
||
"weightSectionTitle": "Waga",
|
||
"pulseSectionTitle": "Tętno",
|
||
"bmiSectionTitle": "BMI",
|
||
"complianceNoData": "Brak danych o przestrzeganiu",
|
||
"generate": "Wygeneruj nową analizę",
|
||
"moodSectionTitle": "Nastrój",
|
||
"confidence": "Pewność",
|
||
"cached": "Z pamięci podręcznej",
|
||
"emptyState": {
|
||
"bloodPressure": {
|
||
"title": "Brak pomiarów ciśnienia krwi",
|
||
"description": "Zarejestruj pomiar ciśnienia, a pojawi się tu trend, udział w zakresie docelowym i klasyfikacja WHO.",
|
||
"cta": "Zarejestruj ciśnienie"
|
||
},
|
||
"weight": {
|
||
"title": "Brak pomiarów wagi",
|
||
"description": "Zarejestruj wagę, a trend, średnia krocząca i zakres docelowy pojawią się automatycznie.",
|
||
"cta": "Zarejestruj wagę"
|
||
},
|
||
"pulse": {
|
||
"title": "Brak pomiarów tętna",
|
||
"description": "Zarejestruj tętno, a w tym widoku pojawi się tętno spoczynkowe, HRV i VO₂ max.",
|
||
"cta": "Zarejestruj tętno"
|
||
},
|
||
"bmi": {
|
||
"title": "BMI jeszcze nie obliczone",
|
||
"description": "Po wpisaniu wzrostu i co najmniej jednej wagi pojawi się tu trend BMI z zakresami WHO.",
|
||
"cta": "Zarejestruj wagę"
|
||
},
|
||
"mood": {
|
||
"title": "Brak wpisów nastroju",
|
||
"description": "Zarejestruj nastrój, a pojawi się trend, pasmo stabilności i korelacje.",
|
||
"cta": "Zarejestruj nastrój"
|
||
},
|
||
"medication": {
|
||
"title": "Brak skonfigurowanych leków",
|
||
"description": "Skonfiguruj lek, a pojawi się adherencja, poziom we krwi i schemat titracji.",
|
||
"cta": "Dodaj lek"
|
||
},
|
||
"sleep": {
|
||
"title": "Brak danych o śnie",
|
||
"description": "Gdy pojawią się dane o śnie (ręcznie lub przez Withings / Apple Health), wyświetli się tu rozkład faz na noc.",
|
||
"cta": "Połącz Withings"
|
||
}
|
||
},
|
||
"navWorkouts": "Treningi",
|
||
"workouts": {
|
||
"title": "Treningi",
|
||
"description": "Ostatnie biegi, jazdy, marsze i treningi siłowe — zdeduplikowane między Apple Watch a Withings.",
|
||
"emptyState": {
|
||
"title": "Brak treningów",
|
||
"description": "Otwórz aplikację Apple Zdrowie na iPhonie, aby zsynchronizować treningi. Import aktywności z Withings także dorzuca marsze i przejażdżki."
|
||
},
|
||
"row": {
|
||
"duration": "Czas trwania",
|
||
"distance": "Dystans",
|
||
"energy": "Energia czynna"
|
||
},
|
||
"detail": {
|
||
"backToList": "Powrót do treningów",
|
||
"statsTitle": "Statystyki",
|
||
"statsDuration": "Czas trwania",
|
||
"statsDistance": "Dystans",
|
||
"statsActiveEnergy": "Energia czynna",
|
||
"statsAvgHr": "Średnie tętno",
|
||
"statsMaxHr": "Maks. tętno",
|
||
"statsMinHr": "Min. tętno",
|
||
"statsStepCount": "Kroki",
|
||
"statsElevation": "Przewyższenie",
|
||
"statsPace": "Tempo",
|
||
"statsSource": "Źródło",
|
||
"routeTitle": "Trasa",
|
||
"routeUnavailable": "Dla tego treningu nie zapisano trasy GPS.",
|
||
"hrChartTitle": "Tętno",
|
||
"hrChartUnavailable": "Próbki tętna co sekundę nie są zapisywane dla tego treningu.",
|
||
"notFound": "Nie znaleziono treningu.",
|
||
"loading": "Wczytywanie treningu…"
|
||
},
|
||
"sport": {
|
||
"walking": "Marsz",
|
||
"running": "Bieg",
|
||
"cycling": "Rower",
|
||
"hiking": "Górska wędrówka",
|
||
"swimming": "Pływanie",
|
||
"rowing": "Wioślarstwo",
|
||
"elliptical": "Orbitrek",
|
||
"stairClimber": "Stepper",
|
||
"yoga": "Joga",
|
||
"mindAndBody": "Umysł i ciało",
|
||
"strength": "Siła",
|
||
"hiit": "HIIT",
|
||
"dance": "Taniec",
|
||
"golf": "Golf",
|
||
"tennis": "Tenis",
|
||
"basketball": "Koszykówka",
|
||
"soccer": "Piłka nożna",
|
||
"crossTraining": "Cross-trening",
|
||
"mixedCardio": "Cardio mieszane",
|
||
"other": "Inne"
|
||
}
|
||
},
|
||
"bloodGlucose": {
|
||
"title": "Poziom glukozy",
|
||
"description": "Twoje odczyty glukozy w czasie, w mg/dL.",
|
||
"chartTitle": "Poziom glukozy",
|
||
"emptyState": {
|
||
"title": "Brak danych o glukozie",
|
||
"description": "Odczyty glukozy pojawią się tutaj po zapisaniu jednego lub synchronizacji urządzenia."
|
||
}
|
||
},
|
||
"navBloodGlucose": "Glukoza",
|
||
"totalBodyWater": {
|
||
"title": "Całkowita woda w organizmie",
|
||
"description": "Twoja całkowita woda w organizmie w czasie, w kilogramach.",
|
||
"chartTitle": "Całkowita woda w organizmie",
|
||
"emptyState": {
|
||
"title": "Brak danych o wodzie",
|
||
"description": "Odczyty wody pojawią się tutaj po synchronizacji wagi analitycznej."
|
||
}
|
||
},
|
||
"navTotalBodyWater": "Woda w organizmie",
|
||
"boneMass": {
|
||
"title": "Masa kostna",
|
||
"description": "Twoja masa kostna w czasie, w kilogramach.",
|
||
"chartTitle": "Masa kostna",
|
||
"emptyState": {
|
||
"title": "Brak danych o masie kostnej",
|
||
"description": "Odczyty masy kostnej pojawią się tutaj po synchronizacji wagi analitycznej."
|
||
}
|
||
},
|
||
"navBoneMass": "Masa kostna",
|
||
"flightsClimbed": {
|
||
"title": "Pokonane piętra",
|
||
"description": "Kondygnacje schodów pokonane każdego dnia.",
|
||
"chartTitle": "Pokonane piętra dziennie",
|
||
"emptyState": {
|
||
"title": "Brak danych o piętrach",
|
||
"description": "Sumy pięter pojawią się tutaj po synchronizacji dnia przez Apple Health."
|
||
}
|
||
},
|
||
"navFlightsClimbed": "Piętra",
|
||
"walkingRunningDistance": {
|
||
"title": "Dystans marsz + bieg",
|
||
"description": "Dystans marszu i biegu pokonany każdego dnia, w kilometrach.",
|
||
"chartTitle": "Dystans dziennie",
|
||
"emptyState": {
|
||
"title": "Brak danych o dystansie",
|
||
"description": "Dzienny dystans pojawi się tutaj po synchronizacji dnia przez Apple Health."
|
||
}
|
||
},
|
||
"navWalkingRunningDistance": "Dystans",
|
||
"fatFreeMass": {
|
||
"title": "Masa beztłuszczowa",
|
||
"description": "Twoja masa beztłuszczowa w czasie, w kilogramach.",
|
||
"chartTitle": "Masa beztłuszczowa",
|
||
"emptyState": {
|
||
"title": "Brak danych",
|
||
"description": "Odczyty pojawią się tutaj po synchronizacji wagi analitycznej."
|
||
}
|
||
},
|
||
"navFatFreeMass": "Masa beztłuszczowa",
|
||
"fatMass": {
|
||
"title": "Masa tłuszczowa",
|
||
"description": "Twoja masa tłuszczowa w czasie, w kilogramach.",
|
||
"chartTitle": "Masa tłuszczowa",
|
||
"emptyState": {
|
||
"title": "Brak danych",
|
||
"description": "Odczyty pojawią się tutaj po synchronizacji wagi analitycznej."
|
||
}
|
||
},
|
||
"navFatMass": "Masa tłuszczowa",
|
||
"muscleMass": {
|
||
"title": "Masa mięśniowa",
|
||
"description": "Twoja masa mięśniowa w czasie, w kilogramach.",
|
||
"chartTitle": "Masa mięśniowa",
|
||
"emptyState": {
|
||
"title": "Brak danych",
|
||
"description": "Odczyty pojawią się tutaj po synchronizacji wagi analitycznej."
|
||
}
|
||
},
|
||
"navMuscleMass": "Masa mięśniowa",
|
||
"skinTemperature": {
|
||
"title": "Temperatura skóry",
|
||
"description": "Temperatura skóry nadgarstka w czasie, w stopniach Celsjusza.",
|
||
"chartTitle": "Temperatura skóry",
|
||
"emptyState": {
|
||
"title": "Brak danych",
|
||
"description": "Odczyty pojawią się tutaj po synchronizacji nocnej temperatury przez urządzenie."
|
||
}
|
||
},
|
||
"navSkinTemperature": "Temp. skóry",
|
||
"pulseWaveVelocity": {
|
||
"title": "Prędkość fali tętna",
|
||
"description": "Prędkość fali tętna tętniczego w czasie, w m/s — wyższe wartości sugerują sztywniejsze tętnice.",
|
||
"chartTitle": "Prędkość fali tętna",
|
||
"emptyState": {
|
||
"title": "Brak danych",
|
||
"description": "Odczyty pojawią się tutaj po synchronizacji zgodnego urządzenia Withings."
|
||
}
|
||
},
|
||
"navPulseWaveVelocity": "Prędkość fali tętna",
|
||
"vascularAge": {
|
||
"title": "Wiek naczyniowy",
|
||
"description": "Twój szacowany wiek naczyniowy w czasie, w latach.",
|
||
"chartTitle": "Wiek naczyniowy",
|
||
"emptyState": {
|
||
"title": "Brak danych",
|
||
"description": "Szacunki pojawią się tutaj po synchronizacji zgodnego urządzenia Withings."
|
||
}
|
||
},
|
||
"navVascularAge": "Wiek naczyniowy",
|
||
"visceralFat": {
|
||
"title": "Tłuszcz trzewny",
|
||
"description": "Twój wskaźnik tłuszczu trzewnego w czasie.",
|
||
"chartTitle": "Tłuszcz trzewny",
|
||
"emptyState": {
|
||
"title": "Brak danych",
|
||
"description": "Wskaźniki pojawią się tutaj po synchronizacji zgodnej wagi analitycznej."
|
||
}
|
||
},
|
||
"navVisceralFat": "Tłuszcz trzewny",
|
||
"audioExposureEnv": {
|
||
"title": "Hałas otoczenia",
|
||
"description": "Twoja średnia dzienna ekspozycja na dźwięk otoczenia, w dBA.",
|
||
"chartTitle": "Ekspozycja na dźwięk otoczenia",
|
||
"emptyState": {
|
||
"title": "Brak danych",
|
||
"description": "Poziomy dźwięku pojawią się tutaj po synchronizacji Apple Health."
|
||
}
|
||
},
|
||
"navAudioExposureEnv": "Hałas otoczenia",
|
||
"audioExposureHeadphone": {
|
||
"title": "Dźwięk słuchawek",
|
||
"description": "Twoja średnia dzienna ekspozycja na dźwięk słuchawek, w dBA.",
|
||
"chartTitle": "Ekspozycja słuchawek",
|
||
"emptyState": {
|
||
"title": "Brak danych",
|
||
"description": "Poziomy pojawią się tutaj po synchronizacji Apple Health."
|
||
}
|
||
},
|
||
"navAudioExposureHeadphone": "Dźwięk słuchawek",
|
||
"timeInDaylight": {
|
||
"title": "Czas w świetle dziennym",
|
||
"description": "Minuty spędzone w świetle dziennym każdego dnia.",
|
||
"chartTitle": "Światło dzienne dziennie",
|
||
"emptyState": {
|
||
"title": "Brak danych",
|
||
"description": "Sumy pojawią się tutaj po synchronizacji dnia przez Apple Health."
|
||
}
|
||
},
|
||
"navTimeInDaylight": "Światło dzienne",
|
||
"walkingSteadiness": {
|
||
"title": "Stabilność chodu",
|
||
"description": "Twoja stabilność chodu w czasie, w procentach.",
|
||
"chartTitle": "Stabilność chodu",
|
||
"emptyState": {
|
||
"title": "Brak danych",
|
||
"description": "Odczyty pojawią się tutaj po synchronizacji Apple Health."
|
||
}
|
||
},
|
||
"navWalkingSteadiness": "Stabilność chodu",
|
||
"audioExposureEvent": {
|
||
"title": "Głośne zdarzenia dźwiękowe",
|
||
"description": "Dni ze zdarzeniem ekspozycji na głośny hałas.",
|
||
"chartTitle": "Zdarzenia hałasu dziennie",
|
||
"emptyState": {
|
||
"title": "Brak danych",
|
||
"description": "Zdarzenia pojawią się tutaj po synchronizacji Apple Health."
|
||
}
|
||
},
|
||
"navAudioExposureEvent": "Zdarzenia hałasu",
|
||
"respiratoryRate": {
|
||
"title": "Częstość oddechów",
|
||
"description": "Twoja częstość oddechów w czasie, w oddechach na minutę.",
|
||
"chartTitle": "Częstość oddechów",
|
||
"emptyState": {
|
||
"title": "Brak danych",
|
||
"description": "Odczyty pojawią się tutaj po synchronizacji oddechu snu lub treningu przez Apple Health."
|
||
}
|
||
},
|
||
"navRespiratoryRate": "Częstość oddechów",
|
||
"leanBodyMass": {
|
||
"title": "Beztłuszczowa masa ciała",
|
||
"description": "Twoja beztłuszczowa masa ciała w czasie, w kilogramach.",
|
||
"chartTitle": "Beztłuszczowa masa ciała",
|
||
"emptyState": {
|
||
"title": "Brak danych",
|
||
"description": "Odczyty pojawią się tutaj po synchronizacji wagi analitycznej."
|
||
}
|
||
},
|
||
"navLeanBodyMass": "Beztłuszczowa masa ciała",
|
||
"walkingHeartRateAverage": {
|
||
"title": "Tętno podczas chodu",
|
||
"description": "Twoje średnie tętno podczas chodzenia, w ud./min.",
|
||
"chartTitle": "Średnie tętno podczas chodu",
|
||
"emptyState": {
|
||
"title": "Brak danych",
|
||
"description": "Odczyty pojawią się tutaj po synchronizacji Apple Health."
|
||
}
|
||
},
|
||
"navWalkingHeartRateAverage": "Tętno podczas chodu",
|
||
"walkingAsymmetry": {
|
||
"title": "Asymetria chodu",
|
||
"description": "Twoja asymetria chodu w czasie, w procentach.",
|
||
"chartTitle": "Asymetria chodu",
|
||
"emptyState": {
|
||
"title": "Brak danych",
|
||
"description": "Odczyty pojawią się tutaj po synchronizacji Apple Health."
|
||
}
|
||
},
|
||
"navWalkingAsymmetry": "Asymetria chodu",
|
||
"walkingDoubleSupport": {
|
||
"title": "Czas podwójnego podparcia",
|
||
"description": "Odsetek każdego kroku z obiema stopami na ziemi.",
|
||
"chartTitle": "Czas podwójnego podparcia",
|
||
"emptyState": {
|
||
"title": "Brak danych",
|
||
"description": "Odczyty pojawią się tutaj po synchronizacji Apple Health."
|
||
}
|
||
},
|
||
"navWalkingDoubleSupport": "Podwójne podparcie",
|
||
"walkingStepLength": {
|
||
"title": "Długość kroku",
|
||
"description": "Twoja średnia długość kroku w czasie, w metrach.",
|
||
"chartTitle": "Długość kroku",
|
||
"emptyState": {
|
||
"title": "Brak danych",
|
||
"description": "Odczyty pojawią się tutaj po synchronizacji Apple Health."
|
||
}
|
||
},
|
||
"navWalkingStepLength": "Długość kroku",
|
||
"walkingSpeed": {
|
||
"title": "Prędkość chodu",
|
||
"description": "Twoja średnia prędkość chodu w czasie, w km/h.",
|
||
"chartTitle": "Prędkość chodu (km/h)",
|
||
"emptyState": {
|
||
"title": "Brak danych",
|
||
"description": "Odczyty pojawią się tutaj po synchronizacji Apple Health."
|
||
}
|
||
},
|
||
"navWalkingSpeed": "Prędkość chodu",
|
||
"mood": {
|
||
"heatmapTitle": "Kalendarz nastroju",
|
||
"heatmapNoEntry": "Brak wpisu",
|
||
"legendGreat": "Świetnie",
|
||
"legendGood": "Dobrze",
|
||
"legendOkay": "W porządku",
|
||
"legendLow": "Nisko",
|
||
"distributionTitle": "Rozkład nastroju",
|
||
"distributionDaysUnit": "dni",
|
||
"weekdayTitle": "Średnia wg dnia tygodnia",
|
||
"weekdayNoData": "Brak danych",
|
||
"weekdayBestWorst": "Najlepszy dzień: {best} · Najtrudniejszy dzień: {worst}",
|
||
"tagsTitle": "Tagi i wyzwalacze",
|
||
"tagAvgMood": "Średni nastrój z tym tagiem",
|
||
"correlationsTitle": "Nastrój a inne wskaźniki",
|
||
"correlationsDescription": "Jak Twój nastrój zmienia się wraz ze snem, aktywnością i tętnem tego samego dnia.",
|
||
"correlation": {
|
||
"sleepTitle": "Nastrój a sen",
|
||
"stepsTitle": "Nastrój a aktywność",
|
||
"pulseTitle": "Nastrój a tętno",
|
||
"sleepAxis": "Sen (min)",
|
||
"stepsAxis": "Kroki",
|
||
"pulseAxis": "Tętno (bpm)",
|
||
"strengthStrong": "Silna",
|
||
"strengthModerate": "Umiarkowana",
|
||
"strengthWeak": "Słaba",
|
||
"strengthNone": "Brak",
|
||
"source": "{n} sparowanych dni · r = {r}",
|
||
"emptyTitle": "Za mało sparowanych danych",
|
||
"emptyDescription": "Rejestruj nastrój i ten wskaźnik w te same dni, aby zobaczyć korelację.",
|
||
"weightTitle": "Nastrój vs. waga",
|
||
"bloodPressureTitle": "Nastrój vs. ciśnienie krwi",
|
||
"weightAxis": "Waga",
|
||
"bloodPressureAxis": "Skurczowe (mmHg)"
|
||
},
|
||
"structuredTagsTitle": "Podział tagów",
|
||
"inTargetValue": "{pct}%",
|
||
"inTargetCaption": "ostatnich dni w zakresie dobrego nastroju",
|
||
"narrative": {
|
||
"title": "Co się wyróżnia",
|
||
"weekdayDip": "Twój nastrój najbardziej spada w {weekday} — {delta} poniżej twojego tygodnia.",
|
||
"weekdayPeak": "{weekday} to zawsze twój najlepszy dzień, średnio {value}.",
|
||
"trendUp": "Twój nastrój rośnie w ciągu ostatnich {days} dni (+{delta} względem poprzedniego okresu).",
|
||
"trendDown": "Twój nastrój spada w ciągu ostatnich {days} dni (-{delta} względem poprzedniego okresu).",
|
||
"weekendUp": "W weekendy czujesz się lepiej (+{delta} względem dni roboczych).",
|
||
"weekendDown": "Twój nastrój jest niższy w weekendy (-{delta} względem dni roboczych).",
|
||
"tagLift": "Dni z tagiem „{tag}” są średnio o {delta} powyżej twojego ogólnego nastroju.",
|
||
"tagDrop": "Dni z tagiem „{tag}” są o {delta} poniżej twojej średniej.",
|
||
"inTarget": "Przez {pct}% ostatnich 30 dni byłeś w zakresie dobrego nastroju.",
|
||
"streak": "Rejestrujesz nastrój od {days} dni z rzędu — tak trzymaj.",
|
||
"timeOfDay": "Najlepiej czujesz się {bucket}, średnio {value}."
|
||
},
|
||
"timeOfDay": {
|
||
"title": "Nastrój według pory dnia",
|
||
"morning": "Rano",
|
||
"afternoon": "Popołudnie",
|
||
"evening": "Wieczór",
|
||
"night": "Noc",
|
||
"bestCaption": "Zwykle najlepiej czujesz się {bucket}."
|
||
},
|
||
"stability": {
|
||
"value": "{score}/100",
|
||
"bandVerySteady": "Twój nastrój był bardzo stabilny",
|
||
"bandSteady": "Twój nastrój był dość stabilny",
|
||
"bandVariable": "Twój nastrój był zauważalnie zmienny",
|
||
"bandVeryVariable": "Twój nastrój ostatnio mocno się wahał"
|
||
},
|
||
"influence": {
|
||
"title": "Wpływ na nastrój",
|
||
"detail": "Średnia {withAvg} w {withDays} dniach z tym tagiem wobec {withoutAvg} bez niego.",
|
||
"confidenceLow": "Niska pewność",
|
||
"confidenceMedium": "Średnia pewność",
|
||
"confidenceHigh": "Wysoka pewność",
|
||
"disclaimer": "To powiązania w Twoich danych, a nie dowód przyczyny. Wzorce warte obserwacji."
|
||
},
|
||
"betterDays": {
|
||
"title": "Co towarzyszy Twoim lepszym dniom",
|
||
"description": "Tagi i wskaźniki, które pokrywają się z dniami lepszego i gorszego nastroju, uszeregowane według siły powiązania.",
|
||
"disclaimer": "Tylko powiązania, nie przyczyny. Skonsultuj się z lekarzem, zanim coś zmienisz."
|
||
},
|
||
"crosstab": {
|
||
"title": "Tagi a Twoje wskaźniki zdrowia",
|
||
"description": "Jak wskaźnik zdrowia różni się w dniach z danym tagiem w porównaniu z dniami bez niego.",
|
||
"pairLabel": "{tag} · {metric}",
|
||
"metricActiveEnergy": "Aktywna energia",
|
||
"metricSleepDuration": "Sen",
|
||
"metricNextDayRecovery": "Regeneracja następnego dnia",
|
||
"unitHours": "godz.",
|
||
"unitKcal": "kcal",
|
||
"unitScore": "pkt",
|
||
"detailSameDay": "Średnio {withAvg} {unit} w {withDays} dniach z tym tagiem wobec {withoutAvg} {unit} bez niego.",
|
||
"detailNextDay": "Średnio {withAvg} {unit} dzień po {withDays} dniach z tym tagiem wobec {withoutAvg} {unit} w pozostałe dni.",
|
||
"disclaimer": "To powiązania w Twoich danych, nie dowód przyczyny. Wzorce warte obserwacji."
|
||
},
|
||
"discovery": {
|
||
"title": "Co się wyróżnia",
|
||
"description": "Relacje dzień po dniu dotyczące Twojego nastroju, które utrzymują się po korekcie wielokrotnych testów.",
|
||
"footer": "Wyłonione z {tested} par dzień po dniu testowanych na wszystkich Twoich wskaźnikach, po korekcie fałszywych odkryć.",
|
||
"empty": "Żadna relacja nastroju nie przekroczyła jeszcze progu statystycznego. Notuj dalej.",
|
||
"disclaimer": "Przefiltrowane statystycznie, ale wciąż obserwacyjne — wzorzec warty uwagi, nie przyczyna.",
|
||
"moodUp": "Wyższy {factor} zwykle wiąże się z lepszym nastrojem następnego dnia w Twoich danych.",
|
||
"moodDown": "Wyższy {factor} zwykle wiąże się z gorszym nastrojem następnego dnia w Twoich danych.",
|
||
"outcomeUp": "Lepszy nastrój zwykle wiąże się z wyższym {factor} następnego dnia w Twoich danych.",
|
||
"outcomeDown": "Lepszy nastrój zwykle wiąże się z niższym {factor} następnego dnia w Twoich danych.",
|
||
"stat": "{n} sparowanych dni · r = {r} · q = {q}"
|
||
}
|
||
},
|
||
"derived": {
|
||
"coverage": {
|
||
"summary": "{present} z {required} danych · {percent}%",
|
||
"ratioLabel": "{present}/{required}",
|
||
"historyDays": "Na podstawie {count} dni historii",
|
||
"missing": "Zapisuj te dane, aby uściślić wartość: {list}"
|
||
},
|
||
"scoreRing": {
|
||
"aria": "Wynik {score} na 100, {band}",
|
||
"ariaProvisional": "Wynik jeszcze niedostępny — za mało danych",
|
||
"provisionalCaption": "Wciąż za mało danych",
|
||
"band": {
|
||
"green": "dobry",
|
||
"yellow": "średni",
|
||
"red": "niski"
|
||
}
|
||
},
|
||
"provenance": {
|
||
"title": "Jak to jest obliczane",
|
||
"trigger": "Jak to jest obliczane",
|
||
"inputsLabel": "Dane wejściowe",
|
||
"noInputs": "Żadne dane nie potwierdzają jeszcze tej wartości.",
|
||
"methodLabel": "Metoda",
|
||
"window": "Z ostatnich {days} dni · dane {source}",
|
||
"asOf": "na dzień {date}",
|
||
"standardLink": "Standard: {name}"
|
||
},
|
||
"vitals": {
|
||
"sectionTitle": "Twoje parametry życiowe",
|
||
"loadingLabel": "Wczytywanie parametrów życiowych",
|
||
"loadError": "Nie udało się teraz wczytać Twoich parametrów życiowych.",
|
||
"building": "Budowanie Twojego typowego zakresu — {count} z {target} dni",
|
||
"typicalRange": "Typowe dla Ciebie: {low}–{high}",
|
||
"fitnessYounger": "Kondycja jak u osoby ~{years} lat młodszej",
|
||
"fitnessOlder": "Kondycja ~{years} lat powyżej Twojego wieku",
|
||
"fitnessTypical": "Kondycja typowa dla Twojego wieku",
|
||
"fitnessNoNorm": "Dodaj wiek i płeć, aby to ująć w kontekście",
|
||
"vascularBelow": "{years} lat poniżej Twojego wieku",
|
||
"vascularAbove": "{years} lat powyżej Twojego wieku",
|
||
"vascularMatch": "Zgodnie z Twoim wiekiem",
|
||
"vascularNoAge": "Dodaj datę urodzenia, aby to ująć w kontekście",
|
||
"hrvBand": {
|
||
"balanced": "Zrównoważone dla Ciebie",
|
||
"unbalanced": "Powyżej Twojego zwykłego zakresu",
|
||
"low": "Poniżej Twojego zwykłego zakresu"
|
||
},
|
||
"bmiCategory": {
|
||
"underweight": "Niedowaga (WHO)",
|
||
"normal": "Zakres prawidłowy (WHO)",
|
||
"overweight": "Nadwaga (WHO)",
|
||
"obese": "Otyłość (WHO)"
|
||
},
|
||
"sixMinuteBand": {
|
||
"green": "{percent}% wartości przewidywanej dla Twojego profilu",
|
||
"yellow": "{percent}% wartości przewidywanej dla Twojego profilu",
|
||
"red": "{percent}% wartości przewidywanej dla Twojego profilu"
|
||
},
|
||
"sixMinuteNoBand": "Dodaj wiek, wzrost, wagę i płeć, aby to ująć w kontekście",
|
||
"mobilitySectionTitle": "Mobilność i ciało"
|
||
},
|
||
"anatomy": {
|
||
"outOf": "/100",
|
||
"contributorsLabel": "Czynniki",
|
||
"contributorValue": "{value} · {weight}% wagi",
|
||
"contributorMissing": "brak danych",
|
||
"disclaimer": "Orientacyjne — to nie ocena kliniczna.",
|
||
"insufficient": "Za mało danych, by to ocenić. Rejestruj dalej, a wynik pojawi się tutaj."
|
||
},
|
||
"composite": {
|
||
"SLEEP_SCORE": {
|
||
"title": "Wynik snu",
|
||
"description": "Przejrzysty wynik jakości snu z każdym podwynikiem.",
|
||
"method": "Mieszanka 0–100 z wystarczalności (sen vs zapotrzebowanie według wieku), wydajności (sen ÷ czas w łóżku), regularności (jak stabilny jest środek twojego snu), pory (vs twój zwykły środek snu) i struktury (udział REM + snu głębokiego). Podwyniki są ważone na nowo wokół tych, których dane nie wspierają; nic nie jest zmyślane.",
|
||
"sub": {
|
||
"sufficiency": "Wystarczalność",
|
||
"efficiency": "Wydajność",
|
||
"consistency": "Regularność",
|
||
"timing": "Pora",
|
||
"composition": "Struktura"
|
||
}
|
||
},
|
||
"READINESS": {
|
||
"title": "Gotowość",
|
||
"description": "Codzienny wskaźnik samopoczucia oparty na tym, jak twoje sygnały wypadają względem twojej własnej bazy.",
|
||
"method": "Mieszanka 0–100 z odchylenia tętna spoczynkowego, odchylenia HRV (SDNN), jakości snu, stabilności częstości oddechu i stabilności nastroju — każde mierzone względem twojej osobistej bazy. Wagi są renormalizowane na komponentach wspieranych przez twoje dane. Wskaźnik samopoczucia, nie wynik regeneracji ani kliniczny.",
|
||
"component": {
|
||
"rhr": "Tętno spoczynkowe",
|
||
"hrv": "HRV (SDNN)",
|
||
"sleep": "Sen",
|
||
"respiratory": "Częstość oddechu",
|
||
"mood": "Stabilność nastroju"
|
||
},
|
||
"caveat": "Wskaźnik dobrostanu, nie ocena regeneracji ani wynik kliniczny."
|
||
},
|
||
"VITALS_BASELINE": {
|
||
"method": "Twój osobisty typowy zakres to mediana Twoich dziennych wartości w danym okresie ± odporne rozproszenie (skalowane medianowe odchylenie bezwzględne). Śledzi TWOJE odczyty, a nie normę populacyjną — wartość w obrębie pasma jest więc typowa dla Ciebie."
|
||
},
|
||
"HRV_BALANCE": {
|
||
"method": "Twoja niedawna średnia HRV (SDNN) na tle Twojej własnej ruchomej linii bazowej (mediana ± odporne rozproszenie). Zrównoważone oznacza, że mieści się w Twoim osobistym zakresie; pasmo budowane jest z Twoich danych, nigdy z progu populacyjnego."
|
||
},
|
||
"BMI": {
|
||
"method": "Masa ÷ wzrost², sklasyfikowane według kategorii WHO dla dorosłych (niedowaga / norma / nadwaga / otyłość). To tylko wskaźnik przesiewowy — nie odróżnia mięśni od tłuszczu."
|
||
},
|
||
"FITNESS_AGE": {
|
||
"method": "Twoje VO₂max odniesione do percentyli wydolności krążeniowo-oddechowej według wieku i płci, wyrażone jako różnica wieku sprawnościowego. VO₂max to szacunek Twojego urządzenia — tutaj nigdy nie jest przeliczany ponownie."
|
||
},
|
||
"VASCULAR_AGE_DELTA": {
|
||
"method": "Szacunek wieku naczyniowego / prędkości fali tętna z Twojego urządzenia porównany z Twoim wiekiem metrykalnym, wyrażony jako różnica w latach. Szacunek pochodzi z urządzenia; HealthLog jedynie go przedstawia.",
|
||
"caveat": "Własny szacunek Twojego urządzenia, jedynie przedstawiony — opisowy, nie kliniczna ocena naczyniowa.",
|
||
"description": "Jak szacunek wieku naczyniowego Twojego urządzenia wypada na tle Twojego wieku metrykalnego."
|
||
},
|
||
"COINCIDENT_DEVIATION": {
|
||
"method": "Sygnał pojawiający się, gdy co najmniej dwa Twoje parametry życiowe wykraczają tego samego dnia poza swój osobisty typowy zakres. Każde pasmo to odporna mediana ± k·MAD Twojej historii, więc dostosowuje się do Ciebie, a nie do progu populacyjnego.",
|
||
"caveat": "Sygnał z Twoich własnych linii bazowych — opisowy, nie diagnoza ani alarm kliniczny."
|
||
},
|
||
"RECOVERY_SCORE": {
|
||
"method": "Nocny wskaźnik regeneracji 0–100 łączący Twoje HRV, tętno spoczynkowe i sen względem Twojej linii bazowej. Wyższy oznacza lepszą regenerację. Liczony raz na noc i tu tylko odczytywany — nigdy nieprzeliczany na bieżąco.",
|
||
"caveat": "Opisowy wskaźnik dobrostanu, nie kliniczna ani treningowa miara regeneracji.",
|
||
"description": "Nocny wskaźnik regeneracji z Twojego HRV, tętna spoczynkowego i snu."
|
||
},
|
||
"STRESS_SCORE": {
|
||
"method": "Nocny wskaźnik stresu 0–100 na podstawie kształtu Twojego HRV w ciągu dnia względem linii bazowej. Wyższy oznacza większe obciążenie fizjologiczne.",
|
||
"caveat": "Wskaźnik pochodzący z HRV, a NIE pomiar stresu metodą EDA / reakcji skórno-galwanicznej — Twój zegarek nie ma czujnika EDA. Opisowy, nie kliniczny.",
|
||
"description": "Nocny wskaźnik stresu na podstawie kształtu Twojego HRV w ciągu dnia."
|
||
},
|
||
"STRAIN_SCORE": {
|
||
"method": "Nocny wskaźnik obciążenia 0–100 na podstawie Twojego obciążenia aktywnością ważonego tętnem (model impulsu treningowego typu TRIMP). Wyższy oznacza cięższy dzień.",
|
||
"anchorPersonal": "Zakotwiczony w Twoim własnym niedawnym obciążeniu z dni treningowych — oceniany względem Twojego typowego wysiłku, więc naprawdę ciężki dzień dla Ciebie wypada wysoko.",
|
||
"anchorPopulation": "Oceniany względem ogólnego punktu odniesienia, gdy dopiero budujesz historię treningów; gdy zbierzesz jej wystarczająco, przełącza się na Twój własny typowy wysiłek.",
|
||
"caveat": "Opisowy wskaźnik obciążenia aktywnością, nie kliniczna ani treningowa miara obciążenia.",
|
||
"description": "Nocny wskaźnik obciążenia aktywnością z Twojego wysiłku ważonego tętnem, względem Twojego typowego wysiłku."
|
||
},
|
||
"WRIST_TEMPERATURE_BASELINE": {
|
||
"method": "Twoja typowa nocna temperatura nadgarstka to mediana Twoich nocnych odczytów w danym okresie, ± solidny rozrzut (przeskalowane medianowe odchylenie bezwzględne). Śledzi TWOJE odczyty — ostatnia noc jest pokazana jako odchylenie od Twojej własnej bazy, a nie od normy populacyjnej.",
|
||
"caveat": "Tylko osobiste pasmo odchylenia — opisowe, nie sygnał choroby, gorączki ani fazy cyklu. Interpretujesz je samodzielnie."
|
||
},
|
||
"STAIR_ASCENT_SPEED_BASELINE": {
|
||
"method": "Twoje typowe tempo wchodzenia po schodach to mediana Twoich dziennych wartości w danym okresie, ± solidny rozrzut (przeskalowane medianowe odchylenie bezwzględne). Pasmo jest budowane z Twoich danych — nie ma populacyjnego progu prędkości na schodach, bo tempo zależy od geometrii schodów i długości nóg.",
|
||
"caveat": "Osobiste pasmo trendu mobilności — opisowe, nie ocena kruchości ani ryzyka upadku."
|
||
},
|
||
"STAIR_DESCENT_SPEED_BASELINE": {
|
||
"method": "Twoje typowe tempo schodzenia po schodach to mediana Twoich dziennych wartości w danym okresie, ± solidny rozrzut (przeskalowane medianowe odchylenie bezwzględne). Pasmo jest budowane z Twoich danych — nie ma populacyjnego progu prędkości na schodach, bo tempo zależy od geometrii schodów i długości nóg.",
|
||
"caveat": "Osobiste pasmo trendu mobilności — opisowe, nie ocena kruchości ani ryzyka upadku."
|
||
},
|
||
"SIX_MINUTE_WALK_BAND": {
|
||
"method": "SZACOWANY przez Twoje urządzenie dystans sześciominutowego marszu odniesiony do wzorca Enrighta i Sherrilla dla Twojego wieku, wzrostu, wagi i płci, jako procent wartości przewidywanej. Dystans to szacunek urządzenia — nigdy nie jest tu przeliczany. Bez Twojego wieku, wzrostu, wagi i płci procent jest ukryty i pokazywane są tylko dystans i trend.",
|
||
"caveat": "Szacunek odniesiony do opublikowanego wzorca — sygnał wydolności funkcjonalnej, nie kliniczny test sześciominutowego marszu ani diagnoza. Wzorzec opracowano dla wieku 40–80 lat; poza tym zakresem wartość przewidywana jest ekstrapolacją."
|
||
},
|
||
"TRAJECTORY": {
|
||
"method": "Prosta dopasowana metodą najmniejszych kwadratów do Twoich ostatnich wartości dziennych i rzutowana w przód na krótki horyzont, z klasycznym przedziałem predykcji, który poszerza się tym bardziej, im dalej sięga. Obliczana tylko wtedy, gdy ostatni trend jest dość wyraźny, a Twoja historia wystarczająco długa i aktualna; w przeciwnym razie linia nie jest rysowana.",
|
||
"caveat": "Rzut Twojego własnego ostatniego trendu — nie prognoza, cel ani kliniczne przewidywanie. Sprawdza się tylko, jeśli ostatni wzorzec się utrzyma; zacieniony pas pokazuje, jak szybko ta pewność maleje."
|
||
}
|
||
},
|
||
"scores": {
|
||
"sectionTitle": "Wyniki dobrostanu",
|
||
"recovery": "Regeneracja",
|
||
"stress": "Stres",
|
||
"strain": "Obciążenie"
|
||
},
|
||
"coincident": {
|
||
"label": "Kilka parametrów poza bazą",
|
||
"summary": "Dziś {count} Twoich parametrów życiowych znalazło się poza osobistym zakresem.",
|
||
"vitals": "Poza zakresem: {list}",
|
||
"cardTitle": "Sygnały dnia",
|
||
"allClear": "Dziś wszystkie Twoje parametry życiowe mieszczą się w osobistym zakresie.",
|
||
"allClearMeta": "Sprawdzono {count} Twoich parametrów względem Twojego typowego zakresu.",
|
||
"watch": "Dziś jeden parametr jest poza swoim zwykłym zakresem.",
|
||
"watchVital": "Poza zakresem: {vital}. Często to jednorazowy odczyt — warto obserwować przez kilka dni.",
|
||
"firedHeadline": "Dziś {count} Twoich parametrów życiowych jest poza osobistym zakresem.",
|
||
"factors": "Możliwe czynniki — nigdy przyczyna: intensywny trening, słaby sen, alkohol, wysokość, stres lub choroba. To wskazówka z Twoich własnych baz, nie diagnoza.",
|
||
"building": "Budujemy Twoje osobiste bazy — zarejestruj jeszcze kilka dni, a to się pojawi."
|
||
},
|
||
"trajectory": {
|
||
"cardTitle": "Krótkoterminowy rzut",
|
||
"headline": "Jeśli ten wzorzec się utrzyma — następne {days} dni",
|
||
"range": "Rzutowane na około {low}–{high} {unit} za {days} dni.",
|
||
"caveat": "Rzut Twojego własnego ostatniego trendu, nie prognoza. Zacieniony pas poszerza się, pokazując, jak szybko rośnie niepewność.",
|
||
"insufficient": "Jeszcze brak wystarczająco wyraźnego trendu do rzutowania — rejestruj dalej, a rzut pojawi się, gdy ostatni wzorzec będzie dość wyraźny.",
|
||
"daysNeeded": "Potrzeba jeszcze około {count} dni rejestrowania, zanim pojawi się rzut."
|
||
}
|
||
},
|
||
"cardioFitness": {
|
||
"title": "Wydolność",
|
||
"description": "Twoje VO₂ max w czasie — główna miara wydolności tlenowej.",
|
||
"chartTitle": "VO₂ max (mL/(kg·min))",
|
||
"emptyState": {
|
||
"title": "Brak danych o wydolności",
|
||
"description": "Wartości VO₂ max pojawią się tutaj, gdy Apple Health zsynchronizuje je z Twoich treningów."
|
||
}
|
||
},
|
||
"navCardioFitness": "Wydolność",
|
||
"cardioRecovery": {
|
||
"title": "Regeneracja serca",
|
||
"description": "O ile spada tętno minutę po szczytowym wysiłku.",
|
||
"chartTitle": "Regeneracja serca (bpm)",
|
||
"emptyState": {
|
||
"title": "Brak danych o regeneracji serca",
|
||
"description": "Wartości regeneracji serca pojawią się tutaj, gdy Apple Health zsynchronizuje je z treningu."
|
||
}
|
||
},
|
||
"navCardioRecovery": "Regeneracja serca",
|
||
"wristTemperature": {
|
||
"title": "Temperatura nadgarstka",
|
||
"description": "Nocna temperatura nadgarstka, odniesiona do Twojej wartości bazowej.",
|
||
"chartTitle": "Temperatura nadgarstka (°C)",
|
||
"emptyState": {
|
||
"title": "Brak danych o temperaturze nadgarstka",
|
||
"description": "Wartości pojawią się tutaj, gdy Apple Health zsynchronizuje nocne noszenie."
|
||
}
|
||
},
|
||
"navWristTemperature": "Temp. nadgarstka",
|
||
"falls": {
|
||
"title": "Upadki",
|
||
"description": "Poważne upadki wykryte przez Apple Watch, liczone na dzień.",
|
||
"chartTitle": "Upadki na dzień",
|
||
"emptyState": {
|
||
"title": "Brak danych o upadkach",
|
||
"description": "Wykryte upadki pojawią się tutaj, gdy Apple Health się zsynchronizuje. Celem jest brak upadków."
|
||
}
|
||
},
|
||
"navFalls": "Upadki",
|
||
"sixMinuteWalk": {
|
||
"title": "Marsz 6-minutowy",
|
||
"description": "Szacunek Apple, jak daleko możesz przejść w sześć minut.",
|
||
"chartTitle": "Dystans w 6 minut (m)",
|
||
"emptyState": {
|
||
"title": "Brak danych o marszu 6-minutowym",
|
||
"description": "Szacunki pojawią się tutaj, gdy Apple Health się zsynchronizuje."
|
||
}
|
||
},
|
||
"navSixMinuteWalk": "Marsz 6 min",
|
||
"stairAscentSpeed": {
|
||
"title": "Prędkość wchodzenia po schodach",
|
||
"description": "Jak szybko wchodzisz po schodach, mierzone przez iPhone'a lub Watch.",
|
||
"chartTitle": "Prędkość wchodzenia (m/s)",
|
||
"emptyState": {
|
||
"title": "Brak danych o wchodzeniu po schodach",
|
||
"description": "Wartości pojawią się tutaj, gdy Apple Health się zsynchronizuje."
|
||
}
|
||
},
|
||
"navStairAscentSpeed": "Wchodzenie",
|
||
"stairDescentSpeed": {
|
||
"title": "Prędkość schodzenia po schodach",
|
||
"description": "Jak szybko schodzisz po schodach, mierzone przez iPhone'a lub Watch.",
|
||
"chartTitle": "Prędkość schodzenia (m/s)",
|
||
"emptyState": {
|
||
"title": "Brak danych o schodzeniu po schodach",
|
||
"description": "Wartości pojawią się tutaj, gdy Apple Health się zsynchronizuje."
|
||
}
|
||
},
|
||
"navStairDescentSpeed": "Schodzenie",
|
||
"breathingDisturbances": {
|
||
"title": "Zaburzenia oddychania",
|
||
"description": "Jak często Twój oddech był zakłócany podczas snu.",
|
||
"chartTitle": "Zaburzenia oddychania we śnie",
|
||
"emptyState": {
|
||
"title": "Brak danych o zaburzeniach oddychania",
|
||
"description": "Wartości pojawią się tutaj, gdy Apple Health zsynchronizuje je z obsługiwanego Apple Watch."
|
||
}
|
||
},
|
||
"navBreathingDisturbances": "Oddychanie",
|
||
"rhythmEvents": {
|
||
"sectionTitle": "Powiadomienia zdrowotne urządzenia",
|
||
"sectionIntro": "Powiadomienia, które zegarek wysłał samodzielnie. HealthLog jedynie je wyświetla — nie wykrywa ich, nie potwierdza ani nie interpretuje.",
|
||
"loadError": "Nie udało się wczytać powiadomień urządzenia.",
|
||
"disclaimer": "To alerty wygenerowane przez Twoje urządzenie za pomocą jego wbudowanego wykrywania. Są tu pokazywane wyłącznie dla Twojej informacji. To nie jest ocena medyczna wykonana przez HealthLog, a HealthLog nie diagnozuje żadnych schorzeń. Jeśli powiadomienie Cię niepokoi, skontaktuj się z lekarzem.",
|
||
"event": {
|
||
"irregularRhythm": "Powiadomienie o nieregularnym rytmie",
|
||
"highHeartRate": "Powiadomienie o wysokim tętnie",
|
||
"lowHeartRate": "Powiadomienie o niskim tętnie",
|
||
"walkingSteadiness": "Alert o stabilności chodu",
|
||
"breathingDisturbance": "Zaburzenie oddychania podczas snu"
|
||
},
|
||
"verdict": {
|
||
"irregular": "Twoje urządzenie wykryło możliwy nieregularny rytm.",
|
||
"notDetected": "Twoje urządzenie nie wykryło nieregularnego rytmu.",
|
||
"inconclusive": "Twoje urządzenie nie mogło wykonać pomiaru.",
|
||
"low": "Twoje urządzenie wykryło niską stabilność chodu.",
|
||
"veryLow": "Twoje urządzenie wykryło bardzo niską stabilność chodu.",
|
||
"fired": "Twoje urządzenie zgłosiło to zdarzenie."
|
||
}
|
||
},
|
||
"trendDescriptor": {
|
||
"rising": "Rośnie w ciągu 30 dni ({delta}{unit}).",
|
||
"falling": "Spada w ciągu 30 dni ({delta}{unit}).",
|
||
"stable": "Stabilnie przez ostatnie 30 dni.",
|
||
"moodImproved": "Nastrój nieco się poprawił w ciągu 30 dni.",
|
||
"moodDeclined": "Nastrój nieco się pogorszył w ciągu 30 dni.",
|
||
"moodStable": "Nastrój pozostał stabilny przez ostatnie 30 dni."
|
||
}
|
||
},
|
||
"thresholds": {
|
||
"defaultLabel": "Domyślne",
|
||
"autoModeLabel": "Auto",
|
||
"overrideModeLabel": "Niestandardowe",
|
||
"overrideToggleLabel": "Własne wartości",
|
||
"resetAction": "Przywróć wartość domyślną",
|
||
"resetAllAction": "Przywróć wszystkie wartości domyślne",
|
||
"minLabel": "Min",
|
||
"maxLabel": "Maks",
|
||
"unitSuffix": "({unit})",
|
||
"outOfBoundsHint": "Dozwolony zakres: {min}–{max} {unit}",
|
||
"overrideWarning": "Wartości poza wytycznymi mogą prowadzić do niezdrowych celów. Personalizuj tylko po konsultacji z lekarzem.",
|
||
"saveSuccess": "Cele zaktualizowane",
|
||
"saveError": "Nie udało się zapisać celów",
|
||
"resetSuccess": "Przywrócono wartość domyślną",
|
||
"sourceOverride": "Własna wartość",
|
||
"metricWeight": "Waga",
|
||
"metricBpSys": "Ciśnienie tętnicze (skurczowe)",
|
||
"metricBpDia": "Ciśnienie tętnicze (rozkurczowe)",
|
||
"metricPulse": "Tętno spoczynkowe",
|
||
"metricBodyFat": "Tkanka tłuszczowa",
|
||
"metricSleep": "Czas snu",
|
||
"metricSteps": "Kroki/dzień",
|
||
"metricGlucoseFasting": "Glikemia — na czczo",
|
||
"metricGlucosePostprandial": "Glikemia — po posiłku",
|
||
"metricGlucoseRandom": "Glikemia — dowolna",
|
||
"metricGlucoseBedtime": "Glikemia — przed snem",
|
||
"metricBodyWater": "Woda w organizmie",
|
||
"metricBoneMass": "Masa kostna",
|
||
"metricOxygenSaturation": "Saturacja tlenem (SpO₂)",
|
||
"unsetExplanation": "Brak własnej wartości — aktywna jest wartość domyślna."
|
||
},
|
||
"onboarding": {
|
||
"errorGeneric": "Coś poszło nie tak podczas kończenia konfiguracji. Spróbuj ponownie.",
|
||
"tour": {
|
||
"stepOf": "Krok {current} z {total}",
|
||
"next": "Dalej",
|
||
"back": "Wstecz",
|
||
"skip": "Pomiń tour",
|
||
"done": "Rozumiem",
|
||
"restart": "Uruchom tour ponownie",
|
||
"restartHint": "Pokaż tour panelu przy następnym wejściu.",
|
||
"restartConfirmation": "Tour ruszy ponownie przy twojej następnej wizycie w panelu.",
|
||
"steps": {
|
||
"tileStrip": {
|
||
"title": "Twoje wartości dzienne",
|
||
"body": "Pasek kafelków pokazuje ostatnią wartość i 7-dniowy trend dla każdej metryki — waga, ciśnienie, tętno, nastrój. Niepotrzebne wyłączysz w Ustawienia → Panel."
|
||
},
|
||
"quickAdd": {
|
||
"title": "Zarejestrowane w dwóch stuknięciach",
|
||
"body": "Przyciskiem Dodaj zapisujesz pomiary lub nastroje bez opuszczania panelu. Formularz zapamiętuje ostatni kontekst i tagi."
|
||
},
|
||
"insights": {
|
||
"title": "Automatyczne insights",
|
||
"body": "Insights zamienia twoje wartości w przejrzysty przegląd zdrowia, z oceną ciśnienia, wagi i nastroju. Własny klucz lub domyślny — ty decydujesz."
|
||
},
|
||
"integrations": {
|
||
"title": "Połącz urządzenia",
|
||
"body": "W ustawieniach łączysz Withings (auto-sync wagi, ciśnienia i tętna), moodLog lub dostawcę analizy. Wszystko zostaje opcjonalne i zaszyfrowane."
|
||
},
|
||
"achievements": {
|
||
"title": "Zbieraj serie i odznaki",
|
||
"body": "Strona Osiągnięć śledzi codzienne serie zapisów, kamienie milowe ciśnienia i odznaki konsekwencji. Drobna motywacja do trzymania się planu."
|
||
}
|
||
}
|
||
},
|
||
"shell": {
|
||
"back": "Wstecz",
|
||
"skip": "Pomiń",
|
||
"next": "Dalej",
|
||
"step1of4": "Krok 1 z 4",
|
||
"step2of4": "Krok 2 z 4",
|
||
"step3of4": "Krok 3 z 4",
|
||
"step4of4": "Krok 4 z 4"
|
||
},
|
||
"goals": {
|
||
"title": "Co chcesz śledzić?",
|
||
"body": "Wybierz obszary, które są dla Ciebie ważne. Pulpit i przypomnienia dostosują się do Twojego wyboru.",
|
||
"helpHint": "Od jednego do trzech priorytetów zwykle sprawdza się najlepiej — możesz dodać kolejne w dowolnej chwili.",
|
||
"options": {
|
||
"weightManagement": "Kontrola wagi",
|
||
"bpTracking": "Ciśnienie",
|
||
"glucoseTracking": "Glukoza",
|
||
"sleepImprovement": "Lepszy sen",
|
||
"medicationCompliance": "Leki",
|
||
"generalWellness": "Ogólna forma"
|
||
}
|
||
},
|
||
"source": {
|
||
"title": "Połącz źródło",
|
||
"body": "Pobieraj pomiary automatycznie lub zostań przy wpisywaniu ręcznym — Twój wybór.",
|
||
"recommended": "Polecane",
|
||
"manual": {
|
||
"title": "Wpis ręczny",
|
||
"body": "Rejestruj pomiary samodzielnie, kiedy Ci pasuje. Działa na każdym urządzeniu, bez konta u podmiotu trzeciego."
|
||
},
|
||
"withings": {
|
||
"title": "Withings",
|
||
"body": "Wagi, ciśnieniomierze i trackery Withings synchronizują się automatycznie.",
|
||
"cta": "Połącz Withings"
|
||
},
|
||
"appleHealth": {
|
||
"title": "Apple Health",
|
||
"body": "Dane z iPhone'a i Apple Watch trafiają tu poprzez aplikację HealthLog na iOS.",
|
||
"badge": "Wraz z v1.5 (iOS)",
|
||
"disabledHint": "Dostępne po wydaniu aplikacji iOS."
|
||
}
|
||
},
|
||
"baseline": {
|
||
"title": "Kilka słów o Tobie",
|
||
"body": "Cztery opcjonalne pola doprecyzują wartości docelowe, BMI i przypomnienia. Wszystko możesz później zmienić w ustawieniach.",
|
||
"displayNameLabel": "Nazwa wyświetlana",
|
||
"displayNamePlaceholder": "Jak HealthLog ma się do Ciebie zwracać?",
|
||
"displayNameHint": "Pojawia się w powitaniu na pulpicie i w raportach.",
|
||
"heightLabel": "Wzrost (cm)",
|
||
"genderLabel": "Płeć",
|
||
"genderNone": "Wolę nie podawać",
|
||
"genderMale": "Mężczyzna",
|
||
"genderFemale": "Kobieta",
|
||
"dateOfBirthLabel": "Data urodzenia",
|
||
"dateOfBirthHint": "Używana wyłącznie do analiz zależnych od wieku.",
|
||
"saveCta": "Zapisz i kontynuuj"
|
||
},
|
||
"done": {
|
||
"title": "Wszystko gotowe",
|
||
"body": "Witaj na pokładzie. Pulpit czeka na Ciebie.",
|
||
"returnCta": "Otwórz pulpit"
|
||
},
|
||
"welcomeBack": {
|
||
"title": "Witaj ponownie",
|
||
"body": "Wstępne kroki masz już za sobą. Aby coś zmienić, otwórz ustawienia — wszystko, co skonfigurowałeś, da się tam edytować.",
|
||
"cta": "Otwórz pulpit"
|
||
},
|
||
"welcome": {
|
||
"title": "Witaj w HealthLog",
|
||
"carouselLabel": "Karuzela powitalna",
|
||
"slideOf": "Slajd {current} z {total}",
|
||
"prevSlide": "Poprzedni slajd",
|
||
"nextSlide": "Następny slajd",
|
||
"gotoSlide": "Przejdź do slajdu {index}",
|
||
"cta": "Zaczynamy",
|
||
"slide1": {
|
||
"title": "Śledź każdy sygnał",
|
||
"body": "Waga, ciśnienie, glukoza, sen, nastrój — wszystko w jednym dzienniku, który należy do Ciebie."
|
||
},
|
||
"slide2": {
|
||
"title": "Połącz swoje źródła",
|
||
"body": "Synchronizuj z Apple Health i Withings lub dodawaj odczyty ręcznie. Twoje dane zostają na Twoim serwerze."
|
||
},
|
||
"slide3": {
|
||
"title": "Zobacz wzorce",
|
||
"body": "Codzienne podsumowania, wykresy trendów i coach, który wskazuje co się zmieniło — wszystko na Twoim urządzeniu."
|
||
}
|
||
}
|
||
},
|
||
"gettingStarted": {
|
||
"title": "Pierwsze kroki",
|
||
"subtitle": "Szybkie zwycięstwa, aby wycisnąć z HealthLog maksimum.",
|
||
"progress": "{done} z {total} wykonanych",
|
||
"dismissAll": "Ukryj listę",
|
||
"dismissTooltip": "Ukryj ten punkt",
|
||
"items": {
|
||
"profileTitle": "Skonfiguruj profil",
|
||
"profileDescription": "Wzrost, data urodzenia i płeć odblokowują spersonalizowane cele.",
|
||
"profileCta": "Otwórz profil",
|
||
"measurementTitle": "Zarejestruj pierwszy pomiar",
|
||
"measurementDescription": "Jeden pomiar aktywuje kafelek — trend rysuje się od 5. pomiaru.",
|
||
"measurementCta": "Dodaj pomiar",
|
||
"medicationTitle": "Dodaj lek",
|
||
"medicationDescription": "Śledź przestrzeganie i otrzymuj przypomnienia dokładnie wtedy, kiedy ich potrzebujesz.",
|
||
"medicationCta": "Dodaj lek",
|
||
"withingsTitle": "Połącz Withings (opcjonalnie)",
|
||
"withingsDescription": "Automatycznie synchronizuj wagę, ciśnienie i tętno z urządzeń Withings.",
|
||
"withingsCta": "Połącz",
|
||
"notificationsTitle": "Skonfiguruj powiadomienia",
|
||
"notificationsDescription": "Wybierz, jak HealthLog ma ci przypominać — Telegram, ntfy lub Web Push.",
|
||
"notificationsCta": "Otwórz powiadomienia"
|
||
}
|
||
},
|
||
"trendHints": {
|
||
"title": "Pierwszy trend po 5 pomiarach",
|
||
"remainingOne": "Jeszcze 1 pomiar do trendu.",
|
||
"remainingMany": "Jeszcze {count} pomiarów do trendu."
|
||
},
|
||
"settings": {
|
||
"researchMode": {
|
||
"sectionTitle": "Tryb Badawczy",
|
||
"subtitle": "Opcjonalne wyświetlanie szacowanej krzywej poziomu leku GLP-1, wyprowadzonej z farmakokinetyki populacyjnej opublikowanej przez EMA. Tylko do odczytu — nigdy pomiar ani porada medyczna.",
|
||
"toggleLabel": "Pokaż szacowaną krzywą poziomu leku",
|
||
"disabledStatus": "Wyłączone. Krzywa jest ukryta.",
|
||
"enabledStaleStatus": "Disclaimer został zaktualizowany. Potwierdź ponownie poniżej, aby przywrócić krzywą.",
|
||
"acknowledgedOn": "Potwierdzono {date}.",
|
||
"rePromptTitle": "Zaktualizowano disclaimer",
|
||
"rePromptBody": "Disclaimer trybu Badawczego został zaktualizowany od czasu twojego ostatniego potwierdzenia. Przeczytaj go ponownie i potwierdź, aby krzywa pozostała widoczna.",
|
||
"rePromptCta": "Potwierdź ponownie disclaimer",
|
||
"disableError": "Nie udało się wyłączyć trybu Badawczego. Spróbuj ponownie."
|
||
},
|
||
"shell": {
|
||
"sectionsNav": "Sekcje ustawień"
|
||
},
|
||
"sections": {
|
||
"account": {
|
||
"title": "Konto",
|
||
"description": "Profil, hasło, klucze dostępu i przewodnik wprowadzający."
|
||
},
|
||
"integrations": {
|
||
"title": "Integracje",
|
||
"description": "Withings, moodLog i inne połączone usługi."
|
||
},
|
||
"notifications": {
|
||
"title": "Powiadomienia",
|
||
"description": "Podgląd na żywo każdego skonfigurowanego kanału."
|
||
},
|
||
"dashboard": {
|
||
"title": "Pulpit",
|
||
"description": "Układ i kolejność kafelków."
|
||
},
|
||
"thresholds": {
|
||
"title": "Cele",
|
||
"description": "Dla każdej metryki: własny zakres docelowy zdrowych wartości."
|
||
},
|
||
"sources": {
|
||
"title": "Priorytet źródeł",
|
||
"description": "Wybierz, które źródło wygrywa, gdy kilka rejestruje tę samą metrykę tego samego dnia.",
|
||
"cardTitle": "Priorytet źródeł według metryki",
|
||
"help": "Gdy więcej niż jedno źródło dostarcza tę samą wartość tego samego dnia (np. Withings i Apple Health raportują po 1200 kroków), źródło na górze liczy się jako odczyt kanoniczny. Pozostałe źródła pozostają zapisane na potrzeby ścieżki audytu.",
|
||
"resetDefaults": "Przywróć wartości domyślne",
|
||
"moveUp": "W górę",
|
||
"moveDown": "W dół",
|
||
"saveSuccess": "Zapisano priorytet źródeł.",
|
||
"saveError": "Zapisanie priorytetu źródeł nie powiodło się.",
|
||
"resetSuccess": "Przywrócono domyślny priorytet źródeł.",
|
||
"perMetricToggle": "Ustawienia dla poszczególnych metryk ({count})",
|
||
"perMetricHelp": "Metryki dostosowane względem domyślnej kolejności. Użyj tej listy, aby przywrócić pojedynczą metrykę do wartości domyślnej, nie zmieniając pozostałych.",
|
||
"perMetricEmpty": "Brak indywidualnych ustawień — każda metryka korzysta z globalnej kolejności powyżej.",
|
||
"resetMetric": "Resetuj",
|
||
"deviceTypeToggle": "Priorytet według typu urządzenia ({count})",
|
||
"deviceTypeHelp": "W obrębie źródła decyduje, które urządzenie wygrywa. Gdy Apple Watch i iPhone rejestrują kroki, wyżej sklasyfikowany typ urządzenia liczy się jako odczyt kanoniczny.",
|
||
"deviceTypeDefault": "Domyślna kolejność typów urządzeń",
|
||
"resetDeviceTypes": "Resetuj typy urządzeń",
|
||
"metrics": {
|
||
"steps": "Kroki",
|
||
"activeEnergy": "Aktywna energia",
|
||
"walkingRunningDistance": "Dystans marszu + biegu",
|
||
"flightsClimbed": "Pokonane piętra",
|
||
"sleep": "Sen",
|
||
"weight": "Waga",
|
||
"bloodPressure": "Ciśnienie krwi",
|
||
"pulse": "Tętno",
|
||
"bodyFat": "Tkanka tłuszczowa",
|
||
"bodyTemperature": "Temperatura ciała",
|
||
"spo2": "Saturacja tlenem",
|
||
"hrv": "Zmienność rytmu serca",
|
||
"restingHeartRate": "Tętno spoczynkowe",
|
||
"vo2Max": "VO2 max",
|
||
"skinTemperature": "Temperatura skóry",
|
||
"respiratoryRate": "Częstość oddechów",
|
||
"recovery": "Regeneracja"
|
||
},
|
||
"sourceLabels": {
|
||
"WITHINGS": "Withings",
|
||
"APPLE_HEALTH": "Apple Health",
|
||
"MANUAL": "Wpis ręczny",
|
||
"IMPORT": "Importuj",
|
||
"WHOOP": "WHOOP",
|
||
"FITBIT": "Fitbit",
|
||
"COMPUTED": "Obliczone"
|
||
},
|
||
"deviceLabels": {
|
||
"watch": "Zegarek",
|
||
"band": "Opaska",
|
||
"ring": "Pierścień",
|
||
"phone": "Telefon",
|
||
"scale": "Waga",
|
||
"other": "Inne",
|
||
"unknown": "Nieznane"
|
||
}
|
||
},
|
||
"ai": {
|
||
"title": "Analizy AI",
|
||
"description": "Dostawca, model, klucz."
|
||
},
|
||
"api": {
|
||
"title": "API & Tokens",
|
||
"description": "Tokeny Bearer dla własnych skryptów i aplikacji — zapisuj pomiary lub przyjęcia leków z dowolnego miejsca."
|
||
},
|
||
"advanced": {
|
||
"title": "Zaawansowane",
|
||
"description": "Opt-in przełącznika trybu Badawczego oraz strefa zagrożenia umożliwiająca nieodwracalne wymazanie wszystkich danych zdrowotnych."
|
||
},
|
||
"export": {
|
||
"title": "Eksportuj",
|
||
"description": "Pobierz swoje dane zdrowotne jako PDF, CSV lub pełną kopię zapasową JSON.",
|
||
"otherOptionsHeading": "Inne opcje eksportu",
|
||
"downloadFailed": "Nie udało się pobrać eksportu. Spróbuj ponownie.",
|
||
"hero": {
|
||
"eyebrow": "Wizyta u lekarza",
|
||
"valueStatement": "Raport PDF do druku na wizytę u lekarza — parametry życiowe, BMI, klasyfikacja ciśnienia, przestrzeganie leczenia oraz (opcjonalnie) zapis nastroju, na kilku stronach.",
|
||
"cta": "Skonfiguruj i wygeneruj raport",
|
||
"formatHint": "PDF · gotowe do druku"
|
||
},
|
||
"actions": {
|
||
"download": "Pobierz"
|
||
},
|
||
"filters": {
|
||
"since": "Od",
|
||
"until": "Do"
|
||
},
|
||
"cards": {
|
||
"doctorReport": {
|
||
"title": "Raport dla lekarza",
|
||
"description": "PDF do druku na wizytę lekarską — parametry życiowe, BMI, klasyfikacja ciśnienia, przestrzeganie leczenia, nastrój."
|
||
},
|
||
"measurementsCsv": {
|
||
"title": "Pomiary",
|
||
"description": "Waga, ciśnienie, tętno, glukoza i wszystkie inne pomiary jako wartości rozdzielone przecinkami."
|
||
},
|
||
"medicationsCsv": {
|
||
"title": "Leki",
|
||
"description": "Lista leków z dawkowaniem, harmonogramem i (opcjonalnie) pełną historią przyjęć.",
|
||
"includeIntake": "Dołącz historię przyjęć"
|
||
},
|
||
"moodCsv": {
|
||
"title": "Nastrój",
|
||
"description": "Codzienne wpisy nastroju z oceną, tagami i znacznikami czasu."
|
||
},
|
||
"fullBackup": {
|
||
"title": "Pełna kopia zapasowa",
|
||
"description": "Pojedynczy plik JSON ze wszystkim — taki sam format jak cotygodniowa automatyczna kopia. Przydatny do samodzielnego przywracania przez przesłanie w panelu administratora."
|
||
}
|
||
}
|
||
},
|
||
"about": {
|
||
"title": "O tej aplikacji",
|
||
"description": "Wersja, licencja, linki."
|
||
},
|
||
"sharing": {
|
||
"title": "Udostępnianie",
|
||
"description": "Utwórz link tylko do odczytu, aby udostępnić swoją dokumentację zdrowotną lekarzowi."
|
||
}
|
||
},
|
||
"profile": "Profil",
|
||
"language": "Język",
|
||
"languageDescription": "Wybierz język wyświetlania aplikacji.",
|
||
"username": "Nazwa użytkownika",
|
||
"height": "Wzrost (cm)",
|
||
"dateOfBirth": "Data urodzenia",
|
||
"dateOfBirthHint": "Używane do automatycznego obliczania docelowych wartości ciśnienia.",
|
||
"gender": "Płeć",
|
||
"genderNone": "Nie podano",
|
||
"genderMale": "Mężczyzna",
|
||
"genderFemale": "Kobieta",
|
||
"genderHint": "Używane do wartości docelowych zależnych od płci.",
|
||
"timezone": "Strefa czasowa",
|
||
"timezoneHint": "Używane do etykiet osi wykresów, godzin przypomnień, znaczników czasu eksportu i kontekstu Coacha. Zapisane dane pozostają niezmienione.",
|
||
"timezoneInvalid": "To nie jest prawidłowa strefa czasowa IANA.",
|
||
"profileSaved": "Profil zapisany",
|
||
"avatar": {
|
||
"title": "Zdjęcie profilowe",
|
||
"description": "Prześlij zdjęcie przechowywane na własnym serwerze. Pojawia się w całej aplikacji zamiast zewnętrznej usługi awatarów.",
|
||
"upload": "Prześlij zdjęcie",
|
||
"replace": "Zmień zdjęcie",
|
||
"remove": "Usuń",
|
||
"hint": "JPEG, PNG lub WebP. Do 2 MB i 2048×2048 pikseli.",
|
||
"uploaded": "Zaktualizowano zdjęcie profilowe",
|
||
"removed": "Usunięto zdjęcie profilowe",
|
||
"invalidType": "Nieobsługiwany typ obrazu. Użyj JPEG, PNG lub WebP.",
|
||
"tooLarge": "Obraz przekracza limit 2 MB.",
|
||
"error": "Nie udało się zaktualizować zdjęcia profilowego. Spróbuj ponownie."
|
||
},
|
||
"changePassword": "Zmień hasło",
|
||
"changePasswordDescription": "Zastąp obecne hasło nowym.",
|
||
"passwordReset": "Resetowanie hasła",
|
||
"currentPassword": "Obecne hasło",
|
||
"newPassword": "Nowe hasło",
|
||
"confirmNewPassword": "Potwierdź nowe hasło",
|
||
"passwordMismatch": "Nowe hasła nie są zgodne",
|
||
"passwordUpdated": "Hasło zaktualizowane pomyślnie",
|
||
"passkeys": "Passkeys",
|
||
"registeredPasskeys": "Zarejestrowane klucze dostępu",
|
||
"passkeysDescription": "Klucze dostępu umożliwiają bezpieczne logowanie bez hasła.",
|
||
"passkeyName": "Nazwa",
|
||
"passkeyDevice": "Urządzenie",
|
||
"passkeyBackup": "Backup",
|
||
"passkeyCreated": "Utworzono",
|
||
"passkeyActions": "Akcje",
|
||
"noPasskeys": "Brak zarejestrowanych kluczy dostępu.",
|
||
"addPasskey": "Dodaj klucz dostępu",
|
||
"passkeyAdded": "Klucz dostępu dodany pomyślnie!",
|
||
"passkeyOptionsError": "Nie udało się wczytać opcji klucza dostępu",
|
||
"passkeyRegistrationFailed": "Rejestracja klucza dostępu nie powiodła się",
|
||
"passkeyRegistrationCancelled": "Rejestracja klucza dostępu anulowana",
|
||
"passkeyNotSupported": "Twoja przeglądarka lub urządzenie nie obsługuje jeszcze kluczy dostępu. Wypróbuj inną przeglądarkę lub urządzenie.",
|
||
"passkeyAlreadyRegistered": "To urządzenie jest już zarejestrowane jako klucz dostępu Twojego konta.",
|
||
"passkeySecurityBlocked": "Twoja przeglądarka zablokowała żądanie klucza dostępu ze względów bezpieczeństwa. Upewnij się, że jesteś w zaufanym źródle HTTPS i spróbuj ponownie.",
|
||
"passkeyTimeout": "Żądanie klucza dostępu wygasło. Spróbuj ponownie.",
|
||
"passkeyUnknownError": "Rejestracja klucza dostępu nie powiodła się: {message}",
|
||
"deletePasskey": "Usunąć klucz dostępu?",
|
||
"deletePasskeyDescription": "Klucz dostępu zostanie trwale usunięty.",
|
||
"singleDevice": "Pojedyncze urządzenie",
|
||
"multiDevice": "Wiele urządzeń",
|
||
"backedUp": "z kopią zapasową",
|
||
"telegram": "Telegram Notifications",
|
||
"telegramDescription": "Get reminders for missed medication intake via Telegram.",
|
||
"botToken": "Token bota",
|
||
"chatId": "ID czatu",
|
||
"enableNotifications": "Włącz powiadomienia",
|
||
"telegramStep1": "1. Utwórz bota przez @BotFather w Telegramie i skopiuj token.",
|
||
"telegramStep2": "2. Wyślij /start do swojego bota, aby aktywować czat.",
|
||
"telegramStep3": "3. Znajdź swoje ID czatu przez @userinfobot lub API bota.",
|
||
"ntfy": "ntfy",
|
||
"ntfyDescription": "Powiadomienia przez ntfy (własny serwer lub ntfy.sh).",
|
||
"ntfyEnable": "Włącz ntfy",
|
||
"ntfyServer": "Adres URL serwera",
|
||
"ntfyTopic": "Topic",
|
||
"ntfyAuthToken": "Token uwierzytelniania (opcjonalny)",
|
||
"ntfyAuthTokenHint": "Wymagany tylko dla prywatnych tematów z kontrolą dostępu.",
|
||
"webPush": "Push przeglądarki",
|
||
"webPushDescription": "Otrzymuj powiadomienia bezpośrednio w przeglądarce, nawet gdy HealthLog nie jest otwarty.",
|
||
"webPushNotSupported": "Twoja przeglądarka nie obsługuje powiadomień push.",
|
||
"webPushDenied": "Powiadomienia push są zablokowane. Zezwól na nie w ustawieniach przeglądarki.",
|
||
"webPushNotConfigured": "Web Push nie jest skonfigurowany na serwerze.",
|
||
"webPushSubscribe": "Włącz push",
|
||
"webPushUnsubscribe": "Wyłącz push",
|
||
"webPushSubscribed": "Powiadomienia push włączone!",
|
||
"webPushUnsubscribed": "Powiadomienia push wyłączone.",
|
||
"webPushSubscribeFailed": "Aktywacja nie powiodła się",
|
||
"webPushActive": "Aktywne",
|
||
"kiInsightsDescription": "Opcjonalnie: zapisz swój klucz OpenAI, aby uzyskać codzienne, automatyczne analizy w Insights.",
|
||
"codexConnected": "ChatGPT połączony pomyślnie! Insights jest teraz aktywny.",
|
||
"codexDisconnected": "Połączenie z ChatGPT usunięte.",
|
||
"codexConnectionFailed": "Połączenie z ChatGPT nie powiodło się. Spróbuj ponownie.",
|
||
"rawData": "Wysyłaj surowe dane",
|
||
"rawDataOnDescription": "Wysyłane są zagregowane metryki oraz zanonimizowane surowe punkty z ostatnich 30 dni. Obejmuje to pomiary dla poszczególnych metryk (np. waga, ciśnienie, tętno) z kontekstem czasowym, aby dostawca mógł rzetelniej wykrywać wzorce, wartości odstające i korelacje. Imię, adres e-mail i bezpośrednie identyfikatory konta nie są przesyłane.",
|
||
"rawDataOffDescription": "Wysyłane są tylko podsumowane metryki (np. średnie, trendy, minimum/maksimum). Bez pojedynczych punktów i bez dokładnego kontekstu czasowego. Lepiej chroni to prywatność, ale dostawca może być mniej precyzyjny w przypadku wzorców i krótkoterminowych wahań.",
|
||
"rawDataWarning": "Tryb surowych danych włączony: dostawca otrzymuje dodatkowe zanonimizowane punkty z ostatnich 30 dni dla dokładniejszej analizy.",
|
||
"regenerateInsights": "Wygeneruj raporty ponownie",
|
||
"regenerateSuccess": "Raporty wygenerowane ponownie",
|
||
"regenerateRateLimit": "Poczekaj — osiągnięto godzinny limit analiz.",
|
||
"lastGeneratedAt": "Ostatnio wygenerowano",
|
||
"ai": {
|
||
"chatgptConnectedBadge": "ChatGPT połączony",
|
||
"adminAiActiveBadge": "Aktywny dostawca administratora",
|
||
"connectionExpiredBadge": "Połączenie wygasło",
|
||
"connectedSince": "Połączono od {when}.",
|
||
"deviceCodeHeading": "Dokończ łączenie na chatgpt.com",
|
||
"deviceCodeStep1": "Otwórz ten link na dowolnym urządzeniu:",
|
||
"deviceCodeStep2": "Wprowadź ten jednorazowy kod:",
|
||
"deviceCodeStep3": "Zatwierdź połączenie — ta strona zaktualizuje się automatycznie.",
|
||
"deviceCodeCopy": "Kopiuj",
|
||
"deviceCodeWaiting": "Oczekiwanie na zatwierdzenie…",
|
||
"deviceCodeCancel": "Anuluj",
|
||
"oauthNotConfigured": "OAuth ChatGPT nie jest skonfigurowany w tej instancji — użyj zamiast tego własnego klucza API poniżej.",
|
||
"modelLabel": "Model",
|
||
"modelOptionDefault": "— Domyślny —",
|
||
"modelOptionCustom": "Niestandardowy…",
|
||
"customModelLabel": "Nazwa niestandardowego modelu",
|
||
"anthropicKeyLabel": "Klucz API Anthropic",
|
||
"baseUrlLabel": "Base URL",
|
||
"localKeyLabel": "Klucz API (opcjonalny)",
|
||
"savedPreview": "(zapisano {preview})",
|
||
"savedShort": "(zapisano)",
|
||
"saveCta": "Zapisz",
|
||
"saved": "Zapisano",
|
||
"saveFailed": "Zapis nie powiódł się",
|
||
"errorGeneric": "Błąd",
|
||
"providerChain": {
|
||
"types": {
|
||
"codex": "ChatGPT (Codex)",
|
||
"openai": "OpenAI (Twój klucz)",
|
||
"anthropic": "Anthropic (Claude)",
|
||
"local": "Model lokalny",
|
||
"admin-openai": "OpenAI administratora"
|
||
},
|
||
"title": "Łańcuch zapasowy",
|
||
"description": "Jeśli główny dostawca zawiedzie, HealthLog przechodzi przez łańcuch po kolei. Przeciągaj wiersze, aby zmienić kolejność; użyj przełącznika, aby wyłączyć dostawcę bez usuwania go.",
|
||
"moveUp": "Przesuń w górę",
|
||
"moveDown": "Przesuń w dół",
|
||
"removeFromChain": "Usuń z łańcucha",
|
||
"addProvider": "Dodaj dostawcę",
|
||
"addNoneAvailable": "Wszyscy dostawcy są już w łańcuchu",
|
||
"saveOrder": "Zapisz kolejność łańcucha",
|
||
"saved": "Łańcuch zapisany",
|
||
"saveFailed": "Zapis łańcucha nie powiódł się",
|
||
"resetDefaults": "Przywróć domyślne",
|
||
"resetConfirmTitle": "Przywrócić domyślny łańcuch?",
|
||
"resetConfirmBody": "Łańcuch wraca do Codex → OpenAI → Anthropic → Lokalny → OpenAI administratora. Zapisane dane logowania pozostają nienaruszone."
|
||
},
|
||
"activeProviderHeading": "Aktywny dostawca",
|
||
"activeProviderBody": "Wybierz dostawcę, którego chcesz użyć jako pierwszego. Formularz poniżej konfiguruje tylko wybranego dostawcę; łańcuch zapasowy na dole decyduje, co się stanie w razie awarii.",
|
||
"activeProviderLabel": "Główny dostawca",
|
||
"providerConfigTitle": "Konfiguracja dostawcy",
|
||
"providerSelect": {
|
||
"codex": "Konto ChatGPT (Codex)",
|
||
"openai": "OpenAI (Twój klucz API)",
|
||
"anthropic": "Anthropic (Claude)",
|
||
"local": "Model lokalny (zgodny z OpenAI)",
|
||
"admin-openai": "OpenAI udostępniony przez administratora"
|
||
},
|
||
"openai": {
|
||
"modelSelect": "Model",
|
||
"modelOptionCustom": "Niestandardowy slug…",
|
||
"modelCustomLabel": "Slug niestandardowego modelu",
|
||
"modelCustomPlaceholder": "gpt-5",
|
||
"baseUrlLabel": "Adres URL bazowy (zaawansowane)",
|
||
"baseUrlPlaceholder": "https://api.openai.com/v1",
|
||
"baseUrlHelp": "Nadpisuj tylko przy korzystaniu z bramy zgodnej z OpenAI. Pozostaw puste dla samego OpenAI.",
|
||
"showAdvanced": "Pokaż zaawansowane",
|
||
"hideAdvanced": "Ukryj zaawansowane",
|
||
"apiKey": "Klucz API",
|
||
"apiKeyPlaceholder": "sk-…"
|
||
},
|
||
"codex": {
|
||
"statusConnected": "Połączono",
|
||
"statusDisconnected": "Niepołączono",
|
||
"statusExpired": "Połączenie wygasło",
|
||
"connectButton": "Połącz z ChatGPT",
|
||
"disconnectButton": "Rozłącz",
|
||
"modelSlugLabel": "Slug modelu",
|
||
"modelSlugBody": "Codex używa modelu, do którego kieruje Twoja subskrypcja ChatGPT. Zmienna środowiskowa CODEX_MODEL pozwala operatorowi nadpisać to w instancji.",
|
||
"lastInsight": "Ostatnia analiza: {when}"
|
||
},
|
||
"adminOpenai": {
|
||
"title": "OpenAI administratora",
|
||
"body": "Klucz OpenAI udostępniony przez operatora. Używany jako ostateczność, gdy nie skonfigurowano żadnego osobistego dostawcy. W tym wierszu nie ma nic do skonfigurowania — jego widoczność oznacza, że operator go skonfigurował.",
|
||
"notConfigured": "Operator nie skonfigurował współdzielonego klucza OpenAI w tej instancji."
|
||
},
|
||
"testProvider": "Przetestuj aktywnego dostawcę",
|
||
"testSuccess": "OK — {provider} ({model})",
|
||
"testFailedShort": "Test nie powiódł się: {message}",
|
||
"testUnexpectedResponse": "Połączenie z dostawcą AI nie powiodło się — nieoczekiwana odpowiedź serwera.",
|
||
"testReasonCredentials": "Dostawca odrzucił dane logowania — uwierzytelnij się ponownie w ustawieniach AI.",
|
||
"testReasonRateLimited": "Dostawca ograniczył żądanie — spróbuj ponownie za chwilę.",
|
||
"testReasonServerError": "Dostawca AI zwrócił błąd serwera.",
|
||
"testReasonUnreachable": "Nie udało się połączyć z dostawcą AI.",
|
||
"coachMemory": {
|
||
"title": "Co Coach pamięta",
|
||
"description": "Trwałe informacje, które przekazałeś Coachowi. Wykorzystuje je, aby jego odpowiedzi pozostawały trafne. Usuń wszystko, o czym wolisz, by zapomniał.",
|
||
"empty": "Coach nie zapisał jeszcze żadnych informacji. Podczas rozmowy zapamiętuje trwałe szczegóły, którymi się dzielisz — Twoje cele, dolegliwości, preferencje — i możesz je tutaj w każdej chwili usunąć.",
|
||
"learnedPrefix": "zapamiętano {when}",
|
||
"categoryPreference": "Preferencje",
|
||
"categoryCondition": "Dolegliwości",
|
||
"categoryGoal": "Cele",
|
||
"categoryConstraint": "Ograniczenia",
|
||
"categoryContext": "Kontekst",
|
||
"forget": "Zapomnij",
|
||
"forgetAria": "Zapomnij tę informację",
|
||
"forgetAll": "Zapomnij wszystko",
|
||
"forgetAllConfirmTitle": "Zapomnieć wszystko, co Coach pamięta?",
|
||
"forgetAllConfirmBody": "Spowoduje to usunięcie wszystkich zapisanych informacji. Coach zacznie od nowa przy następnej rozmowie. Tej operacji nie można cofnąć.",
|
||
"forgetAllConfirmAction": "Zapomnij wszystko",
|
||
"cancel": "Anuluj",
|
||
"summaryNote": "Coach może też przechowywać krótkie, bieżące podsumowanie każdej rozmowy. Nie ma dla niego osobnej kontrolki — usunięcie rozmowy usuwa jej podsumowanie.",
|
||
"loadError": "Nie udało się wczytać tego, co Coach pamięta.",
|
||
"forgotToast": "Informacja zapomniana.",
|
||
"forgotError": "Nie udało się zapomnieć tej informacji. Spróbuj ponownie.",
|
||
"clearedToast": "Zapomniano {count} zapisanych informacji.",
|
||
"clearError": "Nie udało się usunąć zapisanych informacji. Spróbuj ponownie."
|
||
},
|
||
"disableCoach": {
|
||
"title": "Ukryj Coacha",
|
||
"description": "Ukrywa przycisk Coacha i panel na wszystkich stronach.",
|
||
"toggleAria": "Ukryj przycisk Coacha i panel",
|
||
"savedHidden": "Coach ukryty.",
|
||
"savedShown": "Coach widoczny.",
|
||
"saveError": "Nie udało się zapisać zmiany. Spróbuj ponownie."
|
||
}
|
||
},
|
||
"dashboard": {
|
||
"units": {
|
||
"title": "Jednostki",
|
||
"description": "Wybierz sposób wyświetlania odległości i prędkości na wykresach i kafelkach.",
|
||
"metric": "Metryczne",
|
||
"imperial": "Imperialne",
|
||
"saved": "Zapisano preferencję jednostek.",
|
||
"saveError": "Nie udało się zapisać preferencji jednostek."
|
||
}
|
||
},
|
||
"withings": "Withings",
|
||
"withingsDescription": "Połącz swoją wagę i ciśnieniomierze Withings.",
|
||
"withingsCredentials": "Dane logowania API",
|
||
"withingsClientId": "ID klienta",
|
||
"withingsClientSecret": "Sekret klienta",
|
||
"withingsCredentialsSaved": "Dane logowania zapisane",
|
||
"withingsCredentialsSavedPlaceholder": "Zapisano — wprowadź nowy, aby zastąpić",
|
||
"withingsCredentialsSavedPlaceholderSecret": "Zapisano — wprowadź nowy, aby zastąpić",
|
||
"withingsSaveCredentials": "Zapisz dane logowania",
|
||
"configured": "Skonfigurowano",
|
||
"withingsSync": "Synchronizuj teraz",
|
||
"withingsFullSync": "Synchronizuj wszystkie dane",
|
||
"withingsFullSyncTitle": "Pełna synchronizacja?",
|
||
"withingsFullSyncDescription": "Wszystkie dostępne dane Withings zostaną w pełni zsynchronizowane. Może to chwilę potrwać w zależności od historii.",
|
||
"withingsSyncResult": "{count} pomiarów zsynchronizowano",
|
||
"withingsFullSyncResult": "{count} pomiarów w pełni zsynchronizowano",
|
||
"withingsSyncFailed": "Synchronizacja nie powiodła się",
|
||
"withingsSynchronize": "Synchronizuj",
|
||
"withingsDisconnect": "Rozłącz",
|
||
"withingsDisconnectTitle": "Rozłączyć Withings?",
|
||
"withingsDisconnectDescription": "Połączenie z Withings zostanie rozłączone. Wcześniej zsynchronizowane dane zostaną zachowane.",
|
||
"withingsConnect": "Połącz z Withings",
|
||
"withingsNoCredentials": "Najpierw wprowadź powyżej dane logowania API, aby połączyć Withings.",
|
||
"whoop": "WHOOP",
|
||
"whoopDescription": "Połącz opaskę WHOOP, aby synchronizować regenerację, sen, obciążenie i treningi.",
|
||
"whoopOverlapNote": "Jeśli WHOOP i inne źródło dostarczają tę samą wartość życiową — tętno spoczynkowe, saturację, temperaturę ciała, częstość oddechów lub fazy snu — możesz widzieć obie wartości, dopóki przyszła aktualizacja nie wybierze jednego preferowanego źródła.",
|
||
"whoopCredentials": "Dane API",
|
||
"whoopCredentialsHelp": "Zarejestruj własną aplikację deweloperską WHOOP i wklej tutaj jej Client ID oraz Client Secret.",
|
||
"whoopClientId": "Client ID",
|
||
"whoopClientSecret": "Client Secret",
|
||
"whoopCredentialsSaved": "Dane zapisane",
|
||
"whoopCredentialsSavedPlaceholder": "Zapisano — wpisz nowe, aby zastąpić",
|
||
"whoopCredentialsSavedPlaceholderSecret": "Zapisano — wpisz nowe, aby zastąpić",
|
||
"whoopSaveCredentials": "Zapisz dane",
|
||
"whoopSync": "Synchronizuj teraz",
|
||
"whoopFullSync": "Synchronizuj wszystkie dane",
|
||
"whoopFullSyncTitle": "Pełna synchronizacja?",
|
||
"whoopFullSyncDescription": "Cała dostępna historia WHOOP zostanie w pełni zsynchronizowana. Może to chwilę potrwać w zależności od historii.",
|
||
"whoopSyncResult": "Zsynchronizowano {count} pomiarów",
|
||
"whoopSyncFailed": "Synchronizacja nie powiodła się",
|
||
"whoopSynchronize": "Synchronizuj",
|
||
"whoopDisconnect": "Odłącz",
|
||
"whoopDisconnectTitle": "Odłączyć WHOOP?",
|
||
"whoopDisconnectDescription": "Połączenie z WHOOP zostanie zakończone. Wcześniej zsynchronizowane dane zostaną zachowane.",
|
||
"whoopConnect": "Połącz z WHOOP",
|
||
"whoopNoCredentials": "Wprowadź powyżej swoje dane API, aby połączyć WHOOP.",
|
||
"whoopBackfillInProgress": "Importowanie historii WHOOP w tle…",
|
||
"fitbit": "Google Health",
|
||
"fitbitTag": "Fitbit i Pixel",
|
||
"fitbitDescription": "Połącz Google Health, aby synchronizować dane z Fitbita i Pixel Watch — wagę, tkankę tłuszczową, tętno spoczynkowe, saturację, zmienność rytmu serca i więcej.",
|
||
"fitbitOverlapNote": "Jeśli Google Health i inne źródło dostarczają ten sam parametr życiowy — tętno spoczynkowe, saturację, temperaturę ciała lub częstość oddechów — możesz widzieć obie wartości, dopóki przyszła aktualizacja nie wybierze jednego preferowanego źródła.",
|
||
"fitbitExperimentalBadge": "Eksperymentalne",
|
||
"fitbitExperimentalNote": "Ta integracja jest w wersji beta — zakres danych i mapowanie pól są wciąż weryfikowane na rzeczywistych kontach Google Health, więc niektóre wartości mogą być niedostępne lub zmienić się w przyszłej aktualizacji.",
|
||
"fitbitCredentials": "Dane uwierzytelniające API",
|
||
"fitbitCredentialsHelp": "Zarejestruj własny klient OAuth Google Cloud dla interfejsu Google Health API i wklej tutaj jego Client ID oraz Client Secret.",
|
||
"fitbitClientId": "Client ID",
|
||
"fitbitClientSecret": "Client Secret",
|
||
"fitbitCredentialsSaved": "Dane uwierzytelniające zapisane",
|
||
"fitbitCredentialsSavedPlaceholder": "Zapisano — wpisz nowe, aby zastąpić",
|
||
"fitbitCredentialsSavedPlaceholderSecret": "Zapisano — wpisz nowe, aby zastąpić",
|
||
"fitbitSaveCredentials": "Zapisz dane uwierzytelniające",
|
||
"fitbitSync": "Synchronizuj teraz",
|
||
"fitbitFullSync": "Synchronizuj wszystkie dane",
|
||
"fitbitFullSyncTitle": "Pełna synchronizacja?",
|
||
"fitbitFullSyncDescription": "Cała dostępna historia Google Health zostanie w pełni zsynchronizowana. W zależności od historii może to chwilę potrwać.",
|
||
"fitbitSyncResult": "Zsynchronizowano {count} pomiarów",
|
||
"fitbitSyncFailed": "Synchronizacja nie powiodła się",
|
||
"fitbitSynchronize": "Synchronizuj",
|
||
"fitbitDisconnect": "Rozłącz",
|
||
"fitbitDisconnectTitle": "Rozłączyć Google Health?",
|
||
"fitbitDisconnectDescription": "Połączenie z Google Health zostanie rozłączone. Wcześniej zsynchronizowane dane zostaną zachowane.",
|
||
"fitbitConnect": "Połącz z Google Health",
|
||
"fitbitNoCredentials": "Wprowadź powyżej swoje dane uwierzytelniające API, aby połączyć Google Health.",
|
||
"fitbitBackfillInProgress": "Importowanie historii Google Health w tle…",
|
||
"integrations": {
|
||
"withings": {
|
||
"reconnect": {
|
||
"banner": {
|
||
"title": "Dostępna synchronizacja aktywności",
|
||
"body": "Twoje połączenie z Withings zostało autoryzowane przed dodaniem synchronizacji aktywności. Połącz ponownie jeden raz, aby włączyć import kroków, energii aktywnej, dystansu marszu i biegu oraz pokonanych pięter z urządzeń Withings.",
|
||
"action": "Połącz ponownie Withings"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"integrationPill": {
|
||
"connected": "Połączono",
|
||
"errorReconnect": "Błąd — połącz ponownie",
|
||
"warningServerError": "Połączono, błąd serwera",
|
||
"parkedReconnect": "Wstrzymane — połącz ręcznie",
|
||
"notConnected": "Nie połączono",
|
||
"justNow": "przed chwilą",
|
||
"minutesAgo": "{count} min temu",
|
||
"hoursAgo": "{count} godz. temu",
|
||
"daysAgo": "{count} dni temu",
|
||
"ariaLabel": "Status integracji",
|
||
"resumeCta": "Połącz ponownie",
|
||
"resumeSuccess": "Integracja wznowiona",
|
||
"resumeError": "Ponowne połączenie nieudane"
|
||
},
|
||
"apiTokens": "Tokeny API",
|
||
"apiTokensDescription": "Twórz tokeny API do zewnętrznego rejestrowania przyjęć leków (np. Skróty, automatyzacje).",
|
||
"tokenNamePlaceholder": "Nazwa tokena (np. Skrót iPhone)",
|
||
"tokenCreated": "Token utworzony — skopiuj go teraz! Nie zostanie pokazany ponownie.",
|
||
"tokenCopy": "Kopiuj token",
|
||
"tokenCopied": "Token skopiowany do schowka",
|
||
"tokenCopyFailed": "Nie udało się skopiować tokenu",
|
||
"tokenRevokeFailed": "Nie udało się unieważnić tokenu. Spróbuj ponownie.",
|
||
"tokenRevoke": "Cofnąć token?",
|
||
"tokenRevokeAction": "Unieważnij token",
|
||
"tokenRevokeDescription": "Token zostanie trwale dezaktywowany. Aplikacje, które go używają, stracą dostęp.",
|
||
"tokenRevoked": "Cofnięto",
|
||
"tokenExpired": "Wygasł",
|
||
"tokenActive": "Aktywne",
|
||
"activeTokensTitle": "Aktywne tokeny",
|
||
"revokedTokensTitle": "Cofnięte tokeny ({count})",
|
||
"tokenTableName": "Nazwa",
|
||
"tokenTablePermissions": "Uprawnienia",
|
||
"tokenTableStatus": "Status",
|
||
"tokenTableCreated": "Utworzono",
|
||
"tokenTableLastUsed": "Ostatnio użyto",
|
||
"tokenTableActions": "Akcje",
|
||
"noActiveTokens": "Brak aktywnych tokenów.",
|
||
"tokenNeverUsed": "Nigdy",
|
||
"apiEndpointsTitle": "Punkty końcowe API",
|
||
"apiEndpointsDescription": "Przegląd dostępnych obecnie zewnętrznych punktów końcowych do wprowadzania danych za pomocą tokenów.",
|
||
"apiEndpointMethod": "Metoda",
|
||
"apiEndpointPath": "Ścieżka",
|
||
"apiEndpointAuth": "Uwierzytelnianie",
|
||
"apiEndpointExample": "Przykład treści",
|
||
"collapse": "Zwiń",
|
||
"expand": "Rozwiń",
|
||
"dangerZone": "Usuń wszystkie dane",
|
||
"dangerZoneTitle": "Strefa zagrożenia",
|
||
"dangerZoneDescription": "Usuwa wszystkie Twoje dane zdrowotne i integracje. Twoje konto użytkownika zostanie zachowane.",
|
||
"dangerZoneConfirm": "Usunąć wszystkie dane?",
|
||
"dangerZoneConfirmDescription": "Spowoduje to trwałe usunięcie wszystkich Twoich danych zdrowotnych i integracji. Twoje konto użytkownika zostanie zachowane.",
|
||
"dangerZoneSuccess": "Wszystkie dane osobowe zostały usunięte",
|
||
"dangerZoneDeleteFailed": "Usuwanie nie powiodło się",
|
||
"finalDelete": "Usuń trwale",
|
||
"deleteAccountCardTitle": "Usuń całe konto",
|
||
"deleteAccountCardDescription": "Usuwa Twoje konto wraz z kluczami dostępu, dziennikiem audytu i sesjami. Tej operacji nie można cofnąć.",
|
||
"deleteAccountCta": "Usuń konto",
|
||
"deleteAccountConfirmTitle": "Trwale usunąć konto?",
|
||
"deleteAccountConfirmDescription": "Twoje konto, wszystkie dane zdrowotne, klucze dostępu, sesje i wpisy audytu zostaną trwale usunięte. Zostaniesz wylogowany natychmiast po tym.",
|
||
"deleteAccountSuccess": "Konto usunięte — trwa wylogowywanie.",
|
||
"deleteAccountFailed": "Nie udało się usunąć konta",
|
||
"deleteAccountFinal": "Usuń trwale",
|
||
"saved": "Zapisano",
|
||
"savingError": "Błąd podczas zapisywania",
|
||
"moodLogTitle": "moodLog",
|
||
"moodLogDescription": "Import mood data from moodLog",
|
||
"moodLogDeprecated": "Wycofane: nastrój jest teraz śledzony natywnie w HealthLog z tagami i czynnikami. Ta integracja nadal działa, ale zostanie usunięta w przyszłej wersji.",
|
||
"moodLogUrl": "moodLog URL",
|
||
"moodLogUrlPlaceholder": "https://mood.example.com",
|
||
"moodLogApiKey": "Klucz API",
|
||
"moodLogApiKeyPlaceholder": "ml_...",
|
||
"moodLogWebhookSecret": "Sekret webhooka",
|
||
"moodLogWebhookSecretHelp": "Wprowadź ten sekret w moodLog jako sekret webhooka",
|
||
"moodLogSync": "Synchronizuj teraz",
|
||
"moodLogFullSync": "Synchronizuj wszystkie dane",
|
||
"moodLogFullSyncConfirm": "Synchronizuj",
|
||
"moodLogFullSyncTitle": "Pełna synchronizacja?",
|
||
"moodLogFullSyncDescription": "Wszystkie dostępne dane o nastroju zostaną w pełni zsynchronizowane.",
|
||
"moodLogDisconnect": "Rozłącz",
|
||
"moodLogDisconnectTitle": "Rozłączyć moodLog?",
|
||
"moodLogDisconnectDescription": "Połączenie zostanie usunięte, a wszystkie zaimportowane dane o nastroju zostaną skasowane.",
|
||
"moodLogEntries": "Wpisy",
|
||
"moodLogSyncResult": "{count} wpisów zsynchronizowano",
|
||
"moodLogSyncFailed": "Synchronizacja nie powiodła się",
|
||
"moodLogDisconnected": "moodLog rozłączony",
|
||
"about": {
|
||
"version": "Wersja aplikacji",
|
||
"gitSha": "Build",
|
||
"builtAt": "Skompilowano {time}",
|
||
"builtAtLabel": "Skompilowano",
|
||
"license": "Licencja",
|
||
"repository": "Kod źródłowy",
|
||
"changelog": "Changelog",
|
||
"docs": "Dokumentacja",
|
||
"linksHeading": "Źródła i dokumentacja",
|
||
"newerAvailable": "Nowa wersja: {tag}",
|
||
"tourReplay": "Obejrzyj samouczek",
|
||
"tourReplayHint": "Zobacz przewodnik po panelu — przydatne, jeśli pominąłeś go przy pierwszej wizycie."
|
||
},
|
||
"testConnection": {
|
||
"test": "Testuj połączenie",
|
||
"testing": "Testowanie…",
|
||
"ok": "Połączono (opóźnienie {latency} ms)",
|
||
"errors": {
|
||
"credentials_rejected": "Dane logowania odrzucone — sprawdź token",
|
||
"rate_limited": "Ograniczone przez usługę nadrzędną",
|
||
"timeout": "Przekroczono limit czasu żądania",
|
||
"upstream_error": "Usługa nadrzędna zwróciła błąd",
|
||
"connection_failed": "Połączenie nie powiodło się",
|
||
"not_configured": "Nieskonfigurowano",
|
||
"url_not_public": "Adres URL nie jest publicznym punktem końcowym",
|
||
"url_invalid": "Adres URL jest nieprawidłowy",
|
||
"redirected": "Punkt końcowy przekierowuje — sprawdź adres URL",
|
||
"endpoint_not_found": "Nie znaleziono punktu końcowego pod adresem URL",
|
||
"credentials_unreadable": "Nie można odszyfrować danych logowania",
|
||
"upstream_invalid_json": "Usługa nadrzędna wysłała nieprawidłowy JSON",
|
||
"vapid_not_configured": "Web Push nieskonfigurowany (brak kluczy VAPID)",
|
||
"rate_limited_self": "Zbyt wiele żądań testowych",
|
||
"generic": "Test nie powiódł się"
|
||
}
|
||
},
|
||
"notificationStatus": {
|
||
"title": "Channel reliability",
|
||
"description": "Live status of every notification channel — Auto-disabled means HealthLog stopped retrying after a permanent error.",
|
||
"emptyDescription": "Nie skonfigurowano jeszcze żadnych kanałów. Dodaj kanał poniżej, aby zacząć śledzić jego dostarczalność.",
|
||
"stateActive": "Aktywne",
|
||
"stateAutoDisabled": "Automatycznie wyłączone",
|
||
"stateSendingPaused": "Wysyłanie wstrzymane",
|
||
"stateManuallyDisabled": "Wyłączone",
|
||
"lastSuccess": "Ostatnia udana wysyłka",
|
||
"lastFailure": "Ostatni błąd",
|
||
"consecutiveFailures": "Kolejne błędy",
|
||
"disabledReason": "Powód",
|
||
"nextRetry": "Następna próba",
|
||
"reEnable": "Włącz ponownie",
|
||
"sendTest": "Wyślij test"
|
||
},
|
||
"identity": {
|
||
"description": "Opcjonalne dane do eksportu dokumentacji zdrowotnej (okładka PDF + eksport FHIR). Wszystkie pola są opcjonalne.",
|
||
"fullName": "Imię i nazwisko",
|
||
"fullNamePlaceholder": "np. Anna Kowalska",
|
||
"insurer": "Ubezpieczyciel zdrowotny",
|
||
"insurerPlaceholder": "np. AOK Bayern",
|
||
"insuranceNumber": "Numer ubezpieczonego (KVNR)",
|
||
"insuranceNumberHint": "10 znaków: jedna litera + dziewięć cyfr (np. A123456780)."
|
||
},
|
||
"healthRecord": {
|
||
"title": "Eksportuj dokumentację zdrowotną",
|
||
"description": "Wygeneruj pełną dokumentację zdrowotną dla lekarza — jako PDF, ustrukturyzowaną (FHIR) lub łączny pakiet.",
|
||
"format": "Format",
|
||
"format_pdf": "PDF",
|
||
"format_fhir": "Ustrukturyzowany (FHIR)",
|
||
"format_package": "Pakiet: PDF + FHIR",
|
||
"range": "Okres",
|
||
"range90": "Ostatnie 90 dni",
|
||
"range180": "Ostatnie 6 miesięcy",
|
||
"range365": "Ostatnie 12 miesięcy",
|
||
"practiceName": "Gabinet (opcjonalnie)",
|
||
"practiceNamePlaceholder": "np. dr Kowalski",
|
||
"includedData": "Uwzględnione dane",
|
||
"groupVitals": "Parametry życiowe",
|
||
"groupCardio": "Serce i kondycja",
|
||
"groupActivity": "Aktywność i sen",
|
||
"weight": "Waga",
|
||
"bp": "Ciśnienie krwi",
|
||
"pulse": "Tętno",
|
||
"oxygenSaturation": "Saturacja tlenem",
|
||
"bodyFat": "Tkanka tłuszczowa",
|
||
"bodyComposition": "Skład ciała",
|
||
"restingHeartRate": "Tętno spoczynkowe",
|
||
"hrv": "Zmienność rytmu serca",
|
||
"vo2max": "VO₂max",
|
||
"steps": "Kroki",
|
||
"distance": "Dystans",
|
||
"sleep": "Sen",
|
||
"glucose": "Glukoza we krwi",
|
||
"medications": "Leki i przestrzeganie zaleceń",
|
||
"mood": "Nastrój (domyślnie wyłączony — dane wrażliwe)",
|
||
"bmi": "BMI",
|
||
"includeCharts": "Osadź wykresy trendów (tylko PDF)",
|
||
"includeAiSummary": "Dołącz podsumowanie AI (niezweryfikowane klinicznie)",
|
||
"fhirNote": "Dane ustrukturyzowane są zgodne ze standardem FHIR R4 (kompatybilne z ePA).",
|
||
"generate": "Generuj",
|
||
"error": "Eksport nie powiódł się ({code})."
|
||
},
|
||
"globalExcludedInjectionSitesLabel": "Globalnie wykluczone miejsca iniekcji",
|
||
"globalExcludedInjectionSitesHint": "Miejsca wymienione tutaj nie są proponowane dla żadnego leku i są odrzucane przy rejestrowaniu dawki, nawet jeśli lek je preferuje.",
|
||
"sharing": {
|
||
"createTitle": "Nowy link udostępniania",
|
||
"createDescription": "Link jest tylko do odczytu i ograniczony czasowo. Token jest pokazywany tylko raz przy tworzeniu — zapisz go wtedy; nie można go odzyskać.",
|
||
"label": "Etykieta",
|
||
"labelPlaceholder": "np. dr Kowalski — kontrola roczna",
|
||
"range": "Dni historii",
|
||
"rangeHint": "Jak daleko wstecz sięga udostępnione okno.",
|
||
"expiry": "Wygasa za (dni)",
|
||
"expiryHint": "Najwyżej {max} dni.",
|
||
"expiryInvalid": "Wygaśnięcie musi mieścić się między 1 a {max} dniami.",
|
||
"fhirApi": "Zezwól na ograniczone API FHIR",
|
||
"fhirApiHint": "Pozwól, aby link udostępniał punkt końcowy FHIR tylko do odczytu obok widoku strony.",
|
||
"resourceTypes": "Typy zasobów FHIR",
|
||
"create": "Utwórz link",
|
||
"tokenCreated": "Link udostępniania utworzony",
|
||
"tokenOnce": "Skopiuj ten link teraz — token jest pokazywany tylko raz i nie można go odzyskać.",
|
||
"copy": "Kopiuj link",
|
||
"copied": "Skopiowano do schowka.",
|
||
"activeTitle": "Aktywne linki",
|
||
"noActive": "Brak aktywnych linków udostępniania.",
|
||
"created": "Utworzono",
|
||
"expires": "Wygasa",
|
||
"accessCount": "Wyświetlenia",
|
||
"revoke": "Unieważnij",
|
||
"revokeDescription": "Unieważnij ten link natychmiast. Każdy, kto go ma, traci dostęp od razu. Tej operacji nie można cofnąć.",
|
||
"statusActive": "Aktywny",
|
||
"statusRevoked": "Unieważniony",
|
||
"statusExpired": "Wygasły",
|
||
"inactiveTitle": "Unieważnione i wygasłe ({count})"
|
||
}
|
||
},
|
||
"admin": {
|
||
"title": "Administracja",
|
||
"subtitle": "Stan systemu, użytkownicy i ustawienia",
|
||
"settingsSaveError": "Nie udało się zapisać ustawień",
|
||
"systemStatus": "Stan systemu",
|
||
"database": "Baza danych",
|
||
"databaseConnected": "Połączona",
|
||
"databaseError": "Błąd",
|
||
"startedAt": "Uruchomiono",
|
||
"users": "Użytkownicy",
|
||
"measurementsCount": "Pomiary",
|
||
"activeTokens": "Aktywne tokeny API",
|
||
"activeSessions": "Aktywne sesje",
|
||
"loadingStatus": "Ładowanie stanu...",
|
||
"systemStatusLoadError": "Nie udało się załadować stanu systemu.",
|
||
"systemStatusRetry": "Spróbuj ponownie",
|
||
"adminSettingsLoadError": "Nie udało się załadować ustawień administracyjnych. Przełączniki poniżej mogą nie odzwierciedlać bieżącego stanu — odśwież stronę.",
|
||
"hostMetrics": {
|
||
"title": "Obciążenie hosta",
|
||
"load1": "Obciążenie (1m)",
|
||
"memUsedPercent": "Pamięć",
|
||
"diskBusyPercent": "Disk I/O",
|
||
"last2hours": "Ostatnie 2 godziny",
|
||
"empty": "Rozpoczęto próbkowanie — dane pojawią się w ciągu 1–2 minut.",
|
||
"loadError": "Nie udało się załadować metryk hosta. Spróbuj odświeżyć stronę."
|
||
},
|
||
"aiQuality": {
|
||
"title": "Jakość analiz",
|
||
"loading": "Ładowanie podsumowania opinii...",
|
||
"loadError": "Nie udało się załadować podsumowania jakości analiz. Spróbuj odświeżyć stronę.",
|
||
"empty": "Brak opinii. Agregator uruchamia się codziennie o 04:00 — gdy użytkownicy zaczną oceniać rekomendacje, tutaj pojawią się wskaźniki przydatności.",
|
||
"windowLabel": "Ostatnie {days} dni",
|
||
"generatedAtLabel": "Wygenerowano",
|
||
"colSeverity": "Ważność",
|
||
"colMetric": "Metryka",
|
||
"colProvider": "Dostawca",
|
||
"colPromptVersion": "Prompt",
|
||
"colHelpful": "Pomocne",
|
||
"colNotHelpful": "Niepomocne",
|
||
"colHelpfulRate": "Wskaźnik przydatności"
|
||
},
|
||
"coachFeedback": {
|
||
"title": "Opinie o Coachu",
|
||
"loading": "Ładowanie podsumowania opinii o Coachu...",
|
||
"loadError": "Nie udało się załadować podsumowania opinii o Coachu. Spróbuj odświeżyć stronę.",
|
||
"empty": "Brak opinii o Coachu. Agregator uruchamia się codziennie o 04:00 — gdy użytkownicy ocenią odpowiedzi Coacha, tutaj pojawią się wskaźniki przydatności.",
|
||
"windowLabel": "Ostatnie {days} dni",
|
||
"generatedAtLabel": "Wygenerowano",
|
||
"colPromptVersion": "Wersja promptu",
|
||
"colTone": "Ton",
|
||
"colVerbosity": "Szczegółowość",
|
||
"colHelpful": "Pomocne",
|
||
"colNotHelpful": "Niepomocne",
|
||
"colN": "n",
|
||
"colHelpfulRate": "Wskaźnik przydatności"
|
||
},
|
||
"workerStatus": "Worker zadań",
|
||
"workerRunning": "Działa",
|
||
"workerStopped": "Zatrzymano",
|
||
"lastReminderCheck": "Ostatnie sprawdzenie przypomnień",
|
||
"appSettings": "Ustawienia aplikacji",
|
||
"registrationEnabled": "Zezwól na rejestrację",
|
||
"registrationEnabledDescription": "Gdy wyłączone, nowi użytkownicy nie mogą się zarejestrować.",
|
||
"defaultLanguage": "Domyślny język",
|
||
"defaultLanguageDescription": "Używany dla nowych użytkowników i jako rozwiązanie zapasowe.",
|
||
"defaultUserTimezone": "Domyślna strefa czasowa dla nowych kont",
|
||
"defaultUserTimezoneDescription": "Używana dla nowych kont bez strefy wykrytej przez przeglądarkę. Nie wpływa na istniejących użytkowników.",
|
||
"defaultUserTimezoneFallback": "Europe/Berlin (domyślna)",
|
||
"servicesGlobal": "Usługi (globalne)",
|
||
"servicesGlobalDescription": "Wyłączone usługi nie są dostępne dla żadnego użytkownika.",
|
||
"telegramGlobal": "Zezwól na powiadomienia Telegram.",
|
||
"ntfyGlobal": "Zezwól na powiadomienia ntfy.",
|
||
"webPushGlobal": "Zezwól na powiadomienia push przeglądarki.",
|
||
"moodLogGlobal": "Zezwól na przypomnienia dziennika nastroju.",
|
||
"integrationWebPush": "Web Push",
|
||
"integrationBugReport": "Zgłoszenie błędu",
|
||
"offlineGeoLabel": "Dane geograficzne",
|
||
"offlineGeoEnabled": "Offline (GeoLite2)",
|
||
"offlineGeoFallback": "Awaryjne (ipwho.is) — ustaw MAXMIND_LICENSE_KEY w CI",
|
||
"apiGlobal": "Zezwól na punkty końcowe API i tokeny API.",
|
||
"umamiTitle": "Umami",
|
||
"umamiDescription": "Analityka internetowa z Umami",
|
||
"glitchtipTitle": "GlitchTip",
|
||
"glitchtipDescription": "Śledzenie błędów z GlitchTip",
|
||
"webPushVapidTitle": "Web Push VAPID",
|
||
"umamiEnabled": "Włącz śledzenie Umami.",
|
||
"umamiScriptUrl": "Adres URL skryptu Umami",
|
||
"umamiScriptUrlPlaceholder": "https://analytics.example.com/script.js",
|
||
"umamiWebsiteId": "Identyfikator witryny Umami",
|
||
"umamiWebsiteIdPlaceholder": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
||
"glitchtipEnabled": "Włącz śledzenie błędów GlitchTip.",
|
||
"glitchtipDsn": "GlitchTip DSN",
|
||
"glitchtipDsnPlaceholder": "https://<public-key>@glitchtip.example.com/<project-id>",
|
||
"glitchtipEnvironment": "Środowisko GlitchTip",
|
||
"glitchtipEnvironmentPlaceholder": "production",
|
||
"webPushVapidDescription": "Skonfiguruj tutaj klucze VAPID i subject, aby push przeglądarki działał bez zmiennych środowiskowych.",
|
||
"webPushVapidPublicKey": "Klucz publiczny VAPID",
|
||
"webPushVapidPublicKeyPlaceholder": "BElx... (Base64URL)",
|
||
"webPushVapidPrivateKey": "Klucz prywatny VAPID",
|
||
"webPushVapidPrivateKeyPlaceholder": "Opcjonalnie: wprowadź nowy klucz prywatny",
|
||
"webPushVapidSubject": "Subject VAPID",
|
||
"webPushVapidSubjectPlaceholder": "mailto:you@example.com",
|
||
"configured": "Skonfigurowano",
|
||
"monitoringTestSuccess": "Wysłano zdarzenie testowe",
|
||
"monitoringTestFailed": "Test monitorowania nie powiódł się",
|
||
"bugReportGithub": "Zgłoszenie błędu (GitHub Issues)",
|
||
"bugReportGithubDescription": "Skonfiguruj token zgłoszeń GitHub i repozytorium dla przychodzących zgłoszeń błędów.",
|
||
"bugReportEnabledLabel": "Zgłaszanie błędów włączone",
|
||
"bugReportEnabledDescription": "Gdy wyłączone, przycisk zgłaszania w aplikacji jest ukryty — token i repozytorium pozostają skonfigurowane.",
|
||
"assistant": {
|
||
"title": "Powierzchnie asystenta",
|
||
"description": "Każdy przełącznik ukrywa powierzchnię opartą na modelu w całej aplikacji bez usuwania konfiguracji dostawcy. Główny wyłącznik wymusza wyłączenie każdej opcji podrzędnej.",
|
||
"master": {
|
||
"title": "Asystent włączony",
|
||
"description": "Główny wyłącznik dla każdej powierzchni opartej na modelu. Gdy wyłączony, każda opcja podrzędna jest wymuszana na off."
|
||
},
|
||
"coach": {
|
||
"title": "Coach",
|
||
"description": "Szuflada czatu, przycisk uruchamiający i mobilny FAB na każdej stronie Insights."
|
||
},
|
||
"briefing": {
|
||
"title": "Codzienny briefing",
|
||
"description": "Karta briefingu, narracja hero strip, siatka rekomendacji i akcja Regeneruj."
|
||
},
|
||
"insightStatus": {
|
||
"title": "Karty statusu",
|
||
"description": "Karty statusu na metrykę na każdej podstronie /insights."
|
||
},
|
||
"correlations": {
|
||
"title": "Korelacje",
|
||
"description": "Narracja kafelka korelacji w przeglądzie Insights."
|
||
},
|
||
"healthScoreExplainer": {
|
||
"title": "Objaśnienie Health-Score",
|
||
"description": "Ikona ? obok linii delty Health-Score. Cyfra delty pozostaje widoczna niezależnie."
|
||
}
|
||
},
|
||
"bugReportRepo": "Repozytorium",
|
||
"bugReportRepoPlaceholder": "owner/repo",
|
||
"bugReportToken": "Token zgłoszeń",
|
||
"bugReportTokenPlaceholder": "ghp_...",
|
||
"userManagement": "Zarządzanie użytkownikami",
|
||
"userName": "Nazwa",
|
||
"userEmail": "E-mail",
|
||
"userRole": "Rola",
|
||
"userPasskeys": "Passkeys",
|
||
"userCreated": "Utworzono",
|
||
"userActions": "Akcje",
|
||
"editUser": "Edytuj użytkownika",
|
||
"editUserTitle": "Edytuj użytkownika: {name}",
|
||
"demoteToUser": "Obniż do użytkownika",
|
||
"promoteToAdmin": "Awansuj na administratora",
|
||
"toUser": "Ustaw jako użytkownika",
|
||
"toAdmin": "Ustaw jako administratora",
|
||
"ownRoleUnchangeable": "Nie można zmienić własnej roli",
|
||
"resetPassword": "Zresetuj hasło",
|
||
"resetPasswordTitle": "Zresetuj hasło: {name}",
|
||
"newPassword": "Nowe hasło",
|
||
"newPasswordPlaceholder": "Co najmniej 12 znaków",
|
||
"passwordReset": "Hasło zostało zresetowane",
|
||
"reset": "Resetuj",
|
||
"loadingUsers": "Ładowanie użytkowników...",
|
||
"apiTokens": "Tokeny API",
|
||
"tokenUser": "Użytkownik",
|
||
"tokenName": "Nazwa",
|
||
"tokenPermissions": "Uprawnienia",
|
||
"tokenPermissionAll": "Wszystko",
|
||
"tokenPermissionAllTooltip": "Uprawnienie wieloznaczne — ten token może wywołać każdą trasę API.",
|
||
"tokenStatus": "Stan",
|
||
"tokenLastUsed": "Ostatnio użyto",
|
||
"tokenCreated": "Utworzono",
|
||
"tokenNeverUsed": "Nigdy",
|
||
"tokensEmptyTitle": "Brak tokenów API",
|
||
"tokensEmptyDescription": "Tokeny są wydawane, gdy klient natywny się loguje, lub przez Ustawienia → Konto.",
|
||
"loginOverview": "Przegląd logowań",
|
||
"allAuthEvents": "Wszystkie zdarzenia uwierzytelniania",
|
||
"failedOnly": "Tylko nieudane",
|
||
"loginEmptyDescription": "Tutaj pojawią się logowania, wylogowania i zmiany kluczy passkey.",
|
||
"loginEmptyFailedTitle": "Brak nieudanych prób logowania",
|
||
"loginEmptyFailedDescription": "To bezpieczny stan. Przełącz na wszystkie zdarzenia, aby zobaczyć udane logowania.",
|
||
"loginEmptyResetFilter": "Pokaż wszystkie zdarzenia",
|
||
"showingEntries": "Wyświetlanie {count} z {total} wpisów uwierzytelniania",
|
||
"status": "Stan",
|
||
"action": "Akcja",
|
||
"ip": "IP",
|
||
"location": "Lokalizacja",
|
||
"timestamp": "Czas",
|
||
"provider": "Dostawca",
|
||
"providerPassword": "Hasło",
|
||
"providerPasskey": "Passkey",
|
||
"providerApiToken": "Token API",
|
||
"providerWithings": "Withings",
|
||
"providerUnknown": "Nieznane",
|
||
"outcome": "Wynik",
|
||
"outcomeSuccess": "Sukces",
|
||
"outcomeFailed": "Nieudane",
|
||
"auditDetails": "Szczegóły",
|
||
"deleteAllData": "Usuń wszystkie dane globalnie",
|
||
"deleteAllDescription": "Usuwa wszystkie dane pomiarów, leków, integracji i logów wszystkich użytkowników. Konta użytkowników zostaną zachowane.",
|
||
"deleteAllConfirm": "Na pewno usunąć wszystkie dane?",
|
||
"deleteAllConfirmDescription": "Spowoduje to trwałe usunięcie wszystkich pomiarów, leków, zdarzeń przyjęcia, tokenów API, połączeń Withings, otwartych wyzwań uwierzytelniania, kanałów powiadomień (Telegram, ntfy, Web Push), subskrypcji push oraz zakolejkowanych usunięć wiadomości Telegram wszystkich użytkowników. Konta użytkowników, dziennik audytu i przesłane opinie zostają zachowane, aby samo usunięcie pozostało możliwe do prześledzenia, a zgłoszenia błędów — do obsłużenia.",
|
||
"deleteButton": "Usuń wszystkie dane",
|
||
"finalDelete": "Usuń trwale",
|
||
"deletedResult": "Deleted: {measurements} measurements, {medications} Leki,{intakeEvents} intakes, {apiTokens} API tokens, {withingsConnections} Withings connections, {authChallenges} auth challenges, {notificationChannels} notification channels, {pushSubscriptions} push subscriptions, {telegramScheduledDeletions} queued Telegram deletions. Feedback rows preserved.",
|
||
"authRegister": "Rejestracja",
|
||
"authLogin": "Zaloguj",
|
||
"authLoginPasskey": "Logowanie kluczem passkey",
|
||
"authLoginPassword": "Logowanie hasłem",
|
||
"authLoginFailed": "Nieudane",
|
||
"authLogout": "Wyloguj",
|
||
"authPasskeyRegister": "Dodano klucz passkey",
|
||
"authPasskeyDelete": "Usunięto klucz passkey",
|
||
"authTokenAutoissueNative": "Wydano token klienta natywnego",
|
||
"authTokenRefresh": "Token odświeżony",
|
||
"authTokenRevoke": "Token unieważniony",
|
||
"medicationReminders": "Przypomnienia o lekach",
|
||
"medicationRemindersDescription": "Progi zmian koloru oznaczeń przypomnień na kartach leków.",
|
||
"reminderLateMinutes": "Próg opóźnienia (minuty)",
|
||
"reminderLateMinutesDescription": "Minuty po końcu okna, zanim oznaczenie zmieni kolor z żółtego na pomarańczowy.",
|
||
"reminderMissedMinutes": "Próg pominięcia (minuty)",
|
||
"reminderMissedMinutesDescription": "Minuty po końcu okna, zanim przyjęcie zostanie uznane za pominięte.",
|
||
"notificationTestSend": "Wyślij test",
|
||
"notificationTestSuccess": "Wysłano powiadomienie testowe",
|
||
"notificationTestFailed": "Nie udało się wysłać powiadomienia testowego",
|
||
"reminderCheckRun": "Uruchom sprawdzenie przypomnień",
|
||
"reminderCheckSuccess": "Zakończono sprawdzanie przypomnień",
|
||
"reminderCheckFailed": "Nie udało się uruchomić sprawdzenia przypomnień",
|
||
"reminderCheckResults": "Wyniki",
|
||
"reminderCheckNotifOn": "Powiadomienia włączone",
|
||
"reminderCheckNotifOff": "Powiadomienia wyłączone",
|
||
"reminderCheckEventsToday": "Zdarzenia dzisiaj",
|
||
"reminderCheckNotifSent": "Wysłane",
|
||
"feedback": {
|
||
"tabOpen": "Otwarte",
|
||
"tabAcknowledged": "Potwierdzone",
|
||
"tabResolved": "Rozwiązane",
|
||
"tabArchived": "Zarchiwizowane",
|
||
"subject": "Temat",
|
||
"category": "Kategoria",
|
||
"user": "Użytkownik",
|
||
"createdAt": "Przesłano",
|
||
"actions": "Akcje",
|
||
"details": "Szczegóły",
|
||
"emptyTitle": "Wszystko na bieżąco",
|
||
"emptyDescription": "Brak opinii użytkowników w tym statusie. Przesłane błędy, pytania i prośby o funkcje pojawią się tutaj.",
|
||
"loading": "Ładowanie opinii...",
|
||
"anonymous": "anonimowy",
|
||
"categoryBug": "Błąd",
|
||
"categoryFeature": "Funkcja",
|
||
"categoryQuestion": "Pytanie",
|
||
"categoryOther": "Inne",
|
||
"metadataHeading": "Metadane",
|
||
"metaUrl": "URL",
|
||
"metaLocale": "Język",
|
||
"metaUserAgent": "Agent użytkownika",
|
||
"metaAppVersion": "Wersja aplikacji",
|
||
"screenshotHeading": "Screenshot",
|
||
"adminNote": "Notatka administratora",
|
||
"adminNotePlaceholder": "Notatka wewnętrzna (niewidoczna dla użytkownika)",
|
||
"saveNote": "Zapisz notatkę",
|
||
"noteSaved": "Notatka zapisana",
|
||
"actionAcknowledge": "Potwierdź",
|
||
"actionResolve": "Rozwiąż",
|
||
"actionArchive": "Archiwizuj",
|
||
"actionPublishGithub": "Opublikuj na GitHub",
|
||
"publishedToGithub": "Opublikowano na GitHub",
|
||
"viewIssue": "Zobacz zgłoszenie",
|
||
"publishSuccess": "Utworzono zgłoszenie",
|
||
"publishFailed": "Publikacja na GitHub nie powiodła się",
|
||
"updateFailed": "Aktualizacja nie powiodła się",
|
||
"archiveConfirm": "Zarchiwizować ten wpis opinii?",
|
||
"submittedBy": "Przesłane przez"
|
||
},
|
||
"shell": {
|
||
"overview": "Przegląd",
|
||
"sectionsNav": "Sekcje administracyjne"
|
||
},
|
||
"overview": {
|
||
"welcomeTitle": "Witamy,{name}",
|
||
"welcomeSubtitle": "Zalogowano jako administrator. Wybierz sekcję, aby zarządzać HealthLog.",
|
||
"snapshotTitle": "Migawka systemu",
|
||
"snapshotVersion": "Wersja",
|
||
"snapshotDatabase": "Baza danych",
|
||
"snapshotWorker": "Worker",
|
||
"snapshotStarted": "Uruchomiono",
|
||
"snapshotBuildSha": "Build SHA",
|
||
"snapshotBuiltAt": "Skompilowano",
|
||
"snapshotOfflineGeo": "Dane geograficzne",
|
||
"snapshotOfflineGeoOn": "Offline (GeoLite2)",
|
||
"snapshotOfflineGeoOff": "Awaryjne (ipwho.is)",
|
||
"snapshotLoadError": "Nie udało się załadować migawki systemu.",
|
||
"snapshotLoading": "Ładowanie migawki...",
|
||
"auditTitle": "Ostatnia aktywność",
|
||
"auditEmpty": "Brak ostatnich wpisów audytu.",
|
||
"auditLoadError": "Nie udało się załadować ostatniej aktywności.",
|
||
"auditLoading": "Ładowanie aktywności...",
|
||
"auditViewAll": "Pokaż wszystko"
|
||
},
|
||
"section": {
|
||
"system-status": {
|
||
"title": "Stan systemu",
|
||
"subtitle": "Stan workera, bazy danych i integracji w jednym miejscu."
|
||
},
|
||
"general": {
|
||
"title": "Ogólne",
|
||
"subtitle": "Rejestracja, domyślny język i inne przełączniki obejmujące całą aplikację."
|
||
},
|
||
"services": {
|
||
"title": "Usługi",
|
||
"subtitle": "Włącz lub wyłącz kanały powiadomień i integracje w całym systemie."
|
||
},
|
||
"integrations": {
|
||
"title": "Integracje",
|
||
"subtitle": "Skonfiguruj Umami, GlitchTip, Web Push i zgłoszenia błędów."
|
||
},
|
||
"ai-quality": {
|
||
"title": "Jakość analiz",
|
||
"subtitle": "Oceny przydatności pogrupowane według ważności i dostawcy, z ostatnich 30 dni opinii użytkowników."
|
||
},
|
||
"assistant": {
|
||
"title": "Powierzchnie asystenta",
|
||
"subtitle": "Włącz lub wyłącz każdą powierzchnię opartą na modelu bez usuwania konfiguracji dostawcy."
|
||
},
|
||
"coach-feedback": {
|
||
"title": "Opinie o Coachu",
|
||
"subtitle": "Wskaźnik przydatności według wersji promptu, tonu i szczegółowości Coacha z ostatnich 30 dni."
|
||
},
|
||
"feedback": {
|
||
"title": "Opinie",
|
||
"subtitle": "Segreguj opinie użytkowników, zgłoszenia błędów i prośby o funkcje."
|
||
},
|
||
"reminders": {
|
||
"title": "Przypomnienia",
|
||
"subtitle": "Dostrój progi przypomnień o lekach i uruchom ręczne sprawdzenie."
|
||
},
|
||
"users": {
|
||
"title": "Użytkownicy",
|
||
"subtitle": "Zarządzaj kontami użytkowników, rolami i aktywnymi sesjami.",
|
||
"filter": {
|
||
"all": "Wszystko",
|
||
"admin": "Administratorzy",
|
||
"user": "Użytkownicy"
|
||
},
|
||
"forceLogout": "Wymuś wylogowanie",
|
||
"forceLogoutConfirmTitle": "Wymusić wylogowanie {name}?",
|
||
"forceLogoutConfirmBody": "Wszystkie aktywne sesje tego użytkownika zostaną unieważnione. Będzie musiał zalogować się ponownie na każdym urządzeniu.",
|
||
"forceLogoutSuccess": "Wylogowano {name} z {count} sesji",
|
||
"forceLogoutFailed": "Nie udało się wymusić wylogowania",
|
||
"cannotLogoutSelf": "Nie można wymusić wylogowania samego siebie",
|
||
"emptyTitle": "Brak użytkowników w tym widoku",
|
||
"emptyDescription": "Brak użytkowników pasujących do bieżącego filtra.",
|
||
"emptyResetFilter": "Pokaż wszystkich użytkowników"
|
||
},
|
||
"api-tokens": {
|
||
"title": "Tokeny API",
|
||
"subtitle": "Aktywne tokeny bearer wydane klientom natywnym i integracjom."
|
||
},
|
||
"login-overview": {
|
||
"title": "Przegląd logowań",
|
||
"subtitle": "Ślad audytu zdarzeń uwierzytelniania i administracyjnych."
|
||
},
|
||
"auditLog": {
|
||
"filterActor": "Podmiot (ID użytkownika lub nazwa użytkownika)",
|
||
"filterAction": "Akcja",
|
||
"filterActionAll": "Wszystkie akcje",
|
||
"filterTarget": "Cel (ID lub ścieżka)",
|
||
"filterDate": "Zakres dat",
|
||
"range24h": "Ostatnie 24 godziny",
|
||
"range7d": "Ostatnie 7 dni",
|
||
"range30d": "Ostatnie 30 dni",
|
||
"rangeAll": "Cały okres",
|
||
"perPage": "Na stronę",
|
||
"prev": "Poprzednia",
|
||
"next": "Dalej",
|
||
"pageOf": "Strona {page} z {total}",
|
||
"export": "Eksportuj CSV",
|
||
"empty": "Żaden wpis audytu nie pasuje do bieżących filtrów."
|
||
},
|
||
"app-logs": {
|
||
"title": "Logi aplikacji",
|
||
"subtitle": "Wyświetl najnowsze ustrukturyzowane wide-events emitowane przez ten proces.",
|
||
"processNote": "Wyświetlane są tylko logi procesu aplikacji — logi procesu workera trafiają do Loki, gdy ta integracja jest skonfigurowana. Bufor jest ulotny i ograniczony do 500 wpisów.",
|
||
"filterTraceId": "Identyfikator śladu",
|
||
"filterAction": "Akcja zawiera…",
|
||
"filterLevel": "Poziom",
|
||
"levelAll": "Wszystkie poziomy",
|
||
"filterRange": "Okno czasowe",
|
||
"range15m": "Ostatnie 15 minut",
|
||
"range1h": "Ostatnia godzina",
|
||
"range6h": "Ostatnie 6 godzin",
|
||
"rangeAll": "Cały bufor",
|
||
"colLevel": "Poziom",
|
||
"colTimestamp": "Znacznik czasu",
|
||
"colAction": "Akcja",
|
||
"colDuration": "Czas trwania",
|
||
"colTraceId": "Trace",
|
||
"showing": "Wyświetlono {count} z maksymalnie {bufferMax} buforowanych zdarzeń",
|
||
"empty": "Bufor jest pusty",
|
||
"emptyDescription": "Żadne zdarzenie nie pasuje jeszcze do bieżących filtrów. Kliknij Odśwież po wygenerowaniu ruchu.",
|
||
"refresh": "Odśwież",
|
||
"eventDetails": "Szczegóły zdarzenia",
|
||
"closeDetails": "Zamknij szczegóły"
|
||
},
|
||
"backups": {
|
||
"title": "Kopie zapasowe",
|
||
"subtitle": "Cotygodniowe migawki danych dla każdego użytkownika przechowywane w PostgreSQL.",
|
||
"description": "Każdy użytkownik ma jedną przesuwaną migawkę na typ kopii. Rozmiary pokazują zaszyfrowany blob — zawartości nie można pobrać z tej strony.",
|
||
"runNow": "Utwórz kopię teraz",
|
||
"runEnqueued": "Zadanie kopii zapasowej dodano do kolejki",
|
||
"runFailed": "Nie udało się dodać kopii do kolejki",
|
||
"loading": "Ładowanie kopii zapasowych...",
|
||
"loadError": "Nie udało się załadować kopii zapasowych.",
|
||
"emptyTitle": "Brak kopii zapasowych",
|
||
"emptyDescription": "Kopie zapasowe wykonują się automatycznie w każdą niedzielę o 03:00 — lub uruchom jedną teraz, aby utworzyć pierwszą migawkę.",
|
||
"colUser": "Użytkownik",
|
||
"colType": "Typ",
|
||
"typeWeeklyAuto": "Cotygodniowo (auto)",
|
||
"typeManual": "Ręcznie",
|
||
"colSize": "Rozmiar",
|
||
"colCreatedAt": "Ostatnia migawka",
|
||
"colActions": "Akcje",
|
||
"retentionLabel": "Przechowywanie: {days} dni",
|
||
"download": "Pobierz",
|
||
"downloadAria": "Pobierz kopię zapasową dla {username}",
|
||
"downloadFailed": "Pobieranie nie powiodło się",
|
||
"downloadStarted": "Rozpoczęto pobieranie",
|
||
"uploadTitle": "Prześlij kopię zapasową",
|
||
"uploadDescription": "Sprawdź plik kopii zapasowej i zapisz go jako ręczną migawkę. Przywracanie to osobny krok.",
|
||
"uploadButton": "Prześlij plik",
|
||
"uploadHelp": "Plik JSON zgodny z bieżącym schematem kopii zapasowej. Maks. 10 MB.",
|
||
"uploadSuccess": "Przesłano kopię zapasową ({count} rekordów)",
|
||
"uploadFailed": "Przesyłanie nie powiodło się",
|
||
"restore": "Przywróć",
|
||
"restoreAria": "Przywróć z kopii zapasowej dla {username}",
|
||
"restoreTitle": "Przywróć z kopii zapasowej",
|
||
"restoreDescription": "Spowoduje to zastąpienie WSZYSTKICH bieżących danych {username} migawką z {when}. Istniejące pomiary, leki, zdarzenia przyjęcia, wpisy nastroju, kanały powiadomień, subskrypcje push i zakolejkowane usunięcia Telegram zostaną usunięte.",
|
||
"restorePromptLabel": "Wpisz RESTORE, aby kontynuować",
|
||
"restoreConfirm": "Przywróć teraz",
|
||
"restoreInProgress": "Przywracanie...",
|
||
"restoreSuccess": "Przywracanie zakończone",
|
||
"restoreFailed": "Przywracanie nie powiodło się",
|
||
"docsLink": "Dokumentacja"
|
||
},
|
||
"danger-zone": {
|
||
"title": "Strefa zagrożenia",
|
||
"subtitle": "Destrukcyjne operacje obejmujące cały system."
|
||
},
|
||
"about": {
|
||
"title": "O programie",
|
||
"subtitle": "Wersja, licencja, kod źródłowy i sprawdzanie aktualizacji."
|
||
}
|
||
},
|
||
"carrier": "Operator",
|
||
"carrierUnknown": "Nieznany operator",
|
||
"carrierUnavailableGeoFallback": "{location} — operator niedostępny"
|
||
},
|
||
"achievements": {
|
||
"title": "Osiągnięcia",
|
||
"subtitle": "Zdobywaj osiągnięcia, śledząc swoje zdrowie i przyjmując leki na czas.",
|
||
"loginRequired": "Zaloguj się, aby zobaczyć osiągnięcia.",
|
||
"points": "Punkty",
|
||
"unlocked": "Odblokowano",
|
||
"nextGoal": "Następny cel",
|
||
"allCompleted": "Wszystkie osiągnięcia odblokowane!",
|
||
"completed": "Ukończono",
|
||
"goalReached": "Cel osiągnięty",
|
||
"remainingUnlocks": "Jeszcze {count} do odblokowania",
|
||
"noneUnlockedYet": "Nie odblokowano jeszcze żadnego osiągnięcia.",
|
||
"pointsValue": "{points} punktów",
|
||
"metricCount": "{count}",
|
||
"metricDays": "{count} dni",
|
||
"metricPercent": "{count}%",
|
||
"badges": {
|
||
"intakeTotal1": {
|
||
"title": "Pierwsze przyjęcie",
|
||
"description": "Zarejestruj swoje pierwsze przyjęcie leku."
|
||
},
|
||
"intakeTotal10": {
|
||
"title": "Początkujący w przyjęciach",
|
||
"description": "Zarejestruj 10 przyjęć leków."
|
||
},
|
||
"intakeTotal50": {
|
||
"title": "Rutyna przyjęć",
|
||
"description": "Zarejestruj 50 przyjęć leków."
|
||
},
|
||
"intakeTotal150": {
|
||
"title": "Ekspert przyjęć",
|
||
"description": "Zarejestruj 150 przyjęć leków."
|
||
},
|
||
"intakeTotal300": {
|
||
"title": "Legenda przyjęć",
|
||
"description": "Zarejestruj 300 przyjęć leków."
|
||
},
|
||
"overIntake1": {
|
||
"title": "Podwójna dawka",
|
||
"description": "Przyjmij lek co najmniej raz więcej niż zaplanowano."
|
||
},
|
||
"skippedIntake1": {
|
||
"title": "Krok wstecz",
|
||
"description": "Pomiń co najmniej jedno zaplanowane przyjęcie."
|
||
},
|
||
"passkeyCreated1": {
|
||
"title": "Klucz dostępu ustawiony",
|
||
"description": "Utwórz swój pierwszy klucz dostępu."
|
||
},
|
||
"passkeyLogin1": {
|
||
"title": "Logowanie kluczem dostępu",
|
||
"description": "Zaloguj się co najmniej raz kluczem dostępu."
|
||
},
|
||
"passwordLogin1": {
|
||
"title": "Stara szkoła",
|
||
"description": "Zaloguj się co najmniej raz nazwą użytkownika i hasłem."
|
||
},
|
||
"bugReport1": {
|
||
"title": "Łowca błędów",
|
||
"description": "Wyślij zgłoszenie błędu."
|
||
},
|
||
"loginStreak7": {
|
||
"title": "Seria logowań 7d",
|
||
"description": "Zaloguj się przez 7 kolejnych dni."
|
||
},
|
||
"loginStreak30": {
|
||
"title": "Seria logowań 30d",
|
||
"description": "Zaloguj się przez 30 kolejnych dni."
|
||
},
|
||
"onTimePerfect1": {
|
||
"title": "Na czas 1d",
|
||
"description": "Przyjmij wszystkie leki na czas przez 1 dzień."
|
||
},
|
||
"compliance801": {
|
||
"title": "Przestrzeganie 80% · 1d",
|
||
"description": "Osiągnij co najmniej 80% przestrzegania w 30 dni przez 1 dzień."
|
||
},
|
||
"bmiGreen1": {
|
||
"title": "BMI na zielono · 1d",
|
||
"description": "Utrzymaj BMI w normie przez 1 dzień."
|
||
},
|
||
"bpGreen1": {
|
||
"title": "Ciśnienie na zielono · 1d",
|
||
"description": "Utrzymaj ciśnienie w normie przez 1 dzień."
|
||
},
|
||
"pulseGreen1": {
|
||
"title": "Tętno na zielono · 1d",
|
||
"description": "Utrzymaj tętno spoczynkowe w normie przez 1 dzień."
|
||
},
|
||
"onTimePerfect7": {
|
||
"title": "Na czas 7d",
|
||
"description": "Przyjmij wszystkie leki na czas przez 7 kolejnych dni."
|
||
},
|
||
"compliance807": {
|
||
"title": "Przestrzeganie 80% · 7d",
|
||
"description": "Osiągnij co najmniej 80% przestrzegania w 30 dni przez 7 kolejnych dni."
|
||
},
|
||
"bmiGreen7": {
|
||
"title": "BMI na zielono · 7d",
|
||
"description": "Utrzymaj BMI w normie przez 7 kolejnych dni."
|
||
},
|
||
"bpGreen7": {
|
||
"title": "Ciśnienie na zielono · 7d",
|
||
"description": "Utrzymaj ciśnienie w normie przez 7 kolejnych dni."
|
||
},
|
||
"pulseGreen7": {
|
||
"title": "Tętno na zielono · 7d",
|
||
"description": "Utrzymaj tętno spoczynkowe w normie przez 7 kolejnych dni."
|
||
},
|
||
"onTimePerfect30": {
|
||
"title": "Na czas 30d",
|
||
"description": "Przyjmij wszystkie leki na czas przez 30 kolejnych dni."
|
||
},
|
||
"compliance8030": {
|
||
"title": "Przestrzeganie 80% · 30d",
|
||
"description": "Osiągnij co najmniej 80% przestrzegania w 30 dni przez 30 kolejnych dni."
|
||
},
|
||
"bmiGreen30": {
|
||
"title": "BMI na zielono · 30d",
|
||
"description": "Utrzymaj BMI w normie przez 30 kolejnych dni."
|
||
},
|
||
"bpGreen30": {
|
||
"title": "Ciśnienie na zielono · 30d",
|
||
"description": "Utrzymaj ciśnienie w normie przez 30 kolejnych dni."
|
||
},
|
||
"pulseGreen30": {
|
||
"title": "Tętno na zielono · 30d",
|
||
"description": "Utrzymaj tętno spoczynkowe w normie przez 30 kolejnych dni."
|
||
},
|
||
"onTimePerfect180": {
|
||
"title": "Na czas 180d",
|
||
"description": "Przyjmij wszystkie leki na czas przez 180 kolejnych dni."
|
||
},
|
||
"compliance80180": {
|
||
"title": "Przestrzeganie 80% · 180d",
|
||
"description": "Osiągnij co najmniej 80% przestrzegania w 30 dni przez 180 kolejnych dni."
|
||
},
|
||
"bmiGreen180": {
|
||
"title": "BMI na zielono · 180d",
|
||
"description": "Utrzymaj BMI w normie przez 180 kolejnych dni."
|
||
},
|
||
"bpGreen180": {
|
||
"title": "Ciśnienie na zielono · 180d",
|
||
"description": "Utrzymaj ciśnienie w normie przez 180 kolejnych dni."
|
||
},
|
||
"pulseGreen180": {
|
||
"title": "Tętno na zielono · 180d",
|
||
"description": "Utrzymaj tętno spoczynkowe w normie przez 180 kolejnych dni."
|
||
},
|
||
"onTimePerfect360": {
|
||
"title": "Na czas 360d",
|
||
"description": "Przyjmij wszystkie leki na czas przez 360 kolejnych dni."
|
||
},
|
||
"compliance80360": {
|
||
"title": "Przestrzeganie 80% · 360d",
|
||
"description": "Osiągnij co najmniej 80% przestrzegania w 30 dni przez 360 kolejnych dni."
|
||
},
|
||
"bmiGreen360": {
|
||
"title": "BMI na zielono · 360d",
|
||
"description": "Utrzymaj BMI w normie przez 360 kolejnych dni."
|
||
},
|
||
"bpGreen360": {
|
||
"title": "Ciśnienie na zielono · 360d",
|
||
"description": "Utrzymaj ciśnienie w normie przez 360 kolejnych dni."
|
||
},
|
||
"pulseGreen360": {
|
||
"title": "Tętno na zielono · 360d",
|
||
"description": "Utrzymaj tętno spoczynkowe w normie przez 360 kolejnych dni."
|
||
},
|
||
"moodFirst": {
|
||
"title": "Pierwszy nastrój",
|
||
"description": "Zapisz swój pierwszy wpis nastroju."
|
||
},
|
||
"moodStreak7": {
|
||
"title": "Dziennik nastroju 7d",
|
||
"description": "Zapisuj nastrój przez 7 kolejnych dni."
|
||
},
|
||
"moodStreak30": {
|
||
"title": "Dziennik nastroju 30d",
|
||
"description": "Zapisuj nastrój przez 30 kolejnych dni."
|
||
},
|
||
"moodUp7": {
|
||
"title": "Pogodniejszy tydzień",
|
||
"description": "Twoja 7-dniowa średnia nastroju poprawiła się o co najmniej 1,0 punkt względem poprzedniego tygodnia."
|
||
},
|
||
"weightFirst": {
|
||
"title": "Pierwsze ważenie",
|
||
"description": "Zapisz swój pierwszy pomiar wagi."
|
||
},
|
||
"weight50": {
|
||
"title": "Pięćdziesiąt ważeń",
|
||
"description": "Zapisz 50 pomiarów wagi."
|
||
},
|
||
"weight200": {
|
||
"title": "200 ważeń",
|
||
"description": "Zapisz 200 pomiarów wagi."
|
||
},
|
||
"bpFirst": {
|
||
"title": "Pierwszy pomiar",
|
||
"description": "Zapisz swój pierwszy pomiar ciśnienia."
|
||
},
|
||
"bp50": {
|
||
"title": "Pięćdziesiąt pomiarów ciśnienia",
|
||
"description": "Zapisz 50 pomiarów ciśnienia."
|
||
},
|
||
"bp200": {
|
||
"title": "200 pomiarów ciśnienia",
|
||
"description": "Zapisz 200 pomiarów ciśnienia."
|
||
},
|
||
"pulseFirst": {
|
||
"title": "Pierwsze tętno",
|
||
"description": "Zapisz swój pierwszy pomiar tętna."
|
||
},
|
||
"consistentMonth": {
|
||
"title": "Konsekwentny miesiąc",
|
||
"description": "Zapisz wpisy w co najmniej 25 różnych dniach w jednym miesiącu kalendarzowym."
|
||
},
|
||
"entryStreak7": {
|
||
"title": "Seria wpisów 7d",
|
||
"description": "Zapisuj co najmniej jeden wpis przez 7 kolejnych dni."
|
||
},
|
||
"entryStreak30": {
|
||
"title": "Seria wpisów 30d",
|
||
"description": "Zapisuj co najmniej jeden wpis przez 30 kolejnych dni."
|
||
},
|
||
"weekendWarrior": {
|
||
"title": "Weekendowy rejestrator",
|
||
"description": "Zapisuj wpisy w 4 kolejnych weekendach (sobota + niedziela)."
|
||
},
|
||
"hiddenNightOwl": {
|
||
"title": "Nocny marek",
|
||
"description": "Zapisałeś wpis między 02:00 a 04:00 nad ranem."
|
||
},
|
||
"hiddenEarlyBird": {
|
||
"title": "Ranny ptaszek",
|
||
"description": "Zapisałeś wpis między 04:00 a 06:00 rano."
|
||
},
|
||
"hiddenLeapDay": {
|
||
"title": "Legenda dnia przestępnego",
|
||
"description": "Zapisałeś wpis 29 lutego."
|
||
},
|
||
"hiddenDoctorPdf": {
|
||
"title": "Wizyta domowa",
|
||
"description": "Wyeksportowałeś swój pierwszy raport dla lekarza w PDF."
|
||
},
|
||
"hiddenLocaleFlip": {
|
||
"title": "Poliglota",
|
||
"description": "Zmieniłeś język aplikacji co najmniej raz."
|
||
},
|
||
"hiddenBugBuddy": {
|
||
"title": "Towarzysz błędów",
|
||
"description": "Wysłałeś co najmniej 5 zgłoszeń błędów — projekt Cię kocha."
|
||
}
|
||
},
|
||
"nextProgressLabel": "Postęp do odblokowania",
|
||
"completedOn": "Ukończono {date}",
|
||
"locked": "Zablokowane",
|
||
"criterionHint": "{current} / {target}",
|
||
"progressPercent": "{percent}%",
|
||
"categories": {
|
||
"medication": "Lek",
|
||
"vitals": "Parametry życiowe",
|
||
"mood": "Nastrój",
|
||
"security": "Konto i bezpieczeństwo",
|
||
"engagement": "Engagement",
|
||
"hidden": "Ukryte"
|
||
},
|
||
"hiddenCard": {
|
||
"title": "Ukryte osiągnięcie",
|
||
"description": "Śledź dalej — może na nie natrafisz.",
|
||
"ariaLabel": "Ukryte zablokowane osiągnięcie"
|
||
},
|
||
"hiddenUnlockToast": {
|
||
"title": "Odblokowałeś ukryte osiągnięcie!"
|
||
},
|
||
"dashboardCard": {
|
||
"title": "Ostatnio odblokowane",
|
||
"viewAll": "Zobacz wszystkie",
|
||
"empty": "Brak osiągnięć — zapisuj dalej, aby odblokować pierwsze."
|
||
}
|
||
},
|
||
"bugreport": {
|
||
"title": "Zgłoszenie błędu",
|
||
"subtitle": "Wyślij zgłoszenie błędu, sugestię funkcji lub pytanie. Administrator serwera zobaczy twoje zgłoszenie.",
|
||
"loginRequired": "Zaloguj się, aby zgłosić błąd.",
|
||
"bugTitle": "Tytuł",
|
||
"description": "Opis",
|
||
"submit": "Wyślij",
|
||
"success": "Dziękujemy! Twoje zgłoszenie zostało wysłane.",
|
||
"errorCreating": "Błąd tworzenia",
|
||
"category": "Rodzaj",
|
||
"categoryBug": "Błąd",
|
||
"categoryFeature": "Propozycja funkcji",
|
||
"categoryQuestion": "Pytanie",
|
||
"categoryOther": "Inna opinia",
|
||
"bugTitlePlaceholder": "Krótkie podsumowanie (opcjonalnie)",
|
||
"githubEscalationNote": "Twoja opinia zapisuje się lokalnie. Jeśli administrator włączy integrację z GitHubem, może zostać opublikowana jako publiczne issue na życzenie.",
|
||
"internalOnlyNote": "Twoja opinia zapisuje się lokalnie i jest widoczna tylko dla administratora tego serwera.",
|
||
"disabledTitle": "Zgłoszenia błędów są wyłączone",
|
||
"disabledBody": "Administrator wyłączył zgłoszenia błędów na tym serwerze."
|
||
},
|
||
"notifications": {
|
||
"title": "Centrum powiadomień",
|
||
"breadcrumbInbox": "Centrum powiadomień",
|
||
"breadcrumbChannels": "Kanały powiadomień",
|
||
"breadcrumbSettings": "Ustawienia",
|
||
"eventColumn": "Zdarzenie",
|
||
"subtitle": "Wybierz, które powiadomienia chcesz otrzymywać i którym kanałem.",
|
||
"loadError": "Nie udało się załadować ustawień powiadomień.",
|
||
"noChannels": "Najpierw skonfiguruj kanał powiadomień w ustawieniach.",
|
||
"goToSettings": "Przejdź do ustawień kanału",
|
||
"channelDisabled": "Wyłączone",
|
||
"admin": {
|
||
"deployFailedTitle": "Wdrożenie nie powiodło się: {application}",
|
||
"deployFailedBody": "Wystąpił błąd podczas wdrażania {application} (#{deployment}): {error}. Zobacz logi: {logsUrl}",
|
||
"testNotificationTitle": "HealthLog powiadomienie testowe",
|
||
"testNotificationBody": "To powiadomienie testowe zostało wywołane z panelu administracyjnego. Jeśli je widzisz, kanał działa.",
|
||
"reminderCheckMissedTitle": "Pominięte przypomnienie: {medication}",
|
||
"reminderCheckMissedBody": "{medication} ({dose}) nie zostało zarejestrowane w przedziale {window}.",
|
||
"reminderCheckOverdueTitle": "Dawka opóźniona: {medication}",
|
||
"reminderCheckOverdueBody": "{medication} ({dose}) w przedziale {window} jest opóźnione o {minutes} minut.",
|
||
"offlineGeoUnavailableTitle": "Bazy geolokalizacji offline nie zostały załadowane",
|
||
"offlineGeoUnavailableBody": "HealthLog rozwiązuje lokalizacje logowania przez awaryjne źródło online ipwho.is. Aby włączyć bazy offline GeoLite2-City i GeoLite2-ASN, ustaw MAXMIND_LICENSE_KEY w sekretach GitHub Actions pod adresem {secretsUrl} i ponownie wdroż. Do tego czasu kolumna operatora w przeglądzie logowań pozostaje pusta.",
|
||
"tlsPinChangedTitle": "Zmieniono certyfikat liścia TLS: {host}",
|
||
"tlsPinChangedBody": "Liść TLS serwowany przez {host} ma teraz pin SPKI {servedPin}, którego nie ma w znanym zestawie pinów. Klienci z przypiętym pinem (aplikacja natywna) nie połączą się po usunięciu starego pinu. Ponownie wyodrębnij nowy pin liścia, dodaj go do TLS_LEAF_SPKI_PINS oraz do zestawu pinów klienta natywnego i opublikuj kompilację, zanim ten certyfikat wygaśnie {validTo}. Zobacz docs/ops/tls-cert-pin.md."
|
||
},
|
||
"user": {
|
||
"telegramTestBody": "HealthLog: połączenie udane. Powiadomienia Telegram są aktywne."
|
||
},
|
||
"moodReminder": {
|
||
"title": "Codzienne przypomnienie o nastroju",
|
||
"description": "Delikatne przypomnienie o wybranej przez Ciebie godzinie, jeśli dziś jeszcze nie zapisano nastroju. Wysyłane tylko skonfigurowanymi już kanałami (Telegram, ntfy, Web Push, Apple Push) i milknie, gdy dziś zapisano nastrój.",
|
||
"toggleAria": "Włącz lub wyłącz codzienne przypomnienie o nastroju",
|
||
"statusOn": "Aktywne o wybranej godzinie",
|
||
"statusOff": "Wyłączone",
|
||
"enabledToast": "Przypomnienie o nastroju włączone.",
|
||
"disabledToast": "Przypomnienie o nastroju wyłączone.",
|
||
"saveError": "Zapis nieudany. Spróbuj ponownie.",
|
||
"hourLabel": "Godzina przypomnienia",
|
||
"hourAria": "Godzina przypomnienia o nastroju",
|
||
"hourSavedToast": "Godzina przypomnienia zaktualizowana."
|
||
},
|
||
"eventMedicationReminder": "Przypomnienie o leku",
|
||
"eventMedicationReminderDesc": "Wysyłane o każdej zaplanowanej godzinie dawki.",
|
||
"eventMeasurementAnomaly": "Nietypowy pomiar",
|
||
"eventMeasurementAnomalyDesc": "Wysyłane, gdy odczyt znacznie odbiega od Twojego zwykłego zakresu.",
|
||
"eventComplianceLow": "Niska zgodność",
|
||
"eventComplianceLowDesc": "Wysyłane, gdy odsetek przyjętych dawek z ostatnich dni spadnie poniżej 80 %.",
|
||
"eventWithingsSyncFailed": "Synchronizacja Withings nie powiodła się",
|
||
"eventWithingsSyncFailedDesc": "Wysyłane, gdy synchronizacja Withings nie powiedzie się kilka razy z rzędu.",
|
||
"eventSystemAlert": "Powiadomienie systemowe",
|
||
"eventSystemAlertDesc": "Ogólne komunikaty z serwera HealthLog, na przykład okna serwisowe lub uwagi do konta.",
|
||
"eventPersonalRecord": "Rekord osobisty",
|
||
"eventPersonalRecordDesc": "Wysyłane, gdy odczyt pobije Twój dotychczasowy rekord.",
|
||
"eventMoodReminder": "Przypomnienie o nastroju",
|
||
"eventMoodReminderDesc": "Codzienne przypomnienie, aby zapisać swój aktualny nastrój."
|
||
},
|
||
"i18n": {
|
||
"maintainershipBanner": {
|
||
"notice": "Ta wersja językowa jest tłumaczona maszynowo, w tym instrukcje krytyczne dla bezpieczeństwa Coacha. Automatyczna kontrola dryftu działa w CI; proszę zgłaszać wszelkie regresje Coacha na GitHubie.",
|
||
"cta": "Zgłoś na GitHubie",
|
||
"dismiss": "Zamknij"
|
||
}
|
||
},
|
||
"targets": {
|
||
"bmi": "BMI",
|
||
"average30d": "Średnia 30-dniowa:",
|
||
"consistency": {
|
||
"ariaLabel": "Ostatnie 7 dni, status w/poza zakresem na dzień",
|
||
"daysInRange": "{count} z {total} w zakresie",
|
||
"daysLogged": "{count} z {total} zarejestrowanych",
|
||
"dotInRange": "w zakresie",
|
||
"dotNearRange": "blisko zakresu",
|
||
"dotOutOfRange": "poza zakresem",
|
||
"dotNotLogged": "nie zarejestrowano",
|
||
"insufficientData": "Za mało danych — rejestruj dalej.",
|
||
"relativeDay": {
|
||
"today": "Dzisiaj",
|
||
"yesterday": "Wczoraj",
|
||
"twoDaysAgo": "2 dni temu",
|
||
"threeDaysAgo": "3 dni temu",
|
||
"fourDaysAgo": "4 dni temu",
|
||
"fiveDaysAgo": "5 dni temu",
|
||
"sixDaysAgo": "6 dni temu"
|
||
}
|
||
},
|
||
"relativeDay": {
|
||
"today": "Dzisiaj",
|
||
"yesterday": "Wczoraj",
|
||
"daysAgo": "{count} dni temu"
|
||
},
|
||
"edit": {
|
||
"openLabel": "Edytuj zakres docelowy dla {metric}",
|
||
"title": "Edytuj zakres docelowy — {metric}",
|
||
"description": "Dostosuj zakres docelowy używany w wykresach, insights i raporcie medycznym. Wartości w {unit}.",
|
||
"derivedHint": "Ta karta jest wyprowadzona z innych metryk. Edytuj cele bazowe (np. ciśnienie lub waga).",
|
||
"minLabel": "Min",
|
||
"maxLabel": "Maks",
|
||
"systolicMin": "Skurczowe min",
|
||
"systolicMax": "Skurczowe maks",
|
||
"diastolicMin": "Rozkurczowe min",
|
||
"diastolicMax": "Rozkurczowe maks",
|
||
"boundsHint": "Dozwolony zakres: {min}–{max} {unit}",
|
||
"resetToDefault": "Przywróć wartość domyślną",
|
||
"saveSuccess": "Zakres docelowy zaktualizowany",
|
||
"saveError": "Nie udało się zapisać zakresu docelowego",
|
||
"resetSuccess": "Zakres docelowy przywrócono do domyślnego"
|
||
},
|
||
"mood": {
|
||
"stability": {
|
||
"stable": "stabilny",
|
||
"variable": "zmienny",
|
||
"highlyVariable": "bardzo zmienny"
|
||
}
|
||
},
|
||
"currentValue": "Aktualnie: {value} {unit}",
|
||
"targetRangeValue": "Zakres docelowy: {min}–{max} {unit}",
|
||
"sourceLabel": "Źródło: {source}",
|
||
"inTarget": "W zakresie docelowym",
|
||
"aboveTarget": "{delta} {unit} powyżej zakresu",
|
||
"belowTarget": "{delta} {unit} poniżej zakresu",
|
||
"diastolic": "Rozkurczowe",
|
||
"glucoseFasting": "Glikemia — na czczo",
|
||
"glucosePostprandial": "Glikemia — po posiłku",
|
||
"glucoseRandom": "Glikemia — dowolna",
|
||
"glucoseBedtime": "Glikemia — przed snem",
|
||
"status": {
|
||
"underweight": "Niedowaga",
|
||
"normal": "Normal",
|
||
"overweight": "Nadwaga",
|
||
"obesityGrade1": "Otyłość I stopnia",
|
||
"obesityGrade2": "Otyłość II stopnia",
|
||
"obesityGrade3": "Otyłość III stopnia",
|
||
"optimal": "Optymalne",
|
||
"highNormal": "Wysokie prawidłowe",
|
||
"hypertensionGrade1": "Nadciśnienie 1 stopnia",
|
||
"hypertensionGrade2": "Nadciśnienie 2 stopnia",
|
||
"hypertensionGrade3": "Nadciśnienie 3 stopnia",
|
||
"bradycardia": "Bradykardia",
|
||
"elevated": "Podwyższone",
|
||
"tachycardia": "Tachykardia",
|
||
"significantlyLow": "Znacząco niskie",
|
||
"slightlyLow": "Lekko niskie",
|
||
"onTarget": "W zakresie docelowym",
|
||
"slightlyElevated": "Lekko podwyższone",
|
||
"significantlyElevated": "Znacząco podwyższone",
|
||
"farTooShort": "Zdecydowanie zbyt krótki",
|
||
"tooShort": "Zbyt krótki",
|
||
"slightlyLong": "Lekko zbyt długi",
|
||
"farTooLong": "Zdecydowanie zbyt długi",
|
||
"belowEssential": "Poniżej niezbędnego",
|
||
"essential": "Niezbędny",
|
||
"athletic": "Atletyczny",
|
||
"fitness": "Fitness",
|
||
"acceptable": "Akceptowalny",
|
||
"obese": "Otyły",
|
||
"veryLow": "Bardzo niski",
|
||
"lowActive": "Mało aktywny",
|
||
"moderatelyActive": "Umiarkowanie aktywny",
|
||
"active": "Aktywny",
|
||
"veryActive": "Bardzo aktywny",
|
||
"good": "Dobre",
|
||
"moderate": "Umiarkowane",
|
||
"low": "Niskie",
|
||
"high": "Wysokie",
|
||
"veryGood": "Bardzo dobre",
|
||
"veryStable": "Bardzo stabilny",
|
||
"stable": "Stabilny",
|
||
"fluctuating": "Zmienny"
|
||
}
|
||
},
|
||
"passwordStrength": {
|
||
"veryWeak": "Bardzo słabe",
|
||
"weak": "Słabe",
|
||
"acceptable": "Akceptowalne",
|
||
"strong": "Silne",
|
||
"veryStrong": "Bardzo silne",
|
||
"tooShort": "Za krótkie",
|
||
"characters": "znaków",
|
||
"minLength": "Wymagane co najmniej {count} znaków."
|
||
},
|
||
"telegram": {
|
||
"errorInvalidAction": "Nieprawidłowa akcja.",
|
||
"errorMedicationNotFound": "Nie znaleziono leku.",
|
||
"errorMedicationInactive": "Nie znaleziono leku lub jest nieaktywny.",
|
||
"errorUnknownAction": "Nieznana akcja.",
|
||
"snoozeOneHour": "1 godzina",
|
||
"snoozeThreeHours": "3 godziny",
|
||
"snoozedFor": "{name} odłożone o {duration}.",
|
||
"skipped": "{name} pominięte.",
|
||
"alreadyRecorded": "{name} było już zarejestrowane.",
|
||
"recordedAsTaken": "{name} zarejestrowane jako przyjęte.",
|
||
"confirmed": "{name} potwierdzone.",
|
||
"genericConfirmed": "Potwierdzone.",
|
||
"cancelled": "Anulowane.",
|
||
"noActiveMedications": "Nie znaleziono aktywnych leków.",
|
||
"whichMedication": "<b>Który lek został przyjęty?</b>",
|
||
"cancelButton": "Anuluj",
|
||
"askMedicationName": "Podaj lek, np. <b>przyjęty Ramipril</b>.",
|
||
"medicationNotFoundExact": "Nie znaleziono leku. Wyślij nazwę dokładnie tak, jak w HealthLog.",
|
||
"helpHeader": "<b>Dostępne polecenia:</b>",
|
||
"helpBody": "/help — pokaż tę pomoc\n/add — zapisz przyjęcie\n/start — uruchom bota\n\n<b>Polecenia tekstowe:</b>\ntaken <nazwa> — potwierdź przyjęcie\n\n<b>Przyciski w przypomnieniach:</b>\n• Przyjęto — potwierdź przyjęcie\n• 🕐 1h / 🕐 3h — odłóż przypomnienie\n• ⏭ Pomiń — pomiń przyjęcie\n• ✓ Potwierdź — potwierdź pominięte przyjęcie"
|
||
},
|
||
"medicationReminders": {
|
||
"phaseGreenTitle": "🟢 Przypomnienie: {medName}",
|
||
"phaseGreenMessage": "🟢 Reminder:\n<b>{medName}</b> ({doseInfo}, {timeWindow})\nWindow closes in {minutes} Min.",
|
||
"phaseYellowTitle": "🟡 Wkrótce: {medName}",
|
||
"phaseYellowMessage": "🟡 Wkrótce:\n<b>{medName}</b> ({doseInfo}, {timeWindow})\nPozostało {minutes} min.",
|
||
"phaseOrangeTitle": "🟠 Zaległe: {medName}",
|
||
"phaseOrangeMessage": "🟠 Overdue:\n<b>{medName}</b> ({doseInfo}, {timeWindow})\nOverdue by {minutes} Min.",
|
||
"phaseRedTitle": "🔴 Pominięte: {medName}",
|
||
"phaseRedMessage": "🔴 Pominięte:\n<b>{medName}</b> ({doseInfo}, {timeWindow})\nOznaczone jako pominięte.",
|
||
"buttonTaken": "Przyjęty",
|
||
"buttonConfirm": "✓ Potwierdź",
|
||
"buttonSnoozeOneHour": "🕐 1h",
|
||
"buttonSnoozeThreeHours": "🕐 3h",
|
||
"buttonSkip": "⏭ Pomiń"
|
||
},
|
||
"moodReminders": {
|
||
"dailyTitle": "Zapisz nastrój",
|
||
"dailyBody": "Jak się dzisiaj czujesz?"
|
||
},
|
||
"clinicianView": {
|
||
"title": "Udostępniona dokumentacja zdrowotna",
|
||
"period": "Okres raportu: {start} – {end}",
|
||
"expires": "Ten link wygasa dnia {date}.",
|
||
"provenance": "To jest tylko do odczytu podsumowanie udostępnione przez osobę, do której należy, wyeksportowane z jej samodzielnie rejestrowanych danych HealthLog. Wartości są zgłaszane samodzielnie i mogą obejmować odczyty zsynchronizowane z urządzeń; należy je traktować jako zgłoszone przez pacjenta, a nie jako badanie kliniczne.",
|
||
"vitals": "Parametry życiowe",
|
||
"labs": "Wyniki laboratoryjne",
|
||
"medications": "Leki i przestrzeganie zaleceń",
|
||
"bmi": "Wskaźnik masy ciała (BMI)",
|
||
"statSummary": "ostatnio {latest} (śr. {avg}, zakres {min}–{max})",
|
||
"adherence": "{rate} przestrzegania",
|
||
"noAdherence": "—",
|
||
"glucose": {
|
||
"FASTING": "Glukoza (na czczo)",
|
||
"POSTPRANDIAL": "Glukoza (poposiłkowa)",
|
||
"RANDOM": "Glukoza (losowa)",
|
||
"BEDTIME": "Glukoza (przed snem)"
|
||
},
|
||
"wellness": {
|
||
"title": "Wyniki dobrostanu",
|
||
"disclaimer": "Opisowe wyniki (0–100) obliczone na podstawie śledzonych sygnałów. Nie są one oceną kliniczną ani diagnozą.",
|
||
"recovery": "Wynik regeneracji",
|
||
"stress": "Wynik stresu",
|
||
"strain": "Wynik obciążenia",
|
||
"score": "Wynik dobrostanu"
|
||
},
|
||
"footer": "Udostępnione z HealthLog — samodzielnie hostowanego trackera zdrowia."
|
||
}
|
||
}
|