mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-07 04:12:04 +00:00
Under an answer: copy, read aloud, try again and the time as text on the left; tokens and model on the right, on one line down to 390 px. The thumbs leave the web (the feedback route stays for the native client), and so does the "What I'm looking at" disclosure: the method line and the tables the answer read move into the steps list, and an older message without steps lists the areas it drew on, never a raw key. Remember becomes a bookmark icon in the question's row and confirms in place with a toast. Follow-up chips render inside the latest answer's column at its text size. The answer column takes the full width below `sm` and a fixed 80 % above, so nothing moves sideways as a reply streams. A round button fades in when the thread is scrolled away from the end and brings it back.
11707 lines
638 KiB
JSON
11707 lines
638 KiB
JSON
{
|
||
"common": {
|
||
"save": "Speichern",
|
||
"conflictReloaded": "Vom Server neu geladen. Bitte nimm deine Änderung noch einmal vor.",
|
||
"cancel": "Abbrechen",
|
||
"delete": "Löschen",
|
||
"undo": "Rückgängig",
|
||
"edit": "Bearbeiten",
|
||
"moreOptions": "Weitere Optionen",
|
||
"create": "Erstellen",
|
||
"close": "Schließen",
|
||
"loading": "Laden…",
|
||
"loadFailed": "Konnte nicht geladen werden",
|
||
"error": "Fehler",
|
||
"saved": "Gespeichert",
|
||
"pullToRefresh": "Wird aktualisiert…",
|
||
"no": "Nein",
|
||
"noData": "Keine Daten vorhanden",
|
||
"optional": "Optional",
|
||
"active": "Aktiv",
|
||
"inactive": "Inaktiv",
|
||
"disabled": "Deaktiviert",
|
||
"networkError": "Netzwerkfehler",
|
||
"openDatePicker": "Datumsauswahl öffnen",
|
||
"openTimePicker": "Uhrzeitauswahl öffnen",
|
||
"hours": "Stunden",
|
||
"minutes": "Minuten",
|
||
"feet": "ft",
|
||
"inches": "in",
|
||
"heightFeet": "Körpergröße in Fuß",
|
||
"heightInches": "Körpergröße in Zoll",
|
||
"period": "AM/PM",
|
||
"am": "AM",
|
||
"pm": "PM",
|
||
"unknownError": "Unbekannter Fehler",
|
||
"copied": "Kopiert!",
|
||
"or": "oder",
|
||
"unknown": "Unbekannt",
|
||
"add": "Hinzufügen",
|
||
"import": "Importieren",
|
||
"test": "Test",
|
||
"reset": "Zurücksetzen",
|
||
"copy": "Kopieren",
|
||
"copyDetails": "Details kopieren",
|
||
"retry": "Erneut versuchen",
|
||
"showPassword": "Passwort anzeigen",
|
||
"hidePassword": "Passwort verbergen",
|
||
"learnMore": "Mehr erfahren",
|
||
"dismiss": "Schließen",
|
||
"moreInfo": "Mehr Informationen",
|
||
"durationHoursMinutes": "{hours} Std. {minutes} Min.",
|
||
"durationMinutes": "{minutes} Min."
|
||
},
|
||
"apiErrors": {
|
||
"measurement": {
|
||
"create": {
|
||
"invalid": "Prüfe die Messdaten und versuche es erneut."
|
||
},
|
||
"duplicate_timestamp": "Für diesen Zeitpunkt ist bereits eine Messung vorhanden."
|
||
},
|
||
"mood": {
|
||
"list": {
|
||
"invalid": "Die Filter der Stimmungsliste sind ungültig."
|
||
},
|
||
"create": {
|
||
"invalid": "Prüfe den Stimmungseintrag und versuche es erneut."
|
||
},
|
||
"update": {
|
||
"invalid": "Prüfe den Stimmungseintrag und versuche es erneut."
|
||
},
|
||
"duplicate_timestamp": "Für diesen Zeitpunkt ist bereits ein Stimmungseintrag vorhanden.",
|
||
"not_found": "Dieser Stimmungseintrag ist nicht mehr verfügbar.",
|
||
"ratedFactor": {
|
||
"out_of_range": "Eine Faktorbewertung liegt außerhalb des zulässigen Bereichs."
|
||
}
|
||
},
|
||
"labs": {
|
||
"create": {
|
||
"invalid": "Prüfe den Laborwert und versuche es erneut."
|
||
},
|
||
"result": {
|
||
"notFound": "Dieser Laborwert ist nicht mehr verfügbar."
|
||
},
|
||
"biomarker": {
|
||
"notFound": "Dieser Biomarker ist nicht mehr verfügbar.",
|
||
"duplicate": "Ein Biomarker mit diesem Namen ist bereits vorhanden.",
|
||
"create": {
|
||
"invalid": "Prüfe die Biomarker-Angaben und versuche es erneut."
|
||
},
|
||
"update": {
|
||
"invalid": "Prüfe die Biomarker-Angaben und versuche es erneut.",
|
||
"referenceRangeInvalid": "Der untere Referenzwert darf den oberen Wert nicht überschreiten."
|
||
}
|
||
},
|
||
"update": {
|
||
"invalid": "Prüfe den Laborwert und versuche es erneut.",
|
||
"linkedFieldsImmutable": "Bearbeite den Biomarker, um Name, Einheit, Panel oder Referenzbereich zu ändern.",
|
||
"qualitativeExpected": "Gib für diesen qualitativen Laborwert ein Textergebnis ein.",
|
||
"numericExpected": "Gib für diesen numerischen Laborwert eine Zahl ein.",
|
||
"referenceRangeInvalid": "Der untere Referenzwert darf den oberen Wert nicht überschreiten."
|
||
}
|
||
},
|
||
"onboarding": {
|
||
"disclaimer": {
|
||
"invalid": "Bestätige den medizinischen Hinweis bitte erneut."
|
||
},
|
||
"tour": {
|
||
"invalid": "Der Tour-Fortschritt konnte nicht gespeichert werden."
|
||
},
|
||
"complete": {
|
||
"invalid": "Prüfe die Profildaten und versuche es erneut."
|
||
},
|
||
"user": {
|
||
"notFound": "Dein Konto wurde nicht gefunden."
|
||
},
|
||
"step": {
|
||
"rateLimited": "Zu viele Versuche. Warte kurz und versuche es erneut.",
|
||
"invalid": "Dieser Onboarding-Schritt konnte nicht gespeichert werden.",
|
||
"completed": "Das Onboarding ist bereits abgeschlossen.",
|
||
"outOfOrder": "Dein Onboarding-Fortschritt hat sich geändert. Lade die Seite neu und fahre fort.",
|
||
"concurrent": "Dein Onboarding-Fortschritt hat sich geändert. Lade die Seite neu und fahre fort."
|
||
}
|
||
},
|
||
"profile": {
|
||
"update": {
|
||
"nothingSaved": "Es wurde nichts gespeichert. Korrigiere das markierte Feld und versuche es erneut.",
|
||
"invalidBody": "Die Profilaktualisierung konnte nicht gelesen werden.",
|
||
"emailInUse": "Diese E-Mail-Adresse wird bereits verwendet.",
|
||
"emailRateLimited": "Zu viele Änderungen der E-Mail-Adresse. Versuche es später erneut.",
|
||
"emailSecondFactorRequired": "Bestätige mit deinem zweiten Faktor oder einem Passkey, um die E-Mail-Adresse zu ändern."
|
||
}
|
||
},
|
||
"auth": {
|
||
"reproof": {
|
||
"required": "Bestätige dein aktuelles Passwort, um das zu ändern.",
|
||
"failed": "Die Bestätigung ist fehlgeschlagen. Es wurde nichts geändert."
|
||
}
|
||
},
|
||
"biomarkers": {
|
||
"unit": {
|
||
"locked": "Dieser Marker hat schon Werte, deshalb kannst du seine Einheit nicht ändern. Die gespeicherten Werte würden sonst in der neuen Einheit angezeigt, ohne umgerechnet zu werden."
|
||
}
|
||
},
|
||
"symptoms": {
|
||
"definition": {
|
||
"limitReached": "Du hast 8 Symptome. Blende eins aus, um ein neues anzulegen.",
|
||
"notFound": "Dieses Symptom gibt es nicht mehr."
|
||
},
|
||
"episode": {
|
||
"notOpen": "Diese Erkrankung ist nicht mehr offen. Wähle eine andere oder keine."
|
||
},
|
||
"event": {
|
||
"notFound": "Diesen Eintrag gibt es nicht mehr."
|
||
}
|
||
}
|
||
},
|
||
"doctorReport": {
|
||
"title": "Gesundheitsbericht",
|
||
"anamnesisTitle": "Gesundheitsprofil",
|
||
"anamnesisNotRecorded": "Nicht erfasst",
|
||
"anamnesisUnreadable": "Gespeicherter Wert konnte nicht gelesen werden",
|
||
"anamnesisConditions": "Chronische Erkrankungen",
|
||
"anamnesisSmoking": "Rauchstatus",
|
||
"anamnesisAlcohol": "Alkoholkonsummuster",
|
||
"anamnesisShiftSchedule": "Arbeitszeitmodell",
|
||
"anamnesisColFact": "Profilangabe",
|
||
"anamnesisColValue": "Erfasster Wert",
|
||
"subtitle": "HealthLog — Persönlicher Gesundheitsbericht",
|
||
"patient": "Patient",
|
||
"dateOfBirth": "Geburtsdatum",
|
||
"gender": "Geschlecht",
|
||
"genderMale": "Männlich",
|
||
"genderFemale": "Weiblich",
|
||
"genderOther": "Divers",
|
||
"height": "Körpergröße",
|
||
"period": "Berichtszeitraum",
|
||
"createdOn": "Erstellt am",
|
||
"vitalsTitle": "Vitalparameter — Übersicht",
|
||
"colParameter": "Parameter",
|
||
"colCurrent": "Aktuell",
|
||
"colAvgPeriod": "Ø Zeitraum",
|
||
"colMin": "Min",
|
||
"colMax": "Max",
|
||
"colN": "n",
|
||
"bpClassificationTitle": "Blutdruck — ESH-Klassifikation (2023)",
|
||
"avgBp": "Durchschnittlicher Blutdruck",
|
||
"classification": "Klassifikation",
|
||
"bmiTitle": "Body-Mass-Index (BMI)",
|
||
"bmiRow": "BMI: {bmi} kg/m² — Klassifikation: {class} (WHO)",
|
||
"complianceTitle": "Therapietreue",
|
||
"glp1Title": "GLP-1-Therapie",
|
||
"glp1WeightSummary": "Gewicht im Berichtszeitraum: {start} kg → {end} kg ({delta} kg)",
|
||
"glp1CurrentDose": "Aktuelle Dosis: {value} {unit} (seit {since})",
|
||
"glp1Compliance": "Therapietreue: {taken} / {total} ({rate}%)",
|
||
"glp1SideEffectsTitle": "Erfasste Nebenwirkungen",
|
||
"colGlp1Date": "Datum",
|
||
"colGlp1Dose": "Dosis",
|
||
"colGlp1Note": "Notiz",
|
||
"colGlp1SideEffect": "Nebenwirkung",
|
||
"colMedication": "Medikament",
|
||
"colTaken": "Eingenommen",
|
||
"colSkipped": "Übersprungen",
|
||
"colMissed": "Verpasst",
|
||
"colExpected": "Erwartet",
|
||
"colComplianceRate": "Therapietreue",
|
||
"moodTitle": "Stimmungsverlauf",
|
||
"moodSummary": "Durchschnitt: {avg} / 5,0 · Einträge: {count} · Bereich: {min}–{max}",
|
||
"colMood": "Stimmung",
|
||
"colCount": "Anzahl",
|
||
"colShare": "Anteil",
|
||
"footerDisclaimer1": "Dieser Bericht wurde automatisch aus selbst erfassten Daten generiert und dient ausschließlich zur Unterstützung",
|
||
"footerDisclaimer2": "des Arzt-Patienten-Gesprächs. Er ersetzt keine ärztliche Diagnose. Korrelationen implizieren keine Kausalität.",
|
||
"footerSource": "Quelle: HealthLog | Zeitzone: {timezone} | Erstellt: {timestamp}",
|
||
"unitSteps": "Schritte",
|
||
"bmiUnderweight": "Untergewicht",
|
||
"bmiNormal": "Normalgewicht",
|
||
"bmiOverweight": "Übergewicht (Präadipositas)",
|
||
"bmiObeseGrade1": "Adipositas Grad I",
|
||
"bmiObeseGrade2": "Adipositas Grad II",
|
||
"bmiObeseGrade3": "Adipositas Grad III",
|
||
"bpOptimal": "Optimal",
|
||
"bpNormal": "Normal",
|
||
"bpHighNormal": "Hochnormal",
|
||
"bpHypertensionGrade1": "Hypertonie Grad 1",
|
||
"bpHypertensionGrade2": "Hypertonie Grad 2",
|
||
"bpHypertensionGrade3": "Hypertonie Grad 3",
|
||
"moodAwful": "Sehr schlecht",
|
||
"moodBad": "Schlecht",
|
||
"moodNeutral": "Neutral",
|
||
"moodGood": "Gut",
|
||
"moodGreat": "Sehr gut",
|
||
"typeGlucoseFasting": "Glukose (nüchtern)",
|
||
"typeGlucosePostprandial": "Glukose (postprandial)",
|
||
"typeGlucoseRandom": "Glukose (beliebig)",
|
||
"typeGlucoseBedtime": "Glukose (vor dem Schlafen)",
|
||
"typeGlucoseUnspecified": "Glukose (ohne Angabe)",
|
||
"glucoseClassificationTitle": "Blutzucker — Referenzbereiche (ADA 2024 / DDG)",
|
||
"glucoseRow": "{label}: Ø {avg} {unit} (Ziel {rangeMin}–{rangeMax}) — {class}",
|
||
"glucoseInTarget": "im Ziel",
|
||
"glucoseBelowTarget": "unter Ziel",
|
||
"glucoseAboveTarget": "über Ziel",
|
||
"practiceLabel": "Praxis",
|
||
"insurer": "Krankenkasse",
|
||
"insuranceNumber": "Versichertennr.",
|
||
"summaryTitle": "Klinische Zusammenfassung",
|
||
"summaryReadings": "Über {days} Tage erfasst: {count} Messwerte über {params} Parameter.",
|
||
"summaryTrend": "{label}: zuletzt {latest} {arrow}",
|
||
"summaryAdherence": "Medikamenten-Therapietreue: {rate}% (gewichteter Mittelwert).",
|
||
"chartsTitle": "Trend-Diagramme",
|
||
"packageReadme": "HealthLog Gesundheitsakte\n\nDieses Paket enthält:\n- report.pdf: den Gesundheitsbericht für die ärztliche Vorlage.\n- bundle.json: dieselben Daten als HL7-FHIR-R4-Dokument (Bundle), ePA-kompatibel.\n\nErstellt mit HealthLog.",
|
||
"wellnessTitle": "Wellness-Zusammenfassung",
|
||
"wellnessDisclaimer": "Dies sind beschreibende Wellness-Werte, die aus den erfassten Signalen berechnet werden (0–100). Sie sind keine klinischen Beurteilungen oder Diagnosen.",
|
||
"wellnessRecovery": "Erholung",
|
||
"wellnessStress": "Stress",
|
||
"wellnessStrain": "Belastung",
|
||
"cycleTitle": "Menstruationszyklus",
|
||
"cycleLmp": "Letzte Periode",
|
||
"cycleAvgLength": "Durchschnittliche Zykluslänge",
|
||
"cycleAvgPeriod": "Durchschnittliche Periodendauer",
|
||
"cyclePhase": "Aktuelle Phase",
|
||
"cycleDays": "Tage",
|
||
"cycleColStart": "Periodenbeginn",
|
||
"cycleColLength": "Zykluslänge (Tage)",
|
||
"cycleColPeriod": "Periodendauer (Tage)",
|
||
"cyclePhases": {
|
||
"MENSTRUAL": "Menstruation",
|
||
"FOLLICULAR": "Follikelphase",
|
||
"OVULATORY": "Ovulation",
|
||
"LUTEAL": "Lutealphase"
|
||
},
|
||
"labsTitle": "Laborwerte",
|
||
"labsColAnalyte": "Biomarker",
|
||
"labsColValue": "Wert",
|
||
"labsColReference": "Referenz",
|
||
"labsColStatus": "Status",
|
||
"labsColDate": "Datum",
|
||
"glucoseClinical": {
|
||
"title": "Glukose-Übersicht (klinisch)",
|
||
"colMetric": "Kennzahl",
|
||
"colValue": "Wert",
|
||
"tirInRange": "Zeit im Zielbereich ({low}–{high} {unit})",
|
||
"tirLow": "Niedrig (< {low} {unit})",
|
||
"tirVeryLow": "Sehr niedrig (< {veryLow} {unit})",
|
||
"tirHigh": "Hoch (> {high} {unit})",
|
||
"tirVeryHigh": "Sehr hoch (> {veryHigh} {unit})",
|
||
"mean": "Durchschnittliche Glukose",
|
||
"gmi": "Glukose-Management-Indikator (GMI)",
|
||
"eA1c": "Geschätzter HbA1c",
|
||
"cv": "Variabilität (VK%)",
|
||
"spotCaveat": "Dies sind Schätzwerte aus Einzelmessungen, kein Profil eines kontinuierlichen Messgeräts — als Tendenz und nicht als klinisches Urteil zu lesen."
|
||
},
|
||
"illnessTitle": "Erkrankungen",
|
||
"illnessOngoing": "Andauernd",
|
||
"illnessColCondition": "Erkrankung",
|
||
"illnessColBodySite": "Körperstelle",
|
||
"illnessColType": "Art",
|
||
"illnessColLifecycle": "Verlauf",
|
||
"illnessColOnset": "Beginn",
|
||
"illnessColResolved": "Abgeklungen",
|
||
"allergiesTitle": "Allergien & Unverträglichkeiten",
|
||
"reactionUnreadable": "Reaktion erfasst, konnte aber nicht entschlüsselt werden",
|
||
"allergiesColSubstance": "Substanz",
|
||
"allergiesColCategory": "Kategorie",
|
||
"allergiesColKind": "Art",
|
||
"allergiesColSeverity": "Schweregrad",
|
||
"allergiesColReaction": "Reaktion",
|
||
"allergiesColStatus": "Status",
|
||
"familyHistoryTitle": "Familienanamnese",
|
||
"familyHistoryColRelationship": "Verwandtschaft",
|
||
"familyHistoryColCondition": "Erkrankung",
|
||
"familyHistoryColAgeAtOnset": "Alter bei Beginn",
|
||
"labsSourceRangeNote": "* Der Referenzbereich stammt aus dem Befund und weicht vom gespeicherten Bereich ab:",
|
||
"labsCatalogRangeLabel": "gespeicherter Bereich",
|
||
"visitsTitle": "Arztbesuche",
|
||
"visitsColDate": "Datum",
|
||
"visitsColPractice": "Praxis",
|
||
"visitsColKind": "Art",
|
||
"visitsColReason": "Anlass",
|
||
"visitsColOutcome": "Ergebnis",
|
||
"visitsColConditions": "Erkrankungen",
|
||
"surgicalHistoryTitle": "Operationen und Eingriffe",
|
||
"surgicalHistoryColDate": "Datum",
|
||
"surgicalHistoryColProcedure": "Eingriff",
|
||
"surgicalHistoryColBodySite": "Körperstelle",
|
||
"surgicalHistoryColOutcome": "Ergebnis",
|
||
"immunizationsTitle": "Impfungen",
|
||
"immunizationsColDate": "Datum",
|
||
"immunizationsColVaccine": "Impfstoff",
|
||
"immunizationsColDose": "Dosis",
|
||
"immunizationsColLot": "Charge",
|
||
"emergency": {
|
||
"title": "Notfalldaten",
|
||
"subtitle": "Für den Einsatz im Notfall. Selbst angegeben; wenn möglich prüfen.",
|
||
"none": "Nicht erfasst",
|
||
"unreadable": "Gespeicherter Wert konnte nicht gelesen werden",
|
||
"bloodType": "Blutgruppe",
|
||
"bloodTypeUnknown": "Unbekannt",
|
||
"bloodTypeValues": {
|
||
"A_POS": "A positiv",
|
||
"A_NEG": "A negativ",
|
||
"B_POS": "B positiv",
|
||
"B_NEG": "B negativ",
|
||
"AB_POS": "AB positiv",
|
||
"AB_NEG": "AB negativ",
|
||
"O_POS": "0 positiv",
|
||
"O_NEG": "0 negativ"
|
||
},
|
||
"severeAllergies": "Schwere Allergien",
|
||
"activeMedications": "Aktuelle Medikamente",
|
||
"chronicConditions": "Chronische Erkrankungen",
|
||
"implants": "Implantate und Geräte",
|
||
"advanceDirective": "Patientenverfügung",
|
||
"advanceDirectiveValues": {
|
||
"EXISTS": "Vorhanden",
|
||
"NONE": "Keine",
|
||
"UNKNOWN": "Keine Angabe"
|
||
},
|
||
"organDonor": "Organspender",
|
||
"organDonorValues": {
|
||
"YES": "Ja",
|
||
"NO": "Nein",
|
||
"UNKNOWN": "Keine Angabe"
|
||
},
|
||
"contacts": "Notfallkontakte",
|
||
"notes": "Weitere Hinweise"
|
||
},
|
||
"courseRange": "Einnahmephase {start} bis {end}",
|
||
"courseSince": "Einnahmephase seit {start}"
|
||
},
|
||
"errorBoundary": {
|
||
"title": "Da ist etwas schiefgelaufen",
|
||
"description": "Ein unerwarteter Fehler ist aufgetreten. Du kannst es erneut versuchen, die technischen Details kopieren oder einen Bug-Report öffnen."
|
||
},
|
||
"notFound": {
|
||
"title": "Diese Seite existiert nicht.",
|
||
"backToDashboard": "Zurück zum Dashboard"
|
||
},
|
||
"offlineBanner": {
|
||
"message": "Keine Verbindung — Änderungen können erst gespeichert werden, wenn du wieder online bist.",
|
||
"saveFailed": "Speichern fehlgeschlagen — du bist offline. Bitte versuche es erneut, sobald du wieder online bist.",
|
||
"showingCached": "Zeigt deine zuletzt synchronisierten Daten."
|
||
},
|
||
"demoBanner": {
|
||
"message": "Demo-Modus — Änderungen werden nicht gespeichert."
|
||
},
|
||
"nav": {
|
||
"dashboard": "Dashboard",
|
||
"measurements": "Messungen",
|
||
"medications": "Medikamente",
|
||
"insights": "Insights",
|
||
"achievements": "Erfolge",
|
||
"settings": "Einstellungen",
|
||
"admin": "Admin-Konsole",
|
||
"logout": "Abmelden",
|
||
"login": "Anmelden",
|
||
"notifications": "Benachrichtigungen",
|
||
"theme": "Design",
|
||
"themeSystem": "System",
|
||
"themeDark": "Dunkel",
|
||
"themeLight": "Hell",
|
||
"collapseSidebar": "Einklappen",
|
||
"expandSidebar": "Ausklappen",
|
||
"collapseSidebarLabel": "Seitenleiste einklappen",
|
||
"expandSidebarLabel": "Seitenleiste ausklappen",
|
||
"userMenu": "Nutzermenü",
|
||
"accountSettings": "Kontoeinstellungen",
|
||
"mood": "Stimmung",
|
||
"coach": "Coach",
|
||
"skipToContent": "Zum Inhalt springen",
|
||
"sidebar": "Sidebar",
|
||
"mainNavigation": "Hauptnavigation",
|
||
"mobileNavigation": "Mobile Navigation",
|
||
"loadingScreen": "Laden…",
|
||
"more": "Mehr",
|
||
"moreSheetTitle": "Mehr",
|
||
"moreSheetDescription": "Zum Rest von HealthLog springen.",
|
||
"capture": {
|
||
"title": "Erfassen",
|
||
"description": "Was möchtest du erfassen?",
|
||
"measurement": "Messung",
|
||
"measurementDescription": "Gewicht, Blutdruck, Puls und mehr",
|
||
"medication": "Medikament",
|
||
"medicationDescription": "Eine Dosis als genommen markieren",
|
||
"mood": "Stimmung",
|
||
"moodDescription": "Stimmung und Tags erfassen",
|
||
"workout": "Workout",
|
||
"workoutDescription": "Eine Einheit, die kein Gerät aufgezeichnet hat",
|
||
"symptom": "Symptom",
|
||
"symptomDescription": "Eines deiner eigenen Symptome, mit Stärke"
|
||
},
|
||
"cycle": "Zyklus",
|
||
"labs": "Laborwerte",
|
||
"profile": "Profil",
|
||
"vorsorge": "Vorsorge",
|
||
"illness": "Krankheit",
|
||
"documents": "Dokumente",
|
||
"vaccinations": "Impfungen",
|
||
"mentalWellbeing": "Seelisches Wohlbefinden"
|
||
},
|
||
"auth": {
|
||
"login": "Anmelden",
|
||
"register": "Registrieren",
|
||
"username": "Nutzername",
|
||
"password": "Passwort",
|
||
"email": "E-Mail-Adresse",
|
||
"emailPlaceholder": "name@beispiel.de",
|
||
"emailOrUsername": "E-Mail-Adresse oder Nutzername",
|
||
"emailOrUsernamePlaceholder": "name@beispiel.de oder benutzername",
|
||
"loginWithPasskey": "Mit Passkey anmelden",
|
||
"loginWithPassword": "Mit Passwort anmelden",
|
||
"noAccount": "Noch kein Konto?",
|
||
"hasAccount": "Bereits ein Konto?",
|
||
"loginFailed": "Anmeldung fehlgeschlagen",
|
||
"registerFailed": "Registrierung fehlgeschlagen",
|
||
"invitedBanner": "Du wurdest eingeladen — erstelle dein Konto, auch wenn die Registrierung sonst geschlossen ist.",
|
||
"alreadySignedIn": {
|
||
"title": "Du bist bereits angemeldet",
|
||
"body": "Du bist als {username} angemeldet. Eine Einladung legt ein neues Konto an. Melde dich ab, um sie anzunehmen.",
|
||
"signOut": "Abmelden und Einladung annehmen"
|
||
},
|
||
"createAccount": "Konto erstellen",
|
||
"newAccount": "Neues Konto erstellen",
|
||
"backToPasskey": "Zurück zu Passkey",
|
||
"passkeySetupLater": "Passkeys kannst du jederzeit in den Einstellungen einrichten.",
|
||
"passwordMinLength": "Min. 12 Zeichen",
|
||
"passwordTooShort": "Passwort muss mindestens {minLength} Zeichen lang sein.",
|
||
"privacyPolicy": "Datenschutzerklärung",
|
||
"passwordBreached": "Dieses Passwort taucht in bekannten Datenlecks auf. Bitte wähle ein anderes.",
|
||
"oidc": {
|
||
"signInDefault": "Mit SSO anmelden",
|
||
"errorDenied": "Die Anmeldung wurde abgebrochen.",
|
||
"errorNoEmail": "Dein Identitätsanbieter hat keine bestätigte E-Mail-Adresse übermittelt.",
|
||
"errorEmailUnverified": "Dein Identitätsanbieter hat deine E-Mail-Adresse nicht als bestätigt markiert.",
|
||
"errorIdentityConflict": "Diese E-Mail-Adresse gehört zu einem Konto, das bereits mit einer anderen SSO-Identität verknüpft ist.",
|
||
"errorRegistrationDisabled": "Kein Konto passt zu dieser Identität, und neue Registrierungen sind derzeit geschlossen.",
|
||
"errorFailed": "Single Sign-On ist fehlgeschlagen. Bitte versuche es erneut.",
|
||
"errorLinkRequired": "Hier gibt es bereits ein Konto mit dieser E-Mail-Adresse. Melde dich einmal mit seinem Passwort oder Passkey an, um es mit Single Sign-on zu verbinden."
|
||
},
|
||
"native": {
|
||
"signingInToApp": "Anmeldung bei der HealthLog-App"
|
||
},
|
||
"mfa": {
|
||
"title": "Zwei-Faktor-Authentifizierung",
|
||
"totpHint": "Gib den 6-stelligen Code aus deiner Authenticator-App ein.",
|
||
"recoveryHint": "Gib einen deiner gespeicherten Wiederherstellungscodes ein.",
|
||
"securityKeyHint": "Verwende deinen registrierten Sicherheitsschlüssel, um fortzufahren.",
|
||
"codeLabel": "Authentifizierungscode",
|
||
"recoveryLabel": "Wiederherstellungscode",
|
||
"verify": "Bestätigen",
|
||
"verifyFailed": "Bestätigung fehlgeschlagen. Bitte versuche es erneut.",
|
||
"useSecurityKey": "Sicherheitsschlüssel verwenden",
|
||
"useRecoveryCode": "Wiederherstellungscode verwenden",
|
||
"useAuthenticator": "Authenticator-App verwenden",
|
||
"backToLogin": "Zurück zur Anmeldung",
|
||
"rememberDevice": "Diesem Gerät 30 Tage vertrauen"
|
||
},
|
||
"enrollMfa": {
|
||
"title": "Zweiten Faktor einrichten",
|
||
"body": "Dein Administrator verlangt einen zweiten Faktor für dieses Konto. Füge eine Authenticator-App oder einen Sicherheitsschlüssel hinzu, um fortzufahren.",
|
||
"signOut": "Abmelden"
|
||
},
|
||
"confirmAccess": {
|
||
"title": "Bestätige, dass du es bist",
|
||
"body": "Ein Assistent möchte sich mit deinen HealthLog-Daten verbinden. Bestätige, dass du es bist; danach entscheidest du, ob du es erlaubst.",
|
||
"action": "Bestätigen",
|
||
"failed": "Das hat nicht geklappt. Bitte versuche es noch einmal.",
|
||
"nothingToConfirm": "Hier gibt es nichts zu bestätigen. Starte die Verbindung noch einmal in deinem Assistenten."
|
||
},
|
||
"insecureTransport": {
|
||
"title": "Die Anmeldung kann auf dieser Seite nicht abgeschlossen werden",
|
||
"body": "Dieser Server setzt sein Anmelde-Cookie nur über https://, aber diese Seite wurde über http:// geöffnet. Der Browser würde das Cookie verwerfen, deshalb ist die Anmeldung hier abgeschaltet.",
|
||
"fixLan": "Server im Heimnetz ohne TLS: Setze SESSION_COOKIE_SECURE=false in seinen Einstellungen und starte ihn neu.",
|
||
"fixHttps": "Server hinter einem HTTPS-Proxy: Öffne stattdessen die https://-Adresse und sorge dafür, dass der Proxy X-Forwarded-Proto: https weitergibt.",
|
||
"localhostNote": "Diese Seite läuft auf http://localhost, der Server setzt sein Anmelde-Cookie aber nur für https://. Die meisten Browser akzeptieren das auf localhost; wenn du nach der Anmeldung wieder hier landest, setze SESSION_COOKIE_SECURE=false."
|
||
}
|
||
},
|
||
"dashboard": {
|
||
"title": "Dashboard",
|
||
"greeting": {
|
||
"morning": "Guten Morgen",
|
||
"day": "Hallo",
|
||
"evening": "Guten Abend"
|
||
},
|
||
"welcomeBack": "{greeting}, willkommen zurück.",
|
||
"welcomeBackWithName": "{greeting}, {name}, willkommen zurück.",
|
||
"greetingSalutation": "Hallo, {name}",
|
||
"streakLabel": "Tage in Folge",
|
||
"weight": "Gewicht",
|
||
"bloodPressure": "Blutdruck",
|
||
"pulse": "Puls",
|
||
"bodyFat": "Körperfett",
|
||
"sleep": "Schlaf",
|
||
"steps": "Schritte",
|
||
"vo2Max": "VO₂ max",
|
||
"vo2MaxUnit": "mL/(kg·min)",
|
||
"bpInTarget": "BD im Zielbereich",
|
||
"weightShort": "Gewicht",
|
||
"bloodPressureSysShort": "BD (Sys)",
|
||
"bloodPressureDiaShort": "BD (Dia)",
|
||
"pulseShort": "Puls",
|
||
"bodyFatShort": "KF",
|
||
"moodShort": "Stimmung",
|
||
"sleepShort": "Schlaf",
|
||
"stepsShort": "Schritte",
|
||
"vo2MaxShort": "VO₂ max",
|
||
"bpInTargetWindow90": "BD-Ziel · 90 T",
|
||
"bpInTargetWindowDynamic": "BD-Ziel · {days} T",
|
||
"bpInTargetCollecting": "sammelt noch Daten",
|
||
"medications": "Medikamente",
|
||
"quickAddMeasurement": "Messung erfassen",
|
||
"quickAddMood": "Stimmung erfassen",
|
||
"quickAddMedicationIntake": "Einnahme erfassen",
|
||
"quickAddWorkout": "Workout erfassen",
|
||
"customizeDashboard": "Dashboard anpassen",
|
||
"medicationIntakeQuickAdd": {
|
||
"sheetTitle": "Medikamenteneinnahme erfassen",
|
||
"sheetDescription": "Dosis, Zeitpunkt und Medikament in wenigen Tipps protokollieren.",
|
||
"medicationLabel": "Medikament",
|
||
"medicationPlaceholder": "Medikament auswählen",
|
||
"doseLabel": "Dosis",
|
||
"dosePlaceholder": "z. B. 5 mg",
|
||
"doseHint": "Vorbelegt mit der Standarddosis. Passe sie an, um eine abweichende Dosis nur für diese Einnahme zu erfassen.",
|
||
"timeLabel": "Zeitpunkt",
|
||
"saveError": "Einnahme konnte nicht gespeichert werden.",
|
||
"emptyTitle": "Noch keine Medikamente angelegt",
|
||
"emptyDescription": "Lege zuerst ein Medikament mit Zeitfenster an, damit du die Einnahme protokollieren kannst.",
|
||
"emptyCta": "Medikament hinzufügen",
|
||
"noneActionableTitle": "Heute ist nichts einzunehmen",
|
||
"noneActionableDescription": "Deine Medikamente sind pausiert, sind nur dokumentiert, oder ihr Einnahmezeitraum hat noch nicht begonnen oder ist schon vorbei. Eine vergangene Einnahme kannst du weiterhin im Verlauf des Medikaments nachtragen.",
|
||
"noneActionableCta": "Zu den Medikamenten"
|
||
},
|
||
"quickEntryDiscard": {
|
||
"title": "Eintrag verwerfen?",
|
||
"description": "Du hast nicht gespeicherte Eingaben. Formular schließen und das Getippte verwerfen?",
|
||
"confirm": "Verwerfen",
|
||
"cancel": "Weiter bearbeiten"
|
||
},
|
||
"compliance7d": "Therapietreue (7 Tage)",
|
||
"mood": "Stimmung",
|
||
"customizeTitle": "Dashboard-Layout",
|
||
"heroItemsTitle": "Highlights für heute",
|
||
"heroItemsDescription": "Wähle aus, welche Eintragstypen in den Highlights für heute erscheinen.",
|
||
"heroItemsNotificationNote": "Benachrichtigungseinstellungen werden separat verwaltet.",
|
||
"heroContentTitle": "Obere Karte zeigt",
|
||
"heroContentScore": "Gesundheitsscore und Tagesüberblick",
|
||
"heroContentReminders": "Highlights für heute",
|
||
"heroItems": {
|
||
"coach_checkin": "Coach-Check-ins",
|
||
"dose_window": "Medikamentendosen",
|
||
"preventive_care": "Vorsorge",
|
||
"sync_issue": "Synchronisierungsprobleme",
|
||
"milestone": "Meilensteine",
|
||
"ecg_new_recording": "Neue EKG-Aufzeichnungen",
|
||
"tension_window": "Anspannungsphasen",
|
||
"same_time_baseline": "Aktivität zur gleichen Tageszeit",
|
||
"upcoming_visit": "Termine"
|
||
},
|
||
"layoutReset": "Auf Defaults zurücksetzen",
|
||
"layoutResetTitle": "Dashboard-Layout zurücksetzen?",
|
||
"layoutResetBody": "Dein Kachel-Layout und deine Auswahl für die Highlights für heute werden auf die Standardwerte zurückgesetzt.",
|
||
"layoutResetConfirm": "Layout zurücksetzen",
|
||
"layoutSaveSuccess": "Dashboard-Layout gespeichert",
|
||
"layoutSaveError": "Layout konnte nicht gespeichert werden",
|
||
"layoutConflictReloaded": "Layout wurde vom Server neu geladen. Bitte nimm deine Änderung erneut vor.",
|
||
"layoutResetSuccess": "Auf Standard-Layout zurückgesetzt",
|
||
"layoutUsingDefaults": "Standard-Layout aktiv",
|
||
"layoutCustomized": "Eigenes Layout aktiv",
|
||
"moveUp": "Nach oben",
|
||
"moveDown": "Nach unten",
|
||
"layoutTileColumn": "Kachel",
|
||
"layoutChartColumn": "Chart",
|
||
"layoutNativeOnlyTitle": "In der mobilen App sichtbar",
|
||
"layoutNativeOnlyHint": "Diese Widgets zeichnet die mobile App, nicht diese Seite. Sie liegen im selben gespeicherten Layout — hier wird ihre Sichtbarkeit gesetzt.",
|
||
"dragHandle": "Zum Verschieben ziehen",
|
||
"dragHandleHint": "Pfeiltasten Hoch/Runter, oder Leertaste plus Pfeiltasten am fokussierten Griff.",
|
||
"emptyTitle": "Dein Dashboard ist leer",
|
||
"emptyDescription": "Erfasse den ersten Messwert oder Stimmungseintrag. Kacheln und Charts erscheinen automatisch, sobald Daten vorhanden sind.",
|
||
"emptyAddMeasurement": "Ersten Messwert erfassen",
|
||
"staleHint": "Letzter Wert vor {count} T.",
|
||
"staleHintWeeksOne": "Letzter Wert vor 1 Woche",
|
||
"staleHintWeeksOther": "Letzter Wert vor {count} Wochen",
|
||
"staleHintWeeksFew": "Letzter Wert vor {count} Wochen",
|
||
"staleHintMonthsOne": "Letzter Wert vor 1 Monat",
|
||
"staleHintMonthsOther": "Letzter Wert vor {count} Monaten",
|
||
"staleHintMonthsFew": "Letzter Wert vor {count} Monaten",
|
||
"recentWorkouts": {
|
||
"title": "Letzte Workouts",
|
||
"viewAll": "Alle anzeigen",
|
||
"empty": {
|
||
"title": "Noch keine Workouts",
|
||
"cta": "Verbinde eine Datenquelle in den Einstellungen, damit Workouts hier erscheinen."
|
||
}
|
||
},
|
||
"metric": {
|
||
"title": {
|
||
"weight": "Gewicht",
|
||
"bloodPressure": "Blutdruck",
|
||
"pulse": "Puls",
|
||
"bodyFat": "Körperfett",
|
||
"glucose": "Blutzucker",
|
||
"sleep": "Schlaf",
|
||
"steps": "Schritte",
|
||
"totalBodyWater": "Gesamtkörperwasser",
|
||
"boneMass": "Knochenmasse",
|
||
"oxygenSaturation": "Sauerstoffsättigung",
|
||
"mood": "Stimmung",
|
||
"bmi": "BMI"
|
||
},
|
||
"unit": {
|
||
"weight": "kg",
|
||
"bloodPressure": "mmHg",
|
||
"pulse": "bpm",
|
||
"bodyFat": "%",
|
||
"glucose": "mg/dL",
|
||
"sleep": "h",
|
||
"steps": "Schritte",
|
||
"totalBodyWater": "kg",
|
||
"boneMass": "kg",
|
||
"oxygenSaturation": "%",
|
||
"mood": "/5",
|
||
"bmi": "kg/m²"
|
||
}
|
||
},
|
||
"keyBackupBanner": {
|
||
"title": "Sichere deinen Verschlüsselungsschlüssel",
|
||
"body": "Ohne eine Kopie des Schlüssels lassen sich deine Daten nach einer Neuinstallation nicht wiederherstellen. Es dauert eine Minute.",
|
||
"action": "Zum Schritt"
|
||
},
|
||
"quickAddSymptom": "Symptom erfassen"
|
||
},
|
||
"measurements": {
|
||
"title": "Messungen",
|
||
"subtitle": "Werte erfassen und die vollständige Historie einsehen.",
|
||
"addMeasurement": "Hinzufügen",
|
||
"editMeasurement": "Messwert bearbeiten",
|
||
"type": "Typ",
|
||
"value": "Wert",
|
||
"date": "Datum",
|
||
"source": "Quelle",
|
||
"notes": "Notizen",
|
||
"typeWeight": "Gewicht",
|
||
"typeBloodPressure": "Blutdruck",
|
||
"typeBpSys": "Sys",
|
||
"typeBpDia": "Dia",
|
||
"typePulse": "Puls",
|
||
"typeBodyFat": "Körperfett",
|
||
"typeSleep": "Schlaf",
|
||
"typeSteps": "Schritte",
|
||
"typeBloodGlucose": "Blutzucker",
|
||
"typeTotalBodyWater": "Gesamtkörperwasser",
|
||
"typeBoneMass": "Knochenmasse",
|
||
"typeOxygenSaturation": "Sauerstoffsättigung",
|
||
"typeHeartRateVariability": "Herzfrequenzvariabilität",
|
||
"typeRestingHeartRate": "Ruheherzfrequenz",
|
||
"typeActiveEnergyBurned": "Aktive Energie",
|
||
"typeFlightsClimbed": "Treppen",
|
||
"typeWalkingRunningDistance": "Geh- und Laufstrecke",
|
||
"typeVo2Max": "VO₂max",
|
||
"typeBodyTemperature": "Körpertemperatur",
|
||
"typeFatFreeMass": "Fettfreie Masse",
|
||
"typeFatMass": "Fettmasse",
|
||
"typeMuscleMass": "Muskelmasse",
|
||
"typeSkinTemperature": "Hauttemperatur",
|
||
"typePulseWaveVelocity": "Pulswellengeschwindigkeit",
|
||
"typeVascularAge": "Gefäßalter",
|
||
"typeVisceralFat": "Viszerales Fett",
|
||
"typeAudioExposureEnv": "Lärmbelastung (Umgebung)",
|
||
"typeAudioExposureHeadphone": "Lärmbelastung (Kopfhörer)",
|
||
"typeTimeInDaylight": "Zeit im Tageslicht",
|
||
"typeWalkingSteadiness": "Gehstabilität",
|
||
"typeAudioExposureEvent": "Lautes-Hören-Ereignis",
|
||
"typeRespiratoryRate": "Atemfrequenz",
|
||
"typeBodyMassIndex": "Body-Mass-Index",
|
||
"typeLeanBodyMass": "Magermasse",
|
||
"typeWalkingHeartRateAverage": "Geh-Puls (Mittelwert)",
|
||
"typeWalkingAsymmetry": "Gang-Asymmetrie",
|
||
"typeWalkingDoubleSupport": "Gang-Doppelstand",
|
||
"typeWalkingStepLength": "Schrittlänge",
|
||
"typeWalkingSpeed": "Gehgeschwindigkeit",
|
||
"glucoseContext": "Kontext",
|
||
"glucoseContextFasting": "Nüchtern (≥8 h ohne Nahrung)",
|
||
"glucoseContextPostprandial": "Postprandial (2 h nach dem Essen)",
|
||
"glucoseContextRandom": "Beliebig / ohne Kontext",
|
||
"glucoseContextBedtime": "Vor dem Schlafen",
|
||
"unitHours": "Stunden",
|
||
"unitSteps": "Schritte",
|
||
"sourceManual": "Manuell",
|
||
"sourceWithings": "Withings",
|
||
"sourceImport": "Import",
|
||
"sourceAppleHealth": "Apple Health",
|
||
"systolicLabel": "Systolisch (mmHg)",
|
||
"diastolicLabel": "Diastolisch (mmHg)",
|
||
"pulseLabel": "Puls (bpm)",
|
||
"valueWithUnit": "Wert ({unit})",
|
||
"timestamp": "Zeitpunkt",
|
||
"timestampBackdateHint": "Datum und Uhrzeit anpassen, um einen vergangenen Wert zu erfassen.",
|
||
"notesPlaceholder": "z.B. nach dem Essen",
|
||
"formReset": "Formular zurücksetzen",
|
||
"saveError": "Fehler beim Speichern",
|
||
"duplicateTimestamp": "Zum gewählten Zeitpunkt existiert bereits ein Messwert dieses Typs.",
|
||
"serverOwnedSource": "Werte aus einer verbundenen Quelle lassen sich nicht bearbeiten — Zeitpunkt und Notiz bleiben änderbar.",
|
||
"deleteError": "Fehler beim Löschen",
|
||
"deletedToast": "Messwert gelöscht",
|
||
"restoredToast": "Messwert wiederhergestellt",
|
||
"restoreError": "Wiederherstellen fehlgeschlagen",
|
||
"invalidValue": "Gib einen gültigen Wert ein.",
|
||
"invalidTimestamp": "Wähle einen gültigen Zeitpunkt.",
|
||
"loginRequired": "Bitte anmelden, um Messwerte zu sehen.",
|
||
"allTypes": "Alle Typen",
|
||
"measurementCount": "{count} Messwerte",
|
||
"emptyTitle": "Noch keine Messwerte",
|
||
"emptyDescription": "Erfasse Gewicht, Blutdruck, Puls oder andere Werte, um Trends zu erkennen.",
|
||
"emptyFilteredTitle": "Kein Messwert passt zum Filter",
|
||
"emptyFilteredDescription": "Wähle einen anderen Typ oder lösche den Filter, um alle Messwerte zu sehen.",
|
||
"emptyAddFirst": "Ersten Messwert erfassen",
|
||
"emptyResetFilter": "Alle Typen anzeigen",
|
||
"comment": "Kommentar",
|
||
"actions": "Aktionen",
|
||
"deleteConfirmTitle": "Messwert löschen?",
|
||
"deleteConfirmDescription": "Dieser Messwert wird gelöscht. Direkt danach kannst du das kurz rückgängig machen.",
|
||
"pageInfo": "Seite {page} von {total}",
|
||
"previousPage": "Vorherige Seite",
|
||
"nextPage": "Nächste Seite",
|
||
"dailyTotalCaption": "({count} Einzelwerte)",
|
||
"openMetricInsights": "{type}-Auswertung öffnen",
|
||
"sleepNapCaption": "+{count} Nickerchen",
|
||
"sleepAwakeningsCaption": "{count} Wachphasen",
|
||
"expandDay": "Einzelwerte dieses Tages anzeigen",
|
||
"collapseDay": "Einzelwerte dieses Tages ausblenden",
|
||
"loadError": "Messwerte konnten nicht geladen werden.",
|
||
"typeCardioRecovery": "Erholungspuls",
|
||
"typeWristTemperature": "Handgelenktemperatur",
|
||
"typeFallCount": "Stürze",
|
||
"typeSixMinuteWalkDistance": "6-Minuten-Gehstrecke",
|
||
"typeStairAscentSpeed": "Treppensteig-Tempo",
|
||
"typeStairDescentSpeed": "Treppab-Tempo",
|
||
"typeBreathingDisturbances": "Atemaussetzer im Schlaf",
|
||
"typeIrregularRhythmNotification": "Hinweis auf unregelmäßigen Rhythmus",
|
||
"typeHighHeartRateEvent": "Hinweis auf hohe Herzfrequenz",
|
||
"typeLowHeartRateEvent": "Hinweis auf niedrige Herzfrequenz",
|
||
"typeWalkingSteadinessEvent": "Hinweis zur Gehstabilität",
|
||
"typeBreathingDisturbanceEvent": "Atemstörung",
|
||
"typeRecoveryScore": "Erholungs-Score",
|
||
"typeStressScore": "Stress-Score",
|
||
"typeStrainScore": "Belastungs-Score",
|
||
"typeHrvRmssd": "HRV (RMSSD)",
|
||
"typeDayStrain": "Tagesbelastung",
|
||
"typeWorkoutStrain": "Trainingsbelastung",
|
||
"typeSleepPerformance": "Schlafleistung",
|
||
"typeSleepEfficiency": "Schlafeffizienz",
|
||
"typeSleepConsistency": "Schlafkonsistenz",
|
||
"typeSleepNeed": "Schlafbedarf",
|
||
"typeEnergyExpenditureKj": "Energieverbrauch",
|
||
"typeAverageHeartRate": "Durchschnittlicher Puls",
|
||
"typeMaxHeartRate": "Maximaler Puls",
|
||
"typeSleepDisturbanceCount": "Schlafstörungen",
|
||
"typeAnsCharge": "ANS-Ladung",
|
||
"typeCardioLoad": "Kardio-Belastung",
|
||
"typeSleepScore": "Schlafscore",
|
||
"typeBodyTemperatureDeviation": "Körpertemperaturabweichung",
|
||
"typeResilience": "Resilienz",
|
||
"sourceComputed": "Berechnet",
|
||
"sourceWhoop": "WHOOP",
|
||
"sourceFitbit": "Fitbit",
|
||
"sourceNightscout": "Nightscout",
|
||
"sourcePolar": "Polar",
|
||
"sourceOura": "Oura",
|
||
"sourceTelegram": "Telegram",
|
||
"sourceMcp": "MCP",
|
||
"sourceGoogleHealth": "Google Health",
|
||
"sourceStrava": "Strava",
|
||
"sourceExternal": "Externes Gerät",
|
||
"bulkDeleteSuccess": "{count} Messwerte gelöscht",
|
||
"bulkDeleteSuccessOne": "Messwert gelöscht",
|
||
"bulkDeleteError": "Fehler beim Löschen der ausgewählten Messungen",
|
||
"bulkDeleteConfirmTitle": "{count} Messwerte löschen?",
|
||
"bulkDeleteConfirmTitleOne": "Diesen Messwert löschen?",
|
||
"bulkDeleteConfirmBody": "Die {count} ausgewählten Messungen werden gelöscht. Direkt danach kannst du das kurz rückgängig machen.",
|
||
"bulkDeleteConfirmBodyOne": "Die ausgewählte Messung wird gelöscht. Direkt danach kannst du das kurz rückgängig machen.",
|
||
"typePhq9Score": "PHQ-9-Wert",
|
||
"typeGad7Score": "GAD-7-Wert",
|
||
"typeGripStrength": "Griffstärke",
|
||
"typePainNrs": "Schmerz (0–10)",
|
||
"typeWaistCircumference": "Taillenumfang",
|
||
"typeWaistToHeight": "Taille-Größe-Verhältnis",
|
||
"unitScore": "Pkt.",
|
||
"unitRatio": "Verhältnis",
|
||
"unitRating": "Stufe",
|
||
"typeWho5Score": "WHO-5-Wert",
|
||
"typeSciScore": "SCI-Wert",
|
||
"durationReadAs": "Gelesen als {duration}",
|
||
"durationHoursMinutes": "{hours} Std. {minutes} Min.",
|
||
"durationHoursOnly": "{hours} Std.",
|
||
"durationMinutesOnly": "{minutes} Min.",
|
||
"durationInvalid": "Gib eine Dauer ein, zum Beispiel 7,5, 7:30 oder 7h 30m.",
|
||
"durationTooLong": "Ein Eintrag kann nicht länger als 24 Stunden sein."
|
||
},
|
||
"metricCatalog": {
|
||
"title": "Was HealthLog erfassen kann",
|
||
"description": "Alle Messwert-Bereiche, die HealthLog unterstützt — auch die, für die noch keine Daten vorliegen — und was sie liefert.",
|
||
"statusPresent": "Erfasst",
|
||
"statusAbsent": "Noch nicht erfasst",
|
||
"statusModuleOff": "Aus",
|
||
"loadError": "Erfassungsstatus konnte nicht geladen werden.",
|
||
"connectCta": "Quelle verbinden",
|
||
"viewCta": "Ansehen",
|
||
"ecg": {
|
||
"source": "Einkanal-EKG-Streifen von einer kompatiblen Uhr — aktuell Withings ScanWatch — werden automatisch synchronisiert."
|
||
},
|
||
"watchdog": {
|
||
"title": "Automatische Überwachung",
|
||
"description": "HealthLog beobachtet außerdem still im Hintergrund — Benachrichtigungen zu unregelmäßigem Rhythmus und Atemstörungen von einer verbundenen Uhr, Warnungen bei Abweichungen von deiner Baseline sowie auffällige Veränderungen zwischen deinen letzten beiden Laborwerten — und zeigt eine Karte nur, wenn etwas auffällt. Ist mindestens eine dieser Quellen verbunden, ist keine Karte ein gutes Zeichen, kein fehlendes Feature; ist noch keine verbunden, wird schlicht noch nichts überwacht."
|
||
}
|
||
},
|
||
"mood": {
|
||
"title": "Stimmung",
|
||
"subtitle": "Stimmungsverlauf und Einträge",
|
||
"mentalWellbeingLink": "Check-in zum seelischen Wohlbefinden machen",
|
||
"addEntry": "Hinzufügen",
|
||
"editEntry": "Eintrag bearbeiten",
|
||
"moodLevel": "Stimmung",
|
||
"heroQuestion": "Wie geht's dir?",
|
||
"factorYes": "Ja",
|
||
"factorNo": "Nein",
|
||
"factorRatingOption": "{label}: {value} von {max}",
|
||
"tags": "Tags",
|
||
"tagsPlaceholder": "z.B. Sport, Arbeit, Familie",
|
||
"tagsHelp": "Kommagetrennt eingeben",
|
||
"timestamp": "Zeitpunkt",
|
||
"date": "Datum",
|
||
"source": "Quelle",
|
||
"levelSuperGut": "Super gut",
|
||
"levelGut": "Gut",
|
||
"levelOkay": "Okay",
|
||
"levelSchlecht": "Schlecht",
|
||
"levelLausig": "Lausig",
|
||
"sourceMoodlog": "moodLog",
|
||
"allMoods": "Alle Stimmungen",
|
||
"entryCount": "{count} Einträge",
|
||
"emptyTitle": "Noch keine Stimmungseinträge",
|
||
"emptyDescription": "Erfasse, wie du dich heute fühlst, um Muster über die Zeit zu erkennen.",
|
||
"emptyFilteredTitle": "Kein Eintrag passt zum Filter",
|
||
"emptyFilteredDescription": "Wähle eine andere Stimmungsstufe oder lösche den Filter, um alle Einträge zu sehen.",
|
||
"emptyAddFirst": "Erste Stimmung erfassen",
|
||
"emptyResetFilter": "Alle Stimmungen anzeigen",
|
||
"actions": "Aktionen",
|
||
"formReset": "Formular zurücksetzen",
|
||
"noteCharCount": "{count}/{max}",
|
||
"formResetConfirmTitle": "Formular zurücksetzen?",
|
||
"formResetConfirmBody": "Damit werden die eingegebene Stimmung, Tags und Notiz gelöscht. Das lässt sich nicht rückgängig machen.",
|
||
"formResetConfirmAction": "Zurücksetzen",
|
||
"saveError": "Fehler beim Speichern",
|
||
"tagsNotSaved": "Gespeichert. Tags, die es nicht mehr gibt, wurden weggelassen.",
|
||
"deleteError": "Fehler beim Löschen",
|
||
"deletedToast": "Eintrag gelöscht",
|
||
"restoredToast": "Eintrag wiederhergestellt",
|
||
"restoreError": "Wiederherstellen fehlgeschlagen",
|
||
"invalidTimestamp": "Wähle einen gültigen Zeitpunkt.",
|
||
"deleteConfirmTitle": "Eintrag löschen?",
|
||
"deleteConfirmDescription": "Dieser Stimmungseintrag wird gelöscht. Direkt danach kannst du das kurz rückgängig machen.",
|
||
"pageInfo": "Seite {page} von {total}",
|
||
"previousPage": "Vorherige Seite",
|
||
"nextPage": "Nächste Seite",
|
||
"loginRequired": "Bitte anmelden, um Stimmungseinträge zu sehen.",
|
||
"note": "Notiz",
|
||
"noteCollapse": "Notiz einklappen",
|
||
"noteExpand": "Notiz vollständig anzeigen",
|
||
"notePlaceholder": "Notiz dazu, wie du dich fühlst…",
|
||
"tagPicker": "Tags",
|
||
"tagCategory": {
|
||
"feelings": "Gefühle",
|
||
"sleep": "Schlaf",
|
||
"health": "Gesundheit",
|
||
"social": "Soziales",
|
||
"work": "Arbeit",
|
||
"hobbies": "Hobbys",
|
||
"factors": "Faktoren",
|
||
"custom": "Eigene"
|
||
},
|
||
"tag": {
|
||
"happy": "glücklich",
|
||
"excited": "aufgeregt",
|
||
"grateful": "dankbar",
|
||
"relaxed": "entspannt",
|
||
"content": "zufrieden",
|
||
"tired": "müde",
|
||
"unsure": "unsicher",
|
||
"bored": "gelangweilt",
|
||
"tense": "angespannt",
|
||
"angry": "wütend",
|
||
"stressed": "gestresst",
|
||
"sad": "traurig",
|
||
"sleptWell": "gut geschlafen",
|
||
"sleptOk": "mäßig geschlafen",
|
||
"sleptPoorly": "schlecht geschlafen",
|
||
"earlyNight": "früh im Bett",
|
||
"workedOut": "trainiert",
|
||
"ateWell": "gesund gegessen",
|
||
"hydrated": "Wasser getrunken",
|
||
"walked": "spazieren",
|
||
"alcohol": "Alkohol",
|
||
"caffeine": "Koffein",
|
||
"nicotine": "Nikotin",
|
||
"family": "Familie",
|
||
"friends": "Freunde",
|
||
"party": "Party",
|
||
"alone": "allein",
|
||
"productive": "produktiv",
|
||
"overtime": "Überstunden",
|
||
"dayOff": "Feierabend",
|
||
"travel": "Reise",
|
||
"sickDay": "Krankheitstag",
|
||
"movies": "Filme",
|
||
"reading": "gelesen",
|
||
"gaming": "gezockt",
|
||
"music": "Musik",
|
||
"outdoors": "draußen",
|
||
"fastFood": "Fast Food",
|
||
"noSweets": "keine Süßigkeiten",
|
||
"bigMeal": "üppige Mahlzeit",
|
||
"factorWork": "Arbeit",
|
||
"factorSocial": "Soziales",
|
||
"factorSleepQuality": "Schlafqualität",
|
||
"factorStress": "Stress",
|
||
"factorConflict": "Konflikt",
|
||
"factorFamily": "Familie",
|
||
"factorSadness": "Traurigkeit",
|
||
"praise": "Lob"
|
||
},
|
||
"sourceManual": "Manuell",
|
||
"sourceWeb": "Web",
|
||
"sourceTelegram": "Telegram",
|
||
"sourceDaylio": "Daylio",
|
||
"bulkDeleteSuccess": "{count} Einträge gelöscht",
|
||
"bulkDeleteSuccessOne": "Eintrag gelöscht",
|
||
"bulkDeleteError": "Fehler beim Löschen der ausgewählten Einträge",
|
||
"bulkDeleteConfirmTitle": "{count} Einträge löschen?",
|
||
"bulkDeleteConfirmTitleOne": "Diesen Eintrag löschen?",
|
||
"bulkDeleteConfirmBody": "Die {count} ausgewählten Stimmungseinträge werden gelöscht. Direkt danach kannst du das kurz rückgängig machen.",
|
||
"bulkDeleteConfirmBodyOne": "Der ausgewählte Stimmungseintrag wird gelöscht. Direkt danach kannst du das kurz rückgängig machen.",
|
||
"customize": "Stimmungs-Tags anpassen",
|
||
"addTagInline": "Tag hinzufügen",
|
||
"manage": {
|
||
"groupsTitle": "Gruppen",
|
||
"groupsDescription": "Lege eigene Gruppen an und bestimme ihre Reihenfolge in der Auswahl.",
|
||
"newGroup": "Neue Gruppe",
|
||
"groupLabel": "Gruppenname",
|
||
"groupIcon": "Symbol",
|
||
"groupCreated": "Gruppe erstellt",
|
||
"groupRenamed": "Gruppe gespeichert",
|
||
"groupDeleteTitle": "Gruppe löschen?",
|
||
"groupDeleteBody": "Tags aus dieser Gruppe wandern zurück in ihre ursprüngliche Gruppe. Es werden keine Einträge gelöscht.",
|
||
"groupDeleted": "Gruppe gelöscht",
|
||
"groupEmpty": "Noch keine eigenen Gruppen.",
|
||
"groupLimitReached": "Gruppen-Limit erreicht",
|
||
"tagsTitle": "Tags",
|
||
"tagsDescription": "Blende Tags aus, sortiere und verschiebe sie oder bearbeite sie.",
|
||
"newTag": "Neuer Tag",
|
||
"tagLabel": "Tag-Name",
|
||
"tagIcon": "Symbol",
|
||
"tagGroup": "Gruppe",
|
||
"usageCount": "{count} Einträge",
|
||
"hideTag": "Tag ausblenden",
|
||
"showTag": "Tag einblenden",
|
||
"moveToGroup": "In Gruppe verschieben",
|
||
"archive": "Archivieren",
|
||
"restore": "Wiederherstellen",
|
||
"archivedTitle": "Archivierte Tags",
|
||
"archivedDescription": "Archivierte Tags bleiben in deinen bisherigen Einträgen erhalten — sie verschwinden nur aus der Auswahl.",
|
||
"archivedEmpty": "Nichts archiviert.",
|
||
"purgeTitle": "Tag endgültig löschen?",
|
||
"purgeBody": "Der Tag wird aus {count} bisherigen Einträgen entfernt. Das lässt sich nicht rückgängig machen.",
|
||
"purgeAction": "Endgültig löschen",
|
||
"purged": "Tag gelöscht",
|
||
"tagLimitReached": "Tag-Limit erreicht",
|
||
"iconPickerTitle": "Symbol wählen",
|
||
"iconSearchPlaceholder": "Symbole durchsuchen…",
|
||
"iconSearchEmpty": "Kein passendes Symbol.",
|
||
"iconSearchClear": "Suche leeren",
|
||
"orderSave": "Reihenfolge speichern",
|
||
"orderSaved": "Reihenfolge gespeichert",
|
||
"moveUp": "Nach oben",
|
||
"moveDown": "Nach unten",
|
||
"iconGroupEmotions": "Gefühle",
|
||
"iconGroupActivities": "Aktivitäten",
|
||
"iconGroupHealth": "Gesundheit",
|
||
"iconGroupFood": "Essen & Trinken",
|
||
"iconGroupWeather": "Wetter",
|
||
"iconGroupPlaces": "Orte",
|
||
"iconGroupMisc": "Sonstiges"
|
||
},
|
||
"sectionMoreTags": "Weitere Tags",
|
||
"sectionNoteDetails": "Notiz & Details",
|
||
"quickTagsHelp": "Häufig genutzte Tags — ein Tipp genügt",
|
||
"quickTagsExpand": "Weitere",
|
||
"loadError": "Stimmungseinträge konnten nicht geladen werden.",
|
||
"sectionLevelA": "Gefühlslage",
|
||
"sectionLevelAHelp": "Optional. Was du nicht angibst, bleibt leer.",
|
||
"dimensionNotAnswered": "nicht angegeben",
|
||
"dimensionClear": "leeren",
|
||
"dimensionValueText": "{value} von {max}: {low} bis {high}",
|
||
"dimension": {
|
||
"a1": {
|
||
"label": "Stimmung",
|
||
"low": "sehr unangenehm",
|
||
"high": "sehr angenehm"
|
||
},
|
||
"a2": {
|
||
"label": "Stress",
|
||
"low": "vollkommen entspannt",
|
||
"high": "extrem belastet"
|
||
},
|
||
"a3": {
|
||
"label": "Energie",
|
||
"low": "erschöpft",
|
||
"high": "energiegeladen"
|
||
},
|
||
"a4": {
|
||
"label": "Verbundenheit",
|
||
"low": "isoliert",
|
||
"high": "verstanden und unterstützt"
|
||
},
|
||
"a5": {
|
||
"label": "Stabilität",
|
||
"low": "vollständig überfordert",
|
||
"high": "sehr handlungsfähig"
|
||
}
|
||
},
|
||
"context": {
|
||
"section": {
|
||
"work": "Arbeit",
|
||
"contacts": "Kontakte",
|
||
"leisure": "Freizeit",
|
||
"events": "Ereignis"
|
||
},
|
||
"field": {
|
||
"workStatus": "Arbeitstag",
|
||
"workMinutes": "Arbeitszeit",
|
||
"overtimeMinutes": "Überstunden",
|
||
"workLoad": "Arbeitsbelastung",
|
||
"workSatisfaction": "Zufriedenheit mit der Arbeit",
|
||
"contactCircles": "Mit wem Kontakt bestand",
|
||
"contactForm": "Art des Kontakts",
|
||
"contactExtent": "Dauer",
|
||
"contactQuality": "Qualität des Kontakts",
|
||
"contactSupport": "Empfundene Unterstützung",
|
||
"leisureCategories": "Womit die Freizeit verbracht wurde",
|
||
"leisureMinutes": "Zeit für dich",
|
||
"leisureJoy": "Freude",
|
||
"leisureRecovery": "Erholung",
|
||
"eventType": "Was passiert ist",
|
||
"eventValence": "Wie es angekommen ist",
|
||
"eventAt": "Wann",
|
||
"notes": "Notiz"
|
||
},
|
||
"workStatus": {
|
||
"off": "Nicht gearbeitet",
|
||
"partial": "Teilweise gearbeitet",
|
||
"regular": "Regulär gearbeitet",
|
||
"overtime": "Länger als üblich"
|
||
},
|
||
"contactCircles": {
|
||
"partner": "Partnerschaft",
|
||
"child": "Kind",
|
||
"family": "Familie",
|
||
"friends": "Freundeskreis",
|
||
"colleagues": "Kollegium",
|
||
"acquaintances": "Bekannte",
|
||
"professional": "Professionelle Begleitung",
|
||
"other": "Sonstige"
|
||
},
|
||
"contactForm": {
|
||
"inPerson": "Persönlich",
|
||
"phone": "Telefon",
|
||
"video": "Videoanruf",
|
||
"written": "Schriftlich"
|
||
},
|
||
"contactExtent": {
|
||
"brief": "Kurz",
|
||
"medium": "Mittel",
|
||
"extended": "Ausgedehnt"
|
||
},
|
||
"leisureCategories": {
|
||
"film": "Film oder Serie",
|
||
"reading": "Lesen",
|
||
"gaming": "Spielen",
|
||
"music": "Musik",
|
||
"creative": "Kreatives",
|
||
"outing": "Unterwegs",
|
||
"garden": "Garten",
|
||
"cooking": "Kochen",
|
||
"timeWithChild": "Zeit mit dem Kind",
|
||
"relaxation": "Ausruhen",
|
||
"other": "Sonstiges"
|
||
},
|
||
"eventType": {
|
||
"goodNews": "Gute Nachricht",
|
||
"badNews": "Schlechte Nachricht",
|
||
"success": "Etwas ist gelungen",
|
||
"disappointment": "Eine Enttäuschung",
|
||
"conflict": "Ein Konflikt",
|
||
"appointment": "Ein Termin",
|
||
"familyEvent": "Ein Familienereignis",
|
||
"change": "Eine Veränderung",
|
||
"unexpected": "Etwas Unerwartetes"
|
||
},
|
||
"rating": {
|
||
"workLoad": {
|
||
"low": "kein Druck",
|
||
"high": "unter starkem Druck"
|
||
},
|
||
"workSatisfaction": {
|
||
"low": "gar nicht zufrieden",
|
||
"high": "sehr zufrieden"
|
||
},
|
||
"contactQuality": {
|
||
"low": "hat nicht gutgetan",
|
||
"high": "hat sehr gutgetan"
|
||
},
|
||
"contactSupport": {
|
||
"low": "nicht unterstützt",
|
||
"high": "gut unterstützt"
|
||
},
|
||
"leisureJoy": {
|
||
"low": "keine Freude",
|
||
"high": "viel Freude"
|
||
},
|
||
"leisureRecovery": {
|
||
"low": "nicht erholsam",
|
||
"high": "sehr erholsam"
|
||
},
|
||
"eventValence": {
|
||
"low": "deutlich schlecht",
|
||
"high": "deutlich gut"
|
||
}
|
||
}
|
||
},
|
||
"dayContext": {
|
||
"minutesPlaceholder": "Minuten",
|
||
"contactsHelp": "Wie viele Menschen es waren, sagt nichts über den Tag. Was zählt, ist wie der Kontakt sich angefühlt hat.",
|
||
"notePlaceholder": "Was zu diesem Tag noch gehört",
|
||
"notRecorded": "nicht erfasst",
|
||
"linkedTitle": "Aus deinen anderen Modulen",
|
||
"linkedHelp": "Gelesen, wo es gepflegt wird. Änderst du es dort, ändert es sich auch hier.",
|
||
"linkedSleep": "Geschlafen",
|
||
"linkedInBed": "Im Bett",
|
||
"linkedSteps": "Schritte",
|
||
"linkedActiveEnergy": "Aktive Energie",
|
||
"linkedRestingHeartRate": "Ruhepuls",
|
||
"linkedHrv": "Herzratenvariabilität",
|
||
"bodyLogged": "Im Krankheitstagebuch erfasst: {count} Symptome",
|
||
"bodyNotLogged": "Für diesen Tag ist im Krankheitstagebuch nichts erfasst",
|
||
"openIllness": "Öffnen"
|
||
}
|
||
},
|
||
"medications": {
|
||
"title": "Medikamente",
|
||
"subtitle": "Medikamente, Zeitpläne & Einnahmen",
|
||
"loginRequired": "Bitte anmelden, um Medikamente zu verwalten.",
|
||
"addMedication": "Hinzufügen",
|
||
"firstMedication": "Erstes Medikament hinzufügen",
|
||
"addChoice": {
|
||
"logIntake": "Einnahme erfassen",
|
||
"newMedication": "Neues Medikament"
|
||
},
|
||
"takeAllDue": {
|
||
"button": "Alle fälligen einnehmen",
|
||
"dialogTitle": "Fällige Medikamente einnehmen",
|
||
"dialogDescription": "Diese Medikamente sind jetzt fällig. Bestätige, um sie alle als genommen zu erfassen.",
|
||
"confirm": "Alle einnehmen ({count})",
|
||
"successToast": "{count} Einnahmen erfasst",
|
||
"partialToast": "{taken} erfasst, {failed} fehlgeschlagen — bitte erneut versuchen",
|
||
"failedToast": "Keine Einnahme erfasst — bitte erneut versuchen"
|
||
},
|
||
"logIntake": {
|
||
"dialogTitle": "Einnahme erfassen",
|
||
"dialogDescription": "Erfasse eine Dosis für ein vorhandenes Medikament. Du kannst sie auf ein vergangenes Datum und eine vergangene Uhrzeit zurückdatieren.",
|
||
"medicationLabel": "Medikament",
|
||
"slotLabel": "Einnahmeslot",
|
||
"slotNone": "Kein bestimmter Slot",
|
||
"doseLabel": "Dosis",
|
||
"doseHint": "Vorbelegt mit der Dosis des Medikaments bzw. Slots. Passe sie an, um eine abweichende Dosis nur für diese Einnahme zu erfassen.",
|
||
"takenAtLabel": "Datum und Uhrzeit",
|
||
"takenAtHint": "Standard ist jetzt; wähle ein früheres Datum und eine frühere Uhrzeit, um eine vergangene Dosis zu erfassen.",
|
||
"skippedLabel": "Als übersprungen erfassen",
|
||
"noMedications": "Lege zuerst ein Medikament an, dann kannst du Einnahmen dafür erfassen.",
|
||
"cancel": "Abbrechen",
|
||
"submit": "Einnahme erfassen",
|
||
"slotError": "Der gewählte Slot konnte keiner Uhrzeit zugeordnet werden. Bitte wähle einen anderen Slot oder „Kein bestimmter Slot“."
|
||
},
|
||
"emptyTitle": "Noch keine Medikamente",
|
||
"emptyDescription": "Lege Medikamente, Dosierungen und Einnahmefenster an, um die Therapietreue zu erfassen.",
|
||
"loadFailed": "Medikamente konnten nicht geladen werden",
|
||
"retryLoad": "Erneut laden",
|
||
"inactive": "Pausiert",
|
||
"intakeHistory": "Einnahme-Verlauf",
|
||
"openDetailPage": "Medikament-Detailseite öffnen",
|
||
"compliance": "Therapietreue",
|
||
"importIntakes": "Einnahmen importieren",
|
||
"importDescription": "JSON-Array mit Einnahme-Daten einfügen. Erwartetes Format:",
|
||
"importUploadFile": "JSON-Datei hochladen",
|
||
"importPaste": "JSON hier einfügen…",
|
||
"importSelected": "Ausgewählt: {name}",
|
||
"importFileLoaded": "Datei „{name}“ geladen",
|
||
"importInvalidJson": "Datei enthält kein gültiges JSON",
|
||
"importNoArray": "Kein Array gefunden",
|
||
"importFailed": "Import fehlgeschlagen",
|
||
"importInvalidFormat": "Ungültiges JSON-Format",
|
||
"requestExample": "Request-Beispiel",
|
||
"categoryBloodPressure": "Blutdrucksenker",
|
||
"categoryVitamin": "Vitamine",
|
||
"categoryThyroid": "Schilddrüse",
|
||
"categoryHormone": "Hormone",
|
||
"categorySupplement": "Nahrungsergänzung",
|
||
"categoryPainRelief": "Schmerzmittel",
|
||
"categoryAllergy": "Allergie",
|
||
"categoryDigestive": "Magen/Darm",
|
||
"categorySkin": "Hautpflege",
|
||
"categorySleepAid": "Schlafmittel",
|
||
"categoryDiabetes": "Diabetes",
|
||
"categoryAntibiotic": "Antibiotikum",
|
||
"categoryMentalHealth": "Psychische Gesundheit",
|
||
"categoryOther": "Sonstiges",
|
||
"daysSun": "So",
|
||
"daysMon": "Mo",
|
||
"daysTue": "Di",
|
||
"daysWed": "Mi",
|
||
"daysThu": "Do",
|
||
"daysFri": "Fr",
|
||
"daysSat": "Sa",
|
||
"back": "Zurück",
|
||
"today": "Heute",
|
||
"yesterday": "Gestern",
|
||
"tomorrow": "Morgen",
|
||
"asNeededMarker": "Bei Bedarf",
|
||
"recordOnlyBadge": "Nur dokumentiert",
|
||
"courseEndedBadge": "Beendet",
|
||
"trackIntake": {
|
||
"title": "Einnahmen erfassen",
|
||
"label": "Einnahmen erfassen",
|
||
"helperOn": "Dosen werden nach diesem Plan fällig, mit Erinnerungen und Therapietreue.",
|
||
"helperOff": "Nur dokumentiert: nichts wird fällig, keine Erinnerungen, keine Therapietreue.",
|
||
"enabledToast": "Einnahmen werden erfasst",
|
||
"disabledToast": "Einnahmen werden nicht erfasst",
|
||
"toggleFailed": "Einnahme-Erfassung konnte nicht geändert werden."
|
||
},
|
||
"withoutNotification": "Ohne Benachrichtigung",
|
||
"pausedSince": "Pausiert seit",
|
||
"takeNow": "Jetzt einnehmen",
|
||
"lastDoseYesterday": "Letzte Dosis gestern",
|
||
"lastDoseDaysAgo": "Letzte Dosis vor {count} Tagen",
|
||
"overdue": "Überfällig",
|
||
"veryOverdue": "Stark überfällig",
|
||
"complianceWindow": "Therapietreue ({days} Tage)",
|
||
"complianceUnavailable": "Therapietreue konnte nicht geladen werden",
|
||
"complianceNotApplicable": "Therapietreue nicht anwendbar",
|
||
"complianceNotApplicableReason": "In HealthLog ist kein lokaler Zeitplan gespeichert.",
|
||
"complianceInfo": "Anteil der erfassten an den erwarteten Dosen. Wöchentliche Pläne zählen wochenweise.",
|
||
"complianceInfoLabel": "Was bedeutet Therapietreue?",
|
||
"lastIntake": "Letzte Einnahme:",
|
||
"nextIntake": "Nächste Einnahme:",
|
||
"nextIntakeOverdue": "Überfällig · {time} — noch nachholbar",
|
||
"dayStreak": "Tage Serie",
|
||
"dayStreakOne": "Tag Serie",
|
||
"cycleDueToday": "Heute fällig",
|
||
"cycleNoClosedCycles": "Noch keine abgeschlossenen Dosiszyklen",
|
||
"taken": "Genommen",
|
||
"skipped": "Übersprungen",
|
||
"intakeToastTaken": "{name} als genommen erfasst",
|
||
"intakeToastSkipped": "{name} übersprungen",
|
||
"intakeToastFailed": "{name} konnte nicht erfasst werden — bitte erneut versuchen",
|
||
"intakeUndo": "Rückgängig",
|
||
"intakeUndone": "Eintrag zurückgenommen",
|
||
"intakeUndoFailed": "Rückgängig fehlgeschlagen — im Verlauf korrigieren",
|
||
"glp1LastInjection": "{label}",
|
||
"glp1NextInjectionDays": "{label} (in {days} Tagen)",
|
||
"glp1NextInjectionToday": "heute",
|
||
"glp1NextInjectionTomorrow": "morgen",
|
||
"glp1RotationSuggested": "Empfohlen: {site}",
|
||
"glp1LogSideEffect": "Nebenwirkung loggen",
|
||
"sideEffects": {
|
||
"section": "Nebenwirkungen",
|
||
"addCta": "Erfassen",
|
||
"sheetTitle": "Nebenwirkung erfassen",
|
||
"categoryLabel": "Kategorie",
|
||
"entryLabel": "Symptom",
|
||
"severityLabel": "Schweregrad",
|
||
"severity": {
|
||
"mild": "Leicht",
|
||
"moderate": "Mittel",
|
||
"significant": "Deutlich",
|
||
"severe": "Stark",
|
||
"verySevere": "Sehr stark"
|
||
},
|
||
"notesLabel": "Notiz (optional)",
|
||
"notesPlaceholder": "Was du dir merken willst, max. 280 Zeichen",
|
||
"submitCta": "Speichern",
|
||
"cancelCta": "Abbrechen",
|
||
"emptyState": "Noch keine Nebenwirkungen erfasst. Tracking hilft dir und deiner Ärztin, Muster über die Zeit zu erkennen.",
|
||
"recentTitle": "Letzte 30 Tage",
|
||
"loading": "Wird geladen…",
|
||
"deleteCta": "Löschen",
|
||
"deleteError": "Eintrag konnte nicht gelöscht werden",
|
||
"errorSeverity": "Schweregrad muss zwischen 1 und 5 liegen",
|
||
"errorEntry": "Wähle ein Symptom aus",
|
||
"categories": {
|
||
"gi": "Magen-Darm",
|
||
"metabolic": "Stoffwechsel",
|
||
"injectionSite": "Injektionsstelle",
|
||
"cognitive": "Kognition",
|
||
"glp1Specific": "GLP-1 spezifisch"
|
||
},
|
||
"entries": {
|
||
"nausea": "Übelkeit",
|
||
"vomiting": "Erbrechen",
|
||
"diarrhea": "Durchfall",
|
||
"constipation": "Verstopfung",
|
||
"abdominalPain": "Bauchschmerzen",
|
||
"hypoglycemiaSymptoms": "Unterzucker-Symptome",
|
||
"dehydration": "Dehydratation",
|
||
"anorexia": "Appetitverlust",
|
||
"electrolyteFatigue": "Elektrolyt-Müdigkeit",
|
||
"injectionRedness": "Rötung Einstichstelle",
|
||
"injectionSwelling": "Schwellung Einstichstelle",
|
||
"injectionBruising": "Bluterguss Einstichstelle",
|
||
"injectionInduration": "Verhärtung Einstichstelle",
|
||
"brainFog": "Konzentrationsnebel",
|
||
"dizziness": "Schwindel",
|
||
"lowMood": "Gedrückte Stimmung",
|
||
"lowEnergy": "Energielosigkeit",
|
||
"earlySatiety": "Frühes Sättigungsgefühl",
|
||
"gastroparesisLike": "Verlangsamte Magenentleerung",
|
||
"dysgeusia": "Geschmacksveränderung",
|
||
"gallbladderDiscomfort": "Gallenblasen-Beschwerden"
|
||
},
|
||
"deleteConfirmTitle": "Eintrag löschen?",
|
||
"deleteConfirmBody": "Dieser Nebenwirkungs-Eintrag wird dauerhaft entfernt."
|
||
},
|
||
"scheduling": {
|
||
"naturalLanguage": {
|
||
"title": "Medikament beschreiben",
|
||
"description": "Beschreibe das Medikament in eigenen Worten — das Formular wird automatisch vorausgefüllt.",
|
||
"placeholder": "z. B. Mounjaro 5 mg wöchentlich am Mittwochmorgen ab nächstem Montag",
|
||
"submit": "Extrahieren",
|
||
"submitBusy": "Wird verarbeitet…",
|
||
"cancel": "Abbrechen",
|
||
"examples": {
|
||
"label": "Eines dieser Beispiele übernehmen",
|
||
"weekly": "Mounjaro 5 mg wöchentlich am Mittwochmorgen",
|
||
"daily": "Ibuprofen 200 mg täglich, 3-mal am Tag",
|
||
"rolling": "Methotrexat 7,5 mg alle 7 Tage nach der letzten Spritze"
|
||
},
|
||
"error": {
|
||
"empty": "Gib zuerst eine Beschreibung ein.",
|
||
"tooLong": "Beschreibung muss unter 2000 Zeichen bleiben.",
|
||
"rateLimit": "Zu viele Anfragen — bitte kurz warten und erneut versuchen.",
|
||
"noProvider": "Kein KI-Anbieter konfiguriert — bitte in den Einstellungen einrichten.",
|
||
"budget": "Tägliches KI-Budget erreicht — bitte morgen erneut versuchen.",
|
||
"network": "KI-Anbieter nicht erreichbar — bitte erneut versuchen.",
|
||
"consent": "Für das Lesen deiner Beschreibung mit KI brauchst du zuerst deine Einwilligung.",
|
||
"unavailable": "Das Lesen von Beschreibungen mit KI ist hier gerade nicht verfügbar."
|
||
}
|
||
},
|
||
"cadence": {
|
||
"section": "Rhythmus",
|
||
"label": "Wie oft",
|
||
"kind": {
|
||
"daily": "Jeden Tag",
|
||
"weekdays": "An bestimmten Wochentagen",
|
||
"everyNWeeks": "Alle N Wochen an bestimmten Tagen",
|
||
"monthly": "Monatlich an einem bestimmten Tag",
|
||
"everyNMonths": "Alle N Monate an einem bestimmten Tag",
|
||
"yearly": "Einmal im Jahr",
|
||
"rolling": "Alle N Tage seit der letzten Einnahme (flexibel)",
|
||
"rollingExplainer": "Zählt ab der letzten erfassten Einnahme — pausiert, wenn du eine Dosis auslässt.",
|
||
"oneShot": "Einmaldosis"
|
||
},
|
||
"weekdays": {
|
||
"label": "Wochentage",
|
||
"short": {
|
||
"mo": "Mo",
|
||
"tu": "Di",
|
||
"we": "Mi",
|
||
"th": "Do",
|
||
"fr": "Fr",
|
||
"sa": "Sa",
|
||
"su": "So"
|
||
},
|
||
"long": {
|
||
"mo": "Montag",
|
||
"tu": "Dienstag",
|
||
"we": "Mittwoch",
|
||
"th": "Donnerstag",
|
||
"fr": "Freitag",
|
||
"sa": "Samstag",
|
||
"su": "Sonntag"
|
||
}
|
||
},
|
||
"intervalWeeks": {
|
||
"suffix": "Wochen"
|
||
},
|
||
"dayOfMonth": {
|
||
"label": "Tag"
|
||
},
|
||
"intervalMonths": {
|
||
"suffix": "Monate",
|
||
"dayOnLabel": "am Tag"
|
||
},
|
||
"yearly": {
|
||
"date": {
|
||
"label": "Datum"
|
||
}
|
||
},
|
||
"rollingDays": {
|
||
"suffix": "Tage"
|
||
}
|
||
},
|
||
"timesOfDay": {
|
||
"section": "Uhrzeiten",
|
||
"label": "Uhrzeiten",
|
||
"empty": {
|
||
"cta": "Erste Uhrzeit hinzufügen."
|
||
},
|
||
"add": "Uhrzeit hinzufügen",
|
||
"remove": "Entfernen",
|
||
"presets": {
|
||
"morning": "Morgens",
|
||
"noon": "Mittags",
|
||
"evening": "Abends",
|
||
"night": "Nachts"
|
||
},
|
||
"max": {
|
||
"reached": "Maximum erreicht — bitte zuerst eine Uhrzeit entfernen."
|
||
}
|
||
},
|
||
"courseWindow": {
|
||
"section": "Behandlungszeitraum",
|
||
"startsOn": {
|
||
"label": "Beginnt am"
|
||
},
|
||
"endsOn": {
|
||
"label": "Endet am"
|
||
},
|
||
"noEndDate": "Kein Enddatum",
|
||
"oneShotCaption": "(einmalige Dosis)",
|
||
"invalidRange": "Das Enddatum muss am oder nach dem Startdatum liegen."
|
||
}
|
||
},
|
||
"wizard": {
|
||
"header": {
|
||
"stepOf": "Schritt {current} von {total}",
|
||
"createTitle": "Neues Medikament",
|
||
"editTitle": "{name} bearbeiten"
|
||
},
|
||
"nav": {
|
||
"back": "Zurück",
|
||
"next": "Weiter",
|
||
"save": "Speichern",
|
||
"saveEdit": "Änderungen speichern",
|
||
"nextHint": "Weiter: {step}",
|
||
"reviewHint": "Weiter: Speichern",
|
||
"jumpFirst": "Zum ersten Schritt springen",
|
||
"jumpLast": "Zur Übersicht und zum Speichern springen"
|
||
},
|
||
"nl": {
|
||
"button": "Beschreiben"
|
||
},
|
||
"steps": {
|
||
"step1": {
|
||
"title": "Wie heißt das Medikament?",
|
||
"subline": "Genau so wie es auf der Packung steht.",
|
||
"label": "Name",
|
||
"placeholder": "z. B. Ramipril",
|
||
"short": "Name"
|
||
},
|
||
"step2": {
|
||
"title": "Was für ein Medikament ist das?",
|
||
"subline": "Wir nutzen das für passende Vorlagen und Auswertungen.",
|
||
"short": "Art"
|
||
},
|
||
"step3": {
|
||
"title": "Wie hoch ist die Dosis?",
|
||
"subline": "Eine Tablette, ein Hub, ein Tropfen — je nach Form.",
|
||
"amountLabel": "Menge",
|
||
"amountPlaceholder": "z. B. 5",
|
||
"unitLabel": "Einheit",
|
||
"unit": {
|
||
"mg": "mg",
|
||
"ml": "ml",
|
||
"iu": "I.E.",
|
||
"mcg": "µg",
|
||
"g": "g",
|
||
"tablets": "Tablette(n)",
|
||
"capsules": "Kapsel(n)",
|
||
"drops": "Tropfen",
|
||
"puffs": "Hub",
|
||
"sprays": "Sprühstoß",
|
||
"pieces": "Stück",
|
||
"other": "Sonstige"
|
||
},
|
||
"deliveryFormLabel": "Darreichung",
|
||
"deliveryForm": {
|
||
"ORAL": "Oral",
|
||
"INJECTION": "Injektion",
|
||
"OTHER": "Sonstige"
|
||
},
|
||
"dosesPerUnitLabel": "Dosen pro Einheit",
|
||
"dosesPerUnitPlaceholder": "z. B. 4",
|
||
"dosesPerUnitHint": "Dosen pro Pen / Ampulle — leer lassen, wenn kein Bestand getrackt wird.",
|
||
"short": "Dosis",
|
||
"unitsPerDoseLabel": "Einheiten pro Dosis",
|
||
"unitsPerDoseHint": "z. B. 2 Tabletten à 2 mg für eine 4-mg-Dosis — oder ½ Tablette bei geteilter Dosis"
|
||
},
|
||
"step4": {
|
||
"title": "Über welchen Zeitraum nimmst du es?",
|
||
"subline": "Heute reicht ein Startdatum. Ein Ende kannst du später setzen.",
|
||
"short": "Zeitraum"
|
||
},
|
||
"step5": {
|
||
"title": "Wie oft nimmst du es?",
|
||
"subline": "Wähle die Regelmäßigkeit — die Details kommen im nächsten Schritt.",
|
||
"short": "Takt"
|
||
},
|
||
"step6": {
|
||
"title": "Wie sieht das im Detail aus?",
|
||
"subline": "Trage Wochentage, Intervalle oder den Tag im Monat ein.",
|
||
"intervalWeeks": {
|
||
"label": "Alle",
|
||
"suffix": "Wochen"
|
||
},
|
||
"dayOfMonth": {
|
||
"label": "Am",
|
||
"suffix": "Tag des Monats"
|
||
},
|
||
"rollingDays": {
|
||
"label": "Alle",
|
||
"suffix": "Tage ab der letzten Einnahme"
|
||
},
|
||
"short": "Details"
|
||
},
|
||
"step7": {
|
||
"title": "Wann nimmst du es?",
|
||
"subline": "Eine oder mehrere Uhrzeiten — die Erinnerungen richten sich danach.",
|
||
"presetsLabel": "Tagespresets",
|
||
"presets": {
|
||
"morning": "Morgens",
|
||
"noon": "Mittags",
|
||
"evening": "Abends",
|
||
"night": "Nachts"
|
||
},
|
||
"overrideHint": "Optional — für diese Uhrzeit eine abweichende Dosis oder Stückzahl festlegen. Leer lassen, um den Standard des Medikaments zu verwenden.",
|
||
"doseOverrideLabel": "Dosis für diese Uhrzeit (optional)",
|
||
"doseOverridePlaceholder": "z. B. eine halbe Tablette",
|
||
"unitsOverrideLabel": "Verbrauchte Einheiten zu dieser Uhrzeit",
|
||
"unitsOverrideInherit": "Standard",
|
||
"short": "Zeiten"
|
||
},
|
||
"step8": {
|
||
"title": "Fertig — soll HealthLog dich erinnern?",
|
||
"subline": "Du kannst alles unten nochmal prüfen, bevor du speicherst.",
|
||
"remindersLabel": "Erinnerungen aktiv",
|
||
"remindersDescription": "Push, Telegram oder ntfy — je nach deinen Einstellungen.",
|
||
"noChannelHint": "Erinnerungen brauchen einen Benachrichtigungskanal — aktuell ist keiner aktiv.",
|
||
"noChannelHintLink": "Benachrichtigungen einrichten",
|
||
"short": "Fertig"
|
||
}
|
||
},
|
||
"classRow": {
|
||
"bloodPressure": "Blutdruck",
|
||
"diabetes": "Diabetes",
|
||
"hormone": "Hormone",
|
||
"glp1": "GLP-1-Injektion",
|
||
"painRelief": "Schmerz",
|
||
"allergy": "Allergie",
|
||
"vitamin": "Vitamine",
|
||
"supplement": "Nahrungsergänzung",
|
||
"antibiotic": "Antibiotikum",
|
||
"mentalHealth": "Psychische Gesundheit",
|
||
"thyroid": "Schilddrüse",
|
||
"digestive": "Magen/Darm",
|
||
"skin": "Hautpflege",
|
||
"sleepAid": "Schlafmittel",
|
||
"other": "Sonstiges"
|
||
},
|
||
"cadence": {
|
||
"daily": {
|
||
"label": "Täglich",
|
||
"description": "Jeden Tag, immer zur gleichen Uhrzeit."
|
||
},
|
||
"weekdays": {
|
||
"label": "Bestimmte Wochentage",
|
||
"description": "Z. B. Montag, Mittwoch, Freitag."
|
||
},
|
||
"everyNWeeks": {
|
||
"label": "Alle X Wochen",
|
||
"description": "Z. B. alle 2 Wochen Donnerstags (GLP-1, Biologika)."
|
||
},
|
||
"monthly": {
|
||
"label": "Monatlich",
|
||
"description": "An einem festen Tag im Monat (z. B. immer am 1.)."
|
||
},
|
||
"rolling": {
|
||
"label": "Flexibel ab letzter Einnahme",
|
||
"description": "Du lässt den nächsten Termin offen, drückst 'genommen' wenn du sie genommen hast — ab dem Zeitpunkt zählt der Counter wieder."
|
||
},
|
||
"oneShot": {
|
||
"label": "Einmalig",
|
||
"description": "Einzelgabe, zum Beispiel eine Impfung oder ein Antibiotikum."
|
||
},
|
||
"asNeeded": {
|
||
"label": "Bei Bedarf",
|
||
"description": "Kein fester Plan — du erfasst eine Einnahme, wenn du sie brauchst (z. B. Schmerzmittel)."
|
||
}
|
||
},
|
||
"summary": {
|
||
"title": "Übersicht",
|
||
"cadence": {
|
||
"daily": "Jeden Tag",
|
||
"weekdays": "An ausgewählten Wochentagen",
|
||
"biweekly": "Alle zwei Wochen",
|
||
"monthly": "Monatlich",
|
||
"quarterly": "Alle drei Monate",
|
||
"yearly": "Einmal im Jahr",
|
||
"rolling": "Alle {n} Tage seit der letzten Einnahme",
|
||
"oneShot": "Eine Einmaldosis",
|
||
"asNeeded": "Bei Bedarf",
|
||
"everyNWeeks": "Alle {n} Wochen",
|
||
"everyNMonths": "Alle {n} Monate"
|
||
},
|
||
"weekdaysDetail": ", an {days}",
|
||
"dayOfMonthDetail": ", am {day}.",
|
||
"times": "um {times}",
|
||
"startsOn": "Beginn: {date}",
|
||
"endsOn": "Ende: {date}",
|
||
"noEndDate": "Kein Enddatum"
|
||
},
|
||
"compose": {
|
||
"scheduleIndex": "Zeitplan {n} von {total}",
|
||
"list": {
|
||
"add": "Weiteren Zeitplan hinzufügen",
|
||
"edit": "Bearbeiten",
|
||
"remove": "Entfernen",
|
||
"removeDisabled": "Mindestens ein Zeitplan ist erforderlich."
|
||
}
|
||
},
|
||
"errors": {
|
||
"submitFailed": "Medikament konnte nicht gespeichert werden — bitte erneut versuchen."
|
||
}
|
||
},
|
||
"doseStrength": {
|
||
"title": "Dosisstärke im Zeitverlauf",
|
||
"axisLabel": "Erfasste Dosis ({unit})",
|
||
"tooltipLabel": "Dosis",
|
||
"currentDose": "Aktuelle Dosis: {dose} {unit}",
|
||
"noCurrentDose": "Noch keine Dosis erfasst.",
|
||
"empty": "Noch keine Titrations-Historie. Erfasse eine Dosisänderung, um die Stärkekurve zu sehen."
|
||
},
|
||
"titration": {
|
||
"title": "Titrationsplan",
|
||
"empty": "Noch keine Dosis-Steigerungsschritte erfasst. Datierte Dosisänderungen hinzufügen, um den Plan abzubilden.",
|
||
"youAreHere": "Du bist hier",
|
||
"doseStep": "{dose} {unit}",
|
||
"plannedFor": "Geplant · {date}"
|
||
},
|
||
"injectionSiteBodyOutlineAriaLabel": "Körperumriss",
|
||
"injectionSitePickerAriaLabel": "Injektionsstelle auswählen",
|
||
"injectionSiteRecommendedAriaLabel": "{site} — empfohlene nächste Stelle",
|
||
"injectionSiteLegendAriaLabel": "Legende der Markierungen",
|
||
"injectionSiteLegendRecommended": "Empfohlene nächste Stelle",
|
||
"injectionSiteLegendLastUsed": "Zuletzt verwendete Stelle",
|
||
"siteAbdomenLeft": "Bauch, unten links",
|
||
"siteAbdomenRight": "Bauch, unten rechts",
|
||
"siteAbdomenUpperLeft": "Bauch, oben links",
|
||
"siteAbdomenUpperRight": "Bauch, oben rechts",
|
||
"siteThighLeft": "Linker Oberschenkel",
|
||
"siteThighRight": "Rechter Oberschenkel",
|
||
"siteUpperArmLeft": "Linker Oberarm",
|
||
"siteUpperArmRight": "Rechter Oberarm",
|
||
"sideEffectTagsHelp": "Tippe einen Chip, um ihn zu den Stimmungs-Tags hinzuzufügen.",
|
||
"sideEffectTagNausea": "Übelkeit",
|
||
"sideEffectTagConstipation": "Verstopfung",
|
||
"sideEffectTagDiarrhea": "Durchfall",
|
||
"sideEffectTagFatigue": "Müdigkeit",
|
||
"sideEffectTagAppetiteLoss": "Appetitlosigkeit",
|
||
"sideEffectTagHeartburn": "Sodbrennen",
|
||
"sideEffectTagHeadache": "Kopfschmerzen",
|
||
"phaseConfig": "Erinnerungsphasen",
|
||
"phaseConfigDescription": "Konfiguriere die Zeitpunkte für Erinnerungen.",
|
||
"phaseGreen": "Grün",
|
||
"phaseYellow": "Gelb",
|
||
"phaseOrange": "Orange",
|
||
"phaseRed": "Rot",
|
||
"phaseMinutes": "Min",
|
||
"phasePercent": "%",
|
||
"phaseResetDefaults": "Auf Defaults zurücksetzen",
|
||
"phaseSaved": "Erinnerungsphasen gespeichert",
|
||
"sourceWeb": "Web",
|
||
"sourceApi": "iOS-App",
|
||
"sourceReminder": "Erinnerung",
|
||
"sourceImport": "Import",
|
||
"sourceAppleHealth": "Apple Health",
|
||
"intakeSourceVia": "über {origin}",
|
||
"intakeHistoryEmptyTitle": "Noch keine Einnahmen erfasst",
|
||
"intakeHistoryEmptyDescription": "Trage eine Einnahme auf der Tagesübersicht ein, um den Verlauf aufzubauen.",
|
||
"intakeHistoryEmptyAction": "Zur Tagesübersicht",
|
||
"intakeHistoryColTaken": "Eingenommen",
|
||
"intakeHistoryColScheduled": "Geplant",
|
||
"intakeHistoryColStatus": "Status",
|
||
"intakeHistoryColSource": "Quelle",
|
||
"intakeHistoryStatusTaken": "Eingenommen",
|
||
"intakeHistoryStatusSkipped": "Übersprungen",
|
||
"intakeHistorySortByTaken": "Nach Einnahme-Zeitpunkt sortieren",
|
||
"intakeHistorySortByScheduled": "Nach geplantem Zeitpunkt sortieren",
|
||
"intakeHistoryPageInfo": "Seite {page} von {total} · {count} Einträge",
|
||
"intakeHistoryPrev": "Zurück",
|
||
"intakeHistoryNext": "Weiter",
|
||
"glp1": {
|
||
"drug": {
|
||
"tirzepatide": {
|
||
"name": "Tirzepatid"
|
||
},
|
||
"semaglutide": {
|
||
"name": "Semaglutid"
|
||
},
|
||
"liraglutide": {
|
||
"name": "Liraglutid"
|
||
},
|
||
"dulaglutide": {
|
||
"name": "Dulaglutid"
|
||
},
|
||
"exenatide": {
|
||
"name": "Exenatid"
|
||
}
|
||
}
|
||
},
|
||
"researchMode": {
|
||
"chart": {
|
||
"title": "Geschätzter Wirkstoffverlauf",
|
||
"axisLabel": "Geschätzter Spiegel (relativ)",
|
||
"emptyState": "Noch keine Einnahmen erfasst.",
|
||
"emptyStateCta": "Trage eine Dosis ein, damit die geschätzte Verlaufskurve Gestalt annimmt.",
|
||
"estimateNote": "Edukative Schätzung aus EMA-publizierter Populations-Pharmakokinetik. Keine Messung.",
|
||
"unknownDrug": "{name} ist nicht im EMA-zugelassenen GLP-1-Katalog enthalten. HealthLog kann dafür keine Populations-Pharmakokinetik-Kurve erzeugen."
|
||
}
|
||
},
|
||
"detail": {
|
||
"status": {
|
||
"active": "Aktiv",
|
||
"paused": "Pausiert",
|
||
"ended": "Beendet"
|
||
},
|
||
"cadence": {
|
||
"oneShotOn": "Einmalige Dosis am {date}.",
|
||
"oneShotPending": "Einmalige Dosis ausstehend.",
|
||
"asNeeded": "Bei Bedarf — kein fester Plan."
|
||
},
|
||
"intake": {
|
||
"title": "Einnahmeverlauf",
|
||
"importButton": "Importieren",
|
||
"rowActions": {
|
||
"openMenu": "Zeilen-Aktionen öffnen",
|
||
"edit": "Bearbeiten",
|
||
"delete": "Löschen"
|
||
},
|
||
"selection": {
|
||
"rowToggleLabel": "Zeile auswählen"
|
||
},
|
||
"bulkDelete": {
|
||
"selectionCount": "{count} Einträge ausgewählt",
|
||
"deleteButton": "Auswahl löschen",
|
||
"cancelButton": "Abbrechen",
|
||
"confirmTitle": "Ausgewählte Einträge löschen?",
|
||
"confirmBody": "{count} Einträge werden dauerhaft entfernt. Das Medikament bleibt.",
|
||
"confirmAction": "Löschen",
|
||
"toast": "Auswahl gelöscht",
|
||
"failed": "Auswahl konnte nicht gelöscht werden."
|
||
},
|
||
"edit": {
|
||
"dialogTitle": "Einnahme bearbeiten",
|
||
"takenAtLabel": "Eingenommen um",
|
||
"scheduledForHint": "Geplant: {dateTime}",
|
||
"farFromScheduledWarning": "Liegt weit vom geplanten Zeitpunkt entfernt — Datum prüfen.",
|
||
"skippedLabel": "Übersprungen",
|
||
"save": "Speichern",
|
||
"cancel": "Abbrechen",
|
||
"savedToast": "Einnahme aktualisiert",
|
||
"failed": "Einnahme konnte nicht aktualisiert werden."
|
||
},
|
||
"deleteRow": {
|
||
"confirmTitle": "Diese Einnahme löschen?",
|
||
"confirmBody": "Der Eintrag wird dauerhaft entfernt.",
|
||
"confirmAction": "Löschen",
|
||
"toast": "Einnahme gelöscht",
|
||
"failed": "Einnahme konnte nicht gelöscht werden."
|
||
},
|
||
"viewRecent90": "Letzte 90 Tage",
|
||
"viewAll": "Komplette Historie",
|
||
"viewToggleLabel": "Verlaufsbereich"
|
||
},
|
||
"verlauf": {
|
||
"loading": "Verlauf wird geladen…",
|
||
"loadError": "Verlauf konnte nicht geladen werden.",
|
||
"empty": "Noch keine Einnahmen in diesem Zeitraum.",
|
||
"summaryEmpty": "Noch keine auswertbaren Dosen.",
|
||
"adherenceLabel": "Therapietreue",
|
||
"adherenceBarLabel": "{onTime} pünktlich, {late} verspätet, {missed} verpasst",
|
||
"add": "Eintrag",
|
||
"markTaken": "Genommen",
|
||
"markSkipped": "Übersprungen",
|
||
"rowActionsLabel": "Aktionen für {time}",
|
||
"markAsTaken": "Als genommen markieren",
|
||
"markAsSkipped": "Als übersprungen markieren",
|
||
"adHocTag": "außerplanmäßig",
|
||
"takenDetail": "geplant {planned} · genommen {taken}",
|
||
"doseTaken": "Dosis: {dose}",
|
||
"status": {
|
||
"taken_on_time": "pünktlich",
|
||
"taken_late": "verspätet",
|
||
"skipped": "übersprungen",
|
||
"missed": "verpasst",
|
||
"upcoming": "ausstehend",
|
||
"ad_hoc": "außerplanmäßig"
|
||
},
|
||
"addDialog": {
|
||
"title": "Einnahme hinzufügen",
|
||
"description": "Dosis nachtragen — auch rückwirkend oder außerplanmäßig.",
|
||
"takenAtLabel": "Genommen um",
|
||
"skippedLabel": "Übersprungen",
|
||
"nudgeHint": "Liegt nah am Slot {slot} — beim Speichern fragen wir, ob zugeordnet werden soll.",
|
||
"cancel": "Abbrechen",
|
||
"submit": "Speichern"
|
||
},
|
||
"nudge": {
|
||
"title": "Diesem Slot zuordnen?",
|
||
"body": "Die Einnahme liegt knapp außerhalb des Fensters von {slot}. Diesem Slot zuordnen oder als außerplanmäßigen Eintrag speichern?",
|
||
"keepAdHoc": "Außerplanmäßig",
|
||
"pin": "Zuordnen"
|
||
},
|
||
"pin": {
|
||
"action": "Slot {time} zuordnen",
|
||
"release": "Zuordnung lösen",
|
||
"pinnedTag": "zugeordnet",
|
||
"pinnedToast": "Einnahme dem Slot zugeordnet",
|
||
"unpinnedToast": "Zuordnung gelöst",
|
||
"dueContext": "fällig gewesen: {time} ({delta})",
|
||
"confirmTitle": "Slot {time} zuordnen?",
|
||
"confirmBody": "Die Einnahme zählt für diesen Slot genau so, als wäre sie dort erfasst worden: pünktlich oder verspätet, je nachdem, wann sie genommen wurde. Die Quote wird also nicht geschönt. Die Zuordnung lässt sich jederzeit wieder lösen.",
|
||
"confirmCancel": "Abbrechen",
|
||
"confirmAction": "Zuordnen"
|
||
}
|
||
},
|
||
"notifications": {
|
||
"title": "Erinnerungen",
|
||
"switchLabel": "Erinnern, wenn die Dosis fällig ist",
|
||
"helperOn": "Erinnerungen sind aktiv.",
|
||
"helperOff": "Erinnerungen sind aus.",
|
||
"enabledToast": "Erinnerungen aktiv",
|
||
"disabledToast": "Erinnerungen aus",
|
||
"toggleFailed": "Erinnerungs-Einstellung konnte nicht geändert werden.",
|
||
"clientManagedChip": "Vom iPhone verwaltet",
|
||
"clientManagedHint": "Dein iPhone steuert die Erinnerungen für dieses Medikament."
|
||
},
|
||
"settings": {
|
||
"title": "Einstellungen",
|
||
"phases": {
|
||
"openButton": "Phasen konfigurieren",
|
||
"requiresCourseWindow": "Phasen sind nur mit Kurs-Fenster verfügbar."
|
||
},
|
||
"grace": {
|
||
"label": "Erinnerungsfenster",
|
||
"appliesToAllNote": "Gilt für alle Zeitpläne dieses Medikaments.",
|
||
"unit": "Minuten",
|
||
"saved": "Erinnerungsfenster gespeichert",
|
||
"failed": "Erinnerungsfenster konnte nicht gespeichert werden."
|
||
},
|
||
"codes": {
|
||
"label": "Klinische Codes (ATC / RxNorm)",
|
||
"note": "Optional. Werden beim FHIR-Export der Gesundheitsakte verwendet. Codes werden genau wie eingegeben übernommen — nie geraten.",
|
||
"atcLabel": "ATC",
|
||
"rxNormLabel": "RxNorm",
|
||
"saved": "Klinische Codes gespeichert",
|
||
"failed": "Klinische Codes konnten nicht gespeichert werden."
|
||
}
|
||
},
|
||
"zone": {
|
||
"title": "Verwaltung & Gefahrenzone",
|
||
"pause": {
|
||
"title": "Pausieren",
|
||
"helper": "Erinnerungen anhalten, bis du sie wieder aktivierst. Verlauf bleibt erhalten.",
|
||
"pausedToast": "Erinnerungen pausiert",
|
||
"resumedToast": "Erinnerungen reaktiviert",
|
||
"failed": "Status konnte nicht geändert werden."
|
||
},
|
||
"end": {
|
||
"title": "Medikament beenden",
|
||
"helper": "Erinnerungen stoppen und das Medikament als beendet markieren. Verlauf bleibt sichtbar.",
|
||
"button": "Beenden",
|
||
"dialogTitle": "{name} beenden — Erinnerungen stoppen, Verlauf bleibt sichtbar",
|
||
"dialogBody": "Keine weiteren Erinnerungen. Alte Einträge bleiben in der Übersicht.",
|
||
"toast": "Medikament beendet",
|
||
"failed": "Medikament konnte nicht beendet werden."
|
||
},
|
||
"purge": {
|
||
"title": "Verlauf löschen",
|
||
"helper": "Es sind {count} Einnahmen für dieses Medikament gespeichert.",
|
||
"button": "Verlauf löschen",
|
||
"dialogTitle": "Verlauf löschen?",
|
||
"dialogBody": "Die {count} Einnahmen werden unwiderruflich gelöscht. Das Medikament selbst bleibt.",
|
||
"toast": "Verlauf gelöscht",
|
||
"failed": "Verlauf konnte nicht gelöscht werden."
|
||
},
|
||
"delete": {
|
||
"title": "Medikament löschen",
|
||
"helper": "Entfernt das Medikament und alle zugehörigen Daten.",
|
||
"button": "Löschen",
|
||
"dialogTitle": "{name} löschen?",
|
||
"dialogBody": "Medikament, Zeitpläne, Verlauf, API-Tokens, Phasen-Konfiguration und Erinnerungen werden unwiderruflich gelöscht.",
|
||
"toast": "Medikament gelöscht",
|
||
"failed": "Medikament konnte nicht gelöscht werden."
|
||
}
|
||
},
|
||
"phases": {
|
||
"modeLabel": "Modus für {phase}",
|
||
"saveFailed": "Phasen konnten nicht gespeichert werden."
|
||
},
|
||
"api": {
|
||
"caption": "Endpunkt für „{name}“",
|
||
"copyUrl": "URL kopieren",
|
||
"urlCopied": "URL kopiert",
|
||
"mintToken": "Token erzeugen",
|
||
"mintAnotherToken": "Weiteres Token erzeugen",
|
||
"mintFailed": "Token konnte nicht erzeugt werden.",
|
||
"copyFailed": "Kopieren fehlgeschlagen.",
|
||
"tokenCopied": "Token kopiert",
|
||
"copyToken": "Token kopieren",
|
||
"mintedHint": "Token jetzt kopieren — es wird nur einmal angezeigt."
|
||
},
|
||
"advanced": {
|
||
"dataPortability": {
|
||
"import": {
|
||
"title": "Einnahmen importieren",
|
||
"helper": "Vergangene Einnahmen aus einer JSON-Datei oder eingefügtem JSON laden.",
|
||
"button": "JSON importieren"
|
||
},
|
||
"export": {
|
||
"title": "Medikament exportieren",
|
||
"helper": "Dieses Medikament als CSV-Datei herunterladen.",
|
||
"includeIntake": "Einnahmeverlauf einschließen",
|
||
"button": "CSV exportieren"
|
||
}
|
||
}
|
||
},
|
||
"header": {
|
||
"historyLabel": "Einnahmeverlauf ansehen"
|
||
},
|
||
"history": {
|
||
"plannedSuffix": "geplant"
|
||
},
|
||
"tabs": {
|
||
"uebersicht": "Übersicht",
|
||
"zeitplan": "Zeitplan",
|
||
"bestand": "Bestand",
|
||
"verlauf": "Verlauf",
|
||
"injektion": "Injektion",
|
||
"api": "API",
|
||
"erweitert": "Erweitert",
|
||
"wirkung": "Wirkung"
|
||
},
|
||
"shell": {
|
||
"loadFailed": "Dieses Medikament konnte nicht geladen werden.",
|
||
"tablistLabel": "Medikamenten-Detailbereiche"
|
||
},
|
||
"uebersicht": {
|
||
"statusTitle": "Status",
|
||
"nextDoseLabel": "Nächste Dosis",
|
||
"nextDoseNone": "Keine anstehende Dosis.",
|
||
"nextDoseAsNeeded": "Bei Bedarf — keine geplante Dosis.",
|
||
"nextDoseNotTracked": "Nicht erfasst, nur dokumentiert.",
|
||
"pausedHint": "Pausiert — keine Erinnerungen.",
|
||
"reminderLabel": "Erinnerung",
|
||
"reminderOn": "Aktiv",
|
||
"reminderOff": "Aus",
|
||
"supplyLabel": "Bestand",
|
||
"supplyRunway": "Reicht noch ca. {days} Tage",
|
||
"jumpToZeitplan": "Zum Zeitplan",
|
||
"jumpToVerlauf": "Zum Verlauf",
|
||
"jumpToBestand": "Zum Bestand",
|
||
"complianceTitle": "Therapietreue",
|
||
"complianceEmpty": "Noch keine Daten zur Therapietreue."
|
||
},
|
||
"bestand": {
|
||
"title": "Bestand",
|
||
"summary": "{remaining} von {total} Dosen übrig",
|
||
"itemsTitle": "Packungen & Behälter",
|
||
"doses": "{remaining} / {total} Dosen",
|
||
"unknown": "Unbekannt",
|
||
"state": {
|
||
"ACTIVE": "Ungeöffnet",
|
||
"IN_USE": "In Gebrauch",
|
||
"EXPIRED": "Abgelaufen",
|
||
"USED_UP": "Aufgebraucht"
|
||
},
|
||
"empty": "Kein Bestand erfasst.",
|
||
"emptyHelper": "Erfasse eine Packung oder einen Behälter, um den verbleibenden Vorrat und die Reichweite zu verfolgen.",
|
||
"emptyCta": "Packung erfassen",
|
||
"addButton": "Erfassen",
|
||
"lowStockLinkOn": "Benachrichtigung bei niedrigem Bestand: unter {days} Tagen",
|
||
"lowStockLinkOff": "Benachrichtigung bei niedrigem Bestand: aus",
|
||
"addTitle": "Packung oder Behälter erfassen",
|
||
"addDescription": "Lege einen neuen Vorrat mit seiner Einheitenanzahl an; das Ablaufdatum ist optional.",
|
||
"addQuantityLabel": "Menge (Einheiten)",
|
||
"addQuantityHelper": "1–1000 Einheiten pro Packung oder Behälter.",
|
||
"addExpiryLabel": "Ablaufdatum (optional)",
|
||
"addSubmit": "Erfassen",
|
||
"addSuccess": "Bestand erfasst",
|
||
"addFailed": "Bestand konnte nicht erfasst werden.",
|
||
"adjustButton": "Anpassen",
|
||
"adjustTitle": "Behälter korrigieren",
|
||
"adjustDescription": "Verbleibende Einheiten setzen und die Daten dieses Behälters korrigieren. 0 Einheiten markiert ihn als aufgebraucht.",
|
||
"adjustQuantityLabel": "Verbleibende Einheiten",
|
||
"adjustHelper": "Kapazität: {total} Einheiten.",
|
||
"adjustSubmit": "Speichern",
|
||
"adjustSuccess": "Bestand aktualisiert",
|
||
"adjustFailed": "Bestand konnte nicht aktualisiert werden.",
|
||
"deleteTitle": "Packung löschen?",
|
||
"deleteDescription": "Entfernt diese Packung oder diesen Behälter dauerhaft aus dem Bestand. Protokollierte Einnahmen bleiben unverändert.",
|
||
"deleteSuccess": "Bestand gelöscht",
|
||
"deleteFailed": "Bestand konnte nicht gelöscht werden.",
|
||
"containerTypeLabel": "Behälterart",
|
||
"containerType": {
|
||
"PEN": "Pen",
|
||
"AMPOULE": "Ampulle",
|
||
"BLISTER": "Tablettenpackung",
|
||
"INHALER": "Inhalator",
|
||
"BOTTLE": "Flasche",
|
||
"OTHER": "Sonstiges"
|
||
},
|
||
"unitsDetail": "{remaining} / {total} Einheiten",
|
||
"quantityModeDoses": "Dosen",
|
||
"quantityModeUnits": "Einheiten",
|
||
"quantityInUnits": "= {units} Einheiten",
|
||
"quantityInDoses": "≈ {doses} Dosen",
|
||
"quantityUnderOneDose": "< 1 Dosis",
|
||
"expiredSuffix": "+ {units} Einheiten abgelaufen",
|
||
"packagingTitle": "Packung & Dosis",
|
||
"packagingUnitsPerDose": "1 Dosis = {units} Einheiten",
|
||
"packagingDefaultPack": "Standard-Packungsgröße: {units} Einheiten",
|
||
"packagingNoDefaultPack": "Keine Standard-Packungsgröße hinterlegt",
|
||
"packagingEdit": "Bearbeiten",
|
||
"packagingDescription": "Lege fest, wie viele Einheiten eine Dosis verbraucht und wie groß eine neue Packung üblicherweise ist — z. B. nach einem Herstellerwechsel mit anderer Blistergröße.",
|
||
"packagingUnitsPerDoseLabel": "Einheiten pro Dosis",
|
||
"packagingUnitsPerDoseHelper": "Z. B. 2 Tabletten à 2 mg für eine 4-mg-Dosis oder 1,5 für anderthalb (über 0, bis 100). Bereits erfasste Einnahmen bleiben unverändert.",
|
||
"packagingDefaultPackLabel": "Standard-Packungsgröße (Einheiten)",
|
||
"packagingDefaultPackHelper": "Vorbefüllung beim Erfassen neuer Packungen (1–1000). Leer lassen, wenn keine üblich ist.",
|
||
"packagingSuccess": "Packungsangaben gespeichert",
|
||
"packagingFailed": "Speichern fehlgeschlagen",
|
||
"addManufacturerLabel": "Hersteller",
|
||
"addDoseStrengthLabel": "Wirkstärke",
|
||
"addDoseStrengthHint": "Wie auf dem Behälter aufgedruckt, z. B. 5 mg/0,5 ml.",
|
||
"openedOn": "Geöffnet {date}",
|
||
"expiresOn": "Haltbar bis {date}",
|
||
"summaryAllExpired": "Kein nutzbarer Bestand: {units} Einheiten als abgelaufen markiert",
|
||
"editExpiryLabel": "Aufgedrucktes Haltbarkeitsdatum",
|
||
"editExpiryHelper": "Das Datum auf der Packung. Leer lassen, wenn keines erfasst ist.",
|
||
"editOpenedLabel": "Geöffnet am",
|
||
"editOpenedHelper": "Leer lassen, wenn der Behälter noch verschlossen ist.",
|
||
"editOpenedHelperClock": "Ein Pen oder eine Ampulle läuft 30 Tage nach dem Öffnen ab. Leer lassen, wenn noch verschlossen."
|
||
},
|
||
"erweitert": {
|
||
"group": {
|
||
"lifecycle": "Lebenszyklus",
|
||
"externalApi": "Externe API",
|
||
"data": "Daten",
|
||
"danger": "Gefahrenzone"
|
||
},
|
||
"editor": {
|
||
"title": "Medikament im Editor bearbeiten",
|
||
"helper": "Name, Wirkstoffklasse, Häufigkeit und Zeitpläne im Schritt-für-Schritt-Editor ändern.",
|
||
"button": "Editor öffnen"
|
||
}
|
||
},
|
||
"zeitplan": {
|
||
"title": "Zeitplan",
|
||
"timesTitle": "Einnahmezeiten",
|
||
"timesNote": "Passe die Uhrzeiten und das Zeitfenster jeder Dosis an. Die Häufigkeit (täglich, wöchentlich…) änderst du im Editor unter Erweitert.",
|
||
"scheduleLabel": "Zeitplan {index}",
|
||
"fullEditNote": "Häufigkeit, Wirkstoffklasse und Kursfenster bearbeitest du im Editor unter Erweitert → Lebenszyklus.",
|
||
"graceEcho": "Erinnerungsfenster: {minutes} Minuten",
|
||
"reminderTitle": "Erinnerung",
|
||
"manageChannels": "Benachrichtigungskanäle verwalten",
|
||
"history": {
|
||
"title": "Planhistorie",
|
||
"currentSince": "Aktueller Plan seit {date}",
|
||
"noTimes": "Keine festen Uhrzeiten",
|
||
"manualChip": "Manuell ergänzt",
|
||
"showErasOne": "1 frühere Ära anzeigen",
|
||
"showErasOther": "{count} frühere Ären anzeigen",
|
||
"hideEras": "Frühere Ären ausblenden",
|
||
"addEra": "Frühere Ära ergänzen",
|
||
"addEraTitle": "Frühere Ära ergänzen",
|
||
"addEraDescription": "Halte fest, zu welchen Uhrzeiten dieses Medikament früher eingenommen wurde — etwa bevor du es hier angepasst hast.",
|
||
"editAria": "Ära bearbeiten",
|
||
"editEraTitle": "Ära bearbeiten",
|
||
"editEraDescription": "Passe die Einnahmezeiten und den Zeitraum dieser Ära an.",
|
||
"archivedEditHint": "Diese Ära wurde automatisch aufgezeichnet — deine Änderung korrigiert die aufgezeichnete Historie; das Original bleibt intern als Beleg erhalten.",
|
||
"updatedToast": "Ära aktualisiert",
|
||
"updateError": "Die Ära konnte nicht aktualisiert werden. Sie darf sich nicht mit anderen Ären überschneiden und muss vor dem aktuellen Plan enden.",
|
||
"timesLabel": "Einnahmezeiten",
|
||
"fromLabel": "Von",
|
||
"untilLabel": "Bis",
|
||
"untilHint": "„Bis“ ist der Tag, ab dem der nachfolgende Plan galt (ausschließlich).",
|
||
"validationTimes": "Mindestens eine Uhrzeit angeben.",
|
||
"validationRangeMissing": "Von- und Bis-Datum angeben.",
|
||
"validationRangeOrder": "Das Von-Datum muss vor dem Bis-Datum liegen.",
|
||
"cancel": "Abbrechen",
|
||
"submit": "Ära speichern",
|
||
"createdToast": "Frühere Ära gespeichert",
|
||
"createError": "Die Ära konnte nicht gespeichert werden. Sie darf sich nicht mit bestehenden Ären überschneiden und muss vor dem aktuellen Plan enden.",
|
||
"deletedToast": "Ära gelöscht",
|
||
"deleteError": "Die Ära konnte nicht gelöscht werden",
|
||
"deleteAria": "Ära löschen",
|
||
"deleteConfirmTitle": "Ära löschen?",
|
||
"deleteConfirmBody": "Verlauf und Therapietreue werden für diesen Zeitraum wieder anhand des aktuellen Plans berechnet.",
|
||
"deleteConfirmAction": "Löschen",
|
||
"loadError": "Planhistorie konnte nicht geladen werden"
|
||
},
|
||
"save": "Zeitplan speichern",
|
||
"saved": "Zeitplan gespeichert",
|
||
"failed": "Zeitplan konnte nicht gespeichert werden",
|
||
"window": {
|
||
"intro": "Lege je Dosis fest, wann eine Einnahme als pünktlich gilt — ein genauer Zeitpunkt (±1 Std.) oder ein eigenes Fenster wie 07:00–09:00.",
|
||
"explicitToggle": "Eigenes Fenster",
|
||
"startLabel": "Fensterbeginn",
|
||
"endLabel": "Fensterende",
|
||
"onTimeBand": "Pünktlich: {start}–{end}",
|
||
"lateUntil": "verspätet bis {time}",
|
||
"lateDays": "verspätet bis {days} Tage danach",
|
||
"orderError": "Der Beginn muss vor dem Ende liegen.",
|
||
"noTimes": "Noch keine Einnahmezeiten festgelegt."
|
||
}
|
||
}
|
||
},
|
||
"logInjectionSiteTitle": "Injektionsstelle erfassen",
|
||
"logInjectionSiteDescription": "Wo hast du {name} gespritzt? Optional — du kannst dies überspringen.",
|
||
"logInjectionSiteSkip": "Überspringen",
|
||
"logInjectionSiteConfirm": "Stelle speichern",
|
||
"logInjectionSiteNoneAvailable": "Keine Injektionsstelle verfügbar — alle Stellen sind in deinen Einstellungen ausgeschlossen.",
|
||
"logInjectionSiteSaveFailed": "Injektionsstelle konnte nicht gespeichert werden. Bitte versuche es erneut.",
|
||
"perSlotUnits": "{units} pro Dosis",
|
||
"trackInjectionSitesToggle": "Injektionsstellen erfassen",
|
||
"trackInjectionSitesHint": "Nach einer eingenommenen Dosis nach der verwendeten Stelle fragen und die nächste Rotation vorschlagen.",
|
||
"allowedSitesLabel": "Erlaubte Stellen",
|
||
"allowedSitesHint": "Alle ausgewählt lassen für keine Einschränkung. Global ausgeschlossene Stellen werden nie angeboten.",
|
||
"viewToggleLabel": "Ansicht",
|
||
"viewToggleHint": "Wähle, ob deine Medikamente als Karten oder als Tabelle angezeigt werden.",
|
||
"viewCards": "Kartenansicht",
|
||
"viewTable": "Tabellenansicht",
|
||
"viewSaveFailed": "Ansicht konnte nicht gespeichert werden",
|
||
"tableCaption": "Medikamente in Tabellenform mit Status, nächster Einnahme, Therapietreue und Bestand",
|
||
"tableColName": "Name",
|
||
"tableColStatus": "Status",
|
||
"tableColNextDose": "Nächste Einnahme",
|
||
"tableColCompliance": "Therapietreue",
|
||
"tableColStock": "Bestand",
|
||
"tableColActions": "Aktionen",
|
||
"tableSortBy": "Sortieren nach {column}",
|
||
"tableComplianceDays": "{days} T",
|
||
"tableStockDoseOne": "1 Dosis",
|
||
"tableStockDoses": "{count} Dosen",
|
||
"tableStockRunway": "≈ {days} Tage übrig",
|
||
"cardLowStockRunway": "Vorrat: ≈ {days} Tage",
|
||
"takeActionFor": "Einnehmen — {name}",
|
||
"skipActionFor": "Überspringen — {name}",
|
||
"reorderTitle": "Reihenfolge anpassen",
|
||
"reorderDescription": "Bestimme die Reihenfolge deiner Medikamente — sie gilt für die Karten- und die Tabellenansicht.",
|
||
"reorderSaved": "Reihenfolge gespeichert",
|
||
"reorderSaveFailed": "Reihenfolge konnte nicht gespeichert werden",
|
||
"customize": "Medikamente anpassen",
|
||
"efficacy": {
|
||
"title": "Wirkung",
|
||
"intro": "Wie sich die Messwerte, die dieses Medikament beeinflussen soll, rund um den Beginn der Einnahme entwickelt haben. Es zeigt den zeitlichen Zusammenhang — eine Assoziation, keine Ursache — und keine Empfehlung zu Behandlung oder Dosis.",
|
||
"notEligible": "Für dieses Medikament gibt es keinen zugehörigen Messwert.",
|
||
"startFallback": "Es ist kein Startdatum hinterlegt, daher dient der erste erfasste Wert als Bezugspunkt.",
|
||
"noStart": "Hinterlege ein Startdatum, um die Werte vor und nach Beginn zu vergleichen.",
|
||
"disclaimer": "Nur ein Zusammenhang: Die Zahlen zeigen, was sich im selben Zeitraum verändert hat, nicht dass das Medikament die Veränderung verursacht hat. Besprich Entscheidungen zu deiner Behandlung mit deiner Ärztin oder deinem Arzt.",
|
||
"primaryBadge": "Hauptziel",
|
||
"noSeries": "Für diesen Zielwert sind noch keine Messungen erfasst.",
|
||
"startMarker": "Beginn",
|
||
"adherenceLane": "Einnahmetreue",
|
||
"typicalRange": "Üblicher Bereich",
|
||
"levelShift": "Um {date} wurde eine Verschiebung des Niveaus erkannt.",
|
||
"plateau": {
|
||
"title": "Gewichts-Plateau auf aktueller Dosis",
|
||
"evidence": "Gewichtsveränderung von {delta} {unit} in den letzten {window} Tagen ({readings} Messungen) — seit {days} Tagen auf {dose}."
|
||
},
|
||
"retarget": {
|
||
"label": "Nicht der richtige Messwert?",
|
||
"placeholder": "Verfolgen anhand…",
|
||
"apply": "Übernehmen",
|
||
"reset": "Auf Standard zurücksetzen",
|
||
"error": "Diese Änderung konnte nicht gespeichert werden. Bitte erneut versuchen."
|
||
},
|
||
"beforeAfter": {
|
||
"summary": "Ø {before} davor → Ø {after} seitdem — eine Veränderung von {delta}.",
|
||
"counts": "Basierend auf {beforeCount} Werten davor und {afterCount} seitdem.",
|
||
"needBefore": "Noch zu wenige Werte vor dem Beginn — für einen Vergleich werden etwa {weeks} Wochen davor und danach benötigt.",
|
||
"needAfter": "Noch zu wenige Werte seit dem Beginn — für einen Vergleich werden etwa {weeks} Wochen davor und danach benötigt.",
|
||
"needStart": "Hinterlege ein Startdatum, um die Werte vor und nach Beginn zu vergleichen.",
|
||
"needData": "Noch zu wenige Werte — für einen Vergleich werden etwa {weeks} Wochen vor und nach dem Beginn benötigt."
|
||
},
|
||
"insights": {
|
||
"title": "Medikamenten-Wirkung",
|
||
"subtitle": "Was mit den Zielwerten deiner Medikamente zeitlich zusammenfällt — nur ein Zusammenhang, kein Urteil.",
|
||
"link": "Wirkung öffnen",
|
||
"empty": "Noch nicht genug Daten, um deine Medikamente mit ihren Zielwerten in Beziehung zu setzen."
|
||
},
|
||
"scaleAbsolute": "Absolut",
|
||
"scalePercentSinceStart": "% seit Start",
|
||
"scaleToggleLabel": "Diagrammskala"
|
||
},
|
||
"import": {
|
||
"resultSuccess": "{imported} Einnahmen importiert",
|
||
"resultPartial": "{imported} importiert, {skipped} übersprungen.",
|
||
"resultNothing": "Nichts importiert: alle {skipped} Einträge wurden übersprungen.",
|
||
"resultAlreadyRecorded": "{recorded} Einnahmen sind bereits erfasst. Es wurde nichts Neues hinzugefügt.",
|
||
"resultEmpty": "Diese Datei enthielt keine Einnahmen.",
|
||
"showSkipDetails": "Übersprungene Zeilen anzeigen ({count})",
|
||
"skipDetailLine": "Zeile {line}: {reason}",
|
||
"skipDetailsOmitted": "{count} weitere übersprungene Zeilen werden nicht angezeigt.",
|
||
"skipGroupOne": "{count} Eintrag übersprungen: {reason}",
|
||
"skipGroupFew": "{count} Einträge übersprungen: {reason}",
|
||
"skipGroupOther": "{count} Einträge übersprungen: {reason}",
|
||
"reasonDuplicateInFile": "ein anderer Eintrag derselben Datei hat dasselbe Datum und dieselbe Uhrzeit",
|
||
"reasonAlreadyRecorded": "für dieses Datum und diese Uhrzeit ist bereits eine Einnahme erfasst",
|
||
"reasonUnknown": "Grund nicht erfasst",
|
||
"reasonMedicationNotFound": "kein Medikament im Bestand passt zum Namen in der Datei",
|
||
"reasonMedicationAmbiguous": "der Name in der Datei passt auf mehr als ein Medikament",
|
||
"reasonMedicationIsMirrored": "das Medikament ist eine schreibgeschützte Kopie aus einer anderen App",
|
||
"reasonStatusUnknown": "der Status in der Datei gehört nicht zum dokumentierten Format",
|
||
"reasonMissingTimestamp": "die Zeile nennt keine Zeit",
|
||
"reasonMissingOffset": "die Zeit trägt keinen UTC-Offset, der Zeitpunkt ist damit unbekannt",
|
||
"reasonUnreadableTimestamp": "die Zeit entspricht nicht dem dokumentierten Format",
|
||
"reasonImplausibleTimestamp": "die Zeit nennt keinen echten Zeitpunkt oder liegt in der Zukunft",
|
||
"reasonMissingMedication": "die Zeile nennt kein Medikament",
|
||
"reasonUnreadableDosage": "die Dosis ist keine Zahl",
|
||
"reasonUnreadableRow": "die Zeile hat weniger Spalten als die Kopfzeile",
|
||
"reasonStatusNoDoseInformation": "die Datei hält zu dieser Dosis nichts fest — niemand hat reagiert und nichts wurde eingetragen",
|
||
"reasonStatusReminderEvent": "die Zeile betrifft eine verschobene Erinnerung und sagt nichts über die Dosis",
|
||
"reasonStatusNotificationNotSent": "die Zeile hält fest, dass keine Benachrichtigung gesendet wurde — das betrifft die App, nicht die Dosis"
|
||
},
|
||
"unitsPerDoseField": {
|
||
"other": "Andere…",
|
||
"inputLabel": "Einheiten pro Dosis, anderer Wert",
|
||
"placeholder": "z. B. 1,5 oder 1 1/2",
|
||
"invalid": "Gib eine Zahl über 0 und bis 100 ein, zum Beispiel 1,5 oder 1 1/2.",
|
||
"preview": "Zählt als {value} pro Dosis"
|
||
},
|
||
"category": {
|
||
"custom": {
|
||
"add": "Neue Kategorie",
|
||
"label": "Name der Kategorie",
|
||
"labelPlaceholder": "z. B. Reiseapotheke",
|
||
"create": "Hinzufügen",
|
||
"limitReached": "Du hast die Grenze von 20 eigenen Kategorien erreicht.",
|
||
"saveFailed": "Das wurde nicht gespeichert. Bitte versuch es noch einmal.",
|
||
"bpGateNote": "Die Blutdruck-Auswertung zählt nur Medikamente in der eingebauten Kategorie Blutdruck.",
|
||
"manage": "Kategorien verwalten",
|
||
"manageDescription": "Deine eigenen Kategorien, neben den eingebauten.",
|
||
"hidden": "Ausgeblendet",
|
||
"count": "{count} Medikamente",
|
||
"rename": "Umbenennen",
|
||
"hide": "In der Auswahl ausblenden",
|
||
"show": "In der Auswahl zeigen",
|
||
"delete": "Löschen",
|
||
"deleteTitle": "Diese Kategorie löschen?",
|
||
"deleteBody": "{count} Medikamente in dieser Kategorie wandern zu Sonstige. Die Medikamente selbst bleiben.",
|
||
"movedToOther": "Kategorie gelöscht. {count} Medikamente sind jetzt unter Sonstige."
|
||
},
|
||
"filter": {
|
||
"label": "Kategorie",
|
||
"all": "Alle Kategorien"
|
||
}
|
||
},
|
||
"course": {
|
||
"endedOn": "Letzte Einnahmephase endete am {date}",
|
||
"nth": "Phase {n}",
|
||
"startNew": "Neue Einnahmephase starten",
|
||
"editTitle": "Einnahmephase bearbeiten",
|
||
"startsOn": "Erster Tag",
|
||
"endsOn": "Letzter Tag (optional)",
|
||
"note": "Notiz (optional)",
|
||
"notePlaceholder": "z. B. die Grippe im März",
|
||
"title": "Einnahmephasen",
|
||
"helper": "Wann du es genommen hast. Einnahmen werden nur innerhalb einer Phase erwartet.",
|
||
"none": "Durchgehend genommen, keine einzelnen Phasen.",
|
||
"range": "{start} bis {end}",
|
||
"since": "Seit {start}",
|
||
"meta": "Phase {n}, {status}, {taken} Einnahmen",
|
||
"status": {
|
||
"current": "läuft",
|
||
"upcoming": "geplant",
|
||
"ended": "beendet"
|
||
},
|
||
"delete": "Phase löschen",
|
||
"deleteTitle": "Diese Einnahmephase löschen?",
|
||
"deleteBody": "Die Daten verschwinden, deine erfassten Einnahmen bleiben im Verlauf.",
|
||
"deleteLastConfirm": "Das ist die einzige Phase. Ohne sie gilt das Medikament als durchgehend genommen, seit du es angelegt hast. Die erfassten Einnahmen bleiben.",
|
||
"error": {
|
||
"overlap": "Diese Phase überschneidet sich mit einer anderen.",
|
||
"currentOpen": "Beende die laufende Phase, bevor du eine danach anlegst.",
|
||
"oneShot": "Ein einmaliges Medikament hat nur eine Phase.",
|
||
"invalidRange": "Der letzte Tag kann nicht vor dem ersten liegen.",
|
||
"generic": "Das wurde nicht gespeichert. Bitte versuch es noch einmal."
|
||
}
|
||
}
|
||
},
|
||
"charts": {
|
||
"loadingLabel": "Diagramm wird geladen…",
|
||
"loadingSlowHint": "Auswertungen werden berechnet — das kann einen Moment dauern.",
|
||
"weight": "Gewicht",
|
||
"bloodPressure": "Blutdruck",
|
||
"pulse": "Puls",
|
||
"bodyFat": "Körperfett",
|
||
"sleep": "Schlaf",
|
||
"steps": "Schritte",
|
||
"hrv": "HRV",
|
||
"restingHeartRate": "Ruhepuls",
|
||
"activeEnergy": "Aktive Energie",
|
||
"flights": "Treppen",
|
||
"distance": "Geh- + Laufstrecke",
|
||
"vo2Max": "VO₂max",
|
||
"bodyTemperature": "Körpertemperatur",
|
||
"noData": "Keine Daten im gewählten Zeitraum",
|
||
"bucketWeekly": "Wochendurchschnitt",
|
||
"bucketMonthly": "Monatsdurchschnitt",
|
||
"bucketWeeklyDaily": "Tagesschnitt je Woche",
|
||
"bucketMonthlyDaily": "Tagesschnitt je Monat",
|
||
"days7Label": "7T",
|
||
"days7Title": "Letzte 7 Tage",
|
||
"days30Label": "30T",
|
||
"days30Title": "Letzte 30 Tage",
|
||
"days90Label": "90T",
|
||
"days90Title": "Letzte 90 Tage",
|
||
"daysAllLabel": "Alle",
|
||
"daysAllTitle": "Gesamter Zeitraum",
|
||
"systolic": "Systolisch",
|
||
"diastolic": "Diastolisch",
|
||
"bodyWater": "Körperwasser",
|
||
"boneMass": "Knochenmasse",
|
||
"spo2": "SpO₂",
|
||
"movingAverage7d": "7-Tage-Trend",
|
||
"avg7dShort": "7T",
|
||
"avg30dShort": "30T",
|
||
"trend7dShort": "7-Tage-Trend",
|
||
"trend": "Trend",
|
||
"perWeek": "/Woche",
|
||
"totalDelta": "Gesamt",
|
||
"colorGreen": "Grün:",
|
||
"colorOrange": "Orange:",
|
||
"colorRed": "Rot:",
|
||
"mood": "Stimmung",
|
||
"moodScore": "Stimmungswert",
|
||
"weekdays": {
|
||
"mon": "Mo",
|
||
"wed": "Mi",
|
||
"fri": "Fr",
|
||
"sun": "So"
|
||
},
|
||
"months": {
|
||
"jan": "Jan",
|
||
"feb": "Feb",
|
||
"mar": "Mär",
|
||
"apr": "Apr",
|
||
"may": "Mai",
|
||
"jun": "Jun",
|
||
"jul": "Jul",
|
||
"aug": "Aug",
|
||
"sep": "Sep",
|
||
"oct": "Okt",
|
||
"nov": "Nov",
|
||
"dec": "Dez"
|
||
},
|
||
"heatmapOnTime": "pünktlich",
|
||
"heatmapLate": "spät",
|
||
"heatmapVeryLate": "sehr spät",
|
||
"legendOnTime": "Pünktlich",
|
||
"legendLate": "Spät",
|
||
"legendVeryLate": "Sehr spät",
|
||
"legendMissed": "Verpasst",
|
||
"emptyStateTitle": "Erfasse mehr Messungen, um Trends zu sehen",
|
||
"emptyStateDescription": "Erfasse mindestens 3 Einträge, um die Trendlinie freizuschalten.",
|
||
"needMoreDistinctDaysTitle": "Mehr Messtage erforderlich",
|
||
"needMoreDistinctDaysDescription": "Erfasse an mehreren Tagen, um eine Trendlinie freizuschalten.",
|
||
"noDataInRangeTitle": "Keine Daten in diesem Zeitraum",
|
||
"noDataInRangeDescription": "Für den gewählten Bereich liegen keine Messungen vor. Wechsle den Zeitraum oder erfasse einen neuen Wert.",
|
||
"errorTitle": "Daten konnten nicht geladen werden",
|
||
"loadErrorTitle": "Diagramm konnte nicht geladen werden",
|
||
"loadErrorReload": "Neu laden",
|
||
"sparseDataCaption": "Mehr Messtage füllen den Trend.",
|
||
"tooltipHourlyMean": "{metric} (Durchschnitt der Stunden)",
|
||
"dataTable": {
|
||
"toggle": "Datenpunkte ({count})",
|
||
"columnDate": "Datum",
|
||
"noValue": "Kein Wert",
|
||
"captionDay": "Eine Zeile pro Tag für {metric} — genau die Punkte, die das Diagramm zeichnet.",
|
||
"captionWeek": "Eine Zeile pro Woche für {metric}, der Mittelwert der Tage dieser Woche — genau die Punkte, die das Diagramm zeichnet.",
|
||
"captionMonth": "Eine Zeile pro Monat für {metric}, der Mittelwert der Tage dieses Monats — genau die Punkte, die das Diagramm zeichnet.",
|
||
"hourlyMeanNote": "{metric} ist der Tagesdurchschnitt, bei dem jede Stunde einmal zählt, damit ein Training nicht den Rest des Tages überwiegt."
|
||
},
|
||
"personalBaseline": "Dein Mittel",
|
||
"deltaVsBaseline": "{delta} vs. dein Mittel",
|
||
"deltaUnchanged": "entspricht deinem Mittel",
|
||
"deltaVsTarget": "{delta} vs. Ziel",
|
||
"weekdaysFull": {
|
||
"mon": "Montag",
|
||
"tue": "Dienstag",
|
||
"wed": "Mittwoch",
|
||
"thu": "Donnerstag",
|
||
"fri": "Freitag",
|
||
"sat": "Samstag",
|
||
"sun": "Sonntag"
|
||
},
|
||
"rangeBand": "Bereich",
|
||
"a11y": {
|
||
"summary": "{metric}-Diagramm. Bereich {min} bis {max}, aktuell {latest}, Trend {trend}.",
|
||
"noData": "{metric}-Diagramm. Keine Daten verfügbar.",
|
||
"trendUp": "steigend",
|
||
"trendDown": "fallend",
|
||
"trendFlat": "gleichbleibend",
|
||
"scatterSummary": "Korrelationsdiagramm, {count} Punkte: {xLabel} gegen {yLabel}.",
|
||
"scatterNoData": "Korrelationsdiagramm {xLabel} gegen {yLabel}. Keine Daten verfügbar.",
|
||
"moodHeatmap": "Stimmungs-Heatmap von {start} bis {end}, {days} Tage erfasst.",
|
||
"moodHeatmapEmpty": "Stimmungs-Heatmap, noch keine Tage erfasst.",
|
||
"complianceHeatmap": "Heatmap zur Medikamenteneinnahme von {start} bis {end}, {days} aktive Tage.",
|
||
"complianceHeatmapEmpty": "Heatmap zur Medikamenteneinnahme, noch keine aktiven Tage."
|
||
}
|
||
},
|
||
"chart": {
|
||
"overlay": {
|
||
"controls": {
|
||
"title": "Chart-Overlays",
|
||
"trendIndicator": "7-Tage-Trend",
|
||
"trendArrow": "Trend-Pfeil",
|
||
"targetRange": "Zielbereich",
|
||
"comparisonBaseline": "Vergleich",
|
||
"comparisonUnavailable": "Kein Vorzeitraum verfügbar",
|
||
"tooltip": {
|
||
"openSettings": "Chart-Overlay-Einstellungen"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"comparison": {
|
||
"baseline": {
|
||
"none": "Aus",
|
||
"lastMonth": "Vormonat",
|
||
"lastYear": "Vorjahr"
|
||
},
|
||
"captionLastMonth": "vs. Vormonat",
|
||
"captionLastYear": "vs. Vorjahr",
|
||
"deltaVs": {
|
||
"lastMonth": "{delta} vs. Vormonat",
|
||
"lastYear": "{delta} vs. Vorjahr"
|
||
},
|
||
"tooltipPrior": "Vorperiode",
|
||
"unavailable": {
|
||
"lastMonth": "Vergleich nicht verfügbar — noch keine Daten aus dem Vormonat",
|
||
"lastYear": "Vergleich nicht verfügbar — noch keine Daten aus dem Vorjahr"
|
||
},
|
||
"notAvailableForCompliance": "Vergleich für Therapietreue nicht verfügbar"
|
||
},
|
||
"insights": {
|
||
"pattern": {
|
||
"dismiss": "Ausblenden",
|
||
"dismissed": "Dieses Muster bleibt ausgeblendet, bis sich die Evidenz ändert.",
|
||
"restore": "Wieder anzeigen",
|
||
"dismissError": "Dieses Muster konnte nicht ausgeblendet werden.",
|
||
"restoreError": "Dieses Muster konnte nicht wiederhergestellt werden.",
|
||
"loadError": "Muster konnten nicht geladen werden.",
|
||
"empty": "Kein aktuelles Muster hat die Evidenzschwelle erreicht."
|
||
},
|
||
"correlation": {
|
||
"direction": {
|
||
"higher": "höher",
|
||
"lower": "niedriger"
|
||
},
|
||
"weekdayDirection": {
|
||
"above": "über",
|
||
"below": "unter"
|
||
},
|
||
"channelFactor": "die Bewertung von {factor}",
|
||
"channel": {
|
||
"WEIGHT": "das Gewicht",
|
||
"BLOOD_GLUCOSE": "der Blutzucker",
|
||
"BLOOD_PRESSURE_SYS": "der systolische Blutdruck",
|
||
"BLOOD_PRESSURE_DIA": "der diastolische Blutdruck",
|
||
"ACTIVITY_STEPS": "die tägliche Schrittzahl",
|
||
"SLEEP_DURATION": "die Schlafdauer",
|
||
"HEART_RATE_VARIABILITY": "die Herzratenvariabilität",
|
||
"RESTING_HEART_RATE": "die Ruheherzfrequenz",
|
||
"TIME_IN_DAYLIGHT": "die Zeit im Tageslicht",
|
||
"MOOD": "die Stimmung",
|
||
"PULSE": "der Ruhepuls",
|
||
"MEDICATION_COMPLIANCE": "die Medikamententreue",
|
||
"SYMPTOM_SEVERITY": "die Symptomstärke",
|
||
"ENV_TEMP_MEAN": "die Tagestemperatur",
|
||
"ENV_TEMP_MIN": "die nächtliche Tiefsttemperatur",
|
||
"ENV_SUNSHINE": "der Sonnenschein",
|
||
"ENV_DAYLIGHT": "das Tageslicht",
|
||
"ENV_PRECIP": "der Niederschlag",
|
||
"ENV_PRESSURE_MEAN": "der Luftdruck",
|
||
"ENV_PRESSURE_DELTA": "die Luftdruckschwankung am Tag"
|
||
},
|
||
"daily": {
|
||
"high": "Wenn {behaviour} höher liegt, fällt {outcome} am Folgetag in deinen Daten tendenziell {direction} aus — ein Muster, das Beachtung verdient, keine Ursache.",
|
||
"moderate": "Wenn {behaviour} höher liegt, scheint {outcome} am Folgetag nach bisheriger Datenlage eher {direction} auszufallen — ein Muster, das Beachtung verdient, keine Ursache.",
|
||
"faint": "Wenn {behaviour} höher liegt, gibt es in deinen Daten allenfalls einen schwachen Hinweis darauf, dass {outcome} am Folgetag {direction} ausfällt — zu gering, um sich darauf zu verlassen, niemals eine Ursache."
|
||
},
|
||
"lab": {
|
||
"default": "Höhere {lab}-Werte gehen in deinen Daten damit einher, dass {outcome} im selben Zeitraum {direction} ausfällt — ein Zusammenhang, den du ärztlich im Blick behalten solltest, niemals eine Ursache.",
|
||
"faint": "Höhere {lab}-Werte deuten in deinen Daten allenfalls schwach darauf hin, dass {outcome} im selben Zeitraum {direction} ausfällt — zu gering, um sich darauf zu verlassen, ein Zusammenhang, den du ärztlich abklären lassen solltest, niemals eine Ursache."
|
||
},
|
||
"hypothesis": {
|
||
"bpCompliance": {
|
||
"support": "Höhere Medikamententreue geht mit niedrigeren systolischen Werten einher — ein Muster, das Beachtung verdient.",
|
||
"surprising": "Medikamententreue und systolischer Wert bewegen sich in deinen Daten gemeinsam — überraschend; sprich mit deiner Ärztin oder deinem Arzt, bevor du etwas änderst.",
|
||
"none": "Medikamententreue und systolischer Wert bewegen sich in diesem Zeitraum nicht deutlich gemeinsam."
|
||
},
|
||
"moodPulse": {
|
||
"support": "Tage mit schlechterer Stimmung gehen mit höherem Ruhepuls einher — ein Muster, das Beachtung verdient.",
|
||
"surprising": "Tage mit besserer Stimmung gehen in deinen Daten mit höherem Ruhepuls einher — überraschend.",
|
||
"none": "Stimmung und Ruhepuls bewegen sich in diesem Zeitraum nicht deutlich gemeinsam."
|
||
},
|
||
"weightWeekday": "Das Gewicht am {weekday} liegt {delta} kg {direction} deinem Durchschnitt der übrigen Tage — ein Muster, das Beachtung verdient."
|
||
}
|
||
},
|
||
"emptyTitle": "Noch nicht genug Daten",
|
||
"emptyDescription": "Insights erscheinen, sobald du ein paar Messwerte erfasst hast. Beginne mit Gewicht oder Blutdruck.",
|
||
"emptyAddMeasurement": "Messwert erfassen",
|
||
"editMode": {
|
||
"done": "Fertig",
|
||
"reset": "Zurücksetzen",
|
||
"resetTitle": "Übersicht zurücksetzen?",
|
||
"resetBody": "Abschnittsreihenfolge und ausgeblendete Abschnitte kehren zu den Standardwerten zurück. Deine Anordnung wird nirgends sonst gespeichert.",
|
||
"resetConfirm": "Übersicht zurücksetzen",
|
||
"title": "Übersicht anpassen",
|
||
"description": "Zum Sortieren ziehen, zum Ein- oder Ausblenden auf das Auge tippen.",
|
||
"dragHandle": "Zum Sortieren ziehen",
|
||
"show": "Einblenden",
|
||
"hide": "Ausblenden",
|
||
"manageInSettings": "Chips & Detailseiten in den Einstellungen verwalten",
|
||
"groupSleep": "Schlaf",
|
||
"groupMood": "Stimmung",
|
||
"groupEvents": "Ereignisse",
|
||
"gatedHint": "Erscheint, sobald Daten oder die Funktion verfügbar sind",
|
||
"allHiddenHint": "Alle Bereiche sind ausgeblendet. Blende mindestens einen ein, um deine Übersicht zu sehen.",
|
||
"saveSuccess": "Übersicht gespeichert",
|
||
"saveError": "Übersicht konnte nicht gespeichert werden",
|
||
"resetSuccess": "Übersicht auf Standard zurückgesetzt",
|
||
"emptyTitle": "Alle Karten ausgeblendet",
|
||
"emptyDescription": "Du hast alle Bereiche ausgeblendet. Öffne „Anpassen“, um Karten wieder einzublenden."
|
||
},
|
||
"bmiEmptyTitle": "Größe hinzufügen für BMI",
|
||
"bmiEmptyDescription": "Für den BMI wird deine Körpergröße benötigt. Hinterlege sie unter Einstellungen → Account.",
|
||
"bmiEmptyAction": "Account-Einstellungen öffnen",
|
||
"noAnalysisYet": "Noch keine Einschätzung vorhanden.",
|
||
"assessmentPreparing": "Einschätzung wird vorbereitet…",
|
||
"personalRecord": {
|
||
"badge": "PR",
|
||
"tooltip": "Persönlicher Rekord: {value} {unit} am {date}"
|
||
},
|
||
"loadError": "Auswertungen konnten nicht geladen werden",
|
||
"heroPersonalBaseline": "Basierend auf deinen letzten 90 Tagen",
|
||
"heroRegenerating": "Wird generiert",
|
||
"regenerateAnalysis": "Einschätzung neu erstellen",
|
||
"regenerateSuccess": "Einschätzung wurde neu erstellt",
|
||
"narrativeTitle": "Rückblick",
|
||
"narrativeWeek": "Diese Woche",
|
||
"narrativeMonth": "Dieser Monat",
|
||
"narrativeUpdating": "Wird aktualisiert…",
|
||
"heroFallbackSubtitle": "Täglicher Blick auf deine Trends — direkt aus den Zahlen, die du protokollierst.",
|
||
"heroGreetingMorning": "Guten Morgen",
|
||
"heroGreetingAfternoon": "Guten Tag",
|
||
"heroGreetingEvening": "Guten Abend",
|
||
"heroActionAskCoach": "Coach fragen",
|
||
"healthScore": {
|
||
"label": "Gesundheitsscore",
|
||
"band": {
|
||
"green": "Im Referenzbereich",
|
||
"yellow": "Einige Bereiche brauchen Aufmerksamkeit",
|
||
"red": "Mindestens ein Bereich liegt außerhalb des Referenzbereichs"
|
||
},
|
||
"insufficient": "Noch hat nichts genug aktuelle Daten für einen Score. Ein Feld der Gesundheit reicht für den Anfang, und der Score nennt selbst, worauf er beruht.",
|
||
"basis": "Beruht auf {count} von {recommended} Feldern der Gesundheit.",
|
||
"compositionNotice": {
|
||
"item": "{pillar} ({reason})",
|
||
"left": "Zählt nicht mehr in den Score: {pillars}.",
|
||
"joined": "Zählt jetzt in den Score: {pillars}."
|
||
},
|
||
"anatomyToggle": "Wie dieser Score zustande kommt",
|
||
"notScored": "Noch nicht bewertet ({count})",
|
||
"method": "Der Score ist der gleich gewichtete Mittelwert der Säulen, die für ihn zählen, auf einer Skala von 0 bis 100. Jede Säule wird an einem veröffentlichten Referenzbereich gemessen, und die schwächste Säule kann den Gesamtbereich bestimmen. Eine Säule ohne ausreichend aktuelle Daten bleibt außen vor und zählt nicht als null. Die Referenzbereiche stammen aus veröffentlichten Quellen; welche Säulen zählen, entscheidest du selbst, deshalb ist die zusammengefasste Zahl selbst kein klinischer Standard.",
|
||
"bandSetter": "Gesamtstufe bestimmt durch {pillar}",
|
||
"versionAndNoise": "Methodenversion {version}. Schwelle für den Wochenvergleich: {noise} Punkte.",
|
||
"methodVersion": "Methodenversion {version}.",
|
||
"configured": "Du hast festgelegt, welche Bereiche in diesen Score einfließen.",
|
||
"none": "keiner",
|
||
"delta": "{delta} gegenüber dem vorherigen vergleichbaren Zeitraum",
|
||
"deltaReason": {
|
||
"algorithm_changed": "Kein Vergleich, weil sich die Score-Methode geändert hat.",
|
||
"config_changed": "Kein Vergleich, weil du geändert hast, was in deinen Score einfließt.",
|
||
"composition_changed": "Kein Vergleich, weil sich die einbezogenen Bereiche geändert haben.",
|
||
"first_eligibility_window": "Kein Vergleich, weil dies der erste geeignete Zeitraum ist.",
|
||
"below_noise_floor": "Die Veränderung liegt innerhalb der gemeinsamen Messschwankung.",
|
||
"no_previous_window": "Es ist kein früherer vergleichbarer Zeitraum verfügbar.",
|
||
"no_current_score": "Kein Vergleich, weil der aktuelle Zeitraum nicht geeignet ist."
|
||
},
|
||
"restMode": "Ruhemodus aktiv seit {since}. Der Score dient nur als Kontext und wird nicht verschlechtert.",
|
||
"pillar": {
|
||
"bloodPressure": "Blutdruck",
|
||
"glycaemia": "Blutzucker",
|
||
"activity": "Aktivität",
|
||
"sleep": "Schlaf",
|
||
"adiposity": "Körperfettverteilung",
|
||
"wellbeing": "Wohlbefinden",
|
||
"lipids": "Blutfette"
|
||
},
|
||
"observed": "Beobachtet: {value}",
|
||
"reference": "Referenz: {value}",
|
||
"fastingObserved": "Nüchternglukose: {value} {unit}",
|
||
"fastingReference": "{low} bis {high} {unit} nüchtern",
|
||
"personalReference": "Dein Ziel: {value}",
|
||
"bpBasisAbove": "Ausschlaggebend: {axis}, etwa {offset} mmHg über der Obergrenze von {boundary} mmHg.",
|
||
"bpBasisBelowFloor": "Ausschlaggebend: {axis}, etwa {offset} mmHg unter der Grenze für niedrigen Blutdruck von {boundary} mmHg.",
|
||
"bpBasisInBand": "Beide Werte liegen auf oder unter ihren Referenz-Obergrenzen.",
|
||
"bpScale": "An der Obergrenze liegt der Wert bei 85; 100 bedeutet rund 12 mmHg darunter.",
|
||
"bpRepresentative": "Beruht auf einem Durchschnitt der letzten {days} Tage, der neuere Messungen stärker gewichtet, und kann deshalb von jeder einzelnen Messung abweichen.",
|
||
"source": "Quelle: {source}, Stand {date}",
|
||
"observedActivity": "{value} Schritte pro Tag",
|
||
"observedSleep": "{value} Minuten pro Nacht",
|
||
"observedAdiposity": "Taille-zu-Körpergröße-Verhältnis {value}",
|
||
"referenceActivity": "Der Nutzen flacht bei {high} Schritten pro Tag ab",
|
||
"referenceSleep": "Mindestens {low} Minuten pro Nacht; längerer Schlaf wird nicht abgewertet",
|
||
"referenceAdiposity": "Taille-zu-Körpergröße-Verhältnis unter {high}",
|
||
"referenceHba1c": "HbA1c {low} bis {high} %",
|
||
"referenceDetail": "{label} · {source} · {kind} · {low} bis {high}",
|
||
"openBound": "offen",
|
||
"laboratoryReferenceSource": "Referenzbereiche des auswertenden Labors",
|
||
"personalTargetSource": "Persönliches Ziel",
|
||
"referenceKind": {
|
||
"clinical": "Klinischer Schwellenwert",
|
||
"population": "Bevölkerungsperzentil",
|
||
"guideline": "Leitlinienbereich"
|
||
},
|
||
"reason": {
|
||
"readFailed": "Daten konnten nicht geladen werden",
|
||
"notTracked": "Nicht erfasst",
|
||
"missingProfile": "Alter oder Referenzprofil fehlt",
|
||
"missingHeight": "Körpergröße fehlt",
|
||
"incompletePanel": "Ein aktuelles vollständiges Panel mit Referenzbereichen ist erforderlich",
|
||
"crisis": "Anstelle eines Scores werden Sicherheitshinweise angezeigt",
|
||
"insufficientHistory": "Nicht genügend aktuelle geeignete Daten",
|
||
"unavailable": "Dieser Bereich kann derzeit nicht bewertet werden"
|
||
},
|
||
"tension": "Die Bereitschaftssignale unterscheiden sich. Unterstützend: {positive}. Belastet: {negative}.",
|
||
"returnToBand": "{metric} liegt seit {days} Tagen wieder im üblichen Bereich.",
|
||
"weightGoal": {
|
||
"title": "Persönliches Gewichtsziel",
|
||
"value": "Aktuell {current} {unit}. Ziel {min} bis {max} {unit}. Abstand zum Ziel: {distance} {unit}.",
|
||
"delta": "Der Abstand zum Ziel hat sich seit der vorherigen Messung um {delta} {unit} verändert.",
|
||
"noDelta": "Für einen Vergleich ist keine frühere Gewichtsmessung verfügbar.",
|
||
"no_personal_goal": "Lege ein persönliches Gewichtsziel fest, um hier den Fortschritt zu sehen.",
|
||
"weight_not_tracked": "Erfasse dein Gewicht, um den Fortschritt zum Ziel zu sehen.",
|
||
"read_failed": "Gewichtsdaten konnten nicht geladen werden. Versuche es erneut.",
|
||
"notScored": "Der Fortschritt zum Gewichtsziel ist persönlicher Kontext und beeinflusst den Gesundheitsscore nicht."
|
||
},
|
||
"configureLink": "Festlegen, was in deinen Score einfließt",
|
||
"coverage": {
|
||
"recommendedMet": "Deckt die drei Felder ab, die der Score empfiehlt",
|
||
"areas": "{present} von {required} Feldern der Gesundheit"
|
||
}
|
||
},
|
||
"dailyBriefing": {
|
||
"title": "Tagesbriefing",
|
||
"keyFindingsTitle": "Wichtige Befunde",
|
||
"signalsTitle": "Signale des Tages",
|
||
"emptyTitle": "Noch kein Briefing",
|
||
"emptyDescription": "Erstelle das heutige Briefing, um eine Zusammenfassung deiner Trends zu bekommen.",
|
||
"emptyAction": "Briefing erstellen",
|
||
"loadingLabel": "Briefing wird zusammengestellt",
|
||
"refreshFailedHint": "Briefing konnte nicht aktualisiert werden — es wird das letzte angezeigt.",
|
||
"retryAction": "Erneut versuchen",
|
||
"failedTitle": "Briefing konnte nicht erstellt werden",
|
||
"failedDescription": "Der KI-Anbieter hat das Zeitlimit überschritten oder einen Fehler zurückgegeben. Versuche es erneut oder erhöhe in den KI-Einstellungen das Antwort-Zeitlimit für ein langsames lokales Modell.",
|
||
"failedDescriptionTimeout": "Die KI-Anfrage hat das Zeitlimit überschritten, bevor das Briefing fertig war. Erhöhe für ein langsames lokales Modell in den Einstellungen das Antwort-Zeitlimit und versuche es dann erneut.",
|
||
"failedDescriptionProvider": "Der KI-Anbieter hat die Anfrage abgelehnt. Prüfe Anbieter und API-Schlüssel in den KI-Einstellungen und versuche es erneut.",
|
||
"failedDescriptionRateLimit": "Der KI-Anbieter drosselt derzeit die Anfragen. Versuche es in Kürze erneut.",
|
||
"omittedTitle": "Briefing zurückgehalten",
|
||
"omittedUngroundedDescription": "Das erstellte Briefing nannte eine Zahl, die sich nicht anhand deiner Daten überprüfen ließ, deshalb wurde es nicht angezeigt. Versuche es erneut."
|
||
},
|
||
"trendsRow": {
|
||
"title": "Trends",
|
||
"subtitle": "Die letzten 30 Tage auf einen Blick",
|
||
"caption": {
|
||
"bp": "Systolische und diastolische Werte der letzten 30 Tage.",
|
||
"weight": "Gewichtsverlauf der letzten 30 Tage.",
|
||
"pulse": "Ruhepuls der letzten 30 Tage.",
|
||
"mood": "Täglicher Stimmungswert der letzten 30 Tage.",
|
||
"sleep": "Nächtliche Schlafdauer der letzten 30 Tage.",
|
||
"steps": "Tägliche Schrittzahl der letzten 30 Tage.",
|
||
"hrv": "Herzratenvariabilität der letzten 30 Tage.",
|
||
"resting_hr": "Ruheherzfrequenz der letzten 30 Tage.",
|
||
"active_energy": "Aktiv verbrauchte Energie der letzten 30 Tage.",
|
||
"flights": "Erklommene Stockwerke der letzten 30 Tage.",
|
||
"distance": "Geh- und Laufstrecke der letzten 30 Tage.",
|
||
"vo2_max": "VO₂max der letzten 30 Tage.",
|
||
"body_temp": "Körpertemperatur der letzten 30 Tage."
|
||
},
|
||
"viewDetail": "{metric} im Detail"
|
||
},
|
||
"vo2Max": {
|
||
"cardioLinkTitle": "Cardio-Fitness (VO₂ max)",
|
||
"cardioLinkBody": "VO₂ max ist das zentrale Maß für die aerobe Fitness. Das vollständige Diagramm und die Einschätzung findest du auf der eigenen Seite.",
|
||
"cardioLinkCta": "Cardio-Fitness öffnen"
|
||
},
|
||
"trendAnnotation": {
|
||
"emptyBp": "Mehr Daten nötig, um diesen Trend zu kommentieren.",
|
||
"emptyWeight": "Mehr Daten nötig, um diesen Trend zu kommentieren.",
|
||
"emptyMood": "Mehr Daten nötig, um diesen Trend zu kommentieren.",
|
||
"confidenceHigh": "Hohe Konfidenz",
|
||
"confidenceModerate": "Mittlere Konfidenz",
|
||
"confidenceLow": "Geringe Konfidenz",
|
||
"pendingLabel": "Trend-Kommentar wird generiert"
|
||
},
|
||
"correlationRow": {
|
||
"title": "Zusammenhänge",
|
||
"experimentCta": "7-Tage-Experiment starten",
|
||
"experimentTooltip": "Bald verfügbar",
|
||
"emptyTitle": "Mehr Daten nötig, um diesen Zusammenhang zu zeigen",
|
||
"sourceChip": "basierend auf {n} gepaarten Messungen · {window}",
|
||
"sourceWindowLast30": "letzte 30 Tage",
|
||
"confidenceHigh": "Hohe Konfidenz",
|
||
"confidenceModerate": "Mittlere Konfidenz",
|
||
"confidenceLow": "Geringe Konfidenz",
|
||
"card": {
|
||
"bpComplianceTitle": "BD × Therapietreue",
|
||
"bpComplianceSubtitle": "Täglicher Systolischer gegen Therapietreue in %",
|
||
"moodPulseTitle": "Stimmung × Ruhepuls",
|
||
"moodPulseSubtitle": "Stimmung und Ruhepuls am selben Tag",
|
||
"weightWeekdayTitle": "Gewicht × Wochentag",
|
||
"weightWeekdaySubtitle": "Gewicht nach Wochentag gruppiert"
|
||
}
|
||
},
|
||
"coach": {
|
||
"refusalOutOfScope": "Ich kann nur bei den Gesundheitsdaten in deinem Log helfen — Messwerte, Medikamente, Stimmung, Trends. Fragen außerhalb dieses Themas beantworte ich nicht.",
|
||
"refusalInjection": "In deiner Nachricht stehen Anweisungen, die meine Vorgaben überschreiben sollen. Ich bin der HealthLog-Coach und fasse ausschließlich deine eigenen Gesundheitsdaten zusammen — formuliere deine Frage bitte in diesem Rahmen neu.",
|
||
"errorBudget": "Du hast das heutige Coach-Limit erreicht. Das Budget setzt sich um Mitternacht (UTC) zurück.",
|
||
"errorProvider": "Der Coach konnte gerade keinen Auswertungs-Anbieter erreichen. Bitte versuche es in einem Moment erneut.",
|
||
"errorNoProvider": "Der Coach liest deine erfassten Gesundheitsdaten und beantwortet Fragen dazu (keine medizinische Beratung). Dafür braucht HealthLog einen KI-Anbieter — verbinde deinen eigenen Schlüssel oder ein lokales Modell.",
|
||
"errorNoProviderAction": "KI-Anbieter verbinden",
|
||
"errorNetwork": "Keine Internetverbindung — versuche es erneut, sobald du online bist.",
|
||
"prefsSaveError": "Coach-Einstellungen konnten nicht gespeichert werden. Bitte versuche es erneut.",
|
||
"errorCredentialExpired": "Deine Verbindung zum KI-Anbieter ist abgelaufen. Stelle sie in den Einstellungen wieder her, damit der Coach weiterläuft.",
|
||
"tagline": "Persönlicher Gesundheitscoach, auf deine Daten gestützt.",
|
||
"newChat": "Neuer Chat",
|
||
"docScope": {
|
||
"badge": "Dokument",
|
||
"chattingAbout": "Chat über: {title}",
|
||
"chattingAboutMore": "Chat über: {titles} und {count} weitere",
|
||
"notIndexedHint": "Lies dieses Dokument zuerst im Archiv mit KI ein, damit der Coach dazu antworten kann."
|
||
},
|
||
"actionsMenu": "Aktionen",
|
||
"maximizeAriaLabel": "Im Vollbild öffnen",
|
||
"minimizeAriaLabel": "Zurück zum Seitenfenster",
|
||
"send": "Senden",
|
||
"stop": "Stopp",
|
||
"thinking": "Denke nach…",
|
||
"unverifiedFiguresNotice": "Einige Zahlen ließen sich nicht mit deinen Daten abgleichen und wurden weggelassen.",
|
||
"composerPlaceholder": "Frag mich etwas…",
|
||
"nudgeBubbleLabel": "Neue Nachricht vom Coach — Chat öffnen",
|
||
"fabLabel": "Coach öffnen",
|
||
"readAloud": "Vorlesen",
|
||
"readAloudStop": "Vorlesen beenden",
|
||
"messageTimeLabel": "Nachricht gesendet {time}",
|
||
"copyMessage": "Kopieren",
|
||
"copyMessageError": "Kopieren fehlgeschlagen",
|
||
"regenerate": "Erneut versuchen",
|
||
"selfContextAdopt": {
|
||
"offer": "Antwort in deine Selbstauskunft übernehmen?",
|
||
"confirm": "Übernehmen",
|
||
"dismiss": "Verwerfen",
|
||
"done": "In die Selbstauskunft übernommen",
|
||
"duplicate": "Bereits in der Selbstauskunft enthalten",
|
||
"failed": "Übernahme fehlgeschlagen. Bitte erneut versuchen."
|
||
},
|
||
"rememberMessage": {
|
||
"action": "Merken",
|
||
"done": "Gemerkt — in deiner Selbstauskunft gespeichert",
|
||
"duplicate": "Schon in deiner Selbstauskunft enthalten",
|
||
"failed": "Merken fehlgeschlagen. Bitte erneut versuchen."
|
||
},
|
||
"guided": {
|
||
"offerTitle": "Der Coach hat {count} Rückfragen an dich",
|
||
"offerTitleOne": "Der Coach hat eine Rückfrage an dich",
|
||
"offerBody": "Kurze Antworten schärfen deine Selbstauskunft — eine Frage nach der anderen, direkt hier im Chat.",
|
||
"offerStart": "Jetzt beantworten",
|
||
"offerLater": "Später",
|
||
"offerDismiss": "Nicht mehr fragen",
|
||
"dismissError": "Die Fragen konnten nicht verworfen werden. Bitte erneut versuchen.",
|
||
"progress": "Frage {current} von {total}",
|
||
"skip": "Überspringen",
|
||
"later": "Später",
|
||
"dismissRemaining": "Nicht mehr fragen",
|
||
"answerPlaceholder": "Deine Antwort…",
|
||
"summaryTitle": "Geschafft — danke für deine Antworten!",
|
||
"summaryAnswered": "{answered} von {total} beantwortet",
|
||
"summaryAdopted": "{adopted} in die Selbstauskunft übernommen",
|
||
"summaryAdoptedNone": "nichts Neues in die Selbstauskunft übernommen",
|
||
"summaryLink": "Selbstauskunft ansehen"
|
||
},
|
||
"threadEmpty": "Frag mich etwas zu deinen Trends, Medikamenten oder Messwerten, um zu starten.",
|
||
"historyTitle": "Unterhaltungen",
|
||
"historySearchPlaceholder": "Unterhaltungen durchsuchen…",
|
||
"historyEmpty": "Deine Unterhaltungen erscheinen hier. Stell eine Frage, um zu starten.",
|
||
"historyDeleteAria": "Unterhaltung löschen",
|
||
"historyDeleted": "Unterhaltung gelöscht",
|
||
"rename": {
|
||
"action": "Unterhaltung umbenennen",
|
||
"input": "Titel der Unterhaltung",
|
||
"save": "Titel speichern",
|
||
"cancel": "Umbenennen abbrechen",
|
||
"error": "Der Titel der Unterhaltung konnte nicht gespeichert werden."
|
||
},
|
||
"historySearchEmpty": "Keine Unterhaltungen entsprechen deiner Suche.",
|
||
"historyLoadingMore": "Mehr wird geladen…",
|
||
"sourcesTitle": "Worauf ich zugreife",
|
||
"sourcesFresh": "Aktuell",
|
||
"sourcesStale": "Veraltet",
|
||
"sourcesFooter": "Der Coach liest nur Daten, die du verbunden hast.",
|
||
"metric": {
|
||
"bp": "Blutdruck",
|
||
"weight": "Gewicht",
|
||
"pulse": "Puls",
|
||
"mood": "Stimmung",
|
||
"compliance": "Therapietreue",
|
||
"general": "Allgemein",
|
||
"hrv": "HRV",
|
||
"sleep": "Schlaf",
|
||
"resting_hr": "Ruhepuls",
|
||
"steps": "Schritte",
|
||
"active_energy": "Aktive Energie",
|
||
"flights": "Stockwerke",
|
||
"distance": "Strecke",
|
||
"vo2_max": "VO₂ max",
|
||
"body_temp": "Körpertemperatur",
|
||
"medications": "Medikamente",
|
||
"anthropometrics": "Profil (Größe, Alter, Geschlecht)",
|
||
"walking_hr": "Geh-Herzfrequenz",
|
||
"respiratory_rate": "Atemfrequenz",
|
||
"spo2": "Sauerstoffsättigung",
|
||
"pulse_wave_velocity": "Pulswellengeschwindigkeit",
|
||
"vascular_age": "Gefäßalter",
|
||
"body_fat": "Körperfett",
|
||
"fat_mass": "Fettmasse",
|
||
"fat_free_mass": "Fettfreie Masse",
|
||
"muscle_mass": "Muskelmasse",
|
||
"lean_body_mass": "Magermasse",
|
||
"bone_mass": "Knochenmasse",
|
||
"total_body_water": "Körperwasser",
|
||
"bmi": "BMI",
|
||
"visceral_fat": "Viszeralfett",
|
||
"glucose": "Glukose",
|
||
"walking_steadiness": "Gehstabilität",
|
||
"walking_asymmetry": "Gangasymmetrie",
|
||
"walking_double_support": "Doppelstandphase",
|
||
"walking_step_length": "Schrittlänge",
|
||
"walking_speed": "Gehgeschwindigkeit",
|
||
"audio_env": "Umgebungslautstärke",
|
||
"audio_headphone": "Kopfhörer-Lautstärke",
|
||
"audio_event": "Lärm-Ereignisse",
|
||
"daylight": "Zeit im Tageslicht",
|
||
"skin_temp": "Hauttemperatur",
|
||
"workouts": "Workouts"
|
||
},
|
||
"window": {
|
||
"last7days": "letzte 7 Tage",
|
||
"last30days": "letzte 30 Tage",
|
||
"last90days": "letzte 90 Tage",
|
||
"lastYear": "letzte 12 Monate",
|
||
"allTime": "gesamter Zeitraum (12 Monate im Detail)"
|
||
},
|
||
"windowLabel": "Zeitraum",
|
||
"settingsAriaLabel": "Coach-Einstellungen",
|
||
"settingsTitle": "Coach-Einstellungen",
|
||
"settingsDescription": "Stell ein, wie der Coach mit dir spricht.",
|
||
"settingsToneLabel": "Tonfall",
|
||
"settingsToneWarm": "Warm",
|
||
"settingsToneNeutral": "Neutral",
|
||
"settingsToneConcise": "Knapp",
|
||
"settingsVerbosityLabel": "Antwortlänge",
|
||
"settingsVerbosityBrief": "Kurz",
|
||
"settingsVerbosityDefault": "Standard",
|
||
"settingsVerbosityDetailed": "Ausführlich",
|
||
"settingsVerbosityConciseHint": "Der knappe Tonfall hält Antworten ohnehin kurz — die Ausführlichkeit ist dabei fest auf „Kurz“ gesetzt.",
|
||
"settingsSourcesPointer": "Welche Datenquellen der Coach nutzen darf und das Standard-Analysefenster verwaltest du direkt im Coach-Chat (Leiste „Worauf ich zugreife“).",
|
||
"settingsSourcesPointerLink": "Coach öffnen",
|
||
"settingsExcludeLabel": "Metriken ausschließen",
|
||
"settingsExcludeHint": "Der Coach sieht keine Daten der ausgewählten Metriken.",
|
||
"settingsContextLabel": "Kontext mitschicken",
|
||
"settingsContextHint": "Optionale Blöcke, auf die sich der Coach stützen kann. Schalte einen ab, wird der Block in jeder Antwort weggelassen.",
|
||
"settingsEvidenceLabel": "Belege standardmäßig zeigen",
|
||
"settingsEvidenceHint": "Die Belege-Box unter jeder Antwort automatisch öffnen.",
|
||
"settingsDefaultWindowLabel": "Standard-Analysezeitraum",
|
||
"settingsDefaultWindowHint": "Der Coach liest pro Chat diesen Zeitraum, sofern du im Drawer-Kopf nichts anderes auswählst.",
|
||
"settingsSave": "Speichern",
|
||
"settingsSaved": "Gespeichert",
|
||
"settingsCancel": "Abbrechen",
|
||
"dailyLimitTitle": "Heute-Limit erreicht",
|
||
"dailyLimitBody": "Tageslimit erreicht. Das Budget setzt sich um Mitternacht (UTC) zurück.",
|
||
"providerRateLimitTitle": "Provider rate-limited",
|
||
"providerRateLimitBody": "Provider ist temporär überlastet; Reset in ~5 min.",
|
||
"cluster": {
|
||
"cardio": {
|
||
"label": "Herz-Kreislauf",
|
||
"hint": "Blutdruck · Puls · HRV · Ruhe- & Geh-Herzfrequenz"
|
||
},
|
||
"body": {
|
||
"label": "Körperzusammensetzung",
|
||
"hint": "Gewicht · Körperfett · Muskeln · BMI"
|
||
},
|
||
"activity": {
|
||
"label": "Aktivität",
|
||
"hint": "Schritte · Energie · Distanz · VO₂max"
|
||
},
|
||
"workouts": {
|
||
"label": "Workouts",
|
||
"hint": "Läufe · Radtouren · Einheiten"
|
||
},
|
||
"sleep": {
|
||
"label": "Schlaf",
|
||
"hint": "Dauer · Phasen"
|
||
},
|
||
"mood": {
|
||
"label": "Stimmung",
|
||
"hint": "Tägliche Stimmungseinträge"
|
||
},
|
||
"glucose": {
|
||
"label": "Glukose",
|
||
"hint": "Nüchtern- & postprandiale Werte"
|
||
},
|
||
"medication": {
|
||
"label": "Medikation",
|
||
"hint": "Therapietreue · GLP-1-Kontext"
|
||
},
|
||
"mobility": {
|
||
"label": "Mobilität & Gang",
|
||
"hint": "Stabilität · Asymmetrie · Gangbild"
|
||
},
|
||
"environment": {
|
||
"label": "Umgebung",
|
||
"hint": "Lärm · Tageslicht · Hauttemperatur"
|
||
}
|
||
},
|
||
"settingsClustersLabel": "Daten, die der Coach sieht",
|
||
"settingsClustersHint": "Wähle, welche Datencluster der Coach lesen darf. Mehr Daten bedeuten reichhaltigere Antworten und einen größeren Prompt.",
|
||
"settingsClusterNoData": "Noch keine Daten",
|
||
"sourcesMemberCount": "{count} Werte",
|
||
"showConversations": "Unterhaltungen anzeigen",
|
||
"hideConversations": "Unterhaltungen ausblenden",
|
||
"heroGreeting": "Frage mich etwas zu deinen Daten",
|
||
"heroSubline": "Frag nach deinen Verläufen, Medikamenten oder Messwerten.",
|
||
"thinkingElapsed": "{seconds}s",
|
||
"thinkingDuration": "Nachgedacht für {seconds}s",
|
||
"thinkingExpandAria": "Zeigen, was der Coach berücksichtigt hat",
|
||
"thinkingDetail": "Beantwortet aus deinem Gesundheits-Snapshot.",
|
||
"tokensUsed": "{count} Tokens",
|
||
"tokensUsedWithModel": "{count} Tokens · {model}",
|
||
"askAboutThis": "Den Coach dazu fragen",
|
||
"readStrip": {
|
||
"label": "Üblicher Bereich",
|
||
"baselineWithin": "Dein üblicher Bereich liegt bei {low}–{high} {unit}; heute liegt {value} darin.",
|
||
"baselineAbove": "Dein üblicher Bereich liegt bei {low}–{high} {unit}; heute liegt {value} darüber.",
|
||
"baselineBelow": "Dein üblicher Bereich liegt bei {low}–{high} {unit}; heute liegt {value} darunter.",
|
||
"insufficient": "Lerne noch deinen üblichen Bereich — protokolliere noch ein paar Tage weiter.",
|
||
"driver": "{note}"
|
||
},
|
||
"scope": {
|
||
"prefix": "Der Coach ist schon bei {metric}",
|
||
"tap": "Zum Fragen tippen",
|
||
"question": "Erkläre mir diese Kennzahl — worauf sollte ich achten?"
|
||
},
|
||
"seeded": {
|
||
"prefix": "Heute einen Blick wert: {signal}",
|
||
"signal": {
|
||
"readiness": "Bereitschaft",
|
||
"recovery": "Erholung"
|
||
},
|
||
"question": {
|
||
"readiness": "Meine Bereitschaft ist heute auffällig — woran liegt das?",
|
||
"recovery": "Meine Erholung hat sich verändert — was steckt dahinter?"
|
||
},
|
||
"dismiss": "Ausblenden"
|
||
},
|
||
"settings": "Einstellungen",
|
||
"history": {
|
||
"groupToday": "Heute",
|
||
"groupYesterday": "Gestern",
|
||
"groupThisWeek": "Diese Woche",
|
||
"groupEarlier": "Früher"
|
||
},
|
||
"seed": {
|
||
"bloodPressure": "Geh mit mir meinen Blutdruckverlauf der letzten 30 Tage durch — gibt es etwas, das ich im Auge behalten sollte?",
|
||
"weight": "Wie hat sich mein Gewicht zuletzt entwickelt, und ist die Richtung etwas, worauf ich reagieren sollte?",
|
||
"bmi": "Was sagt mir mein BMI-Verlauf, und wie sollte ich ihn lesen?",
|
||
"pulse": "Geh mit mir meine Pulswerte durch — ist irgendetwas ungewöhnlich?",
|
||
"restingHr": "Wie hat sich mein Ruhepuls entwickelt, und was sagt er über meine Fitness?",
|
||
"hrv": "Was sagt mir meine Herzfrequenzvariabilität zuletzt über Erholung und Stress?",
|
||
"sleep": "Geh mit mir meinen letzten Schlaf durch — Dauer, Regelmäßigkeit und was sich zu ändern lohnt.",
|
||
"mood": "Welche Muster siehst du in meiner Stimmung über die letzten Wochen?",
|
||
"medications": "Wie sieht meine Therapietreue aus, und passt sie dazu, wie ich mich gefühlt habe?",
|
||
"steps": "Wie aktiv war ich zuletzt gemessen an meinen Schritten, und wie ist das im Vergleich zu einem gesunden Richtwert?",
|
||
"activeEnergy": "Was sagt mein Aktivenergie-Verlauf über mein Aktivitätsniveau zuletzt?",
|
||
"cardioFitness": "Was bedeutet mein Cardio-Fitness-Verlauf (VO₂max), und wie bewege ich ihn in die richtige Richtung?",
|
||
"bloodGlucose": "Geh mit mir meine letzten Glukosewerte durch — liegen sie in einem gesunden Bereich?",
|
||
"oxygenSaturation": "Was sagt mir mein Sauerstoffsättigungs-Verlauf (SpO₂)?",
|
||
"respiratoryRate": "Was sagt mein Atemfrequenz-Verlauf über meine Gesundheit?",
|
||
"workouts": "Geh mit mir meine letzten Workouts durch — Belastung, Häufigkeit und wie ich mich dazwischen erhole.",
|
||
"recoveryPage": "Warum steht meine Erholung gerade dort, wo sie steht, und was treibt das?",
|
||
"briefing": "Geh mit mir das heutige Briefing durch — worauf sollte ich mich konzentrieren, und gibt es etwas, das einen Schritt wert ist?",
|
||
"healthScore": "Warum liegt mein Gesundheits-Score bei {score} von 100, und was würde ihn am stärksten bewegen?",
|
||
"periodWeek": "Geh mit mir durch, wie meine letzte Woche über meine Gesundheitswerte hinweg lief — was sticht heraus?",
|
||
"periodMonth": "Geh mit mir durch, wie mein letzter Monat über meine Gesundheitswerte hinweg lief — was sticht heraus?",
|
||
"correlationBpCompliance": "Wie hängt meine Therapietreue mit meinem Blutdruck zusammen? Geh mit mir durch, was dieser Zusammenhang für mich bedeutet.",
|
||
"correlationMoodPulse": "Gibt es einen echten Zusammenhang zwischen meiner Stimmung und meinem Puls? Hilf mir, diesen Zusammenhang zu lesen.",
|
||
"correlationWeightWeekday": "Folgt mein Gewicht einem Wochenmuster? Was sagt mir dieser Wochentags-Zusammenhang?",
|
||
"recommendation": "Erzähl mir mehr zu dieser Empfehlung: „{text}“ — warum trifft sie auf mich zu, und was sollte ich tun?"
|
||
},
|
||
"assessmentPrompt": "Erkläre mir meine {metric}-Einschätzung — was bedeutet sie und was sollte ich tun?",
|
||
"attach": {
|
||
"menuChooseFromDocuments": "Aus Dokumenten wählen",
|
||
"menuUploadNew": "Neues Dokument hochladen",
|
||
"trigger": "Dokumente anhängen",
|
||
"pickerTitle": "Dokumente anhängen",
|
||
"pickerDescription": "Der Coach liest nur die angehängten Dokumente — nicht deine Gesundheitsdaten.",
|
||
"pickerSearchPlaceholder": "Dokumente durchsuchen…",
|
||
"pickerEmpty": "Noch keine Dokumente in deinem Tresor.",
|
||
"pickerNotIndexed": "Noch nicht indexiert",
|
||
"pickerCap": "Du kannst noch bis zu {max} anhängen.",
|
||
"pickerConfirm": "Anhängen ({count})",
|
||
"pillRemove": "{title} entfernen",
|
||
"indexing": "Wird indexiert…",
|
||
"indexingHint": "Ein Dokument wird noch indexiert — du kannst senden, sobald es bereit ist.",
|
||
"fencedHint": "Diese Unterhaltung läuft ohne Zugriff auf deine Gesundheitsdaten — der Coach liest nur die angehängten Dokumente.",
|
||
"documentsAttachedOne": "1 Dokument angehängt",
|
||
"documentsAttachedOther": "{count} Dokumente angehängt",
|
||
"railBadge": "Dokument-Chat (abgeschottet)",
|
||
"uploadError": "Upload fehlgeschlagen. Bitte versuche es erneut.",
|
||
"notFoundError": "Dieser Dokumentlink ist nicht mehr gültig — es wird ein normaler Chat gestartet."
|
||
},
|
||
"interrupted": {
|
||
"note": "Diese Antwort wurde unterbrochen, bevor sie fertig war.",
|
||
"retry": "Erneut fragen"
|
||
},
|
||
"historyReadOnlyNote": "Der Coach ist gerade nicht verfügbar, deine Gespräche kannst du aber weiter lesen und löschen.",
|
||
"transcriptYou": "Du",
|
||
"transcriptCoach": "Coach",
|
||
"errorConsent": "Der Coach braucht deine KI-Einwilligung, bevor er antworten kann. Du kannst sie unter Einstellungen, KI geben.",
|
||
"errorNotPermitted": "Der Coach ist in einer Akte, die jemand mit dir teilt, nicht verfügbar.",
|
||
"errorUnavailable": "Der Coach konnte seine Einstellungen gerade nicht prüfen. Bitte versuch es gleich noch einmal.",
|
||
"errorOperatorOff": "KI ist auf diesem Server abgeschaltet, deshalb kann der Coach nicht antworten.",
|
||
"errorCoachOff": "Der Coach ist ausgeschaltet. Du kannst ihn unter Einstellungen, Module wieder einschalten.",
|
||
"answer": {
|
||
"scrollToBottom": "Zur neuesten Nachricht",
|
||
"rememberDone": "Gemerkt",
|
||
"timeYesterday": "gestern {time}",
|
||
"timeEarlier": "{date}, {time}",
|
||
"areasDoneOne": "1 Bereich angesehen",
|
||
"areasDoneFew": "{count} Bereiche angesehen",
|
||
"areasDoneOther": "{count} Bereiche angesehen"
|
||
}
|
||
},
|
||
"relativeJustNow": "gerade eben",
|
||
"relativeMinutesAgoOne": "vor {count} Minute",
|
||
"relativeMinutesAgoOther": "vor {count} Minuten",
|
||
"relativeMinutesAgoFew": "vor {count} Minuten",
|
||
"relativeHoursAgoOne": "vor {count} Stunde",
|
||
"relativeHoursAgoOther": "vor {count} Stunden",
|
||
"relativeHoursAgoFew": "vor {count} Stunden",
|
||
"relativeDaysAgoOne": "vor {count} Tag",
|
||
"relativeDaysAgoOther": "vor {count} Tagen",
|
||
"relativeDaysAgoFew": "vor {count} Tagen",
|
||
"navOverview": "Übersicht",
|
||
"navCatalog": "Alle Messwerte",
|
||
"navBloodPressure": "Blutdruck",
|
||
"navWeight": "Gewicht",
|
||
"navPulse": "Puls",
|
||
"navMood": "Stimmung",
|
||
"navMedication": "Medikamente",
|
||
"navNutrients": "Nährstoffe",
|
||
"navBmi": "BMI",
|
||
"navSleep": "Schlaf",
|
||
"navHrv": "HRV",
|
||
"navRestingHr": "Ruhepuls",
|
||
"navOxygenSaturation": "Sauerstoff",
|
||
"navBodyTemperature": "Temperatur",
|
||
"navSteps": "Schritte",
|
||
"navActiveEnergy": "Aktive Energie",
|
||
"navAriaLabel": "Zu Abschnitt springen",
|
||
"pillScrollLeft": "Tabs nach links scrollen",
|
||
"pillScrollRight": "Tabs nach rechts scrollen",
|
||
"tabStrip": {
|
||
"vitalsParent": {
|
||
"label": "Vitalwerte",
|
||
"header": "Vital-Werte"
|
||
},
|
||
"bodyParent": {
|
||
"label": "Körper",
|
||
"header": "Körperzusammensetzung"
|
||
},
|
||
"activityParent": {
|
||
"label": "Aktivität",
|
||
"header": "Aktivität & Mobilität"
|
||
},
|
||
"heartParent": {
|
||
"label": "Herz",
|
||
"header": "Herzgesundheit"
|
||
},
|
||
"hearingParent": {
|
||
"label": "Gehör",
|
||
"header": "Gehör & Lärmbelastung"
|
||
},
|
||
"environmentParent": {
|
||
"label": "Umwelt",
|
||
"header": "Umwelt"
|
||
},
|
||
"metabolicParent": {
|
||
"label": "Stoffwechsel",
|
||
"header": "Stoffwechsel"
|
||
}
|
||
},
|
||
"hrv": {
|
||
"title": "HRV",
|
||
"description": "Herzratenvariabilität im Verlauf — dein Erholungssignal des autonomen Nervensystems, nächtlich von Apple Watch und kompatiblen Wearables erfasst.",
|
||
"chartTitle": "Herzratenvariabilität",
|
||
"emptyState": {
|
||
"title": "Noch keine HRV-Werte",
|
||
"description": "HRV-Werte erscheinen hier, sobald die Apple Watch (oder ein kompatibles Withings-Gerät) nächtliche Messungen synchronisiert."
|
||
}
|
||
},
|
||
"restingHr": {
|
||
"title": "Ruhepuls",
|
||
"description": "Die tägliche Grundlinie deines Herzschlags — unterschieden vom Spot-Puls. Apple Health liefert einen Wert pro Tag.",
|
||
"chartTitle": "Ruhepuls",
|
||
"emptyState": {
|
||
"title": "Noch kein Ruhepuls",
|
||
"description": "Der Ruhepuls erscheint, sobald die Apple Watch oder ein kompatibles Withings-Gerät einen ruhigen Tag durchgetragen hat."
|
||
},
|
||
"coachPrefill": "Ich habe noch keinen Ruhepuls erfasst — warum unterscheidet sich der tägliche Ruhewert von einem punktuellen Puls, und wie verbessere ich ihn?"
|
||
},
|
||
"oxygenSaturation": {
|
||
"title": "Sauerstoffsättigung",
|
||
"description": "Blutsauerstoff (SpO₂) — klinischer Normalbereich 95–100 %; Zielzonen sind am Chart hinterlegt.",
|
||
"chartTitle": "Sauerstoffsättigung",
|
||
"emptyState": {
|
||
"title": "Noch keine SpO₂-Werte",
|
||
"description": "SpO₂-Werte erscheinen, sobald ein kompatibles Wearable (Apple Watch, Withings ScanWatch) eine Messung erfasst."
|
||
}
|
||
},
|
||
"bodyTemperature": {
|
||
"title": "Körpertemperatur",
|
||
"description": "Verlauf der Körperkerntemperatur in Celsius. Hauttemperaturwerte von Withings laufen über eine separate Metrik.",
|
||
"chartTitle": "Körpertemperatur",
|
||
"emptyState": {
|
||
"title": "Noch keine Körpertemperatur",
|
||
"description": "Erfasse eine Körpertemperatur oder lass dein Wearable einen Wert synchronisieren — der Verlauf erscheint dann hier.",
|
||
"cta": "Körpertemperatur erfassen"
|
||
}
|
||
},
|
||
"steps": {
|
||
"title": "Schritte",
|
||
"description": "Tägliche Schrittzahl — eine Zeile pro Tag, aus Apple Health oder einem verbundenen Aktivitätsgerät.",
|
||
"chartTitle": "Schritte pro Tag",
|
||
"emptyState": {
|
||
"title": "Noch keine Schrittdaten",
|
||
"description": "Tägliche Schritt-Summen erscheinen hier, sobald Apple Health oder ein Aktivitätsgerät einen Tagesumfang synchronisiert."
|
||
}
|
||
},
|
||
"activeEnergy": {
|
||
"title": "Aktive Energie",
|
||
"description": "Tägliche aktive-Energie-Summe in Kilokalorien — eine Zeile pro Tag, aus Apple Health oder Withings-Aktivität.",
|
||
"chartTitle": "Aktive Energie",
|
||
"emptyState": {
|
||
"title": "Noch keine Aktive-Energie-Werte",
|
||
"description": "Aktive-Energie-Summen erscheinen hier, sobald Apple Health oder ein Withings-Aktivitätsgerät einen Tagesumfang synchronisiert."
|
||
}
|
||
},
|
||
"subPage": {
|
||
"loadError": "Diese Messgröße konnte gerade nicht geladen werden.",
|
||
"blutdruckDescription": "Dein systolisch-/diastolisch-Verlauf mit altersangepassten Zielbereichen und einer textbasierten Einschätzung.",
|
||
"gewichtDescription": "Gewichtsverlauf gegen das aus deiner Größe abgeleitete gesunde Band, mit Einschätzung.",
|
||
"pulsDescription": "Ruhepuls im Vergleich zu einem alters- und geschlechtsabhängigen Referenzband aus CDC/NCHS-Populationsperzentilen, mit Einschätzung.",
|
||
"stimmungDescription": "Tägliche Stimmungswerte im Zeitverlauf mit einer textbasierten Einschätzung.",
|
||
"medikamenteDescription": "Einnahme-Kalender pro Medikament plus eine textbasierte Einschätzung.",
|
||
"bmiDescription": "BMI aus deinem Gewicht und deiner Größe abgeleitet, mit Einschätzung.",
|
||
"target": {
|
||
"adjustLink": "Zielbereich anpassen"
|
||
},
|
||
"explainer": {
|
||
"bloodPressureBody": "Der Blutdruck ist die Kraft, die das Blut auf die Gefäßwände ausübt, angegeben als systolisch zu diastolisch (Spitzenwert beim Herzschlag über dem Ruhewert dazwischen). Dauerhaft hohe Werte belasten Herz und Gefäße auf Dauer.",
|
||
"pulseBody": "Der Puls gibt an, wie oft das Herz pro Minute schlägt. Eine Einzelmessung spiegelt den Moment wider — in Ruhe liegt er meist bei 60–100 Schlägen pro Minute und steigt natürlicherweise bei Bewegung, Stress oder Koffein.",
|
||
"weightBody": "Das Körpergewicht ist eines der einfachsten Signale für die langfristige Energiebilanz und die allgemeine Gesundheit. Der Trend über Wochen zählt weit mehr als ein einzelner Wert, der mit Flüssigkeit, Ernährung und Tageszeit schwankt.",
|
||
"bmiBody": "Der BMI ist dein Gewicht geteilt durch deine Körpergröße zum Quadrat und ordnet dich einer groben Gewichtskategorie zu. Er ist ein Orientierungswert, keine Diagnose, und unterscheidet nicht zwischen Muskeln und Fett.",
|
||
"sleepBody": "Die Schlafdauer ist die tatsächlich geschlafene Zeit pro Nacht, aufgeteilt in Leicht-, Tief- und REM-Schlaf. Die meisten Erwachsenen brauchen etwa sieben bis neun Stunden; gleichmäßige Menge und Qualität unterstützen Erholung, Stimmung und Stoffwechsel.",
|
||
"moodBody": "Die Stimmungserfassung hält auf einer einfachen Skala fest, wie du dich fühlst. Regelmäßiges Protokollieren zeigt Muster — wie Schlaf, Aktivität oder Medikamente mit dem Befinden zusammenhängen –, die ein einzelner Tag nie offenbart.",
|
||
"medicationsBody": "Die Therapietreue zeigt, wie zuverlässig du deine Medikamente wie verordnet einnimmst, hier als Anteil der erwarteten Dosen, die du erfasst hast. Eine gleichmäßige Einnahme entscheidet oft darüber, ob eine Therapie wie beabsichtigt wirkt.",
|
||
"restingHrBody": "Der Ruhepuls ist die Herzfrequenz in völliger Ruhe, meist über Nacht gemessen. Ein niedriger Ruhepuls deutet in der Regel auf eine bessere Herz-Kreislauf-Fitness hin, ein steigender Trend kann ein frühes Zeichen für Stress oder Krankheit sein.",
|
||
"hrvBody": "Die HRV ist die kleine Schwankung der Zeit zwischen aufeinanderfolgenden Herzschlägen. Eine höhere Variabilität spiegelt meist ein gut erholtes, anpassungsfähiges Nervensystem wider, ein anhaltender Rückgang kann auf Erschöpfung, Stress oder mangelnde Erholung hinweisen.",
|
||
"oxygenSaturationBody": "Die SpO₂ ist der Prozentsatz der roten Blutkörperchen, die Sauerstoff transportieren. Werte von 95–100 % sind in Ruhe normal; Werte dauerhaft unter 90 % verdienen Aufmerksamkeit, kurze nächtliche Abfälle sind jedoch häufig.",
|
||
"bodyTemperatureBody": "Die Körpertemperatur spiegelt deinen Kernwärmezustand wider, normalerweise um 37 °C mit kleinen Tagesschwankungen. Ein anhaltender Anstieg kann auf eine Infektion hindeuten; nächtliche Messungen am Handgelenk erfassen vor allem relative Änderungen, keinen klinischen Wert.",
|
||
"activeEnergyBody": "Die aktive Energie sind die Kalorien, die du durch Bewegung verbrennst, zusätzlich zum Grundumsatz in Ruhe. Sie ist ein direktes Maß dafür, wie körperlich aktiv dein Tag war.",
|
||
"workoutsBody": "Workouts sind die strukturierten Trainingseinheiten, die deine Geräte mit Art, Dauer und Energie aufzeichnen. Ihre Erfassung zeigt, wie sich regelmäßiges Training über Wochen summiert und wie es mit deinen anderen Gesundheitssignalen zusammenhängt.",
|
||
"respiratoryRateBody": "Die Atemfrequenz ist die Anzahl der Atemzüge pro Minute. In Ruhe atmen die meisten Erwachsenen etwa zwölf- bis zwanzigmal pro Minute; ein anhaltender Anstieg kann mit Krankheit, Anstrengung oder Stress einhergehen.",
|
||
"bodyWaterBody": "Das Gesamtkörperwasser ist der Anteil deines Körpergewichts, der aus Flüssigkeit in und um die Zellen besteht. Es schwankt mit Flüssigkeitshaushalt, Ernährung und Aktivität, daher sagt der Trend über Wochen mehr aus als ein einzelner Wert.",
|
||
"boneMassBody": "Die Knochenmasse ist das geschätzte Gewicht der Mineralien in deinem Skelett. Waagengestützte Schätzungen sind ungefähr, doch ein gleichbleibender oder steigender Trend unterstützt die langfristige Knochenstärke.",
|
||
"fatFreeMassBody": "Die fettfreie Masse ist alles in deinem Körper, das kein Fett ist — Muskeln, Knochen, Organe und Wasser. Sie zu halten oder aufzubauen, während das Gewicht sinkt, deutet meist auf eine gesündere Körperzusammensetzung hin.",
|
||
"fatMassBody": "Die Fettmasse ist das Gesamtgewicht des Körperfetts. Etwas Fett ist für Hormone und Energiespeicher unverzichtbar, doch zu viel — besonders am Bauch — erhöht das langfristige Gesundheitsrisiko (WHO 2024).",
|
||
"bodyFatBody": "Der Körperfettanteil ist der Teil deines Gewichts, der aus Fett besteht. Gesunde Bereiche hängen von Geschlecht und Alter ab, und Waagen schätzen den Wert per Bioimpedanz, deshalb sagt der Verlauf über mehrere Wochen mehr als eine einzelne Messung.",
|
||
"muscleMassBody": "Die Muskelmasse ist das geschätzte Gewicht der Muskeln in deinem Körper. Mehr Muskeln unterstützen Kraft, Stoffwechsel und Beweglichkeit und müssen mit zunehmendem Alter aktiv erhalten werden.",
|
||
"visceralFatBody": "Viszeralfett ist das Fett, das tief im Bauchraum um die Organe gespeichert wird. Anders als das Unterhautfett ist ein hoher Wert eng mit Herzkrankheiten und Typ-2-Diabetes verbunden, daher ist niedriger meist besser.",
|
||
"leanBodyMassBody": "Die Magermasse ist dein Gesamtgewicht abzüglich des Körperfetts — Muskeln, Knochen, Organe und Wasser zusammen. Sie neben dem Gewicht zu verfolgen zeigt, ob Veränderungen aus Muskeln oder aus Fett stammen.",
|
||
"flightsClimbedBody": "Die gestiegenen Etagen zählen die Stockwerke, die du täglich nach oben gehst, wobei eine Etage etwa drei Metern Höhe entspricht. Es ist ein einfacher Marker für Alltagsaktivität und Beinarbeit.",
|
||
"walkingDistanceBody": "Die Geh- und Laufstrecke ist die Strecke, die du täglich zu Fuß zurücklegst. Sie ergänzt die Schrittzahl, indem sie zeigt, wie weit du dich bewegt hast, nicht nur wie oft du getreten bist.",
|
||
"walkingSteadinessBody": "Die Gehstabilität schätzt, wie stabil und ausgewogen dein Gangbild ist, eingeteilt von OK bis niedrig. Ein niedriger Wert deutet auf ein höheres Sturzrisiko hin und sollte ärztlich besprochen werden.",
|
||
"walkingHeartRateBody": "Die Herzfrequenz beim Gehen ist dein durchschnittlicher Puls bei einem gleichmäßigen Spaziergang. Ein über die Zeit niedrigerer Wert spiegelt bei gleicher Anstrengung oft eine bessere Herz-Kreislauf-Fitness wider.",
|
||
"walkingAsymmetryBody": "Die Gangasymmetrie ist der Anteil der Zeit, in der deine Schritte zwischen linkem und rechtem Bein ungleichmäßig sind. Ein höherer Prozentsatz kann auf Schmerzen, eine Verletzung oder ein Gangproblem hindeuten, das näher betrachtet werden sollte.",
|
||
"doubleSupportTimeBody": "Die Doppelunterstützungszeit ist der Anteil jedes Gehzyklus, in dem beide Füße gleichzeitig den Boden berühren. Ein höherer Prozentsatz bedeutet meist ein vorsichtigeres, weniger stabiles Gangbild.",
|
||
"stepLengthBody": "Die Schrittlänge ist der durchschnittliche Abstand von einem Fußauftritt zum nächsten. Eine über die Zeit kürzere Schrittlänge kann Müdigkeit, Vorsicht oder eine veränderte Beweglichkeit widerspiegeln.",
|
||
"walkingSpeedBody": "Die Gehgeschwindigkeit ist, wie schnell du dich auf ebenem Untergrund fortbewegst. Sie ist ein gut untersuchter Marker für allgemeine Gesundheit und Beweglichkeit, und ein gleichbleibendes oder steigendes Tempo ist ein gutes Zeichen.",
|
||
"pulseWaveVelocityBody": "Die Pulswellengeschwindigkeit misst, wie schnell die Druckwelle jedes Herzschlags durch deine Arterien läuft. Eine schnellere Welle weist auf steifere Arterien hin, was mit einem höheren Herz-Kreislauf-Risiko verbunden ist.",
|
||
"vascularAgeBody": "Das Gefäßalter schätzt anhand der Arteriensteifigkeit, wie alt sich deine Arterien im Vergleich zu deinem tatsächlichen Alter verhalten. Ein Gefäßalter unter dem echten Alter deutet auf gesündere Blutgefäße hin.",
|
||
"environmentalAudioBody": "Die Umgebungslautstärke erfasst die Lautstärke deiner Umwelt in Dezibel. Anhaltende Belastung über etwa 70 dB kann das Gehör mit der Zeit schädigen, daher sind niedrigere Tagesmittel sicherer.",
|
||
"headphoneAudioBody": "Die Kopfhörerlautstärke erfasst in Dezibel, wie laut du über Ohrhörer oder Kopfhörer hörst. Die Lautstärke niedrig zu halten und Pausen einzulegen schützt dein Gehör langfristig.",
|
||
"audioEventsBody": "Laute Geräuschereignisse markieren Momente, in denen der Lärm um dich herum ein Niveau erreicht hat, das bei ausreichender Belastung das Gehör schädigen kann. Häufige Ereignisse sind ein Hinweis, eine ruhigere Umgebung oder Gehörschutz zu suchen.",
|
||
"daylightBody": "Die Zeit im Tageslicht ist, wie lange du dich täglich im Freien im Licht aufhältst. Regelmäßiges Tageslicht unterstützt einen gesunden Schlaf-Wach-Rhythmus und die Stimmung (CDC 2024), und Zeit im Freien ist mit der Augengesundheit verbunden.",
|
||
"bloodGlucoseBody": "Der Blutzucker ist die Zuckermenge in deinem Blut, die wichtigste Energiequelle des Körpers. Er steigt nach dem Essen und pendelt sich zwischen den Mahlzeiten ein; dauerhaft hohe Werte können auf Diabetes oder Prädiabetes hinweisen.",
|
||
"skinTemperatureBody": "Die Hauttemperatur ist hier die kleine nächtliche Abweichung deiner Handgelenkstemperatur von deinem eigenen Ausgangswert, keine absolute Fiebermessung. Veränderungen können Schlaf, Umgebung, Krankheit oder Zyklusphase widerspiegeln.",
|
||
"cardioFitnessBody": "VO₂max gibt an, wie viel Sauerstoff dein Körper bei maximaler Anstrengung verwerten kann — der beste Laborindex der Ausdauerfitness, den Wearables indirekt schätzen. Ein höherer oder steigender Trend ist ein starkes Zeichen für eine gute Herz-Kreislauf-Gesundheit.",
|
||
"cardioRecoveryBody": "Der Erholungspuls gibt an, um wie viele Schläge pro Minute dein Puls in der ersten Minute nach dem Ende einer anstrengenden Belastung fällt. Ein größerer Abfall bedeutet, dass sich dein Herz schneller beruhigt — ein Zeichen guter Fitness.",
|
||
"wristTemperatureBody": "Die Handgelenktemperatur wird im Schlaf gemessen und als Abweichung von deinem persönlichen Ausgangswert angegeben, nicht als absoluter Wert. Ein gleichmäßiger Wert ist normal, ein anhaltender Anstieg kann auf Krankheit, intensives Training oder eine Zyklusveränderung hindeuten.",
|
||
"fallsBody": "Hier werden die von deinem Wearable erkannten schweren Stürze gezählt. Null ist das Ziel; eine steigende Zahl ist ein Hinweis auf ein erhöhtes Sturzrisiko, das du — besonders im höheren Alter — mit einer Ärztin oder einem Arzt besprechen solltest (CDC STEADI 2024).",
|
||
"sixMinuteWalkBody": "Dies ist eine Schätzung, wie weit du in sechs Minuten gehen könntest — ein etablierter klinischer Test für Mobilität und kardiopulmonale Ausdauer. Der Wearable-Wert ist ein Näherungswert, nicht der überwachte klinische Test; aussagekräftig ist der gleichbleibende oder steigende Trend.",
|
||
"stairAscentSpeedBody": "Dies gibt an, wie schnell du eine Treppe hinaufgehst. Es ist ein empfindlicher Marker für Beinkraft und Mobilität — ein gleichbleibendes oder steigendes Tempo ist gut, ein sinkendes solltest du im Blick behalten.",
|
||
"stairDescentSpeedBody": "Dies gibt an, wie schnell du eine Treppe hinabgehst. Zusammen mit dem Steig-Tempo zeigt es Beinkontrolle und Gleichgewicht — ein gleichmäßiges Tempo ist gut, ein sinkendes solltest du im Blick behalten.",
|
||
"breathingDisturbancesBody": "Ein Wearable kann schätzen, wie oft deine Atmung im Schlaf unterbrochen war. Ein niedriger Index ist besser; ein als erhöht eingestufter Wert — vor allem über viele Nächte — sollte mit einer Ärztin oder einem Arzt besprochen werden. Es ist ein Screening-Näherungswert, keine Schlafapnoe-Diagnose.",
|
||
"stepsBody": "Die Schrittzahl ist die Gesamtzahl der Schritte, die du täglich gehst — das einfachste Maß für Alltagsbewegung. Eine stetige Gewohnheit zählt mehr als ein einzelner großer Tag, und das runde Ziel von 10.000 Schritten ist ein Werbeslogan, keine Forschung.",
|
||
"readinessBody": "Die Bereitschaft ist ein einzelner Tageswert dafür, wie bereit dein Körper für den Tag ist — er verbindet Ruhepuls, Herzfrequenzvariabilität und Schlaf. Es ist ein Geräte-Näherungswert an deinem eigenen Ausgangswert, keine klinische Messung: ein höherer Wert heißt erholt, ein niedrigerer ist ein sanfter Hinweis, einen Gang zurückzuschalten.",
|
||
"sleepScoreBody": "Dein Schlafscore fasst eine ganze Nacht in einer Zahl zusammen — aus Dauer, Effizienz, Regelmäßigkeit und der Verteilung von Leicht-, Tief- und REM-Schlaf. Achte eher auf das Muster über Wochen als auf einen perfekten Wert in einer einzelnen Nacht.",
|
||
"recoveryBody": "Die Erholung zeigt, wie gut sich dein Körper regeneriert hat — gestützt auf nächtliche Signale wie Herzfrequenzvariabilität und Ruhepuls. Es ist ein geräteabgeleiteter Näherungswert an deinem eigenen Ausgangswert, keine klinische Messung, und zwischen Geräten nicht vergleichbar. Ein hoher Wert ist grünes Licht, mehr zu geben; ein niedrigerer deutet an, dass dein System noch aufbaut.",
|
||
"strainBody": "Die Belastung erfasst, wie viel kardiovaskuläre und körperliche Last du deinem Körper zugemutet hast — von Workouts bis zu einem aktiven Tag auf den Beinen. Es ist ein geräteabgeleiteter Index, gemessen an deinem eigenen üblichen Aufwand, keine klinische Messung, und der Kennwert ist zwischen Geräten nicht vergleichbar.",
|
||
"stressBody": "Stress ist hier eine Geräte-Heuristik aus Mustern der Herzfrequenzvariabilität — keine Cortisol-Messung und nicht, wie du dich bewusst fühlst, und auch kein klinischer Stress-Score. Lies ihn an deinem eigenen Ausgangswert; zwischen Geräten ist er nicht vergleichbar. Ein niedrigerer Wert deutet auf einen ruhigen, gut regulierten Zustand hin; ein höherer ist eine Einladung, Erholung einzuplanen.",
|
||
"recoveryPageBody": "Die Erholung fasst die nächtlichen Signale deines Wearables zusammen — Recharge, Belastung, Load sowie deine Herzfrequenz- und Energiewerte des Tages — und zeigt, wie gut sich dein Körper erholt hat. Achte eher auf das Muster über mehrere Tage als auf einen einzelnen Wert; ein schwächerer Wert ist eine Einladung, kürzerzutreten, kein Alarm.",
|
||
"pulsePressureBody": "Der Pulsdruck ist die Differenz zwischen deinem systolischen und diastolischen Wert (systolisch minus diastolisch). Als allgemeine Orientierung sind etwa 40 mmHg in Ruhe typisch; eine große Differenz über rund 60 mmHg im mittleren Alter kann auf versteifte Arterien hinweisen, eine kleine Differenz unter etwa 25 mmHg kann mit niedrigem Schlagvolumen einhergehen (StatPearls/NIH 2023). Ein Gesprächsanlass, keine Diagnose.",
|
||
"meanArterialPressureBody": "Der mittlere arterielle Druck ist der durchschnittliche Druck, den deine Organe über einen Herzschlag sehen — grob der diastolische Wert plus ein Drittel der Differenz zum systolischen. Als allgemeine Orientierung liegt ein Ruhewert bei etwa 70–100 mmHg (StatPearls/NIH 2023). Die oft genannte Grenze von ~60 mmHg ist ein Konzept der Akutmedizin, kein Alarm für die Selbstmessung.",
|
||
"cycleEducationBody": "Dein Zyklus durchläuft vier hormongesteuerte Phasen, und seine Länge und Regelmäßigkeit sind ein gut zugängliches Fenster auf die allgemeine Gesundheit. Als allgemeine Orientierung dauern Zyklen bei Erwachsenen typischerweise 21–35 Tage (klinische Referenzen nennen 24–38), mit einer Blutung von rund fünf Tagen (ACOG 2015). Die Lutealphase ist der stabile Anker, daher schätzt man den Eisprung am besten durch Rückrechnen von der nächsten erwarteten Periode — nie über einen festen „Tag 14“. Ein vorhergesagtes fruchtbares Fenster ist eine Schätzung, die mehrere erfasste Zyklen braucht und ungefähr bleibt, und die Basaltemperatur bestätigt den Eisprung im Nachhinein, statt ihn vorherzusagen. Dies ist keine Verhütungsmethode.",
|
||
"sleepHygieneBody": "Einige evidenzbasierte Gewohnheiten unterstützen den Schlaf: gleichbleibende Zubett- und Aufstehzeiten auch am Wochenende, helles Morgenlicht und gedämpfte Abende, ein kühles, dunkles und ruhiges Zimmer sowie der Verzicht auf Koffein am Nachmittag, späten Alkohol und große späte Mahlzeiten (CDC 2024). Regelmäßigkeit sagt die Gesundheit mindestens so stark voraus wie die Dauer, und die Gesamtschlafzeit eines Wearables ist weit verlässlicher als seine Aufteilung in Tief-, Leicht- und REM-Schlaf."
|
||
},
|
||
"bpDerived": {
|
||
"pulsePressure": "Der Pulsdruck (die Differenz zwischen deinen Werten) beträgt etwa {value} mmHg — rund 40 ist in Ruhe typisch.",
|
||
"meanArterialPressure": "Der mittlere arterielle Druck (der Durchschnitt, den deine Organe sehen) liegt bei etwa {value} mmHg, normalerweise um 70–100.",
|
||
"caveat": "Diese Werte werden als allgemeine Orientierung aus deiner letzten Messung abgeleitet, nicht als Diagnose."
|
||
},
|
||
"stats": {
|
||
"label": "Zusammenfassende Statistik",
|
||
"min": "Min",
|
||
"max": "Max",
|
||
"median": "Median",
|
||
"mean": "Mittelwert"
|
||
},
|
||
"showAllValues": "Alle Werte anzeigen",
|
||
"valuesPageTitle": "{metric} — alle Werte",
|
||
"valuesPageDescription": "Jeder einzelne Wert hinter dieser Kennzahl. Einträge lassen sich direkt bearbeiten oder entfernen.",
|
||
"diversity": {
|
||
"trigger": "Messhinweis",
|
||
"weekday": "Die meisten deiner {metric}-Werte fallen auf einen Wochentag. Messungen an anderen Tagen ergeben ein vollständigeres Bild.",
|
||
"timeOfDay": "Die meisten deiner {metric}-Werte fallen auf eine ähnliche Tageszeit. Unterschiedliche Zeiten ergeben ein vollständigeres Bild."
|
||
},
|
||
"valuesBack": "Zurück zu Insights",
|
||
"valuesBackToMetric": "Zurück zu {metric}",
|
||
"scoresBack": "Zurück zu Insights",
|
||
"ecgDescription": "Einkanal-EKG-Aufzeichnungen deines Geräts, jeweils mit dem Ergebnis des Geräts."
|
||
},
|
||
"units": {
|
||
"steps": "Schritte",
|
||
"flights": "Etagen",
|
||
"falls": "Stürze",
|
||
"years": "Jahre",
|
||
"breathingEvents": "Ereignisse",
|
||
"respiratoryRate": "Atemzüge/min"
|
||
},
|
||
"sleep": {
|
||
"title": "Schlaf",
|
||
"description": "Phasen-Aufschlüsselung und nächtliche Dauer — gezogen aus Apple Health.",
|
||
"mainSleep": "Hauptschlaf",
|
||
"totalSleep": "Schlaf gesamt",
|
||
"compositionTitle": "Phasen-Verteilung",
|
||
"compositionSubtitle": "Letzte {nights} Nächte",
|
||
"compositionAriaLabel": "Schlafphasen-Verteilung über {nights} Nächte",
|
||
"sourceDiscrepancy": {
|
||
"tooltipTitle": "Quellen weichen ab"
|
||
},
|
||
"stages": {
|
||
"deep": "Tief",
|
||
"rem": "REM",
|
||
"core": "Kern",
|
||
"asleep": "Schlafend",
|
||
"awake": "Wach",
|
||
"inBed": "Im Bett",
|
||
"nap": "Nickerchen",
|
||
"napCount": "{count} Nickerchen",
|
||
"unavailable": "Noch keine Phasen-Daten — Schlafphasen erscheinen hier, sobald eine verbundene Quelle sie liefert."
|
||
},
|
||
"empty": {
|
||
"title": "Noch keine Schlafdaten",
|
||
"description": "Verbinde eine Quelle wie Apple Health oder ein Wearable — oder erfasse Schlaf manuell — und diese Ansicht füllt sich automatisch.",
|
||
"action": "Geräte verwalten"
|
||
},
|
||
"debt": {
|
||
"title": "Schlafschuld",
|
||
"value": "{hours} Std. {minutes} Min. zu wenig",
|
||
"caption": "Offene Bilanz der letzten {nights} Nächte",
|
||
"clearValue": "Ausgeglichen",
|
||
"clearCaption": "Nichts offen über die letzten {nights} Nächte",
|
||
"learning": "Dein Schlaf wird noch erfasst — {counted} Nächte bisher, noch {remaining} für eine verlässliche Bilanz.",
|
||
"computedInfo": "Das ist HealthLogs eigene Schätzung: eine gleitende Bilanz aus Bedarf minus Schlaf über die letzten Nächte, die Aufholschlaf wieder abbaut. Sie kann vom nativen Schlafdefizit eines Wearables abweichen, das ein eigenes Bedarfsmodell nutzt."
|
||
},
|
||
"average": {
|
||
"title": "Durchschnitt pro Nacht",
|
||
"value": "{hours} Std. {minutes} Min.",
|
||
"caption": "Mittlerer Schlaf über die letzten {nights} Nächte",
|
||
"learning": "Dein Schlaf wird noch erfasst — {counted} Nächte bisher, noch {remaining} für einen verlässlichen Durchschnitt."
|
||
},
|
||
"chronotype": {
|
||
"title": "Chronotyp",
|
||
"learning": "Dein Rhythmus wird noch erfasst — {counted} von {total} freien Nächten. Ein Chronotyp braucht ein paar weckerfreie Morgen, um aussagekräftig zu sein.",
|
||
"advancedToggle": "Mehr Details",
|
||
"socialJetlagValue": "{hours} Std. {minutes} Min. sozialer Jetlag",
|
||
"socialJetlagCaption": "Der Unterschied zwischen deinem Schlaf an Arbeits- und freien Tagen — wie eine kleine wöchentliche Zeitzonenverschiebung.",
|
||
"msfScValue": "Korrigierte Schlafmitte {clock}",
|
||
"msfScCaption": "Bereinigt um den Schlaf, den du am Wochenende nachholst (MSFsc).",
|
||
"dayTypeNote": "Freie Tage werden als Wochenenden angenommen, bis eine Tagestyp-Erfassung ergänzt wird.",
|
||
"band": {
|
||
"extreme_early": "Ausgeprägter Morgentyp",
|
||
"early": "Morgentyp",
|
||
"intermediate": "Mischtyp",
|
||
"late": "Abendtyp",
|
||
"extreme_late": "Ausgeprägter Abendtyp"
|
||
},
|
||
"midpointHeadline": "Deine natürliche Schlafmitte liegt etwa um {clock}."
|
||
},
|
||
"rhythm": {
|
||
"loadError": "Dein Schlafrhythmus konnte gerade nicht geladen werden. Er erscheint wieder, sobald die Verbindung steht."
|
||
}
|
||
},
|
||
"medicationCompliance": "Therapietreue",
|
||
"dayStreak": "{count} Tage Serie",
|
||
"dayStreakOne": "{count} Tag Serie",
|
||
"compliance7d": "Therapietreue (7 Tage)",
|
||
"compliance30d": "Therapietreue (30 Tage)",
|
||
"taken": "genommen",
|
||
"skipped": "übersprungen",
|
||
"missed": "verpasst",
|
||
"assessmentTitle": "Einschätzung",
|
||
"restMode": {
|
||
"title": "Ruhemodus",
|
||
"body": "Eine Krankheits- oder Beschwerdephase ist aktiv, daher spiegelt dies eine Erholungsphase wider. Dein Score wird dafür nicht gesenkt.",
|
||
"bodySince": "Seit {since} ist eine Krankheits- oder Beschwerdephase aktiv, daher spiegelt dies eine Erholungsphase wider. Dein Score wird dafür nicht gesenkt."
|
||
},
|
||
"bloodPressureSectionTitle": "Blutdruck",
|
||
"weightSectionTitle": "Gewicht",
|
||
"pulseSectionTitle": "Puls",
|
||
"bmiSectionTitle": "BMI",
|
||
"complianceNoData": "Keine Daten zur Therapietreue verfügbar",
|
||
"generate": "Neue Analyse erstellen",
|
||
"moodSectionTitle": "Stimmung",
|
||
"emptyState": {
|
||
"bloodPressure": {
|
||
"title": "Noch keine Blutdruckwerte",
|
||
"description": "Sobald du Blutdruck loggst, erscheinen hier Trend, Zielbereichs-Anteil und WHO-Klassifizierung.",
|
||
"cta": "Blutdruck loggen"
|
||
},
|
||
"weight": {
|
||
"title": "Noch keine Gewichtswerte",
|
||
"description": "Logge ein Gewicht, und Verlauf, gleitender Durchschnitt und Zielbereich erscheinen automatisch.",
|
||
"cta": "Gewicht loggen"
|
||
},
|
||
"pulse": {
|
||
"title": "Noch keine Pulswerte",
|
||
"description": "Logge einen Puls, dann erscheinen Ruhepuls, HRV und VO₂ max in dieser Ansicht.",
|
||
"cta": "Puls loggen"
|
||
},
|
||
"bmi": {
|
||
"title": "BMI noch nicht berechnet",
|
||
"description": "Sobald Größe und mindestens ein Gewichtswert vorliegen, erscheint hier der BMI-Verlauf samt WHO-Zonen.",
|
||
"cta": "Gewicht loggen"
|
||
},
|
||
"mood": {
|
||
"title": "Noch keine Stimmungseinträge",
|
||
"description": "Logge eine Stimmung, dann erscheinen Verlauf, Stabilitätsband und Korrelationen.",
|
||
"cta": "Stimmung loggen"
|
||
},
|
||
"medication": {
|
||
"title": "Noch keine Medikamente angelegt",
|
||
"description": "Lege ein Medikament an, dann erscheinen Therapietreue, Wirkstoffspiegel und Eskalations-Verlauf.",
|
||
"cta": "Medikament hinzufügen"
|
||
},
|
||
"sleep": {
|
||
"title": "Noch keine Schlafwerte",
|
||
"description": "Sobald Schlafdaten vorliegen (manuell oder via Withings / Apple Health), erscheint hier der nächtliche Stadien-Verlauf.",
|
||
"cta": "Quelle verbinden"
|
||
}
|
||
},
|
||
"navWorkouts": "Workouts",
|
||
"navRecovery": "Erholung",
|
||
"workouts": {
|
||
"title": "Workouts",
|
||
"description": "Letzte Läufe, Touren, Spaziergänge und Krafteinheiten — quellenübergreifend entdoppelt zwischen Apple Watch und Withings.",
|
||
"emptyState": {
|
||
"title": "Noch keine Workouts",
|
||
"description": "Workouts kommen per Apple Health vom iPhone und von Withings. Du kannst eins auch von Hand erfassen."
|
||
},
|
||
"detail": {
|
||
"backToList": "Zurück zu Workouts",
|
||
"statsTitle": "Werte",
|
||
"statsDuration": "Dauer",
|
||
"statsDistance": "Distanz",
|
||
"statsActiveEnergy": "Aktive Energie",
|
||
"statsAvgHr": "Ø Herzfrequenz",
|
||
"statsMaxHr": "Max. Herzfrequenz",
|
||
"statsMinHr": "Min. Herzfrequenz",
|
||
"statsStepCount": "Schritte",
|
||
"statsElevation": "Höhenmeter",
|
||
"statsPace": "Pace",
|
||
"routeTitle": "Strecke",
|
||
"hrChartTitle": "Herzfrequenz",
|
||
"notFound": "Workout nicht gefunden.",
|
||
"hrFromPulse": "Aus deinen Herzfrequenzdaten rund um diese Einheit",
|
||
"hrAxisMinutes": "Min.",
|
||
"hrAvgMarker": "Ø {bpm}",
|
||
"hrMaxMarker": "Max. {bpm}",
|
||
"hrRangeValue": "{low} bis {high} bpm",
|
||
"hrRangeLabel": "Spanne",
|
||
"hrNoProfile": "Für diese Einheit liegen keine einzelnen Pulswerte vor.",
|
||
"sportAverageLabel": "Dein aktueller Durchschnitt:",
|
||
"zonesTitle": "Belastungszonen",
|
||
"zonesCaption": "Wie sich deine Belastung auf die Herzfrequenzzonen verteilt hat.",
|
||
"zonesCaptionDevice": "Zeit pro Zone laut deinem Gerät.",
|
||
"exportGpx": "GPX exportieren",
|
||
"elevationTitle": "Höhe",
|
||
"splitsTitle": "Kilometerzeiten",
|
||
"splitsKm": "km",
|
||
"splitsTime": "Zeit",
|
||
"splitsPace": "Tempo",
|
||
"thatDayTitle": "An diesem Tag",
|
||
"daySleepTitle": "Die Nacht davor",
|
||
"daySleepNone": "Für diese Nacht ist kein Schlaf erfasst",
|
||
"daySleepAwakeningsOne": "{count}× aufgewacht",
|
||
"daySleepAwakeningsMany": "{count}× aufgewacht",
|
||
"dayMoodTitle": "Stimmung an diesem Tag",
|
||
"dayMoodNone": "An diesem Tag ist keine Stimmung erfasst",
|
||
"sleepTrendsLink": "Schlaf-Trends",
|
||
"moodHistoryLink": "Stimmungsverlauf",
|
||
"previousSessionLink": "Vorherige Einheit",
|
||
"insightTitle": "Aktivitäts-Einblick"
|
||
},
|
||
"sport": {
|
||
"walking": "Gehen",
|
||
"running": "Laufen",
|
||
"cycling": "Radfahren",
|
||
"hiking": "Wandern",
|
||
"swimming": "Schwimmen",
|
||
"rowing": "Rudern",
|
||
"elliptical": "Crosstrainer",
|
||
"stairClimber": "Stepper",
|
||
"yoga": "Yoga",
|
||
"mindAndBody": "Mind and Body",
|
||
"strength": "Kraft",
|
||
"hiit": "HIIT",
|
||
"dance": "Tanz",
|
||
"golf": "Golf",
|
||
"badminton": "Badminton",
|
||
"tennis": "Tennis",
|
||
"basketball": "Basketball",
|
||
"soccer": "Fußball",
|
||
"crossTraining": "Cross-Training",
|
||
"mixedCardio": "Mixed Cardio",
|
||
"other": "Sonstiges"
|
||
},
|
||
"loadError": "Deine Workouts konnten nicht geladen werden",
|
||
"loadMore": "Weitere Workouts laden",
|
||
"loadingMore": "Weitere Workouts werden geladen",
|
||
"loadMoreError": "Weitere Workouts konnten nicht geladen werden",
|
||
"countOne": "{count} Workout",
|
||
"countOther": "{count} Workouts",
|
||
"countFew": "{count} Workouts",
|
||
"filterLabel": "Nach Sportart filtern",
|
||
"filterAll": "Alle Sportarten",
|
||
"filterEmpty": "Keine Einheiten dieser Sportart in deinem Verlauf.",
|
||
"manual": {
|
||
"logWorkout": "Workout erfassen",
|
||
"sheetTitle": "Workout erfassen",
|
||
"sheetDescription": "Trag eine Einheit von Hand ein: was, wann und wie lange.",
|
||
"sportLabel": "Aktivität",
|
||
"sportPlaceholder": "Aktivität wählen",
|
||
"startLabel": "Beginn",
|
||
"startHint": "Leer lassen, wenn du gerade fertig bist: Dann zählt es die Dauer von jetzt zurück.",
|
||
"durationLabel": "Dauer",
|
||
"distanceLabel": "Distanz ({unit})",
|
||
"energyLabel": "Aktive Energie (kcal)",
|
||
"alreadySaved": "Dieses Workout ist schon gespeichert",
|
||
"saveError": "Das Workout konnte nicht gespeichert werden",
|
||
"deleteLabel": "Workout löschen",
|
||
"deleteConfirmTitle": "Dieses Workout löschen?",
|
||
"deleteConfirmDescription": "Dieses von Hand eingetragene Workout wird endgültig entfernt.",
|
||
"deleted": "Workout gelöscht",
|
||
"deleteError": "Das Workout konnte nicht gelöscht werden",
|
||
"errors": {
|
||
"sportRequired": "Wähle eine Aktivität.",
|
||
"startRequired": "Gib Datum und Uhrzeit ein.",
|
||
"startInFuture": "Der Beginn darf nicht in der Zukunft liegen.",
|
||
"durationRequired": "Gib an, wie lange das Workout gedauert hat.",
|
||
"durationInvalid": "Gib ganze Stunden und Minuten von 0 bis 59 ein.",
|
||
"durationTooLong": "Ein Workout dauert höchstens 24 Stunden.",
|
||
"endInFuture": "Das Workout würde in der Zukunft enden. Stell den Beginn auf die Uhrzeit, zu der es angefangen hat.",
|
||
"distanceInvalid": "Gib die Distanz als Zahl in einem realistischen Bereich ein.",
|
||
"energyInvalid": "Gib die aktive Energie als Zahl bis 20.000 kcal ein."
|
||
}
|
||
}
|
||
},
|
||
"bloodGlucose": {
|
||
"title": "Blutzucker",
|
||
"description": "Deine Blutzuckerwerte im Zeitverlauf, in {unit}.",
|
||
"chartTitle": "Blutzucker",
|
||
"medianLabel": "Median Blutzucker",
|
||
"emptyState": {
|
||
"title": "Noch keine Glukosedaten",
|
||
"description": "Blutzuckerwerte erscheinen hier, sobald du einen erfasst oder ein Gerät synchronisiert."
|
||
},
|
||
"clinical": {
|
||
"title": "Glukose-Überblick",
|
||
"subtitle": "Ein Blick auf deine letzten {days} Tage, aus {count} Messungen.",
|
||
"spotCaveat": "Das sind Schätzungen aus einzelnen Stichproben-Messungen, kein Profil eines kontinuierlichen Sensors — lies sie als Richtung, nicht als klinisches Urteil.",
|
||
"labsLink": "Laborergebnisse? HbA1c und Nüchternglukose aus einer Blutabnahme trägst du unter Labor ein.",
|
||
"learningTitle": "Lerne deine Glukose noch kennen",
|
||
"learningBody": "Bisher sind das {count} über {days}. Mit etwas mehr Verlauf wird das Bild klarer — mess weiter oder lass es ein verbundenes Gerät ergänzen.",
|
||
"learningBodyEmpty": "Sobald ein paar Messungen vorliegen — von dir erfasst oder von einem Gerät synchronisiert — nehmen Zeit-im-Zielbereich, Durchschnitt und Schwankung hier Gestalt an.",
|
||
"readingsCount": "{count} Messungen",
|
||
"readingsCountOne": "1 Messung",
|
||
"daysCount": "{days} Tage",
|
||
"daysCountOne": "1 Tag",
|
||
"tir": {
|
||
"title": "Zeit im Zielbereich",
|
||
"caption": "Anteil der Messungen je Bereich ({low}–{high} {unit} ist das Ziel).",
|
||
"veryLow": "Sehr niedrig",
|
||
"low": "Niedrig",
|
||
"inRange": "Im Zielbereich",
|
||
"high": "Hoch",
|
||
"veryHigh": "Sehr hoch",
|
||
"ariaLabel": "Zeit im Zielbereich: {tir}% im Ziel, {below}% darunter, {above}% darüber.",
|
||
"empty": "Noch keine Messungen für das Diagramm."
|
||
},
|
||
"gmi": {
|
||
"label": "Glukose-Management-Indikator",
|
||
"help": "Eine HbA1c-ähnliche Schätzung aus deiner durchschnittlichen Glukose."
|
||
},
|
||
"eA1c": {
|
||
"label": "Geschätzter HbA1c",
|
||
"help": "Eine HbA1c-Schätzung aus deinem mittleren Glukosewert (ADAG)."
|
||
},
|
||
"mean": {
|
||
"label": "Durchschnittliche Glukose"
|
||
},
|
||
"cv": {
|
||
"label": "Schwankung",
|
||
"steady": "Stabil",
|
||
"unstable": "Instabil",
|
||
"help": "Variationskoeffizient. Ab 36 % gilt die Glukose als instabil; niedriger ist stabiler."
|
||
},
|
||
"advanced": {
|
||
"toggle": "Erweiterte Indizes",
|
||
"intro": "Forschungsnahe Kennzahlen für den genaueren Blick. Jede fasst deine Messungen zu einer risikogewichteten Zahl zusammen.",
|
||
"jIndex": {
|
||
"label": "J-Index",
|
||
"help": "Ein einzelner Wert aus Durchschnitt und Streuung — niedriger steht für engere Kontrolle."
|
||
},
|
||
"lbgi": {
|
||
"label": "Risiko für Tiefwerte (LBGI)",
|
||
"help": "Kovatchevs Index, gewichtet danach, wie oft und wie tief Werte ins Tief rutschen."
|
||
},
|
||
"hbgi": {
|
||
"label": "Risiko für Hochwerte (HBGI)",
|
||
"help": "Kovatchevs Index, gewichtet danach, wie oft und wie hoch Werte steigen."
|
||
},
|
||
"byContext": {
|
||
"title": "Nach Kontext",
|
||
"fasting": "Nüchtern",
|
||
"postprandial": "Nach dem Essen",
|
||
"random": "Beliebig",
|
||
"bedtime": "Vor dem Schlafen",
|
||
"unspecified": "Ohne Angabe",
|
||
"readingsShort": "{count} Messungen",
|
||
"readingsShortOne": "1 Messung"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"navBloodGlucose": "Glukose",
|
||
"totalBodyWater": {
|
||
"title": "Gesamtkörperwasser",
|
||
"description": "Dein Gesamtkörperwasser im Zeitverlauf, in Kilogramm.",
|
||
"chartTitle": "Gesamtkörperwasser",
|
||
"emptyState": {
|
||
"title": "Noch keine Körperwasserdaten",
|
||
"description": "Körperwasserwerte erscheinen hier, sobald eine Körperanalysewaage synchronisiert."
|
||
}
|
||
},
|
||
"navTotalBodyWater": "Körperwasser",
|
||
"boneMass": {
|
||
"title": "Knochenmasse",
|
||
"description": "Deine Knochenmasse im Zeitverlauf, in Kilogramm.",
|
||
"chartTitle": "Knochenmasse",
|
||
"emptyState": {
|
||
"title": "Noch keine Knochenmassedaten",
|
||
"description": "Knochenmassewerte erscheinen hier, sobald eine Körperanalysewaage synchronisiert."
|
||
}
|
||
},
|
||
"navBoneMass": "Knochenmasse",
|
||
"flightsClimbed": {
|
||
"title": "Treppen",
|
||
"description": "Stockwerke, die du jeden Tag erklommen hast.",
|
||
"chartTitle": "Treppen pro Tag",
|
||
"emptyState": {
|
||
"title": "Noch keine Treppendaten",
|
||
"description": "Treppenwerte erscheinen hier, sobald Apple Health einen Tag synchronisiert."
|
||
}
|
||
},
|
||
"navFlightsClimbed": "Treppen",
|
||
"walkingRunningDistance": {
|
||
"title": "Geh- + Laufstrecke",
|
||
"description": "Geh- und Laufstrecke pro Tag, in Kilometern.",
|
||
"chartTitle": "Strecke pro Tag",
|
||
"emptyState": {
|
||
"title": "Noch keine Streckendaten",
|
||
"description": "Tagesstrecke erscheint hier, sobald Apple Health einen Tag synchronisiert."
|
||
}
|
||
},
|
||
"navWalkingRunningDistance": "Strecke",
|
||
"fatFreeMass": {
|
||
"title": "Fettfreie Masse",
|
||
"description": "Deine fettfreie Masse im Zeitverlauf, in Kilogramm.",
|
||
"chartTitle": "Fettfreie Masse",
|
||
"emptyState": {
|
||
"title": "Noch keine Daten zur fettfreien Masse",
|
||
"description": "Werte erscheinen hier, sobald eine Körperanalysewaage synchronisiert."
|
||
}
|
||
},
|
||
"navFatFreeMass": "Fettfreie Masse",
|
||
"fatMass": {
|
||
"title": "Fettmasse",
|
||
"description": "Deine Fettmasse im Zeitverlauf, in Kilogramm.",
|
||
"chartTitle": "Fettmasse",
|
||
"emptyState": {
|
||
"title": "Noch keine Fettmassedaten",
|
||
"description": "Fettmassewerte erscheinen hier, sobald eine Körperanalysewaage synchronisiert."
|
||
}
|
||
},
|
||
"bodyFat": {
|
||
"title": "Körperfett",
|
||
"description": "Dein Körperfettanteil im Zeitverlauf.",
|
||
"chartTitle": "Körperfett",
|
||
"emptyState": {
|
||
"title": "Noch keine Körperfettdaten",
|
||
"description": "Körperfettwerte erscheinen hier, sobald eine Körperanalysewaage synchronisiert oder du einen Wert von Hand erfasst.",
|
||
"cta": "Körperfett erfassen"
|
||
}
|
||
},
|
||
"navFatMass": "Fettmasse",
|
||
"navBodyFat": "Körperfett",
|
||
"muscleMass": {
|
||
"title": "Muskelmasse",
|
||
"description": "Deine Muskelmasse im Zeitverlauf, in Kilogramm.",
|
||
"chartTitle": "Muskelmasse",
|
||
"emptyState": {
|
||
"title": "Noch keine Muskelmassedaten",
|
||
"description": "Muskelmassewerte erscheinen hier, sobald eine Körperanalysewaage synchronisiert."
|
||
}
|
||
},
|
||
"navMuscleMass": "Muskelmasse",
|
||
"skinTemperature": {
|
||
"title": "Hauttemperatur",
|
||
"description": "Deine Handgelenk-Hauttemperatur im Zeitverlauf, in Grad Celsius.",
|
||
"chartTitle": "Hauttemperatur",
|
||
"emptyState": {
|
||
"title": "Noch keine Hauttemperaturdaten",
|
||
"description": "Werte erscheinen hier, sobald ein Wearable die nächtliche Temperatur synchronisiert."
|
||
}
|
||
},
|
||
"navSkinTemperature": "Hauttemperatur",
|
||
"pulseWaveVelocity": {
|
||
"title": "Pulswellengeschwindigkeit",
|
||
"description": "Deine arterielle Pulswellengeschwindigkeit im Zeitverlauf, in m/s — höhere Werte deuten auf steifere Arterien hin.",
|
||
"chartTitle": "Pulswellengeschwindigkeit",
|
||
"emptyState": {
|
||
"title": "Noch keine Daten",
|
||
"description": "Werte erscheinen hier, sobald ein kompatibles Withings-Gerät synchronisiert."
|
||
}
|
||
},
|
||
"navPulseWaveVelocity": "Pulswellengeschwindigkeit",
|
||
"vascularAge": {
|
||
"title": "Gefäßalter",
|
||
"description": "Dein geschätztes Gefäßalter im Zeitverlauf, in Jahren.",
|
||
"chartTitle": "Gefäßalter",
|
||
"emptyState": {
|
||
"title": "Noch keine Gefäßalterdaten",
|
||
"description": "Schätzungen erscheinen hier, sobald ein kompatibles Withings-Gerät synchronisiert."
|
||
}
|
||
},
|
||
"navVascularAge": "Gefäßalter",
|
||
"visceralFat": {
|
||
"title": "Viszeralfett",
|
||
"description": "Dein Viszeralfett-Index im Zeitverlauf.",
|
||
"chartTitle": "Viszeralfett",
|
||
"emptyState": {
|
||
"title": "Noch keine Viszeralfettdaten",
|
||
"description": "Werte erscheinen hier, sobald eine kompatible Körperanalysewaage synchronisiert."
|
||
}
|
||
},
|
||
"navVisceralFat": "Viszeralfett",
|
||
"audioExposureEnv": {
|
||
"title": "Umgebungslärm",
|
||
"description": "Dein täglicher mittlerer Umgebungs-Geräuschpegel, in dBA.",
|
||
"chartTitle": "Umgebungs-Geräuschpegel",
|
||
"emptyState": {
|
||
"title": "Noch keine Umgebungslärmdaten",
|
||
"description": "Pegelwerte erscheinen hier, sobald Apple Health synchronisiert."
|
||
}
|
||
},
|
||
"navAudioExposureEnv": "Umgebungslärm",
|
||
"audioExposureHeadphone": {
|
||
"title": "Kopfhörerpegel",
|
||
"description": "Dein täglicher mittlerer Kopfhörerpegel, in dBA.",
|
||
"chartTitle": "Kopfhörer-Lautstärke",
|
||
"emptyState": {
|
||
"title": "Noch keine Kopfhörerdaten",
|
||
"description": "Pegelwerte erscheinen hier, sobald Apple Health synchronisiert."
|
||
}
|
||
},
|
||
"navAudioExposureHeadphone": "Kopfhörerpegel",
|
||
"timeInDaylight": {
|
||
"title": "Zeit im Tageslicht",
|
||
"description": "Minuten im Tageslicht pro Tag.",
|
||
"chartTitle": "Tageslicht pro Tag",
|
||
"emptyState": {
|
||
"title": "Noch keine Tageslichtdaten",
|
||
"description": "Tageslichtwerte erscheinen hier, sobald Apple Health einen Tag synchronisiert."
|
||
}
|
||
},
|
||
"navTimeInDaylight": "Tageslicht",
|
||
"walkingSteadiness": {
|
||
"title": "Gangstabilität",
|
||
"description": "Deine Gangstabilität im Zeitverlauf, in Prozent.",
|
||
"chartTitle": "Gangstabilität",
|
||
"emptyState": {
|
||
"title": "Noch keine Gangstabilitätsdaten",
|
||
"description": "Werte erscheinen hier, sobald Apple Health synchronisiert."
|
||
}
|
||
},
|
||
"navWalkingSteadiness": "Gangstabilität",
|
||
"audioExposureEvent": {
|
||
"title": "Laute Lärmereignisse",
|
||
"description": "Tage mit einem lauten Umgebungsereignis.",
|
||
"chartTitle": "Lärmereignisse pro Tag",
|
||
"emptyState": {
|
||
"title": "Noch keine Lärmereignisdaten",
|
||
"description": "Lärmereignisse erscheinen hier, sobald Apple Health synchronisiert."
|
||
}
|
||
},
|
||
"navAudioExposureEvent": "Lärmereignisse",
|
||
"respiratoryRate": {
|
||
"title": "Atemfrequenz",
|
||
"description": "Deine Atemfrequenz im Zeitverlauf, in Atemzügen pro Minute.",
|
||
"chartTitle": "Atemfrequenz",
|
||
"emptyState": {
|
||
"title": "Noch keine Atemfrequenzdaten",
|
||
"description": "Werte erscheinen hier, sobald Apple Health Schlaf- oder Trainingsatmung synchronisiert."
|
||
}
|
||
},
|
||
"navRespiratoryRate": "Atemfrequenz",
|
||
"leanBodyMass": {
|
||
"title": "Magermasse",
|
||
"description": "Deine Magermasse im Zeitverlauf, in Kilogramm.",
|
||
"chartTitle": "Magermasse",
|
||
"emptyState": {
|
||
"title": "Noch keine Magermassedaten",
|
||
"description": "Werte erscheinen hier, sobald eine Körperanalysewaage synchronisiert."
|
||
}
|
||
},
|
||
"navLeanBodyMass": "Magermasse",
|
||
"walkingHeartRateAverage": {
|
||
"title": "Geh-Puls",
|
||
"description": "Dein durchschnittlicher Puls beim Gehen, in bpm.",
|
||
"chartTitle": "Durchschnittlicher Geh-Puls",
|
||
"emptyState": {
|
||
"title": "Noch keine Geh-Puls-Daten",
|
||
"description": "Werte erscheinen hier, sobald Apple Health synchronisiert."
|
||
}
|
||
},
|
||
"navWalkingHeartRateAverage": "Geh-Puls",
|
||
"walkingAsymmetry": {
|
||
"title": "Gangasymmetrie",
|
||
"description": "Deine Gangasymmetrie im Zeitverlauf, in Prozent.",
|
||
"chartTitle": "Gangasymmetrie",
|
||
"emptyState": {
|
||
"title": "Noch keine Gangasymmetriedaten",
|
||
"description": "Werte erscheinen hier, sobald Apple Health synchronisiert."
|
||
}
|
||
},
|
||
"navWalkingAsymmetry": "Gangasymmetrie",
|
||
"walkingDoubleSupport": {
|
||
"title": "Doppelstandphase",
|
||
"description": "Der Anteil jedes Schritts mit beiden Füßen am Boden, in Prozent.",
|
||
"chartTitle": "Doppelstandphase",
|
||
"emptyState": {
|
||
"title": "Noch keine Doppelstanddaten",
|
||
"description": "Werte erscheinen hier, sobald Apple Health synchronisiert."
|
||
}
|
||
},
|
||
"navWalkingDoubleSupport": "Doppelstandphase",
|
||
"walkingStepLength": {
|
||
"title": "Schrittlänge",
|
||
"description": "Deine durchschnittliche Schrittlänge im Zeitverlauf, in Metern.",
|
||
"chartTitle": "Schrittlänge",
|
||
"emptyState": {
|
||
"title": "Noch keine Schrittlängendaten",
|
||
"description": "Werte erscheinen hier, sobald Apple Health synchronisiert."
|
||
}
|
||
},
|
||
"navWalkingStepLength": "Schrittlänge",
|
||
"walkingSpeed": {
|
||
"title": "Gehgeschwindigkeit",
|
||
"description": "Deine durchschnittliche Gehgeschwindigkeit im Zeitverlauf, in km/h.",
|
||
"chartTitle": "Gehgeschwindigkeit",
|
||
"emptyState": {
|
||
"title": "Noch keine Gehgeschwindigkeitsdaten",
|
||
"description": "Werte erscheinen hier, sobald Apple Health synchronisiert."
|
||
}
|
||
},
|
||
"navWalkingSpeed": "Gehgeschwindigkeit",
|
||
"mood": {
|
||
"logLink": "Stimmung eintragen",
|
||
"mentalWellbeingLink": "Check-in zum seelischen Wohlbefinden machen",
|
||
"heatmapTitle": "Stimmungskalender",
|
||
"heatmapNoEntry": "Kein Eintrag",
|
||
"legendGreat": "Super",
|
||
"legendGood": "Gut",
|
||
"legendOkay": "Okay",
|
||
"legendLow": "Niedrig",
|
||
"distributionTitle": "Stimmungsverteilung",
|
||
"distributionDaysUnit": "Tage",
|
||
"weekdayTitle": "Durchschnitt nach Wochentag",
|
||
"weekdayNoData": "Keine Daten",
|
||
"weekdayBestWorst": "Bester Tag: {best} · Schwerster Tag: {worst}",
|
||
"tagsTitle": "Tags und Auslöser",
|
||
"tagAvgMood": "Durchschnittliche Stimmung mit diesem Tag",
|
||
"correlationsTitle": "Stimmung und andere Werte",
|
||
"correlationsDescription": "Wie sich deine Stimmung am selben Tag mit Schlaf, Aktivität und Puls bewegt.",
|
||
"correlation": {
|
||
"sleepTitle": "Stimmung vs. Schlaf",
|
||
"stepsTitle": "Stimmung vs. Aktivität",
|
||
"pulseTitle": "Stimmung vs. Puls",
|
||
"sleepAxis": "Schlaf (Min.)",
|
||
"stepsAxis": "Schritte",
|
||
"pulseAxis": "Puls (bpm)",
|
||
"strengthStrong": "Stark",
|
||
"strengthModerate": "Moderat",
|
||
"strengthWeak": "Schwach",
|
||
"strengthNone": "Keine",
|
||
"source": "{n} gepaarte Tage · r = {r}",
|
||
"emptyTitle": "Noch nicht genug gepaarte Daten",
|
||
"emptyDescription": "Erfasse Stimmung und diesen Wert an denselben Tagen, um einen Zusammenhang zu sehen.",
|
||
"pendingDescription": "{n} von {needed} gepaarten Tagen. Ein Zusammenhang erscheint, sobald genug Tage da sind, um Muster von Zufall zu unterscheiden.",
|
||
"noLinkTitle": "Kein klarer Zusammenhang",
|
||
"noLinkDescription": "{n} gepaarte Tage, und nichts hebt sich vom Zufall ab.",
|
||
"weightTitle": "Stimmung vs. Gewicht",
|
||
"bloodPressureTitle": "Stimmung vs. Blutdruck",
|
||
"weightAxis": "Gewicht",
|
||
"bloodPressureAxis": "Systolisch (mmHg)",
|
||
"sourceLabel": "Wie das berechnet wurde"
|
||
},
|
||
"structuredTagsTitle": "Tag-Auswertung",
|
||
"inTargetValue": "{pct} %",
|
||
"inTargetCaption": "der letzten Tage im guten Stimmungsbereich",
|
||
"narrative": {
|
||
"title": "Das fällt auf",
|
||
"weekdayDip": "Deine Stimmung sinkt am stärksten am {weekday} — {delta} unter deinem Wochenschnitt.",
|
||
"weekdayPeak": "{weekday} ist durchgehend dein bester Tag mit einem Schnitt von {value}.",
|
||
"trendUp": "Deine Stimmung steigt über die letzten {days} Tage (+{delta} gegenüber dem Vorzeitraum).",
|
||
"trendDown": "Deine Stimmung sinkt über die letzten {days} Tage (-{delta} gegenüber dem Vorzeitraum).",
|
||
"weekendUp": "Am Wochenende geht es dir besser (+{delta} gegenüber Wochentagen).",
|
||
"weekendDown": "Am Wochenende ist deine Stimmung niedriger (-{delta} gegenüber Wochentagen).",
|
||
"tagLift": "Tage mit „{tag}“ liegen im Schnitt {delta} über deiner allgemeinen Stimmung.",
|
||
"tagDrop": "Tage mit „{tag}“ liegen {delta} unter deinem Durchschnitt.",
|
||
"inTarget": "Du warst an {pct} % der letzten 30 Tage in deinem guten Stimmungsbereich.",
|
||
"streak": "Du hast deine Stimmung {days} Tage in Folge erfasst — weiter so.",
|
||
"timeOfDay": "Am {bucket} fühlst du dich am besten, im Schnitt {value}."
|
||
},
|
||
"timeOfDay": {
|
||
"title": "Stimmung nach Tageszeit",
|
||
"morning": "Morgen",
|
||
"afternoon": "Nachmittag",
|
||
"evening": "Abend",
|
||
"night": "Nacht",
|
||
"bestCaption": "Am {bucket} fühlst du dich tendenziell am besten."
|
||
},
|
||
"stability": {
|
||
"value": "{score}/100",
|
||
"bandVerySteady": "Deine Stimmung war sehr gleichmäßig",
|
||
"bandSteady": "Deine Stimmung war recht gleichmäßig",
|
||
"bandVariable": "Deine Stimmung war merklich schwankend",
|
||
"bandVeryVariable": "Deine Stimmung hat zuletzt stark geschwankt",
|
||
"title": "Stabilität"
|
||
},
|
||
"influence": {
|
||
"title": "Einfluss auf die Stimmung",
|
||
"detail": "Durchschnitt {withAvg} an den {withDays} Tagen mit diesem Tag, {withoutAvg} ohne.",
|
||
"confidenceLow": "Geringe Sicherheit",
|
||
"confidenceMedium": "Mittlere Sicherheit",
|
||
"confidenceHigh": "Hohe Sicherheit"
|
||
},
|
||
"betterDays": {
|
||
"title": "Was zu deinen besseren Tagen passt",
|
||
"description": "Tags und Werte, die mit deinen Tagen besserer und schlechterer Stimmung einhergehen, sortiert danach, wie stark sie sich zusammen bewegen."
|
||
},
|
||
"crosstab": {
|
||
"title": "Tags und deine Gesundheitswerte",
|
||
"description": "Wie sich ein Gesundheitswert an Tagen mit einem Tag von Tagen ohne diesen Tag unterscheidet.",
|
||
"pairLabel": "{tag} · {metric}",
|
||
"metricActiveEnergy": "Aktive Energie",
|
||
"metricSleepDuration": "Schlaf",
|
||
"metricNextDayRecovery": "Erholung am Folgetag",
|
||
"metricNextDayRestingHr": "Ruhepuls am Folgetag",
|
||
"metricNextDayHrv": "Herzfrequenzvariabilität am Folgetag",
|
||
"unitHours": "Std.",
|
||
"unitKcal": "kcal",
|
||
"unitScore": "Pkt.",
|
||
"unitBpm": "bpm",
|
||
"unitMs": "ms",
|
||
"detailSameDay": "Durchschnittlich {withAvg} {unit} an den {withDays} Tagen mit diesem Tag gegenüber {withoutAvg} {unit} ohne.",
|
||
"detailNextDay": "Durchschnittlich {withAvg} {unit} am Tag nach den {withDays} Tagen mit diesem Tag gegenüber {withoutAvg} {unit} sonst."
|
||
},
|
||
"factorCrosstab": {
|
||
"title": "Deine bewerteten Faktoren und deine Vitalwerte",
|
||
"description": "Wie sich ein Vitalwert an den Tagen unterscheidet, an denen du einen Faktor niedrig bewertet hast, verglichen mit den Tagen mit hoher Bewertung.",
|
||
"pairLabel": "{factor} · {metric}",
|
||
"metricSleepDuration": "Schlaf",
|
||
"metricSteps": "Schritte",
|
||
"metricRestingHeartRate": "Ruhepuls",
|
||
"metricHrv": "Herzfrequenzvariabilität",
|
||
"metricWeight": "Gewicht",
|
||
"metricBloodPressureSys": "Systolisch",
|
||
"unitHours": "Std.",
|
||
"unitScore": "Pkt.",
|
||
"unitSteps": "Schritte",
|
||
"unitBpm": "bpm",
|
||
"unitMs": "ms",
|
||
"unitKg": "kg",
|
||
"unitMmHg": "mmHg",
|
||
"detail": "Durchschnittlich {lowAvg} {unit} an den {lowDays} Tagen mit niedriger {factor}-Bewertung gegenüber {highAvg} {unit} an den Tagen mit hoher Bewertung.",
|
||
"detailInverse": "Durchschnittlich {lowAvg} {unit} an deinen {lowDays} schlechteren {factor}-Tagen gegenüber {highAvg} {unit} an deinen besseren."
|
||
},
|
||
"discovery": {
|
||
"title": "Was auffällt",
|
||
"subheading": "Entdeckte Zusammenhänge",
|
||
"footer": "Herausgefiltert aus {tested} Tag-zu-Tag-Paaren, die über all deine Werte getestet wurden, nach der Korrektur für Fehlentdeckungen.",
|
||
"disclaimer": "Statistisch gefiltert, aber weiterhin beobachtend — ein Muster, das einen Blick wert ist, keine Ursache.",
|
||
"moodUp": "Höheres {factor} geht in deinen Daten tendenziell mit besserer Stimmung am Folgetag einher.",
|
||
"moodDown": "Höheres {factor} geht in deinen Daten tendenziell mit schlechterer Stimmung am Folgetag einher.",
|
||
"outcomeUp": "Bessere Stimmung geht in deinen Daten tendenziell mit höherem {factor} am Folgetag einher.",
|
||
"outcomeDown": "Bessere Stimmung geht in deinen Daten tendenziell mit niedrigerem {factor} am Folgetag einher.",
|
||
"stat": "{n} gepaarte Tage · r = {r} · q = {q}",
|
||
"statLabel": "Wie das berechnet wurde",
|
||
"explainerLabel": "Wie das berechnet wurde"
|
||
},
|
||
"inTargetTitle": "Im Zielbereich",
|
||
"dimensions": {
|
||
"title": "Gefühlslage",
|
||
"none": "Zur Gefühlslage ist noch nichts erfasst.",
|
||
"window": "{days} Tage",
|
||
"noneInWindow": "nichts im Zeitraum",
|
||
"higherIsMore": "höher = {anchor}",
|
||
"notRecorded": "Nicht erfasst: {list}."
|
||
},
|
||
"contextComparison": {
|
||
"title": "Tageskontext und deine Stimmung",
|
||
"description": "Wie der Stimmungswert an bisher erfassten Tagen mit diesem Eintrag lag, verglichen mit den übrigen Tagen.",
|
||
"lower": "niedriger",
|
||
"higher": "höher",
|
||
"statement": "An Tagen mit „{label}“ lag die Stimmung im Durchschnitt {direction}: {withAvg} gegenüber {withoutAvg}.",
|
||
"counts": "{withDays} Tage mit, {withoutDays} Tage ohne",
|
||
"caveat": "Das zeigt einen Zusammenhang, keine Ursache."
|
||
},
|
||
"prognosis": {
|
||
"title": "Selbsteinschätzung",
|
||
"selfLabel": "Deine Einschätzung",
|
||
"expectedLabel": "Auf Basis deiner Muster erwartet",
|
||
"band": "Bereich {low} bis {high}",
|
||
"statement": "Auf Basis deiner bisherigen Muster wäre für {date} ein Wert um {value} zu erwarten gewesen. Ermittelt aus {n} vergleichbaren Tagen.",
|
||
"provisional": "Noch vorläufig: das Muster stützt sich auf eine kurze Strecke von Tagen.",
|
||
"notToday": "Das beschreibt {date}, nicht heute.",
|
||
"deviationWithin": "Deine eigene Einschätzung liegt in diesem Bereich.",
|
||
"deviationAbove": "Deine eigene Einschätzung liegt {amount} Punkte über diesem Bereich.",
|
||
"deviationBelow": "Deine eigene Einschätzung liegt {amount} Punkte unter diesem Bereich.",
|
||
"weightedTitle": "Was an diesem Tag am stärksten gewichtet wurde",
|
||
"weightedUp": "{label} — zählte in Richtung eines höheren erwarteten Werts",
|
||
"weightedDown": "{label} — zählte in Richtung eines niedrigeren erwarteten Werts",
|
||
"caveat": "Das ist ein Vergleich mit deinen eigenen bisherigen Tagen, keine Aussage darüber, wie ein Tag zustande gekommen ist.",
|
||
"learning": "Lernphase: {entries} von {threshold} Tagen erfasst. Ein Vergleich erscheint, sobald genug davon zusammengekommen sind.",
|
||
"noPattern": "In den bisher erfassten {entries} Tagen ist noch nichts gleichmäßig genug, um einen Tag damit zu vergleichen. Wenn du auch den Kontext eines Tages festhältst, wird mehr davon vergleichbar.",
|
||
"featureValue": "{field}: {value}"
|
||
}
|
||
},
|
||
"derived": {
|
||
"coverage": {
|
||
"summary": "{present} von {required} Eingaben · {percent}%",
|
||
"ratioLabel": "{present}/{required}",
|
||
"historyDays": "Basiert auf {count} Tagen Verlauf",
|
||
"missing": "Erfasse diese, um den Wert zu schärfen: {list}",
|
||
"summaryLabelled": "{label} · {percent}%"
|
||
},
|
||
"scoreRing": {
|
||
"aria": "Wert {score} von 100, {band}",
|
||
"ariaProvisional": "Wert noch nicht verfügbar — zu wenig Daten",
|
||
"provisionalCaption": "Noch zu wenig Daten",
|
||
"band": {
|
||
"green": "gut",
|
||
"yellow": "mittel",
|
||
"red": "niedrig"
|
||
}
|
||
},
|
||
"provenance": {
|
||
"title": "So wird das berechnet",
|
||
"trigger": "So wird das berechnet",
|
||
"inputsLabel": "Eingaben",
|
||
"noInputs": "Noch keine Eingaben für diesen Wert vorhanden.",
|
||
"methodLabel": "Methode",
|
||
"window": "Aus deinen letzten {days} Tagen · {source}-Daten",
|
||
"asOf": "Stand {date}",
|
||
"standardLink": "Standard: {name}"
|
||
},
|
||
"vitals": {
|
||
"sectionTitle": "Deine Vitalwerte",
|
||
"sectionSubtitle": "Ruhewerte von Herz-Kreislauf und Atmung im Vergleich zu deiner eigenen Baseline",
|
||
"loadingLabel": "Vitalwerte werden geladen",
|
||
"loadError": "Deine Vitalwerte konnten gerade nicht geladen werden.",
|
||
"infoLabel": "Wie wird das berechnet?",
|
||
"building": "Typischer Bereich entsteht — {count} von {target} Tagen",
|
||
"typicalRange": "Typisch für dich: {low}–{high}",
|
||
"fitnessYounger": "Ausdauer wie ~{years} J. jünger",
|
||
"fitnessOlder": "Ausdauer ~{years} J. über deinem Alter",
|
||
"fitnessTypical": "Ausdauer typisch für dein Alter",
|
||
"fitnessNoNorm": "Alter und Geschlecht ergänzen, um dies einzuordnen",
|
||
"vascularBelow": "{years} J. unter deinem Alter",
|
||
"vascularAbove": "{years} J. über deinem Alter",
|
||
"vascularMatch": "Im Einklang mit deinem Alter",
|
||
"vascularNoAge": "Geburtsdatum ergänzen, um dies einzuordnen",
|
||
"hrvBand": {
|
||
"balanced": "Für dich ausgewogen",
|
||
"unbalanced": "Über deinem üblichen Bereich",
|
||
"low": "Unter deinem üblichen Bereich"
|
||
},
|
||
"bmiCategory": {
|
||
"underweight": "Untergewicht (WHO)",
|
||
"normal": "Normalbereich (WHO)",
|
||
"overweight": "Übergewicht (WHO)",
|
||
"obese": "Adipositas (WHO)"
|
||
},
|
||
"sixMinuteBand": {
|
||
"green": "{percent}% des für dein Profil vorhergesagten Werts",
|
||
"yellow": "{percent}% des für dein Profil vorhergesagten Werts",
|
||
"red": "{percent}% des für dein Profil vorhergesagten Werts"
|
||
},
|
||
"sixMinuteNoBand": "Ergänze Alter, Größe, Gewicht und Geschlecht, um dies einzuordnen",
|
||
"mobilitySectionTitle": "Mobilität & Körper"
|
||
},
|
||
"anatomy": {
|
||
"outOf": "/100",
|
||
"contributorsLabel": "Faktoren",
|
||
"contributorValue": "{value} · {weight}% Gewicht",
|
||
"contributorMissing": "keine Daten",
|
||
"disclaimer": "Richtwert — keine klinische Bewertung.",
|
||
"insufficient": "Noch nicht genug Daten für eine Bewertung. Tracke weiter, dann erscheint sie hier."
|
||
},
|
||
"composite": {
|
||
"SLEEP_SCORE": {
|
||
"title": "Schlaf-Score",
|
||
"description": "Ein transparenter Schlafqualitäts-Score mit allen Teilwerten.",
|
||
"method": "Eine 0–100-Mischung aus Schlafmenge (Schlaf vs. altersbasierter Bedarf), Effizienz (Schlaf ÷ Bettzeit), Konstanz (wie stabil deine Schlafmitte ist), Timing (vs. deine gewohnte Schlafmitte) und Zusammensetzung (REM- + Tiefschlafanteil). Teilwerte werden umgewichtet, wenn deine Daten einen nicht stützen; nichts wird erfunden.",
|
||
"sub": {
|
||
"sufficiency": "Schlafmenge",
|
||
"efficiency": "Effizienz",
|
||
"consistency": "Konstanz",
|
||
"timing": "Timing",
|
||
"composition": "Zusammensetzung"
|
||
}
|
||
},
|
||
"READINESS": {
|
||
"title": "Bereitschaft",
|
||
"description": "Ein täglicher Wohlbefindens-Indikator daraus, wie deine Werte zu deiner eigenen Baseline stehen.",
|
||
"method": "Eine 0–100-Mischung aus Ruhepuls-Abweichung, HRV-(SDNN-)Abweichung, Schlaf, Atemfrequenz-Stabilität und Stimmungsstabilität — jeweils gegen deine persönliche Baseline gemessen. Gewichte werden über die von deinen Daten gestützten Komponenten neu verteilt. Ein Wohlbefindens-Indikator, kein Erholungs- oder klinischer Score.",
|
||
"component": {
|
||
"rhr": "Ruhepuls",
|
||
"hrv": "HRV (SDNN)",
|
||
"sleep": "Schlaf",
|
||
"respiratory": "Atemfrequenz",
|
||
"mood": "Stimmungsstabilität"
|
||
},
|
||
"caveat": "Ein Wellness-Proxy, kein Erholungs- oder klinischer Wert."
|
||
},
|
||
"VITALS_BASELINE": {
|
||
"method": "Dein persönlicher Normalbereich ist der Median deiner Tageswerte über den Zeitraum, ± eine robuste Streuung (skalierte mittlere absolute Abweichung). Er folgt DEINEN Werten, keiner Bevölkerungsnorm — ein Wert im Band ist also typisch für dich."
|
||
},
|
||
"HRV_BALANCE": {
|
||
"method": "Dein jüngster HRV-(SDNN-)Durchschnitt im Vergleich zu deiner eigenen gleitenden Baseline (Median ± robuste Streuung). Ausgeglichen heißt: er liegt in deinem persönlichen Bereich; das Band stammt aus deinen Daten, nie aus einem Bevölkerungswert."
|
||
},
|
||
"BMI": {
|
||
"method": "Gewicht ÷ Größe², eingeordnet nach den WHO-Kategorien für Erwachsene (Untergewicht / Normal / Übergewicht / Adipositas). Nur ein Screening-Verhältnis — es unterscheidet nicht Muskel von Fett."
|
||
},
|
||
"FITNESS_AGE": {
|
||
"method": "Dein VO₂max im Vergleich zu alters- und geschlechtsbezogenen Perzentilen der kardiorespiratorischen Fitness, als Fitnessalter-Differenz. Das VO₂max ist die Schätzung deines Geräts — hier nie neu berechnet."
|
||
},
|
||
"VASCULAR_AGE_DELTA": {
|
||
"method": "Die Gefäßalter- bzw. Pulswellengeschwindigkeits-Schätzung deines Geräts im Vergleich zu deinem chronologischen Alter, als Differenz in Jahren. Die Schätzung stammt vom Gerät; HealthLog ordnet sie nur ein.",
|
||
"caveat": "Die eigene Schätzung deines Geräts, nur eingeordnet — beschreibend, keine klinische Gefäßbewertung.",
|
||
"description": "Wie die Gefäßalter-Schätzung deines Geräts zu deinem chronologischen Alter steht."
|
||
},
|
||
"COINCIDENT_DEVIATION": {
|
||
"method": "Ein Hinweis, wenn zwei oder mehr deiner Vitalwerte am selben Tag außerhalb ihres persönlichen Normalbereichs liegen. Jedes Band ist der robuste Median ± k·MAD deiner eigenen Verlaufsdaten und passt sich an dich an, nicht an einen Bevölkerungswert.",
|
||
"caveat": "Ein Hinweis aus deinen eigenen Baselines — beschreibend, keine Diagnose und kein klinischer Alarm."
|
||
},
|
||
"RECOVERY_SCORE": {
|
||
"method": "Ein nächtlicher 0–100-Erholungs-Proxy aus HRV, Ruhepuls und Schlaf gegenüber deiner Baseline. Höher heißt besser erholt. Einmal pro Nacht berechnet und hier nur ausgelesen — nie spontan neu berechnet.",
|
||
"caveat": "Ein beschreibender Wellness-Proxy, kein trainings- oder klinikgerechtes Erholungsmaß.",
|
||
"description": "Ein nächtlicher Erholungs-Proxy aus HRV, Ruhepuls und Schlaf."
|
||
},
|
||
"STRESS_SCORE": {
|
||
"method": "Ein nächtlicher 0–100-Stress-Proxy aus dem Verlauf deiner HRV über den Tag gegenüber deiner Baseline. Höher heißt mehr physiologische Belastung.",
|
||
"caveat": "Ein aus der HRV abgeleiteter Proxy, KEINE EDA-/Hautleitwert-Stressmessung — deine Uhr hat keinen EDA-Sensor. Beschreibend, nicht klinisch.",
|
||
"description": "Ein nächtlicher Stress-Proxy aus dem Tagesverlauf deiner HRV."
|
||
},
|
||
"STRAIN_SCORE": {
|
||
"method": "Ein nächtlicher 0–100-Belastungs-Proxy aus deiner herzfrequenzgewichteten Aktivitätslast (ein TRIMP-ähnliches Trainingsimpuls-Modell). Höher heißt ein anstrengenderer Tag.",
|
||
"anchorPersonal": "An deine eigene jüngste Trainingstagslast angelehnt — bewertet relativ zu deiner typischen Anstrengung, sodass ein für dich wirklich harter Tag hoch ausfällt.",
|
||
"anchorPopulation": "Gegen einen allgemeinen Referenzwert bewertet, während du noch Trainingsverlauf aufbaust; sobald genug vorhanden ist, wechselt die Bewertung auf deine eigene typische Anstrengung.",
|
||
"caveat": "Ein beschreibender Aktivitätslast-Proxy, kein klinisches oder trainingsgerechtes Lastmaß.",
|
||
"description": "Ein nächtlicher Aktivitätslast-Proxy aus deiner herzfrequenzgewichteten Anstrengung, relativ zu deiner typischen Anstrengung."
|
||
},
|
||
"WRIST_TEMPERATURE_BASELINE": {
|
||
"method": "Deine typische nächtliche Handgelenkstemperatur ist der Median deiner nächtlichen Messwerte im Zeitraum, ± einer robusten Streuung (skalierte mittlere absolute Abweichung). Sie folgt DEINEN Werten — letzte Nacht wird als Abweichung von deiner eigenen Baseline gezeigt, nicht von einer Bevölkerungsnorm.",
|
||
"caveat": "Nur ein persönliches Abweichungsband — beschreibend, kein Anzeichen für Krankheit, Fieber oder Zyklusphase. Du interpretierst es selbst."
|
||
},
|
||
"STAIR_ASCENT_SPEED_BASELINE": {
|
||
"method": "Dein typisches Treppensteig-Tempo ist der Median deiner Tageswerte im Zeitraum, ± einer robusten Streuung (skalierte mittlere absolute Abweichung). Das Band wird aus deinen Daten gebildet — es gibt keinen Bevölkerungs-Grenzwert für Treppentempo, da es von Treppengeometrie und Beinlänge abhängt.",
|
||
"caveat": "Ein persönliches Mobilitäts-Trendband — beschreibend, keine Gebrechlichkeits- oder Sturzrisiko-Bewertung."
|
||
},
|
||
"STAIR_DESCENT_SPEED_BASELINE": {
|
||
"method": "Dein typisches Treppen-Abstiegstempo ist der Median deiner Tageswerte im Zeitraum, ± einer robusten Streuung (skalierte mittlere absolute Abweichung). Das Band wird aus deinen Daten gebildet — es gibt keinen Bevölkerungs-Grenzwert für Treppentempo, da es von Treppengeometrie und Beinlänge abhängt.",
|
||
"caveat": "Ein persönliches Mobilitäts-Trendband — beschreibend, keine Gebrechlichkeits- oder Sturzrisiko-Bewertung."
|
||
},
|
||
"SIX_MINUTE_WALK_BAND": {
|
||
"method": "Die von deinem Gerät GESCHÄTZTE 6-Minuten-Gehstrecke, eingeordnet gegen die Referenz von Enright & Sherrill für Alter, Größe, Gewicht und Geschlecht, als Prozent des Vorhersagewerts. Die Strecke ist die Schätzung des Geräts — hier nie neu berechnet. Ohne Alter, Größe, Gewicht und Geschlecht wird der Prozentwert ausgeblendet und nur Strecke und Trend gezeigt.",
|
||
"caveat": "Eine gegen eine veröffentlichte Referenz neu eingeordnete Schätzung — ein Hinweis zur funktionellen Kapazität, kein klinischer 6-Minuten-Gehtest und keine Diagnose. Die Referenz wurde für Alter 40–80 erstellt; außerhalb dieses Bereichs ist der Vorhersagewert eine Extrapolation."
|
||
},
|
||
"TRAJECTORY": {
|
||
"method": "Eine Ausgleichsgerade (kleinste Quadrate), an deine jüngsten Tageswerte angepasst und über einen kurzen Zeitraum fortgeschrieben — mit dem klassischen Vorhersageintervall, das umso breiter wird, je weiter es reicht. Wird nur berechnet, wenn der jüngste Trend deutlich genug und deine Datenreihe lang und aktuell genug ist; sonst wird keine Linie gezeichnet.",
|
||
"caveat": "Eine Fortschreibung deines eigenen jüngsten Trends — keine Vorhersage, kein Ziel und keine klinische Prognose. Sie gilt nur, solange das jüngste Muster anhält; das schattierte Band zeigt, wie schnell diese Sicherheit nachlässt."
|
||
},
|
||
"SAME_TIME_BASELINE": {
|
||
"method": "Dein heutiger laufender Gesamtwert im Vergleich zum Median derselben Ortszeit-Stunde aus deinen letzten vier Wochen, mit einem robusten Median-±-MAD-Band darum. Nur Tage mit ausreichend aufgezeichneten Details zählen, und es wird kein Vergleich gezeigt, bevor mindestens vierzehn davon vorliegen.",
|
||
"caveat": "Ein Vergleich mit deiner eigenen jüngeren Vergangenheit, kein Ziel. Er sagt, wo der heutige Tag zu dieser Stunde gegenüber deinem üblichen Muster steht — und nichts darüber, ob dieses Muster für dich das richtige ist."
|
||
}
|
||
},
|
||
"scores": {
|
||
"sectionTitle": "Deine Gesundheitswerte",
|
||
"sectionSubtitle": "Zusammengesetzte Werte für Erholung, Stress und Belastung aus deinen verbundenen Geräten",
|
||
"loadError": "Deine Wellness-Werte konnten gerade nicht geladen werden.",
|
||
"loadingLabel": "Deine Gesundheitswerte werden geladen",
|
||
"recovery": "Erholungs-Score",
|
||
"recoveryCrossLink": "Erholungs- und Belastungsdaten deines Wearables ansehen",
|
||
"stress": "Stress",
|
||
"strain": "Belastung"
|
||
},
|
||
"coincident": {
|
||
"label": "Mehrere Vitalwerte außerhalb der Baseline",
|
||
"summary": "{count} deiner Vitalwerte lagen heute außerhalb ihres persönlichen Bereichs.",
|
||
"vitals": "Außerhalb des Bereichs: {list}",
|
||
"cardTitle": "Signale des Tages",
|
||
"allClear": "Alle deine Vitalwerte liegen heute in ihrem persönlichen Bereich.",
|
||
"allClearMeta": "{count} deiner Vitalwerte gegen deinen eigenen typischen Bereich geprüft.",
|
||
"watch": "Ein Vitalwert liegt heute außerhalb seines üblichen Bereichs.",
|
||
"watchVital": "Außerhalb des Bereichs: {vital}. Oft nur einmalig — behalte es in den nächsten Tagen im Blick.",
|
||
"firedHeadline": "{count} deiner Vitalwerte liegen heute außerhalb ihres persönlichen Bereichs.",
|
||
"factors": "Mögliche Faktoren — nie eine Ursache: ein hartes Training, schlechter Schlaf, Alkohol, Höhe, Stress oder Krankheit. Das ist ein Hinweis aus deinen eigenen Baselines, keine Diagnose.",
|
||
"building": "Deine persönlichen Baselines entstehen — erfasse ein paar Tage mehr, dann erscheint dies.",
|
||
"illnessExplained": "Diese Abweichungen hängen wahrscheinlich mit der erfassten Erkrankung zusammen."
|
||
},
|
||
"trajectory": {
|
||
"cardTitle": "Kurzfrist-Projektion",
|
||
"headline": "Wenn dieses Muster anhält — die nächsten {days} Tage",
|
||
"range": "Projiziert auf rund {low}–{high} {unit} in {days} Tagen.",
|
||
"caveat": "Eine Fortschreibung deines eigenen jüngsten Trends, keine Vorhersage. Das schattierte Band wird breiter und zeigt, wie schnell die Unsicherheit wächst.",
|
||
"insufficient": "Noch kein klar genuger Trend für eine Projektion — erfasse weiter, dann erscheint eine Projektion, sobald das jüngste Muster deutlich genug ist.",
|
||
"daysNeeded": "Noch etwa {count} Tage Erfassung nötig, bis eine Projektion erscheinen kann."
|
||
},
|
||
"sameTime": {
|
||
"sectionTitle": "Heute bisher",
|
||
"sectionSubtitle": "Deine laufenden Summen im Vergleich zu dem, was zu dieser Stunde für dich üblich ist",
|
||
"learning": "Lernt deinen üblichen Tag — {count} von {target} Tagen",
|
||
"framing": "Üblich bis {time}: {typical} {unit}",
|
||
"comparisonLabel": "Dein üblicher Tag"
|
||
}
|
||
},
|
||
"cardioFitness": {
|
||
"title": "Fitness",
|
||
"description": "Deine VO₂max im Zeitverlauf — das wichtigste Maß für die Ausdauerfitness.",
|
||
"chartTitle": "VO₂max (mL/(kg·min))",
|
||
"emptyState": {
|
||
"title": "Noch keine Fitnessdaten",
|
||
"description": "VO₂max-Werte erscheinen hier, sobald Apple Health sie aus deinen Workouts synchronisiert."
|
||
}
|
||
},
|
||
"navCardioFitness": "Fitness",
|
||
"cardioRecovery": {
|
||
"title": "Erholungspuls",
|
||
"description": "Wie stark dein Puls eine Minute nach maximaler Belastung abfällt.",
|
||
"chartTitle": "Erholungspuls (bpm)",
|
||
"emptyState": {
|
||
"title": "Noch keine Erholungspuls-Daten",
|
||
"description": "Erholungspuls-Werte erscheinen hier, sobald Apple Health sie aus einem Workout synchronisiert."
|
||
}
|
||
},
|
||
"navCardioRecovery": "Erholungspuls",
|
||
"wristTemperature": {
|
||
"title": "Handgelenktemperatur",
|
||
"description": "Deine nächtliche Handgelenktemperatur, gemessen an deinem eigenen Ausgangswert.",
|
||
"chartTitle": "Handgelenktemperatur",
|
||
"emptyState": {
|
||
"title": "Noch keine Handgelenktemperatur-Daten",
|
||
"description": "Werte erscheinen hier, sobald Apple Health das nächtliche Tragen synchronisiert."
|
||
}
|
||
},
|
||
"navWristTemperature": "Handgelenk-Temp.",
|
||
"falls": {
|
||
"title": "Stürze",
|
||
"description": "Von deiner Apple Watch erkannte schwere Stürze, pro Tag gezählt.",
|
||
"chartTitle": "Stürze pro Tag",
|
||
"emptyState": {
|
||
"title": "Noch keine Sturzdaten",
|
||
"description": "Erkannte Stürze erscheinen hier, sobald Apple Health synchronisiert. Keine Stürze ist das Ziel."
|
||
}
|
||
},
|
||
"navFalls": "Stürze",
|
||
"sixMinuteWalk": {
|
||
"title": "6-Minuten-Gehtest",
|
||
"description": "Apples Schätzung, wie weit du in sechs Minuten gehen könntest.",
|
||
"chartTitle": "6-Minuten-Gehstrecke (m)",
|
||
"emptyState": {
|
||
"title": "Noch keine 6-Minuten-Gehtest-Daten",
|
||
"description": "Schätzwerte erscheinen hier, sobald Apple Health synchronisiert."
|
||
}
|
||
},
|
||
"navSixMinuteWalk": "6-Min-Gehtest",
|
||
"stairAscentSpeed": {
|
||
"title": "Treppensteig-Tempo",
|
||
"description": "Wie schnell du Treppen hinaufgehst, gemessen von iPhone oder Watch.",
|
||
"chartTitle": "Treppensteig-Tempo (m/s)",
|
||
"emptyState": {
|
||
"title": "Noch keine Daten zum Treppensteig-Tempo",
|
||
"description": "Werte erscheinen hier, sobald Apple Health synchronisiert."
|
||
}
|
||
},
|
||
"navStairAscentSpeed": "Treppe hoch",
|
||
"stairDescentSpeed": {
|
||
"title": "Treppab-Tempo",
|
||
"description": "Wie schnell du Treppen hinabgehst, gemessen von iPhone oder Watch.",
|
||
"chartTitle": "Treppab-Tempo (m/s)",
|
||
"emptyState": {
|
||
"title": "Noch keine Daten zum Treppab-Tempo",
|
||
"description": "Werte erscheinen hier, sobald Apple Health synchronisiert."
|
||
}
|
||
},
|
||
"navStairDescentSpeed": "Treppe runter",
|
||
"breathingDisturbances": {
|
||
"title": "Atemaussetzer",
|
||
"description": "Wie oft deine Atmung im Schlaf gestört war.",
|
||
"chartTitle": "Atemaussetzer im Schlaf",
|
||
"emptyState": {
|
||
"title": "Noch keine Daten zu Atemaussetzern",
|
||
"description": "Werte erscheinen hier, sobald Apple Health sie von einer unterstützten Apple Watch synchronisiert."
|
||
}
|
||
},
|
||
"navBreathingDisturbances": "Atmung",
|
||
"rhythmEvents": {
|
||
"sectionTitle": "Gesundheitshinweise des Geräts",
|
||
"sectionIntro": "Hinweise, die deine Uhr eigenständig gesendet hat. HealthLog zeigt diese nur an — es erkennt, bestätigt oder interpretiert sie nicht.",
|
||
"loadError": "Die Gerätehinweise konnten nicht geladen werden.",
|
||
"disclaimer": "Dies sind Hinweise, die dein Gerät mit seiner eigenen integrierten Erkennung erzeugt hat. Sie werden hier nur zu deiner Information angezeigt. Dies ist keine medizinische Bewertung durch HealthLog, und HealthLog stellt keine Diagnose. Wenn dich ein Hinweis beunruhigt, sprich mit deiner Ärztin oder deinem Arzt.",
|
||
"event": {
|
||
"irregularRhythm": "Hinweis auf unregelmäßigen Rhythmus",
|
||
"highHeartRate": "Hinweis auf hohe Herzfrequenz",
|
||
"lowHeartRate": "Hinweis auf niedrige Herzfrequenz",
|
||
"walkingSteadiness": "Hinweis zur Gehstabilität",
|
||
"breathingDisturbance": "Atemstörung während des Schlafs"
|
||
},
|
||
"verdict": {
|
||
"irregular": "Dein Gerät hat einen möglichen unregelmäßigen Rhythmus erkannt.",
|
||
"notDetected": "Dein Gerät hat keinen unregelmäßigen Rhythmus erkannt.",
|
||
"inconclusive": "Dein Gerät konnte keine Messung vornehmen.",
|
||
"low": "Dein Gerät hat eine niedrige Gehstabilität erkannt.",
|
||
"veryLow": "Dein Gerät hat eine sehr niedrige Gehstabilität erkannt.",
|
||
"fired": "Dein Gerät hat dieses Ereignis erkannt."
|
||
}
|
||
},
|
||
"trendDescriptor": {
|
||
"rising": "Über 30 Tage steigend ({delta}{unit}).",
|
||
"falling": "Über 30 Tage fallend ({delta}{unit}).",
|
||
"stable": "Über die letzten 30 Tage stabil.",
|
||
"moodImproved": "Stimmung über 30 Tage leicht verbessert.",
|
||
"moodDeclined": "Stimmung über 30 Tage leicht verschlechtert.",
|
||
"moodStable": "Stimmung über die letzten 30 Tage stabil."
|
||
},
|
||
"target": {
|
||
"heading": "Ziel"
|
||
},
|
||
"settings": {
|
||
"overviewTitle": "Übersicht anordnen",
|
||
"overviewDescription": "Abschnitte ein- oder ausblenden und ihre Reihenfolge auf der Insights-Übersicht festlegen."
|
||
},
|
||
"pillOrder": {
|
||
"title": "Navigations-Chips sortieren",
|
||
"description": "Ziehe die Chips in die gewünschte Reihenfolge und blende sie über das Augensymbol ein oder aus.",
|
||
"dragHandle": "Verschieben",
|
||
"saveSuccess": "Reihenfolge der Chips gespeichert",
|
||
"saveError": "Speichern der Chip-Reihenfolge fehlgeschlagen.",
|
||
"save": "Speichern",
|
||
"empty": "Noch keine Navigations-Chips verfügbar.",
|
||
"detail": "Ausgeblendete Detailseiten verschwinden auch aus der oberen Navigation."
|
||
},
|
||
"customize": "Insights anpassen",
|
||
"regenerateRateLimited": "Aktualisierungslimit erreicht — bitte später erneut versuchen.",
|
||
"regenerateUnavailable": "Keine neue Analyse erhalten — bitte später erneut versuchen.",
|
||
"regenerateError": "Aktualisierung läuft noch — bitte gleich erneut versuchen.",
|
||
"regenerateSettling": "Die Einschätzung wird noch erstellt",
|
||
"regenerateSettleFailed": "Die Aktualisierung konnte nicht abgeschlossen werden. Bitte später erneut versuchen.",
|
||
"deviceScore": {
|
||
"learning": "Deine Basislinie wird noch gelernt — ein paar weitere Nächte vervollständigen den Verlauf.",
|
||
"average": "30-Tage-Durchschnitt {value}",
|
||
"unitScore": "Punkte",
|
||
"unitMinutes": "Min.",
|
||
"unitBpm": "bpm",
|
||
"unitKj": "kJ"
|
||
},
|
||
"sleepQuality": {
|
||
"title": "Schlafqualität",
|
||
"subtitle": "Nächtliche Werte deines Wearables"
|
||
},
|
||
"recovery": {
|
||
"title": "Erholung",
|
||
"description": "Wie gut sich dein Körper erholt hat — die Erholungs-, Belastungs- und Load-Signale, die dein Wearable über Nacht aufzeichnet.",
|
||
"scoreCrossLink": "Den zusammengesetzten Erholungs-Score ansehen",
|
||
"emptyTitle": "Noch keine Erholungsdaten",
|
||
"empty": "Noch keine Erholungsdaten. Verbinde ein WHOOP-, Polar- oder Oura-Konto, dann füllen sich diese Werte, sobald dein Gerät synchronisiert.",
|
||
"block": {
|
||
"ansChargeExplainer": "Wie aufgeladen dein autonomes Nervensystem in den Tag startet — ein Recharge-Wert aus deinen nächtlichen Herz- und Atemsignalen.",
|
||
"dayStrainExplainer": "Die kardiovaskuläre Tagesbelastung auf der Belastungsskala deines Geräts. Lies sie im Verhältnis zu deiner Erholung, nicht als Ziel für sich.",
|
||
"workoutStrainExplainer": "Wie fordernd ein einzelnes Training auf derselben Belastungsskala war — die kardiovaskuläre Last dieser Einheit.",
|
||
"cardioLoadExplainer": "Ein Trainingslast-Näherungswert, der die akut aufgebaute kardiovaskuläre Belastung abbildet. Vergleiche ihn mit deinen eigenen letzten Tagen.",
|
||
"averageHeartRateExplainer": "Deine durchschnittliche Herzfrequenz über den ganzen Tag bzw. Zyklus, wie dein Wearable sie meldet.",
|
||
"maxHeartRateExplainer": "Deine höchste Herzfrequenz über den ganzen Tag bzw. Zyklus, wie dein Wearable sie meldet.",
|
||
"energyExpenditureKjExplainer": "Die Energie, die dein Körper über den Tag verbraucht hat, in Kilojoule, wie dein Gerät sie nativ meldet."
|
||
}
|
||
},
|
||
"bodyTempDeviation": {
|
||
"title": "Körpertemperatur-Abweichung",
|
||
"subtitle": "Nächtliche Abweichung von deiner Basislinie"
|
||
},
|
||
"resilience": {
|
||
"explainer": "Wie gut dein Körper die tägliche Belastung mit der Erholung ausbalanciert — aus deinen nächtlichen Signalen der letzten Tage abgelesen.",
|
||
"learning": "Deine Resilienz wird noch erlernt — ein paar Tage mehr festigen das Niveau.",
|
||
"band": {
|
||
"limited": "Eingeschränkt",
|
||
"adequate": "Ausreichend",
|
||
"solid": "Solide",
|
||
"strong": "Stark",
|
||
"exceptional": "Außergewöhnlich"
|
||
},
|
||
"trend": {
|
||
"above": "Über deinem jüngsten Durchschnitt.",
|
||
"steady": "Im Einklang mit deinem jüngsten Durchschnitt.",
|
||
"below": "Unter deinem jüngsten Durchschnitt."
|
||
}
|
||
},
|
||
"briefing": {
|
||
"memory": {
|
||
"forwardWatch": "{metric} ist im Blick zu behalten.",
|
||
"forwardHolding": "Im Moment ist alles stabil."
|
||
}
|
||
},
|
||
"updatedTodayAt": "Heute aktualisiert, {time}",
|
||
"updatedYesterday": "Gestern aktualisiert",
|
||
"updatedOn": "Aktualisiert am {date}",
|
||
"healthStatus": {
|
||
"sectionTitle": "Was sich verändert hat",
|
||
"subtitle": "Werte, die von deinem üblichen Bereich abweichen.",
|
||
"deviationAbove": "{vital} liegt über deinem üblichen Bereich.",
|
||
"deviationBelow": "{vital} liegt unter deinem üblichen Bereich.",
|
||
"shiftUp": "{vital} hat sich gegenüber deiner jüngsten Norm nach oben verschoben.",
|
||
"shiftDown": "{vital} hat sich gegenüber deiner jüngsten Norm nach unten verschoben.",
|
||
"rangeContext": "Aktuell {value}, sonst {low}–{high}.",
|
||
"shiftContext": "Etwa {before} davor, {after} seitdem."
|
||
},
|
||
"breathingScreening": {
|
||
"sectionTitle": "Atmung im Schlaf",
|
||
"subtitle": "Ein Screening-Signal aus deinen Schlafdaten.",
|
||
"classificationElevated": "Dein Gerät hat erhöhte Atemstörungen gemeldet.",
|
||
"classificationNotElevated": "Die Einstufung deines Geräts ist nicht erhöht.",
|
||
"trendUp": "Höher als an deinen früheren Nächten.",
|
||
"trendDown": "Niedriger als an deinen früheren Nächten.",
|
||
"trendStable": "Stabil gegenüber deinen früheren Nächten.",
|
||
"nights": "{count} Nächte erfasst",
|
||
"indexLine": "jüngster Durchschnittsindex {value}",
|
||
"eventsFlagged": "{count} vom Gerät gemeldete Ereignisse",
|
||
"disclaimer": "Dies ist ein Screening-Signal, keine Diagnose — bitte mit einer Ärztin oder einem Arzt besprechen."
|
||
},
|
||
"labsChanges": {
|
||
"sectionTitle": "Seit deinem letzten Laborbefund",
|
||
"subtitle": "Wie deine neuesten Werte im Vergleich zum vorherigen Befund stehen.",
|
||
"statusInRange": "im Normbereich",
|
||
"statusBelow": "unter dem Bereich",
|
||
"statusAbove": "über dem Bereich",
|
||
"directionFlat": "keine Änderung"
|
||
},
|
||
"navGripStrength": "Griffkraft",
|
||
"navPainNrs": "Schmerz",
|
||
"navWaistCircumference": "Taille",
|
||
"navWaistToHeight": "Taille/Größe",
|
||
"gripStrength": {
|
||
"title": "Griffkraft",
|
||
"description": "Maximale Handgriffkraft — ein robuster Stellvertreter für die Ganzkörperkraft. Unter dem geschlechtsspezifischen Grenzwert (Männer 27 kg, Frauen 16 kg) deutet sie auf eine mögliche Sarkopenie hin; dein eigener Verlauf führt die Einschätzung.",
|
||
"chartTitle": "Griffkraft",
|
||
"emptyState": {
|
||
"title": "Noch keine Griffkraft",
|
||
"description": "Erfasse einen Wert mit einem Handdynamometer — notiere den besten von mehreren Versuchen — und der Verlauf erscheint hier.",
|
||
"cta": "Griffkraft erfassen"
|
||
},
|
||
"coachPrefill": "Ich habe noch keine Griffkraft erfasst — was sagt sie über meine Muskelgesundheit aus, und wie messe und verbessere ich sie?"
|
||
},
|
||
"pain": {
|
||
"title": "Schmerz (0–10)",
|
||
"description": "Selbstberichtete Schmerzintensität auf der numerischen Skala 0–10, wobei 0 keinen Schmerz und 10 den stärksten vorstellbaren Schmerz bedeutet. Eine anhaltende Änderung um 2 Punkte ist das beobachtenswerte Signal.",
|
||
"chartTitle": "Schmerz (0–10)",
|
||
"emptyState": {
|
||
"title": "Noch keine Schmerzwerte",
|
||
"description": "Erfasse auf der Skala 0–10, wie sich dein Schmerz gerade anfühlt, und der Verlauf erscheint hier.",
|
||
"cta": "Schmerzwert erfassen"
|
||
},
|
||
"coachPrefill": "Ich habe noch keine Schmerzwerte erfasst — wie sollte ich Schmerz auf der Skala 0–10 verfolgen, und was gilt als bedeutsame Veränderung?"
|
||
},
|
||
"waist": {
|
||
"title": "Taillenumfang",
|
||
"description": "Taillenumfang in Zentimetern — ein Marker für Bauchfett. Der WHO-Grenzwert für erhöhtes Risiko ist geschlechtsspezifisch (Männer 94 cm, Frauen 80 cm); dein eigener Verlauf führt die Einschätzung.",
|
||
"chartTitle": "Taillenumfang",
|
||
"emptyState": {
|
||
"title": "Noch keine Taillenwerte",
|
||
"description": "Miss deine Taille mittig zwischen der untersten Rippe und dem Hüftknochen am Ende einer normalen Ausatmung und erfasse den Wert hier.",
|
||
"cta": "Taillenumfang erfassen"
|
||
},
|
||
"coachPrefill": "Ich habe noch keine Taillenwerte erfasst — wie messe ich meine Taille richtig, und was bedeutet der Wert für meine Gesundheit?"
|
||
},
|
||
"waistToHeight": {
|
||
"title": "Taille-zu-Größe-Verhältnis",
|
||
"description": "Deine Taille geteilt durch deine Größe — die ethnienunabhängige Einzelzahl. Sie unter 0,5 zu halten (Taille unter der halben Körpergröße) ist das einfache Ziel.",
|
||
"chartTitle": "Taille-zu-Größe-Verhältnis",
|
||
"emptyState": {
|
||
"title": "Noch kein Taille-zu-Größe-Verhältnis",
|
||
"description": "Erfasse ein Taille-zu-Größe-Verhältnis, und der Verlauf erscheint hier. Faustregel: Halte deine Taille unter der halben Körpergröße.",
|
||
"cta": "Taille-zu-Größe-Verhältnis erfassen"
|
||
},
|
||
"coachPrefill": "Ich habe noch kein Taille-zu-Größe-Verhältnis erfasst — warum ist es eine nützliche Zahl, und wie halte ich es unter 0,5?"
|
||
},
|
||
"ecg": {
|
||
"sectionTitle": "EKG-Aufzeichnungen",
|
||
"loadError": "Deine EKG-Aufzeichnungen konnten nicht geladen werden.",
|
||
"backToList": "Zurück zu den Aufzeichnungen",
|
||
"clinicianNote": "Wenn dich dieses Ergebnis beunruhigt, besprich diese Aufzeichnung mit einer Ärztin oder einem Arzt.",
|
||
"resultAttribution": "Aufgezeichnetes Ergebnis: {result}, wie vom Aufzeichnungsgerät gemeldet.",
|
||
"result": {
|
||
"irregular": "Vorhofflimmern erkannt",
|
||
"notDetected": "Keine Anzeichen von Vorhofflimmern",
|
||
"inconclusive": "Nicht eindeutige Aufzeichnung",
|
||
"none": "Kein Ergebnis gemeldet"
|
||
},
|
||
"meta": {
|
||
"recorded": "Aufgezeichnet",
|
||
"duration": "Dauer",
|
||
"lead": "Ableitung",
|
||
"averageHeartRate": "Durchschnittliche Herzfrequenz",
|
||
"samplingRate": "Abtastrate",
|
||
"leadSingle": "Einkanal (Ableitung I)",
|
||
"durationValue": "{seconds} s",
|
||
"bpmValue": "{bpm} bpm",
|
||
"hzValue": "{hz} Hz",
|
||
"unknown": "—"
|
||
},
|
||
"waveform": {
|
||
"ariaLabel": "EKG-Streifen aufgezeichnet {date}, Dauer {duration}, durchschnittliche Herzfrequenz {heartRate}, aufgezeichnetes Ergebnis: {result}."
|
||
},
|
||
"crossLink": {
|
||
"title": "EKG-Aufzeichnungen",
|
||
"recordingsOne": "1 Aufzeichnung vorhanden.",
|
||
"recordingsMany": "{count} Aufzeichnungen vorhanden.",
|
||
"latestResult": "Letztes Geräte-Ergebnis: {result}.",
|
||
"cta": "Aufzeichnungen ansehen"
|
||
},
|
||
"emptyTitle": "Noch keine EKG-Aufzeichnungen",
|
||
"emptyDescription": "EKG-Aufzeichnungen werden von einem kompatiblen Einkanal-Gerät synchronisiert. Sobald dein Gerät eine Aufzeichnung überträgt, erscheint sie hier.",
|
||
"emptyCta": "Gerät verbinden"
|
||
},
|
||
"intradayPulse": {
|
||
"title": "Der Verlauf deines Tages",
|
||
"caption": "Dein Puls über den Tag, gemittelt in 10-Minuten-Schritten.",
|
||
"hourlyNote": "Stündlicher Durchschnitt für diesen Tag — aktuelle Tage zeigen das volle 10-Minuten-Detail.",
|
||
"empty": "Für diesen Tag noch nicht genug Pulswerte, um den Tagesverlauf zu zeigen.",
|
||
"coverageOne": "Basierend auf 1 Messung über {hours}h.",
|
||
"coverageMany": "Basierend auf {count} Messungen über {hours}h.",
|
||
"baseline": "Ruhe",
|
||
"today": "Heute",
|
||
"previousDay": "Vorheriger Tag",
|
||
"nextDay": "Nächster Tag",
|
||
"tension": {
|
||
"morning": "Eine anhaltend erhöhte Ruhephase heute Vormittag — möglicherweise etwas Anspannung.",
|
||
"afternoon": "Eine anhaltend erhöhte Ruhephase heute Nachmittag — möglicherweise etwas Anspannung.",
|
||
"evening": "Eine anhaltend erhöhte Ruhephase heute Abend — möglicherweise etwas Anspannung.",
|
||
"night": "Eine anhaltend erhöhte Ruhephase in der Nacht — möglicherweise etwas Anspannung."
|
||
}
|
||
},
|
||
"navEcg": "EKG",
|
||
"sectionLoadError": "Dieser Bereich konnte nicht geladen werden.",
|
||
"aiSetupHint": {
|
||
"title": "KI ist optional",
|
||
"body": "Hier funktioniert alles auch ohne KI. Wenn du ein tägliches Briefing, kurze Notizen zu deinen Werten und den Coach möchtest, kannst du einen KI-Anbieter verbinden.",
|
||
"settingsBody": "HealthLog funktioniert vollständig ohne KI. Verbinde unten einen Anbieter, wenn du ein tägliches Briefing, kurze Notizen zu deinen Werten und den Coach möchtest.",
|
||
"action": "KI einrichten",
|
||
"dismiss": "Nicht jetzt"
|
||
}
|
||
},
|
||
"thresholds": {
|
||
"defaultLabel": "Default",
|
||
"overrideToggleLabel": "Eigene Werte",
|
||
"resetAction": "Auf Default zurücksetzen",
|
||
"resetAllAction": "Alle auf Default zurücksetzen",
|
||
"resetAllTitle": "Alle eigenen Bereiche zurücksetzen?",
|
||
"resetAllBody": "Jede Messgröße kehrt zu ihrem Standardbereich zurück. Die von dir gesetzten Werte werden nirgends sonst gespeichert und lassen sich nicht wiederherstellen.",
|
||
"resetAllConfirm": "Alle zurücksetzen",
|
||
"resetTitle": "Diesen Bereich zurücksetzen?",
|
||
"resetBody": "Die Messgröße kehrt zu ihrem Standardbereich zurück. Die von dir gesetzten Werte werden nirgends sonst gespeichert und lassen sich nicht wiederherstellen.",
|
||
"resetConfirm": "Bereich zurücksetzen",
|
||
"minLabel": "Min",
|
||
"maxLabel": "Max",
|
||
"unitSuffix": "({unit})",
|
||
"outOfBoundsHint": "Erlaubter Bereich: {min}–{max} {unit}",
|
||
"overrideWarning": "Werte außerhalb der Leitlinien können zu ungesunden Zielen führen. Nur nach ärztlicher Rücksprache überschreiben.",
|
||
"saveSuccess": "Zielwerte aktualisiert",
|
||
"saveError": "Zielwerte konnten nicht gespeichert werden",
|
||
"resetSuccess": "Auf Default zurückgesetzt",
|
||
"sourceOverride": "Eigener Wert",
|
||
"metricWeight": "Gewicht",
|
||
"metricBpSys": "Blutdruck (systolisch)",
|
||
"metricBpDia": "Blutdruck (diastolisch)",
|
||
"metricPulse": "Ruhepuls",
|
||
"metricBodyFat": "Körperfett",
|
||
"metricSleep": "Schlafdauer",
|
||
"metricSteps": "Schritte/Tag",
|
||
"metricGlucoseFasting": "Glukose — nüchtern",
|
||
"metricGlucosePostprandial": "Glukose — postprandial",
|
||
"metricGlucoseRandom": "Glukose — beliebig",
|
||
"metricGlucoseBedtime": "Glukose — vor dem Schlafen",
|
||
"metricBodyWater": "Körperwasser",
|
||
"metricBoneMass": "Knochenmasse",
|
||
"metricOxygenSaturation": "Sauerstoffsättigung (SpO₂)",
|
||
"unsetExplanation": "Kein eigener Wert — berechneter Default aktiv."
|
||
},
|
||
"onboarding": {
|
||
"errorGeneric": "Beim Abschluss des Setups ist etwas schiefgelaufen. Bitte versuche es erneut.",
|
||
"tour": {
|
||
"stepOf": "Schritt {current} von {total}",
|
||
"next": "Weiter",
|
||
"back": "Zurück",
|
||
"skip": "Tour überspringen",
|
||
"done": "Verstanden",
|
||
"steps": {
|
||
"dashboardOverview": {
|
||
"title": "Dein Dashboard",
|
||
"body": "Das Dashboard bündelt alle Module auf einen Blick. Halte eine Kachel lange gedrückt, um sie neu anzuordnen oder auszublenden (Einstellungen → Dashboard-Layout). Jede Kachel ist nur so aussagekräftig wie die Daten dahinter — die folgenden Module füllen sie."
|
||
},
|
||
"quickAdd": {
|
||
"title": "In Sekunden erfasst",
|
||
"body": "Über „+ Hinzufügen“ trägst du jeden Messwert in Sekunden ein — Gewicht, Blutdruck, Puls, Glukose. Versteckte Stärke: Werte lassen sich nachträglich datieren. Alles, was du hier einträgst, fließt in Trends, Health-Score und die KI-Insights."
|
||
},
|
||
"measurements": {
|
||
"title": "Messwerte & Zielbereiche",
|
||
"body": "Messwerte zeigt Verlauf und Zielbereiche pro Metrik. Hidden Gem: Zielbereiche pro Wert definieren, damit Abweichungen farblich auffallen. Diese Reihen sind die Grundlage für Korrelationen im Coach und den Arztbericht."
|
||
},
|
||
"medications": {
|
||
"title": "Medikamente & Einnahmen",
|
||
"body": "Medikamente verwaltet Zeitpläne, Einnahmen, Bestand und Titration. Versteckt: wiederkehrende Pläne (RRULE/rollierend) und Bestandswarnungen. Deine Einnahmequote speist die Therapietreue-Säule im Dashboard und den Kontext der KI."
|
||
},
|
||
"labs": {
|
||
"title": "Laborwerte",
|
||
"body": "Labore erfasst Biomarker mit Referenzbereichen — Blutbild, Cholesterin, HbA1c. Stärke: Import und FHIR-Export. Auffällige Laborwerte tauchen als Belege in den Insights und im Arztbericht wieder auf."
|
||
},
|
||
"illness": {
|
||
"title": "Krankheits-Journal",
|
||
"body": "Das Krankheits-Journal dokumentiert akute Episoden und chronische Diagnosen samt Schüben. Versteckt: die Korrelation einer Episode mit deinen Messwerten und der Ruhemodus, der Reminder pausiert. So versteht der Coach, warum Werte zeitweise abweichen."
|
||
},
|
||
"vorsorge": {
|
||
"title": "Vorsorge",
|
||
"body": "Vorsorge erinnert an Untersuchungen und Impfungen mit eigenem Intervall. Tipp: „Erledigt“ kann direkt eine Messung oder ein Laborergebnis hinzufügen. Fällige Vorsorgen erscheinen als Reminder und im Arztbericht."
|
||
},
|
||
"cycle": {
|
||
"title": "Zyklus",
|
||
"body": "Die Zyklus-Verfolgung protokolliert Phasen und Symptome. Versteckt: Symptome lassen sich Stimmung und Schlaf gegenüberstellen. Der Zyklus liefert Kontext für Schwankungen, die sonst unerklärlich wären."
|
||
},
|
||
"mood": {
|
||
"title": "Stimmung",
|
||
"body": "Stimmung erfasst dein Befinden und Tags in zwei Sekunden. Stärke: eigene Tags. Stimmungsverläufe korrelieren mit Schlaf, Medikamenten und Zyklus — der Coach erkennt Muster."
|
||
},
|
||
"insights": {
|
||
"title": "Insights",
|
||
"body": "Insights ist das Herzstück: belegbasierte, dynamische Auswertungen statt generischer Tipps — jede Aussage verweist auf deine echten Daten. Versteckt: das Layout ist anpassbar. Insights zieht alles zusammen, was die Module oben liefern."
|
||
},
|
||
"coach": {
|
||
"title": "Coach",
|
||
"body": "Der Coach beantwortet Fragen zu deinen Daten im Dialog und nutzt Anamnese, Medikamente und Laborwerte als Kontext. Den KI-Anbieter wählst du selbst (eigener Schlüssel oder lokal). Er rechnet nichts neu — er liest dieselben Zahlen wie das Dashboard."
|
||
},
|
||
"integrations": {
|
||
"title": "Integrationen",
|
||
"body": "Integrationen synchronisieren Withings, WHOOP, Polar, Oura und Apple Health automatisch. So füllen sich Gewicht, Schlaf und Erholung ohne manuelles Tippen — und nähren wiederum Insights und Coach."
|
||
},
|
||
"export": {
|
||
"title": "Arztbericht",
|
||
"body": "Der Arztbericht bündelt Messwerte, Medikamente, Laborwerte und Vorsorge als PDF oder FHIR für den Termin. Hier laufen alle Module zusammen — ein vollständiger Bericht entsteht nur bei gepflegten Daten."
|
||
},
|
||
"achievements": {
|
||
"title": "Erfolge",
|
||
"body": "Erfolge belohnen Konsistenz — Streaks und Meilensteine. Ein kleiner Motivations-Loop, der das Dranbleiben leichter macht."
|
||
},
|
||
"wrapUp": {
|
||
"title": "Das war die Tour",
|
||
"body": "Diese Führung läuft einmalig — sie öffnet sich nicht von selbst erneut. Alles Gezeigte bleibt erhalten, und du kannst Funktionen jederzeit unter Einstellungen → Module ein- oder ausschalten."
|
||
}
|
||
}
|
||
},
|
||
"shell": {
|
||
"back": "Zurück",
|
||
"skip": "Überspringen",
|
||
"next": "Weiter",
|
||
"stepOf": "Schritt {current} von {total}",
|
||
"stepsLabel": "Schritte der Einrichtung"
|
||
},
|
||
"baseline": {
|
||
"title": "Kurz zu dir",
|
||
"body": "Vier optionale Angaben verbessern Zielwerte, BMI und Erinnerungen. Du kannst alles später in den Einstellungen anpassen.",
|
||
"displayNameLabel": "Anzeigename",
|
||
"displayNamePlaceholder": "Wie soll dich HealthLog ansprechen?",
|
||
"displayNameHint": "Erscheint im Dashboard-Gruß und in Berichten.",
|
||
"heightLabel": "Größe (cm)",
|
||
"heightLabelFtIn": "Größe (ft, in)",
|
||
"genderLabel": "Geschlecht",
|
||
"genderNone": "Keine Angabe",
|
||
"genderMale": "Männlich",
|
||
"genderFemale": "Weiblich",
|
||
"genderOther": "Divers",
|
||
"dateOfBirthLabel": "Geburtsdatum",
|
||
"dateOfBirthHint": "Wird ausschließlich für altersbezogene Auswertungen genutzt."
|
||
},
|
||
"done": {
|
||
"title": "Alles bereit",
|
||
"body": "Willkommen an Bord. Dein Dashboard wartet.",
|
||
"returnCta": "Zum Dashboard",
|
||
"learning": "Manche Einblicke — Glukose, Schlafrhythmus, Blutdrucktrends, Zyklus — schärfen sich in den ersten ein bis zwei Wochen, sobald sich deine Daten ansammeln. Leere Kacheln heißen jetzt nur, dass wir deine Basislinie noch lernen.",
|
||
"connectCta": "Gerät verbinden",
|
||
"logCta": "Ersten Wert eintragen",
|
||
"importCta": "Bestehende Daten importieren",
|
||
"modulesCta": "Module auswählen"
|
||
},
|
||
"welcomeBack": {
|
||
"title": "Willkommen zurück",
|
||
"cta": "Zum Dashboard"
|
||
},
|
||
"disclaimer": {
|
||
"acknowledge": "Mir ist klar: HealthLog ist ein privates Tracking-Tool, keine klinische Bewertung und keine Diagnose. Bei Sorgen wende ich mich an meine Ärztin oder meinen Arzt, nicht an diese App.",
|
||
"learnMore": "Mehr erfahren"
|
||
},
|
||
"anamnesis": {
|
||
"title": "Zu deiner Gesundheit (optional)",
|
||
"subtitle": "Etwas Kontext, damit HealthLog deine Werte fairer einordnet.",
|
||
"intro": "Teile so viel oder so wenig, wie du möchtest — jedes Feld ist optional und jederzeit in den Einstellungen änderbar.",
|
||
"conditionsLabel": "Bestehende Erkrankungen",
|
||
"conditionsPlaceholder": "z. B. Bluthochdruck, Typ-2-Diabetes",
|
||
"conditionsHint": "Hilft HealthLog, deine Werte im Kontext einzuordnen, statt Erwartbares zu melden.",
|
||
"allergiesLabel": "Allergien oder Unverträglichkeiten",
|
||
"allergiesPlaceholder": "z. B. Penicillin, Laktose",
|
||
"privacyNote": "Verschlüsselt gespeichert und nur für besseren Kontext genutzt. Medikamente fragen wir hier nicht ab — die kannst du jederzeit auf der Medikamenten-Seite ergänzen."
|
||
},
|
||
"ai": {
|
||
"panelTitle": "So sehen Insights aus",
|
||
"panelIntro": "Coach, das tägliche Briefing und die Einschätzungen je Messwert übersetzen deine eigenen Zahlen in Klartext. So sieht das aus — bevor du irgendetwas verbindest.",
|
||
"showSample": "Beispiel-Briefing ansehen",
|
||
"sampleTitle": "Tägliches Briefing",
|
||
"sampleTag": "Beispiel",
|
||
"sampleAriaLabel": "Beispielhaftes tägliches Briefing",
|
||
"sampleBody": "Gewicht in zwei Wochen um 1,2 kg gesunken. Ruhepuls stabil bei 58 bpm. Blutdruck an 6 von 7 Tagen im Zielbereich — der einzige hohe Wert folgte auf ein spätes, salziges Abendessen.",
|
||
"sampleCaption": "Nur ein Beispiel — nicht deine eigenen Daten. So liest sich ein Briefing, sobald Insights aktiv sind.",
|
||
"ladderTitle": "Drei Wege, es zu aktivieren",
|
||
"ladderLocalTitle": "Lokales Modell — KI-Anfragen bleiben in deinem Netzwerk",
|
||
"ladderLocalBody": "Richte HealthLog auf Ollama oder LM Studio auf deinem eigenen Rechner aus. Kostenlos und vollständig privat — der ruhige Standard.",
|
||
"ladderByokTitle": "Eigenen Schlüssel verwenden",
|
||
"ladderByokBody": "Nutze deinen eigenen OpenAI- oder Anthropic-Schlüssel. Er läuft über dein Konto und deine Abrechnung, und die API-Stufe hält deine Daten standardmäßig aus dem Training heraus.",
|
||
"ladderOauthTitle": "Mit einem Abo anmelden",
|
||
"ladderOauthBody": "Verbinde ein ChatGPT-Konto — keine Kosten pro Token, aber die Bedingungen der Verbraucherstufe können Inhalte fürs Training nutzen. Deshalb eine bewusste Wahl, nie der Standard für deine Gesundheitsdaten.",
|
||
"keylessLine": "HealthLog ist auch ohne KI vollständig nutzbar. Deine Kacheln, Diagramme, Trends und Exporte funktionieren alle — KI ergänzt nur den Klartext obendrauf.",
|
||
"setupCta": "Einrichten (etwa eine Minute)",
|
||
"sharedKeyNote": "Diese Instanz stellt bereits einen gemeinsamen KI-Anbieter bereit, deshalb funktionieren Insights für dich sofort — keine Einrichtung nötig.",
|
||
"offer": {
|
||
"title": "Die Zusammenfassung dieser Instanz ist bereit.",
|
||
"body": "Der Betreiber stellt einen Anbieter bereit, der zuletzt innerhalb der letzten 24 Stunden funktioniert hat. Mit einem Tipp schaltest du den Klartext ein; deine Daten gehen dann an diesen einen Anbieter, an niemanden sonst.",
|
||
"cta": "Klartext einschalten",
|
||
"granted": "Eingeschaltet. Die erste Zusammenfassung erscheint auf dem Dashboard.",
|
||
"error": "Das Einschalten hat nicht geklappt. Versuch es gleich noch einmal."
|
||
},
|
||
"unavailable": {
|
||
"title": "Der Anbieter dieser Instanz antwortet gerade nicht.",
|
||
"body": "HealthLog funktioniert ohne Klartext vollständig. Du kannst später in den Einstellungen einen eigenen Anbieter hinterlegen."
|
||
}
|
||
},
|
||
"steps": {
|
||
"who": "Für wen diese Akte ist",
|
||
"areas": "Worauf du achten willst",
|
||
"medication": "Medikamente",
|
||
"sources": "Woher die Werte kommen",
|
||
"visit": "Arztbesuch",
|
||
"units": "Einheiten",
|
||
"confirm": "Bestätigen",
|
||
"first-result": "Erstes Ergebnis",
|
||
"done": "Fertig"
|
||
},
|
||
"flow": {
|
||
"welcome": {
|
||
"title": "Willkommen bei HealthLog",
|
||
"body": "Fünf kurze Fragen entscheiden, was HealthLog dir zuerst zeigt. Das dauert etwa zwei Minuten.",
|
||
"changeLater": "Nichts ist endgültig: Jede Wahl lässt sich später unter Einstellungen ändern.",
|
||
"setUp": "Einrichten",
|
||
"skip": "Vorerst überspringen",
|
||
"againBody": "Deine Einrichtung ist abgeschlossen. Beantworte die Fragen erneut, um zu ändern, was HealthLog zuerst zeigt, oder geh zum Dashboard.",
|
||
"setUpAgain": "Erneut einrichten"
|
||
},
|
||
"who": {
|
||
"title": "Für wen ist diese Akte?",
|
||
"body": "Die folgenden Antworten gelten für diese Akte.",
|
||
"options": {
|
||
"me": "Für mich",
|
||
"someone-else": "Für jemanden, um den ich mich kümmere",
|
||
"both": "Beides"
|
||
},
|
||
"hints": {
|
||
"someone-else": "Zum Beispiel ein Kind oder ein Elternteil. Das Profil wird am Ende angelegt.",
|
||
"both": "Richte jetzt deine eigene Akte ein; das Profil für die andere Person wird am Ende angeboten."
|
||
}
|
||
},
|
||
"areas": {
|
||
"title": "Worauf möchtest du achten?",
|
||
"body": "Wähle beliebig viele. Sie entscheiden, welche Module eingeschaltet sind und was das Dashboard zuerst zeigt.",
|
||
"options": {
|
||
"blood-pressure": "Blutdruck",
|
||
"weight-body": "Gewicht und Körper",
|
||
"glucose": "Blutzucker",
|
||
"sleep": "Schlaf und Erholung",
|
||
"mood": "Stimmung und seelisches Wohlbefinden",
|
||
"cycle": "Zyklus",
|
||
"activity": "Aktivität und Training",
|
||
"labs": "Laborwerte",
|
||
"illness": "Krankheiten und Symptome"
|
||
}
|
||
},
|
||
"medication": {
|
||
"title": "Nimmst du Medikamente nach einem festen Plan?",
|
||
"body": "Ein Plan schaltet das Medikamenten-Modul und Erinnerungen ein.",
|
||
"options": {
|
||
"yes": "Ja",
|
||
"no": "Nein",
|
||
"sometimes": "Manchmal"
|
||
}
|
||
},
|
||
"sources": {
|
||
"title": "Woher kommen deine Werte heute?",
|
||
"body": "Wähle beliebig viele. Am Ende wird eine Verbindung angeboten; keine ist Pflicht.",
|
||
"options": {
|
||
"manual": "Ich tippe sie ein",
|
||
"apple-health": "Apple Health auf meinem iPhone",
|
||
"withings": "Withings",
|
||
"oura": "Oura",
|
||
"whoop": "WHOOP",
|
||
"polar": "Polar",
|
||
"fitbit": "Fitbit",
|
||
"strava": "Strava",
|
||
"nightscout": "Nightscout",
|
||
"file": "Eine Datei, die ich schon habe"
|
||
},
|
||
"hints": {
|
||
"apple-health": "Wird von der iOS-App synchronisiert oder aus einem Export importiert.",
|
||
"file": "Wird unter Einstellungen importiert, sobald du hier fertig bist."
|
||
}
|
||
},
|
||
"visit": {
|
||
"title": "Steht ein Arztbesuch an?",
|
||
"body": "Ein Besuch schaltet den Arztbericht ein und setzt die Vorbereitung auf deine Checkliste.",
|
||
"options": {
|
||
"within-a-month": "Ja, innerhalb eines Monats",
|
||
"later": "Später",
|
||
"no": "Nein"
|
||
}
|
||
},
|
||
"units": {
|
||
"title": "Welche Einheiten verwendest du?",
|
||
"body": "Werte werden einmal gespeichert und in der Einheit angezeigt, die du wählst. Du kannst sie später unter Einstellungen ändern.",
|
||
"glucoseLegend": "Blutzucker",
|
||
"weightLegend": "Gewicht und Größe",
|
||
"options": {
|
||
"metric": "kg und cm",
|
||
"imperial": "lb und ft/in"
|
||
}
|
||
},
|
||
"confirm": {
|
||
"title": "Das schalten deine Antworten ein",
|
||
"body": "Ein Blick, dann ist HealthLog eingerichtet. Nichts davon ist endgültig.",
|
||
"modulesTitle": "Module",
|
||
"switchedOn": "Eingeschaltet: {modules}.",
|
||
"nothingExtra": "Deine Antworten schalten kein zusätzliches Modul ein; die Kernwerte sind immer da.",
|
||
"alwaysOn": "Immer an: {modules} und die Kernwerte (Gewicht, Blutdruck, Puls).",
|
||
"everythingElse": "Alles andere bleibt einen Klick entfernt unter",
|
||
"modulesLink": "Einstellungen, Module",
|
||
"switchesOff": "Nicht mehr in der Navigation: {modules}. Jederzeit unter Einstellungen, Module wieder einschaltbar.",
|
||
"glucoseUnit": "Blutzucker",
|
||
"unitPreference": "Einheiten",
|
||
"language": "Sprache",
|
||
"timezone": "Zeitzone",
|
||
"changeInSettings": "Unter Einstellungen, Konto ändern",
|
||
"cta": "Bestätigen und weiter",
|
||
"managedTitle": "Die Person, um die du dich kümmerst",
|
||
"managedBody": "Ihre Akte hat keinen eigenen Login; du betreust sie aus deinem Konto. Zum Anlegen ist ein zweiter Faktor auf deinem Konto nötig.",
|
||
"managedCreate": "Profil anlegen und abschließen",
|
||
"managedLater": "Du kannst es auch später unter Einstellungen, Geteilter Zugriff anlegen.",
|
||
"finishWithoutProfile": "Ohne Profil abschließen"
|
||
},
|
||
"first-result": {
|
||
"connect-source": {
|
||
"title": "{target} verbinden",
|
||
"body": "Eine Verbindung, aus deinen Antworten gewählt. Danach kommen die Werte von selbst.",
|
||
"howTo": "Die Verbindung zu {target} wird auf der Integrationsseite hergestellt. Komm danach hierher zurück; dieser Bildschirm merkt, wenn sie steht.",
|
||
"cta": "{target} verbinden",
|
||
"checking": "Verbindung wird geprüft.",
|
||
"waiting": "Noch nicht verbunden.",
|
||
"openSettings": "Einstellungen → Integrationen öffnen",
|
||
"noDate": "unbekannt",
|
||
"needsCredentials": {
|
||
"title": "Diese Instanz hat noch keine {target}-App hinterlegt.",
|
||
"detail": "Trage deine eigenen Zugangsdaten unter Einstellungen → Integrationen ein, dann kann die Verbindung starten."
|
||
},
|
||
"state": {
|
||
"pending_first_sync": {
|
||
"title": "{target} ist verbunden.",
|
||
"detail": "Die erste Synchronisierung läuft. Die Werte erscheinen auf dem Dashboard, sobald sie ankommen."
|
||
},
|
||
"fresh": {
|
||
"title": "{target} ist schon verbunden.",
|
||
"detail": "Letzter Wert {when}. Hier gibt es nichts mehr zu tun."
|
||
},
|
||
"stale": {
|
||
"title": "{target} ist verbunden, aber es kommt gerade nichts an.",
|
||
"detail": "Letzter Wert {when}. Die Verbindung selbst ist in Ordnung."
|
||
},
|
||
"stalled": {
|
||
"title": "{target} ist verbunden, aber es wird nicht mehr synchronisiert.",
|
||
"detail": "Letzter Versuch {when}. Prüfe die Verbindung unter Einstellungen → Integrationen."
|
||
},
|
||
"failing": {
|
||
"title": "{target} ist verbunden, aber die Synchronisierung schlägt fehl.",
|
||
"detail": "Ohne Erfolg seit {when}. Prüfe die Verbindung unter Einstellungen → Integrationen."
|
||
},
|
||
"reauth_required": {
|
||
"title": "Die Verbindung zu {target} muss erneuert werden.",
|
||
"detail": "Einmal neu anmelden, dann laufen die Werte weiter."
|
||
},
|
||
"parked": {
|
||
"title": "Die Verbindung zu {target} ist pausiert.",
|
||
"detail": "Prüfe die Verbindung unter Einstellungen → Integrationen."
|
||
}
|
||
}
|
||
},
|
||
"add-medication": {
|
||
"title": "Dein erstes Medikament hinzufügen",
|
||
"body": "Name, Dosis und Plan; die Erinnerung folgt dem Plan, den du festlegst.",
|
||
"howTo": "Das Medikament wird in wenigen kurzen Schritten angelegt. Weitere kannst du später auf der Medikamentenseite hinzufügen.",
|
||
"cta": "Medikament hinzufügen",
|
||
"done": "{name} ist angelegt.",
|
||
"doneUnnamed": "Dein erstes Medikament ist angelegt.",
|
||
"nextDose": "Nächste Dosis: {when}.",
|
||
"reminders": "Erinnerungen folgen dem Plan, den du festgelegt hast.",
|
||
"recordOnly": "Nur dokumentiert: keine Erinnerungen, nichts wird fällig.",
|
||
"asNeeded": "Bei Bedarf: keine Erinnerungen, erfasse eine Dosis, wenn du sie nimmst."
|
||
},
|
||
"log-reading": {
|
||
"title": "Einen Wert eintragen: {target}",
|
||
"body": "Ein Wert bringt die erste Zahl auf dein Dashboard. Der Trend zeichnet sich ab dem fünften von selbst.",
|
||
"done": "Dein erster Wert ist auf seiner Kachel.",
|
||
"doneElsewhere": "Dein erster Eintrag für {target} ist erfasst.",
|
||
"elsewhere": "{target} hat eine eigene Seite. Öffne sie, mach den ersten Eintrag und komm dann zurück, um ihn als erledigt zu markieren.",
|
||
"open": "{target} öffnen",
|
||
"markDone": "Ich habe den Eintrag gemacht"
|
||
}
|
||
},
|
||
"done": {
|
||
"tourCta": "Kurze Tour machen",
|
||
"openRecord": "Akte von {name} öffnen",
|
||
"createProfile": "Profil für die Person anlegen, um die du dich kümmerst"
|
||
}
|
||
}
|
||
},
|
||
"gettingStarted": {
|
||
"title": "Erste Schritte",
|
||
"subtitle": "Quick Wins, damit du das Beste aus HealthLog herausholst.",
|
||
"progress": "{done} von {total} erledigt",
|
||
"dismissAll": "Checkliste ausblenden",
|
||
"dismissTooltip": "Diesen Punkt ausblenden",
|
||
"items": {
|
||
"profileTitle": "Profil einrichten",
|
||
"profileDescription": "Größe, Geburtsdatum und Geschlecht schalten personalisierte Zielwerte frei.",
|
||
"profileCta": "Profil öffnen",
|
||
"measurementTitle": "Erste Messung hinzufügen",
|
||
"measurementDescription": "Ein Messpunkt reicht, um die Kachel zu aktivieren — der Trend zeichnet sich ab dem 5. Eintrag.",
|
||
"measurementCta": "Messung hinzufügen",
|
||
"medicationTitle": "Medikament hinzufügen",
|
||
"medicationDescription": "Verfolge die Therapietreue und erhalte Erinnerungen genau dann, wenn du sie brauchst.",
|
||
"medicationCta": "Medikament hinzufügen",
|
||
"dataSourceTitle": "Datenquelle verbinden (optional)",
|
||
"dataSourceDescription": "Gewicht, Blutdruck, Schlaf und mehr automatisch aus Withings, WHOOP, Oura, Polar, Nightscout, Fitbit oder Apple Health.",
|
||
"dataSourceCta": "Verbinden",
|
||
"notificationsTitle": "Benachrichtigungen einrichten",
|
||
"notificationsDescription": "Wähle, wie HealthLog dich erinnert — Telegram, ntfy oder Web Push.",
|
||
"notificationsCta": "Benachrichtigungen öffnen",
|
||
"insightsTitle": "Insights aktivieren (optional)",
|
||
"insightsDescription": "Füge ein lokales Modell oder deinen eigenen KI-Schlüssel hinzu, um das tägliche Briefing und Coach freizuschalten.",
|
||
"insightsCta": "Insights aktivieren",
|
||
"visitTitle": "Auf den Arztbesuch vorbereiten",
|
||
"visitDescription": "Trag den Termin in den Kalender ein; der Arztbericht bündelt, was du mitbringst.",
|
||
"visitCta": "Besuche öffnen",
|
||
"dataSourceNamedTitle": "{source} verbinden",
|
||
"managedProfileTitle": "Profil der betreuten Person anlegen",
|
||
"managedProfileDescription": "Deine Antworten galten der Akte einer anderen Person; sie wird unter Geteilter Zugriff angelegt.",
|
||
"managedProfileCta": "Profil anlegen"
|
||
}
|
||
},
|
||
"trendHints": {
|
||
"title": "Erster Trend nach 5 Messungen",
|
||
"remainingOne": "Noch 1 Messung bis zum Trend.",
|
||
"remainingMany": "Noch {count} Messungen bis zum Trend."
|
||
},
|
||
"settings": {
|
||
"oauthCallbackPreflightItem": "{provider}: Die Callback-Adresse {configuredOrigin} unterscheidet sich von der App-Adresse {currentOrigin}.",
|
||
"shell": {
|
||
"sectionsNav": "Einstellungs-Bereiche",
|
||
"groups": {
|
||
"account": "Konto",
|
||
"yourData": "Deine Daten",
|
||
"display": "Anzeige",
|
||
"healthProfile": "Gesundheitsprofil",
|
||
"ai": "KI",
|
||
"connectivity": "Konnektivität",
|
||
"system": "System"
|
||
}
|
||
},
|
||
"sharedRecord": {
|
||
"managedSettings": {
|
||
"saveError": "Speichern fehlgeschlagen. Bitte erneut versuchen.",
|
||
"validationError": "Bitte prüfe deine Eingaben.",
|
||
"profile": {
|
||
"title": "Profil",
|
||
"displayName": "Anzeigename",
|
||
"height": "Größe (cm)",
|
||
"dateOfBirth": "Geburtsdatum",
|
||
"gender": "Geschlecht",
|
||
"notSpecified": "Nicht angegeben",
|
||
"male": "Männlich",
|
||
"female": "Weiblich",
|
||
"other": "Andere Angabe",
|
||
"locale": "Sprache",
|
||
"systemDefault": "Systemstandard",
|
||
"timezone": "Zeitzone",
|
||
"units": "Einheiten",
|
||
"metric": "Metrisch",
|
||
"imperial": "Imperial",
|
||
"timeFormat": "Zeitformat",
|
||
"automatic": "Automatisch",
|
||
"hour12": "12 Stunden",
|
||
"hour24": "24 Stunden",
|
||
"dateFormat": "Datumsformat",
|
||
"dateDmy": "Tag / Monat / Jahr",
|
||
"dateMdy": "Monat / Tag / Jahr",
|
||
"dateYmd": "Jahr / Monat / Tag"
|
||
},
|
||
"modules": {
|
||
"title": "Module"
|
||
},
|
||
"notifications": {
|
||
"title": "Benachrichtigungen",
|
||
"moodReminder": "Stimmungserinnerung aktivieren",
|
||
"reminderHour": "Uhrzeit der Stimmungserinnerung",
|
||
"lowStockRunwayDays": "Tage bis zum niedrigen Bestand",
|
||
"reorderLeadDays": "Vorlaufzeit für Nachbestellung"
|
||
},
|
||
"thresholds": {
|
||
"title": "Zielwerte",
|
||
"metric": "Messwert",
|
||
"minimum": "Minimum",
|
||
"maximum": "Maximum"
|
||
},
|
||
"coach": {
|
||
"title": "Coach",
|
||
"disable": "Coach deaktivieren",
|
||
"tone": "Ton",
|
||
"warm": "Herzlich",
|
||
"neutral": "Neutral",
|
||
"concise": "Knapp",
|
||
"verbosity": "Ausführlichkeit",
|
||
"brief": "Kurz",
|
||
"default": "Standard",
|
||
"detailed": "Ausführlich",
|
||
"defaultWindow": "Standardzeitraum",
|
||
"last7days": "Letzte 7 Tage",
|
||
"last30days": "Letzte 30 Tage",
|
||
"last90days": "Letzte 90 Tage",
|
||
"allTime": "Gesamter Zeitraum",
|
||
"excludedMetrics": "Ausgeschlossene Messwerte",
|
||
"dataClusters": "Datenbereiche",
|
||
"customClusters": "Eigene Auswahl von Datenbereichen verwenden",
|
||
"metrics": {
|
||
"bp": "Blutdruck",
|
||
"weight": "Gewicht",
|
||
"pulse": "Puls",
|
||
"mood": "Stimmung",
|
||
"compliance": "Medikamenteneinnahme",
|
||
"hrv": "Herzfrequenzvariabilität",
|
||
"sleep": "Schlaf",
|
||
"restingHr": "Ruhepuls",
|
||
"steps": "Schritte",
|
||
"medications": "Medikamente",
|
||
"anthropometrics": "Körpermaße"
|
||
},
|
||
"clusters": {
|
||
"cardio": "Herz-Kreislauf",
|
||
"body": "Körperzusammensetzung",
|
||
"activity": "Aktivität",
|
||
"workouts": "Trainings",
|
||
"sleep": "Schlaf",
|
||
"mood": "Stimmung",
|
||
"glucose": "Glukose",
|
||
"medication": "Medikation",
|
||
"mobility": "Mobilität",
|
||
"environment": "Umgebung"
|
||
}
|
||
},
|
||
"insights": {
|
||
"title": "Erkenntnisse",
|
||
"sections": "Übersichtsbereiche",
|
||
"tiles": "Navigationskacheln",
|
||
"order": "Reihenfolge",
|
||
"unknownItem": "Nicht verfügbare Erkenntnis",
|
||
"sectionLabels": {
|
||
"wellnessScores": "Wellnesswerte",
|
||
"dailyBriefing": "Tagesüberblick",
|
||
"vitals": "Vitalwerte",
|
||
"trends": "Trends",
|
||
"periodReview": "Periodenrückblick",
|
||
"cycleSummary": "Zyklusübersicht",
|
||
"signals": "Signale",
|
||
"rhythmEvents": "Rhythmusereignisse",
|
||
"healthStatus": "Gesundheitsstatus",
|
||
"breathing": "Atmung",
|
||
"labsChanges": "Laborveränderungen",
|
||
"ecg": "EKG"
|
||
}
|
||
}
|
||
},
|
||
"unavailableTitle": "In diesem geteilten Datensatz nicht verfügbar",
|
||
"unavailableDescription": "Dieser Einstellungsbereich ist beim Anzeigen des Datensatzes einer anderen Person bewusst nicht verfügbar.",
|
||
"integrationStatusDescription": "Verbindungsstatus für diesen verwalteten Datensatz.",
|
||
"integrationStatusDetail": "Verbindungssteuerungen sind nicht verfügbar."
|
||
},
|
||
"sections": {
|
||
"account": {
|
||
"title": "Konto",
|
||
"description": "Profil, Passwort, Passkeys und deine Onboarding-Tour.",
|
||
"subtitle": "Dein Profil, deine Identität und deine Anmeldedaten."
|
||
},
|
||
"integrations": {
|
||
"title": "Integrationen",
|
||
"description": "Verbundene Dienste, Zustellkanäle und die Quellen-Priorität an einem Ort.",
|
||
"subtitle": "Datenquellen und Geräte verbinden und verwalten.",
|
||
"connectionsHeading": "Verbindungen",
|
||
"channelsHeading": "Zustellkanäle",
|
||
"channelsDescription": "Wohin Erinnerungen und Hinweise zugestellt werden.",
|
||
"matrixLink": "Benachrichtigungen je Kanal"
|
||
},
|
||
"notifications": {
|
||
"title": "Benachrichtigungen",
|
||
"description": "Alle Erinnerungen an einem Ort — was wann erinnert wird und wohin es zugestellt wird.",
|
||
"subtitle": "Wähle, welche Erinnerungen du erhältst und wohin sie zugestellt werden.",
|
||
"remindersHeading": "Erinnerungen",
|
||
"matrixLink": "Benachrichtigungen je Kanal",
|
||
"channelsLink": "Zustellkanäle"
|
||
},
|
||
"layout": {
|
||
"title": "Darstellung",
|
||
"description": "Lege fest, wie Dashboard, Auswertungen und deine Tracking-Module dargestellt und angeordnet sind.",
|
||
"backToHub": "Zurück zu Darstellung",
|
||
"dashboard": {
|
||
"title": "Dashboard",
|
||
"description": "Kachel-Layout und Reihenfolge."
|
||
},
|
||
"insights": {
|
||
"title": "Insights",
|
||
"description": "Reihenfolge der Übersicht und der Navigations-Pills."
|
||
},
|
||
"subtitle": "Lege fest, wie Dashboard, Auswertungen und Tracking-Module dargestellt werden.",
|
||
"medications": {
|
||
"title": "Medikamente",
|
||
"description": "Listenansicht und manuelle Reihenfolge."
|
||
},
|
||
"labs": {
|
||
"title": "Labor",
|
||
"description": "Ansicht, Sortierung und manuelle Reihenfolge."
|
||
},
|
||
"illness": {
|
||
"title": "Krankheitstagebuch",
|
||
"description": "Listenansicht und Reihenfolge der Episoden."
|
||
},
|
||
"vorsorge": {
|
||
"title": "Vorsorge",
|
||
"description": "Listenansicht und Reihenfolge der Erinnerungen."
|
||
},
|
||
"mood": {
|
||
"title": "Stimmungs-Tags",
|
||
"description": "Gruppen, Tags und archivierte Tags der Stimmungs-Auswahl."
|
||
}
|
||
},
|
||
"dashboard": {
|
||
"subtitle": "Ordne die Kacheln auf deinem Dashboard an."
|
||
},
|
||
"thresholds": {
|
||
"title": "Zielwerte",
|
||
"description": "Pro Metrik dein eigener Zielbereich für gesunde Werte.",
|
||
"subtitle": "Lege deine persönlichen Zielbereiche je Messgröße fest."
|
||
},
|
||
"sources": {
|
||
"title": "Quellen-Priorität",
|
||
"description": "Lege fest, welche Quelle führt, wenn mehrere am selben Tag dieselbe Metrik liefern.",
|
||
"integrationsHint": "Neue Datenquellen verbindest oder trennst du auf der Integrationen-Seite.",
|
||
"integrationsHintLink": "Integrationen öffnen",
|
||
"cardTitle": "Quellen-Priorität pro Metrik",
|
||
"help": "Liefern mehrere Quellen denselben Wert am selben Tag, zählt die oberste Quelle als kanonisch.",
|
||
"resetDefaults": "Auf Standard zurücksetzen",
|
||
"resetDefaultsTitle": "Quellen-Reihenfolge zurücksetzen?",
|
||
"resetDefaultsBody": "Jede von dir angeordnete Rangfolge kehrt zur Standardreihenfolge zurück, für alle Messgrößen und Gerätetypen auf einmal. Das wird sofort gespeichert und lässt sich nicht wiederherstellen.",
|
||
"resetDefaultsConfirm": "Reihenfolge zurücksetzen",
|
||
"moveUp": "Nach oben",
|
||
"moveDown": "Nach unten",
|
||
"saveSuccess": "Quellen-Priorität gespeichert",
|
||
"saveError": "Quellen-Priorität konnte nicht gespeichert werden.",
|
||
"resetSuccess": "Quellen-Priorität zurückgesetzt",
|
||
"perMetricToggle": "Pro Metrik anpassen ({count})",
|
||
"perMetricHelp": "Metriken mit individueller Reihenfolge. Über diese Liste lässt sich eine einzelne Metrik mit einem Klick auf den Standard zurücksetzen, ohne die anderen anzufassen.",
|
||
"perMetricEmpty": "Keine individuellen Anpassungen — jede Metrik nutzt die globale Reihenfolge oben.",
|
||
"resetMetric": "Zurücksetzen",
|
||
"deviceTypeToggle": "Geräte-Typ-Reihenfolge ({count})",
|
||
"deviceTypeHelp": "Innerhalb einer Quelle entscheidet die Geräte-Typ-Reihenfolge. Wenn Apple Watch und iPhone beide Schritte aufzeichnen, zählt der höher gereihte Geräte-Typ.",
|
||
"deviceTypeDefault": "Standard-Geräte-Typ-Reihenfolge",
|
||
"resetDeviceTypes": "Geräte-Typen zurücksetzen",
|
||
"metrics": {
|
||
"steps": "Schritte",
|
||
"activeEnergy": "Aktive Energie",
|
||
"walkingRunningDistance": "Geh- + Laufdistanz",
|
||
"flightsClimbed": "Stockwerke",
|
||
"sleep": "Schlaf",
|
||
"weight": "Gewicht",
|
||
"bloodPressure": "Blutdruck",
|
||
"pulse": "Puls",
|
||
"bodyFat": "Körperfett",
|
||
"bodyTemperature": "Körpertemperatur",
|
||
"spo2": "Sauerstoffsättigung",
|
||
"hrv": "Herzfrequenz-Variabilität",
|
||
"restingHeartRate": "Ruhepuls",
|
||
"vo2Max": "VO2 max",
|
||
"skinTemperature": "Hauttemperatur",
|
||
"respiratoryRate": "Atemfrequenz",
|
||
"recovery": "Erholung",
|
||
"stress": "Stress",
|
||
"sleepDebt": "Schlafdefizit"
|
||
},
|
||
"sourceLabels": {
|
||
"WITHINGS": "Withings",
|
||
"APPLE_HEALTH": "Apple Health",
|
||
"MANUAL": "Manuelle Eingabe",
|
||
"IMPORT": "Import",
|
||
"WHOOP": "WHOOP",
|
||
"FITBIT": "Fitbit",
|
||
"COMPUTED": "Berechnet",
|
||
"NIGHTSCOUT": "Nightscout",
|
||
"POLAR": "Polar",
|
||
"OURA": "Oura",
|
||
"TELEGRAM": "Telegram",
|
||
"MCP": "MCP",
|
||
"GOOGLE_HEALTH": "Google Health",
|
||
"STRAVA": "Strava",
|
||
"EXTERNAL": "Externes Gerät"
|
||
},
|
||
"deviceLabels": {
|
||
"watch": "Uhr",
|
||
"band": "Fitnessband",
|
||
"ring": "Ring",
|
||
"phone": "Smartphone",
|
||
"scale": "Waage",
|
||
"other": "Sonstige",
|
||
"unknown": "Unbekannt"
|
||
},
|
||
"subtitle": "Lege fest, welche Quelle gewinnt, wenn zwei dieselbe Messgröße liefern.",
|
||
"nutrients": {
|
||
"title": "Synchronisierte Nährstoffzufuhr",
|
||
"description": "Tagessummen aus Apple Health der letzten {days} Tage.",
|
||
"empty": "Noch keine Nährstoffdaten synchronisiert.",
|
||
"latest": "{amount} {unit} am {date}",
|
||
"daysWithData": "{count} von {days} Tagen",
|
||
"moduleHint": "Die Synchronisierung steuert das Modul „Nährstoffzufuhr“.",
|
||
"moduleHintLink": "Module verwalten",
|
||
"detail": "Nur lesend — die Quell-App besitzt die Werte."
|
||
},
|
||
"helpDetail": "Die übrigen bleiben für die Audit-Spur gespeichert."
|
||
},
|
||
"ai": {
|
||
"title": "KI-Anbieter",
|
||
"description": "Provider, Modell und API-Key für die Auswertungen — dazu dein „Über mich“-Kontext.",
|
||
"subtitle": "Wähle deinen KI-Anbieter und hinterlege deinen eigenen Schlüssel."
|
||
},
|
||
"api": {
|
||
"title": "API & Tokens",
|
||
"description": "Bearer-Tokens für eigene Skripte und Apps — erfasse Messwerte oder Einnahmen von überall.",
|
||
"subtitle": "API-Endpunkte und Zugriffstoken verwalten."
|
||
},
|
||
"advanced": {
|
||
"title": "Erweitert",
|
||
"description": "Der Notausgang: alle Gesundheitsdaten unwiderruflich löschen oder das Konto auflösen.",
|
||
"subtitle": "Daten zurücksetzen und Konto löschen."
|
||
},
|
||
"export": {
|
||
"title": "Export & Import",
|
||
"description": "Lade deine Daten als CSV oder vollständiges JSON-Backup herunter — oder importiere aus Apple Health, JSON oder CSV. Den Arztbericht findest du jetzt unter Gesundheitsakte.",
|
||
"otherOptionsHeading": "Weitere Export-Optionen",
|
||
"downloadFailed": "Der Export konnte nicht heruntergeladen werden. Bitte versuche es erneut.",
|
||
"actions": {
|
||
"download": "Herunterladen"
|
||
},
|
||
"filters": {
|
||
"since": "Von",
|
||
"until": "Bis"
|
||
},
|
||
"cards": {
|
||
"measurementsCsv": {
|
||
"title": "Messwerte",
|
||
"description": "Gewicht, Blutdruck, Puls, Glukose und alle weiteren Messungen als CSV-Datei."
|
||
},
|
||
"medicationsCsv": {
|
||
"title": "Medikamente",
|
||
"description": "Deine Medikamentenliste mit Dosierung, Zeitplan und (optional) der vollständigen Einnahmehistorie.",
|
||
"includeIntake": "Einnahmehistorie einschließen"
|
||
},
|
||
"moodCsv": {
|
||
"title": "Stimmung",
|
||
"description": "Tägliche Stimmungs-Einträge mit Score, Tags und Zeitstempeln."
|
||
},
|
||
"fullBackup": {
|
||
"title": "Voll-Backup",
|
||
"description": "Deine gesamte Akte in einer JSON-Datei.",
|
||
"scopeNote": "Dokumentmetadaten und die KI-Zusammenfassung, falls vorhanden, sind als Klartext enthalten; die Originaldateien der Dokumente sowie GPS-Routen und Einzelmesswerte von Workouts sind es nicht — lade diese separat aus dem Dokumententresor bzw. dem Workout-Export herunter.",
|
||
"encryptToggle": "Mit einer Passphrase verschlüsseln",
|
||
"passphrasePlaceholder": "Passphrase (mind. 12 Zeichen)",
|
||
"passphraseHelp": "Leitet den Archivschlüssel per Argon2id ab und versiegelt ihn mit AES-256-GCM. Speichere die Datei mit der Endung .hlx.",
|
||
"noRecoveryWarning": "Es gibt keine Wiederherstellung — geht diese Passphrase verloren, lässt sich das Archiv nicht mehr öffnen. Bewahre sie sicher auf.",
|
||
"detail": "Gleiche Form wie die wöchentliche automatische Sicherung. Einige Satzarten sind noch nicht enthalten — das Manifest der Datei nennt, was drinsteht.",
|
||
"contents": "Deine Messwerte, Medikamente, Stimmung, Zyklus, Laborwerte, Krankheitsepisoden, Allergien, Familienanamnese, Nährstoffe, Workouts, dein Gesundheitsprofil und deine eigenen Messgrößen in einer JSON-Datei."
|
||
}
|
||
},
|
||
"import": {
|
||
"heading": "Import",
|
||
"description": "Importiere Daten aus einem Apple-Health-Export oder einer JSON-Datei. Bereits vorhandene Einträge werden übersprungen, ein erneuter Import ist also unbedenklich.",
|
||
"charCount": "{used} / {max} Zeichen",
|
||
"appleHealth": {
|
||
"title": "Apple Health",
|
||
"description": "Lade die export.zip aus der Health-App auf dem iPhone hoch (Profil → Alle Gesundheitsdaten exportieren).",
|
||
"dropLabel": "export.zip hier ablegen",
|
||
"dropHint": "oder zum Auswählen klicken",
|
||
"fileInputLabel": "Eine Apple-Health-export.zip-Datei auswählen",
|
||
"choose": "Datei auswählen",
|
||
"idempotencyNote": "Ein erneuter Upload desselben Archivs führt zusammen — es entstehen keine Duplikate. Große Archive werden im Hintergrund verarbeitet.",
|
||
"uploading": "Wird hochgeladen…",
|
||
"uploadFailed": "Upload fehlgeschlagen. Bitte erneut versuchen.",
|
||
"rateLimited": "Zu viele Uploads. Bitte kurz warten und erneut versuchen.",
|
||
"tooLarge": "Diese Datei ist zu groß (Grenze 1,5 GB).",
|
||
"failed": "Der Import ist fehlgeschlagen.",
|
||
"failureInterrupted": "Der Import wurde unterbrochen, bevor er fertig war, meist durch einen Server-Neustart oder Speichermangel. Die Daten sind sicher; das Archiv einfach erneut hochladen.",
|
||
"failureInsufficientMemory": "Das Speicherlimit des Servers ist für ein Archiv dieser Größe zu niedrig. Bitte die Betreiberin oder den Betreiber das Node.js-Heap-Limit erhöhen lassen (NODE_OPTIONS=--max-old-space-size) und das Archiv danach erneut hochladen.",
|
||
"rowsImported": "Bisher {count} Einträge importiert",
|
||
"doneSummary": "Fertig — {imported} von {read} Datensätzen importiert, {skipped} klinische Datensätze übersprungen.",
|
||
"doneNothing": "Aus diesem Archiv wurde nichts importiert: 0 von {read} Datensätzen sind angekommen.",
|
||
"writtenByHealthLogOne": "{count} Eintrag, den HealthLog selbst in Apple Health geschrieben hat, wurde ausgelassen, weil er schon in deinen Daten ist.",
|
||
"writtenByHealthLogOther": "{count} Einträge, die HealthLog selbst in Apple Health geschrieben hat, wurden ausgelassen, weil sie schon in deinen Daten sind.",
|
||
"writtenByHealthLogFew": "{count} Einträge, die HealthLog selbst in Apple Health geschrieben hat, wurden ausgelassen, weil sie schon in deinen Daten sind.",
|
||
"ecgResult": "EKGs: {discovered} gefunden, {imported} importiert, {updated} aktualisiert, {skipped} übersprungen, {failed} fehlgeschlagen. Fehler bei EKGs verwerfen keine unterstützten Datensätze, die aus export.xml importiert wurden.",
|
||
"estimateWarning": "Kumulative Summen für {count} Tag(e) wurden anhand der größten Exportquelle geschätzt. Native Apple-Health-Statistiken bleiben maßgeblich.",
|
||
"phase": {
|
||
"queued": "In Warteschlange…",
|
||
"unpacking": "Archiv wird entpackt…",
|
||
"parsing": "Export wird gelesen…",
|
||
"upserting": "Datensätze werden importiert…"
|
||
},
|
||
"skipUnsupported": "{count} Samples übersprungen — Datentypen, die HealthLog nicht importiert.",
|
||
"skipRefused": "{count} Samples konnten nicht geschrieben werden (unlesbar, außerhalb des Wertebereichs oder Speichern fehlgeschlagen).",
|
||
"skipBreakdown": "Aufschlüsselung anzeigen ({count} Typen)",
|
||
"skipBreakdownMore": "+ {count} weitere Typen",
|
||
"cycleSummary": "{samples} Zyklus-Samples zu {days} Tagesprotokollen zusammengeführt.",
|
||
"cycleModuleOff": "{count} Zyklus-Samples übersprungen — Zyklus-Tracking ist für dieses Konto deaktiviert.",
|
||
"cycleDaysFailed": "{count} Zyklustage konnten nicht geschrieben werden: {reason}"
|
||
},
|
||
"json": {
|
||
"title": "JSON-Datei",
|
||
"description": "JSON einfügen oder eine .json-Datei mit Messwerten und Stimmungseinträgen hochladen.",
|
||
"pasteLabel": "JSON einfügen",
|
||
"fileInputLabel": "Eine JSON-Datei zum Import auswählen",
|
||
"schemaHint": "Zwei Arrays: measurements und moodEntries.",
|
||
"docsLink": "Schema und Beispiel ansehen.",
|
||
"uploadFile": "Datei hochladen",
|
||
"downloadExample": "Beispiel herunterladen",
|
||
"import": "Importieren",
|
||
"invalidJson": "Das ist kein gültiges JSON. Bitte die Syntax prüfen und erneut versuchen.",
|
||
"invalidPayload": "Die Daten passen nicht zum Import-Schema.",
|
||
"rateLimited": "Zu viele Importe in dieser Stunde (Grenze 5). Bitte später erneut versuchen.",
|
||
"failed": "Der Import ist fehlgeschlagen. Bitte erneut versuchen.",
|
||
"readFailed": "Diese Datei konnte nicht gelesen werden.",
|
||
"resultSummary": "{measurements} Messwerte und {moods} Stimmungseinträge importiert, {skipped} übersprungen.",
|
||
"resultSuccess": "{measurements} Messwerte und {moods} Stimmungseinträge importiert",
|
||
"resultNothing": "Nichts importiert. Alle {skipped} Einträge wurden übersprungen.",
|
||
"resultEmpty": "Diese Datei enthielt weder Messwerte noch Stimmungseinträge."
|
||
},
|
||
"csv": {
|
||
"title": "CSV-Datei",
|
||
"description": "Messwerte aus einer Tabelle oder einem Messgerät-Export importieren.",
|
||
"pasteLabel": "CSV einfügen",
|
||
"fileInputLabel": "CSV-Datei zum Importieren auswählen",
|
||
"schemaHint": "Spalten: type, value, unit, measuredAt (mit Zeitzonen-Offset) sowie optional glucoseContext, notes, externalId.",
|
||
"docsLink": "Spaltenschema und Beispiel ansehen.",
|
||
"uploadFile": "Datei hochladen",
|
||
"downloadExample": "Beispiel herunterladen",
|
||
"preview": "Vorschau",
|
||
"import": "Importieren",
|
||
"empty": "Bitte vor dem Import mindestens eine CSV-Zeile hinzufügen.",
|
||
"rateLimited": "Zu viele Importe in dieser Stunde (Limit 5). Bitte später erneut versuchen.",
|
||
"tooLarge": "Diese Datei ist zu groß (Limit 16 MB).",
|
||
"invalidPayload": "Die CSV konnte nicht gelesen werden. Bitte die Kopfzeile prüfen und erneut versuchen.",
|
||
"failed": "Der Import ist fehlgeschlagen. Bitte erneut versuchen.",
|
||
"readFailed": "Diese Datei konnte nicht gelesen werden.",
|
||
"previewSummary": "Vorschau: {inserted} würden importiert, {skipped} übersprungen.",
|
||
"resultSummary": "{inserted} neu importiert und {updated} aktualisiert, {skipped} übersprungen.",
|
||
"rowError": "Zeile {line}: {reason}",
|
||
"resultSuccess": "{inserted} neu importiert und {updated} aktualisiert",
|
||
"resultNothing": "Nichts importiert. Alle {skipped} Zeilen wurden übersprungen.",
|
||
"resultEmpty": "Diese Datei hat eine Kopfzeile, aber keine Datenzeilen.",
|
||
"previewSuccess": "Vorschau: {inserted} würden importiert",
|
||
"previewNothing": "Vorschau: nichts würde importiert. Alle {skipped} Zeilen würden übersprungen.",
|
||
"skipGroupOne": "{count} Zeile übersprungen: {reason}",
|
||
"skipGroupFew": "{count} Zeilen übersprungen: {reason}",
|
||
"skipGroupOther": "{count} Zeilen übersprungen: {reason}",
|
||
"skipDetails": "Alle übersprungenen Zeilen anzeigen",
|
||
"reasonUnknownType": "unbekannter Messwerttyp",
|
||
"reasonInvalidValue": "Wert ist keine Zahl",
|
||
"reasonValueOutOfRange": "Wert außerhalb des plausiblen Bereichs",
|
||
"reasonUnknownUnit": "Einheit für diesen Typ nicht erkannt",
|
||
"reasonMissingTimezoneOffset": "Zeitstempel ohne Zeitzonen-Offset",
|
||
"reasonInvalidTimestamp": "Zeitstempel nicht lesbar",
|
||
"reasonImplausibleTimestamp": "Zeitstempel liegt in der Zukunft oder vor 1900",
|
||
"reasonUnexpectedGlucoseContext": "Glukose-Kontext in einer Zeile, die kein Blutzucker ist",
|
||
"reasonInvalidGlucoseContext": "Glukose-Kontext ist kein zulässiger Wert",
|
||
"reasonNotesTooLong": "Notiz ist zu lang",
|
||
"reasonExternalIdTooLong": "Externe ID ist zu lang",
|
||
"reasonUnstableExternalId": "Externe ID ist über Exporte hinweg nicht stabil",
|
||
"reasonDuplicate": "bereits importiert",
|
||
"reasonUnknown": "übersprungen",
|
||
"detail": "Eine Zeile pro Wert."
|
||
},
|
||
"doseHistory": {
|
||
"title": "Einnahmeverlauf",
|
||
"description": "Ein Einnahmeverlauf, wie ihn ein anderer Medikamenten-Tracker exportiert, direkt gelesen.",
|
||
"pasteLabel": "Export einfügen",
|
||
"fileInputLabel": "Datei mit Einnahmeverlauf wählen",
|
||
"uploadFile": "Datei wählen",
|
||
"preview": "Vorschau",
|
||
"import": "Importieren",
|
||
"empty": "Erst den Export einfügen oder eine Datei wählen.",
|
||
"readFailed": "Diese Datei konnte nicht gelesen werden.",
|
||
"rateLimited": "Höchstens 5 Importe pro Stunde. Später erneut versuchen.",
|
||
"tooLarge": "Diese Datei überschreitet das Limit von 16 MB.",
|
||
"inProgress": "Ein Import des Einnahmeverlaufs läuft bereits. Auf sein Ende warten.",
|
||
"workerUnavailable": "Der Hintergrunddienst ist nicht verfügbar, es wurde nichts importiert.",
|
||
"failed": "Der Import ist fehlgeschlagen. Es wurde nichts geschrieben.",
|
||
"columnsHeading": "Was mit jeder Spalte passiert",
|
||
"jsonOnly": "nur JSON",
|
||
"previewLine": "Zeilen gelesen: {rows} · würde importieren: {queued} · abgewiesen: {refused}",
|
||
"submittedLine": "Zeilen gelesen: {rows} · zum Import eingereiht: {queued}",
|
||
"unmatched": "Kein Medikament im Bestand passt zu: {names}",
|
||
"ambiguous": "Passt auf mehr als ein Medikament: {names}",
|
||
"mirrored": "Aus einer anderen App gespiegelt, daher keine Dosis ergänzbar: {names}",
|
||
"unknownColumns": "Spalten ohne Regel im Importer, ungelesen: {names}",
|
||
"codingsNotRead": "Zeilen mit einem nicht gelesenen Codings-Wert: {count}",
|
||
"archivedRowsPresent": "Als zu archivierten Medikamenten gehörend markierte Zeilen: {count}. Diese Markierung überspringt oder reaktiviert sie nicht; das Endergebnis zeigt, was hinzugefügt wurde.",
|
||
"verdict": {
|
||
"honoured": "verwendet",
|
||
"reported": "gemeldet",
|
||
"ignored": "nicht gelesen"
|
||
},
|
||
"column": {
|
||
"date": "Der Zeitpunkt der tatsächlichen Einnahme. Sein UTC-Offset wird genau so gelesen, wie er dasteht.",
|
||
"scheduledDate": "Der Slot, zu dem die Dosis gehörte, getrennt vom Zeitpunkt der Einnahme. Leer heißt: die Dosis gehörte zu keinem Slot.",
|
||
"medication": "Wird einem Medikament zugeordnet, das es im Bestand schon gibt. Aus der Datei wird nichts angelegt.",
|
||
"nickname": "Wird als zweiter Name versucht, wenn der erste zu nichts passt.",
|
||
"dosage": "Wird nur dann an der Dosis festgehalten, wenn sie von der geplanten Menge abweicht.",
|
||
"scheduledDosage": "Wird mit der tatsächlichen Menge verglichen, um eine Abweichung zu erkennen. Nie eigenständig gespeichert.",
|
||
"unit": "Wird mit der Menge geschrieben, geschrieben wie in der Datei. „count“ heißt Vielfache der konfigurierten Dosis.",
|
||
"status": "„Taken“ wird eine Dosis, „Skipped“ ein bewusstes Auslassen. Jeder andere Wert hält keine Entscheidung fest und die Zeile wird abgewiesen.",
|
||
"archived": "Wird gezählt und zurückgemeldet. Eine erfolgte Einnahme wird nicht dadurch ungültig, dass das Medikament später archiviert wurde.",
|
||
"codings": "Die CSV dokumentiert für diese Spalte keine Kodierung, also bleibt sie unberührt statt geraten. Gefüllte Zellen werden gezählt.",
|
||
"form": "Beschreibt das Medikament, nicht die Dosis.",
|
||
"start": "Das Datum des Behandlungsbeginns, nicht der Zeitpunkt dieser Dosis.",
|
||
"end": "Das Datum des Behandlungsendes, nicht der Zeitpunkt dieser Dosis."
|
||
},
|
||
"fatal": {
|
||
"emptyFile": "Diese Datei enthält keine Zeilen.",
|
||
"missingColumns": "Dieser Datei fehlt eine Spalte, die der Importer braucht: Date, Medication oder Status.",
|
||
"unreadableJson": "Diese Datei ist kein gültiges JSON.",
|
||
"jsonNotAnArray": "Dieses JSON enthält keine Liste von Dosen.",
|
||
"jsonNoIntakeTime": "Der JSON-Export hält fest, wann eine Dosis fällig war, nicht wann sie genommen wurde, und eine geplante Zeit wird nicht als Einnahmezeit geschrieben. Stattdessen die CSV exportieren, die beides trägt.",
|
||
"tooManyRows": "Diese Datei enthält mehr Zeilen, als ein Import aufnehmen kann. Teilen und in Teilen importieren."
|
||
},
|
||
"detail": "Eine Datei deckt alle Medikamente darin ab."
|
||
}
|
||
},
|
||
"subtitle": "Exportiere deine Daten oder importiere aus einer Sicherung."
|
||
},
|
||
"about": {
|
||
"title": "Über diese App",
|
||
"description": "Version, Lizenz, Links.",
|
||
"subtitle": "Version, Lizenz und Projektlinks."
|
||
},
|
||
"sharing": {
|
||
"title": "Freigabe",
|
||
"description": "Erstelle einen schreibgeschützten Link, um deine Gesundheitsakte mit einer Ärztin oder einem Arzt zu teilen.",
|
||
"subtitle": "Teile schreibgeschützten Zugriff auf deine Daten."
|
||
},
|
||
"insights": {
|
||
"subtitle": "Ordne die Übersichts-Bereiche und die Reihenfolge der Chips an."
|
||
},
|
||
"medications": {
|
||
"subtitle": "Verwalte Ansicht und Reihenfolge deiner Medikamentenliste."
|
||
},
|
||
"mood": {
|
||
"subtitle": "Organisiere deine Stimmungs-Tags, Gruppen und Auswahlreihenfolge."
|
||
},
|
||
"labs": {
|
||
"subtitle": "Ansicht, Sortierung und Biomarker verwalten."
|
||
},
|
||
"illness": {
|
||
"subtitle": "Ansicht und Reihenfolge der Episoden verwalten."
|
||
},
|
||
"vorsorge": {
|
||
"subtitle": "Ansicht, Reihenfolge und einzelne Erinnerungen verwalten."
|
||
},
|
||
"modules": {
|
||
"title": "Module",
|
||
"saved": "Gespeichert",
|
||
"error": "Konnte nicht gespeichert werden. Bitte erneut versuchen.",
|
||
"toggleable": {
|
||
"title": "Was du trackst",
|
||
"description": "Deaktivierte Module verschwinden aus Navigation, Kacheln und Auswertungen — deine Daten bleiben erhalten."
|
||
},
|
||
"manageIn": "In {section} verwalten",
|
||
"operatorDisabled": "Serverweit deaktiviert",
|
||
"subtitle": "Lege fest, welche Tracking-Bereiche HealthLog überall anzeigt."
|
||
},
|
||
"gesundheitsakte": {
|
||
"title": "Gesundheitsakte",
|
||
"description": "Vollständige Gesundheitsakte als PDF, FHIR R4 oder kombiniertes ZIP-Paket exportieren.",
|
||
"subtitle": "Exportiere eine vollständige, arzttaugliche Gesundheitsakte."
|
||
},
|
||
"coach": {
|
||
"title": "Coach",
|
||
"description": "Coach aktivieren, Ton und Umfang, gespeicherte Erinnerungen.",
|
||
"subtitle": "Stelle den Coach, seine proaktiven Hinweise und sein Gedächtnis ein."
|
||
},
|
||
"security": {
|
||
"title": "Sicherheit",
|
||
"subtitle": "Zwei-Faktor-Authentifizierung, Wiederherstellungscodes und Passkeys."
|
||
},
|
||
"privacy": {
|
||
"title": "Daten & Datenschutz",
|
||
"subtitle": "Deine Daten, Aufbewahrung, Verschlüsselung und Kontosicherheit an einem Ort.",
|
||
"description": "Export, Löschung, Aufbewahrung, Verschlüsselungsstatus, Sitzungen und Sicherheitsaktivität."
|
||
},
|
||
"mcp": {
|
||
"title": "MCP-Connector",
|
||
"subtitle": "Verbinde einen externen Assistenten mit deinen eigenen Gesundheitsdaten."
|
||
},
|
||
"anamnesis": {
|
||
"title": "Anamnese",
|
||
"subtitle": "Verwalte deine Allergien und deine Familienanamnese.",
|
||
"description": "Strukturierte Datensätze zu Allergien und Familienanamnese."
|
||
},
|
||
"environment": {
|
||
"title": "Standort & Wetter",
|
||
"subtitle": "Wetter, Tageslicht und Standort-Kontext.",
|
||
"disabledHint": "Aktiviere das Umwelt-Modul, um einen Heimatort festzulegen und tägliches Wetter und Tageslicht abzurufen.",
|
||
"searchPlaceholder": "Stadt suchen",
|
||
"search": "Suchen",
|
||
"searchError": "Ort konnte nicht gesucht werden.",
|
||
"use": "Verwenden",
|
||
"select": "Auswählen",
|
||
"saveError": "Änderung konnte nicht gespeichert werden.",
|
||
"homeSaved": "Heimatort gespeichert",
|
||
"travelAdded": "Ortszeitraum hinzugefügt.",
|
||
"travelRemoved": "Ortszeitraum entfernt.",
|
||
"backfillQueued": "Nacherfassung eingeplant.",
|
||
"backfillError": "Nacherfassung konnte nicht gestartet werden.",
|
||
"startDate": "Startdatum",
|
||
"endDate": "Enddatum",
|
||
"storedDays": "{count} Tage Wetter gespeichert.",
|
||
"home": {
|
||
"title": "Heimatort",
|
||
"description": "Ein grober Standort auf Stadtebene — niemals eine genaue Spur. Wetter und Tageslicht werden für diesen Ort an Tagen ohne Ortszeitraum abgerufen, ab dem Tag der Festlegung.",
|
||
"current": "Aktuell: {label}",
|
||
"none": "Noch kein Heimatort festgelegt.",
|
||
"since": "Wetter wird ab {date} erfasst. Frühere Tage bleiben leer, bis du einen Ortszeitraum hinzufügst."
|
||
},
|
||
"travel": {
|
||
"title": "Ortszeiträume",
|
||
"description": "Füge einen Ort und einen Zeitraum hinzu — eine Reise oder einen früheren Abschnitt deiner Verlaufsdaten. Der Zeitraum überschreibt für seine Tage deinen Wohnort, damit das Wetter zu deinem tatsächlichen Aufenthalt passt. So korrigierst du die Vergangenheit.",
|
||
"none": "Noch keine Ortszeiträume.",
|
||
"add": "{label} hinzufügen",
|
||
"remove": "Ortszeitraum entfernen",
|
||
"removeConfirmTitle": "Diese Reise entfernen?",
|
||
"removeConfirmBody": "Messwerte aus diesem Zeitraum bleiben erhalten; nur der Reise-Eintrag verschwindet."
|
||
},
|
||
"backfill": {
|
||
"title": "Vergangene Tage nacherfassen",
|
||
"description": "Rufe Wetter für einen vergangenen Zeitraum ab und speichere es, damit ältere Tage in die Korrelationen einfließen. Der Start steht standardmäßig auf dem Gültigkeitsdatum deines Wohnorts; um weiter zurückzureichen, füge zuerst einen Ortszeitraum für diesen Bereich hinzu.",
|
||
"run": "Nacherfassen"
|
||
},
|
||
"noResults": "Keine passenden Orte gefunden.",
|
||
"fetchFailedOne": "Die letzte Wetteraktualisierung im Hintergrund ist fehlgeschlagen ({when}).",
|
||
"fetchFailedFew": "Die letzten {count} Wetteraktualisierungen im Hintergrund sind fehlgeschlagen, zuletzt {when}.",
|
||
"fetchFailedOther": "Die letzten {count} Wetteraktualisierungen im Hintergrund sind fehlgeschlagen, zuletzt {when}."
|
||
},
|
||
"score": {
|
||
"title": "Gesundheitsscore",
|
||
"subtitle": "Lege fest, welche Bereiche in deinen Score einfließen.",
|
||
"card": {
|
||
"title": "Was in deinen Score einfließt",
|
||
"description": "Jeder Bereich, den du aufzeichnest, zählt mit, solange du hier nichts anderes sagst."
|
||
},
|
||
"threeAxes": "Aufzeichnen, Anzeigen und Mitzählen sind drei verschiedene Dinge. Diese Seite ändert nur das Letzte. Ein Bereich, den du hier abschaltest, wird weiter aufgezeichnet und weiter überall in HealthLog angezeigt, er bewegt nur die Zahl nicht mehr.",
|
||
"recommendation": "Drei Felder der Gesundheit sind die Empfehlung, keine Bedingung: Jede Auswahl mit mindestens einem Bereich lässt sich speichern. Ein schmalerer Score wird genauso berechnet und nennt auf der Karte, auf wie vielen Feldern er beruht.",
|
||
"axis": {
|
||
"countsFor": "{pillar} in den Score einrechnen"
|
||
},
|
||
"state": {
|
||
"counting": "Zählt in deinen Score",
|
||
"waiting": "Ausgewählt, wartet auf Daten",
|
||
"crisis": "Statt eines Werts wird ein Sicherheitshinweis gezeigt. An deiner Auswahl liegt es nicht.",
|
||
"readFailed": "Dieser Bereich konnte beim letzten Durchlauf nicht gelesen werden."
|
||
},
|
||
"presets": {
|
||
"label": "Ausgangspunkt",
|
||
"all": "Alle Bereiche",
|
||
"current": "Deine gespeicherte Auswahl"
|
||
},
|
||
"save": "Speichern",
|
||
"saved": "Gespeichert",
|
||
"error": "Konnte nicht gespeichert werden. Bitte versuche es erneut.",
|
||
"loadFailed": "Deine Auswahl konnte nicht geladen werden.",
|
||
"eligibilityFailed": "Es ließ sich nicht prüfen, für welche Bereiche gerade Daten vorliegen. Die Schalter unten funktionieren trotzdem.",
|
||
"omitted": "{count} Bereiche stehen nicht in der Liste, weil ihre Erfassung abgeschaltet ist. Schalte ein Modul wieder ein, dann kommt sein Bereich zurück.",
|
||
"omittedLink": "Module öffnen",
|
||
"refusal": {
|
||
"empty": "Ein Health Score braucht mindestens ein Feld der Gesundheit, das er bewerten kann. Behalte mindestens eines ausgewählt — der Score nennt selbst, worauf er beruht."
|
||
},
|
||
"notice": {
|
||
"upgrade": {
|
||
"title": "Was zählt, entscheidest jetzt du",
|
||
"body": "Welche Bereiche in deinen Health Score einflossen, richtete sich früher danach, welche Module du eingeschaltet hattest. Das ist jetzt eine eigene Entscheidung, und hier triffst du sie. Deine Zahl hat sich dadurch nicht bewegt: Sie zählt weiterhin genau das, was sie vorher gezählt hat."
|
||
},
|
||
"changed": {
|
||
"title": "Du hast geändert, was zählt",
|
||
"body": "Seit {date} wird dein Score aus einer anderen Zusammenstellung berechnet. Die Tage davor stammen aus der alten Zusammenstellung, beide werden deshalb nicht verglichen und die Wochenveränderung bleibt ausgesetzt, bis der Vergleichszeitraum die Änderung hinter sich hat. Der Verlauf jedes einzelnen Bereichs läuft ungebrochen durch.",
|
||
"bodyUndated": "Dein Score wird aus einer anderen Zusammenstellung berechnet als früher. Die Tage davor stammen aus der alten Zusammenstellung, beide werden deshalb nicht verglichen und die Wochenveränderung bleibt ausgesetzt, bis der Vergleichszeitraum die Änderung hinter sich hat. Der Verlauf jedes einzelnen Bereichs läuft ungebrochen durch."
|
||
},
|
||
"composition": {
|
||
"title": "Was zählt, hat sich von selbst geändert",
|
||
"left": "Zählt nicht mehr in deinen Score: {pillars}. Die Zahl hat sich deshalb bewegt und nicht, weil sich deine Gesundheit geändert hätte.",
|
||
"joined": "Zählt jetzt in deinen Score: {pillars}."
|
||
},
|
||
"dismiss": "Verstanden",
|
||
"dismissError": "Konnte nicht gespeichert werden. Bitte versuche es erneut."
|
||
}
|
||
},
|
||
"access": {
|
||
"title": "Geteilter Zugriff",
|
||
"subtitle": "Wer deine Gesundheitsakte öffnen kann und wessen Akte du öffnen kannst."
|
||
}
|
||
},
|
||
"profile": "Profil",
|
||
"language": "Sprache",
|
||
"languageDescription": "Wähle die Anzeigesprache der Anwendung.",
|
||
"timeFormat": {
|
||
"title": "Stundenformat",
|
||
"description": "Bestimmt, ob Uhrzeiten im 24-Stunden- oder 12-Stunden-Format (AM/PM) angezeigt werden.",
|
||
"auto": "Automatisch (Sprache)",
|
||
"h24": "24 Stunden",
|
||
"h12": "12 Stunden (AM/PM)",
|
||
"saved": "Stundenformat gespeichert",
|
||
"saveError": "Speichern des Stundenformats fehlgeschlagen."
|
||
},
|
||
"dateFormat": {
|
||
"title": "Datumsformat",
|
||
"description": "Bestimmt die Reihenfolge von Tag, Monat und Jahr bei der Anzeige von Daten.",
|
||
"auto": "Automatisch (Sprache)",
|
||
"dmy": "TT.MM.JJJJ",
|
||
"mdy": "MM/TT/JJJJ",
|
||
"ymd": "JJJJ-MM-TT",
|
||
"saved": "Datumsformat gespeichert",
|
||
"saveError": "Speichern des Datumsformats fehlgeschlagen."
|
||
},
|
||
"username": "Nutzername",
|
||
"height": "Körpergröße (cm)",
|
||
"heightFtIn": "Körpergröße (ft, in)",
|
||
"dateOfBirth": "Geburtsdatum",
|
||
"dateOfBirthHint": "Wird für die automatische Berechnung der Blutdruck-Zielwerte benötigt.",
|
||
"gender": "Geschlecht",
|
||
"genderNone": "Keine Angabe",
|
||
"genderMale": "Männlich",
|
||
"genderFemale": "Weiblich",
|
||
"genderHint": "Wird für geschlechtsspezifische Zielwerte verwendet.",
|
||
"timezone": "Zeitzone",
|
||
"timezoneHint": "Wird für Diagrammachsen, Erinnerungszeiten, Export-Zeitstempel und den Coach-Kontext verwendet. Gespeicherte Daten bleiben unverändert.",
|
||
"timezoneInvalid": "Keine gültige IANA-Zeitzone.",
|
||
"profileSaved": "Profil gespeichert",
|
||
"profilePartiallySaved": "Profil gespeichert, aber {field} konnte nicht aktualisiert werden.",
|
||
"profileNothingSaved": "Es wurde nichts gespeichert. Bitte {field} korrigieren und erneut versuchen.",
|
||
"profileRejection": {
|
||
"tooBig": "Der Wert liegt über dem Bereich, den dieses Feld annimmt.",
|
||
"tooSmall": "Der Wert liegt unter dem Bereich, den dieses Feld annimmt.",
|
||
"invalidValue": "Das ist keine der Antworten, die dieses Feld annimmt.",
|
||
"invalidFormat": "Das ist nicht in einer Form geschrieben, die dieses Feld lesen kann.",
|
||
"invalidType": "Der Wert kam nicht in einer Form an, die dieses Feld speichern kann.",
|
||
"rateLimited": "Zu oft geändert. Warte kurz und versuche es dann erneut.",
|
||
"other": "Dieser Wert wurde nicht angenommen. Bitte prüfen und erneut versuchen.",
|
||
"reproofRequired": "Gib dein aktuelles Passwort ein, um die E-Mail-Adresse zu ändern.",
|
||
"reproofFailed": "Das Passwort stimmt nicht, die E-Mail-Adresse wurde nicht geändert.",
|
||
"secondFactorRequired": "Bestätige mit deinem zweiten Faktor oder einem Passkey, um die E-Mail-Adresse zu ändern."
|
||
},
|
||
"avatar": {
|
||
"title": "Profilfoto",
|
||
"description": "Lade ein Foto hoch, das auf deinem eigenen Server gespeichert wird. Es erscheint überall in der App anstelle eines externen Avatar-Dienstes.",
|
||
"upload": "Foto hochladen",
|
||
"replace": "Foto ersetzen",
|
||
"remove": "Entfernen",
|
||
"removeTitle": "Profilbild entfernen?",
|
||
"removeBody": "Das Bild wird von deinem Server gelöscht, an seine Stelle treten deine Initialen. Zum erneuten Hochladen brauchst du die Originaldatei.",
|
||
"removeConfirm": "Bild entfernen",
|
||
"hint": "JPEG, PNG oder WebP. Bis zu 2 MB und 2048×2048 Pixel.",
|
||
"uploaded": "Profilfoto aktualisiert",
|
||
"removed": "Profilfoto entfernt",
|
||
"invalidType": "Nicht unterstützter Bildtyp. Verwende JPEG, PNG oder WebP.",
|
||
"tooLarge": "Das Bild überschreitet das Limit von 2 MB.",
|
||
"error": "Profilfoto konnte nicht aktualisiert werden. Bitte versuche es erneut."
|
||
},
|
||
"changePassword": "Passwort ändern",
|
||
"changePasswordDescription": "Ersetze dein aktuelles Passwort durch ein neues.",
|
||
"passwordReset": "Passwort-Reset",
|
||
"currentPassword": "Aktuelles Passwort",
|
||
"newPassword": "Neues Passwort",
|
||
"confirmNewPassword": "Neues Passwort bestätigen",
|
||
"passwordMismatch": "Neue Passwörter stimmen nicht überein",
|
||
"passwordUpdated": "Passwort erfolgreich geändert",
|
||
"passkeys": "Passkeys",
|
||
"passkeysDescription": "Passkeys ermöglichen sicheres Anmelden ohne Passwort.",
|
||
"passkeyReauth": {
|
||
"title": "Bestätige deine Identität",
|
||
"description": "Bestätige vor dem Hinzufügen eines neuen Passkeys eine vorhandene Anmeldemethode.",
|
||
"methodLabel": "Bestätigungsmethode",
|
||
"methods": {
|
||
"password": "Passwort",
|
||
"totp": "Authenticator-Code",
|
||
"passkey": "Passkey",
|
||
"webauthn": "Sicherheitsschlüssel"
|
||
},
|
||
"currentPassword": "Aktuelles Passwort",
|
||
"authenticatorCode": "Authenticator-Code",
|
||
"authenticatorPlaceholder": "Sechsstelliger Authenticator-Code",
|
||
"verifyAndAdd": "Bestätigen und hinzufügen",
|
||
"factorDescription": "Bestätige eine vorhandene Anmeldemethode, bevor du einen zweiten Faktor hinzufügst.",
|
||
"verifyAndContinue": "Bestätigen und fortfahren"
|
||
},
|
||
"passkeyName": "Name",
|
||
"noPasskeys": "Keine Passkeys registriert.",
|
||
"addPasskey": "Passkey hinzufügen",
|
||
"passkeyRegistrationFailed": "Fehler bei Passkey-Registrierung",
|
||
"passkeyRegistrationCancelled": "Passkey-Registrierung abgebrochen",
|
||
"passkeyNotSupported": "Dein Browser oder Gerät unterstützt Passkeys noch nicht. Bitte einen anderen Browser oder ein anderes Gerät verwenden.",
|
||
"passkeyAlreadyRegistered": "Dieses Gerät ist bereits als Passkey für dein Konto registriert.",
|
||
"passkeySecurityBlocked": "Dein Browser hat die Passkey-Anfrage aus Sicherheitsgründen blockiert. Bitte auf einer vertrauenswürdigen HTTPS-URL erneut versuchen.",
|
||
"passkeyTimeout": "Die Passkey-Aufforderung ist abgelaufen. Bitte versuche es erneut.",
|
||
"passkeyUnknownError": "Passkey-Registrierung fehlgeschlagen: {message}",
|
||
"deletePasskey": "Passkey löschen?",
|
||
"deletePasskeyDescription": "Der Passkey wird unwiderruflich gelöscht.",
|
||
"singleDevice": "Einzelgerät",
|
||
"multiDevice": "Multi-Gerät",
|
||
"backedUp": "gesichert",
|
||
"telegram": "Telegram",
|
||
"telegramDescription": "Medikamenten-Erinnerungen per Bot.",
|
||
"botToken": "Bot-Token",
|
||
"chatId": "Chat-ID",
|
||
"enableNotifications": "Benachrichtigungen aktivieren",
|
||
"telegramStep1": "1. Erstelle einen Bot über @BotFather in Telegram und kopiere den Token.",
|
||
"telegramStep2": "2. Sende /start an deinen Bot, um den Chat zu aktivieren.",
|
||
"telegramStep3": "3. Finde deine Chat-ID über @userinfobot oder die Bot-API.",
|
||
"ntfy": "ntfy",
|
||
"ntfyDescription": "Benachrichtigungen über ntfy (self-hosted oder ntfy.sh).",
|
||
"ntfyEnable": "ntfy aktivieren",
|
||
"ntfyServer": "Server-URL",
|
||
"ntfyTopic": "Topic",
|
||
"ntfyAuthToken": "Auth-Token (optional)",
|
||
"ntfyAuthTokenHint": "Nur nötig bei privaten Topics mit Zugangsschutz.",
|
||
"webhook": "Webhook",
|
||
"webhookDescription": "Benachrichtigungen per POST an eine beliebige URL — Gotify, Discord, Slack, Matrix oder Home Assistant.",
|
||
"webhookEnable": "Webhook aktivieren",
|
||
"webhookUrl": "Webhook-URL",
|
||
"webhookUrlHint": "Die vollständige URL für den POST. Eine Adresse im privaten Netz muss der Betreiber des Servers freigeben.",
|
||
"webhookHeaderName": "Header-Name (optional)",
|
||
"webhookHeaderValue": "Header-Wert (optional)",
|
||
"webhookFormat": "Nachrichtenformat",
|
||
"webhookFormatGeneric": "Generisches JSON",
|
||
"webhookFormatGotify": "Gotify",
|
||
"webhookFormatGotifyHint": "Nutze die URL, die auf /message endet, und trage das App-Token als Header X-Gotify-Key ein.",
|
||
"email": "E-Mail",
|
||
"emailDescription": "Warnungen und Erinnerungen per E-Mail empfangen.",
|
||
"emailEnable": "E-Mail aktivieren",
|
||
"emailRecipient": "Empfängeradresse",
|
||
"webPush": "Browser-Push",
|
||
"webPushDescription": "Erhalte Benachrichtigungen direkt im Browser, auch wenn HealthLog nicht geöffnet ist.",
|
||
"webPushNotSupported": "Dein Browser unterstützt keine Push-Benachrichtigungen.",
|
||
"webPushDenied": "Push-Benachrichtigungen wurden blockiert. Erlaube sie in den Browser-Einstellungen.",
|
||
"webPushNotConfigured": "Web Push ist serverseitig nicht konfiguriert.",
|
||
"webPushSubscribe": "Push aktivieren",
|
||
"webPushUnsubscribe": "Push deaktivieren",
|
||
"webPushSubscribed": "Push-Benachrichtigungen aktiviert!",
|
||
"webPushUnsubscribed": "Push-Benachrichtigungen deaktiviert.",
|
||
"webPushSubscribeFailed": "Aktivierung fehlgeschlagen",
|
||
"kiInsightsDescription": "Optional: Hinterlege deinen OpenAI-Key für tägliche, automatische Auswertungen in den Insights.",
|
||
"codexConnected": "ChatGPT erfolgreich verbunden! Insights sind jetzt aktiv.",
|
||
"codexDisconnected": "ChatGPT-Verbindung getrennt.",
|
||
"codexConnectionFailed": "ChatGPT-Verbindung fehlgeschlagen. Bitte versuche es erneut.",
|
||
"rawData": "Ausführlichen Verlauf senden",
|
||
"rawDataOnDescription": "Zusätzlich zu den Zusammenfassungen erhält der Anbieter Durchschnittswerte deiner Messungen: pro Tag für die letzten 90 Tage, pro Woche für das Jahr davor und pro Monat bis zu 5 Jahre zurück, jeweils mit Datum und Anzahl der Messungen. Einzelne Messwerte, dein Name und deine E-Mail werden nicht gesendet.",
|
||
"rawDataOffDescription": "Es werden nur Zusammenfassungen gesendet: der letzte Wert, Durchschnitte, Trends, Minimum und Maximum über feste Zeiträume. Keine Messreihen.",
|
||
"rawDataWarning": "Ausführlicher Verlauf ist an: Jede Auswertung sendet zusätzlich Tagesdurchschnitte der letzten 90 Tage, Wochendurchschnitte für das Jahr davor und Monatsdurchschnitte bis zu 5 Jahre zurück.",
|
||
"regenerateInsights": "Reports neu generieren",
|
||
"regenerateSuccess": "Reports wurden neu generiert",
|
||
"regenerateRateLimit": "Bitte warte — du hast das stündliche Limit für Analysen erreicht.",
|
||
"lastGeneratedAt": "Zuletzt generiert",
|
||
"ai": {
|
||
"chatgptConnectedBadge": "ChatGPT verbunden",
|
||
"adminAiActiveBadge": "Admin-Provider aktiv",
|
||
"connectionExpiredBadge": "Verbindung abgelaufen",
|
||
"connectedSince": "Verbunden seit {when}.",
|
||
"deviceCodeHeading": "Verbindung auf chatgpt.com abschließen",
|
||
"deviceCodeStep1": "Öffne diesen Link auf einem beliebigen Gerät:",
|
||
"deviceCodeStep2": "Gib diesen Einmalcode ein:",
|
||
"deviceCodeStep3": "Bestätige die Verbindung — diese Seite aktualisiert sich automatisch.",
|
||
"deviceCodeCopy": "kopieren",
|
||
"deviceCodeWaiting": "Warte auf Bestätigung…",
|
||
"deviceCodeCancel": "Abbrechen",
|
||
"oauthNotConfigured": "ChatGPT-OAuth ist auf dieser Instanz nicht konfiguriert — nutze stattdessen einen eigenen API-Key unten.",
|
||
"modelLabel": "Modell",
|
||
"modelOptionDefault": "— Standard —",
|
||
"modelOptionCustom": "Eigenes…",
|
||
"customModelLabel": "Eigener Modellname",
|
||
"anthropicKeyLabel": "Anthropic API-Key",
|
||
"baseUrlLabel": "Base URL",
|
||
"localKeyLabel": "API-Key (optional)",
|
||
"localDescription": "Hier funktioniert jeder OpenAI-kompatible Endpunkt — ein lokales Modell (Ollama, LM Studio) genauso wie ein Gateway wie LiteLLM, OpenRouter oder vLLM. Die Basis-URL endet auf /v1; der API-Schlüssel ist optional.",
|
||
"savedPreview": "(gespeichert {preview})",
|
||
"savedShort": "(gespeichert)",
|
||
"saveCta": "Speichern",
|
||
"saved": "Gespeichert",
|
||
"errorGeneric": "Fehler",
|
||
"providerChain": {
|
||
"types": {
|
||
"codex": "ChatGPT (Codex)",
|
||
"openai": "OpenAI (eigener Key)",
|
||
"anthropic": "Anthropic (Claude)",
|
||
"local": "Lokales Modell",
|
||
"openai-compatible": "OpenAI-kompatibles Gateway",
|
||
"admin-openai": "Admin-OpenAI"
|
||
},
|
||
"title": "Fallback-Kette",
|
||
"description": "Wenn der primäre Provider ausfällt, läuft HealthLog die Kette der Reihe nach durch. Reihenfolge per Pfeile ändern, Schalter deaktiviert einen Eintrag ohne ihn zu entfernen.",
|
||
"moveUp": "Nach oben",
|
||
"moveDown": "Nach unten",
|
||
"removeFromChain": "Aus Kette entfernen",
|
||
"addProvider": "Provider hinzufügen",
|
||
"addNoneAvailable": "Alle Provider sind bereits in der Kette",
|
||
"saveOrder": "Reihenfolge speichern",
|
||
"saved": "Kette gespeichert",
|
||
"saveFailed": "Speichern der Kette fehlgeschlagen",
|
||
"resetDefaults": "Zurücksetzen",
|
||
"resetConfirmTitle": "Kette auf Standard zurücksetzen?",
|
||
"resetConfirmBody": "Die Kette wird auf Codex → OpenAI → Anthropic → Lokal → Admin-OpenAI zurückgesetzt. Gespeicherte Zugangsdaten bleiben erhalten."
|
||
},
|
||
"providerCardTitle": "KI-Anbieter",
|
||
"activeProviderHeading": "Aktiver Provider",
|
||
"activeProviderBody": "Wähle den Provider, der zuerst genutzt wird. Das Formular darunter konfiguriert ausschließlich den ausgewählten Provider; die Fallback-Kette unten regelt, was passiert, wenn er ausfällt.",
|
||
"activeProviderLabel": "Primärer Provider",
|
||
"providerConfigTitle": "Provider-Konfiguration",
|
||
"providerSelect": {
|
||
"codex": "ChatGPT-Account (Codex)",
|
||
"openai": "OpenAI (eigener API-Key)",
|
||
"anthropic": "Anthropic (Claude)",
|
||
"local": "Lokales Modell (OpenAI-kompatibel)",
|
||
"openai-compatible": "OpenAI-kompatibles Gateway",
|
||
"admin-openai": "Admin-OpenAI"
|
||
},
|
||
"compat": {
|
||
"description": "Ein vollwertiger Anbieter für jeden Endpunkt, der die OpenAI-API /v1/chat/completions spricht: LiteLLM, OpenRouter, vLLM oder ein anderes Gateway. Die Basis-URL endet auf /v1, der API-Key ist optional, und das Modell ist das, was dein Gateway weiterleitet. Dein OpenAI-Key erreicht diesen Endpunkt nie — dieser Anbieter hat einen eigenen.",
|
||
"keyLabel": "API-Key (optional)",
|
||
"modelHint": "Der Modellname, den dein Gateway erwartet. Bleibt das Feld leer, wird das für deine anderen Anbieter gespeicherte Modell verwendet; ist auch das leer, wird dieser Anbieter übersprungen."
|
||
},
|
||
"openai": {
|
||
"modelSelect": "Modell",
|
||
"modelOptionCustom": "Eigener Slug…",
|
||
"modelCustomLabel": "Eigener Modell-Slug",
|
||
"modelCustomPlaceholder": "gpt-5",
|
||
"baseUrlLabel": "Base URL (erweitert)",
|
||
"baseUrlPlaceholder": "https://api.openai.com/v1",
|
||
"baseUrlHelp": "Nur überschreiben, wenn ein OpenAI-kompatibles Gateway genutzt wird. Für OpenAI selbst leer lassen.",
|
||
"showAdvanced": "Erweitert anzeigen",
|
||
"hideAdvanced": "Erweitert ausblenden",
|
||
"apiKey": "API-Key",
|
||
"apiKeyPlaceholder": "sk-…"
|
||
},
|
||
"codex": {
|
||
"statusConnected": "Verbunden",
|
||
"statusDisconnected": "Nicht verbunden",
|
||
"statusExpired": "Verbindung abgelaufen",
|
||
"connectButton": "Mit ChatGPT verbinden",
|
||
"disconnectButton": "Trennen",
|
||
"disconnectTitle": "ChatGPT trennen?",
|
||
"disconnectBody": "Die gespeicherte Anmeldung wird zusammen mit deinem zwischengespeicherten Insight-Text verworfen. Für eine neue Verbindung musst du dich erneut über den Gerätecode-Ablauf anmelden.",
|
||
"disconnectConfirm": "Trennen",
|
||
"modelSlugLabel": "Modell-Slug",
|
||
"modelSlugBody": "Codex nutzt das Modell, auf das dein ChatGPT-Abo routet. Die Umgebungsvariable CODEX_MODEL kann das instanzweit überschreiben.",
|
||
"lastInsight": "Letzte Analyse: {when}"
|
||
},
|
||
"adminOpenai": {
|
||
"title": "Admin-OpenAI",
|
||
"body": "Vom Betreiber bereitgestellter OpenAI-Key, genutzt als letzter Fallback ohne persönlichen Provider. Hier ist nichts einzustellen.",
|
||
"notConfigured": "Der Betreiber hat keinen geteilten OpenAI-Key auf dieser Instanz konfiguriert."
|
||
},
|
||
"testProvider": "Aktiven Provider testen",
|
||
"testSuccess": "OK — {provider} ({model})",
|
||
"testFailedShort": "Test fehlgeschlagen: {message}",
|
||
"testUnexpectedResponse": "Verbindung zum KI-Anbieter fehlgeschlagen — unerwartete Antwort vom Server.",
|
||
"testReasonCredentials": "Der Anbieter hat die Anmeldedaten abgelehnt — melde dich in den KI-Einstellungen erneut an.",
|
||
"testReasonRateLimited": "Der Anbieter hat die Anfrage gedrosselt — versuche es in Kürze erneut.",
|
||
"testReasonServerError": "Der KI-Anbieter hat einen Serverfehler zurückgegeben.",
|
||
"testReasonBadRequest": "Der Anbieter hat die Anfrage abgelehnt (HTTP {status}) — der Endpunkt hat geantwortet; das Problem liegt also am Anfrageformat oder Modellnamen, nicht an der Verbindung.",
|
||
"testReasonUnreachable": "Der KI-Anbieter war nicht erreichbar.",
|
||
"coachMemory": {
|
||
"title": "Woran sich der Coach erinnert",
|
||
"description": "Dauerhafte Angaben, die du dem Coach mitgeteilt hast.",
|
||
"empty": "Der Coach hat noch keine Angaben gespeichert. Im Gespräch merkt er sich dauerhafte Details, die du teilst — deine Ziele, Beschwerden, Vorlieben — und du kannst sie hier jederzeit löschen.",
|
||
"learnedPrefix": "gelernt {when}",
|
||
"categoryPreference": "Vorlieben",
|
||
"categoryCondition": "Beschwerden",
|
||
"categoryGoal": "Ziele",
|
||
"categoryConstraint": "Einschränkungen",
|
||
"categoryContext": "Kontext",
|
||
"forget": "Vergessen",
|
||
"forgetAria": "Diese Angabe vergessen",
|
||
"forgetTitle": "Diese Notiz vergessen?",
|
||
"forgetBody": "Der Coach nutzt sie ab der nächsten Nachricht nicht mehr. Eine vergessene Notiz lässt sich nicht wiederherstellen.",
|
||
"forgetConfirm": "Vergessen",
|
||
"forgetAll": "Alles vergessen",
|
||
"forgetAllConfirmTitle": "Alles vergessen, woran sich der Coach erinnert?",
|
||
"forgetAllConfirmBody": "Dadurch werden alle gespeicherten Angaben entfernt. Der Coach beginnt beim nächsten Gespräch von vorn. Das lässt sich nicht rückgängig machen.",
|
||
"forgetAllConfirmAction": "Alles vergessen",
|
||
"cancel": "Abbrechen",
|
||
"summaryNote": "Der Coach behält außerdem eine kurze, fortlaufende Zusammenfassung jedes Gesprächs. Dafür gibt es keine Einzelsteuerung — wenn du ein Gespräch löschst, wird auch dessen Zusammenfassung entfernt.",
|
||
"loadError": "Konnte nicht laden, woran sich der Coach erinnert.",
|
||
"forgotToast": "Angabe vergessen.",
|
||
"forgotError": "Konnte diese Angabe nicht vergessen. Bitte erneut versuchen.",
|
||
"clearedToast": "{count} gespeicherte Angaben vergessen.",
|
||
"clearError": "Konnte die gespeicherten Angaben nicht löschen. Bitte erneut versuchen.",
|
||
"detail": "Er nutzt sie, damit seine Antworten relevant bleiben. Entferne alles, was er besser vergessen sollte."
|
||
},
|
||
"coachReminders": {
|
||
"title": "Deine Erinnerungen",
|
||
"description": "Dinge, um die du den Coach gebeten hast, später darauf zurückzukommen.",
|
||
"empty": "Noch keine Erinnerungen. Bitte den Coach, dich an etwas zu erinnern — dann erscheint es hier.",
|
||
"loadError": "Konnte deine Erinnerungen nicht laden.",
|
||
"dueHeading": "Jetzt fällig",
|
||
"allHeading": "Gespeichert",
|
||
"duePrefix": "fällig {when}",
|
||
"confirm": "Behalten",
|
||
"markDone": "Erledigt",
|
||
"dismiss": "Verwerfen",
|
||
"deleteAria": "Diese Erinnerung löschen",
|
||
"note": "Erinnerungen werden verschlüsselt gespeichert. Lösche eine jederzeit — sie wird aus dem entfernt, was der Coach sehen kann.",
|
||
"status": {
|
||
"proposed": "Vorgeschlagen",
|
||
"active": "Gespeichert",
|
||
"due": "Fällig",
|
||
"surfaced": "Angezeigt",
|
||
"done": "Erledigt",
|
||
"dismissed": "Verworfen"
|
||
},
|
||
"deleteConfirmTitle": "Diese Erinnerung löschen?",
|
||
"deleteConfirmBody": "Sie wird nicht mehr ausgelöst. An bereits erfassten Daten ändert sich nichts.",
|
||
"deleteConfirmAction": "Löschen",
|
||
"detail": "Fällige erscheinen hier und beim Coach.",
|
||
"readOnlyNote": "Der Coach ist gerade nicht verfügbar, deine Erinnerungen kannst du aber weiter lesen und löschen."
|
||
},
|
||
"aboutMe": {
|
||
"title": "Über mich",
|
||
"description": "Persönlicher Kontext, den Coach und Tagesbriefing zusätzlich zu deinen Daten lesen.",
|
||
"placeholder": "Z. B. Schichtarbeit, vegetarische Ernährung, Knieverletzung, Training für einen Halbmarathon…",
|
||
"charCount": "{used} / {max} Zeichen",
|
||
"clear": "Leeren",
|
||
"clearTitle": "Über-mich-Notiz leeren?",
|
||
"clearBody": "Entfernt nur den Freitext. Allergien und Unverträglichkeiten bleiben unverändert.",
|
||
"clearConfirm": "Notiz leeren",
|
||
"save": "Speichern",
|
||
"savedToast": "Über-mich-Notiz gespeichert",
|
||
"clearedToast": "Über-mich-Notiz gelöscht.",
|
||
"saveError": "Speichern fehlgeschlagen. Bitte versuche es erneut.",
|
||
"loadError": "Die Notiz konnte nicht geladen werden.",
|
||
"hint": "Wird als zusätzlicher Kontext an Coach und Tagesbriefing übergeben. Leer lassen, um nichts mitzusenden.",
|
||
"profileHint": "Alter und Geschlecht stammen aus deinem Profil und werden automatisch mitgegeben.",
|
||
"freeTextLabel": "Über mich (Freitext)",
|
||
"conditionsPlaceholder": "Z. B. Bluthochdruck, Typ-2-Diabetes…",
|
||
"allergiesPlaceholder": "Z. B. Laktoseintoleranz, Penicillin-Allergie…",
|
||
"focusPlaceholder": "Z. B. behalte meinen Blutdruck im Blick, motiviere mich zu mehr Bewegung…",
|
||
"questionsTitle": "Der Coach hat Rückfragen",
|
||
"questionsOpenCoach": "Im Coach beantworten"
|
||
},
|
||
"responseTimeoutHeading": "Antwort-Timeout",
|
||
"responseTimeoutBody": "Wie lange auf die Antwort der KI gewartet wird, bevor abgebrochen wird. Erhöhe den Wert für ein lokales oder selbst gehostetes Modell, das beim ersten Aufruf Zeit zum Laden braucht. Ohne Wert darf eine Antwort {seconds} s dauern, das Tagesbriefing bis zu {briefingSeconds} s.",
|
||
"responseTimeoutLabel": "Antwort-Timeout (Sekunden)",
|
||
"responseTimeoutPlaceholder": "Standard ({seconds} s)",
|
||
"responseTimeoutInvalid": "Gib eine Zahl zwischen 10 und 600 Sekunden ein.",
|
||
"autoRead": {
|
||
"title": "Dokumente automatisch mit KI lesen",
|
||
"subLabel": "Dokumente werden von deinem konfigurierten KI-Anbieter gelesen und indiziert, ohne dass du jedes Dokument einzeln bestätigen musst.",
|
||
"honesty": "Wenn aktiviert, wird jedes hochgeladene Dokument an deinen konfigurierten KI-Anbieter gesendet, um gelesen, beschrieben und für die Suche indiziert zu werden — ohne Bestätigung pro Dokument. Das Einschalten wirkt außerdem rückwirkend: Bereits hochgeladene Dokumente ohne Zusammenfassung werden ebenfalls gesendet, bis zu 200 pro Einschaltvorgang. Das geschieht auf dem Server, und der Inhalt des Dokuments verlässt dabei diese Maschine in Richtung dieses Anbieters. Wenn dein konfigurierter Anbieter eine Abo-Verbindung ist (ein angemeldetes KI-Konto statt eines API-Schlüssels), gelten dessen eigene Datenschutzeinstellungen — Abo-Anbieter dürfen den Inhalt zur Verbesserung ihrer Modelle verwenden, und kein Auftragsverarbeitungsvertrag deckt das ab. Dokumente, die von einem selbst gehosteten lokalen Modell gelesen werden, verlassen deinen Server nie. Standardmäßig aus; aktiviere es nur, wenn du diesen Kompromiss für deine Dokumente akzeptierst.",
|
||
"confirm": "Verstanden — aktivieren",
|
||
"cancel": "Abbrechen"
|
||
},
|
||
"centralCodex": {
|
||
"title": "Gemeinsamen KI-Zugang des Servers nutzen",
|
||
"subLabel": "Leite KI-Anfragen über die vom Betreiber für diesen Server eingerichtete Verbindung — zusätzlich zu deinen eigenen Anbietern als Rückfallebene.",
|
||
"honesty": "Der gemeinsame Zugang ist ein einzelnes angemeldetes KI-Konto, das der Betreiber für alle auf diesem Server verbunden hat — nicht dein eigener Schlüssel. Anfragen darüber werden vom Anbieter standardmäßig zum Training genutzt und von keiner Auftragsverarbeitungsvereinbarung gedeckt, die Stunden- und Wochenlimits des Kontos teilst du dir mit allen anderen, die zugestimmt haben, und deine eigenen Anbieter werden weiterhin zuerst versucht. Aktiviere es nur, wenn du diesen Kompromiss akzeptierst.",
|
||
"confirm": "Verstanden — Verbindung nutzen",
|
||
"cancel": "Abbrechen"
|
||
},
|
||
"consent": {
|
||
"title": "KI-Einwilligung",
|
||
"activeSince": "Erteilt am {date}. Deine Gesundheitsdaten dürfen für die KI-Funktionen an den eingestellten Anbieter gesendet werden.",
|
||
"withdrawn": "Widerrufen. Sofern keine andere Einwilligung sie abdeckt, nutzen Coach und Insights den KI-Zugang dieses Servers nicht mehr, und kein Online-Modell liest deine Dokumente. Mit deinem eigenen Schlüssel oder einem lokalen Modell laufen Coach und Insights weiter.",
|
||
"withdraw": "Einwilligung widerrufen",
|
||
"confirmBody": "Sofern keine andere Einwilligung sie noch abdeckt, endet sofort: der Coach und die Insights, wo sie den KI-Zugang dieses Servers nutzen, und das Lesen von Dokumenten mit einem Online-Modell. Mit deinem eigenen Schlüssel oder einem lokalen Modell laufen Coach und Insights weiter. Sofern keine andere Einwilligung die Insights noch abdeckt, werden die Notizen gelöscht, die ein Modell für dich geschrieben hat: Statusnotizen, das tägliche Briefing, von einem Modell geschriebene Zeitraum-Zusammenfassungen, Ankunftszeilen und Trainingsnotizen. Deine Coach-Gespräche, was sich der Coach gemerkt hat, deine Pläne und deine Dokument-Zusammenfassungen bleiben, und du kannst sie selbst lesen oder löschen.",
|
||
"confirmWithdraw": "Widerrufen",
|
||
"regrantHint": "Mit einer neuen Einwilligung dürfen die KI-Funktionen deine Gesundheitsdaten wieder an den eingestellten Anbieter senden.",
|
||
"grant": "Einwilligung erteilen",
|
||
"grantError": "Die Einwilligung konnte nicht gespeichert werden. Bitte versuche es erneut.",
|
||
"error": "Der Widerruf konnte nicht gespeichert werden. Bitte versuche es erneut.",
|
||
"documentReading": {
|
||
"title": "Einwilligung zum Lesen von Dokumenten",
|
||
"activeSince": "Erteilt am {date}. Dokumente, gescannte Laborbefunde und Medikamentenbeschreibungen dürfen zum Lesen an deinen KI-Dienst gesendet werden.",
|
||
"confirmBody": "Dokumente, gescannte Laborbefunde und Medikamentenbeschreibungen werden nicht mehr zum Lesen gesendet. Nichts, was du bereits hast, wird gelöscht."
|
||
}
|
||
},
|
||
"operatorOff": {
|
||
"allTitle": "KI ist auf diesem Server abgeschaltet",
|
||
"allBody": "Wer diesen Server betreibt, hat KI abgeschaltet. HealthLog funktioniert weiter mit all deinen Daten; die Funktionen, die KI brauchen, werden einfach nicht angezeigt.",
|
||
"someTitle": "Einige KI-Funktionen sind auf diesem Server abgeschaltet",
|
||
"someBody": "Wer diesen Server betreibt, hat abgeschaltet: {switches}. Alles andere, auch all deine Daten, funktioniert wie gewohnt.",
|
||
"testRefused": "KI ist auf diesem Server abgeschaltet, daher gibt es nichts zu testen.",
|
||
"autoRead": "Das Lesen von Dokumenten mit KI ist auf diesem Server abgeschaltet."
|
||
},
|
||
"coachConversations": {
|
||
"title": "Coach-Gespräche",
|
||
"description": "Öffne ein Gespräch, um es zu lesen, oder lösche es.",
|
||
"more": "Mehr anzeigen",
|
||
"openAll": "Alle Gespräche öffnen"
|
||
},
|
||
"coachPlans": {
|
||
"title": "Coach-Pläne",
|
||
"description": "Die Pläne, die du mit dem Coach vereinbart hast, zum Lesen oder Entfernen.",
|
||
"open": "Pläne öffnen"
|
||
},
|
||
"reasoning": {
|
||
"label": "Nachdenken",
|
||
"hint": "Reasoning-Modelle wie Gemma oder Qwen denken nach, bevor sie antworten. Schaltest du es aus, bleibt das ganze Antwortbudget für die Antwort selbst.",
|
||
"options": {
|
||
"default": "Standard",
|
||
"none": "Aus",
|
||
"low": "Niedrig",
|
||
"medium": "Mittel",
|
||
"high": "Hoch"
|
||
}
|
||
}
|
||
},
|
||
"dashboard": {
|
||
"units": {
|
||
"title": "Einheiten",
|
||
"description": "Lege fest, wie Distanzen und Geschwindigkeiten in Diagrammen und Kacheln angezeigt werden.",
|
||
"metric": "Metrisch",
|
||
"imperial": "Imperial",
|
||
"saved": "Einheiten-Einstellung gespeichert",
|
||
"saveError": "Einheiten-Einstellung konnte nicht gespeichert werden."
|
||
},
|
||
"glucoseUnit": {
|
||
"title": "Blutzucker",
|
||
"description": "In welcher Einheit Blutzuckerwerte angezeigt werden. Gespeichert werden sie so oder so gleich.",
|
||
"saved": "Blutzucker-Einheit gespeichert",
|
||
"saveError": "Die Blutzucker-Einheit konnte nicht gespeichert werden."
|
||
}
|
||
},
|
||
"withings": "Withings",
|
||
"withingsDescription": "Verbinde deine Withings-Waage und dein Blutdruckmessgerät, um Gewicht, Körperzusammensetzung und Blutdruck automatisch zu synchronisieren.",
|
||
"withingsCredentials": "API-Zugangsdaten",
|
||
"withingsClientId": "Client-ID",
|
||
"withingsClientSecret": "Client-Secret",
|
||
"withingsCredentialsSaved": "Zugangsdaten gespeichert",
|
||
"withingsCredentialsSavedPlaceholder": "Gespeichert — neue eingeben zum Ersetzen",
|
||
"withingsCredentialsSavedPlaceholderSecret": "Gespeichert — neues eingeben zum Ersetzen",
|
||
"withingsSaveCredentials": "Speichern",
|
||
"configured": "Konfiguriert",
|
||
"withingsSync": "Jetzt synchronisieren",
|
||
"withingsFullSync": "Alle Daten synchronisieren",
|
||
"withingsFullSyncTitle": "Vollsynchronisierung?",
|
||
"withingsFullSyncDescription": "Alle verfügbaren Withings-Daten werden vollständig synchronisiert. Das kann je nach Historie etwas dauern.",
|
||
"withingsSyncResult": "{count} Messwerte synchronisiert",
|
||
"syncOutcome": {
|
||
"empty": "Nichts Neues zu importieren. Alles ist aktuell.",
|
||
"failed": "Es wurde nichts gespeichert. Der nächste Lauf versucht es erneut.",
|
||
"partial": "{count} Messwerte synchronisiert. Ein Teil der Daten konnte nicht gespeichert werden; der nächste Lauf versucht es erneut."
|
||
},
|
||
"withingsFullSyncResult": "{count} Messwerte vollständig synchronisiert",
|
||
"withingsSyncFailed": "Sync fehlgeschlagen",
|
||
"withingsOauthConnected": "Withings verbunden — der erste Sync startet im Hintergrund.",
|
||
"withingsOauthFailed": "Withings-Verbindung fehlgeschlagen",
|
||
"withingsOauthError": {
|
||
"csrf1": "Die Sicherheitsprüfung ist fehlgeschlagen, weil das Browser-Cookie fehlte. Starte die Verbindung bitte erneut im selben Browser.",
|
||
"replay": "Dieser Bestätigungslink wurde bereits verwendet. Starte die Verbindung bitte erneut.",
|
||
"state": "Die Antwort von Withings passte zu keiner offenen Verbindungsanfrage. Starte die Verbindung bitte erneut.",
|
||
"expired": "Die Verbindungsanfrage ist abgelaufen. Starte die Verbindung erneut und schließe die Freigabe innerhalb weniger Minuten ab.",
|
||
"cross_user": "Die Antwort gehört zu einer Anfrage eines anderen Kontos. Starte die Verbindung bitte aus deinem eigenen Konto neu.",
|
||
"nocode": "Withings hat keinen Freigabe-Code übermittelt. Versuche es erneut und erlaube den Zugriff im Withings-Dialog.",
|
||
"nocreds": "Es sind keine Withings-API-Zugangsdaten hinterlegt. Speichere zuerst Client-ID und Client-Secret, dann verbinde erneut.",
|
||
"token": "Der Token-Austausch mit Withings ist fehlgeschlagen. Prüfe Client-ID und Client-Secret und versuche es erneut.",
|
||
"generic": "Unbekannter Fehler bei der Verbindung. Starte die Verbindung bitte erneut."
|
||
},
|
||
"withingsSynchronize": "Synchronisieren",
|
||
"withingsDisconnect": "Trennen",
|
||
"withingsDisconnectTitle": "Withings-Verbindung trennen?",
|
||
"withingsDisconnectDescription": "Die Verbindung zu Withings wird getrennt. Bereits synchronisierte Daten bleiben erhalten.",
|
||
"withingsConnect": "Mit Withings verbinden",
|
||
"withingsNoCredentials": "Bitte zuerst die API-Zugangsdaten oben eingeben, um Withings zu verbinden.",
|
||
"whoop": "WHOOP",
|
||
"whoopDescription": "Verbinde dein WHOOP-Band, um Erholung, Schlaf, Belastung und Workouts direkt in HealthLog zu synchronisieren.",
|
||
"whoopCredentials": "API-Zugangsdaten",
|
||
"whoopClientId": "Client ID",
|
||
"whoopClientSecret": "Client Secret",
|
||
"whoopCredentialsSaved": "Zugangsdaten gespeichert",
|
||
"whoopCredentialsSavedPlaceholder": "Gespeichert — neu eingeben zum Ersetzen",
|
||
"whoopCredentialsSavedPlaceholderSecret": "Gespeichert — neu eingeben zum Ersetzen",
|
||
"whoopSaveCredentials": "Speichern",
|
||
"whoopSync": "Jetzt synchronisieren",
|
||
"whoopFullSync": "Alle Daten synchronisieren",
|
||
"whoopFullSyncTitle": "Vollständige Synchronisierung?",
|
||
"whoopFullSyncDescription": "Der gesamte verfügbare WHOOP-Verlauf wird vollständig synchronisiert. Je nach Verlauf kann das einige Zeit dauern.",
|
||
"whoopSyncResult": "{count} Messwerte synchronisiert",
|
||
"whoopSyncFailed": "Synchronisierung fehlgeschlagen",
|
||
"whoopSynchronize": "Synchronisieren",
|
||
"whoopDisconnect": "Trennen",
|
||
"whoopDisconnectTitle": "WHOOP trennen?",
|
||
"whoopDisconnectDescription": "Die Verbindung zu WHOOP wird getrennt. Bereits synchronisierte Daten bleiben erhalten.",
|
||
"whoopConnect": "Mit WHOOP verbinden",
|
||
"whoopNoCredentials": "Bitte gib oben deine API-Zugangsdaten ein, um WHOOP zu verbinden.",
|
||
"whoopBackfillInProgress": "Dein WHOOP-Verlauf wird im Hintergrund importiert…",
|
||
"whoopOauthConnected": "WHOOP verbunden — die erste Synchronisierung startet im Hintergrund.",
|
||
"whoopOauthFailed": "WHOOP-Verbindung fehlgeschlagen",
|
||
"whoopOauthError": {
|
||
"csrf1": "Die Sicherheitsprüfung ist fehlgeschlagen, weil das Browser-Cookie fehlte. Bitte starte die Verbindung im selben Browser erneut.",
|
||
"state": "Die Antwort von WHOOP passte zu keiner offenen Verbindungsanfrage. Bitte starte die Verbindung erneut.",
|
||
"expired": "Die Verbindungsanfrage ist abgelaufen, bevor sie abgeschlossen wurde. Bitte starte die Verbindung erneut.",
|
||
"cross_user": "Die Antwort gehört zu einer Anfrage eines anderen Kontos. Bitte starte die Verbindung aus deinem eigenen Konto erneut.",
|
||
"nocode": "WHOOP hat keinen Autorisierungscode zurückgegeben. Versuche es erneut und erlaube den Zugriff im WHOOP-Dialog.",
|
||
"nocreds": "WHOOP ist nicht konfiguriert. Hinterlege oben deine WHOOP-OAuth-Zugangsdaten und versuche es erneut.",
|
||
"token": "Der Token-Austausch mit WHOOP ist fehlgeschlagen. Bitte starte die Verbindung erneut.",
|
||
"generic": "Unbekannter Fehler bei der Verbindung. Bitte starte die Verbindung erneut."
|
||
},
|
||
"fitbit": "Fitbit",
|
||
"fitbitTag": "Fitbit & Pixel",
|
||
"fitbitDescription": "Verbinde Fitbit, um deine Fitbit- und Pixel-Watch-Werte zu synchronisieren — Gewicht, Herzfrequenz und mehr.",
|
||
"fitbitExperimentalBadge": "Experimentell",
|
||
"fitbitCredentials": "API-Zugangsdaten",
|
||
"fitbitClientId": "Client-ID",
|
||
"fitbitClientSecret": "Client-Secret",
|
||
"fitbitCredentialsSaved": "Zugangsdaten gespeichert",
|
||
"fitbitCredentialsSavedPlaceholder": "Gespeichert — neu eingeben zum Ersetzen",
|
||
"fitbitCredentialsSavedPlaceholderSecret": "Gespeichert — neu eingeben zum Ersetzen",
|
||
"fitbitSaveCredentials": "Speichern",
|
||
"fitbitSync": "Jetzt synchronisieren",
|
||
"fitbitFullSync": "Alle Daten synchronisieren",
|
||
"fitbitFullSyncTitle": "Vollständige Synchronisierung?",
|
||
"fitbitFullSyncDescription": "Der gesamte verfügbare Fitbit-Verlauf wird vollständig synchronisiert. Das kann je nach Umfang deines Verlaufs einige Zeit dauern.",
|
||
"fitbitSyncResult": "{count} Messungen synchronisiert",
|
||
"fitbitSyncFailed": "Synchronisierung fehlgeschlagen",
|
||
"fitbitSynchronize": "Synchronisieren",
|
||
"fitbitDisconnect": "Trennen",
|
||
"fitbitDisconnectTitle": "Fitbit trennen?",
|
||
"fitbitDisconnectDescription": "Die Verbindung zu Fitbit wird getrennt. Zuvor synchronisierte Daten bleiben erhalten.",
|
||
"fitbitConnect": "Mit Fitbit verbinden",
|
||
"fitbitNoCredentials": "Bitte gib oben deine API-Zugangsdaten ein, um Fitbit zu verbinden.",
|
||
"fitbitBackfillInProgress": "Dein Fitbit-Verlauf wird im Hintergrund importiert…",
|
||
"fitbitOauthConnected": "Fitbit verbunden — die erste Synchronisierung startet im Hintergrund.",
|
||
"fitbitOauthFailed": "Fitbit-Verbindung fehlgeschlagen",
|
||
"googleHealth": "Google Health",
|
||
"googleHealthTag": "Fitbit & Pixel",
|
||
"googleHealthBetaBadge": "Beta",
|
||
"googleHealthDescription": "Verbinde Fitbit, Pixel Watch und Fitbit Air über dein Google-Konto — Gewicht, Herzfrequenz, Schlaf und Aktivität. Das ersetzt die klassische Fitbit-Verbindung, die Google im September 2026 abschaltet.",
|
||
"googleHealthCredentials": "API-Zugangsdaten",
|
||
"googleHealthClientId": "Client-ID",
|
||
"googleHealthClientSecret": "Client-Secret",
|
||
"googleHealthCredentialsSaved": "Zugangsdaten gespeichert",
|
||
"googleHealthCredentialsSavedPlaceholder": "Gespeichert — zum Ersetzen neu eingeben",
|
||
"googleHealthCredentialsSavedPlaceholderSecret": "Gespeichert — zum Ersetzen neu eingeben",
|
||
"googleHealthSaveCredentials": "Speichern",
|
||
"googleHealthSync": "Jetzt synchronisieren",
|
||
"googleHealthSyncCheckStatus": "Status aktualisieren",
|
||
"googleHealthFullSync": "Alle Daten synchronisieren",
|
||
"googleHealthFullSyncTitle": "Vollständige Synchronisierung?",
|
||
"googleHealthFullSyncDescription": "Der gesamte verfügbare Google-Health-Verlauf wird vollständig synchronisiert. Je nach Verlauf kann das eine Weile dauern.",
|
||
"googleHealthSyncResult": "{count} Messwerte synchronisiert",
|
||
"googleHealthSyncFailed": "Synchronisierung fehlgeschlagen",
|
||
"googleHealthSyncInProgress": "Synchronisierung läuft: {count} Messwerte gespeichert, {completed} von {total} Bereichen verarbeitet.",
|
||
"googleHealthResourceFailuresTitle": "Diese Bereiche benötigen noch Aufmerksamkeit:",
|
||
"googleHealthResource": {
|
||
"workout": "Workouts",
|
||
"sleep": "Schlaf",
|
||
"boundedMetrics": "Gesundheitsmesswerte",
|
||
"activity": "Aktivität",
|
||
"heartRate": "Herzfrequenz",
|
||
"other": "Weitere Daten"
|
||
},
|
||
"googleHealthReason": {
|
||
"collectionFailed": "Google konnte diese Daten nicht bereitstellen. Versuche die Synchronisierung später erneut.",
|
||
"tokenFailed": "Die Verbindung ist abgelaufen. Verbinde Google Health erneut.",
|
||
"upsertFailed": "Die Daten konnten nicht gespeichert werden. Versuche die Synchronisierung erneut.",
|
||
"rollupFailed": "Die Daten wurden erfasst, aber die Auswertung ist noch nicht aktualisiert. Versuche es später erneut.",
|
||
"pageLimit": "Der verfügbare Verlauf wurde nur teilweise verarbeitet. Eine weitere Synchronisierung setzt ihn fort.",
|
||
"generic": "Dieser Bereich wurde nicht vollständig synchronisiert. Versuche es erneut."
|
||
},
|
||
"googleHealthSynchronize": "Synchronisieren",
|
||
"googleHealthDisconnect": "Trennen",
|
||
"googleHealthDisconnectTitle": "Google Health trennen?",
|
||
"googleHealthDisconnectDescription": "Die Verbindung zu Google Health wird getrennt. Bereits synchronisierte Daten bleiben erhalten.",
|
||
"googleHealthConnect": "Mit Google verbinden",
|
||
"googleHealthNoCredentials": "Bitte gib oben deine API-Zugangsdaten ein, um Google Health zu verbinden.",
|
||
"googleHealthBackfillInProgress": "Dein Google-Health-Verlauf wird im Hintergrund importiert…",
|
||
"googleHealthReauthBanner": "Google hat die Verbindung ablaufen lassen — das passiert regelmäßig, solange deine OAuth-App im Testmodus bleibt. Verbinde neu, um die Synchronisierung fortzusetzen.",
|
||
"googleHealthReconnect": "Neu verbinden",
|
||
"googleHealthOauthConnected": "Google Health verbunden — die erste Synchronisierung startet im Hintergrund.",
|
||
"googleHealthOauthFailed": "Verbindung zu Google Health fehlgeschlagen",
|
||
"googleHealthOauthError": {
|
||
"csrf1": "Die Sicherheitsprüfung ist fehlgeschlagen, weil das Browser-Cookie fehlte. Bitte starte die Verbindung im selben Browser erneut.",
|
||
"state": "Die Antwort von Google passte zu keiner offenen Verbindungsanfrage. Bitte starte die Verbindung erneut.",
|
||
"expired": "Die Verbindungsanfrage ist abgelaufen, bevor sie abgeschlossen wurde. Bitte starte die Verbindung erneut.",
|
||
"cross_user": "Die Antwort gehört zu einer Anfrage eines anderen Kontos. Bitte starte die Verbindung von deinem eigenen Konto aus neu.",
|
||
"nocode": "Google hat keinen Autorisierungscode zurückgegeben. Versuche es erneut und erlaube den Zugriff im Google-Dialog.",
|
||
"nocreds": "Google Health ist nicht konfiguriert. Hinterlege oben deine Google-OAuth-Zugangsdaten und versuche es erneut.",
|
||
"token": "Der Token-Austausch mit Google ist fehlgeschlagen. Bitte starte die Verbindung erneut.",
|
||
"generic": "Unbekannter Fehler bei der Verbindung. Bitte starte die Verbindung erneut."
|
||
},
|
||
"fitbitOauthError": {
|
||
"csrf1": "Die Sicherheitsprüfung ist fehlgeschlagen, weil das Browser-Cookie fehlte. Bitte starte die Verbindung im selben Browser erneut.",
|
||
"state": "Die Antwort von Fitbit passte zu keiner offenen Verbindungsanfrage. Bitte starte die Verbindung erneut.",
|
||
"expired": "Die Verbindungsanfrage ist abgelaufen, bevor sie abgeschlossen wurde. Bitte starte die Verbindung erneut.",
|
||
"cross_user": "Die Antwort gehört zu einer Anfrage eines anderen Kontos. Bitte starte die Verbindung aus deinem eigenen Konto erneut.",
|
||
"nocode": "Fitbit hat keinen Autorisierungscode zurückgegeben. Versuche es erneut und erlaube den Zugriff im Fitbit-Dialog.",
|
||
"nocreds": "Fitbit ist nicht konfiguriert. Hinterlege oben deine Fitbit-OAuth-Zugangsdaten und versuche es erneut.",
|
||
"token": "Der Token-Austausch mit Fitbit ist fehlgeschlagen. Bitte starte die Verbindung erneut.",
|
||
"generic": "Unbekannter Fehler bei der Verbindung. Bitte starte die Verbindung erneut."
|
||
},
|
||
"integrations": {
|
||
"withings": {
|
||
"reconnect": {
|
||
"banner": {
|
||
"title": "Aktivitäts-Sync verfügbar",
|
||
"body": "Deine Withings-Verbindung wurde autorisiert, bevor der Aktivitäts-Sync hinzugefügt wurde. Verbinde einmal neu, um Schritte, aktive Energie, Geh- und Laufdistanz sowie Stockwerke aus deinen Withings-Geräten zu übernehmen.",
|
||
"action": "Withings neu verbinden"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"integrationPill": {
|
||
"connected": "Verbunden",
|
||
"errorReconnect": "Fehler — neu verbinden",
|
||
"warningServerError": "Sync fehlgeschlagen",
|
||
"failureCount": "{count}/{threshold}",
|
||
"parkedReconnect": "Pausiert — neu verbinden",
|
||
"notConnected": "Nicht verbunden",
|
||
"justNow": "gerade eben",
|
||
"minutesAgo": "vor {count} min",
|
||
"hoursAgo": "vor {count} Std.",
|
||
"daysAgo": "vor {count} d",
|
||
"resumeCta": "Wieder verbinden",
|
||
"resumeSuccess": "Integration wieder aktiv",
|
||
"resumeError": "Wieder verbinden fehlgeschlagen",
|
||
"stale": "Verbunden, keine neuen Daten",
|
||
"stalled": "Sync gestoppt",
|
||
"pendingSetup": "Warte auf erste Daten"
|
||
},
|
||
"integrationFreshness": {
|
||
"title": "Empfangene Daten",
|
||
"summary": "{count} Datentypen · neuestes {relative}",
|
||
"quiet": "{count} still",
|
||
"workouts": "Workouts"
|
||
},
|
||
"integrationFallback": {
|
||
"description": "Für dieses Konto eingerichtet, hat aber keine eigene Einstellungskarte.",
|
||
"lastAttempt": "Letzter Versuch {relative}",
|
||
"noAttempt": "Kein Sync-Versuch aufgezeichnet"
|
||
},
|
||
"withingsViewData": "Messwerte ansehen",
|
||
"whoopViewData": "Erholung ansehen",
|
||
"fitbitViewData": "Schlaf ansehen",
|
||
"googleHealthViewData": "Schritte ansehen",
|
||
"apiTokens": "API-Tokens",
|
||
"apiTokensDescription": "API-Tokens für die externe Medikamenten-Einnahme prüfen und widerrufen.",
|
||
"measurementsToken": {
|
||
"title": "Messwert-Tokens",
|
||
"description": "Erzeuge ein Token, damit eine Waage, eine Uhr oder deine Hausautomatisierung Werte eintragen kann.",
|
||
"detail": "Das Token wird nur einmal angezeigt.",
|
||
"scopeNote": "Es kann ausschließlich neue Werte in deine eigene Akte eintragen — deine Daten nicht lesen, nichts ändern oder löschen und kein weiteres Token erstellen. Werte werden als von einem externen Gerät gekennzeichnet, damit du sie später erkennst, und lassen sich jederzeit korrigieren.",
|
||
"createFailed": "Das Token konnte nicht erstellt werden. Bitte versuche es erneut."
|
||
},
|
||
"workoutsToken": {
|
||
"title": "Training-Tokens",
|
||
"description": "Erzeuge ein Token, damit eine Uhren-Brücke oder ein Sync-Skript deine Trainings eintragen kann.",
|
||
"detail": "Das Token wird nur einmal angezeigt.",
|
||
"scopeNote": "Es kann ausschließlich neue Trainings in deine eigene Akte eintragen. Es kann deine Daten nicht lesen, nichts ändern oder löschen und kein weiteres Token erstellen. Trainings, die darüber kommen, werden als von einem externen Gerät gekennzeichnet. Hat dein Telefon dieselbe Einheit aufgezeichnet, siehst du die Aufzeichnung des Telefons.",
|
||
"createFailed": "Das Token konnte nicht erstellt werden. Bitte versuche es erneut."
|
||
},
|
||
"documentsToken": {
|
||
"title": "Dokument-Tokens",
|
||
"description": "Erzeuge ein Token, damit Paperless-ngx, Papra oder das Import-Skript Dokumente in deine Ablage legen können.",
|
||
"detail": "Das Token wird nur einmal angezeigt.",
|
||
"scopeNote": "Es kann ausschließlich neue Dokumente in deine eigene Ablage legen. Es kann nichts auflisten, öffnen, herunterladen, ändern oder löschen und kein weiteres Token erstellen. Zurück bekommt es nur, ob eine Datei gespeichert wurde, nicht wie du sie abgelegt hast.",
|
||
"createFailed": "Das Token konnte nicht erstellt werden. Bitte versuche es erneut."
|
||
},
|
||
"tokenMintMovedDescription": "Tokens werden dort ausgestellt, wo sie gelten: oben für Messwerte und Dokumente, oder im API-Endpoint eines Medikaments für genau dieses Medikament.",
|
||
"tokenNamePlaceholder": "Token-Name (z.B. iPhone Shortcut)",
|
||
"tokenCreated": "Token erstellt — kopiere ihn jetzt! Er wird nicht erneut angezeigt.",
|
||
"tokenCopy": "Token kopieren",
|
||
"tokenCopied": "Token in die Zwischenablage kopiert",
|
||
"tokenCopyFailed": "Token konnte nicht kopiert werden",
|
||
"tokenRevokeFailed": "Token konnte nicht widerrufen werden. Bitte erneut versuchen.",
|
||
"tokenRevoke": "Token widerrufen?",
|
||
"tokenRevokeAction": "Token widerrufen",
|
||
"tokenRevokeDescription": "Der Token wird unwiderruflich deaktiviert. Anwendungen, die ihn nutzen, verlieren den Zugriff.",
|
||
"tokenRevoked": "Widerrufen",
|
||
"tokenExpired": "Abgelaufen",
|
||
"tokenActive": "Aktiv",
|
||
"activeTokensTitle": "Aktive Tokens",
|
||
"revokedTokensTitle": "Widerrufene Tokens ({count})",
|
||
"tokenTableName": "Name",
|
||
"tokenTablePermissions": "Berechtigungen",
|
||
"tokenTableStatus": "Status",
|
||
"tokenTableCreated": "Erstellt",
|
||
"tokenTableLastUsed": "Zuletzt genutzt",
|
||
"tokenTableActions": "Aktionen",
|
||
"noActiveTokens": "Keine aktiven Tokens vorhanden.",
|
||
"tokenNeverUsed": "Nie",
|
||
"apiEndpointsTitle": "API-Endpoints",
|
||
"apiEndpointsDescription": "Übersicht der derzeit verfügbaren externen Endpoint(s) für Token-basierte Eingaben.",
|
||
"apiEndpointMethod": "Methode",
|
||
"apiEndpointPath": "Pfad",
|
||
"apiEndpointAuth": "Authentifizierung",
|
||
"apiEndpointExample": "Body-Beispiel",
|
||
"dangerZone": "Alle Daten löschen",
|
||
"dangerZoneDescription": "Löscht deine gesamte Gesundheitsakte und jede Integrationsverbindung.",
|
||
"dangerZoneConfirm": "Alle Daten löschen?",
|
||
"dangerZoneConfirmDescription": "Dieser Vorgang löscht unwiderruflich alles in deiner Akte: Messwerte, Medikamente, Stimmungseinträge, Laborwerte, Zykluseinträge, Dokumente, KI-Gespräche und jede Integrationsverbindung, dazu alles daraus Abgeleitete und alles, was du früher gelöscht hast. Freigabe-Links, die du an eine Praxis gegeben hast, funktionieren sofort nicht mehr. Dein Konto bleibt bestehen, ebenso deine Anmeldedaten und Anzeigeeinstellungen wie Sprache, Zeitzone und Einheiten. Das lässt sich nicht rückgängig machen.",
|
||
"dangerZoneSuccess": "Deine Gesundheitsakte wurde gelöscht. Dein Konto und deine Anmeldung bleiben unverändert.",
|
||
"dangerZoneDeleteFailed": "Löschen fehlgeschlagen",
|
||
"finalDelete": "Endgültig löschen",
|
||
"deleteAccountCardTitle": "Konto vollständig löschen",
|
||
"deleteAccountCardDescription": "Löscht dein Konto inklusive Passkeys, Audit-Log und Sessions.",
|
||
"deleteAccountCta": "Konto löschen",
|
||
"deleteAccountConfirmTitle": "Konto endgültig löschen?",
|
||
"deleteAccountConfirmDescription": "Dein Konto, alle Gesundheitsdaten, Passkeys, Sessions und Audit-Einträge werden unwiderruflich gelöscht. Du wirst danach automatisch abgemeldet.",
|
||
"deleteAccountSuccess": "Konto wurde gelöscht — du wirst abgemeldet.",
|
||
"deleteAccountFailed": "Konto konnte nicht gelöscht werden",
|
||
"deleteAccountFinal": "Endgültig löschen",
|
||
"saved": "Gespeichert",
|
||
"savingError": "Fehler beim Speichern",
|
||
"about": {
|
||
"version": "App-Version",
|
||
"gitSha": "Build",
|
||
"builtAtLabel": "Erstellt",
|
||
"license": "Lizenz",
|
||
"repository": "Quellcode",
|
||
"changelog": "Changelog",
|
||
"docs": "Dokumentation",
|
||
"credits": "Credits & Datenquellen",
|
||
"linksHeading": "Quellen & Dokumentation",
|
||
"newerAvailable": "Neue Version: {tag}"
|
||
},
|
||
"testConnection": {
|
||
"test": "Verbindung testen",
|
||
"saveFirst": "Speichere zuerst deine Änderungen. Der Test nutzt die gespeicherten Einstellungen.",
|
||
"testing": "Teste…",
|
||
"ok": "Verbunden (Latenz {latency} ms)",
|
||
"errors": {
|
||
"credentials_rejected": "Zugangsdaten abgelehnt — Token prüfen",
|
||
"rate_limited": "Vom Upstream rate-limitiert",
|
||
"timeout": "Request hat das Zeitlimit überschritten",
|
||
"upstream_error": "Upstream hat einen Fehler gemeldet",
|
||
"upstream_rejected": "Die Gegenstelle hat die Nachricht abgelehnt",
|
||
"connection_failed": "Verbindung fehlgeschlagen",
|
||
"not_configured": "Nicht konfiguriert",
|
||
"url_not_public": "URL ist kein öffentlicher Endpunkt",
|
||
"private_origin_not_approved": "Ziel im privaten Netz. Der Betreiber muss diesen Origin in NOTIFICATION_PRIVATE_ORIGINS eintragen",
|
||
"private_origin_not_grantable": "Diese Adresse ist Link-local, eine Metadaten- oder eine unspezifizierte Adresse; keine Betreiber-Freigabe kann sie öffnen. Bitte die Adresse verwenden, auf der das Relay lauscht",
|
||
"url_invalid": "URL ist ungültig",
|
||
"redirected": "Endpunkt leitet weiter — URL prüfen",
|
||
"endpoint_not_found": "Endpunkt unter der URL nicht gefunden",
|
||
"credentials_unreadable": "Zugangsdaten nicht entschlüsselbar",
|
||
"upstream_invalid_json": "Upstream-Antwort ist kein JSON",
|
||
"vapid_not_configured": "Web Push nicht konfiguriert (VAPID-Keys fehlen)",
|
||
"rate_limited_self": "Zu viele Test-Anfragen",
|
||
"generic": "Test fehlgeschlagen"
|
||
}
|
||
},
|
||
"notificationStatus": {
|
||
"title": "Zustellstatus",
|
||
"description": "Status je Kanal — „Automatisch deaktiviert“ heißt: nach dauerhaften Fehlern gestoppt.",
|
||
"emptyDescription": "Richte unter Einstellungen › Integrationen › Zustellkanäle einen Kanal ein.",
|
||
"stateActive": "Aktiv",
|
||
"stateAutoDisabled": "Automatisch deaktiviert",
|
||
"stateSendingPaused": "Versand pausiert",
|
||
"stateManuallyDisabled": "Deaktiviert",
|
||
"lastSuccess": "Letzter erfolgreicher Versand",
|
||
"lastFailure": "Letzter Fehler",
|
||
"consecutiveFailures": "Fehler in Folge",
|
||
"disabledReason": "Grund",
|
||
"nextRetry": "Nächster Versuch",
|
||
"reEnable": "Wieder aktivieren",
|
||
"sendTest": "Test senden",
|
||
"emptyTitle": "Noch keine Kanäle konfiguriert"
|
||
},
|
||
"identity": {
|
||
"description": "Optionale Angaben für die Gesundheitsakte (PDF-Deckblatt + FHIR-Export). Alle Felder sind freiwillig.",
|
||
"fullName": "Vollständiger Name",
|
||
"fullNamePlaceholder": "z. B. Erika Mustermann",
|
||
"insurer": "Krankenkasse",
|
||
"insurerPlaceholder": "z. B. AOK Bayern",
|
||
"insuranceNumber": "Versichertennummer (KVNR)",
|
||
"insuranceNumberHint": "10 Zeichen: ein Buchstabe + neun Ziffern (z. B. A123456780)."
|
||
},
|
||
"healthRecord": {
|
||
"title": "Gesundheitsakte exportieren",
|
||
"description": "Eine vollständige Akte für die ärztliche Vorlage — als PDF, als FHIR oder beides.",
|
||
"format": "Format",
|
||
"format_pdf": "PDF",
|
||
"format_fhir": "Strukturiert (FHIR)",
|
||
"format_package": "Paket: PDF + FHIR",
|
||
"range": "Zeitraum",
|
||
"range90": "Letzte 90 Tage",
|
||
"range180": "Letzte 6 Monate",
|
||
"range365": "Letzte 12 Monate",
|
||
"practiceName": "Praxis (optional)",
|
||
"practiceNamePlaceholder": "z. B. Dr. med. Mustermann",
|
||
"includedData": "Enthaltene Daten",
|
||
"includeCharts": "Trend-Diagramme einbetten (nur PDF)",
|
||
"fhirNote": "Die strukturierte Ausgabe folgt dem FHIR-R4-Standard (ePA-kompatibel).",
|
||
"generate": "Erstellen",
|
||
"documentsLink": "Dokumente zum Zeitraum",
|
||
"range30": "Letzte 30 Tage",
|
||
"rangeCustom": "Eigener Zeitraum",
|
||
"rangeCustomStart": "Von",
|
||
"rangeCustomEnd": "Bis",
|
||
"errorGeneric": "Der Export konnte nicht erstellt werden. Bitte erneut versuchen.",
|
||
"errorRateLimit": "Das Exportlimit für diese Stunde ist erreicht.",
|
||
"errorModuleDisabled": "Der Gesundheitsakten-Export ist für dieses Konto ausgeschaltet.",
|
||
"visitOffer": "Am {when} steht ein Termin an: {what}.",
|
||
"visitOfferApply": "Bericht bis dahin"
|
||
},
|
||
"globalExcludedInjectionSitesLabel": "Global ausgeschlossene Injektionsstellen",
|
||
"globalExcludedInjectionSitesHint": "Nie angeboten und beim Erfassen abgelehnt, auch wenn eine Medikation sie bevorzugt.",
|
||
"sharing": {
|
||
"createTitle": "Neuer Freigabe-Link",
|
||
"createDescription": "Der Link ist schreibgeschützt und zeitlich begrenzt.",
|
||
"label": "Bezeichnung",
|
||
"labelPlaceholder": "z. B. Dr. Schmidt — Jahres-Check-up",
|
||
"range": "Tage Verlauf",
|
||
"rangeHint": "Wie weit das geteilte Zeitfenster zurückreicht.",
|
||
"expiry": "Läuft ab in (Tagen)",
|
||
"expiryHint": "Höchstens {max} Tage.",
|
||
"expiryInvalid": "Die Gültigkeit muss zwischen 1 und {max} Tagen liegen.",
|
||
"create": "Link erstellen",
|
||
"tokenCreated": "Freigabe-Link erstellt",
|
||
"copied": "In die Zwischenablage kopiert",
|
||
"activeTitle": "Aktive Links",
|
||
"noActive": "Keine aktiven Freigabe-Links.",
|
||
"created": "Erstellt",
|
||
"expires": "Läuft ab",
|
||
"accessCount": "Aufrufe",
|
||
"revoke": "Widerrufen",
|
||
"revokeDescription": "Diesen Link sofort widerrufen. Wer ihn besitzt, verliert umgehend den Zugriff. Das lässt sich nicht rückgängig machen.",
|
||
"statusActive": "Aktiv",
|
||
"statusRevoked": "Widerrufen",
|
||
"statusExpired": "Abgelaufen",
|
||
"inactiveTitle": "Widerrufen und abgelaufen ({count})",
|
||
"shownOnce": "Nur einmal sichtbar. Erfasse QR-Code und Passphrase jetzt — beide lassen sich später nicht wiederherstellen.",
|
||
"qrAlt": "QR-Code mit Freigabelink und Passphrase",
|
||
"linkLabel": "Link",
|
||
"passphraseLabel": "Passphrase",
|
||
"passphraseHint": "Die Empfängerin oder der Empfänger benötigt Link und Passphrase. Der QR-Code enthält beides.",
|
||
"copyLink": "Link kopieren",
|
||
"copyPassphrase": "Passphrase kopieren",
|
||
"protected": "Passphrase",
|
||
"attachTitle": "Dokumente anhängen",
|
||
"attachButton": "Dokumente auswählen",
|
||
"attachCount": "{count} von {max} ausgewählt",
|
||
"attachFrozen": "Die Dokumentenauswahl ist nach dem Erstellen des Links fest — Dokumente lassen sich danach weder hinzufügen noch entfernen.",
|
||
"attachRemove": "{title} entfernen",
|
||
"exifNote": "Kamera-Metadaten (EXIF/GPS) werden beim Teilen aus JPEG-, PNG- und WebP-Bildern entfernt. PDF-, TIFF-, HEIC- und Office-Dateien werden unverändert übernommen.",
|
||
"documentCount": "Angehängte Dokumente: {count}",
|
||
"qrScanTitle": "Zum Öffnen auf einem anderen Gerät scannen",
|
||
"qrScanHint": "Richte eine Handykamera auf den Code, um die geteilte Akte zu öffnen — die Passphrase ist bereits enthalten.",
|
||
"pickerTitle": "Dokumente anhängen",
|
||
"pickerDescription": "Durchsuche deinen Tresor und wähle Dokumente zum Teilen. Bis zu {max}.",
|
||
"pickerSearch": "Dokumente suchen",
|
||
"pickerEmpty": "Keine Dokumente gefunden.",
|
||
"pickerDone": "Fertig",
|
||
"pickerSelectedCount": "{count} von {max} ausgewählt",
|
||
"pickerMaxReached": "Maximum von {max} Dokumenten erreicht.",
|
||
"scopeTitle": "Was dieser Link enthält",
|
||
"scopeInsuranceExcluded": "Versichertendaten werden über einen Link nie geteilt.",
|
||
"statusNeedsReselect": "Inhalt neu wählen",
|
||
"reselectReason": "Dieser Link lieferte einen Umfang, den niemand gewählt hatte, und wurde deshalb geschlossen. Lege einen neuen an und wähle den Inhalt.",
|
||
"reselectAction": "Ersatz anlegen",
|
||
"createDetail": "Der Token wird nur einmal bei der Erstellung angezeigt — sichere ihn dann; er lässt sich nicht wiederherstellen."
|
||
},
|
||
"genderOther": "Divers",
|
||
"nightscout": "Nightscout",
|
||
"nightscoutTag": "CGM",
|
||
"nightscoutDescription": "Verbinde deine eigene Nightscout-Seite, um kontinuierliche Glukosewerte ins Glukose-Panel zu synchronisieren.",
|
||
"nightscoutViewData": "Glukose ansehen",
|
||
"nightscoutUrl": "Nightscout-URL",
|
||
"nightscoutUrlSavedPlaceholder": "Gespeichert — neue URL eingeben zum Ersetzen",
|
||
"nightscoutToken": "API-Token",
|
||
"nightscoutTokenOptional": "Optional bei einer öffentlichen Seite",
|
||
"nightscoutTokenSavedPlaceholder": "Gespeichert — neuen Token eingeben zum Ersetzen",
|
||
"nightscoutTokenHelp": "Füge einen Zugriffstoken aus deinen Nightscout-Admin-Tools ein. Leer lassen, wenn deine Seite öffentlich lesbar ist.",
|
||
"nightscoutPrivateOperatorTitle": "Der Zugriff auf ein privates Nightscout benötigt die Freigabe der Serveradministration.",
|
||
"nightscoutPrivateOperatorDescription": "Bitte die Serveradministration, genau diesen Nightscout-Ursprung freizugeben.",
|
||
"nightscoutConnect": "Verbinden",
|
||
"nightscoutUpdate": "Änderungen speichern",
|
||
"nightscoutConnected": "Nightscout verbunden.",
|
||
"nightscoutConnectFailed": "Verbindung zu Nightscout fehlgeschlagen.",
|
||
"nightscoutSync": "Jetzt synchronisieren",
|
||
"nightscoutSyncResult": "{count} Messwerte synchronisiert",
|
||
"nightscoutSyncFailed": "Synchronisierung fehlgeschlagen",
|
||
"nightscoutDisconnect": "Trennen",
|
||
"nightscoutDisconnectTitle": "Nightscout trennen?",
|
||
"nightscoutDisconnectDescription": "Künftige Synchronisierungen stoppen. Bereits importierte Glukosewerte bleiben in deinem Verlauf.",
|
||
"polar": "Polar",
|
||
"polarDescription": "Verbinde dein Polar-Konto, um Nightly-Recharge-Erholung, Schlafphasen, tägliche Aktivität und Trainingseinheiten zu synchronisieren.",
|
||
"polarViewData": "Schlaf & Erholung ansehen",
|
||
"polarCredentials": "API-Zugangsdaten",
|
||
"polarClientId": "Client ID",
|
||
"polarClientSecret": "Client Secret",
|
||
"polarCredentialsSaved": "Zugangsdaten gespeichert",
|
||
"polarCredentialsSavedPlaceholder": "Gespeichert — neu eingeben zum Ersetzen",
|
||
"polarSaveCredentials": "Speichern",
|
||
"polarUnavailable": "Polar ist auf diesem Server nicht konfiguriert. Füge oben deine eigenen Polar-OAuth-Zugangsdaten hinzu oder bitte deinen Administrator, die gemeinsame App zu konfigurieren.",
|
||
"polarConnect": "Polar verbinden",
|
||
"polarSync": "Jetzt synchronisieren",
|
||
"polarSyncResult": "{count} Messwerte synchronisiert",
|
||
"polarSyncFailed": "Synchronisierung fehlgeschlagen",
|
||
"polarDisconnect": "Trennen",
|
||
"polarDisconnectTitle": "Polar trennen?",
|
||
"polarDisconnectDescription": "Künftige Synchronisierungen stoppen. Bereits importierte Werte bleiben in deinem Verlauf.",
|
||
"polarOauthConnected": "Polar verbunden — die erste Synchronisierung startet im Hintergrund.",
|
||
"polarOauthFailed": "Polar-Verbindung fehlgeschlagen",
|
||
"polarOauthError": {
|
||
"csrf1": "Die Sicherheitsprüfung ist fehlgeschlagen, weil das Browser-Cookie fehlte. Bitte starte die Verbindung im selben Browser erneut.",
|
||
"state": "Die Antwort von Polar passte zu keiner offenen Verbindungsanfrage. Bitte starte die Verbindung erneut.",
|
||
"cross_user": "Die Antwort gehört zu einer Anfrage eines anderen Kontos. Bitte starte die Verbindung aus deinem eigenen Konto erneut.",
|
||
"nocode": "Polar hat keinen Autorisierungscode zurückgegeben. Versuche es erneut und erlaube den Zugriff im Polar-Dialog.",
|
||
"nocreds": "Polar ist auf diesem Server nicht konfiguriert. Bitte deinen Administrator, die Polar-OAuth-Zugangsdaten zu hinterlegen.",
|
||
"token": "Der Token-Austausch mit Polar ist fehlgeschlagen. Bitte starte die Verbindung erneut.",
|
||
"rate_limited": "Zu viele Verbindungsversuche. Warte einen Moment und versuche es erneut.",
|
||
"generic": "Unbekannter Fehler bei der Verbindung. Bitte starte die Verbindung erneut."
|
||
},
|
||
"oura": "Oura",
|
||
"ouraDescription": "Verbinde dein Oura-Konto, um Readiness, Schlafphasen, Herzfrequenzvariabilität und tägliche Aktivität zu synchronisieren.",
|
||
"ouraViewData": "Schlaf & Erholung ansehen",
|
||
"ouraCredentials": "API-Zugangsdaten",
|
||
"ouraClientId": "Client ID",
|
||
"ouraClientSecret": "Client Secret",
|
||
"ouraCredentialsSaved": "Zugangsdaten gespeichert",
|
||
"ouraCredentialsSavedPlaceholder": "Gespeichert — neu eingeben zum Ersetzen",
|
||
"ouraSaveCredentials": "Speichern",
|
||
"ouraUnavailable": "Oura ist auf diesem Server nicht konfiguriert. Füge oben deine eigenen Oura-OAuth-Zugangsdaten hinzu oder bitte deinen Administrator, die gemeinsame App zu konfigurieren.",
|
||
"ouraConnect": "Oura verbinden",
|
||
"ouraSync": "Jetzt synchronisieren",
|
||
"ouraSyncResult": "{count} Messwerte synchronisiert",
|
||
"ouraSyncFailed": "Synchronisierung fehlgeschlagen",
|
||
"ouraDisconnect": "Trennen",
|
||
"ouraDisconnectTitle": "Oura trennen?",
|
||
"ouraDisconnectDescription": "Künftige Synchronisierungen stoppen. Bereits importierte Werte bleiben in deinem Verlauf.",
|
||
"ouraOauthConnected": "Oura verbunden — die erste Synchronisierung startet im Hintergrund.",
|
||
"ouraOauthFailed": "Oura-Verbindung fehlgeschlagen",
|
||
"ouraOauthError": {
|
||
"csrf1": "Die Sicherheitsprüfung ist fehlgeschlagen, weil das Browser-Cookie fehlte. Bitte starte die Verbindung im selben Browser erneut.",
|
||
"state": "Die Antwort von Oura passte zu keiner offenen Verbindungsanfrage. Bitte starte die Verbindung erneut.",
|
||
"cross_user": "Die Antwort gehört zu einer Anfrage eines anderen Kontos. Bitte starte die Verbindung aus deinem eigenen Konto erneut.",
|
||
"nocode": "Oura hat keinen Autorisierungscode zurückgegeben. Versuche es erneut und erlaube den Zugriff im Oura-Dialog.",
|
||
"nocreds": "Oura ist auf diesem Server nicht konfiguriert. Bitte deinen Administrator, die Oura-OAuth-Zugangsdaten zu hinterlegen.",
|
||
"token": "Der Token-Austausch mit Oura ist fehlgeschlagen. Bitte starte die Verbindung erneut.",
|
||
"rate_limited": "Zu viele Verbindungsversuche. Warte einen Moment und versuche es erneut.",
|
||
"generic": "Unbekannter Fehler bei der Verbindung. Bitte starte die Verbindung erneut."
|
||
},
|
||
"integrationSetupGuide": "Einrichtungsanleitung",
|
||
"coach": {
|
||
"activate": {
|
||
"title": "Coach aktivieren",
|
||
"description": "Zeigt den Coach-Button und das Coach-Panel.",
|
||
"toggleAria": "Coach-Button und Coach-Panel aktivieren",
|
||
"savedOn": "Coach ist aktiviert.",
|
||
"savedOff": "Coach ist ausgeblendet.",
|
||
"saveError": "Speichern fehlgeschlagen. Bitte erneut versuchen."
|
||
}
|
||
},
|
||
"integrationRedirectGuide": {
|
||
"intro": "Die Verbindung läuft über deine eigene {provider}-Entwickler-App — etwa 5 Minuten Einrichtung:",
|
||
"step1": "Erstelle eine App im {provider}-Entwicklerportal.",
|
||
"step2": "Setze deren Weiterleitungs-/Callback-URL auf:",
|
||
"step3": "Trage die dort erhaltene Client-ID und das Client-Secret oben ein."
|
||
},
|
||
"security": {
|
||
"sessionsTitle": "Aktive Sitzungen",
|
||
"sessionsDescription": "Geräte und Browser, die aktuell bei deinem Konto angemeldet sind.",
|
||
"sessionsLoadError": "Aktive Sitzungen konnten nicht geladen werden.",
|
||
"sessionsEmpty": "Keine aktiven Sitzungen.",
|
||
"currentSession": "Dieses Gerät",
|
||
"lastActive": "Zuletzt aktiv {time}",
|
||
"unknownLocation": "Unbekannter Ort",
|
||
"revokeSession": "Abmelden",
|
||
"revokeError": "Anfrage konnte nicht abgeschlossen werden. Bitte erneut versuchen.",
|
||
"signOutEverywhere": "Überall sonst abmelden",
|
||
"signOutEverywhereDone": "{count} andere Sitzung(en) abgemeldet",
|
||
"activityTitle": "Sicherheitsaktivität",
|
||
"activityDescription": "Letzte Anmeldungen, Sicherheitsänderungen und Datenexporte deines Kontos.",
|
||
"activityEmpty": "Noch keine Sicherheitsaktivität.",
|
||
"activityLoadError": "Sicherheitsaktivität konnte nicht geladen werden.",
|
||
"action": {
|
||
"newDevice": "Anmeldung von neuem Gerät",
|
||
"loginFailed": "Fehlgeschlagene Anmeldung",
|
||
"login": "Anmeldung",
|
||
"passwordChange": "Passwort geändert",
|
||
"mfa": "Zwei-Faktor-Änderung",
|
||
"sessionRevoke": "Sitzung abgemeldet",
|
||
"token": "API-Token-Änderung",
|
||
"accountDelete": "Konto gelöscht",
|
||
"dataClear": "Daten zurückgesetzt",
|
||
"export": "Datenexport",
|
||
"other": "Sicherheitsereignis"
|
||
},
|
||
"active": "Aktiv",
|
||
"inactive": "Inaktiv",
|
||
"stepUpRequired": "Melde dich aus Sicherheitsgründen erneut an, um deinen zweiten Faktor zu ändern.",
|
||
"useRecoveryCode": "Stattdessen Wiederherstellungscode verwenden",
|
||
"useAuthenticator": "Stattdessen Authenticator-App verwenden",
|
||
"totp": {
|
||
"title": "Authenticator-App",
|
||
"description": "Verwende einen zeitbasierten Code aus einer Authenticator-App als zweiten Faktor.",
|
||
"setUp": "Einrichten",
|
||
"step1": "Scanne den QR-Code mit deiner Authenticator-App oder gib das Geheimnis manuell ein.",
|
||
"step2": "Gib zur Bestätigung den 6-stelligen Code aus der App ein.",
|
||
"qrAlt": "QR-Code zur Einrichtung der Authenticator-App",
|
||
"qrUnavailable": "QR-Code nicht verfügbar",
|
||
"manualEntry": "Oder gib dieses Geheimnis manuell ein",
|
||
"enterCode": "Gib den 6-stelligen Code ein",
|
||
"verify": "Bestätigen",
|
||
"setupFailed": "Einrichtung konnte nicht gestartet werden. Bitte versuche es erneut.",
|
||
"invalidCode": "Dieser Code ist ungültig. Bitte versuche es erneut.",
|
||
"disable": "Deaktivieren",
|
||
"disableTitle": "Zwei-Faktor-Authentifizierung deaktivieren",
|
||
"disableConfirm": "Gib einen aktuellen Code ein, um deinen zweiten Faktor abzuschalten. Damit werden auch deine Wiederherstellungscodes gelöscht.",
|
||
"currentCode": "Aktueller Code",
|
||
"disableFailed": "Der zweite Faktor konnte nicht deaktiviert werden."
|
||
},
|
||
"recovery": {
|
||
"saveNow": "Speichere diese Wiederherstellungscodes jetzt",
|
||
"saveNowHint": "Jeder Code funktioniert einmal. Sie werden nur dieses eine Mal angezeigt — bewahre sie sicher auf. Wenn du deine Authenticator-App verlierst, ist ein Wiederherstellungscode der einzige Weg zurück.",
|
||
"download": "Herunterladen",
|
||
"remainingOne": "{count} Wiederherstellungscode übrig.",
|
||
"remainingOther": "{count} Wiederherstellungscodes übrig.",
|
||
"regenerate": "Codes neu erzeugen",
|
||
"regenFailed": "Wiederherstellungscodes konnten nicht neu erzeugt werden.",
|
||
"savedIt": "Ich habe sie gespeichert",
|
||
"regenerateTitle": "Wiederherstellungscodes neu erzeugen?",
|
||
"regenerateConfirm": "Damit werden deine aktuellen Wiederherstellungscodes ersetzt. Deine bisherigen Codes funktionieren sofort nicht mehr, und der neue Satz wird nur einmal angezeigt."
|
||
},
|
||
"keys": {
|
||
"title": "Sicherheitsschlüssel",
|
||
"description": "Registriere einen Hardware- oder Plattform-Sicherheitsschlüssel als zweiten Faktor.",
|
||
"empty": "Noch keine Sicherheitsschlüssel registriert.",
|
||
"add": "Sicherheitsschlüssel hinzufügen",
|
||
"addFailed": "Der Sicherheitsschlüssel konnte nicht registriert werden.",
|
||
"rename": "Umbenennen",
|
||
"renameFailed": "Der Sicherheitsschlüssel konnte nicht umbenannt werden.",
|
||
"remove": "Sicherheitsschlüssel entfernen",
|
||
"removeFailed": "Der Sicherheitsschlüssel konnte nicht entfernt werden.",
|
||
"removeConfirm": "Dieser Sicherheitsschlüssel funktioniert dann nicht mehr als zweiter Faktor.",
|
||
"lastUsed": "Zuletzt verwendet {date}",
|
||
"neverUsed": "Noch nie verwendet",
|
||
"added": "hinzugefügt {date}",
|
||
"nameLabel": "Name des Sicherheitsschlüssels"
|
||
},
|
||
"passkeyNudge": {
|
||
"title": "Füge einen Passkey für schnellere Anmeldung hinzu",
|
||
"body": "Mit Passkeys meldest du dich per Fingerabdruck, Gesicht oder Geräte-PIN an — ohne Passwort zum Merken."
|
||
},
|
||
"trustedDevices": {
|
||
"title": "Vertrauenswürdige Geräte",
|
||
"description": "Browser, denen du vertraust, überspringen den zweiten Faktor für 30 Tage. Das Passwort wird weiterhin verlangt. Entziehe das Vertrauen, wenn du ein Gerät nicht kennst.",
|
||
"loadError": "Vertrauenswürdige Geräte konnten nicht geladen werden.",
|
||
"revokeError": "Gerät konnte nicht entfernt werden. Bitte erneut versuchen.",
|
||
"revoke": "Entfernen",
|
||
"revokeAll": "Alle Geräte vergessen",
|
||
"revokeAllDone": "{count} vertrauenswürdige(s) Gerät(e) entfernt",
|
||
"unnamed": "Unbekanntes Gerät",
|
||
"current": "Dieses Gerät",
|
||
"expires": "Vertraut bis {date}",
|
||
"revokeConfirmTitle": "Diesem Gerät nicht mehr vertrauen?",
|
||
"revokeConfirmBody": "Es fragt beim nächsten Anmelden wieder nach deinem zweiten Faktor.",
|
||
"revokeAllConfirmTitle": "Keinem Gerät mehr vertrauen?",
|
||
"revokeAllConfirmBody": "Jedes Gerät fragt beim nächsten Anmelden wieder nach deinem zweiten Faktor, auch dieses."
|
||
},
|
||
"revokeSessionConfirmTitle": "Dieses Gerät abmelden?",
|
||
"revokeSessionConfirmBody": "{device} muss sich neu anmelden. An den dort erfassten Daten ändert sich nichts.",
|
||
"signOutEverywhereConfirmTitle": "Alle anderen Geräte abmelden?",
|
||
"signOutEverywhereConfirmBody": "Alle anderen Geräte, jeder verbundene KI-Assistent und jedes API-Token müssen sich neu anmelden oder neu eingerichtet werden. Dieses Gerät bleibt angemeldet. Deine Einträge bleiben unberührt.",
|
||
"signOutEverywhereShareLinks": "Auch die Freigabelinks für Ärztinnen und Ärzte beenden",
|
||
"signOutEverywhereInvites": "Einladungen zu deiner Akte, die noch niemand angenommen hat, werden zurückgezogen. Wer schon angenommen hat, behält den Zugriff; du kannst ihn gleich danach beenden.",
|
||
"signOutEverywhereInvitesDone": "{count} nicht angenommene Einladung(en) zurückgezogen.",
|
||
"grantsKeptTitle": "Diese Personen sehen deine Akte weiterhin",
|
||
"grantsKeptBody": "Das Abmelden beendet keinen Zugriff, den du jemandem gegeben hast. Beende ihn hier, wenn du ihn nicht gegeben hast oder nicht mehr willst."
|
||
},
|
||
"privacy": {
|
||
"encryption": {
|
||
"title": "Verschlüsselt gespeichert",
|
||
"summary": "Deine sensiblen Daten werden mit {algorithm} verschlüsselt gespeichert — über {columns} Felder in {models} Datensatztypen.",
|
||
"statement": "Deine sensiblen Daten werden mit AES-256-GCM verschlüsselt gespeichert."
|
||
},
|
||
"stored": {
|
||
"title": "Was gespeichert wird",
|
||
"measurements": "Messwerte (Gewicht, Blutdruck, Puls, Glukose, Schlaf, Körperzusammensetzung)",
|
||
"medications": "Medikamente und Einnahmeverlauf",
|
||
"moodLabs": "Stimmungseinträge und Laborwerte",
|
||
"coach": "Coach-Unterhaltungen",
|
||
"integrations": "Integrations-Tokens (verschlüsselt)",
|
||
"security": "Konto- und Sicherheitsaktivität (Sitzungen, Anmeldeprotokoll)"
|
||
},
|
||
"retention": {
|
||
"title": "Aufbewahrung",
|
||
"description": "Wie lange zeitgebundene Datensätze vor der automatischen Bereinigung gespeichert bleiben.",
|
||
"coach": "Coach-Unterhaltungen: {days} Tage",
|
||
"audit": "Sicherheitsprotokoll: {days} Tage",
|
||
"delivery": "Benachrichtigungsprotokoll: {days} Tage",
|
||
"unavailable": "Aufbewahrungsdetails sind derzeit nicht verfügbar."
|
||
},
|
||
"export": {
|
||
"title": "Meine Daten herunterladen",
|
||
"description": "Deine Datensätze als CSV oder JSON — oder eine vollständige Akte für die Praxis.",
|
||
"openExport": "Export & Backup",
|
||
"openHealthRecord": "Gesundheitsakte"
|
||
},
|
||
"delete": {
|
||
"title": "Löschen oder zurücksetzen",
|
||
"description": "Lösche dein Konto vollständig oder lösche deine Gesundheitsdaten und behalte das Konto.",
|
||
"backupLag": "Die Löschung entfernt deine Daten sofort. Wenn dieser Server verschlüsselte externe Sicherungen anlegt, werden die Kopien deiner Daten gleich danach aus diesem Speicher gelöscht, oder in der nächsten Nacht, falls der Speicher nicht erreichbar ist.",
|
||
"openAdvanced": "Löschen oder zurücksetzen"
|
||
},
|
||
"posture": {
|
||
"title": "Datenschutz-Einstellung",
|
||
"description": "Steuere, wie viele deiner Daten an KI-Funktionen weitergegeben werden.",
|
||
"openAi": "KI-Datenschutzmodus"
|
||
}
|
||
},
|
||
"mcp": {
|
||
"enableTitle": "Remote-MCP-Endpunkt",
|
||
"enableDescription": "Erlaube einem MCP-fähigen Assistenten (Claude.ai, ChatGPT), deine Gesundheitsdaten über ein begrenztes Token zu lesen.",
|
||
"enabled": "Aktiv",
|
||
"disabled": "Inaktiv",
|
||
"enableToggleLabel": "MCP-Endpunkt aktivieren",
|
||
"endpointLabel": "Connector-URL",
|
||
"connectDescription": "Füge diese URL in die Einrichtung des eigenen Connectors deines Assistenten ein und autorisiere dich mit dem Token unten oder melde dich bei Aufforderung an.",
|
||
"tokensTitle": "Connector-Tokens",
|
||
"tokensDescription": "Erzeuge ein Token für einen Assistenten — nur Lesezugriff, außer du erlaubst unten das Eintragen.",
|
||
"scopeNote": "Neue Tokens können nur deine eigenen Daten lesen. Schreibzugriff (health:write) vergibst du pro Token über den Schalter unten. Admin-Funktionen erreicht ein Token nie.",
|
||
"writeScopeToggleLabel": "Eintragen erlauben (health:write)",
|
||
"writeScopeNote": "Fügt den Scope health:write hinzu, damit der Assistent neue Messwerte und Stimmungseinträge in dein Konto eintragen kann. Jeder Schreibvorgang wird zuvor bestätigt. Das Token kann weiterhin keine vorhandenen Einträge löschen oder ändern, keine Medikamente bearbeiten und keine REST- oder Admin-Funktionen erreichen. Für reinen Lesezugriff ausgeschaltet lassen.",
|
||
"connectionsTitle": "Verbundene Assistenten",
|
||
"connectionsDescription": "Assistenten, die du über die Anmeldung autorisiert hast.",
|
||
"noConnections": "Keine verbundenen Assistenten.",
|
||
"connectionConnected": "Verbunden",
|
||
"connectionLastUsed": "Zuletzt verwendet",
|
||
"connectionNeverUsed": "Nie verwendet",
|
||
"connectionRevoke": "Trennen",
|
||
"connectionRevokeDescription": "Dies beendet den Zugriff des Assistenten sofort und verhindert eine Erneuerung. Für eine erneute Verbindung ist eine neue Autorisierung nötig.",
|
||
"connectionRevokeFailed": "Assistent konnte nicht getrennt werden.",
|
||
"tokensDetail": "Das Token wird nur einmal angezeigt.",
|
||
"connectionsDetail": "Das Widerrufen einer Verbindung beendet den Zugriff sofort, einschließlich der Möglichkeit zur Erneuerung."
|
||
},
|
||
"strava": "Strava",
|
||
"stravaDescription": "Verbinde dein Strava-Konto, um deine Aktivitäten in deinen Trainingsverlauf zu übernehmen.",
|
||
"stravaViewData": "Trainings ansehen",
|
||
"stravaCredentials": "API-Zugangsdaten",
|
||
"stravaClientId": "Client-ID",
|
||
"stravaClientSecret": "Client-Secret",
|
||
"stravaCredentialsSaved": "Zugangsdaten gespeichert",
|
||
"stravaCredentialsSavedPlaceholder": "Gespeichert — neue eingeben zum Ersetzen",
|
||
"stravaSaveCredentials": "Speichern",
|
||
"stravaUnavailable": "Strava ist auf diesem Server nicht konfiguriert. Füge oben deine eigenen Strava-API-Zugangsdaten hinzu oder bitte deinen Administrator, die gemeinsame App zu konfigurieren.",
|
||
"stravaConnect": "Strava verbinden",
|
||
"stravaSync": "Jetzt synchronisieren",
|
||
"stravaSyncResult": "{count} Messwerte synchronisiert",
|
||
"stravaSyncFailed": "Synchronisierung fehlgeschlagen",
|
||
"stravaDisconnect": "Trennen",
|
||
"stravaDisconnectTitle": "Strava trennen?",
|
||
"stravaDisconnectDescription": "Künftige Synchronisierungen stoppen. Bereits importierte Aktivitäten bleiben in deinem Verlauf.",
|
||
"stravaOauthConnected": "Strava verbunden — die erste Synchronisierung startet im Hintergrund.",
|
||
"stravaOauthFailed": "Strava-Verbindung fehlgeschlagen",
|
||
"stravaOauthError": {
|
||
"csrf1": "Die Sicherheitsprüfung ist fehlgeschlagen, weil das Browser-Cookie fehlte. Bitte starte die Verbindung im selben Browser erneut.",
|
||
"state": "Die Antwort von Strava passte zu keiner offenen Verbindungsanfrage. Bitte starte die Verbindung erneut.",
|
||
"cross_user": "Die Antwort gehört zu einer Anfrage eines anderen Kontos. Bitte starte die Verbindung von deinem eigenen Konto aus erneut.",
|
||
"nocode": "Strava hat keinen Autorisierungscode zurückgegeben. Versuche es erneut und erlaube den Zugriff im Strava-Dialog.",
|
||
"nocreds": "Strava ist auf diesem Server nicht konfiguriert. Bitte deinen Administrator, die Strava-API-Zugangsdaten hinzuzufügen.",
|
||
"token": "Der Token-Austausch mit Strava ist fehlgeschlagen. Bitte starte die Verbindung erneut.",
|
||
"rate_limited": "Zu viele Verbindungsversuche. Warte einen Moment und versuche es erneut.",
|
||
"generic": "Unbekannter Fehler bei der Verbindung. Bitte starte die Verbindung erneut."
|
||
},
|
||
"appleHealth": {
|
||
"title": "Apple Health",
|
||
"description": "Die Live-Synchronisierung erfolgt über die HealthLog-iOS-App — nicht über eine Web- oder OAuth-Verbindung.",
|
||
"status": {
|
||
"unavailable": "Apple-Health-Status nicht verfügbar"
|
||
},
|
||
"setupTitle": "Live-Synchronisierung aktivieren",
|
||
"permissionStep": "Öffne in der HealthLog-iOS-App Einstellungen → Apple Health und erlaube die Gesundheitskategorien, die du teilen möchtest.",
|
||
"backgroundStep": "Lass die Hintergrundaktualisierung aktiviert. Die App synchronisiert neue Daten automatisch im Vordergrund und wenn iOS Hintergrundzeit gewährt.",
|
||
"importNote": "Du brauchst ältere Daten oder kannst die iOS-App nicht nutzen? Der Apple-Health-XML/ZIP-Upload ist ein einmaliger Ersatzweg und aktiviert keine Live-Synchronisierung.",
|
||
"importAction": "Einmaligen Import öffnen",
|
||
"staleNote": "Seit über einer Woche sind keine Apple-Health-Daten angekommen. Öffne die HealthLog-App auf deinem iPhone und prüfe die Apple-Health-Berechtigungen.",
|
||
"progress": {
|
||
"title": "Sync-Fortschritt",
|
||
"receivedLabel": "Empfangene Datensätze",
|
||
"oldestLabel": "Älteste erreichte Messung",
|
||
"flowing": "In der letzten Stunde sind Daten angekommen — die iPhone-App liefert weiter.",
|
||
"waiting": "Warten auf weitere Daten von der iPhone-App. Die Übertragung läuft weiter, wenn die App geöffnet ist oder iOS ihr Hintergrundzeit gewährt — eine ruhige Phase während des ersten großen Abgleichs ist normal, kein Fehler."
|
||
},
|
||
"delivery": {
|
||
"title": "Übermittlung",
|
||
"lastTriggerLabel": "Letzte Synchronisierung kam",
|
||
"lastBackgroundLabel": "Letzte Hintergrund-Synchronisierung",
|
||
"backgroundNever": "Nie — bisher kam jede Synchronisierung bei geöffneter App an",
|
||
"noSyncYet": "Es ist noch keine Synchronisierung angekommen, daher gibt es hier nichts zu berichten.",
|
||
"trigger": {
|
||
"foreground": "bei geöffneter App",
|
||
"background": "im Hintergrund",
|
||
"push": "durch einen Push-Weckruf",
|
||
"unknown": "Auslöser von der App nicht gemeldet"
|
||
}
|
||
}
|
||
},
|
||
"garminInfo": {
|
||
"title": "Garmin",
|
||
"body": "Garmin hat hier keine direkte Verbindung. Verbinde über Apple Health (iOS) oder Google Health Connect (Android). Garmins proprietäre Werte — Body Battery, Training Load, HRV-Status, VO₂max — werden von Garmin an keine der beiden Plattformen weitergegeben.",
|
||
"docsLink": "Zur Anleitung"
|
||
},
|
||
"glucoseReference": {
|
||
"title": "Glukose-Referenzband",
|
||
"description": "Gegen welches Band deine Blutzuckerwerte bewertet werden.",
|
||
"enable": "Diabetes-Zielband verwenden",
|
||
"explainer": "Aus werden Werte gegen das allgemeine nicht-diabetische Referenzband bewertet. An werden sie gegen das engere glykämische Zielband der ADA Standards of Care bewertet, und der Coach begründet seine Glukose-Aussagen auf diesem Band. Deine eigenen Zielwert-Überschreibungen unten haben weiterhin Vorrang.",
|
||
"disclaimer": "Das wählt ein Referenzband aus. Es ist keine Diagnose, wird nie aus einem Messwert abgeleitet, und die App handelt klinisch nicht danach. Welche Zielwerte für dich gelten, klärst du mit deiner Ärztin oder deinem Arzt.",
|
||
"error": "Die Einstellung konnte nicht gespeichert werden."
|
||
},
|
||
"dangerZoneDetail": "Dein Konto und deine Anmeldedaten bleiben erhalten.",
|
||
"deleteAccountCardDetail": "Dieser Vorgang kann nicht rückgängig gemacht werden.",
|
||
"passkeyStepUpRequired": "Aus Sicherheitsgründen bitte erneut anmelden, bevor du einen Passkey entfernst.",
|
||
"setup": {
|
||
"title": "Einrichtung",
|
||
"description": "Die Fragen, die entscheiden, was HealthLog zuerst zeigt, und die Erste-Schritte-Checkliste auf dem Dashboard.",
|
||
"setUpAgain": "Erneut einrichten",
|
||
"showChecklist": "Checkliste wieder anzeigen",
|
||
"checklistShown": "Die Checkliste ist wieder auf dem Dashboard.",
|
||
"checklistNothingHidden": "Die Checkliste war nicht ausgeblendet; sie öffnet sich auf dem Dashboard."
|
||
},
|
||
"documentSources": {
|
||
"title": "Dokumentarchive",
|
||
"description": "Paperless-ngx oder Papra aus HealthLog durchsuchen und ausgewählte Dokumente importieren.",
|
||
"explainer": "Ein Import-Knopf erscheint überall, wo du Dokumente verknüpfst: bei Arztbesuchen, Impfungen und Erkrankungen sowie unter Dokumente. HealthLog speichert von jedem importierten Dokument eine eigene verschlüsselte Kopie und fragt dein Archiv nur, wenn du suchst oder importierst.",
|
||
"systemLabel": "Archiv",
|
||
"statusConnected": "Verbunden",
|
||
"statusNotConnected": "Nicht verbunden",
|
||
"connectedSince": "Verbunden, zuletzt geprüft am {date}",
|
||
"originRemoved": "Diese Adresse steht nicht mehr auf der Liste der erlaubten Archive dieses Servers. Frag die Administration oder speichere eine andere Adresse.",
|
||
"baseUrl": "Adresse",
|
||
"allowedOrigins": "Auf diesem Server erlaubt: {origins}",
|
||
"organizationId": "Organisations-ID",
|
||
"organizationHelp": "Der Teil nach /organizations/ in der Adresszeile von Papra. Papra-Organisations-IDs sehen aus wie org_ gefolgt von 24 Buchstaben und Ziffern.",
|
||
"token": "API-Token",
|
||
"tokenSaved": "Für diese Adresse gespeichert. Leer lassen, um es zu behalten.",
|
||
"tokenHelpPaperless": "In Paperless-ngx: Mein Profil, API-Token.",
|
||
"tokenHelpPapra": "In Papra: ein API-Schlüssel mit documents:read und tags:read.",
|
||
"save": "Speichern und testen",
|
||
"saving": "Wird getestet …",
|
||
"saved": "Verbunden. Das Archiv hat geantwortet.",
|
||
"test": "Testen",
|
||
"testOk": "Das Archiv hat in {latency} ms geantwortet.",
|
||
"disconnect": "Trennen",
|
||
"disconnectTitle": "{name} trennen?",
|
||
"disconnectDescription": "HealthLog vergisst Adresse und Token. Bereits importierte Dokumente bleiben in HealthLog.",
|
||
"unavailableExplainer": "Dieser Server erlaubt keine Dokumentarchive mehr, die Verbindung unten ist daher nicht nutzbar. Du kannst sie weiterhin entfernen.",
|
||
"moduleOffExplainer": "Dokumente sind ausgeschaltet, die Verbindung unten wird daher nicht genutzt. Du kannst sie weiterhin entfernen.",
|
||
"tokenNewAddress": "Für eine neue Adresse wird das API-Token erneut gebraucht."
|
||
},
|
||
"emailChangePassword": "Aktuelles Passwort (nötig, um die E-Mail-Adresse zu ändern)",
|
||
"reproof": {
|
||
"description": "Damit werden deine Gesundheitsdaten weitergegeben oder exportiert. Bestätige, dass du es bist, um fortzufahren.",
|
||
"signInAgain": "Melde dich neu an und versuche es dann noch einmal. Dein Konto hat kein Passwort und keinen Passkey, den du hier bestätigen könntest.",
|
||
"failed": "Das hat nicht geklappt. Prüfe deine Eingabe und versuche es noch einmal."
|
||
}
|
||
},
|
||
"admin": {
|
||
"title": "Administration",
|
||
"subtitle": "Systemstatus, Nutzer und Einstellungen",
|
||
"settingsSaveError": "Einstellungen konnten nicht gespeichert werden",
|
||
"systemStatus": "Systemstatus",
|
||
"systemStatusDescription": "Laufzeitdaten der Instanz: Datenbank, Worker und Bestandszähler.",
|
||
"database": "Datenbank",
|
||
"databaseConnected": "Verbunden",
|
||
"databaseError": "Fehler",
|
||
"startedAt": "Gestartet",
|
||
"users": "Nutzer",
|
||
"measurementsCount": "Messwerte",
|
||
"activeTokens": "Aktive API-Tokens",
|
||
"activeSessions": "Aktive Sessions",
|
||
"loadingStatus": "Status wird geladen…",
|
||
"systemStatusLoadError": "System-Status konnte nicht geladen werden.",
|
||
"systemStatusRetry": "Erneut versuchen",
|
||
"adminSettingsLoadError": "Admin-Einstellungen konnten nicht geladen werden. Schalter unten zeigen evtl. nicht den Live-Zustand — Seite neu laden.",
|
||
"hostMetrics": {
|
||
"title": "Host-Auslastung",
|
||
"load1": "Last (1m)",
|
||
"memUsedPercent": "Speicher",
|
||
"diskBusyPercent": "Disk-I/O",
|
||
"last2hours": "Letzte 2 Stunden",
|
||
"empty": "Erfassung läuft — Daten erscheinen in 1–2 Minuten.",
|
||
"loadError": "Host-Metriken konnten nicht geladen werden. Bitte die Seite neu laden."
|
||
},
|
||
"aiServerKey": {
|
||
"title": "KI-Server-Schlüssel",
|
||
"description": "Ein Betreiber-Schlüssel für Konten, die keinen eigenen hinterlegt haben.",
|
||
"byokHint": "Der eigene Schlüssel (BYOK, ChatGPT-Login oder lokaler Provider) hat immer Vorrang — der Server-Schlüssel ist die letzte Stufe der Provider-Kette.",
|
||
"consentHint": "Anfragen über den Server-Schlüssel erfordern die aktive KI-Einwilligung der Person; ohne Einwilligungsbeleg wird nichts gesendet.",
|
||
"baseUrlHint": "Die Basis-URL bestimmt die API: eine Anthropic-URL wie https://api.anthropic.com/v1 wird erkannt, jeder andere Host wird über die OpenAI-kompatible API angesprochen.",
|
||
"statusConfigured": "Eingerichtet",
|
||
"statusNotConfigured": "Nicht eingerichtet",
|
||
"keyLabel": "API-Schlüssel",
|
||
"keyPlaceholder": "sk-...",
|
||
"keyPlaceholderSet": "Hinterlegt ({preview}) — neuen Schlüssel eingeben, um ihn zu ersetzen",
|
||
"modelLabel": "Modell",
|
||
"baseUrlLabel": "Basis-URL",
|
||
"save": "Speichern",
|
||
"remove": "Schlüssel entfernen",
|
||
"removeTitle": "Server-Schlüssel entfernen?",
|
||
"removeBody": "Konten ohne eigenen Schlüssel verlieren die KI-Funktionen sofort. Der Schlüssel wird nach dem Speichern nirgends mehr angezeigt — zum Wiederherstellen brauchst du das Original.",
|
||
"removeConfirm": "Schlüssel entfernen",
|
||
"saved": "KI-Server-Schlüssel gespeichert",
|
||
"error": "Speichern des KI-Server-Schlüssels fehlgeschlagen",
|
||
"legacyGrantTitle": "ALLOW_LOCAL_AI_PRIVATE_HOSTS=true ist veraltet",
|
||
"legacyGrantBody": "Die Einstellung erlaubt dem Server-Schlüssel oben und KI-Einstellungen, die in einem Admin-Konto gespeichert sind, weiterhin Zugriff auf dein Netzwerk und entfällt in einer späteren Version. Andere Konten brauchen ihren KI-Endpunkt schon jetzt in AI_PRIVATE_ORIGINS. Setze AI_PRIVATE_ORIGINS in der Server-Umgebung, starte neu und entferne dann ALLOW_LOCAL_AI_PRIVATE_HOSTS.",
|
||
"legacyGrantOrigins": "Diese auf dieser Instanz gespeicherten KI-Adressen zeigen in dein Netzwerk:",
|
||
"legacyGrantNoOrigins": "Keine auf dieser Instanz gespeicherte KI-Adresse zeigt in dein Netzwerk, du kannst ALLOW_LOCAL_AI_PRIVATE_HOSTS also jetzt entfernen."
|
||
},
|
||
"providerHealth": {
|
||
"title": "Zustand der KI-Provider",
|
||
"description": "Zustellstatus jedes KI-Providers, zusammengefasst aus dem Wiederholungsregister pro Nutzer.",
|
||
"loading": "Provider-Zustand wird geladen…",
|
||
"loadError": "Der Provider-Zustand konnte nicht geladen werden.",
|
||
"empty": "Es wurden noch keine KI-Aufrufe aufgezeichnet.",
|
||
"trackedUsers": "{count} Nutzer erfasst",
|
||
"lastOk": "letzter Erfolg {at}",
|
||
"lastFailure": "letzter Fehlschlag {at}",
|
||
"lastFailureStatus": "HTTP {status}",
|
||
"statusHealthy": "In Ordnung",
|
||
"statusFailing": "{failing} von {tracked} scheitern, {run} in Folge",
|
||
"typeAdminOpenai": "Server-Schlüssel (Betreiber)",
|
||
"typeAdminCodex": "Zentrales ChatGPT (Betreiber)",
|
||
"typeOpenai": "OpenAI-Schlüssel (persönlich)",
|
||
"typeAnthropic": "Anthropic-Schlüssel (persönlich)",
|
||
"typeCodex": "ChatGPT-Anmeldung (persönlich)",
|
||
"typeLocal": "Lokales Modell (persönlich)",
|
||
"typeGateway": "OpenAI-kompatibles Gateway (persönlich)",
|
||
"spendToday": "Heute ({date}): {total} Tokens, davon {operator} auf dem Schlüssel des Betreibers."
|
||
},
|
||
"aiQuality": {
|
||
"title": "Auswertungs-Qualität",
|
||
"loading": "Feedback-Zusammenfassung wird geladen…",
|
||
"loadError": "Qualitätszusammenfassung konnte nicht geladen werden. Bitte die Seite neu laden.",
|
||
"empty": "Noch kein Feedback. Der Aggregator läuft täglich um 04:00 — sobald Nutzer Empfehlungen bewerten, erscheinen hier die Hilfreich-Quoten.",
|
||
"windowLabel": "Letzte {days} Tage",
|
||
"generatedAtLabel": "Erstellt",
|
||
"colSeverity": "Schweregrad",
|
||
"colMetric": "Metrik",
|
||
"colProvider": "Provider",
|
||
"colPromptVersion": "Prompt",
|
||
"colHelpful": "Hilfreich",
|
||
"colNotHelpful": "Nicht hilfreich",
|
||
"colHelpfulRate": "Hilfreich-Quote"
|
||
},
|
||
"coachFeedback": {
|
||
"title": "Coach-Feedback",
|
||
"loading": "Coach-Feedback-Zusammenfassung wird geladen…",
|
||
"loadError": "Coach-Feedback-Zusammenfassung konnte nicht geladen werden. Bitte die Seite neu laden.",
|
||
"empty": "Noch kein Coach-Feedback. Der Aggregator läuft täglich um 04:00 — sobald Nutzer Coach-Antworten bewerten, erscheinen hier die Hilfreich-Quoten.",
|
||
"windowLabel": "Letzte {days} Tage",
|
||
"generatedAtLabel": "Erstellt",
|
||
"colPromptVersion": "Prompt-Version",
|
||
"colTone": "Tonfall",
|
||
"colVerbosity": "Ausführlichkeit",
|
||
"colHelpful": "Hilfreich",
|
||
"colNotHelpful": "Nicht hilfreich",
|
||
"colN": "n",
|
||
"colHelpfulRate": "Hilfreich-Quote"
|
||
},
|
||
"workerStatus": "Job-Worker",
|
||
"workerRunning": "Aktiv",
|
||
"workerStopped": "Gestoppt",
|
||
"lastReminderCheck": "Letzter Reminder-Check",
|
||
"appSettings": "Anwendungseinstellungen",
|
||
"appSettingsDescription": "Globale Standardwerte für Registrierung, Sprache und Zeitzone neuer Konten.",
|
||
"registrationEnabled": "Registrierung erlauben",
|
||
"registrationEnabledDescription": "Wenn deaktiviert, können sich keine neuen Nutzer registrieren.",
|
||
"registrationOpenHint": "Die Registrierung ist offen — jeder, der diese Instanz erreichen kann, kann ein Konto anlegen. Schließe sie hier, sobald alle ein Konto haben.",
|
||
"defaultLanguage": "Standard-Sprache",
|
||
"defaultLanguageDescription": "Wird für neue Nutzer und als Fallback verwendet.",
|
||
"defaultUserTimezone": "Standard-Zeitzone für neue Konten",
|
||
"defaultUserTimezoneDescription": "Wird für neue Konten ohne erkannte Browser-Zeitzone verwendet. Bestehende Nutzer sind nicht betroffen.",
|
||
"defaultUserTimezoneFallback": "Europe/Berlin (Standard)",
|
||
"servicesGlobal": "Dienste (global)",
|
||
"servicesGlobalDescription": "Deaktivierte Dienste stehen keinem Nutzer zur Verfügung.",
|
||
"telegramGlobal": "Telegram-Benachrichtigungen erlauben.",
|
||
"ntfyGlobal": "ntfy-Benachrichtigungen erlauben.",
|
||
"webPushGlobal": "Browser-Push-Benachrichtigungen erlauben.",
|
||
"integrationWebPush": "Web Push",
|
||
"offlineGeoLabel": "Geodaten",
|
||
"offlineGeoEnabled": "Offline (GeoLite2)",
|
||
"offlineGeoFallback": "Online ({host}) — GeoLite2-Datenbanken einbinden und GEOLITE2_DIR setzen",
|
||
"apiGlobal": "API-Endpunkte und API-Tokens erlauben.",
|
||
"umamiTitle": "Umami",
|
||
"umamiDescription": "Web-Analyse mit Umami",
|
||
"glitchtipTitle": "GlitchTip",
|
||
"glitchtipDescription": "Fehler-Tracking mit GlitchTip",
|
||
"webPushVapidTitle": "Web Push VAPID",
|
||
"umamiEnabled": "Umami-Tracking aktivieren.",
|
||
"umamiScriptUrl": "Umami Script-URL",
|
||
"umamiScriptUrlPlaceholder": "https://analytics.example.com/script.js",
|
||
"umamiWebsiteId": "Umami Website-ID",
|
||
"umamiWebsiteIdPlaceholder": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
||
"glitchtipEnabled": "GlitchTip Fehler-Tracking aktivieren.",
|
||
"glitchtipDsn": "GlitchTip DSN",
|
||
"glitchtipDsnPlaceholder": "https://<public-key>@glitchtip.example.com/<project-id>",
|
||
"glitchtipEnvironment": "GlitchTip Environment",
|
||
"glitchtipEnvironmentPlaceholder": "production",
|
||
"glitchtipTargetOn": "Fehlerberichte gehen an {host}.",
|
||
"glitchtipTargetOff": "Fehlerberichte bleiben auf diesem Host. Es wird nichts verschickt.",
|
||
"glitchtipTargetNoTarget": "Fehler-Tracking ist an, aber kein Ziel gesetzt, also wird nichts verschickt.",
|
||
"glitchtipUnproven": "Unbestätigt",
|
||
"glitchtipDeliveryUnproven": "Ein Ziel ist gesetzt, aber noch kein Bericht hat diesen Host verlassen. Drücke Test, um zu sehen, ob es einen annimmt.",
|
||
"glitchtipDeliveryStale": "In den letzten {hours} h hat kein Bericht diesen Host verlassen. Drücke Test, um zu prüfen, ob das Ziel noch annimmt.",
|
||
"glitchtipDeliveryFailed": "Der letzte Bericht kam nicht durch ({reason}).",
|
||
"webPushVapidDescription": "Konfiguriere VAPID-Schlüssel und Subject direkt hier, damit Browser-Push ohne ENV-Variablen funktioniert.",
|
||
"webPushVapidPublicKey": "VAPID Public Key",
|
||
"webPushVapidPublicKeyPlaceholder": "BElx... (Base64URL)",
|
||
"webPushVapidPrivateKey": "VAPID Private Key",
|
||
"webPushVapidPrivateKeyPlaceholder": "Optional: neuen Private Key eintragen",
|
||
"webPushVapidSubject": "VAPID Subject",
|
||
"webPushVapidSubjectPlaceholder": "mailto:deine-adresse@example.com",
|
||
"webPushVapidGenerate": "Schlüssel erzeugen",
|
||
"webPushVapidGenerating": "Wird erzeugt…",
|
||
"webPushVapidGenerated": "VAPID-Schlüssel erzeugt. Betreff speichern, um abzuschließen.",
|
||
"webPushVapidGenerateFailed": "VAPID-Schlüssel konnten nicht erzeugt werden.",
|
||
"webPushVapidGenerateConfirm": "VAPID-Schlüssel sind bereits konfiguriert. Ein neues Schlüsselpaar macht alle Browser-Push-Abos ungültig — jedes Gerät muss sich neu anmelden. Fortfahren?",
|
||
"webPushVapidGenerateConfirmTitle": "VAPID-Schlüssel neu erzeugen?",
|
||
"webPushVapidRegenerate": "Neu erzeugen",
|
||
"configured": "Konfiguriert",
|
||
"monitoringTestSuccess": "Testevent wurde gesendet",
|
||
"monitoringTestFailed": "Monitoring-Test fehlgeschlagen",
|
||
"assistant": {
|
||
"title": "Assistenz",
|
||
"description": "Jeder Schalter stoppt die KI-Arbeit, die er abdeckt, und blendet ihren Text aus, Daten und Werte laden weiter.",
|
||
"master": {
|
||
"title": "Assistent aktiv",
|
||
"description": "Hauptschalter für alle KI-Funktionen. Ist er aus, wird nichts an ein Modell gesendet, und alle Schalter darunter sind aus."
|
||
},
|
||
"coach": {
|
||
"title": "Coach",
|
||
"description": "Chat, Pflege des Coach-Gedächtnisses und KI-Hinweise. Gespeicherte Gespräche bleiben lesbar und löschbar."
|
||
},
|
||
"briefing": {
|
||
"title": "Tagesbriefing",
|
||
"description": "Das Tagesbriefing, seine Einleitung an anderen Stellen der App und Zeitraum-Zusammenfassungen, die ein Modell schreibt."
|
||
},
|
||
"insightStatus": {
|
||
"title": "Statusnotizen",
|
||
"description": "Kurze Notizen, die ein Modell pro Messwert und Kennzahl schreibt, Trainingsnotizen und Reaktionszeilen. Der größte Anteil am Token-Verbrauch."
|
||
},
|
||
"documentAi": {
|
||
"title": "Dokumente lesen",
|
||
"description": "KI-Lesen gespeicherter Dokumente, Scans von Laborbefunden und das Erkennen von Medikamenten aus Text. Der größte Anteil der Daten, die den Server verlassen."
|
||
}
|
||
},
|
||
"modules": {
|
||
"title": "Modulverfügbarkeit",
|
||
"description": "Schalte ein Modul für den gesamten Server ab.",
|
||
"saveError": "Modulverfügbarkeit konnte nicht aktualisiert werden.",
|
||
"detail": "Ein hier deaktiviertes Modul ist für jedes Konto aus — unabhängig von den persönlichen Einstellungen. Kerndaten (Gewicht, Blutdruck, Puls, Medikamente) sind immer aktiv und lassen sich nicht abschalten.",
|
||
"coachFollowsSwitch": "Folgt dem Coach-Schalter unter Assistenz."
|
||
},
|
||
"invites": {
|
||
"title": "Einladungen",
|
||
"description": "Einladungslinks für die Registrierung — funktionieren auch bei geschlossener Registrierung.",
|
||
"create": "Einladung erstellen",
|
||
"createTitle": "Einladung erstellen",
|
||
"createDescription": "Der Link erlaubt eine Registrierung auch bei geschlossener Registrierung.",
|
||
"ttlLegend": "Gültig für",
|
||
"createDays": "{days} Tage",
|
||
"maxUsesLabel": "Maximale Nutzungen",
|
||
"maxUsesHint": "Wie viele Registrierungen dieser Link zulässt (1–50).",
|
||
"createConfirm": "Einladung erstellen",
|
||
"createdToast": "Einladung erstellt",
|
||
"createError": "Einladung konnte nicht erstellt werden.",
|
||
"tokenTitle": "Einladungslink",
|
||
"tokenOnceHint": "Nur jetzt kopierbar — kopiere den Link oder lass den QR-Code scannen.",
|
||
"hashExplainer": "Gespeichert wird nur ein Hash des Links — er kann später nicht erneut angezeigt werden. Geht er verloren: Einladung widerrufen und neu erstellen.",
|
||
"copyLink": "Link kopieren",
|
||
"copiedToast": "Link kopiert",
|
||
"copyError": "Kopieren fehlgeschlagen.",
|
||
"qrAlt": "QR-Code des Einladungslinks",
|
||
"loadError": "Einladungen konnten nicht geladen werden.",
|
||
"emptyTitle": "Noch keine Einladungen",
|
||
"emptyDescription": "Erstelle einen Einladungslink, um jemanden trotz geschlossener Registrierung aufzunehmen.",
|
||
"colStatus": "Status",
|
||
"colCreated": "Erstellt",
|
||
"colExpires": "Läuft ab",
|
||
"colUses": "Nutzungen",
|
||
"colRedeemedBy": "Eingelöst von",
|
||
"colActions": "Aktionen",
|
||
"byCreator": "von {by}",
|
||
"expiresInDaysOne": "in 1 Tag",
|
||
"expiresInDaysOther": "in {count} Tagen",
|
||
"statusActive": "Aktiv",
|
||
"statusExpired": "Abgelaufen",
|
||
"statusExhausted": "Aufgebraucht",
|
||
"statusRevoked": "Widerrufen",
|
||
"redeemerDeleted": "gelöschtes Konto",
|
||
"redeemedByMore": "{username} + {count} weitere",
|
||
"redemptionsTitle": "{count} Einlösungen",
|
||
"revoke": "Widerrufen",
|
||
"revokeAria": "Einladung widerrufen",
|
||
"revokeConfirmTitle": "Einladung widerrufen?",
|
||
"revokeConfirmBody": "Der Einladungslink wird sofort ungültig. Bereits registrierte Konten bleiben bestehen, die Einlösungs-Historie bleibt sichtbar.",
|
||
"revokeConfirmAction": "Widerrufen",
|
||
"cancel": "Abbrechen",
|
||
"revokedToast": "Einladung widerrufen.",
|
||
"revokeError": "Einladung konnte nicht widerrufen werden."
|
||
},
|
||
"userManagement": "Nutzerverwaltung",
|
||
"userManagementDescription": "Konten verwalten: Rollen, Passwort-Resets und erzwungene Abmeldungen.",
|
||
"userName": "Name",
|
||
"userEmail": "E-Mail",
|
||
"userRole": "Rolle",
|
||
"userPasskeys": "Passkeys",
|
||
"userCreated": "Erstellt",
|
||
"userActions": "Aktionen",
|
||
"editUser": "Nutzer bearbeiten",
|
||
"editUserTitle": "Nutzer bearbeiten: {name}",
|
||
"demoteToUser": "Zu Nutzer degradieren",
|
||
"promoteToAdmin": "Zum Admin befördern",
|
||
"toUser": "Zum Nutzer",
|
||
"toAdmin": "Zum Admin",
|
||
"ownRoleUnchangeable": "Eigene Rolle nicht änderbar",
|
||
"resetPassword": "Passwort zurücksetzen",
|
||
"resetPasswordTitle": "Passwort zurücksetzen: {name}",
|
||
"newPassword": "Neues Passwort",
|
||
"newPasswordPlaceholder": "Mindestens 12 Zeichen",
|
||
"passwordReset": "Passwort wurde zurückgesetzt",
|
||
"reset": "Zurücksetzen",
|
||
"loadingUsers": "Nutzer werden geladen…",
|
||
"apiTokens": "API-Tokens",
|
||
"apiTokensDescription": "Alle aktiven und widerrufenen API-Tokens über alle Konten hinweg.",
|
||
"tokenUser": "Nutzer",
|
||
"tokenName": "Name",
|
||
"tokenPermissions": "Berechtigungen",
|
||
"tokenPermissionAll": "Alle",
|
||
"tokenPermissionAllTooltip": "Wildcard-Berechtigung — dieses Token kann jede API-Route ansprechen.",
|
||
"tokenStatus": "Status",
|
||
"tokenLastUsed": "Zuletzt benutzt",
|
||
"tokenCreated": "Erstellt",
|
||
"tokenNeverUsed": "Nie",
|
||
"tokensEmptyTitle": "Noch keine API-Tokens",
|
||
"tokensEmptyDescription": "Tokens werden bei der Anmeldung nativer Clients oder über Einstellungen → Account ausgestellt.",
|
||
"loginOverview": "Anmeldeübersicht",
|
||
"loginOverviewDescription": "Anmelde- und Auth-Ereignisse aller Konten, filterbar und als CSV exportierbar.",
|
||
"allAuthEvents": "Alle Auth-Ereignisse",
|
||
"failedOnly": "Nur fehlgeschlagene",
|
||
"loginEmptyDescription": "Anmeldungen, Abmeldungen und Passkey-Änderungen erscheinen hier.",
|
||
"loginEmptyFailedTitle": "Keine fehlgeschlagenen Anmeldungen",
|
||
"loginEmptyFailedDescription": "Das ist der sichere Zustand. Wechsle zu „Alle Auth-Ereignisse“, um erfolgreiche Anmeldungen zu sehen.",
|
||
"loginEmptyResetFilter": "Alle Ereignisse anzeigen",
|
||
"showingEntries": "Zeigt {count} von {total} Auth-Einträgen",
|
||
"status": "Status",
|
||
"action": "Aktion",
|
||
"ip": "IP",
|
||
"location": "Standort",
|
||
"timestamp": "Zeitpunkt",
|
||
"provider": "Anbieter",
|
||
"providerPassword": "Passwort",
|
||
"providerPasskey": "Passkey",
|
||
"providerApiToken": "API-Token",
|
||
"providerWithings": "Withings",
|
||
"providerUnknown": "Unbekannt",
|
||
"outcome": "Ergebnis",
|
||
"outcomeSuccess": "Erfolgreich",
|
||
"outcomeFailed": "Fehlgeschlagen",
|
||
"auditDetails": "Details",
|
||
"deleteAllData": "Alle Daten global löschen",
|
||
"deleteAllDescription": "Löscht alle Datensätze aller Konten; die Konten selbst und ihre Zugangsdaten bleiben erhalten.",
|
||
"deleteAllConfirm": "Alle Daten löschen?",
|
||
"deleteAllConfirmDescription": "Dieser Vorgang löscht unwiderruflich alle Datensätze aller Konten in der gesamten Datenbank, nicht eine Auswahl von Tabellen. Erhalten bleiben: die Nutzerkonten und ihre Anmelde-Zugangsdaten, die Konfiguration der Instanz und die Berechtigungen, über die betreute Profile erreichbar bleiben. Ein Beleg für diesen Vorgang wird danach ins Audit-Log geschrieben; die Audit-Historie davor geht mit allem anderen.",
|
||
"deleteButton": "Alle Daten löschen",
|
||
"deleteAllPromptLabel": "Tippe {token} zum Fortfahren",
|
||
"finalDelete": "Endgültig löschen",
|
||
"deletedResult": "Gelöscht: {rows} Zeilen in {tables} Tabellen. Nutzerkonten und Anmelde-Zugangsdaten bleiben erhalten.",
|
||
"authRegister": "Registrierung",
|
||
"authLogin": "Anmeldung",
|
||
"authLoginPasskey": "Passkey-Anmeldung",
|
||
"authLoginPassword": "Passwort-Anmeldung",
|
||
"authLoginFailed": "Fehlgeschlagen",
|
||
"authLogout": "Abmeldung",
|
||
"authPasskeyRegister": "Passkey hinzugefügt",
|
||
"authPasskeyDelete": "Passkey gelöscht",
|
||
"authTokenAutoissueNative": "Native-Client-Token ausgestellt",
|
||
"authTokenRefresh": "Token erneuert",
|
||
"authTokenRevoke": "Token widerrufen",
|
||
"medicationReminders": "Medikamentenerinnerungen",
|
||
"medicationRemindersDescription": "Schwellenwerte für die Farbübergänge der Erinnerungs-Badges auf den Medikamentenkarten.",
|
||
"notificationHealth": {
|
||
"title": "Zustellungsstatus",
|
||
"description": "Zustellungsergebnisse aller Nutzer der letzten 24 Stunden.",
|
||
"empty": "In diesem Zeitraum wurden keine Benachrichtigungen gesendet.",
|
||
"ok": "OK",
|
||
"error": "Fehlgeschlagen",
|
||
"skipped": "Übersprungen",
|
||
"autoDisabled": "Automatisch deaktivierte Kanäle"
|
||
},
|
||
"reminderLateMinutes": "Spät-Schwellenwert (Minuten)",
|
||
"reminderLateMinutesDescription": "Minuten nach Fenster-Ende bis der Badge von Gelb auf Orange wechselt.",
|
||
"reminderMissedMinutes": "Verpasst-Schwellenwert (Minuten)",
|
||
"reminderMissedMinutesDescription": "Minuten nach Fenster-Ende bis die Einnahme als verpasst gilt.",
|
||
"notificationTestSend": "Test senden",
|
||
"notificationTestSuccess": "Test-Notification wurde gesendet",
|
||
"notificationTestFailed": "Test-Notification konnte nicht gesendet werden",
|
||
"reminderCheckRun": "Reminder-Check ausführen",
|
||
"reminderCheckSuccess": "Reminder-Check abgeschlossen",
|
||
"reminderCheckFailed": "Reminder-Check konnte nicht ausgeführt werden",
|
||
"reminderCheckResults": "Ergebnisse",
|
||
"reminderCheckNotifOn": "Benachrichtigungen an",
|
||
"reminderCheckNotifOff": "Benachrichtigungen aus",
|
||
"reminderCheckEventsToday": "Heutige Events",
|
||
"reminderCheckNotifSent": "Gesendet",
|
||
"shell": {
|
||
"overview": "Übersicht",
|
||
"sectionsNav": "Admin-Bereiche"
|
||
},
|
||
"overview": {
|
||
"snapshotTitle": "System-Snapshot",
|
||
"snapshotDatabase": "Datenbank",
|
||
"snapshotWorker": "Worker",
|
||
"snapshotStarted": "Gestartet",
|
||
"snapshotOfflineGeo": "Geodaten",
|
||
"snapshotOfflineGeoOn": "Offline (GeoLite2)",
|
||
"snapshotOfflineGeoOff": "Online ({host})",
|
||
"versionTileTitle": "Version",
|
||
"versionTileVersion": "Laufende Version",
|
||
"versionTileBuildSha": "Build-SHA",
|
||
"versionTileBuiltAt": "Gebaut am",
|
||
"versionTileUpdateAvailable": "Update verfügbar: {tag}",
|
||
"versionTileUpToDate": "Aktuell",
|
||
"versionTileCheckOff": "Update-Prüfung aus",
|
||
"snapshotLoadError": "System-Snapshot konnte nicht geladen werden.",
|
||
"snapshotLoading": "Snapshot wird geladen…",
|
||
"auditTitle": "Letzte Aktivitäten",
|
||
"auditEmpty": "Keine aktuellen Audit-Einträge.",
|
||
"auditLoadError": "Letzte Aktivitäten konnten nicht geladen werden.",
|
||
"auditLoading": "Aktivitäten werden geladen…",
|
||
"auditViewAll": "Alle anzeigen"
|
||
},
|
||
"section": {
|
||
"system-status": {
|
||
"title": "Systemstatus",
|
||
"subtitle": "Worker, Datenbank und Integrationen im Überblick."
|
||
},
|
||
"general": {
|
||
"title": "Allgemein",
|
||
"subtitle": "Registrierung, Standardsprache und weitere globale Schalter."
|
||
},
|
||
"services": {
|
||
"title": "Dienste",
|
||
"subtitle": "Benachrichtigungskanäle und Integrationen systemweit aktivieren oder deaktivieren."
|
||
},
|
||
"integrations": {
|
||
"title": "Integrationen",
|
||
"subtitle": "Umami, GlitchTip, Web Push und Bug-Reports konfigurieren."
|
||
},
|
||
"coach": {
|
||
"title": "Coach",
|
||
"subtitle": "Assistenz-Oberflächen, Server-Schlüssel und Feedback-Qualität an einem Ort."
|
||
},
|
||
"reminders": {
|
||
"title": "Erinnerungen",
|
||
"subtitle": "Schwellwerte für Medikamentenerinnerungen anpassen."
|
||
},
|
||
"users": {
|
||
"title": "Nutzer",
|
||
"subtitle": "Konten, Rollen und aktive Sitzungen verwalten.",
|
||
"filter": {
|
||
"all": "Alle",
|
||
"admin": "Admins",
|
||
"user": "Nutzer"
|
||
},
|
||
"forceLogout": "Abmeldung erzwingen",
|
||
"forceLogoutConfirmTitle": "{name} abmelden?",
|
||
"forceLogoutConfirmBody": "Alle aktiven Sitzungen dieses Nutzers werden widerrufen. Auf allen Geräten ist eine erneute Anmeldung erforderlich.",
|
||
"forceLogoutSuccess": "{name} aus {count} Sitzung(en) abgemeldet",
|
||
"forceLogoutFailed": "Abmeldung fehlgeschlagen",
|
||
"cannotLogoutSelf": "Eigene Sitzungen können nicht beendet werden",
|
||
"emptyTitle": "Keine Nutzer in dieser Ansicht",
|
||
"emptyDescription": "Es gibt keine Nutzer, die zum aktuellen Filter passen.",
|
||
"emptyResetFilter": "Alle Nutzer anzeigen"
|
||
},
|
||
"invites": {
|
||
"title": "Einladungen",
|
||
"subtitle": "Einladungslinks erstellen, nachverfolgen und widerrufen."
|
||
},
|
||
"api-tokens": {
|
||
"title": "API-Tokens",
|
||
"subtitle": "Aktive Bearer-Tokens für native Clients und Integrationen."
|
||
},
|
||
"login-overview": {
|
||
"title": "Login-Übersicht",
|
||
"subtitle": "Audit-Spur für Authentifizierungs- und Admin-Ereignisse."
|
||
},
|
||
"auditLog": {
|
||
"filterActor": "Akteur (Nutzer-ID oder -Name)",
|
||
"filterAction": "Aktion",
|
||
"filterActionAll": "Alle Aktionen",
|
||
"filterTarget": "Ziel (ID oder Pfad)",
|
||
"filterDate": "Zeitraum",
|
||
"range24h": "Letzte 24 Stunden",
|
||
"range7d": "Letzte 7 Tage",
|
||
"range30d": "Letzte 30 Tage",
|
||
"rangeAll": "Gesamter Zeitraum",
|
||
"perPage": "Pro Seite",
|
||
"prev": "Zurück",
|
||
"next": "Weiter",
|
||
"pageOf": "Seite {page} von {total}",
|
||
"export": "CSV exportieren",
|
||
"empty": "Keine Audit-Einträge passen zu den aktuellen Filtern."
|
||
},
|
||
"app-logs": {
|
||
"title": "App-Logs",
|
||
"subtitle": "Letzte strukturierte Wide-Events dieses Prozesses anzeigen.",
|
||
"processNote": "Es werden nur App-Prozess-Logs angezeigt — Worker-Logs landen in Loki, sofern die Integration konfiguriert ist.",
|
||
"filterTraceId": "Trace-ID",
|
||
"filterAction": "Aktion enthält…",
|
||
"filterLevel": "Level",
|
||
"levelAll": "Alle Level",
|
||
"filterRange": "Zeitfenster",
|
||
"range15m": "Letzte 15 Minuten",
|
||
"range1h": "Letzte Stunde",
|
||
"range6h": "Letzte 6 Stunden",
|
||
"rangeAll": "Gesamter Puffer",
|
||
"colLevel": "Level",
|
||
"colTimestamp": "Zeitstempel",
|
||
"colAction": "Aktion",
|
||
"colDuration": "Dauer",
|
||
"colTraceId": "Trace",
|
||
"viewDetails": "Details anzeigen für {action} um {timestamp}",
|
||
"showing": "{count} von bis zu {bufferMax} gepufferten Events angezeigt",
|
||
"empty": "Puffer ist leer",
|
||
"emptyDescription": "Es passen noch keine Events zu den Filtern. Nach etwas Traffic auf Aktualisieren tippen.",
|
||
"refresh": "Aktualisieren",
|
||
"eventDetails": "Event-Details",
|
||
"closeDetails": "Details schließen",
|
||
"processDetail": "Der Puffer ist flüchtig und auf 500 Einträge begrenzt."
|
||
},
|
||
"backups": {
|
||
"title": "Backups",
|
||
"subtitle": "Wöchentliche Daten-Snapshots pro Nutzer in PostgreSQL.",
|
||
"description": "Jeder Nutzer hat einen rollierenden Snapshot pro Backup-Typ. Größen zeigen den verschlüsselten Blob. Download entschlüsselt den Snapshot für den anfragenden Admin; der Chiffretext bleibt in der Datenbank.",
|
||
"runNow": "Jetzt sichern",
|
||
"runEnqueued": "Backup-Job eingeplant",
|
||
"runFailed": "Backup konnte nicht eingeplant werden",
|
||
"loading": "Backups werden geladen…",
|
||
"loadError": "Backups konnten nicht geladen werden.",
|
||
"emptyTitle": "Noch keine Backups",
|
||
"emptyDescription": "Backups laufen automatisch jeden Sonntag um 03:00 Uhr — oder erstelle jetzt einen ersten Snapshot.",
|
||
"colUser": "Nutzer",
|
||
"colType": "Typ",
|
||
"typeWeeklyAuto": "Wöchentlich (auto)",
|
||
"typeManual": "Manuell",
|
||
"colSize": "Größe",
|
||
"colCreatedAt": "Letzter Snapshot",
|
||
"colActions": "Aktionen",
|
||
"retentionLabel": "Aufbewahrung: {days} Tage",
|
||
"scheduleStaleTitle": "Die wöchentliche Sicherung läuft nicht mehr",
|
||
"scheduleStaleDescription": "Die neueste geplante Kopie ist {days} Tage alt. Ein funktionierender wöchentlicher Lauf lässt keine älter als {threshold} Tage werden.",
|
||
"scheduleFailedTitle": "Der letzte geplante Sicherungslauf ist fehlgeschlagen",
|
||
"scheduleFailedDescription": "{when}: {reason}",
|
||
"scheduleFailedNoReason": "kein Grund aufgezeichnet",
|
||
"scheduleRemedy": "Starte jetzt eine Sicherung und prüfe, ob eine frische Zeile erscheint. Schlägt sie erneut fehl, nennt das Worker-Protokoll das Konto, an dem sie stehen geblieben ist.",
|
||
"activity": {
|
||
"running": "Läuft seit {when}.",
|
||
"interruptedTitle": "Ein Lauf ist mittendrin abgebrochen und nicht zurückgekehrt",
|
||
"interruptedAccount": "{username}: begonnen {when}, nie beendet",
|
||
"interruptedRemedy": "Wahrscheinlich wurde die App neu gestartet oder ihr ging beim Schreiben dieser Kopie der Speicher aus. Der nächste Lauf nimmt diese Konten zuletzt, damit alle anderen zuerst ihre Kopie bekommen. Passiert es wieder, gib dem Container mehr Speicher."
|
||
},
|
||
"download": "Herunterladen",
|
||
"downloadAria": "Backup für {username} herunterladen",
|
||
"downloadFailed": "Download fehlgeschlagen",
|
||
"downloadStarted": "Download gestartet",
|
||
"uploadTitle": "Backup hochladen",
|
||
"uploadDescription": "Eine Backup-Datei validieren und als manuellen Snapshot speichern. Das Wiederherstellen ist ein separater Schritt.",
|
||
"uploadButton": "Datei hochladen",
|
||
"uploadHelp": "HealthLog-Backup als .json oder .json.gz. Die Datei wird vor dem Hochladen komprimiert; komprimiert darf sie bis zu 512 MB groß sein.",
|
||
"uploadSuccess": "Backup hochgeladen ({count} Datensätze)",
|
||
"uploadFailed": "Upload fehlgeschlagen",
|
||
"restore": "Wiederherstellen",
|
||
"restoreAria": "Backup für {username} wiederherstellen",
|
||
"restoreTitle": "Aus Backup wiederherstellen",
|
||
"restoreDescription": "Dies ersetzt ALLE aktuellen Daten von {username} mit dem Snapshot von {when}. Vorhandene Messungen, Medikamente, Einnahmen, Stimmungseinträge, Benachrichtigungs-Kanäle, Push-Abos und Telegram-Lösch-Aufträge werden entfernt.",
|
||
"restoreInstanceSettingsLabel": "Instanzweite Einstellungen mitwiederherstellen",
|
||
"restoreInstanceSettingsHint": "Registrierung, MFA-Pflicht, Standardsprache, Modulverfügbarkeit, Benachrichtigungs- und KI-Konfiguration — aus dem Snapshot, gültig für alle auf dieser Installation. Leer lassen, um nur dieses Konto wiederherzustellen.",
|
||
"restorePromptLabel": "Tippe RESTORE zum Fortfahren",
|
||
"previewTitle": "Inhalt der Sicherung",
|
||
"previewLoading": "Inhalt wird gelesen…",
|
||
"previewUnavailable": "Inhalt konnte nicht gelesen werden — die Wiederherstellung bleibt möglich.",
|
||
"previewStillReading": "Diese Sicherung stammt aus einer früheren Version, deshalb wird ihr Inhalt vollständig gelesen. Bei einem großen Datenbestand dauert das eine Weile. Öffne diesen Dialog in ein paar Minuten noch einmal, dann steht er hier. Die Wiederherstellung hängt nicht davon ab.",
|
||
"previewEmpty": "Die Datei enthält keine Datensätze.",
|
||
"previewOther": "Weitere Datensätze",
|
||
"previewMeasurements": "Messwerte",
|
||
"previewMedications": "Medikamente und Einnahmen",
|
||
"previewMood": "Stimmungseinträge",
|
||
"previewLabs": "Laborwerte",
|
||
"previewDocuments": "Dokumente",
|
||
"previewWorkouts": "Workouts",
|
||
"previewCycles": "Zyklusdaten",
|
||
"previewVisits": "Arztbesuche",
|
||
"previewVaccinations": "Impfungen",
|
||
"previewReminders": "Vorsorge-Erinnerungen",
|
||
"previewCustomMetrics": "Eigene Messgrößen",
|
||
"previewHealthScores": "Score-Verlauf",
|
||
"restoreConfirm": "Jetzt wiederherstellen",
|
||
"restoreInProgress": "Wiederherstellung läuft…",
|
||
"restoreSuccess": "Wiederherstellung abgeschlossen",
|
||
"restoreFailed": "Wiederherstellung fehlgeschlagen",
|
||
"restoreSkippedToast": "Wiederherstellung abgeschlossen, {links} Symptomverknüpfungen konnten nicht zurückgeschrieben werden",
|
||
"restoreSkippedTitle": "{links} Verknüpfungen wurden nicht wiederhergestellt",
|
||
"restoreSkippedDescription": "Die Datei verweist auf Einträge, die diese Installation nicht kennt. Alles andere wurde wiederhergestellt. Dieselbe Liste steht im Audit-Log.",
|
||
"restoreSkippedLinks": "{count} Verknüpfungen",
|
||
"restoreSkippedCycleSymptom": "Zyklussymptom",
|
||
"restoreSkippedIllnessSymptom": "Krankheitssymptom",
|
||
"restoreSkippedMoodFactor": "Stimmungsfaktor",
|
||
"restoreSkippedMoodTag": "Stimmungs-Tag",
|
||
"restoreSkippedVisitReference": "Besuchsverknüpfung",
|
||
"restoreSkippedVaccinationReference": "Impfverknüpfung",
|
||
"restoreSkippedCheckupClosure": "Vorsorge-Abschluss",
|
||
"restoreSkippedReminderReference": "Erinnerungsverknüpfung",
|
||
"restoreSkippedCoachAttachment": "Coach-Dokumentverknüpfung",
|
||
"restoreSkippedCoachReference": "Coach-Verweis",
|
||
"restoreSkippedDocumentConditionLink": "Dokumentzuordnung",
|
||
"restoreSkippedExtractedFact": "Dokumentbefund",
|
||
"restoreSkippedFactCommitment": "Befundübernahme",
|
||
"docsLink": "Dokumentation",
|
||
"restoreSkippedPersonalRecordReference": "Herkunft einer Bestleistung",
|
||
"restoreSkippedEcgReference": "Herkunft eines EKG-Streifens",
|
||
"restoreSkippedMedicationTarget": "Zielwert-Analyt einer Medikation",
|
||
"restoreSkippedScheduleRevisionLink": "Abfolge der Schema-Zeiträume",
|
||
"restoreSkippedAccountSetting": "Kontoeinstellung",
|
||
"restoreMissingTitle": "Wiederherstellung abgelehnt — die Datei ist unvollständig",
|
||
"restoreMissingDescription": "Das Manifest der Datei sagt, sie enthalte den folgenden Abschnitt, und sie enthält ihn nicht. Es wurde nichts geändert: Eine Wiederherstellung ersetzt eine ganze Datenklasse, ein fehlender Abschnitt hätte sie also geleert.",
|
||
"restoreMissingRemedy": "Nimm eine Notfall-Sicherung oder exportiere das Konto erneut und lade die neue Datei hoch. Ein Abschnitt, den das Manifest ausdrücklich als weggelassen ausweist, ist etwas anderes und wird normal wiederhergestellt.",
|
||
"restoreMissingDocuments": "Dokumente",
|
||
"restoreMissingWorkouts": "Workouts",
|
||
"restoreMissingMentalHealth": "Psychische Fragebögen",
|
||
"restoreMissingConsent": "Einwilligungsnachweise",
|
||
"offhost": {
|
||
"title": "Kopien außer Haus",
|
||
"description": "Wann dieser Host zuletzt die verschlüsselte Kopie jedes Kontos in deinen Bucket gelegt hat.",
|
||
"loadError": "Der Status außer Haus konnte nicht geladen werden.",
|
||
"notConfiguredTitle": "Sicherung außer Haus ist nicht eingerichtet",
|
||
"notConfiguredDescription": "Es sind weder Bucket noch Schlüssel gesetzt, also verlässt keine Sicherung diesen Host. Setze BACKUP_S3_ENDPOINT, BACKUP_S3_BUCKET, BACKUP_S3_ACCESS_KEY, BACKUP_S3_SECRET_KEY und BACKUP_ENCRYPTION_KEY, um den nächtlichen Upload einzuschalten.",
|
||
"stateFresh": "Frisch",
|
||
"stateDue": "Fällig",
|
||
"stateStale": "Veraltet",
|
||
"stateNever": "Nie",
|
||
"stateUnknown": "Noch kein Eintrag",
|
||
"neverDetail": "Für dieses Konto ist nichts angekommen. Zuletzt geprüft {when}.",
|
||
"unknownDetail": "Noch kein nächtlicher Lauf hat dieses Konto erfasst.",
|
||
"age": "vor {hours} h",
|
||
"scheduleNote": "Der Upload läuft alle {hours} h. Frisch heißt innerhalb eines Laufs, fällig heißt ein Lauf blieb ohne Ergebnis, veraltet heißt zwei.",
|
||
"lifecycleConfigured": "Der Bucket löscht Kopien nach {days} Tagen über seine eigene Lifecycle-Regel.",
|
||
"lifecycleMissing": "Der Bucket hat keine Lifecycle-Regel, jede nächtliche Kopie bleibt also für immer liegen. Lege eine Regel an, die Objekte nach BACKUP_RETENTION_DAYS löscht.",
|
||
"lifecycleUnknown": "Ob der Bucket alte Kopien löscht, ließ sich nicht lesen: Die Zugangsdaten dürfen seine Lifecycle-Regel nicht lesen. Prüfe, dass eine Regel Objekte nach BACKUP_RETENTION_DAYS löscht.",
|
||
"pendingDeletions": "Kopien von {count} gelöschten oder geleerten Konten liegen noch im Bucket und werden entfernt.",
|
||
"pendingDeletionsFailing": "Kopien von {count} gelöschten oder geleerten Konten liegen noch im Bucket, weil er das Löschen verweigert hat ({error}). Gib den Zugangsdaten DeleteObject; das Löschen wird jede Nacht wiederholt."
|
||
},
|
||
"restoreStarted": "Wiederherstellung gestartet. Der Fortschritt steht über der Liste.",
|
||
"restoreActive": "Für dieses Konto läuft schon eine Wiederherstellung. Warte, bis sie fertig ist.",
|
||
"restoreJobQueuedTitle": "Wiederherstellung von {username} wartet auf den Start",
|
||
"restoreJobQueuedNote": "Sie beginnt, sobald der Hintergrunddienst sie übernimmt.",
|
||
"restoreJobRunningTitle": "{username} wird wiederhergestellt",
|
||
"restoreJobRunningNote": "Das Konto zeigt seine bisherigen Daten, bis die Wiederherstellung fertig ist. Du kannst die Seite verlassen; die Wiederherstellung läuft auf dem Server weiter.",
|
||
"restoreJobResumed": "Nach einem Neustart des Servers erneut gestartet.",
|
||
"restoreJobPhaseValidating": "Backup-Datei wird geprüft: {checked} Messwerte geprüft",
|
||
"restoreJobPhaseClearing": "Bisherige Daten des Kontos werden entfernt",
|
||
"restoreJobPhaseMeasurements": "Messwerte werden geschrieben: {done} von {total}",
|
||
"restoreJobPhaseSections": "Übrige Einträge werden geschrieben: {done} von {total} Bereichen",
|
||
"restoreJobPhaseRebuilding": "Diagramme und Zusammenfassungen werden neu berechnet",
|
||
"restoreJobSucceededTitle": "Wiederherstellung von {username} abgeschlossen",
|
||
"restoreJobSucceededDescription": "{count} Datensätze wiederhergestellt. Fertig {when}.",
|
||
"restoreJobFailedTitle": "Wiederherstellung von {username} nicht abgeschlossen",
|
||
"restoreJobFailedKept": "Es wurde nichts geändert. Das Backup bleibt erhalten, du kannst die Wiederherstellung also über seine Zeile erneut starten, ohne es noch einmal hochzuladen.",
|
||
"restoreFailureNotFound": "Das Backup wurde gelöscht, bevor die Wiederherstellung es lesen konnte.",
|
||
"restoreFailureChanged": "Das Backup wurde durch eine neuere Kopie ersetzt, während die Wiederherstellung wartete. Prüfe die neue Kopie und starte die Wiederherstellung dann erneut.",
|
||
"restoreFailureUndecryptable": "Das Backup ließ sich nicht entschlüsseln. Der Schlüssel, mit dem es geschrieben wurde, ist nicht mehr eingerichtet, oder die gespeicherte Kopie wurde verändert.",
|
||
"restoreFailureSchema": "Die Backup-Datei ist kein gültiges HealthLog-Backup.",
|
||
"restoreFailureVersion": "Das Backup stammt von einer neueren HealthLog-Version. Aktualisiere zuerst diesen Server.",
|
||
"restoreFailureOwnerMismatch": "Die Datei im Backup gehört zu einem anderen Konto als die Backup-Zeile.",
|
||
"restoreFailureOwnerMissing": "Das Konto, zu dem dieses Backup gehört, gibt es nicht mehr.",
|
||
"restoreFailureSectionMissing": "Die Datei ist unvollständig: Ihr Manifest nennt einen Bereich, den sie nicht enthält.",
|
||
"restoreFailureDocument": "Die Datei enthält Dokumente ohne deren Inhalt, wie ein portabler Export. Nimm eine Notfall-Sicherung.",
|
||
"restoreFailureTimeBudget": "Dieses Backup ist zu groß, um innerhalb des Zeitlimits des Hintergrundauftrags wiederhergestellt zu werden.",
|
||
"restoreFailureTransaction": "Die Datenbank hat die Wiederherstellung mittendrin abgelehnt, deshalb wurde alles zurückgerollt. Das Server-Log nennt den Fehler.",
|
||
"restoreFailureCauseTimeout": "Die Wiederherstellung hat länger gedauert, als die Datenbank zulässt, deshalb wurde alles zurückgerollt. War der Datenbank-Host ausgelastet, starte sie erneut, wenn er ruhiger ist. Das Server-Log nennt den Schritt.",
|
||
"restoreFailureCauseLock": "Die Wiederherstellung hat auf Einträge gewartet, die ein anderer Vorgang gerade geändert hat, deshalb wurde alles zurückgerollt. Starte die Wiederherstellung erneut.",
|
||
"restoreFailureCauseConstraint": "Die Datenbank hat einen Eintrag aus der Sicherung abgelehnt, deshalb wurde alles zurückgerollt. Das Server-Log nennt die Tabelle und die Regel.",
|
||
"restoreFailureCauseStorage": "Der Datenbank ist während der Wiederherstellung der Speicherplatz oder Arbeitsspeicher ausgegangen, deshalb wurde alles zurückgerollt. Schaffe Platz auf dem Datenbank-Host und starte die Wiederherstellung erneut.",
|
||
"restoreFailureCauseConnection": "Die Verbindung zur Datenbank ist während der Wiederherstellung abgerissen, deshalb wurde alles zurückgerollt. Prüfe, ob die Datenbank läuft, und starte die Wiederherstellung erneut.",
|
||
"restoreFailureInterrupted": "Die Wiederherstellung wurde durch einen Neustart des Servers unterbrochen und zurückgerollt. Bricht sie erneut ab, reicht dem Server wahrscheinlich der Arbeitsspeicher nicht.",
|
||
"restoreFailureNotStarted": "Der Hintergrunddienst hat die Wiederherstellung nicht übernommen. Prüfe, ob er läuft.",
|
||
"restoreFailureEnqueue": "Die Wiederherstellung konnte nicht an den Hintergrunddienst übergeben werden. Prüfe, ob er läuft.",
|
||
"restoreFailureAfterCommit": "Die Daten wurden wiederhergestellt, aber ein Schritt danach ist fehlgeschlagen. Diagramme holen das womöglich erst beim nächsten nächtlichen Lauf nach.",
|
||
"restoreFailureUnexpected": "Die Wiederherstellung ist an einem unerwarteten Fehler gescheitert und wurde zurückgerollt. Das Server-Log nennt den Fehler.",
|
||
"restoreFailureKeyMissing": "Die Sicherung braucht den Verschlüsselungsschlüssel {keys}, mit dem dieser Server sie nicht öffnen kann. Nimm den Schlüssel wieder in ENCRYPTION_KEYS auf, starte neu und starte die Wiederherstellung erneut.",
|
||
"restoreFailureForeignReference": "Die Datei verweist auf Einträge, die zu einem anderen Konto gehören. Es wurde nichts geschrieben.",
|
||
"previewKeyMissing": "Diese Sicherung lässt sich auf diesem Server nicht wiederherstellen: Sie braucht den Verschlüsselungsschlüssel {keys}. Nimm den Schlüssel zuerst wieder in ENCRYPTION_KEYS auf und starte neu.",
|
||
"restoreSkippedSymptomEpisodeReference": "Symptom-Eintrag mit Verknüpfung zu einer Erkrankung, die die Datei nicht enthält (ohne Verknüpfung behalten)",
|
||
"restoreSkippedCycleCiphertext": "Zyklus-Notiz oder -Bezeichnung mit einem Schlüssel verschlüsselt, den dieser Server nicht hat (Tag oder Symptom ohne sie behalten)",
|
||
"restoreSkippedMoodLabelCiphertext": "Name eines Stimmungs-Tags oder einer Gruppe mit einem Schlüssel verschlüsselt, den dieser Server nicht hat (ohne Namen behalten)",
|
||
"restoreSkippedVisitCiphertext": "Text zu Arztbesuch oder Praxis mit einem Schlüssel verschlüsselt, den dieser Server nicht hat (ohne ihn behalten)",
|
||
"restoreSkippedVaccinationCiphertext": "Impf-Notiz mit einem Schlüssel verschlüsselt, den dieser Server nicht hat (Impfung ohne sie behalten)"
|
||
},
|
||
"danger-zone": {
|
||
"title": "Gefahrenzone",
|
||
"subtitle": "Destruktive systemweite Operationen."
|
||
},
|
||
"about": {
|
||
"title": "Über",
|
||
"subtitle": "Version, Lizenz und Update-Status."
|
||
},
|
||
"module-availability": {
|
||
"title": "Module",
|
||
"subtitle": "Module für jedes Konto auf diesem Server aktivieren oder deaktivieren."
|
||
},
|
||
"encryption": {
|
||
"title": "Verschlüsselung",
|
||
"subtitle": "Verschlüsselungsabdeckung und Schlüsselrotations-Status für ruhende Daten.",
|
||
"loading": "Verschlüsselungsstatus wird geladen…",
|
||
"loadError": "Verschlüsselungsstatus konnte nicht geladen werden.",
|
||
"coverageTitle": "Abdeckung",
|
||
"coverageDescription": "Wie viele verschlüsselte Zeilen unter welcher Schlüssel-ID liegen.",
|
||
"activeKeyId": "Aktive Schlüssel-ID",
|
||
"configuredKeys": "Konfigurierte Schlüssel",
|
||
"totalRows": "Verschlüsselte Zeilen",
|
||
"staleRows": "Zeilen nicht auf dem aktiven Schlüssel",
|
||
"safeToDropLegacy": "Alter Schlüssel kann entfernt werden",
|
||
"rotationIncomplete": "{count} Zeilen brauchen noch eine Rotation",
|
||
"rotationTitle": "Schlüsselrotation",
|
||
"rotationDescription": "Jede verschlüsselte Spalte auf den aktiven Schlüssel neu verschlüsseln.",
|
||
"rotationState": "Status",
|
||
"lastRun": "Letzter Lauf: {scanned} geprüft, {rotated} rotiert, {errors} Fehler.",
|
||
"rotateNow": "Jetzt rotieren",
|
||
"rotateConfirmTitle": "Den gesamten Datensatz neu verschlüsseln?",
|
||
"rotateConfirmDescription": "Verschlüsselt jede verschlüsselte Spalte auf den aktiven Schlüssel neu. Es wird nie ein Schlüssel hinzugefügt oder entfernt, und ein erneuter Lauf ist sicher. Bei großen Konten kann das eine Weile dauern.",
|
||
"cancel": "Abbrechen",
|
||
"rotateConfirm": "Rotation starten",
|
||
"rotateEnqueued": "Rotation gestartet.",
|
||
"rotateFailed": "Rotation konnte nicht gestartet werden.",
|
||
"stepUpNeeded": "Ein frischer zweiter Faktor ist erforderlich. Bestätige deinen zweiten Faktor oder nutze das Kommandozeilen-Werkzeug, falls kein zweiter Faktor eingerichtet ist.",
|
||
"cliNote": "Für diesen Knopf ist ein zweiter Faktor nötig. Ohne ihn führen Betreiber scripts/rotate-encryption-key.ts aus einem Quellcode-Checkout dieser Version aus; die Schritte stehen in docs/ops/encryption-key-rotation.md.",
|
||
"columnsTitle": "Abdeckung pro Spalte",
|
||
"columnsDescription": "Jede verschlüsselte Spalte mit ihren Zeilenzahlen auf dem aktiven Schlüssel gegenüber älteren Schlüsseln.",
|
||
"colColumn": "Spalte",
|
||
"colTotal": "Gesamt",
|
||
"colActive": "Auf aktivem Schlüssel",
|
||
"colStale": "Veraltet",
|
||
"state": {
|
||
"idle": "Bereit",
|
||
"running": "Läuft",
|
||
"completed": "Abgeschlossen",
|
||
"failed": "Fehlgeschlagen"
|
||
},
|
||
"coverageDetail": "Es werden nur Schlüssel-IDs und Anzahlen gezeigt — niemals Schlüsselmaterial.",
|
||
"backupsTitle": "Schlüssel, die die Sicherungen noch brauchen",
|
||
"backupsDescription": "Ein alter Schlüssel bleibt nötig, solange eine Sicherung unten ihn noch aufführt.",
|
||
"backupsStoredLine": "Schlüssel {key}: {count} gespeicherte Kopien, die älteste vom {when}",
|
||
"backupsUnrecordedLine": "{count} gespeicherte Kopien stammen aus der Zeit, bevor Sicherungen ihre Schlüssel festhielten (die älteste vom {when}). Sie können jeden damals vorhandenen Schlüssel brauchen: Behalte alle alten Schlüssel, bis sie ersetzt oder gelöscht sind.",
|
||
"backupsOffhostLine": "Schlüssel {key}: Die letzte externe Kopie, die ihn braucht, kam am {when} in den Bucket; dort gebraucht bis {until}",
|
||
"backupsOffhostLineUnknown": "Schlüssel {key}: Die letzte externe Kopie, die ihn braucht, kam am {when} in den Bucket. Wie lange der Bucket Kopien behält, ist unbekannt; behalte den Schlüssel, bis diese Kopie sicher weg ist.",
|
||
"backupsNone": "Noch keine Sicherung hat die Schlüssel festgehalten, die sie braucht.",
|
||
"backupsStillNeed": "Alle Zeilen sind rotiert, aber Sicherungen brauchen noch {keys}",
|
||
"backupsUnrecordedBadge": "Alle Zeilen sind rotiert, aber ältere Sicherungen können noch einen ausgemusterten Schlüssel brauchen",
|
||
"backupsDetail": "Die Rotation verschlüsselt jede Zeile neu, aber eine Sicherung behält den Schlüssel, unter dem ihr Inhalt geschrieben wurde, und ihre Wiederherstellung braucht ihn. Behalte einen ausgemusterten Schlüssel in ENCRYPTION_KEYS, bis er unten nicht mehr aufgeführt ist."
|
||
}
|
||
},
|
||
"carrier": "Netzbetreiber",
|
||
"mfaRequired": "Zweiten Faktor verlangen",
|
||
"mfaRequiredDescription": "Jedes Konto ohne aktiven zweiten Faktor wird nach der Anmeldung zur Einrichtung geleitet. Das fordert Web-Nutzer zur Einrichtung auf — es blockiert jedoch keinen direkten API- oder nativen (Bearer-)Zugriff für noch nicht eingerichtete Konten.",
|
||
"mfaEnforcedOn": "MFA an",
|
||
"mfaEnforcedOff": "MFA aus",
|
||
"mfaEnforcedOnHint": "Für diesen Nutzer ist ein zweiter Faktor erforderlich. Klicken, um die Anforderung aufzuheben.",
|
||
"mfaEnforcedOffHint": "Einen zweiten Faktor für diesen Nutzer verlangen.",
|
||
"copyIp": "IP-Adresse kopieren",
|
||
"ipCopied": "IP-Adresse kopiert",
|
||
"copyFailed": "Kopieren fehlgeschlagen.",
|
||
"documentMaxFile": "Upload-Limit für Dokumente",
|
||
"documentMaxFileDescription": "Maximale Dateigröße im Dokumenten-Bestand (1–100 MB).",
|
||
"documentQuota": "Speicherkontingent für Dokumente",
|
||
"documentQuotaDescription": "Standard-Speicherplatz pro Konto für Dokumente (0,1–1024 GB).",
|
||
"userDocumentQuota": "Abweichendes Dokumenten-Kontingent",
|
||
"userDocumentQuotaDefault": "Standard",
|
||
"userDocumentQuotaHint": "Leer lassen, um den Instanz-Standard zu verwenden.",
|
||
"centralCodex": {
|
||
"title": "Gemeinsame KI-Verbindung",
|
||
"description": "Verbinde ein angemeldetes ChatGPT-Konto, das jede Nutzerin und jeder Nutzer dieses Servers für KI-Funktionen aktivieren kann.",
|
||
"honesty": "Dies ist ein einzelnes gemeinsames, angemeldetes KI-Konto — kein API-Schlüssel. Alle, die zustimmen, senden Anfragen darüber, sodass die Stunden- und Wochenlimits des Kontos unter ihnen geteilt werden; dieselben Limits speisen bereits den Coach. Abo-Anbieter dürfen die Inhalte zur Verbesserung ihrer Modelle verwenden, und keine Auftragsverarbeitungsvereinbarung deckt dies ab — daher ist es nie Standard und steht beim Lesen von Dokumenten hinter Anbietern ohne Training. Verbinde nur ein Konto, das du auf diese Weise teilen möchtest.",
|
||
"statusConnected": "Verbunden",
|
||
"statusDisconnected": "Nicht verbunden",
|
||
"statusExpired": "Abgelaufen",
|
||
"connectButton": "ChatGPT-Konto verbinden",
|
||
"disconnectButton": "Trennen",
|
||
"disconnectTitle": "Gemeinsames KI-Konto trennen?",
|
||
"disconnectBody": "Alle Nutzer auf diesem Server, die die gemeinsame Verbindung nutzen, verlieren die KI-Funktionen, bis wieder ein Konto verknüpft wird. Die gespeicherte Anmeldung lässt sich nicht wiederherstellen.",
|
||
"disconnectConfirm": "Trennen",
|
||
"connectedSince": "Verbunden seit {when}",
|
||
"connected": "Gemeinsame KI-Verbindung verknüpft",
|
||
"disconnected": "Gemeinsame KI-Verbindung entfernt",
|
||
"error": "Etwas ist schiefgelaufen — bitte erneut versuchen"
|
||
},
|
||
"failingJobs": {
|
||
"title": "Hintergrundjobs",
|
||
"description": "Queues, deren Jobs nach allen Wiederholungen aufgegeben haben.",
|
||
"none": "In den letzten {hours} Stunden ist kein Job fehlgeschlagen.",
|
||
"unavailable": "Keine Job-Queue lesbar — dieses Deployment läuft ohne Hintergrund-Worker.",
|
||
"countOne": "{count} Fehlschlag",
|
||
"countFew": "{count} Fehlschläge",
|
||
"countOther": "{count} Fehlschläge",
|
||
"lastFailed": "Letzter Fehlschlag {when}"
|
||
},
|
||
"deleteAllDetail": "Nutzerkonten bleiben bestehen.",
|
||
"cardError": {
|
||
"title": "Dieser Teil der Seite konnte nicht angezeigt werden",
|
||
"description": "Der Rest der Seite funktioniert weiter; versuche es erneut oder lade neu, wenn es bleibt."
|
||
},
|
||
"keyBackup": {
|
||
"title": "Sichere deinen Verschlüsselungsschlüssel",
|
||
"description": "Ohne eine Kopie dieses Schlüssels lassen sich deine verschlüsselten Daten und Sicherungen nie wieder lesen.",
|
||
"loading": "Status der Schlüsselsicherung wird geladen…",
|
||
"loadError": "Der Status der Schlüsselsicherung konnte nicht geladen werden.",
|
||
"badgeDue": "Offen",
|
||
"badgeDone": "Gesichert",
|
||
"keyId": "Aktive Schlüssel-ID",
|
||
"fingerprint": "Fingerabdruck",
|
||
"whatIsLost": "Bewahre eine Kopie des Schlüssels außerhalb dieses Servers auf, zum Beispiel in einem Passwortmanager. Wird der Server mit einem anderen Schlüssel neu installiert, nimmt HealthLog den Betrieb erst wieder auf, wenn der ursprüngliche Schlüssel zurück ist.",
|
||
"fingerprintHint": "Der Fingerabdruck sind die ersten 12 Zeichen des SHA-256-Hashes des Schlüssels. Er erkennt den Schlüssel, ohne ihn preiszugeben, damit du ihn mit deiner Kopie vergleichen kannst.",
|
||
"checkLabel": "Meine Kopie prüfen",
|
||
"checkButton": "Prüfen",
|
||
"checkNote": "Der eingefügte Schlüssel wird mit dem aktiven Schlüssel verglichen und danach verworfen. Er wird nie gespeichert oder protokolliert.",
|
||
"checkInsecureNote": "Diese Seite läuft nicht über https://, also geht der eingefügte Schlüssel unverschlüsselt über das Netz, genau wie dein Passwort. Er wird verglichen und verworfen, nie gespeichert oder protokolliert.",
|
||
"checkMatches": "Deine Kopie passt zum aktiven Schlüssel.",
|
||
"checkNoMatch": "Deine Kopie passt nicht zum aktiven Schlüssel. Prüfe, ob du den ganzen Wert kopiert hast.",
|
||
"checkFailed": "Die Prüfung ist fehlgeschlagen.",
|
||
"confirmButton": "Ich habe diesen Schlüssel gesichert",
|
||
"confirmed": "Schlüsselsicherung bestätigt.",
|
||
"confirmFailed": "Die Bestätigung konnte nicht gespeichert werden.",
|
||
"stale": "Der Schlüssel des Servers hat sich geändert, seit diese Seite geladen wurde. Prüfe die neue Schlüssel-ID und den Fingerabdruck und bestätige dann erneut.",
|
||
"confirmedAt": "Bestätigt am {date}.",
|
||
"confirmedAtBy": "Bestätigt am {date} von {who}.",
|
||
"dueAgain": "Für Schlüssel {keyId} wurde eine Sicherung bestätigt, aber der Server nutzt jetzt einen anderen Schlüssel. Sichere den aktuellen.",
|
||
"tileLabel": "Sicherung des Verschlüsselungsschlüssels",
|
||
"tileDue": "Nicht bestätigt",
|
||
"tileDone": "Bestätigt",
|
||
"platform": {
|
||
"composeLabel": "Compose",
|
||
"composeWhere": "Der Schlüssel ist ENCRYPTION_KEY (oder ENCRYPTION_KEYS) in der .env-Datei neben docker-compose.yml.",
|
||
"truenasLabel": "TrueNAS",
|
||
"truenasWhere": "Öffne Apps, wähle HealthLog, dann Bearbeiten, und kopiere ENCRYPTION_KEY aus den Umgebungsvariablen.",
|
||
"coolifyLabel": "Coolify",
|
||
"coolifyWhere": "Öffne die Anwendung in Coolify und kopiere ENCRYPTION_KEY aus den Environment Variables.",
|
||
"unraidLabel": "Unraid",
|
||
"unraidWhere": "Bearbeite im Docker-Tab den HealthLog-Container und kopiere ENCRYPTION_KEY aus der Vorlage oder aus der .env deines Compose-Manager-Stacks.",
|
||
"portainerLabel": "Portainer",
|
||
"portainerWhere": "Öffne den HealthLog-Stack in Portainer und kopiere ENCRYPTION_KEY aus seinen Umgebungsvariablen."
|
||
}
|
||
},
|
||
"keyMismatch": {
|
||
"title": "HealthLog kann seine Daten nicht öffnen",
|
||
"body": "Der Verschlüsselungsschlüssel, mit dem dieser Server gestartet wurde, ist nicht der, mit dem seine Datenbank geschrieben wurde. Zum Schutz deiner Daten liefert HealthLog nichts aus, bis das behoben ist.",
|
||
"fixTitle": "So behebst du es",
|
||
"fixRestore": "Trage den ursprünglichen ENCRYPTION_KEY (oder den Eintrag in ENCRYPTION_KEYS) wieder in die Servereinstellungen ein.",
|
||
"fixDatabase": "Oder lass DATABASE_URL auf die Datenbank zeigen, die zu diesem Schlüssel gehört.",
|
||
"fixFresh": "Oder starte neu mit einer leeren Datenbank. Die alten Daten und ihre Sicherungen lassen sich nur mit dem alten Schlüssel lesen.",
|
||
"restartNote": "Starte HealthLog nach der Änderung neu.",
|
||
"lastResort": "Letzter Ausweg, nur wenn du sicher bist, dass der Schlüssel stimmt, und keiner der drei Wege passt: setze {setting} und starte neu. HealthLog liefert dann trotzdem aus und schreibt den Befund nur ins Log. Damit ist eine Sicherheitsprüfung abgeschaltet: Mit einem falschen Schlüssel scheitert jeder verschlüsselte Wert, und neue Daten werden unter diesem Schlüssel geschrieben.",
|
||
"codes": "Für den Betrieb: API-Anfragen antworten mit 503 und dem Fehlercode {code}, /api/health meldet den Grund {reason}."
|
||
}
|
||
},
|
||
"achievements": {
|
||
"title": "Erfolge",
|
||
"subtitle": "Sammle Erfolge, indem du regelmäßig misst und deine Medikamente nimmst.",
|
||
"loginRequired": "Bitte anmelden, um Erfolge zu sehen.",
|
||
"points": "Punkte",
|
||
"unlocked": "Freigeschaltet",
|
||
"nextGoal": "Nächstes Ziel",
|
||
"allCompleted": "Alle Erfolge freigeschaltet!",
|
||
"completed": "Abgeschlossen",
|
||
"goalReached": "Ziel erreicht",
|
||
"remainingUnlocks": "Noch {count} freischaltbar",
|
||
"noneUnlockedYet": "Noch keine Erfolge freigeschaltet.",
|
||
"pointsValue": "{points} Punkte",
|
||
"metricCount": "{count}",
|
||
"metricDays": "{count} Tage",
|
||
"metricPercent": "{count}%",
|
||
"badges": {
|
||
"intakeTotal1": {
|
||
"title": "Erste Einnahme",
|
||
"description": "Dokumentiere dein erstes eingenommenes Medikament."
|
||
},
|
||
"intakeTotal10": {
|
||
"title": "Einnahme-Starter",
|
||
"description": "Dokumentiere 10 eingenommene Medikamente."
|
||
},
|
||
"intakeTotal50": {
|
||
"title": "Einnahme-Routine",
|
||
"description": "Dokumentiere 50 eingenommene Medikamente."
|
||
},
|
||
"intakeTotal150": {
|
||
"title": "Einnahme-Profi",
|
||
"description": "Dokumentiere 150 eingenommene Medikamente."
|
||
},
|
||
"intakeTotal300": {
|
||
"title": "Einnahme-Legende",
|
||
"description": "Dokumentiere 300 eingenommene Medikamente."
|
||
},
|
||
"overIntake1": {
|
||
"title": "Doppelt genommen",
|
||
"description": "Nimm mindestens einmal mehr ein als vorgesehen."
|
||
},
|
||
"skippedIntake1": {
|
||
"title": "Pause eingelegt",
|
||
"description": "Überspringe mindestens eine geplante Einnahme."
|
||
},
|
||
"passkeyCreated1": {
|
||
"title": "Passkey gesetzt",
|
||
"description": "Erstelle deinen ersten Passkey."
|
||
},
|
||
"passkeyLogin1": {
|
||
"title": "Passkey genutzt",
|
||
"description": "Melde dich mindestens einmal per Passkey an."
|
||
},
|
||
"passwordLogin1": {
|
||
"title": "Oldschool",
|
||
"description": "Melde dich mindestens einmal mit Username und Passwort an."
|
||
},
|
||
"loginStreak7": {
|
||
"title": "Login-Serie 7T",
|
||
"description": "Logge dich an 7 Tagen in Folge ein."
|
||
},
|
||
"loginStreak30": {
|
||
"title": "Login-Serie 30T",
|
||
"description": "Logge dich an 30 Tagen in Folge ein."
|
||
},
|
||
"onTimePerfect1": {
|
||
"title": "Zeitfenster 1T",
|
||
"description": "Nimm an einem Tag alle Medikamente im Zeitfenster ein."
|
||
},
|
||
"compliance801": {
|
||
"title": "Treue 80% · 1T",
|
||
"description": "Erreiche an einem Tag eine 30-Tage-Therapietreue von mindestens 80%."
|
||
},
|
||
"bmiGreen1": {
|
||
"title": "BMI im Grün · 1T",
|
||
"description": "Halte deinen BMI an einem Tag im Normalbereich."
|
||
},
|
||
"bpGreen1": {
|
||
"title": "Blutdruck im Grün · 1T",
|
||
"description": "Halte deinen Blutdruck an einem Tag im Normalbereich."
|
||
},
|
||
"pulseGreen1": {
|
||
"title": "Puls im Grün · 1T",
|
||
"description": "Halte deinen Ruhepuls an einem Tag im Normalbereich."
|
||
},
|
||
"onTimePerfect7": {
|
||
"title": "Zeitfenster 7T",
|
||
"description": "Nimm 7 Tage in Folge alle Medikamente im Zeitfenster ein."
|
||
},
|
||
"compliance807": {
|
||
"title": "Treue 80% · 7T",
|
||
"description": "Erreiche 7 Tage in Folge eine 30-Tage-Therapietreue von mindestens 80%."
|
||
},
|
||
"bmiGreen7": {
|
||
"title": "BMI im Grün · 7T",
|
||
"description": "Halte deinen BMI 7 Tage in Folge im Normalbereich."
|
||
},
|
||
"bpGreen7": {
|
||
"title": "Blutdruck im Grün · 7T",
|
||
"description": "Halte deinen Blutdruck 7 Tage in Folge im Normalbereich."
|
||
},
|
||
"pulseGreen7": {
|
||
"title": "Puls im Grün · 7T",
|
||
"description": "Halte deinen Ruhepuls 7 Tage in Folge im Normalbereich."
|
||
},
|
||
"onTimePerfect30": {
|
||
"title": "Zeitfenster 30T",
|
||
"description": "Nimm 30 Tage in Folge alle Medikamente im Zeitfenster ein."
|
||
},
|
||
"compliance8030": {
|
||
"title": "Treue 80% · 30T",
|
||
"description": "Erreiche 30 Tage in Folge eine 30-Tage-Therapietreue von mindestens 80%."
|
||
},
|
||
"bmiGreen30": {
|
||
"title": "BMI im Grün · 30T",
|
||
"description": "Halte deinen BMI 30 Tage in Folge im Normalbereich."
|
||
},
|
||
"bpGreen30": {
|
||
"title": "Blutdruck im Grün · 30T",
|
||
"description": "Halte deinen Blutdruck 30 Tage in Folge im Normalbereich."
|
||
},
|
||
"pulseGreen30": {
|
||
"title": "Puls im Grün · 30T",
|
||
"description": "Halte deinen Ruhepuls 30 Tage in Folge im Normalbereich."
|
||
},
|
||
"onTimePerfect180": {
|
||
"title": "Zeitfenster 180T",
|
||
"description": "Nimm 180 Tage in Folge alle Medikamente im Zeitfenster ein."
|
||
},
|
||
"compliance80180": {
|
||
"title": "Treue 80% · 180T",
|
||
"description": "Erreiche 180 Tage in Folge eine 30-Tage-Therapietreue von mindestens 80%."
|
||
},
|
||
"bmiGreen180": {
|
||
"title": "BMI im Grün · 180T",
|
||
"description": "Halte deinen BMI 180 Tage in Folge im Normalbereich."
|
||
},
|
||
"bpGreen180": {
|
||
"title": "Blutdruck im Grün · 180T",
|
||
"description": "Halte deinen Blutdruck 180 Tage in Folge im Normalbereich."
|
||
},
|
||
"pulseGreen180": {
|
||
"title": "Puls im Grün · 180T",
|
||
"description": "Halte deinen Ruhepuls 180 Tage in Folge im Normalbereich."
|
||
},
|
||
"onTimePerfect360": {
|
||
"title": "Zeitfenster 360T",
|
||
"description": "Nimm 360 Tage in Folge alle Medikamente im Zeitfenster ein."
|
||
},
|
||
"compliance80360": {
|
||
"title": "Treue 80% · 360T",
|
||
"description": "Erreiche 360 Tage in Folge eine 30-Tage-Therapietreue von mindestens 80%."
|
||
},
|
||
"bmiGreen360": {
|
||
"title": "BMI im Grün · 360T",
|
||
"description": "Halte deinen BMI 360 Tage in Folge im Normalbereich."
|
||
},
|
||
"bpGreen360": {
|
||
"title": "Blutdruck im Grün · 360T",
|
||
"description": "Halte deinen Blutdruck 360 Tage in Folge im Normalbereich."
|
||
},
|
||
"pulseGreen360": {
|
||
"title": "Puls im Grün · 360T",
|
||
"description": "Halte deinen Ruhepuls 360 Tage in Folge im Normalbereich."
|
||
},
|
||
"moodFirst": {
|
||
"title": "Erste Stimmung",
|
||
"description": "Erfasse deinen ersten Stimmungseintrag."
|
||
},
|
||
"moodStreak7": {
|
||
"title": "Stimmungstagebuch 7T",
|
||
"description": "Trage an 7 aufeinanderfolgenden Tagen eine Stimmung ein."
|
||
},
|
||
"moodStreak30": {
|
||
"title": "Stimmungstagebuch 30T",
|
||
"description": "Trage an 30 aufeinanderfolgenden Tagen eine Stimmung ein."
|
||
},
|
||
"moodUp7": {
|
||
"title": "Hellere Woche",
|
||
"description": "Dein 7-Tage-Stimmungsmittel hat sich gegenüber der Vorwoche um mindestens 1,0 Punkt verbessert."
|
||
},
|
||
"weightFirst": {
|
||
"title": "Erstes Gewicht",
|
||
"description": "Erfasse deine erste Gewichtsmessung."
|
||
},
|
||
"weight50": {
|
||
"title": "Fünfzig Wiegungen",
|
||
"description": "Erfasse 50 Gewichtsmessungen."
|
||
},
|
||
"weight200": {
|
||
"title": "200 Wiegungen",
|
||
"description": "Erfasse 200 Gewichtsmessungen."
|
||
},
|
||
"bpFirst": {
|
||
"title": "Erster Blutdruck",
|
||
"description": "Erfasse deine erste Blutdruckmessung."
|
||
},
|
||
"bp50": {
|
||
"title": "Fünfzig Blutdruckmessungen",
|
||
"description": "Erfasse 50 Blutdruckmessungen."
|
||
},
|
||
"bp200": {
|
||
"title": "200 Blutdruckmessungen",
|
||
"description": "Erfasse 200 Blutdruckmessungen."
|
||
},
|
||
"pulseFirst": {
|
||
"title": "Erster Puls",
|
||
"description": "Erfasse deine erste Pulsmessung."
|
||
},
|
||
"consistentMonth": {
|
||
"title": "Konsequenter Monat",
|
||
"description": "Trage in einem Kalendermonat an mindestens 25 verschiedenen Tagen Daten ein."
|
||
},
|
||
"entryStreak7": {
|
||
"title": "Tracking-Serie 7T",
|
||
"description": "Trage an 7 aufeinanderfolgenden Tagen mindestens einen Eintrag ein."
|
||
},
|
||
"entryStreak30": {
|
||
"title": "Tracking-Serie 30T",
|
||
"description": "Trage an 30 aufeinanderfolgenden Tagen mindestens einen Eintrag ein."
|
||
},
|
||
"weekendWarrior": {
|
||
"title": "Wochenend-Tracker",
|
||
"description": "Trage an 4 aufeinanderfolgenden Samstag-Sonntag-Wochenenden Daten ein."
|
||
},
|
||
"hiddenNightOwl": {
|
||
"title": "Nachteule",
|
||
"description": "Du hast einen Eintrag zwischen 02:00 und 04:00 Uhr morgens erfasst."
|
||
},
|
||
"hiddenEarlyBird": {
|
||
"title": "Frühaufsteher",
|
||
"description": "Du hast einen Eintrag zwischen 04:00 und 06:00 Uhr morgens erfasst."
|
||
},
|
||
"hiddenLeapDay": {
|
||
"title": "Schalttag-Legende",
|
||
"description": "Du hast einen Eintrag am 29. Februar erfasst."
|
||
},
|
||
"hiddenDoctorPdf": {
|
||
"title": "Hausbesuch",
|
||
"description": "Du hast erstmals einen Arzt-Report als PDF exportiert."
|
||
},
|
||
"hiddenLocaleFlip": {
|
||
"title": "Polyglott",
|
||
"description": "Du hast die App-Sprache mindestens einmal gewechselt."
|
||
},
|
||
"missFree7": {
|
||
"title": "Lückenlos · 7T",
|
||
"description": "7 Tage in Folge ohne eine verpasste Dosis."
|
||
},
|
||
"missFree30": {
|
||
"title": "Lückenlos · 30T",
|
||
"description": "30 Tage in Folge ohne eine verpasste Dosis."
|
||
},
|
||
"missFree90": {
|
||
"title": "Lückenlos · 90T",
|
||
"description": "90 Tage in Folge ohne eine verpasste Dosis."
|
||
},
|
||
"measurementWeeks4": {
|
||
"title": "Mess-Routine",
|
||
"description": "4 Wochen in Folge an mindestens 5 Tagen pro Woche gemessen."
|
||
},
|
||
"selfContextComplete": {
|
||
"title": "Selbstauskunft gepflegt",
|
||
"description": "Alle vier Felder der Selbstauskunft ausgefüllt — der Coach kennt deinen Kontext."
|
||
},
|
||
"sleepLog7": {
|
||
"title": "Schlafprotokoll · 7T",
|
||
"description": "An 7 Tagen in Folge Schlafdaten erfasst."
|
||
}
|
||
},
|
||
"nextProgressLabel": "Fortschritt bis Freischaltung",
|
||
"completedOn": "Abgeschlossen am {date}",
|
||
"locked": "Gesperrt",
|
||
"criterionHint": "{current} / {target}",
|
||
"progressPercent": "{percent}%",
|
||
"categories": {
|
||
"medication": "Medikation",
|
||
"vitals": "Vitalwerte",
|
||
"mood": "Stimmung",
|
||
"security": "Konto & Sicherheit",
|
||
"engagement": "Engagement",
|
||
"hidden": "Versteckt"
|
||
},
|
||
"hiddenCard": {
|
||
"title": "Versteckter Erfolg",
|
||
"description": "Tracke fleißig weiter — vielleicht stolperst du darüber.",
|
||
"ariaLabel": "Versteckter, gesperrter Erfolg"
|
||
},
|
||
"hiddenUnlockToast": {
|
||
"title": "Du hast einen versteckten Erfolg freigeschaltet!"
|
||
},
|
||
"dashboardCard": {
|
||
"title": "Zuletzt freigeschaltet",
|
||
"viewAll": "Alle anzeigen",
|
||
"empty": "Noch keine Erfolge — trage weiter ein, um deinen ersten freizuschalten."
|
||
}
|
||
},
|
||
"notifications": {
|
||
"title": "Benachrichtigungen",
|
||
"eventColumn": "Ereignis",
|
||
"subtitle": "Wähle aus, welche Benachrichtigungen du über welchen Kanal erhalten möchtest.",
|
||
"loadError": "Benachrichtigungseinstellungen konnten nicht geladen werden.",
|
||
"noChannels": "Konfiguriere zuerst einen Benachrichtigungskanal unter Einstellungen → Integrationen.",
|
||
"goToSettings": "Zu den Kanal-Einstellungen",
|
||
"channelDisabled": "Deaktiviert",
|
||
"admin": {
|
||
"deployFailedTitle": "Bereitstellung fehlgeschlagen: {application}",
|
||
"deployFailedBody": "Bei der Bereitstellung von {application} (#{deployment}) ist ein Fehler aufgetreten: {error}. Logs ansehen: {logsUrl}",
|
||
"testNotificationTitle": "HealthLog Test-Benachrichtigung",
|
||
"testNotificationBody": "Diese Test-Benachrichtigung wurde vom Admin-Panel ausgelöst. Wenn du sie siehst, funktioniert der Kanal.",
|
||
"reminderCheckMissedTitle": "Erinnerung verpasst: {medication}",
|
||
"reminderCheckMissedBody": "{medication} ({dose}) im Zeitfenster {window} wurde nicht geloggt.",
|
||
"reminderCheckOverdueTitle": "Einnahme überfällig: {medication}",
|
||
"reminderCheckOverdueBody": "{medication} ({dose}) im Zeitfenster {window} ist seit {minutes} Minuten überfällig.",
|
||
"offlineGeoUnavailableTitle": "Offline-Geodatenbanken nicht geladen",
|
||
"offlineGeoUnavailableBody": "HealthLog löst Login-Standorte über die Online-Abfrage bei {host} auf, damit verlässt jede Login-IP diesen Server. Um sie stattdessen lokal aufzulösen, lade die Datenbanken GeoLite2-City und GeoLite2-ASN mit einem kostenlosen MaxMind-Konto herunter, binde das Verzeichnis in den Container ein und setze GEOLITE2_DIR darauf. Anleitung: {docsUrl}",
|
||
"tlsPinChangedTitle": "TLS-Leaf-Zertifikat geändert: {host}",
|
||
"tlsPinChangedBody": "Das von {host} ausgelieferte TLS-Leaf hat jetzt den SPKI-Pin {servedPin}, der nicht im bekannten Pin-Satz enthalten ist. Gepinnte Clients (die native App) können sich nicht mehr verbinden, sobald der alte Pin weg ist. Extrahiere den neuen Leaf-Pin erneut, ergänze ihn in TLS_LEAF_SPKI_PINS sowie im Pin-Satz des nativen Clients und veröffentliche einen Build, bevor dieses Zertifikat am {validTo} abläuft. Siehe docs/ops/tls-cert-pin.md."
|
||
},
|
||
"user": {
|
||
"telegramTestBody": "HealthLog: Verbindung hergestellt. Telegram-Benachrichtigungen sind aktiv."
|
||
},
|
||
"moodReminder": {
|
||
"title": "Tägliche Stimmungs-Erinnerung",
|
||
"description": "Sanfter Anstoß zur eingestellten Zeit, falls du heute noch keine Stimmung erfasst hast.",
|
||
"toggleAria": "Tägliche Stimmungs-Erinnerung umschalten",
|
||
"statusOn": "Aktiv zu deiner eingestellten Zeit",
|
||
"statusOff": "Aus",
|
||
"enabledToast": "Stimmungs-Erinnerung aktiviert.",
|
||
"disabledToast": "Stimmungs-Erinnerung deaktiviert.",
|
||
"saveError": "Speichern fehlgeschlagen. Bitte später erneut versuchen.",
|
||
"hourLabel": "Erinnerungszeit",
|
||
"hourAria": "Stunde der Stimmungs-Erinnerung",
|
||
"hourSavedToast": "Erinnerungszeit aktualisiert",
|
||
"detail": "Greift nur auf bereits eingerichtete Kanäle (Telegram, ntfy, Web Push, Apple Push) zurück und schweigt, sobald du heute geloggt hast."
|
||
},
|
||
"coachNudge": {
|
||
"title": "Proaktiver Coach",
|
||
"description": "Meldet sich, wenn deine Daten einen Blick in den Coach nahelegen.",
|
||
"toggleAria": "Proaktive Coach-Hinweise umschalten",
|
||
"statusOn": "Aktiv",
|
||
"statusOff": "Aus",
|
||
"groupsLabel": "Themen",
|
||
"groupMedication": "Medikation",
|
||
"groupMedicationDesc": "Lückenhafte Einnahmen der letzten Woche.",
|
||
"groupVitals": "Vitalwerte",
|
||
"groupVitalsDesc": "Blutdruck, Erholung, Gewichtstrend, Schlaf.",
|
||
"groupRoutine": "Routine",
|
||
"groupRoutineDesc": "Abrupte Mess-Pausen und Selbstauskunft-Check-ups.",
|
||
"frequencyLabel": "Häufigkeit",
|
||
"frequencyWeekly": "Höchstens einmal pro Woche",
|
||
"frequencyBiweekly": "Höchstens alle zwei Wochen",
|
||
"frequencyAria": "Häufigkeit der Coach-Hinweise wählen",
|
||
"enabledToast": "Proaktive Coach-Hinweise aktiviert.",
|
||
"disabledToast": "Proaktive Coach-Hinweise deaktiviert.",
|
||
"saveError": "Speichern fehlgeschlagen. Bitte später erneut versuchen.",
|
||
"suggestionsLabel": "Beispielvorschläge",
|
||
"suggestionsDesc": "Zeigt auf dem Coach-Bildschirm gelegentlich eine fertige Beispielfrage.",
|
||
"suggestionsAria": "Beispiel-Coach-Vorschläge umschalten",
|
||
"aiComposedLabel": "Den Coach den Anstoß formulieren lassen",
|
||
"aiComposedDesc": "Wenn ein Anbieter verfügbar ist, formuliert das Modell den proaktiven Anstoß statt der festen Vorlage. Standardmäßig aus.",
|
||
"aiComposedAria": "KI-formulierten proaktiven Anstoß umschalten"
|
||
},
|
||
"lowStock": {
|
||
"title": "Vorratswarnung",
|
||
"description": "Meldet täglich, wenn ein Vorrat weniger Tage abdeckt als diese Schwelle.",
|
||
"toggleAria": "Vorratswarnungen umschalten",
|
||
"statusOn": "Aktiv",
|
||
"statusOff": "Aus",
|
||
"daysLabel": "Warnen unter (Tage)",
|
||
"daysAria": "Vorratsschwelle in Tagen wählen",
|
||
"leadLabel": "Vorlaufzeit zum Nachbestellen (Tage)",
|
||
"leadAria": "Vorlaufzeit zum Nachbestellen in Tagen",
|
||
"leadHelp": "Die Warnung kommt um so viele Tage plus ein Dosisintervall früher, damit der Nachschub vor deiner letzten Dosis eintrifft. Ein einzelnes Medikament kann diesen Wert auf seinem Bestand-Tab überschreiben.",
|
||
"leadSavedToast": "Vorlaufzeit gespeichert",
|
||
"savedToast": "Vorratsschwelle gespeichert",
|
||
"enabledToast": "Vorratswarnungen aktiviert.",
|
||
"disabledToast": "Vorratswarnungen deaktiviert.",
|
||
"saveError": "Speichern fehlgeschlagen. Bitte später erneut versuchen.",
|
||
"medicationsLink": "Zu deinen Medikamenten",
|
||
"detail": "Eine Benachrichtigung pro Engpass; nach dem Auffüllen meldet sie sich wieder."
|
||
},
|
||
"eventMedicationReminder": "Medikamenten-Erinnerung",
|
||
"eventMedicationReminderDesc": "Wird zu jeder geplanten Einnahmezeit gesendet.",
|
||
"eventMeasurementAnomaly": "Auffälliger Messwert",
|
||
"eventMeasurementAnomalyDesc": "Wird gesendet, wenn ein Wert deutlich außerhalb deines üblichen Bereichs liegt.",
|
||
"eventComplianceLow": "Niedrige Therapietreue",
|
||
"eventComplianceLowDesc": "Wird gesendet, wenn deine Therapietreue in den letzten Tagen unter 80 % fällt.",
|
||
"eventWithingsSyncFailed": "Withings-Sync fehlgeschlagen",
|
||
"eventWithingsSyncFailedDesc": "Wird gesendet, wenn die Withings-Synchronisierung mehrere Versuche in Folge scheitert.",
|
||
"eventSystemAlert": "Systemmeldung",
|
||
"eventSystemAlertDesc": "Allgemeine Mitteilungen vom HealthLog-Server, etwa Wartungsfenster oder Konto-Hinweise.",
|
||
"eventPersonalRecord": "Persönlicher Rekord",
|
||
"eventPersonalRecordDesc": "Wird gesendet, wenn ein Messwert deine bisherige Bestmarke übertrifft.",
|
||
"eventMoodReminder": "Stimmungs-Erinnerung",
|
||
"eventMoodReminderDesc": "Tägliche Erinnerung, deine aktuelle Stimmung zu protokollieren.",
|
||
"eventCyclePeriodSoon": "Periode steht bevor",
|
||
"eventCyclePeriodSoonDesc": "Ein paar Tage vor deiner vorhergesagten nächsten Periode.",
|
||
"eventCyclePeriodConfirm": "Hat deine Periode begonnen?",
|
||
"eventCyclePeriodConfirmDesc": "Eine sanfte Nachfrage am oder nach dem vorhergesagten Beginn, solange keine Periode erfasst ist.",
|
||
"eventCycleFertileSoon": "Fruchtbares Fenster steht bevor",
|
||
"eventCycleFertileSoonDesc": "Wird einige Tage vor deinem geschätzten fruchtbaren Fenster gesendet, wenn dein Ziel die Empfängnis ist.",
|
||
"eventMedicationLowStock": "Medikamentenvorrat niedrig",
|
||
"eventMedicationLowStockDesc": "Wenn ein erfasster Vorrat weniger Tage abdeckt als deine Vorratsschwelle",
|
||
"eventCoachNudge": "Coach-Hinweis",
|
||
"eventCoachNudgeDesc": "Gelegentlicher Hinweis deines Coaches, wenn deine jüngsten Verläufe einen Check-in nahelegen.",
|
||
"eventMeasurementReminder": "Mess-Erinnerung",
|
||
"eventMeasurementReminderDesc": "Wird gesendet, wenn eine erfasste Messung fällig ist.",
|
||
"eventMedicationIntakeSync": "Einnahme-Synchronisierung",
|
||
"eventMedicationIntakeSyncDesc": "Geräteübergreifende Aktualisierung, wenn eine Dosis protokolliert, eingenommen oder übersprungen wird.",
|
||
"eventDailyBriefing": "Täglicher Überblick",
|
||
"eventDailyBriefingDesc": "Eine ruhige Morgenzusammenfassung deines Tages. Standardmäßig aus, bis du sie aktivierst.",
|
||
"eventSecurityAlert": "Neue Anmeldung",
|
||
"eventSecurityAlertDesc": "Wird gesendet, wenn dein Konto auf einem unbekannten Gerät oder von einem unbekannten Ort verwendet wird.",
|
||
"eventSharedRecordIntake": "Jemand mit Zugriff markiert eine Dosis",
|
||
"eventSharedRecordIntakeDesc": "Wird nur gesendet, wenn eine andere Person es tut, nie bei deinen eigenen Einträgen.",
|
||
"security": {
|
||
"newDeviceTitle": "Neue Anmeldung bei deinem Konto",
|
||
"newDeviceBody": "Eine neue Anmeldung von {device} ({location}). Falls du das nicht warst, ändere sofort dein Passwort.",
|
||
"unknownLocation": "unbekannter Ort"
|
||
},
|
||
"sharedRecordIntake": {
|
||
"title": "{name} hat eine Dosis markiert",
|
||
"bodyTaken": "{medication}: von {name} als eingenommen markiert.",
|
||
"bodySkipped": "{medication}: von {name} als ausgelassen markiert."
|
||
},
|
||
"loginRequired": "Bitte melde dich an, um Benachrichtigungen zu verwalten.",
|
||
"someChannelsGloballyDisabled": "Ein oder mehrere Kanäle sind in den Einstellungen deaktiviert und erhalten keine Benachrichtigungen.",
|
||
"reminderSettingsLink": "Erinnerungseinstellungen",
|
||
"channelsLink": "Kanäle"
|
||
},
|
||
"i18n": {
|
||
"maintainershipBanner": {
|
||
"notice": "Diese Sprachversion ist maschinell übersetzt, inklusive der sicherheitskritischen Coach-Anweisungen. Eine automatische Drift-Prüfung läuft in CI; Coach-Regressionen bitte auf GitHub melden.",
|
||
"cta": "Auf GitHub melden",
|
||
"dismiss": "Schließen"
|
||
}
|
||
},
|
||
"targets": {
|
||
"bmi": "BMI",
|
||
"average30d": "30-Tage-Schnitt:",
|
||
"consistency": {
|
||
"ariaLabel": "Letzte 7 Tage, im-Zielbereich-Status pro Tag",
|
||
"daysInRange": "{count} von {total} im Bereich",
|
||
"daysLogged": "{count} von {total} erfasst",
|
||
"dotInRange": "im Bereich",
|
||
"dotNearRange": "nahe am Bereich",
|
||
"dotOutOfRange": "außerhalb",
|
||
"dotNotLogged": "nicht erfasst",
|
||
"relativeDay": {
|
||
"today": "heute",
|
||
"yesterday": "gestern",
|
||
"twoDaysAgo": "vor 2 Tagen",
|
||
"threeDaysAgo": "vor 3 Tagen",
|
||
"fourDaysAgo": "vor 4 Tagen",
|
||
"fiveDaysAgo": "vor 5 Tagen",
|
||
"sixDaysAgo": "vor 6 Tagen"
|
||
}
|
||
},
|
||
"edit": {
|
||
"title": "Zielbereich bearbeiten — {metric}",
|
||
"description": "Passt den Zielbereich an, der in Charts, Insights und im Arztbericht verwendet wird. Werte in {unit}.",
|
||
"derivedHint": "Diese Karte wird aus anderen Metriken abgeleitet. Bearbeite stattdessen die zugrundeliegenden Ziele (z. B. Blutdruck oder Gewicht).",
|
||
"minLabel": "Min",
|
||
"maxLabel": "Max",
|
||
"systolicMin": "Systolisch min",
|
||
"systolicMax": "Systolisch max",
|
||
"diastolicMin": "Diastolisch min",
|
||
"diastolicMax": "Diastolisch max",
|
||
"boundsHint": "Erlaubter Bereich: {min}–{max} {unit}",
|
||
"resetToDefault": "Auf Standard zurücksetzen",
|
||
"resetTitle": "Dieses Ziel zurücksetzen?",
|
||
"resetBody": "Der Bereich kehrt zum Standard zurück. Die von dir gesetzten Werte werden nirgends sonst gespeichert und lassen sich nicht wiederherstellen.",
|
||
"resetBodyBp": "Sowohl der systolische als auch der diastolische Bereich kehren zum Standard zurück. Die von dir gesetzten Werte werden nirgends sonst gespeichert und lassen sich nicht wiederherstellen.",
|
||
"resetConfirm": "Ziel zurücksetzen",
|
||
"saveSuccess": "Zielbereich aktualisiert",
|
||
"saveError": "Zielbereich konnte nicht gespeichert werden",
|
||
"resetSuccess": "Zielbereich auf Standard zurückgesetzt",
|
||
"validationOrder": "Der Minimalwert muss unter dem Maximalwert liegen.",
|
||
"validationBounds": "Werte innerhalb des unten angegebenen Bereichs eingeben."
|
||
},
|
||
"currentValue": "Aktuell: {value} {unit}",
|
||
"targetRangeValue": "Zielbereich: {min}–{max} {unit}",
|
||
"sourceLabel": "Quelle: {source}",
|
||
"inTarget": "Im Zielbereich",
|
||
"aboveTarget": "{delta} {unit} über Zielbereich",
|
||
"belowTarget": "{delta} {unit} unter Zielbereich",
|
||
"diastolic": "Diastolisch",
|
||
"glucoseFasting": "Glukose — nüchtern",
|
||
"glucosePostprandial": "Glukose — postprandial",
|
||
"glucoseRandom": "Glukose — beliebig",
|
||
"glucoseBedtime": "Glukose — vor dem Schlafen",
|
||
"glucoseUnspecified": "Glukose — ohne Angabe",
|
||
"status": {
|
||
"underweight": "Untergewicht",
|
||
"normal": "Normal",
|
||
"overweight": "Übergewicht",
|
||
"obesityGrade1": "Adipositas Grad I",
|
||
"obesityGrade2": "Adipositas Grad II",
|
||
"obesityGrade3": "Adipositas Grad III",
|
||
"optimal": "Optimal",
|
||
"highNormal": "Hochnormal",
|
||
"hypertensionGrade1": "Hypertonie Grad 1",
|
||
"hypertensionGrade2": "Hypertonie Grad 2",
|
||
"hypertensionGrade3": "Hypertonie Grad 3",
|
||
"belowTypicalRange": "Unter dem typischen Bereich",
|
||
"elevated": "Erhöht",
|
||
"aboveTypicalRange": "Über dem typischen Bereich",
|
||
"significantlyLow": "Deutlich niedrig",
|
||
"slightlyLow": "Leicht niedrig",
|
||
"onTarget": "Im Zielbereich",
|
||
"slightlyElevated": "Leicht erhöht",
|
||
"significantlyElevated": "Deutlich erhöht",
|
||
"farTooShort": "Viel zu kurz",
|
||
"tooShort": "Zu kurz",
|
||
"slightlyLong": "Leicht zu lang",
|
||
"farTooLong": "Viel zu lang",
|
||
"belowEssential": "Unter essenziell",
|
||
"essential": "Essenziell",
|
||
"athletic": "Athletisch",
|
||
"fitness": "Fitness",
|
||
"acceptable": "Akzeptabel",
|
||
"obese": "Adipös",
|
||
"veryLow": "Sehr niedrig",
|
||
"lowActive": "Wenig aktiv",
|
||
"moderatelyActive": "Mäßig aktiv",
|
||
"active": "Aktiv",
|
||
"veryActive": "Sehr aktiv",
|
||
"good": "Gut",
|
||
"moderate": "Moderat",
|
||
"low": "Niedrig",
|
||
"high": "Hoch",
|
||
"veryGood": "Sehr gut",
|
||
"veryStable": "Sehr stabil",
|
||
"stable": "Stabil",
|
||
"fluctuating": "Schwankend"
|
||
}
|
||
},
|
||
"passwordStrength": {
|
||
"veryWeak": "Sehr schwach",
|
||
"weak": "Schwach",
|
||
"acceptable": "Akzeptabel",
|
||
"strong": "Stark",
|
||
"veryStrong": "Sehr stark",
|
||
"tooShort": "Zu kurz",
|
||
"characters": "Zeichen",
|
||
"minLength": "Mindestens {count} Zeichen erforderlich."
|
||
},
|
||
"telegram": {
|
||
"errorInvalidAction": "Ungültige Aktion.",
|
||
"errorMedicationNotFound": "Medikament nicht gefunden.",
|
||
"errorMedicationInactive": "Medikament nicht gefunden oder inaktiv.",
|
||
"errorUnknownAction": "Unbekannte Aktion.",
|
||
"snoozeOneHour": "1 Stunde",
|
||
"snoozeThreeHours": "3 Stunden",
|
||
"snoozedFor": "{name} für {duration} zurückgestellt.",
|
||
"skipped": "{name} übersprungen.",
|
||
"alreadyRecorded": "{name} war bereits erfasst.",
|
||
"recordedAsTaken": "{name} als eingenommen erfasst.",
|
||
"confirmed": "{name} bestätigt.",
|
||
"genericConfirmed": "Bestätigt.",
|
||
"cancelled": "Abgebrochen.",
|
||
"moodLogged": "Notiert: {score}/5",
|
||
"moodNotePrompt": "Kurze Notiz hinzufügen (optional).",
|
||
"moodNoteSaved": "Notiz gespeichert.",
|
||
"moodNoteExpired": "Diese Abfrage ist abgelaufen.",
|
||
"remindLater": "Erinnerung um {duration} verschoben.",
|
||
"measurementDone": "Als erledigt markiert.",
|
||
"measurementNotFound": "Erinnerung nicht gefunden.",
|
||
"buttonMoodNote": "Notiz…",
|
||
"buttonLater": "Später",
|
||
"buttonDone": "Erledigt",
|
||
"noActiveMedications": "Keine aktiven Medikamente gefunden.",
|
||
"whichMedication": "<b>Welches Medikament eingenommen?</b>",
|
||
"cancelButton": "Abbrechen",
|
||
"askMedicationName": "Bitte Medikament angeben, z.B. <b>genommen Ramipril</b>.",
|
||
"medicationNotFoundExact": "Medikament nicht gefunden. Bitte Namen exakt wie in HealthLog senden.",
|
||
"helpHeader": "<b>Verfügbare Befehle:</b>",
|
||
"helpBody": "/help — Diese Hilfe anzeigen\n/add — Einnahme erfassen\n/start — Bot starten\n\n<b>Textbefehle:</b>\ngenommen <Name> — Einnahme bestätigen\n\n<b>Über die Buttons in Erinnerungen:</b>\n• Genommen — Einnahme bestätigen\n• 🕐 1h / 🕐 3h — Erinnerung verschieben\n• ⏭ Überspringen — Einnahme überspringen\n• ✓ Bestätigen — Verpasste Einnahme bestätigen",
|
||
"measureValuePrompt": "Antworte mit dem Wert, um ihn zu speichern (optional).",
|
||
"buttonMeasureValue": "Wert…",
|
||
"measureValueSaved": "Messwert gespeichert.",
|
||
"measureValueInvalid": "Antworte mit einer Zahl, um einen Messwert zu speichern.",
|
||
"measureValueOutOfRange": "Dieser Wert liegt außerhalb des plausiblen Bereichs.",
|
||
"measureValueExpired": "Diese Aufforderung ist abgelaufen."
|
||
},
|
||
"medicationReminders": {
|
||
"phaseGreenTitle": "🟢 Erinnerung: {medName}",
|
||
"phaseGreenMessage": "🟢 Erinnerung:\n<b>{medName}</b> ({doseInfo}, {timeWindow})\nZeitfenster endet in {minutes} Min.",
|
||
"phaseYellowTitle": "🟡 Bald fällig: {medName}",
|
||
"phaseYellowMessage": "🟡 Bald fällig:\n<b>{medName}</b> ({doseInfo}, {timeWindow})\nNoch {minutes} Min. Zeit.",
|
||
"phaseOrangeTitle": "🟠 Überfällig: {medName}",
|
||
"phaseOrangeMessage": "🟠 Überfällig:\n<b>{medName}</b> ({doseInfo}, {timeWindow})\nSeit {minutes} Min. überfällig.",
|
||
"phaseRedTitle": "🔴 Verpasst: {medName}",
|
||
"phaseRedMessage": "🔴 Verpasst:\n<b>{medName}</b> ({doseInfo}, {timeWindow})\nAls verpasst markiert.",
|
||
"buttonTaken": "Genommen",
|
||
"buttonConfirm": "✓ Bestätigen",
|
||
"buttonSnoozeOneHour": "🕐 1h",
|
||
"buttonSnoozeThreeHours": "🕐 3h",
|
||
"buttonSkip": "⏭ Überspringen"
|
||
},
|
||
"lowStockReminders": {
|
||
"title": "Vorrat niedrig: {medName}",
|
||
"bodyToday": "Dein Vorrat an {medName} reicht keinen ganzen Tag mehr ({units} Einheiten übrig).",
|
||
"bodyReorder": "Dein Vorrat an {medName} ({units} Einheiten) ist um den {runsOutOn} aufgebraucht — bestelle bis zum {reorderBy} nach.",
|
||
"bodyLastDose": "Dein Vorrat an {medName} ({units} Einheiten) reicht noch etwa für die letzte Dosis. Aufgebraucht um den {runsOutOn}.",
|
||
"bodyExpired": "{medName}: kein nutzbarer Bestand mehr. {units} Einheiten sind als abgelaufen markiert.",
|
||
"bodyAsNeeded": "Von {medName} sind nur noch {units} Einheiten übrig. Bestelle nach, bevor du die nächste Dosis brauchst."
|
||
},
|
||
"moodReminders": {
|
||
"dailyTitle": "Stimmung erfassen",
|
||
"dailyBody": "Wie geht es dir heute?"
|
||
},
|
||
"coachNudges": {
|
||
"greetingMorning": "Guten Morgen",
|
||
"greetingMorningNamed": "Guten Morgen, {name}",
|
||
"greetingHey": "Hey",
|
||
"greetingHeyNamed": "Hey {name}",
|
||
"complianceBody": "Deine Einnahmen sind diese Woche etwas durcheinandergeraten. Wenn du magst, schauen wir gemeinsam, was es dir leichter machen würde.",
|
||
"bpBody": "Dein Blutdruck lag diese Woche etwas über deinem gewohnten Bereich. Wann immer du möchtest, sehe ich mir das gern mit dir an.",
|
||
"scoreBody": "Deine Erholung lässt seit ein paar Tagen etwas nach. Wenn dich interessiert, was dahintersteckt, bin ich da.",
|
||
"selfContextBody": "Deine Selbstauskunft ist länger nicht aktualisiert. Wenn du einen Moment hast, hilft mir eine Auffrischung, dich besser zu verstehen.",
|
||
"weightBody": "Dein Gewicht hat sich zuletzt etwas von deinem Zielbereich entfernt. Wenn du magst, ziehen wir in Ruhe gemeinsam Bilanz.",
|
||
"sleepDebtBody": "Einige deiner Nächte waren diese Woche recht kurz. Wenn du willst, suchen wir gemeinsam nach einem Muster.",
|
||
"measurementGapBody": "Dein Protokoll ist seit etwa einer Woche still. Wann immer es dir passt, hilft ein kurzer Austausch beim Wiedereinstieg.",
|
||
"focusNote": "Das passt auch zu dem, was du selbst im Blick behalten möchtest.",
|
||
"reminderSurfacedTitle": "Deine Erinnerung",
|
||
"reminderSurfacedLeadOne": "Du wolltest heute daran erinnert werden:",
|
||
"reminderSurfacedLeadMany": "Du wolltest heute an {count} Dinge erinnert werden:",
|
||
"questionConditions": "Hast du chronische Erkrankungen, die der Coach kennen sollte?",
|
||
"questionFocus": "Gibt es etwas Bestimmtes, worauf der Coach achten soll?",
|
||
"questionAllergies": "Hast du Allergien oder Unverträglichkeiten?",
|
||
"questionAboutMe": "Magst du dem Coach etwas über dich erzählen — Alltag, Ziele, Kontext?"
|
||
},
|
||
"clinicianView": {
|
||
"title": "Geteilte Gesundheitsakte",
|
||
"period": "Berichtszeitraum: {start} – {end}",
|
||
"expires": "Dieser Link läuft am {date} ab.",
|
||
"provenance": "Dies ist eine schreibgeschützte Zusammenfassung, die von der betreffenden Person geteilt wurde, exportiert aus ihren selbst erfassten HealthLog-Daten. Die Werte sind selbst erhoben und können geräteübertragene Messwerte enthalten; behandeln Sie sie als von der Patientin/dem Patienten berichtet, nicht als klinische Untersuchung.",
|
||
"labs": "Laborwerte",
|
||
"medications": "Medikamente & Therapietreue",
|
||
"bmi": "Body-Mass-Index (BMI)",
|
||
"statSummary": "zuletzt {latest} (Ø {avg}, Bereich {min}–{max})",
|
||
"statSummaryWithUnit": "zuletzt {latest} {unit} (Ø {avg} {unit}, Bereich {min}–{max} {unit})",
|
||
"adherence": "{rate} Therapietreue",
|
||
"noAdherence": "—",
|
||
"glucose": {
|
||
"FASTING": "Glukose (nüchtern)",
|
||
"POSTPRANDIAL": "Glukose (postprandial)",
|
||
"RANDOM": "Glukose (zufällig)",
|
||
"BEDTIME": "Glukose (vor dem Schlafen)"
|
||
},
|
||
"wellness": {
|
||
"title": "Wellness-Werte",
|
||
"disclaimer": "Beschreibende Werte (0–100), berechnet aus erfassten Signalen. Dies ist keine klinische Beurteilung und keine Diagnose.",
|
||
"recovery": "Erholungswert",
|
||
"stress": "Stresswert",
|
||
"strain": "Belastungswert",
|
||
"score": "Wellness-Wert"
|
||
},
|
||
"footer": "Geteilt aus HealthLog — einem selbst gehosteten Gesundheits-Tracker.",
|
||
"unlock": {
|
||
"title": "Passphrase eingeben",
|
||
"description": "Diese geteilte Gesundheitsakte ist geschützt. Geben Sie die erhaltene Passphrase ein, um sie anzuzeigen.",
|
||
"label": "Passphrase",
|
||
"error": "Diese Passphrase ist nicht korrekt.",
|
||
"submit": "Entsperren"
|
||
},
|
||
"loadError": {
|
||
"title": "Diese geteilte Ansicht konnte nicht geladen werden",
|
||
"description": "Beim Öffnen dieser geteilten Gesundheitsdaten ist ein Fehler aufgetreten. Der Link ist möglicherweise abgelaufen, oder es lag ein vorübergehendes Problem vor. Versuche es erneut oder bitte die Person, die den Link geteilt hat, um einen neuen.",
|
||
"retry": "Erneut versuchen"
|
||
},
|
||
"documents": {
|
||
"title": "Dokumente",
|
||
"untitled": "Unbenanntes Dokument",
|
||
"download": "Herunterladen",
|
||
"attachmentHint": "Diese Datei wird auf Ihr Gerät heruntergeladen (keine Vorschau in der Seite).",
|
||
"exifNote": "Kamera-Metadaten (EXIF/GPS) wurden aus geteilten JPEG-, PNG- und WebP-Bildern entfernt."
|
||
},
|
||
"downloadPdf": "Als PDF herunterladen",
|
||
"downloadFhir": "Als FHIR herunterladen",
|
||
"bmiSection": "Body-Mass-Index",
|
||
"sectionEmpty": "In diesem Link enthalten, hier ist aber nichts erfasst.",
|
||
"sectionUnavailable": "In diesem Link enthalten, dieser Teil der Akte ist im zugehörigen Konto aber abgeschaltet und enthält deshalb keine Daten.",
|
||
"lastInjection": "Letzte Injektion",
|
||
"identity": {
|
||
"name": "Name"
|
||
},
|
||
"doses": {
|
||
"title": "Erfasste Dosen",
|
||
"showing": "Angezeigt werden die {shown} jüngsten von {total} erfassten Dosen."
|
||
},
|
||
"course": "Phase {n}",
|
||
"courseRange": "{start} bis {end}",
|
||
"courseSince": "seit {start}"
|
||
},
|
||
"cycle": {
|
||
"symptomCategory": {
|
||
"physical": "Körperlich",
|
||
"emotional": "Emotional",
|
||
"digestive": "Verdauung",
|
||
"custom": "Eigene"
|
||
},
|
||
"symptom": {
|
||
"cramps": "Krämpfe",
|
||
"headache": "Kopfschmerzen",
|
||
"bloating": "Blähbauch",
|
||
"acne": "Akne",
|
||
"breastTenderness": "Brustspannen",
|
||
"fatigue": "Müdigkeit",
|
||
"backPain": "Rückenschmerzen",
|
||
"insomnia": "Schlaflosigkeit",
|
||
"libidoHigh": "Hohe Libido",
|
||
"libidoLow": "Niedrige Libido",
|
||
"moodSwings": "Stimmungsschwankungen",
|
||
"foodCravings": "Heißhunger",
|
||
"nausea": "Übelkeit",
|
||
"diarrhea": "Durchfall",
|
||
"constipation": "Verstopfung",
|
||
"custom": {
|
||
"add": "Symptom hinzufügen",
|
||
"label": "Name",
|
||
"labelPlaceholder": "z. B. Schwindel",
|
||
"icon": "Symbol",
|
||
"limitReached": "Höchstzahl an eigenen Symptomen erreicht.",
|
||
"remove": "{label} entfernen",
|
||
"removeTitle": "Dieses Symptom entfernen?",
|
||
"removeBody": "„{label}“ verschwindet aus der Symptomliste. Bereits damit markierte Tage behalten es, du kannst es aber nicht mehr auswählen.",
|
||
"removeConfirm": "Entfernen",
|
||
"fallbackLabel": "Eigenes Symptom"
|
||
}
|
||
},
|
||
"prediction": {
|
||
"disclaimer": "Vorhersagen sind Schätzungen aus deinen erfassten Daten, keine medizinische Beratung und keine Verhütung. Die Genauigkeit steigt, je mehr Zyklen du erfasst."
|
||
},
|
||
"insights": {
|
||
"headline": {
|
||
"title": "Dein Zyklus und dein Körper",
|
||
"restingHeartRate": "Dein Ruhepuls liegt in der Lutealphase etwa {delta} {unit} {dir} als in der Follikelphase.",
|
||
"heartRateVariability": "Deine Herzfrequenzvariabilität liegt in der Lutealphase etwa {delta} {unit} {dir} als in der Follikelphase.",
|
||
"generic": "Dein/e {metric} liegt in der Lutealphase etwa {delta} {unit} {dir} als in der Follikelphase.",
|
||
"dirHigher": "höher",
|
||
"dirLower": "niedriger",
|
||
"empty": "Noch nicht genug Zyklen und Messwerte für ein Phasenmuster. Logge weiter — das füllt sich, je länger deine Historie wird."
|
||
},
|
||
"crosstab": {
|
||
"description": "Wie sich jeder Messwert zwischen deiner Luteal- und Follikelphase vergleicht — auf deinen eigenen Daten.",
|
||
"pairLabel": "{metric} · Luteal vs. Follikel",
|
||
"detail": "Luteal {lutealAvg} {unit} ({lutealDays} Tage) vs. Follikel {follicularAvg} {unit} ({follicularDays} Tage).",
|
||
"metricRestingHeartRate": "Ruhepuls",
|
||
"metricHrv": "Herzfrequenzvariabilität",
|
||
"metricSleepDuration": "Schlafdauer",
|
||
"metricSteps": "Schritte",
|
||
"metricWeight": "Gewicht",
|
||
"metricBasalBodyTemp": "Basaltemperatur",
|
||
"metricWristTemperature": "Handgelenkstemperatur nachts",
|
||
"metricSkinTemperature": "Hauttemperatur",
|
||
"metricBloodGlucose": "Blutzucker",
|
||
"metricMood": "Stimmung",
|
||
"unitHours": "Std.",
|
||
"unitSteps": "Schritte",
|
||
"unitBpm": "S/min",
|
||
"unitMs": "ms",
|
||
"unitMood": "Pkt.",
|
||
"confidenceLow": "Geringe Sicherheit",
|
||
"confidenceMedium": "Mittlere Sicherheit",
|
||
"confidenceHigh": "Hohe Sicherheit"
|
||
},
|
||
"title": "Zyklus-Erkenntnisse",
|
||
"symptomPatternsTitle": "Symptommuster nach Phase",
|
||
"symptomPatternsEmpty": "Erfasse Symptome über einen Zyklus, um zu sehen, in welcher Phase sie sich häufen.",
|
||
"symptomMostlyIn": "Meist in {phase} ({count}/{total} Tage)"
|
||
},
|
||
"phaseEducation": {
|
||
"title": "Was gerade passiert",
|
||
"whatsHappening": {
|
||
"MENSTRUAL": "Deine Periode ist der Beginn eines neuen Zyklus, während sich die Gebärmutterschleimhaut löst. Energie und Stimmung fühlen sich in diesen ersten Tagen oft niedriger an.",
|
||
"FOLLICULAR": "Nach der Periode steigt der Östrogenspiegel allmählich, während der Körper eine Eizelle vorbereitet. Viele bemerken in dieser Phase eine gleichmäßigere Energie.",
|
||
"OVULATORY": "Etwa zur Zyklusmitte wird eine Eizelle freigesetzt und die Fruchtbarkeit erreicht für ein kurzes Fenster ihren Höhepunkt. Diese Phase ist die kürzeste der vier.",
|
||
"LUTEAL": "Nach dem Eisprung steigt das Progesteron und der Körper kommt zur Ruhe. In den Tagen vor der nächsten Periode bemerken manche prämenstruelle Veränderungen."
|
||
},
|
||
"context": {
|
||
"MENSTRUAL": "Die Hormonspiegel sind jetzt am niedrigsten, weshalb sich diese Tage wie ein ruhiger Neustart anfühlen können. Manche bemerken Krämpfe, leichteren Schlaf oder den Wunsch, einen Gang zurückzuschalten; andere kommen fast unverändert durch. All das liegt im normalen Rahmen, und wie es sich anfühlt, kann von Zyklus zu Zyklus wechseln.",
|
||
"FOLLICULAR": "Mit steigendem Östrogen beschreiben viele diese Tage als hell und offen — der Schlaf fällt oft leichter und der Kopf fühlt sich klarer an. Die Basaltemperatur bleibt meist im niedrigeren Bereich, bis kurz vor dem Eisprung. Die Länge dieser Phase schwankt am stärksten — von Person zu Person und von Zyklus zu Zyklus.",
|
||
"OVULATORY": "Das Östrogen erreicht kurz vor dem Eisprung seinen Höhepunkt, oft begleitet von einem kurzen Stimmungshoch und einem leichten Anstieg der Basaltemperatur in den ein, zwei Tagen danach. Der Zervixschleim wird in diesem Fenster meist klarer und dehnbarer. Ein kurzes Ziehen auf einer Seite bemerken manche; viele spüren gar nichts, und beides ist völlig normal.",
|
||
"LUTEAL": "Das Progesteron führt durch die zweite Zyklushälfte, und die Basaltemperatur liegt meist etwas höher als zuvor im Zyklus. Manche bemerken im Lauf der Tage Veränderungen bei Schlaf, Appetit, Stimmung oder Energie, während andere durchgehend ausgeglichen bleiben. Das Muster ist persönlich und sieht von Monat zu Monat oft anders aus."
|
||
},
|
||
"commonHere": "Das bemerkst du hier oft",
|
||
"stillLearning": "Lerne deinen Zyklus noch kennen. Trage weiter ein, dann füllt sich das mit Mustern aus deinen eigenen Tagen."
|
||
},
|
||
"insightsSummary": {
|
||
"title": "Dein Zyklus",
|
||
"currentDay": "Tag {day} deines Zyklus",
|
||
"noActiveCycle": "Noch kein aktiver Zyklus",
|
||
"viewDetails": "Zyklus-Erkenntnisse ansehen"
|
||
},
|
||
"wellnessRing": {
|
||
"label": "Zyklus"
|
||
},
|
||
"disclaimer": "Diese Vorhersagen sind beschreibende Schätzungen aus deinen erfassten Daten, keine Verhütungsmethode und keine medizinische Beratung. Sie zeigen nie an, dass ungeschützter Geschlechtsverkehr sicher ist. Wende dich für Verhütung oder medizinische Entscheidungen an eine medizinische Fachperson.",
|
||
"title": "Dein Zyklus",
|
||
"subtitle": "Erfasse deine Periode und Symptome und sieh, was als Nächstes kommt.",
|
||
"tabs": {
|
||
"calendar": "Kalender",
|
||
"predictions": "Prognosen",
|
||
"insights": "Erkenntnisse",
|
||
"settings": "Einstellungen"
|
||
},
|
||
"logToday": "Heute erfassen",
|
||
"startedPeriod": "Periode hat heute begonnen",
|
||
"endedPeriod": "Periode heute beendet",
|
||
"phase": {
|
||
"MENSTRUAL": "Menstruation",
|
||
"FOLLICULAR": "Follikelphase",
|
||
"OVULATORY": "Ovulation",
|
||
"LUTEAL": "Lutealphase",
|
||
"none": "Keine Phase",
|
||
"label": "Phase"
|
||
},
|
||
"flow": {
|
||
"NONE": "Keine",
|
||
"SPOTTING": "Schmierblutung",
|
||
"LIGHT": "Leicht",
|
||
"MEDIUM": "Mittel",
|
||
"HEAVY": "Stark",
|
||
"label": "Stärke"
|
||
},
|
||
"ovulationTest": {
|
||
"NEGATIVE": "Negativ",
|
||
"POSITIVE_LH_SURGE": "LH-Anstieg",
|
||
"ESTROGEN_SURGE": "Östrogen-Anstieg",
|
||
"INDETERMINATE": "Unklar",
|
||
"label": "Ovulationstest"
|
||
},
|
||
"mucus": {
|
||
"DRY": "Trocken",
|
||
"STICKY": "Klebrig",
|
||
"CREAMY": "Cremig",
|
||
"WATERY": "Wässrig",
|
||
"EGG_WHITE": "Eiweißartig",
|
||
"label": "Zervixschleim"
|
||
},
|
||
"cervixPosition": {
|
||
"LOW": "Tief",
|
||
"HIGH": "Hoch"
|
||
},
|
||
"cervixFirmness": {
|
||
"FIRM": "Fest",
|
||
"SOFT": "Weich"
|
||
},
|
||
"cervixOpening": {
|
||
"CLOSED": "Geschlossen",
|
||
"OPEN": "Geöffnet"
|
||
},
|
||
"goal": {
|
||
"GENERAL_HEALTH": "Allgemeine Gesundheit",
|
||
"AVOID_PREGNANCY": "Verhütung",
|
||
"TRYING_TO_CONCEIVE": "Kinderwunsch",
|
||
"PERIMENOPAUSE": "Perimenopause",
|
||
"OFF": "Tracking aus",
|
||
"label": "Wofür trackst du?",
|
||
"description": "Das bestimmt die Sprache und welche Prognosen du siehst. Hinweise zum fruchtbaren Fenster erscheinen nur bei Kinderwunsch."
|
||
},
|
||
"ring": {
|
||
"dayOfCycle": "Tag {day}",
|
||
"dayUnknown": "—",
|
||
"ariaPhase": "Zyklustag {day}, {phase}-Phase",
|
||
"ariaUnknown": "Noch kein aktiver Zyklus",
|
||
"caption": "deines Zyklus",
|
||
"firstPeriodCta": "Erste Periode erfassen",
|
||
"periodOverdue": "Deine Periode ist später als üblich — die Tageszählung pausiert, bis die nächste Periode erfasst ist.",
|
||
"periodOverdueDays": "Deine Periode ist {days} Tage später als üblich — die Tageszählung pausiert, bis die nächste Periode erfasst ist.",
|
||
"logPeriodCta": "Periode erfassen"
|
||
},
|
||
"calendar": {
|
||
"legendPeriod": "Erfasste Periode",
|
||
"legendPredicted": "Prognostizierte Periode",
|
||
"legendFertile": "Fruchtbares Fenster",
|
||
"legendOvulation": "Ovulation",
|
||
"legendSymptoms": "Symptome erfasst",
|
||
"prevMonth": "Vorheriger Monat",
|
||
"nextMonth": "Nächster Monat",
|
||
"loading": "Kalender wird geladen…",
|
||
"learning": "Wir lernen deinen Zyklus — erfasse mindestens drei volle Zyklen, dann füllen sich fruchtbares Fenster, Eisprung und Phasen. Bis dahin zeigt der Kalender nur, was du erfasst hast.",
|
||
"legendSymptom": "Symptome",
|
||
"legendOvulationConfirmed": "Bestätigter Eisprung",
|
||
"flowSpotting": "Schmierblutung",
|
||
"flowLight": "leicht",
|
||
"flowMedium": "mittel",
|
||
"flowHeavy": "stark",
|
||
"legendIntercourse": "Geschlechtsverkehr",
|
||
"legendOtherEntries": "Weitere Einträge"
|
||
},
|
||
"predictions": {
|
||
"title": "Was als Nächstes kommt",
|
||
"nextPeriod": "Nächste Periode",
|
||
"nextPeriodWindow": "{low} – {high}",
|
||
"fertileWindow": "Fruchtbares Fenster",
|
||
"ovulation": "Geschätzter Eisprung",
|
||
"confidenceHigh": "Hoch",
|
||
"confidenceMedium": "Mittel",
|
||
"confidenceLow": "Niedrig",
|
||
"stillLearning": "Noch am Lernen",
|
||
"stillLearningBody": "Erfasse mindestens drei vollständige Zyklen, dann werden deine Prognosen genauer. Bis dahin ist dies eine grobe Schätzung.",
|
||
"rawMode": "Prognose ist aus",
|
||
"rawModeBody": "Du hast Prognosen ausgeschaltet — es werden nur deine erfassten Daten gezeigt, ohne Vorhersage.",
|
||
"none": "Noch keine Prognose. Erfasse eine Periode, um zu starten.",
|
||
"ovulationConfirmed": "Eisprung (bestätigt)"
|
||
},
|
||
"history": {
|
||
"title": "Deine Zyklen",
|
||
"avgLength": "Durchschnittliche Länge",
|
||
"variability": "Schwankung",
|
||
"avgPeriodLength": "Durchschnittliche Periode",
|
||
"regularity": "Regelmäßigkeit",
|
||
"regularityREGULAR": "Regelmäßig",
|
||
"regularityIRREGULAR": "Unregelmäßig",
|
||
"regularityLEARNING": "Lernend",
|
||
"days": "{count} Tage",
|
||
"daysPlusMinus": "± {count} Tage",
|
||
"none": "Noch keine Zyklen erfasst.",
|
||
"recentCycles": "Letzte Zyklen",
|
||
"ongoing": "laufend",
|
||
"periodDays": "Periode {count} T",
|
||
"ovulationChip": "Eisprung",
|
||
"chartTitle": "Zykluslänge im Verlauf",
|
||
"chartCaption": "Jeder Balken ist ein Zyklus: die rosa Basis ist deine Periode, der Rest die Zykluslänge.",
|
||
"chartAria": "Zykluslängen-Diagramm deiner letzten {count} Zyklen, Durchschnitt {avg} Tage, eingestuft als {regularity}.",
|
||
"legendPeriodSegment": "Periodentage",
|
||
"legendRestSegment": "Rest des Zyklus"
|
||
},
|
||
"sheet": {
|
||
"title": "Tag erfassen",
|
||
"description": "Stärke, Symptome und Notizen für diesen Tag.",
|
||
"flow": "Stärke",
|
||
"symptoms": "Symptome",
|
||
"temperature": "Basaltemperatur",
|
||
"temperatureDisturbed": "Messwert als gestört markieren",
|
||
"temperatureDisturbedHint": "Fieber, Krankheit, Alkohol oder eine späte Messung — wird von der Temperaturauswertung ausgeschlossen.",
|
||
"ovulationTest": "Ovulationstest",
|
||
"mucus": "Zervixschleim",
|
||
"cervix": "Gebärmutterhals",
|
||
"cervixPosition": "Position",
|
||
"cervixFirmness": "Festigkeit",
|
||
"cervixOpening": "Öffnung",
|
||
"intercourse": "Geschlechtsverkehr",
|
||
"protected": "Geschützt",
|
||
"note": "Notiz",
|
||
"notePlaceholder": "Was du dir über heute merken möchtest…",
|
||
"save": "Speichern",
|
||
"saving": "Speichern…",
|
||
"cancel": "Abbrechen",
|
||
"saveError": "Konnte nicht gespeichert werden. Versuch es erneut.",
|
||
"emptyHint": "Wähle eine Stärke oder ein Symptom, um diesen Tag zu speichern, oder nutze oben den Knopf für den Periodenbeginn.",
|
||
"intermenstrualBleeding": "Schmierblutung zwischen Perioden",
|
||
"pregnancyTest": "Schwangerschaftstest",
|
||
"progesteroneTest": "Progesterontest",
|
||
"contraceptive": "Verhütung",
|
||
"severity": "Schweregrad",
|
||
"severityLevel": "Schweregrad {level} von 4",
|
||
"delete": "Löschen",
|
||
"deleteTitle": "Diesen Tag löschen?",
|
||
"deleteBody": "Alles, was für diesen Tag erfasst ist, verschwindet: Blutung, Temperatur, Symptome und deine Notiz. Es lässt sich nicht wiederherstellen.",
|
||
"deleteConfirm": "Tag löschen",
|
||
"temperatureSection": "Temperatur & Eisprung",
|
||
"intimacySection": "Intimität & Verhütung",
|
||
"testsSection": "Tests",
|
||
"phaseDayHeader": "Tag {day} · {phase}",
|
||
"bbtHint": "Miss sie morgens als Erstes, noch vor dem Aufstehen.",
|
||
"titleForDate": "Eintrag für {date}",
|
||
"descriptionToday": "Heute. Stärke, Symptome und Notizen.",
|
||
"deleteBodyCycleStart": "Dieser Tag eröffnet einen Zyklus. Beim Löschen geht der Periodenbeginn mit, sodass der vorherige Zyklus wie zuvor weiterläuft. Alles hier Erfasste geht ebenfalls: Stärke, Temperatur, Symptome und deine Notiz. Es gibt keinen Weg zurück."
|
||
},
|
||
"settings": {
|
||
"title": "Zyklus-Einstellungen",
|
||
"typicalCycleLength": "Typische Zykluslänge (Tage)",
|
||
"typicalPeriodLength": "Typische Periodenlänge (Tage)",
|
||
"lutealPhaseLength": "Länge der Lutealphase (Tage)",
|
||
"priorsDescription": "Diese Vorgaben helfen deinen Prognosen, bevor du viele Zyklen erfasst hast. Leer lassen, um die Standardwerte zu nutzen.",
|
||
"rawChartMode": "Roh-Diagramm-Modus",
|
||
"rawChartModeDescription": "Zeige nur deine erfassten Daten, ohne Prognosen oder Deutung.",
|
||
"secondarySymptomLabel": "Zweites Fruchtbarkeitszeichen",
|
||
"secondarySymptomDescription": "Das zweite Zeichen, das für die symptothermale Doppelkontrolle mit deiner Temperatur kombiniert wird. Die meisten beobachten den Zervixschleim; wechsle zur Gebärmutterhals-Beobachtung, wenn du das bevorzugst.",
|
||
"secondarySymptomCitation": "Mehr zur Methode (Studie)",
|
||
"secondarySymptom": {
|
||
"MUCUS": "Zervixschleim",
|
||
"CERVIX": "Gebärmutterhals"
|
||
},
|
||
"prediction": "Prognosen",
|
||
"predictionDescription": "Prognostiziere deine nächste Periode und, wenn relevant, dein fruchtbares Fenster.",
|
||
"encryption": "Sensible Einträge verschlüsseln",
|
||
"encryptionDescription": "Verschlüssele absichtsverratende Felder (Schwangerschaftstests, Verhütung, Geschlechtsverkehr) ruhend, zusätzlich zu den stets verschlüsselten Notizen.",
|
||
"discreet": "Diskrete Benachrichtigungen",
|
||
"discreetDescription": "Verbirg Zyklusdetails im Benachrichtigungstext auf deinem Sperrbildschirm.",
|
||
"saved": "Einstellungen gespeichert",
|
||
"saveError": "Konnte nicht gespeichert werden. Versuch es erneut.",
|
||
"save": "Speichern",
|
||
"reminders": "Erinnerungen",
|
||
"remindersDescription": "Perioden-Erinnerungen pro Kanal in den Benachrichtigungseinstellungen aktivieren.",
|
||
"remindersLink": "Benachrichtigungseinstellungen",
|
||
"fertileReminder": "Erinnerung an das fruchtbare Fenster",
|
||
"fertileReminderDescription": "Erhalte einige Tage vor deinem geschätzten fruchtbaren Fenster einen Hinweis. Standardmäßig aus — aktiviere sie pro Kanal in den Benachrichtigungseinstellungen."
|
||
},
|
||
"testResult": {
|
||
"POSITIVE": "Positiv",
|
||
"NEGATIVE": "Negativ",
|
||
"INDETERMINATE": "Unklar"
|
||
},
|
||
"contraceptive": {
|
||
"NONE": "Keine",
|
||
"UNSPECIFIED": "Andere",
|
||
"IMPLANT": "Implantat",
|
||
"INJECTION": "Spritze",
|
||
"IUD": "Spirale",
|
||
"INTRAVAGINAL_RING": "Ring",
|
||
"ORAL": "Pille",
|
||
"PATCH": "Pflaster",
|
||
"EMERGENCY": "Notfall"
|
||
},
|
||
"loadError": "Zyklusdaten konnten nicht geladen werden.",
|
||
"saveError": "Zykluseintrag konnte nicht gespeichert werden.",
|
||
"deleteError": "Eintrag konnte nicht gelöscht werden.",
|
||
"bbt": {
|
||
"title": "Basaltemperatur",
|
||
"caption": "Deine Morgentemperatur über diesen Zyklus. Ein anhaltender Anstieg um etwa 0,2 °C folgt auf den Eisprung.",
|
||
"empty": "Noch keine Temperaturwerte",
|
||
"emptyHint": "Miss deine Basaltemperatur jeden Morgen, um den Temperaturanstieg deines Zyklus zu sehen.",
|
||
"ovulationEstimate": "Gesch. Eisprung",
|
||
"tooltipTemp": "{temp} {unit}",
|
||
"ovulationConfirmed": "Bestätigter Eisprung"
|
||
},
|
||
"fieldInfo": {
|
||
"bbt": "Deine Ruhetemperatur, morgens als Erstes vor dem Aufstehen gemessen. Nach dem Eisprung steigt sie leicht an (etwa 0,2–0,3 °C).",
|
||
"bbtLabel": "Was ist die Basaltemperatur?",
|
||
"mucus": "Der Ausfluss verändert sich im Zyklus — von trocken oder klebrig zu cremig, dann wässrig und spinnbar rund um die fruchtbarsten Tage.",
|
||
"mucusLabel": "Was ist Zervixschleim?",
|
||
"ovulationTest": "Ein Urintest für zu Hause, der den LH-Anstieg erkennt — den Hormonschub etwa 24–36 h vor dem Eisprung. Ein positives Ergebnis markiert die fruchtbarste Phase.",
|
||
"ovulationTestLabel": "Was ist ein Ovulationstest?",
|
||
"spotting": "Leichte Blutung außerhalb der Periode.",
|
||
"spottingLabel": "Was ist Schmierblutung zwischen den Perioden?",
|
||
"pregnancyTest": "Ergebnis eines Schwangerschaftstests (hCG) für zu Hause.",
|
||
"pregnancyTestLabel": "Was ist ein Schwangerschaftstest?",
|
||
"progesteroneTest": "Ein Test, der bestätigt, dass der Eisprung stattgefunden hat — das Progesteron steigt danach an.",
|
||
"progesteroneTestLabel": "Was ist ein Progesterontest?",
|
||
"intercourse": "Ob an diesem Tag Geschlechtsverkehr stattgefunden hat.",
|
||
"intercourseLabel": "Was erfasst Geschlechtsverkehr?",
|
||
"protected": "Ob beim Verkehr verhütet wurde.",
|
||
"protectedLabel": "Was bedeutet geschützt?"
|
||
},
|
||
"saveSuccess": "Eintrag gespeichert",
|
||
"deleteSuccess": "Eintrag gelöscht",
|
||
"periodStartSaved": "Periodenbeginn gespeichert",
|
||
"periodEndSaved": "Periodenende gespeichert",
|
||
"startedPeriodOnDate": "Periode hat an diesem Tag begonnen",
|
||
"endedPeriodOnDate": "Periode an diesem Tag beendet"
|
||
},
|
||
"cycleReminders": {
|
||
"periodSoonTitle": "Periode steht wahrscheinlich bevor",
|
||
"periodSoonBody": "Deine nächste Periode wird in etwa zwei Tagen erwartet.",
|
||
"periodConfirmTitle": "Hat deine Periode begonnen?",
|
||
"periodConfirmBody": "Deine Periode wurde für etwa jetzt vorhergesagt. Trage sie ein, damit die Vorhersagen genau bleiben.",
|
||
"fertileSoonTitle": "Fruchtbares Fenster steht bevor",
|
||
"fertileSoonBody": "Dein geschätztes fruchtbares Fenster beginnt voraussichtlich in etwa zwei Tagen. Dies ist eine Schätzung und keine medizinische oder verhütende Garantie.",
|
||
"discreetTitle": "HealthLog-Erinnerung",
|
||
"discreetBody": "Du hast eine Erinnerung in HealthLog."
|
||
},
|
||
"dataList": {
|
||
"allSources": "Alle Quellen",
|
||
"dateFrom": "Von",
|
||
"dateTo": "Bis",
|
||
"dateRange": "Zeitraum",
|
||
"valueRange": "Wert",
|
||
"valueMin": "Min.",
|
||
"valueMax": "Max.",
|
||
"typeLabel": "Typ",
|
||
"sourceLabel": "Quelle",
|
||
"resetFilters": "Zurücksetzen",
|
||
"clearFilter": "Filter entfernen: {label}",
|
||
"selectAll": "Alle auf dieser Seite auswählen",
|
||
"selectRow": "Zeile auswählen",
|
||
"selected": "{count} ausgewählt",
|
||
"deleteN": "Löschen ({count})",
|
||
"clearSelection": "Auswahl aufheben",
|
||
"selectionBarLabel": "Auswahlaktionen"
|
||
},
|
||
"measurementReminders": {
|
||
"sectionTitle": "Vorsorge",
|
||
"sectionDescription": "Erinnerungen, was wann und wo zu messen oder zu prüfen ist.",
|
||
"markDone": "Erledigt",
|
||
"delete": "Löschen",
|
||
"deleteConfirmTitle": "Erinnerung löschen?",
|
||
"deleteConfirmDescription": "Diese Vorsorge-Erinnerung wird dauerhaft gelöscht.",
|
||
"postpone": {
|
||
"menuItem": "Verschieben…",
|
||
"title": "Fälligkeit verschieben",
|
||
"description": "Verschiebt nur die aktuelle Fälligkeit — der reguläre Rhythmus bleibt unverändert.",
|
||
"chip": "+{days} Tage",
|
||
"dateLabel": "Neues Datum",
|
||
"confirm": "Verschieben"
|
||
},
|
||
"skip": {
|
||
"heading": "Diese Fälligkeit überspringen",
|
||
"explainer": "Wird ehrlich als übersprungen festgehalten — nicht als erledigt. Das Intervall startet ab heute neu.",
|
||
"action": "Überspringen",
|
||
"confirmTitle": "Fälligkeit überspringen?"
|
||
},
|
||
"snoozedUntil": "Verschoben bis {date}",
|
||
"skippedOn": "Übersprungen am {date}",
|
||
"skipCount": "{count}× übersprungen",
|
||
"disabledBadge": "Aus",
|
||
"nextDue": {
|
||
"none": "Nicht geplant",
|
||
"today": "Heute fällig",
|
||
"tomorrow": "Morgen fällig",
|
||
"inDays": "In {days} Tagen"
|
||
},
|
||
"overdueByDays": "Überfällig seit {days} Tagen",
|
||
"overdueSinceYesterday": "Überfällig seit gestern",
|
||
"cadence": {
|
||
"everyNDays": "Alle {days} Tage",
|
||
"custom": "Eigener Zeitplan",
|
||
"customInterval": "Individuell (alle N Tage)",
|
||
"rruleOption": "Eigene Regel (RRULE)"
|
||
},
|
||
"location": {
|
||
"prefix": "Bei: {location}"
|
||
},
|
||
"types": {
|
||
"WEIGHT": "Gewicht",
|
||
"BLOOD_PRESSURE_SYS": "Blutdruck",
|
||
"PULSE": "Puls",
|
||
"BLOOD_GLUCOSE": "Blutzucker",
|
||
"OXYGEN_SATURATION": "Sauerstoffsättigung",
|
||
"BODY_FAT": "Körperfett",
|
||
"BODY_TEMPERATURE": "Körpertemperatur",
|
||
"FAT_MASS": "Fettmasse",
|
||
"FAT_FREE_MASS": "Fettfreie Masse",
|
||
"MUSCLE_MASS": "Muskelmasse",
|
||
"LEAN_BODY_MASS": "Magermasse",
|
||
"BONE_MASS": "Knochenmasse",
|
||
"TOTAL_BODY_WATER": "Körperwasser",
|
||
"VISCERAL_FAT": "Viszeralfett",
|
||
"BODY_MASS_INDEX": "Body-Mass-Index (BMI)",
|
||
"WAIST_CIRCUMFERENCE": "Taillenumfang",
|
||
"PHQ9_SCORE": "PHQ-9 · Stimmung",
|
||
"GAD7_SCORE": "GAD-7 · Sorgen",
|
||
"WHO5_SCORE": "WHO-5 · Wohlbefinden",
|
||
"SCI_SCORE": "SCI · Schlaf"
|
||
},
|
||
"typeGroups": {
|
||
"vitals": "Vitalwerte",
|
||
"bodyComposition": "Körperzusammensetzung",
|
||
"mentalWellbeing": "Seelisches Wohlbefinden"
|
||
},
|
||
"empty": {
|
||
"title": "Noch keine Erinnerungen",
|
||
"description": "Füge eine Erinnerung hinzu, um z. B. regelmäßig den Blutdruck zu messen oder ein jährliches Blutbild zu planen."
|
||
},
|
||
"form": {
|
||
"label": "Bezeichnung",
|
||
"labelPlaceholder": "z. B. Blutdruck messen",
|
||
"kind": "Art",
|
||
"kindType": "Mit einer Messung verknüpft",
|
||
"kindFreeText": "Freitext-Prüfung",
|
||
"measurementType": "Messwert",
|
||
"cadence": "Wiederholung",
|
||
"notifyHour": "Erinnern um",
|
||
"location": "Wo (optional)",
|
||
"locationPlaceholder": "z. B. Hausarzt, Labor",
|
||
"save": "Speichern",
|
||
"createTitle": "Neue Erinnerung",
|
||
"editTitle": "Erinnerung bearbeiten",
|
||
"customInterval": "Wiederholen alle (Tage)",
|
||
"rrule": "Wiederholungsregel (RRULE)",
|
||
"rruleHint": "RFC-5545, z. B. FREQ=YEARLY für eine jährliche Untersuchung.",
|
||
"firstDue": "Erste Fälligkeit (optional)"
|
||
},
|
||
"pushTitle": "Vorsorge-Erinnerung",
|
||
"pushBody": "Fällig: {label}",
|
||
"pushLocation": "(bei {location})",
|
||
"edit": "Bearbeiten",
|
||
"originCoach": "Coach",
|
||
"until": "Bis {date}",
|
||
"selfPlanned": "Selbstgeplant",
|
||
"captureValue": "Wert erfassen",
|
||
"measureNow": "Jetzt messen",
|
||
"startCheckIn": "Check-in starten",
|
||
"nextDueLabel": "Nächste Fälligkeit:",
|
||
"lastDoneLabel": "Zuletzt erledigt:",
|
||
"customize": "Vorsorge anpassen",
|
||
"adherence": {
|
||
"label": "Im Intervall",
|
||
"onTrack": "Im Plan",
|
||
"due": "Jetzt fällig"
|
||
},
|
||
"capture": {
|
||
"title": "Messwert erfassen",
|
||
"description": "Wert eintragen; die Erinnerung wird als erledigt markiert."
|
||
},
|
||
"manage": {
|
||
"title": "Erinnerungen verwalten",
|
||
"description": "Einzelne Erinnerungen aktivieren oder deaktivieren.",
|
||
"empty": "Noch keine Erinnerungen zum Anpassen."
|
||
},
|
||
"dashboard": {
|
||
"empty": "Keine anstehenden Vorsorge-Erinnerungen.",
|
||
"openLink": "Vorsorge öffnen"
|
||
},
|
||
"showMeasurements": "Messergebnisse anzeigen",
|
||
"loadError": "Erinnerungen konnten nicht geladen werden.",
|
||
"fileVisit": "Termin eintragen"
|
||
},
|
||
"moduleList": {
|
||
"viewToggleLabel": "Ansicht",
|
||
"viewCards": "Kartenansicht",
|
||
"viewList": "Listenansicht",
|
||
"viewHeading": "Ansicht",
|
||
"viewDescription": "Lege fest, ob die Einträge als Karten oder als kompakte Liste angezeigt werden.",
|
||
"reorder": {
|
||
"heading": "Reihenfolge",
|
||
"description": "Ziehe die Einträge, um ihre Reihenfolge festzulegen.",
|
||
"empty": "Noch keine Einträge zum Sortieren."
|
||
}
|
||
},
|
||
"labs": {
|
||
"title": "Laborwerte",
|
||
"subtitle": "Blutwerte und Biomarker",
|
||
"addResult": "Wert hinzufügen",
|
||
"addDescription": "Erfasse einen Biomarker aus deinem Laborbefund.",
|
||
"addFirst": "Ersten Wert erfassen",
|
||
"emptyTitle": "Noch keine Laborwerte",
|
||
"emptyDescription": "Erfasse Blutwerte wie HbA1c, LDL oder Ferritin, um sie über die Zeit zu verfolgen und mit deiner Ärztin oder deinem Arzt zu teilen.",
|
||
"referenceLabel": "Referenz",
|
||
"readingsCount": "{count} Messungen",
|
||
"deleteConfirmTitle": "Laborwert löschen?",
|
||
"deleteConfirmDescription": "Dieser Laborwert wird gelöscht. Direkt danach kannst du das kurz rückgängig machen.",
|
||
"deletedToast": "Wert gelöscht",
|
||
"deleteError": "Wert konnte nicht gelöscht werden",
|
||
"loadError": "Laborwerte konnten nicht geladen werden",
|
||
"customize": "Laborwerte anpassen",
|
||
"localOcr": {
|
||
"heading": "Scans auf diesem Gerät lesen",
|
||
"description": "Liest das Foto auf deinem Gerät und sendet nur den erkannten Text an deinen Anbieter.",
|
||
"detail": "Nützlich, wenn dein KI-Anbieter keine Bilder lesen kann. Weniger genau — prüfe jeden Wert vor dem Speichern."
|
||
},
|
||
"sort": {
|
||
"heading": "Sortierung",
|
||
"label": "Reihenfolge der Werte",
|
||
"recentDesc": "Neueste Messung zuerst",
|
||
"recentAsc": "Älteste Messung zuerst",
|
||
"alphaAsc": "Name (A–Z)",
|
||
"alphaDesc": "Name (Z–A)",
|
||
"manual": "Manuell sortieren",
|
||
"hint": "Bei manueller Sortierung kannst du die Biomarker unten in deine eigene Reihenfolge bringen."
|
||
},
|
||
"range": {
|
||
"inRange": "Im Bereich",
|
||
"below": "Unter Bereich",
|
||
"above": "Über Bereich"
|
||
},
|
||
"form": {
|
||
"value": "Wert",
|
||
"takenAt": "Probendatum",
|
||
"note": "Notiz",
|
||
"notePlaceholder": "Optionaler Kontext zu diesem Wert",
|
||
"requiredError": "Gib einen Wert ein.",
|
||
"save": "Speichern",
|
||
"saveAndAddAnother": "Speichern & nächsten Wert",
|
||
"savedToast": "Wert gespeichert",
|
||
"saveError": "Wert konnte nicht gespeichert werden",
|
||
"biomarker": "Biomarker",
|
||
"biomarkerPlaceholder": "Biomarker auswählen",
|
||
"defineNew": "+ Neuen Biomarker hinzufügen",
|
||
"noBiomarkersHint": "Lege zuerst einen Biomarker an, um einen Wert zu erfassen.",
|
||
"pickBiomarkerError": "Wähle zuerst einen Biomarker aus.",
|
||
"resultType": "Ergebnistyp",
|
||
"numeric": "Numerisch",
|
||
"qualitative": "Qualitativ",
|
||
"qualitativeResult": "Ergebnis",
|
||
"qualitativePlaceholder": "z. B. negativ",
|
||
"qualNegative": "negativ",
|
||
"qualPositive": "positiv",
|
||
"qualBorderline": "grenzwertig",
|
||
"sourceRange": "Bereich laut Befund",
|
||
"sourceRangePlaceholder": "z. B. 3,5 - 5,0 oder < 5",
|
||
"sourceRangeAdd": "+ Bereich aus dem Befund ergänzen",
|
||
"sourceRangeHint": "Optional. Gilt nur für diesen Wert; dein gespeicherter Bereich bleibt unverändert.",
|
||
"sourceRangeUnparsed": "Wird so übernommen — daraus ließ sich kein Zahlenbereich lesen."
|
||
},
|
||
"backToLabs": "Zurück zu den Laborwerten",
|
||
"hasNote": "Notiz",
|
||
"editTitle": "Wert bearbeiten",
|
||
"editDescription": "Wert, Datum oder Notiz dieser Messung korrigieren.",
|
||
"editedToast": "Wert aktualisiert",
|
||
"editError": "Wert konnte nicht aktualisiert werden",
|
||
"editTimestampError": "Gib ein gültiges Datum ein.",
|
||
"editReading": "Wert bearbeiten",
|
||
"deleteReading": "Wert löschen",
|
||
"restoredToast": "Wert wiederhergestellt",
|
||
"restoreError": "Wert konnte nicht wiederhergestellt werden",
|
||
"detail": {
|
||
"emptyTitle": "Noch keine Werte",
|
||
"emptyDescription": "Füge einen Wert hinzu, um diesen Biomarker über die Zeit zu verfolgen.",
|
||
"title": "Biomarker",
|
||
"genericDescription": "Ein Laborwert, den du verfolgst. Erfasse Messwerte, um den Verlauf gegenüber dem Referenzbereich zu sehen.",
|
||
"valuesTitle": "{marker} — alle Werte",
|
||
"valuesDescription": "Jeder Messwert für diesen Biomarker. Bearbeite oder entferne einen Eintrag direkt.",
|
||
"backToMarker": "Zurück zu {marker}",
|
||
"latestResult": "Letztes Ergebnis"
|
||
},
|
||
"chart": {
|
||
"empty": "Keine Werte in diesem Zeitraum.",
|
||
"valueLabel": "Wert",
|
||
"range": {
|
||
"30": "30 T",
|
||
"90": "90 T",
|
||
"365": "1 J",
|
||
"all": "Alle"
|
||
},
|
||
"sourceRangeLabel": "Befundbereich",
|
||
"sourceBandLegend": "Zweites Band: der Bereich aus dem Befund vom {date}.",
|
||
"sourceBandMixed": "Zweites Band: der Bereich aus dem neuesten Befund. Frühere Befunde im Zeitraum nennen andere Bereiche."
|
||
},
|
||
"biomarker": {
|
||
"manageTitle": "Biomarker",
|
||
"managerDescription": "Marker einmal definieren — Einheit und Bereich gelten für jede Messung.",
|
||
"define": "Hinzufügen",
|
||
"defineFirst": "Ersten Biomarker hinzufügen",
|
||
"defineTitle": "Biomarker hinzufügen",
|
||
"defineDescription": "Name, Einheit und Referenzbereich einmalig festlegen. Beim Erfassen wählst du nur den Marker.",
|
||
"editTitle": "Biomarker bearbeiten",
|
||
"edit": "Bearbeiten",
|
||
"delete": "Löschen",
|
||
"deletedToast": "Biomarker gelöscht",
|
||
"deleteError": "Biomarker konnte nicht gelöscht werden",
|
||
"deleteConfirmTitle": "Biomarker löschen?",
|
||
"deleteConfirmDescription": "Der Biomarker und alle erfassten Werte werden dauerhaft gelöscht. Dies kann nicht rückgängig gemacht werden.",
|
||
"emptyTitle": "Noch keine Biomarker",
|
||
"emptyDescription": "Lege Marker wie LDL oder HbA1c an, um Werte zu erfassen.",
|
||
"loadError": "Biomarker konnten nicht geladen werden",
|
||
"noRange": "Kein Referenzbereich",
|
||
"form": {
|
||
"seedLabel": "Von einem gängigen Marker starten",
|
||
"seedPlaceholder": "Marker wählen (optional)",
|
||
"seedHint": "Eine Auswahl füllt die Felder unten — passe den Bereich an dein Labor an.",
|
||
"name": "Name",
|
||
"namePlaceholder": "z. B. LDL-Cholesterin",
|
||
"unit": "Einheit",
|
||
"unitPlaceholder": "z. B. mg/dl",
|
||
"unitLockedHint": "Sobald dieser Marker Werte hat, bleibt seine Einheit, wie sie ist. Sonst würden die gespeicherten Werte in einer neuen Einheit angezeigt, ohne umgerechnet zu werden.",
|
||
"panel": "Panel",
|
||
"panelPlaceholder": "z. B. Lipide",
|
||
"lowerBound": "Referenz unten",
|
||
"upperBound": "Referenz oben",
|
||
"lowerPlaceholder": "Untere Grenze",
|
||
"upperPlaceholder": "Obere Grenze",
|
||
"context": "Kontext",
|
||
"contextPlaceholder": "Optionale Notiz zu diesem Marker",
|
||
"rangeHint": "Beide Grenzen sind optional — eine leer lassen für einen offenen Bereich (z. B. LDL < 116).",
|
||
"requiredError": "Name und Einheit sind erforderlich.",
|
||
"rangeOrderError": "Die untere Grenze darf die obere nicht überschreiten.",
|
||
"save": "Biomarker speichern",
|
||
"savedToast": "Biomarker gespeichert",
|
||
"updatedToast": "Biomarker aktualisiert",
|
||
"saveError": "Biomarker konnte nicht gespeichert werden"
|
||
},
|
||
"hide": "Ausblenden",
|
||
"unhide": "Wiederherstellen",
|
||
"hiddenToast": "Biomarker ausgeblendet",
|
||
"unhiddenToast": "Biomarker wiederhergestellt",
|
||
"hideError": "Biomarker konnte nicht aktualisiert werden",
|
||
"allHidden": "Alle Biomarker sind ausgeblendet.",
|
||
"hiddenSection": "Ausgeblendet"
|
||
},
|
||
"catalog": {
|
||
"total-cholesterol": "Gesamtcholesterin",
|
||
"ldl": "LDL-Cholesterin",
|
||
"hdl": "HDL-Cholesterin",
|
||
"triglycerides": "Triglyceride",
|
||
"fasting-glucose": "Nüchternglukose",
|
||
"hba1c": "HbA1c",
|
||
"tsh": "TSH",
|
||
"ft3": "Freies T3",
|
||
"ft4": "Freies T4",
|
||
"ferritin": "Ferritin",
|
||
"transferrin-saturation": "Transferrinsättigung",
|
||
"vitamin-d": "Vitamin D (25-OH)",
|
||
"vitamin-b12": "Vitamin B12",
|
||
"folate": "Folsäure",
|
||
"hs-crp": "hs-CRP",
|
||
"creatinine": "Kreatinin",
|
||
"egfr": "eGFR",
|
||
"alt": "ALT (GPT)",
|
||
"ast": "AST (GOT)",
|
||
"ggt": "GGT",
|
||
"sodium": "Natrium",
|
||
"potassium": "Kalium",
|
||
"hemoglobin": "Hämoglobin",
|
||
"hematocrit": "Hämatokrit",
|
||
"wbc": "Leukozyten",
|
||
"platelets": "Thrombozyten",
|
||
"panel": {
|
||
"lipids": "Lipide",
|
||
"glucose": "Glukosestoffwechsel",
|
||
"thyroid": "Schilddrüse",
|
||
"iron": "Eisen",
|
||
"vitamins": "Vitamine",
|
||
"inflammation": "Entzündung",
|
||
"renal": "Niere",
|
||
"liver": "Leber",
|
||
"electrolytes": "Elektrolyte",
|
||
"bloodCount": "Blutbild"
|
||
},
|
||
"desc": {
|
||
"total-cholesterol": "Das Gesamtcholesterin ist die Summe des Cholesterins über alle Lipoprotein-Partikel im Blut, einschließlich der LDL-, HDL- und Remnant-Fraktion. Cholesterin selbst ist ein unverzichtbarer Baustein für Zellmembranen, Hormone und Gallensäuren. Als einzelner Wert bleibt es ein grobes Maß, denn sowohl ein hoher HDL- als auch ein hoher LDL-Anteil heben die Summe — deshalb liest man es meist gemeinsam mit den Einzelfraktionen. Erfasst wird es vor allem im Rahmen der langfristigen kardiovaskulären Risikoeinschätzung.",
|
||
"ldl": "Das LDL-Cholesterin ist das von Low-Density-Lipoprotein-Partikeln transportierte Cholesterin — die Fraktion, die Cholesterin zu den Geweben bringt, es aber auch in den Gefäßwänden ablagern kann. Über Jahre trägt diese Ablagerung zur arteriosklerotischen Plaque bei, weshalb LDL einer der am genauesten beobachteten Lipidmarker ist. Eine geringere langfristige Belastung geht in der Regel mit einem niedrigeren kardiovaskulären Risiko einher. Bewertet wird es nach Risikokategorie, nicht gegen einen festen Normwert.",
|
||
"hdl": "Das HDL-Cholesterin ist das von High-Density-Lipoprotein-Partikeln transportierte Cholesterin, die überschüssiges Cholesterin aus den Geweben aufnehmen und zur Wiederverwertung oder Ausscheidung zur Leber zurückführen. Wegen dieser Transportfunktion wird es oft als die schützende Fraktion bezeichnet. Sehr niedrige Werte gehen tendenziell mit höherem kardiovaskulärem Risiko einher; ein künstliches Anheben hat das Risiko jedoch nicht zuverlässig gesenkt, weshalb man es als Marker und nicht als Zielgröße liest. In der Regel wird es zusammen mit LDL und Triglyzeriden beurteilt.",
|
||
"triglycerides": "Triglyzeride sind die wichtigste Form von Fett im Blut, die sowohl aus der Nahrung stammt als auch von der Leber gebildet wird, und sie dienen als zentraler Energiespeicher. Nach Mahlzeiten steigen die Werte, daher wird die Probe für die Vergleichbarkeit meist nüchtern entnommen. Dauerhaft hohe Triglyzeride werden mit metabolischem und kardiovaskulärem Risiko in Verbindung gebracht und treten häufig gemeinsam mit Insulinresistenz und niedrigem HDL auf. Sie werden als ein Bestandteil des gesamten Lipidbilds gelesen.",
|
||
"fasting-glucose": "Der Nüchternblutzucker ist die Zuckerkonzentration im Blut nach einer nächtlichen Nüchternphase und spiegelt wider, wie der Körper seinen Grundblutzucker ohne kürzliche Nahrungsaufnahme hält. Glukose ist der wichtigste unmittelbare Brennstoff des Körpers, und Insulin hält sie normalerweise in einem engen Bereich. Eine Nüchternmessung schließt den Effekt kürzlicher Mahlzeiten aus und ist damit ein Standardscreening dafür, wie die Glukoseregulation funktioniert. Er gehört zu den Markern, mit denen die Stoffwechselgesundheit über die Zeit beurteilt wird.",
|
||
"hba1c": "Der HbA1c ist der Anteil des Hämoglobins in den roten Blutkörperchen, der an Glukose gebunden ist und sich im Verhältnis zur durchschnittlichen Blutzuckerbelastung anreichert. Da rote Blutkörperchen etwa drei Monate leben, gibt er den durchschnittlichen Blutzucker der vorangegangenen zwei bis drei Monate wieder und nicht einen einzelnen Augenblick. Das macht ihn zu einem stabilen, mahlzeitenunabhängigen Maß der Blutzuckereinstellung. Seine Aussagekraft kann durch Erkrankungen beeinträchtigt sein, die die Lebensdauer der roten Blutkörperchen verändern.",
|
||
"tsh": "Das TSH (Thyreoidea-stimulierendes Hormon) wird von der Hirnanhangdrüse ausgeschüttet, um die Schilddrüse zur Hormonproduktion anzuregen, und es passt sich nach oben oder unten an, um diese im Gleichgewicht zu halten. Aufgrund dieses Regelkreises ist das TSH das empfindlichste Erstlinien-Screening der Schilddrüsenfunktion: Es bewegt sich meist, bevor die Schilddrüsenhormone selbst abweichen. Ein erhöhter oder erniedrigter Wert deutet auf eine Unter- oder Überfunktion hin und führt in der Regel zur direkten Bestimmung der Schilddrüsenhormone. Schwangerschaft und Alter verschieben den erwarteten Bereich.",
|
||
"ft3": "Das freie T3 (Trijodthyronin) ist die ungebundene, biologisch aktive Form des wirksameren Schilddrüsenhormons — der Anteil, der den Geweben zur Verfügung steht. Der größte Teil des zirkulierenden T3 ist an Trägerproteine gebunden und inaktiv, sodass der freie Anteil die tatsächliche Hormonverfügbarkeit widerspiegelt. Gemessen wird es zur Beurteilung der Schilddrüsenfunktion, besonders gemeinsam mit TSH und freiem T4, wenn Befunde unklar sind. Die Werte sind stark assayabhängig und werden im klinischen Zusammenhang gelesen.",
|
||
"ft4": "Das freie T4 (Thyroxin) ist die ungebundene Form des wichtigsten Hormons, das die Schilddrüse ins Blut abgibt; es dient als Reservoir, das die Gewebe bei Bedarf in das aktivere T3 umwandeln. Der freie Anteil spiegelt wider, was dem Körper tatsächlich zur Verfügung steht, unabhängig von der Menge der Trägerproteine. In der Regel wird es zusammen mit dem TSH bestimmt, um Probleme der Schilddrüse von Störungen der hypophysären Steuerung zu unterscheiden. Schwangerschaft und bestimmte Medikamente können es verschieben.",
|
||
"ferritin": "Ferritin ist das wichtigste Eisenspeicherprotein des Körpers, und sein Blutwert spiegelt grob die gesamten Eisenreserven wider. Ein niedriger Wert deutet auf erschöpfte Speicher hin, ein hoher Wert kann eine Eisenüberladung anzeigen — oder schlicht eine Entzündung, denn Ferritin steigt auch als Akute-Phase-Protein. Aus diesem Grund wird es oft zusammen mit anderen Eisenmarkern und Entzündungszeichen beurteilt. Es ist eines der zentralen Maße zur Einschätzung des Eisenstatus.",
|
||
"transferrin-saturation": "Die Transferrinsättigung ist der Prozentsatz des Transferrins — des Proteins, das Eisen durch das Blut transportiert –, der aktuell mit Eisen beladen ist. Sie verknüpft die Menge des zirkulierenden Eisens mit der Eisentransportkapazität und liefert damit eine Momentaufnahme der Eisenverfügbarkeit, die Ferritins Blick auf die Speicher ergänzt. Eine niedrige Sättigung deutet auf einen Eisenmangel hin, ein hoher Wert kann eine Überladung anzeigen. Sie wird zusammen mit Ferritin und dem gesamten Eisenpanel gelesen.",
|
||
"vitamin-d": "Vitamin D wird als 25-Hydroxy-Vitamin-D gemessen, der zirkulierenden Speicherform und dem Standardmarker des gesamten Vitamin-D-Status. Der Körper bildet es in der dem Sonnenlicht ausgesetzten Haut und nimmt einen Teil über die Nahrung auf; es unterstützt den Kalziumhaushalt, die Knochengesundheit und die Immunfunktion. Die Werte schwanken mit Jahreszeit, geografischer Breite, Hauttyp und Nahrungsergänzung. Erfasst wird es, um über die Zeit einzuschätzen, ob die Speicher ausreichend gefüllt sind.",
|
||
"vitamin-b12": "Vitamin B12 (Cobalamin) ist ein essenzielles Vitamin, das vor allem aus tierischen Lebensmitteln stammt und größtenteils in der Leber gespeichert wird. Es wird für die Bildung roter Blutkörperchen, die DNA-Synthese und die Gesundheit des Nervensystems benötigt. Ein länger anhaltender Mangel — durch geringe Zufuhr oder gestörte Aufnahme — kann zu einer Blutarmut und nervenbedingten Beschwerden führen. Gemessen wird es zur Beurteilung des Ernährungsstatus, insbesondere dort, wo Zufuhr oder Aufnahme eingeschränkt sein können.",
|
||
"folate": "Folat (Vitamin B9) ist ein B-Vitamin, das in grünem Blattgemüse, Hülsenfrüchten und angereicherten Lebensmitteln vorkommt und für die Bildung roter Blutkörperchen und die DNA-Synthese zentral ist. Es arbeitet eng mit Vitamin B12 zusammen, und ein Mangel an einem von beiden kann eine ähnliche Form der Blutarmut hervorrufen. Eine ausreichende Folatversorgung ist besonders rund um die frühe Schwangerschaft für die gesunde Entwicklung des Kindes wichtig. Gemessen wird es zur Beurteilung des Ernährungsstatus und der Ursache bestimmter Anämien.",
|
||
"hs-crp": "Das hochsensitive CRP misst das C-reaktive Protein, einen Marker, den die Leber als Reaktion auf Entzündungen ausschüttet, mit einem Verfahren, das auf die für das kardiovaskuläre Risiko relevanten niedrigen Konzentrationen abgestimmt ist. Anders als das Standard-CRP für akute Infektionen erfasst die hochsensitive Variante die feine, chronische Entzündung, die mit Gefäßerkrankungen verbunden ist. Da jede kürzliche Infektion oder Verletzung den Wert anhebt, wird er außerhalb akuter Erkrankung beurteilt und oft mit einer Wiederholungsprobe bestätigt. Er wird als ein Beitrag zum gesamten kardiovaskulären Risiko gelesen.",
|
||
"creatinine": "Kreatinin ist ein Abfallprodukt des normalen Muskelstoffwechsels, das die Nieren mit recht gleichbleibender Rate aus dem Blut filtern. Da die Produktion verhältnismäßig konstant ist, dient der Blutwert als praktisches Maß dafür, wie gut die Nieren Abfallstoffe ausscheiden. Die Werte werden auch von Muskelmasse, Flüssigkeitshaushalt und Ernährung beeinflusst, weshalb sie meist gemeinsam mit der geschätzten Filtrationsrate beurteilt werden. Es ist ein zentraler Marker der Nierenfunktion.",
|
||
"egfr": "Die eGFR (geschätzte glomeruläre Filtrationsrate) schätzt, wie viel Blut die Nieren pro Minute filtern, berechnet aus dem Kreatinin zusammen mit Alter und Geschlecht. Sie übersetzt einen rohen Kreatininwert in ein unmittelbarer verständliches Maß der Nierenfunktion. Eine über die Zeit sinkende eGFR ist der wichtigste Weg, um chronische Nierenveränderungen einzustufen und zu verfolgen. Als Schätzwert wird sie als Trend und nicht als einzelner exakter Zahlenwert gelesen.",
|
||
"alt": "Die ALT (Alanin-Aminotransferase) ist ein vorwiegend in den Leberzellen konzentriertes Enzym, das ins Blut freigesetzt wird, wenn diese Zellen belastet oder geschädigt sind. Da sie verhältnismäßig leberspezifisch ist, gehört sie zu den wichtigsten Markern, um eine Leberschädigung oder -entzündung zu erkennen. Die Werte können bei Fettleber, Virushepatitis, Alkohol oder bestimmten Medikamenten steigen. In der Regel wird sie zusammen mit der AST und den übrigen Markern des Leberpanels gelesen.",
|
||
"ast": "Die AST (Aspartat-Aminotransferase) ist ein Enzym, das in der Leber, aber auch in Muskel, Herz und roten Blutkörperchen vorkommt und bei einer Schädigung dieser Gewebe freigesetzt wird. Da sie weniger leberspezifisch ist als die ALT, werden beide gemeinsam beurteilt — ihr Verhältnis kann Hinweise auf Quelle und Art des Problems geben. Intensive körperliche Belastung oder eine Muskelverletzung können sie unabhängig von der Leber anheben. Sie ist eines der Standardenzyme des Leberpanels.",
|
||
"ggt": "Die GGT (Gamma-Glutamyltransferase) ist ein Enzym in der Leber und den Gallenwegen, das besonders bei einem gestörten Gallenfluss oder bei Alkoholexposition ansteigt. Häufig wird sie genutzt, um zu klären, warum ein anderer Lebermarker erhöht ist — etwa um eine Quelle in der Leber oder den Gallenwegen zu unterscheiden. Sie ist empfindlich, aber wenig spezifisch und wird daher im Zusammenhang mit dem übrigen Leberpanel gelesen. Sie ist einer von mehreren Markern zur Beurteilung der Leber- und Gallengesundheit.",
|
||
"sodium": "Natrium ist der wichtigste Elektrolyt in der Flüssigkeit außerhalb der Körperzellen und der zentrale Regler von Flüssigkeitshaushalt und Blutvolumen. Der Körper steuert es eng über Durst, Hormone und die Nieren, sodass der Blutwert eher das Gleichgewicht zwischen Wasser und Salz widerspiegelt als die Zufuhr allein. Abweichende Werte signalisieren meist eine Störung des Wasserhaushalts und nicht des Natriums selbst. Es ist ein Kernbestandteil des grundlegenden Stoffwechsel- und Elektrolytpanels.",
|
||
"potassium": "Kalium ist der wichtigste Elektrolyt innerhalb der Körperzellen und für die Nervenleitung und den gleichmäßigen Rhythmus des Herzmuskels unverzichtbar. Sein Blutwert wird durch die Nieren und hormonelle Signale in einem engen Bereich gehalten, da sowohl hohe als auch niedrige Werte die elektrische Aktivität des Herzens stören können. Die Werte können durch Nierenfunktion, Flüssigkeitshaushalt und mehrere gängige Medikamente beeinflusst werden. Es ist ein Kernmaß des Elektrolytpanels.",
|
||
"hemoglobin": "Hämoglobin ist das eisenhaltige Protein in den roten Blutkörperchen, das Sauerstoff in der Lunge bindet und zu den Geweben transportiert. Seine Konzentration ist das wichtigste Maß für die Sauerstofftransportkapazität des Blutes und der zentrale Marker zum Erkennen einer Blutarmut. Niedrige Werte können auf Blutverlust, Eisen- oder Vitaminmangel oder eine verringerte Bildung hinweisen, hohe Werte können auf Flüssigkeitsmangel oder sauerstoffarme Bedingungen folgen. Es ist ein Eckpfeiler des großen Blutbilds.",
|
||
"hematocrit": "Der Hämatokrit ist der Anteil der roten Blutkörperchen am Blutvolumen, ausgedrückt als Prozentwert. Er bewegt sich eng mit dem Hämoglobin und gibt einen ergänzenden Blick auf die Erythrozytenmasse und die Sauerstofftransportkapazität des Blutes. Der Flüssigkeitshaushalt beeinflusst ihn, da Veränderungen des Plasmavolumens den Anteil verschieben, selbst wenn die Zahl der roten Blutkörperchen stabil bleibt. Er wird zusammen mit dem Hämoglobin und dem übrigen Blutbild gelesen.",
|
||
"wbc": "Die Leukozytenzahl ist die Gesamtzahl der im Blut zirkulierenden Immunzellen, der mobilen Abwehr des Körpers gegen Infektionen. Sie steigt als Reaktion auf Infektion, Entzündung oder Stress und kann fallen, wenn das Knochenmark unterdrückt ist oder bei manchen Immunerkrankungen. Da sie mehrere unterschiedliche Zelltypen zusammenfasst, wird eine deutliche Veränderung oft durch ein Differenzialblutbild aufgeschlüsselt. Sie ist ein Kernbestandteil des großen Blutbilds.",
|
||
"platelets": "Thrombozyten sind kleine Zellfragmente im Blut, die sich zusammenlagern und den ersten Pfropf bilden, der eine Blutung aus einem geschädigten Gefäß stoppt. Ihre Zahl spiegelt das Gleichgewicht zwischen Bildung im Knochenmark und Verbrauch oder Abbau wider. Eine niedrige Zahl kann die Blutungsneigung erhöhen, eine hohe Zahl kann auf eine Entzündung oder andere Reize folgen. Sie sind Teil des großen Blutbilds und ein grundlegendes Maß der Gerinnungsfähigkeit.",
|
||
"apob": "Apolipoprotein B ist das Strukturprotein, das jedes der atherogenen Lipoprotein-Partikel trägt; seine Messung zählt daher diese Partikel direkt und nicht das von ihnen transportierte Cholesterin. Da auf jedem LDL-, VLDL- und verwandten Partikel genau ein ApoB-Molekül sitzt, kann es kardiovaskuläres Risiko erfassen, das ein LDL-Cholesterinwert übersieht — besonders wenn Partikelzahl und Cholesteringehalt auseinandergehen. Aus diesem Grund wird es zunehmend genutzt, um die lipidbasierte Risikoeinschätzung zu verfeinern. Beurteilt wird es zusammen mit dem üblichen Lipidpanel.",
|
||
"lp-a": "Lipoprotein(a) ist ein LDL-ähnliches Partikel mit einem zusätzlich angehefteten Protein, dessen Spiegel weitgehend genetisch festgelegt ist und ein Leben lang recht stabil bleibt. Ein erhöhtes Lp(a) ist ein unabhängiger, vererbter Risikofaktor für Herz-Kreislauf-Erkrankungen und eine Verengung der Aortenklappe. Da es sich kaum verändert, wird es meist einmal bestimmt, um das lebenslange Risiko einer Person festzulegen, statt es wiederholt zu verfolgen. Es wird in molaren Einheiten angegeben und als Teil des gesamten kardiovaskulären Risikos gelesen.",
|
||
"fasting-insulin": "Das Nüchterninsulin ist der Spiegel des Insulins — des Hormons, das Glukose aus dem Blut in die Zellen schleust –, gemessen nach einer nächtlichen Nüchternphase. Zusammen mit dem Nüchternblutzucker hilft es, die Insulinresistenz abzuschätzen, also den Zustand, in dem der Körper mehr Insulin braucht, um den Blutzucker im Bereich zu halten. Ein hohes Nüchterninsulin bei normalem Blutzucker kann ein frühes Zeichen dafür sein, dass dieser Ausgleich im Gange ist. Gelesen wird es als Teil eines Stoffwechselbilds und nicht für sich allein.",
|
||
"omega-3-index": "Der Omega-3-Index ist der Anteil von EPA und DHA — den beiden langkettigen marinen Omega-3-Fettsäuren — an den Fettsäuren in den Membranen der roten Blutkörperchen. Da rote Blutkörperchen sich langsam erneuern, spiegelt er die langfristige Omega-3-Zufuhr wider und nicht eine kürzliche Mahlzeit. Ein höherer Index wurde in Beobachtungsstudien mit einem niedrigeren kardiovaskulären Risiko in Verbindung gebracht. Er wird als stabiler Marker des Omega-3-Status verfolgt, der über Monate auf die Ernährung reagiert."
|
||
},
|
||
"apob": "Apolipoprotein B (ApoB)",
|
||
"lp-a": "Lipoprotein(a)",
|
||
"fasting-insulin": "Nüchtern-Insulin",
|
||
"omega-3-index": "Omega-3-Index"
|
||
},
|
||
"noteLoadFailed": "Notiz konnte nicht geladen werden; sie bleibt beim Speichern unverändert.",
|
||
"showingLatestOf": "Die neuesten {shown} von {total} Messwerten werden angezeigt",
|
||
"ocr": {
|
||
"scanButton": "Befund scannen",
|
||
"addScan": "Dokument scannen",
|
||
"addManual": "Wert manuell hinzufügen",
|
||
"uploadHint": "Foto oder PDF eines Laborbefunds hochladen",
|
||
"acceptWithPdf": "JPEG, PNG, WebP oder PDF",
|
||
"acceptImageOnly": "JPEG, PNG oder WebP",
|
||
"extracting": "Befund wird gelesen…",
|
||
"readingOnDevice": "Wird auf deinem Gerät gelesen…",
|
||
"localModeHint": "Wird auf deinem Gerät gelesen und als Text gesendet. Weniger genau — prüfe jeden Wert.",
|
||
"rangeFromScan": "Referenzbereich aus dem Scan übernommen",
|
||
"rangeVerify": "Referenzbereich prüfen",
|
||
"reviewTitle": "Vor dem Speichern prüfen",
|
||
"reviewHint": "Prüfe jeden Wert und speichere die gewünschten Einträge.",
|
||
"foundCount": "{count} Werte gefunden",
|
||
"pagesCapped": "Nur die ersten {read} von {total} Seiten wurden gelesen. Werte auf späteren Seiten fehlen in dieser Liste.",
|
||
"confirmRow": "Diesen Wert übernehmen",
|
||
"analyteLabel": "Bezeichnung",
|
||
"resultLabel": "Ergebnis",
|
||
"valueLabel": "Wert",
|
||
"unitLabel": "Einheit",
|
||
"dateLabel": "Datum",
|
||
"refLowLabel": "Referenz unten",
|
||
"refHighLabel": "Referenz oben",
|
||
"newBiomarker": "Neuer Biomarker — wird angelegt",
|
||
"linksExisting": "Verknüpft mit vorhandenem {name}",
|
||
"duplicateWarning": "Ein passender Wert existiert bereits",
|
||
"lowConfidence": "Prüfe diesen Wert",
|
||
"lowConfidenceBadge": "Geringe Sicherheit",
|
||
"valueUnreadable": "Wert unleserlich — bitte manuell eingeben",
|
||
"saveSelected": "{count} ausgewählte speichern",
|
||
"discardAll": "Alle verwerfen",
|
||
"savedToast": "{count} Laborwerte gespeichert",
|
||
"savedPartialToast": "{count} Laborwerte gespeichert, {skipped} als Dubletten übersprungen",
|
||
"savedNothingToast": "Nichts gespeichert: {skipped} Werte waren bereits erfasst",
|
||
"savedEmptyToast": "Nichts zu speichern",
|
||
"noRows": "In diesem Befund konnten keine Werte gefunden werden.",
|
||
"nothingToSave": "Wähle mindestens einen Wert zum Speichern aus.",
|
||
"validationSummary": "Betroffene Werte: {count}. Ergänze die markierten Felder oder wähle diese Werte ab.",
|
||
"errorDate": "Bitte ein Datum angeben.",
|
||
"errorAnalyte": "Bitte einen Namen angeben.",
|
||
"errorValue": "Bitte einen Wert angeben.",
|
||
"errorResult": "Bitte ein Ergebnis angeben.",
|
||
"errorUnit": "Bitte eine Einheit angeben.",
|
||
"errorUnitMismatch": "Dieser Marker wird in {markerUnit} geführt. Ändere die Einheit, falls der Befund falsch gelesen wurde, oder wähle den Wert ab.",
|
||
"unitDiffersBadge": "Geführt in {markerUnit}; dieser Befund nennt {unit}",
|
||
"savedPartialUnitToast": "{count} Laborwerte gespeichert. Nicht gespeichert, weil die Einheit von der des Markers abweicht: {analytes}",
|
||
"savedNothingUnitToast": "Nichts gespeichert: Die Einheit weicht bei {analytes} von der des Markers ab",
|
||
"saveFailed": "Werte konnten nicht gespeichert werden. Bitte erneut versuchen.",
|
||
"providerUnsupported": "Dein KI-Anbieter kann keine Bilder lesen. Konfiguriere ein Modell mit Bildverständnis.",
|
||
"consentRequired": "Für das Scannen eines Befunds ist die Einwilligung zur KI-Verarbeitung erforderlich.",
|
||
"rateLimited": "Zu viele Scans. Bitte später erneut versuchen.",
|
||
"budgetExceeded": "Dein KI-Nutzungsbudget für heute ist erreicht.",
|
||
"fileTooLarge": "Datei ist zu groß (max. 12 MB).",
|
||
"fileType": "Lade ein JPEG, PNG, WebP oder PDF hoch.",
|
||
"extractFailed": "Der Befund konnte nicht gelesen werden. Versuche ein schärferes Foto.",
|
||
"pdfNeedsAnthropic": "PDF-Scannen benötigt einen Claude-Bildanbieter; lade stattdessen ein Foto hoch.",
|
||
"refTextLabel": "Bereich wie gedruckt",
|
||
"refTextPlaceholder": "z. B. 3,5 - 5,0",
|
||
"aiUnavailable": "Das Scannen eines Befunds mit KI ist hier gerade nicht verfügbar."
|
||
},
|
||
"loadMoreReadings": "Weitere Werte laden",
|
||
"documentsLink": "Befund-Dokumente",
|
||
"notLinkedYet": "Noch keinem Biomarker zugeordnet",
|
||
"sourceRange": {
|
||
"fromReport": "Befundbereich {range}",
|
||
"catalogDiffers": "dein Bereich {range}"
|
||
}
|
||
},
|
||
"modules": {
|
||
"cycle": {
|
||
"label": "Zyklus",
|
||
"description": "Periode, Phasen und Vorhersagen verfolgen."
|
||
},
|
||
"mood": {
|
||
"label": "Stimmung",
|
||
"description": "Tägliche Stimmung und Tags erfassen."
|
||
},
|
||
"sleep": {
|
||
"label": "Schlaf",
|
||
"description": "Schlafdauer, Phasen und Schlaf-Timeline."
|
||
},
|
||
"glucose": {
|
||
"label": "Glukose",
|
||
"description": "Blutzuckerwerte und Verläufe."
|
||
},
|
||
"workouts": {
|
||
"label": "Workouts",
|
||
"description": "Trainingseinheiten und Aktivität."
|
||
},
|
||
"recovery": {
|
||
"label": "Erholung",
|
||
"description": "Erholungs- und Belastungswerte deiner Geräte."
|
||
},
|
||
"labs": {
|
||
"label": "Laborwerte",
|
||
"description": "Laborergebnisse erfassen und im Verlauf ablegen."
|
||
},
|
||
"achievements": {
|
||
"label": "Erfolge",
|
||
"description": "Abzeichen und Serien für deine Routine."
|
||
},
|
||
"coach": {
|
||
"label": "Coach",
|
||
"description": "KI-Chat mit Bezug zu deinen Daten."
|
||
},
|
||
"insights": {
|
||
"label": "KI-Analyse",
|
||
"description": "Briefing, Statusnotizen und Trainingsnotizen, die ein Modell schreibt, nie deine Daten oder Werte."
|
||
},
|
||
"doctorReport": {
|
||
"label": "Arztbericht",
|
||
"description": "PDF- und FHIR-Export für deine Praxis."
|
||
},
|
||
"medications": {
|
||
"label": "Medikamente",
|
||
"description": "Pläne, Einnahmen und Therapietreue."
|
||
},
|
||
"illness": {
|
||
"label": "Krankheitstagebuch",
|
||
"description": "Krankheits- und Beschwerde-Episoden mit täglichem Symptomverlauf festhalten."
|
||
},
|
||
"mcp": {
|
||
"label": "Externer Assistentenzugriff (MCP)",
|
||
"description": "Lesezugriff für einen MCP-fähigen Assistenten, über ein begrenztes Token."
|
||
},
|
||
"environment": {
|
||
"label": "Umwelt",
|
||
"description": "Tägliches Wetter und Tageslicht für deinen Ort, neben Stimmung, Schlaf und Vitalwerten."
|
||
},
|
||
"inboundDocuments": {
|
||
"label": "Dokumente",
|
||
"description": "Arztbriefe, Befunde und Scans verschlüsselt und durchsuchbar an einem Ort."
|
||
},
|
||
"mentalHealth": {
|
||
"label": "Seelisches Wohlbefinden",
|
||
"description": "Vier freiwillige Selbsttests neben dem Stimmungstagebuch."
|
||
},
|
||
"nutrients": {
|
||
"label": "Nährstoffzufuhr",
|
||
"description": "Tägliche Mikronährstoff-Summen aus Apple Health."
|
||
},
|
||
"vaccinations": {
|
||
"label": "Impfungen",
|
||
"description": "Der Impfpass in strukturierter Form: Dosis, Serie, nächste Auffrischung."
|
||
}
|
||
},
|
||
"moduleOff": {
|
||
"disabled": {
|
||
"description": "{module} ist für diese Akte ausgeschaltet, deshalb bleiben die Seiten verborgen. Schalte das Modul wieder ein, um sie zurückzuholen.",
|
||
"title": "{module} ist ausgeschaltet"
|
||
},
|
||
"notGranted": {
|
||
"description": "{module} liegt außerhalb der Bereiche, die mit dir geteilt wurden. Was ein geteilter Zugriff umfasst, legt die Person fest, der die Akte gehört.",
|
||
"title": "Gehört nicht zum geteilten Zugriff"
|
||
},
|
||
"unavailable": {
|
||
"description": "Der Betreiber hat {module} für alle Konten auf diesem Server ausgeschaltet. Keine eigene Einstellung holt es zurück.",
|
||
"title": "Auf diesem Server nicht verfügbar"
|
||
},
|
||
"openModules": "Einstellungen, Module öffnen"
|
||
},
|
||
"vaccinations": {
|
||
"title": "Impfungen",
|
||
"subtitle": "Dein Impfpass, Dosis für Dosis.",
|
||
"listLoadError": "Impfungen konnten nicht geladen werden.",
|
||
"series": {
|
||
"booster": "Auffrischung",
|
||
"ofTotal": "Dosis {position} von {total}",
|
||
"doseN": "{position}. Dosis"
|
||
},
|
||
"row": {
|
||
"lot": "Charge {lot}"
|
||
},
|
||
"form": {
|
||
"date": "Datum",
|
||
"catalogLabel": "Impfstoff (Katalog)",
|
||
"identityHint": "Katalog wählen oder unten frei eintragen — eins genügt.",
|
||
"catalogNone": "Impfstoff wählen",
|
||
"catalogSearch": "Impfstoff suchen",
|
||
"catalogNoMatch": "Kein Katalogeintrag gefunden",
|
||
"catalogClear": "Auswahl entfernen",
|
||
"freeTextLabel": "Freitext",
|
||
"freeTextPlaceholder": "wie im Impfpass angegeben",
|
||
"seriesToggle": "Serie angeben",
|
||
"doseNumber": "Dosis-Nr.",
|
||
"seriesDoses": "Dosen in Serie",
|
||
"lot": "Chargennummer",
|
||
"site": "Impfstelle",
|
||
"siteNone": "Keine Angabe",
|
||
"practitioner": "Praxis oder Arzt",
|
||
"note": "Notiz",
|
||
"linkDocuments": "Dokument verknüpfen",
|
||
"linkNothingToOffer": "Noch keine Dokumente vorhanden."
|
||
},
|
||
"site": {
|
||
"LEFT_ARM": "Linker Oberarm",
|
||
"RIGHT_ARM": "Rechter Oberarm",
|
||
"LEFT_THIGH": "Linker Oberschenkel",
|
||
"RIGHT_THIGH": "Rechter Oberschenkel",
|
||
"ORAL": "Oral",
|
||
"NASAL": "Nasal",
|
||
"OTHER": "Andere"
|
||
},
|
||
"createTitle": "Impfung erfassen",
|
||
"editTitle": "Impfung bearbeiten",
|
||
"formDescription": "Datum und Impfstoff genügen; alles andere ist optional.",
|
||
"created": "Impfung gespeichert",
|
||
"updated": "Impfung aktualisiert",
|
||
"saveFailed": "Impfung konnte nicht gespeichert werden.",
|
||
"deleteTitle": "Impfung löschen?",
|
||
"deleteDescription": "Der Eintrag wird aus deinem Impfpass entfernt. Ein geplanter Auffrischungs-Reminder bleibt bestehen.",
|
||
"deleteFailed": "Impfung konnte nicht gelöscht werden.",
|
||
"info": {
|
||
"primarySeriesOne": "Grundimmunisierung: {count} Dosis",
|
||
"primarySeriesFew": "Grundimmunisierung: {count} Dosen",
|
||
"primarySeriesOther": "Grundimmunisierung: {count} Dosen",
|
||
"yearly": "Jährliche Impfung",
|
||
"boosterYearsOne": "Auffrischung üblicherweise alle {count} Jahr",
|
||
"boosterYearsFew": "Auffrischung üblicherweise alle {count} Jahre",
|
||
"boosterYearsOther": "Auffrischung üblicherweise alle {count} Jahre",
|
||
"boosterMonthsOne": "Auffrischung üblicherweise alle {count} Monat",
|
||
"boosterMonthsFew": "Auffrischung üblicherweise alle {count} Monate",
|
||
"boosterMonthsOther": "Auffrischung üblicherweise alle {count} Monate",
|
||
"standard60": "Standardimpfung ab 60",
|
||
"sourceLabel": "Quelle: {source}",
|
||
"affordanceLabel": "Impfschema-Info"
|
||
},
|
||
"booster": {
|
||
"title": "Auffrischung planen?",
|
||
"body": "Aus dieser Impfung lässt sich eine Erinnerung für die nächste Auffrischung anlegen. Du kannst Intervall und Bezeichnung ändern oder ablehnen.",
|
||
"interval": "Intervall",
|
||
"label": "Bezeichnung",
|
||
"labelSuffix": "Auffrischung",
|
||
"decline": "Nicht jetzt",
|
||
"confirm": "Erinnerung anlegen",
|
||
"planned": "Auffrischung geplant",
|
||
"failed": "Erinnerung konnte nicht angelegt werden.",
|
||
"everyYearsOne": "alle {count} Jahr",
|
||
"everyYearsFew": "alle {count} Jahre",
|
||
"everyYearsOther": "alle {count} Jahre",
|
||
"everyMonthsOne": "alle {count} Monat",
|
||
"everyMonthsFew": "alle {count} Monate",
|
||
"everyMonthsOther": "alle {count} Monate"
|
||
},
|
||
"suggestion": {
|
||
"single": "Zu dieser Impfung hinzufügen?",
|
||
"choose": "Zu welcher Impfung gehört der Scan?",
|
||
"linked": "Mit Impfung verknüpft",
|
||
"failed": "Verknüpfung fehlgeschlagen.",
|
||
"unnamed": "Impfung"
|
||
},
|
||
"empty": {
|
||
"title": "Noch keine Impfung erfasst",
|
||
"description": "Übertrage deinen Impfpass Zeile für Zeile — Datum und Impfstoff genügen."
|
||
},
|
||
"catalog": {
|
||
"tetanus": "Tetanus (Wundstarrkrampf)",
|
||
"diphtheria": "Diphtherie",
|
||
"pertussis": "Keuchhusten (Pertussis)",
|
||
"polio": "Polio (Kinderlähmung)",
|
||
"measles": "Masern",
|
||
"mumps": "Mumps",
|
||
"rubella": "Röteln",
|
||
"varicella": "Windpocken (Varizellen)",
|
||
"hib": "Hib (Haemophilus influenzae b)",
|
||
"hepatitis-a": "Hepatitis A",
|
||
"hepatitis-b": "Hepatitis B",
|
||
"influenza": "Grippe (Influenza)",
|
||
"pneumococcal": "Pneumokokken",
|
||
"herpes-zoster": "Gürtelrose (Herpes zoster)",
|
||
"rsv": "RSV",
|
||
"covid-19": "COVID-19",
|
||
"fsme": "FSME (Frühsommer-Meningoenzephalitis)",
|
||
"hpv": "HPV (Humane Papillomviren)",
|
||
"meningococcal-acwy": "Meningokokken ACWY",
|
||
"meningococcal-b": "Meningokokken B",
|
||
"rotavirus": "Rotaviren",
|
||
"typhoid": "Typhus",
|
||
"rabies": "Tollwut",
|
||
"yellow-fever": "Gelbfieber",
|
||
"japanese-encephalitis": "Japanische Enzephalitis",
|
||
"cholera": "Cholera",
|
||
"td": "Td (Tetanus, Diphtherie)",
|
||
"tdap": "Tdap (Tetanus, Diphtherie, Pertussis)",
|
||
"tdap-ipv": "Tdap-IPV (Vierfachimpfung)",
|
||
"dtap-ipv": "DTaP-IPV (Vierfachimpfung, Kindesalter)",
|
||
"hexavalent": "Sechsfachimpfung (DTaP-IPV-Hib-HepB)",
|
||
"mmr": "MMR (Masern, Mumps, Röteln)",
|
||
"mmrv": "MMRV (Masern, Mumps, Röteln, Varizellen)",
|
||
"hepa-hepb": "Hepatitis A und B",
|
||
"hepa-typhoid": "Hepatitis A und Typhus"
|
||
},
|
||
"renewal": {
|
||
"overdue": "Auffrischung fällig seit {date}",
|
||
"dueSoon": "Auffrischung fällig am {date}",
|
||
"current": "Nächste Auffrischung {date}"
|
||
}
|
||
},
|
||
"illness": {
|
||
"title": "Krankheitstagebuch",
|
||
"subtitle": "Ein rückblickendes Protokoll deiner Krankheits- und Beschwerde-Episoden.",
|
||
"settings": {
|
||
"viewDescription": "Wähle, ob Episoden als Karten oder als kompakte Liste erscheinen.",
|
||
"orderDescription": "Ziehe deine Episoden in die gewünschte Reihenfolge."
|
||
},
|
||
"customize": "Krankheitstagebuch anpassen",
|
||
"newEpisode": "Neue Episode",
|
||
"logDay": "Tag erfassen",
|
||
"markRecovered": "Als genesen markieren",
|
||
"deletedToast": "Eintrag gelöscht",
|
||
"restoreError": "Eintrag konnte nicht wiederhergestellt werden",
|
||
"onsetOn": "Begonnen am {date}",
|
||
"recoveredOn": "genesen {date}",
|
||
"status": {
|
||
"active": "Aktiv",
|
||
"ongoing": "Andauernd",
|
||
"recovered": "Genesen"
|
||
},
|
||
"empty": {
|
||
"title": "Noch keine Episoden",
|
||
"body": "Beginne eine Episode, um einen täglichen Symptomverlauf zu führen und nachzusehen, wie sie verlief."
|
||
},
|
||
"type": {
|
||
"INFECTION": "Infektion",
|
||
"ALLERGY": "Allergie",
|
||
"INJURY": "Verletzung",
|
||
"MENTAL_HEALTH": "Psychische Gesundheit",
|
||
"AUTOIMMUNE": "Autoimmun",
|
||
"CHRONIC": "Chronisch",
|
||
"OTHER": "Sonstiges"
|
||
},
|
||
"lifecycle": {
|
||
"ACUTE": "Akut",
|
||
"CHRONIC_ONGOING": "Chronisch / andauernd",
|
||
"RECURRING": "Wiederkehrend",
|
||
"FLARE": "Schub"
|
||
},
|
||
"new": {
|
||
"title": "Neue Episode",
|
||
"description": "Erfasse eine Krankheit oder Beschwerde. Tägliche Symptome kannst du danach festhalten.",
|
||
"label": "Bezeichnung",
|
||
"labelPlaceholder": "z. B. Erkältung",
|
||
"type": "Art",
|
||
"lifecycle": "Verlauf",
|
||
"onset": "Begonnen am",
|
||
"note": "Notiz",
|
||
"notePlaceholder": "Was erwähnenswert ist (verschlüsselt).",
|
||
"saveError": "Die Episode konnte nicht gespeichert werden. Bitte erneut versuchen.",
|
||
"parent": "Teil von",
|
||
"parentNone": "Nicht verknüpft",
|
||
"resolved": "Beendet am",
|
||
"resolvedHelp": "Leer lassen, solange die Episode noch andauert.",
|
||
"markOngoing": "Noch andauernd",
|
||
"bodySiteHint": "Zum Beispiel Knie oder unterer Rücken."
|
||
},
|
||
"sheet": {
|
||
"title": "{date} erfassen",
|
||
"description": "Halte die heutigen Symptome, deine Belastbarkeit und ggf. Fieber fest.",
|
||
"symptoms": "Symptome",
|
||
"functionalImpact": "Belastbarkeit",
|
||
"fever": "Temperatur",
|
||
"note": "Notiz",
|
||
"noteSet": "Gesetzt",
|
||
"notePlaceholder": "Wie sich der Tag anfühlte (verschlüsselt).",
|
||
"severityFor": "Stärke für {symptom}",
|
||
"saveError": "Der Tag konnte nicht gespeichert werden. Bitte erneut versuchen.",
|
||
"day": "Day"
|
||
},
|
||
"impact": {
|
||
"0": "Voll belastbar",
|
||
"1": "Leicht eingeschränkt",
|
||
"2": "Überwiegend ruhend",
|
||
"3": "Bettlägerig"
|
||
},
|
||
"symptom": {
|
||
"runnyNose": "Laufende Nase",
|
||
"stuffyNose": "Verstopfte Nase",
|
||
"sneezing": "Niesen",
|
||
"soreThroat": "Halsschmerzen",
|
||
"cough": "Husten",
|
||
"headache": "Kopfschmerzen",
|
||
"bodyAches": "Gliederschmerzen",
|
||
"fatigue": "Erschöpfung"
|
||
},
|
||
"correlation": {
|
||
"title": "Wie es verlief",
|
||
"learning": "Noch am Lernen — erfasse ein paar weitere Tage, um hier Muster zu sehen.",
|
||
"preOnsetTitle": "Wie es sich ankündigte",
|
||
"preOnsetBody": "Werte, die vor dem Beginn von deiner Baseline abwichen.",
|
||
"nadirTitle": "Was sich änderte",
|
||
"nadirBody": "Wie weit jeder erfasste Wert von deinem typischen Bereich abwich.",
|
||
"recoveryGapTitle": "Erholungslücke",
|
||
"recoveryGapLag": "Deine Werte normalisierten sich {days} Tage, nachdem es dir besser ging.",
|
||
"recoveryGapLead": "Deine Werte normalisierten sich {days} Tage, bevor du Genesung vermerktest.",
|
||
"recoveryGapLagSymptom": "Dir ging es {days} Tage besser, bevor deine erfassten Symptome abklangen.",
|
||
"recoveryGapLeadSymptom": "Deine erfassten Symptome klangen {days} Tage ab, bevor du Genesung vermerktest.",
|
||
"recoveryGapSame": "Deine Werte normalisierten sich am selben Tag, an dem es dir besser ging.",
|
||
"sleepContextMore": "Während dieser Episode hast du deutlich mehr geschlafen als sonst (etwa {hours} Std./Nacht).",
|
||
"sleepContextLess": "Während dieser Episode hast du deutlich weniger geschlafen als sonst (etwa {hours} Std./Nacht).",
|
||
"redFlagTitle": "Genauer ansehen",
|
||
"redFlagSpo2": "Deine Sauerstoffsättigung blieb mehrere Tage niedrig. Wenn das erneut auftritt, suche ärztliche Hilfe.",
|
||
"redFlagFever": "Du hattest anhaltend Fieber. Wenn das erneut auftritt, suche ärztliche Hilfe.",
|
||
"direction": {
|
||
"above": "über deinem Üblichen",
|
||
"below": "unter deinem Üblichen"
|
||
},
|
||
"settled": "Während dieser Episode wich nichts Auffälliges von deinem üblichen Bereich ab."
|
||
},
|
||
"insights": {
|
||
"title": "Dein Krankheitsverlauf",
|
||
"countOne": "Du hast in diesem Zeitraum 1 Episode erfasst.",
|
||
"countOther": "Du hast in diesem Zeitraum {count} Episoden erfasst.",
|
||
"typicalGap": "Typische Erholungslücke: {days} Tage zwischen Besserung und normalisierten Werten.",
|
||
"typicalGapWithDriver": "Typische Erholungslücke: {days} Tage — du fühlst dich meist besser, bevor sich {vital} normalisiert.",
|
||
"typicalGapLearning": "Noch ein paar abgeschlossene Episoden und hier erscheint eine typische Erholungslücke.",
|
||
"none": "In diesem Zeitraum keine Episoden erfasst.",
|
||
"analyze": "Erholungslücke analysieren"
|
||
},
|
||
"section": {
|
||
"active": "Aktiv",
|
||
"resolved": "Abgeschlossen"
|
||
},
|
||
"flares": {
|
||
"countOne": "1 Schub",
|
||
"countOther": "{count} Schübe"
|
||
},
|
||
"timeline": {
|
||
"title": "Tagesverlauf",
|
||
"error": "Der Verlauf konnte nicht geladen werden.",
|
||
"severity": "Stärke {severity}",
|
||
"noSymptoms": "Keine Symptome erfasst.",
|
||
"impact": "Befinden: {impact}",
|
||
"fever": "Temperatur: {value} {unit}",
|
||
"empty": "Noch keine Tage erfasst."
|
||
},
|
||
"loadError": "Diese Episode konnte nicht geladen werden.",
|
||
"backToList": "Zurück zum Journal",
|
||
"detail": {
|
||
"note": "Note"
|
||
},
|
||
"edit": {
|
||
"title": "Episode bearbeiten",
|
||
"description": "Aktualisiere die Details dieser Episode."
|
||
},
|
||
"menu": {
|
||
"label": "Episodenaktionen"
|
||
},
|
||
"deleteConfirm": {
|
||
"title": "Diese Episode löschen?",
|
||
"body": "„{label}“ und alle zugehörigen Tageseinträge werden entfernt. Direkt danach kannst du das kurz rückgängig machen."
|
||
},
|
||
"vital": {
|
||
"RESTING_HEART_RATE": "Ruheherzfrequenz",
|
||
"HEART_RATE_VARIABILITY": "Herzfrequenzvariabilität",
|
||
"RECOVERY_SCORE": "Recovery",
|
||
"OXYGEN_SATURATION": "Sauerstoffsättigung",
|
||
"BODY_TEMPERATURE": "Körpertemperatur",
|
||
"RESPIRATORY_RATE": "Atemfrequenz",
|
||
"BLOOD_PRESSURE_SYS": "Systolischer Blutdruck",
|
||
"BLOOD_PRESSURE_DIA": "Diastolischer Blutdruck",
|
||
"PULSE": "Pulse",
|
||
"WEIGHT": "Weight",
|
||
"FUNCTIONAL_IMPACT": "Funktionelle Beeinträchtigung"
|
||
},
|
||
"listLoadError": "Episoden konnten nicht geladen werden."
|
||
},
|
||
"coach": {
|
||
"reminderSuggestion": {
|
||
"title": "Erinnerung einrichten?",
|
||
"accept": "Erinnerung setzen",
|
||
"dismiss": "Jetzt nicht",
|
||
"stop": "Ich messe genug",
|
||
"accepted": "Erinnerung gesetzt",
|
||
"dismissed": "Okay, das schlage ich nicht noch einmal vor",
|
||
"stopped": "Verstanden — ich schlage keine Erinnerungen mehr vor",
|
||
"failed": "Hat nicht geklappt — bitte erneut versuchen",
|
||
"cadence": {
|
||
"weightDaily": "Wieg dich täglich, ungefähr zur selben Zeit",
|
||
"bp722": "Miss deinen Blutdruck eine Woche lang zweimal täglich",
|
||
"glucoseStructured": "Miss deine Glukose nach einem strukturierten Tagesplan"
|
||
}
|
||
},
|
||
"suggestedAction": {
|
||
"apply": "Hinzufügen",
|
||
"dismiss": "Jetzt nicht",
|
||
"applied": "Hinzugefügt",
|
||
"dismissed": "Verworfen",
|
||
"failed": "Konnte das nicht hinzufügen — bitte erneut versuchen",
|
||
"checkup": {
|
||
"title": "Vorsorge-Erinnerung hinzufügen?"
|
||
},
|
||
"note": {
|
||
"title": "Erinnerung speichern?"
|
||
},
|
||
"interval": {
|
||
"yearly": "Jedes Jahr",
|
||
"halfYearly": "Alle sechs Monate",
|
||
"quarterly": "Alle drei Monate",
|
||
"monthly": "Jeden Monat"
|
||
}
|
||
},
|
||
"settings": {
|
||
"reminderSuggestionsLabel": "Kadenz-Vorschläge",
|
||
"reminderSuggestionsDescription": "Lass den Coach gelegentlich eine evidenzbasierte Erinnerung anbieten, eine Metrik regelmäßiger zu messen."
|
||
},
|
||
"plans": {
|
||
"title": "Pläne",
|
||
"pageDescription": "Wenn-dann-Pläne aus deinen Coach-Gesprächen. Bestätige einen Vorschlag, damit der Coach ihn sich merkt.",
|
||
"readOnlyNote": "Der Coach ist gerade nicht verfügbar, deine Pläne kannst du aber weiter lesen und löschen.",
|
||
"proposalTitle": "Plan-Vorschlag",
|
||
"ifThen": "Wenn {cue}, dann {action}.",
|
||
"targetPrefix": "Ziel: {target}",
|
||
"reviewPrefix": "Check-in: {when}",
|
||
"accept": "Plan übernehmen",
|
||
"decline": "Ablehnen",
|
||
"accepted": "Plan übernommen — der Coach behält ihn im Blick.",
|
||
"declined": "Vorschlag abgelehnt.",
|
||
"failed": "Das hat nicht geklappt — bitte erneut versuchen.",
|
||
"markMet": "Ziel erreicht",
|
||
"abandon": "Plan beenden",
|
||
"remove": "Entfernen",
|
||
"removeTitle": "Diesen Plan entfernen?",
|
||
"removeBody": "Der Plan und sein Verlauf verschwinden aus deiner Historie. Er lässt sich nicht wiederherstellen.",
|
||
"removeConfirm": "Plan entfernen",
|
||
"empty": "Noch keine Pläne. Wenn du dich im Gespräch zu einer konkreten Wenn-dann-Absicht bekennst, schlägt der Coach sie hier zur Bestätigung vor.",
|
||
"groupProposed": "Vorschläge",
|
||
"groupActive": "Aktiv",
|
||
"groupPast": "Abgeschlossen",
|
||
"status": {
|
||
"proposed": "Vorgeschlagen",
|
||
"active": "Aktiv",
|
||
"met": "Erreicht",
|
||
"abandoned": "Beendet",
|
||
"review_due": "Check-in fällig",
|
||
"reviewed": "Ausgewertet"
|
||
}
|
||
},
|
||
"refusal": {
|
||
"outOfScope": "Ich kann nur bei den Gesundheitsdaten in deinem Log helfen — Messwerte, Medikamente, Stimmung, Trends. Fragen außerhalb dieses Themas beantworte ich nicht.",
|
||
"promptInjection": "In deiner Nachricht stehen Anweisungen, die meine Vorgaben überschreiben sollen. Ich bin der HealthLog-Coach und fasse ausschließlich deine eigenen Gesundheitsdaten zusammen — formuliere deine Frage bitte in diesem Rahmen neu.",
|
||
"conversationPoisoned": "Eine frühere Nachricht in dieser Unterhaltung enthält Anweisungen, die meine Vorgaben überschreiben sollen. Beginne bitte eine neue Unterhaltung."
|
||
},
|
||
"noRecordedData": "Zu deiner Frage sind bei dir keine Messwerte erfasst, also kann ich dir dazu keine Zahl nennen. Sobald du etwas eingetragen hast, frag mich noch einmal — dann rechne ich mit deinen eigenen Werten.",
|
||
"step": {
|
||
"read": "Prüfe: {domain}",
|
||
"readWindow": "Prüfe: {domain}, {window}",
|
||
"snapshot": "Lese die Übersicht deiner Daten",
|
||
"showResult": "Öffne eine frühere Tabelle",
|
||
"reuse": "Nutze die Tabelle von vorhin",
|
||
"headerActive": "{label}…",
|
||
"headerDoneOne": "1 Quelle angesehen",
|
||
"headerDoneFew": "{count} Quellen angesehen",
|
||
"headerDoneOther": "{count} Quellen angesehen",
|
||
"listLabel": "Was der Coach angesehen hat",
|
||
"toggleShow": "Anzeigen, was der Coach angesehen hat",
|
||
"toggleHide": "Ausblenden, was der Coach angesehen hat",
|
||
"announceDone": "Fertig: {label}",
|
||
"readingsOne": "1 Messwert",
|
||
"readingsFew": "{count} Messwerte",
|
||
"readingsOther": "{count} Messwerte",
|
||
"rowsOne": "1 Zeile",
|
||
"rowsFew": "{count} Zeilen",
|
||
"rowsOther": "{count} Zeilen",
|
||
"metricsOne": "1 Messgröße",
|
||
"metricsFew": "{count} Messgrößen",
|
||
"metricsOther": "{count} Messgrößen",
|
||
"reason": {
|
||
"noData": "keine Messwerte",
|
||
"outsideWindow": "keine Messwerte in diesem Zeitraum",
|
||
"moduleDisabled": "ausgeschaltet",
|
||
"retrievalFailed": "konnte nicht gelesen werden",
|
||
"invalidArguments": "Anfrage nicht verstanden"
|
||
},
|
||
"domain": {
|
||
"labs": "Laborwerte",
|
||
"illness": "Krankheit und Erholung",
|
||
"cycle": "Zyklus",
|
||
"correlations": "Zusammenhänge zwischen Messgrößen",
|
||
"snapshot": "Datenübersicht"
|
||
},
|
||
"window": {
|
||
"last7days": "letzte 7 Tage",
|
||
"last30days": "letzte 30 Tage",
|
||
"last90days": "letzte 90 Tage",
|
||
"lastYear": "letzte 12 Monate",
|
||
"allTime": "gesamter Zeitraum"
|
||
},
|
||
"period": {
|
||
"current": "dieser Zeitraum",
|
||
"previous": "der Zeitraum davor",
|
||
"yearAgo": "ein Jahr zuvor"
|
||
},
|
||
"granularity": {
|
||
"day": "nach Tag",
|
||
"week": "nach Woche",
|
||
"month": "nach Monat"
|
||
}
|
||
},
|
||
"result": {
|
||
"title": {
|
||
"byDay": "{metric} nach Tag",
|
||
"byWeek": "{metric} nach Woche",
|
||
"byMonth": "{metric} nach Monat",
|
||
"previousPeriod": "{metric}, Zeitraum davor",
|
||
"yearAgo": "{metric}, ein Jahr zuvor",
|
||
"workoutsBySport": "Trainings nach Sportart",
|
||
"labsLatest": "Neueste Laborwerte",
|
||
"sleepByNight": "Schlaf nach Nacht",
|
||
"complianceByDay": "Medikamenten-Einnahmetreue nach Tag",
|
||
"distribution": "{metric}: wie oft welcher Bereich vorkam"
|
||
},
|
||
"column": {
|
||
"day": "Tag",
|
||
"week": "Woche",
|
||
"month": "Monat",
|
||
"night": "Nacht",
|
||
"sport": "Sportart",
|
||
"sessions": "Einheiten",
|
||
"analyte": "Laborwert",
|
||
"value": "Wert",
|
||
"unit": "Einheit",
|
||
"date": "Datum",
|
||
"referenceRange": "Referenzbereich",
|
||
"systolic": "Systolisch",
|
||
"diastolic": "Diastolisch",
|
||
"mean": "Durchschnitt",
|
||
"total": "Summe",
|
||
"min": "Niedrigster",
|
||
"max": "Höchster",
|
||
"readings": "Messwerte",
|
||
"rate": "Einnahmetreue",
|
||
"duration": "Dauer",
|
||
"range": "Bereich",
|
||
"count": "Anzahl"
|
||
},
|
||
"other": "Sonstige",
|
||
"noReading": "kein Messwert",
|
||
"showAll": "Alle anzeigen ({count})",
|
||
"showFewer": "Weniger anzeigen",
|
||
"copyMenu": "Tabelle kopieren",
|
||
"copyForSpreadsheet": "Für Tabellenkalkulation kopieren",
|
||
"copyAsText": "Als Text kopieren",
|
||
"copied": "Kopiert",
|
||
"copyFailed": "Die Tabelle konnte nicht kopiert werden",
|
||
"viewLabel": "Ansicht",
|
||
"viewChart": "Diagramm",
|
||
"viewTable": "Tabelle",
|
||
"chartSummary": "{title} als Diagramm. Die Tabellenansicht listet jeden Wert auf.",
|
||
"dataUsed": "Verwendete Daten ({count})",
|
||
"truncated": "Die letzten {shown} von {total} Zeilen",
|
||
"withheld": {
|
||
"moduleDisabled": "Diese Tabelle ist ausgeblendet, weil ihr Modul ausgeschaltet ist.",
|
||
"unavailable": "Diese Tabelle konnte nicht geladen werden."
|
||
},
|
||
"loading": "Tabelle wird geladen…",
|
||
"loadFailed": "Die Tabellen konnten nicht geladen werden.",
|
||
"reusedFrom": "Aus einer früheren Antwort ({date})",
|
||
"reusedFromUndated": "Aus einer früheren Antwort",
|
||
"histogramBin": "{from}–{to} {unit}"
|
||
},
|
||
"method": {
|
||
"label": "Wie das ermittelt wurde",
|
||
"entry": "{domain}, {window}: {detail}",
|
||
"entryNoWindow": "{domain}: {detail}",
|
||
"reused": "aus einer früheren Antwort",
|
||
"readingsOne": "1 Messwert",
|
||
"readingsFew": "{count} Messwerte",
|
||
"readingsOther": "{count} Messwerte",
|
||
"aggregation": {
|
||
"mean": "Durchschnitt",
|
||
"median": "Median",
|
||
"latest": "letzter Messwert",
|
||
"sum": "Summe",
|
||
"count": "Anzahl",
|
||
"rate": "Quote"
|
||
},
|
||
"averages": {
|
||
"day": "Tagesdurchschnitte",
|
||
"week": "Wochendurchschnitte",
|
||
"month": "Monatsdurchschnitte"
|
||
},
|
||
"totals": {
|
||
"day": "Tagessummen",
|
||
"week": "Wochensummen",
|
||
"month": "Monatssummen"
|
||
},
|
||
"absent": {
|
||
"noData": "keine Messwerte",
|
||
"outsideWindow": "keine Messwerte in diesem Zeitraum",
|
||
"moduleDisabled": "ausgeschaltet"
|
||
}
|
||
},
|
||
"followUp": {
|
||
"groupLabel": "Vorgeschlagene Anschlussfragen",
|
||
"widenWindow": "Weiter zurückschauen",
|
||
"previousPeriod": "Mit dem Zeitraum davor vergleichen",
|
||
"yearAgo": "Mit dem Vorjahr vergleichen",
|
||
"asChart": "Als Diagramm zeigen",
|
||
"asTable": "Als Tabelle zeigen",
|
||
"relatedMetric": "Siehe auch: {metric}",
|
||
"continue": "Weitersuchen",
|
||
"settingLabel": "Anschlussfragen vorschlagen",
|
||
"settingHint": "Zeigt unter der letzten Antwort des Coaches bis zu drei Vorschläge für die nächste Frage."
|
||
},
|
||
"clarify": {
|
||
"cardLabel": "Der Coach hat eine Rückfrage",
|
||
"choicesLabel": "Mögliche Antworten",
|
||
"freeTextHint": "Du kannst auch selbst eine Antwort schreiben.",
|
||
"contextHint": "Schreib deine Antwort unten.",
|
||
"window": {
|
||
"last7days": "Letzte 7 Tage",
|
||
"last30days": "Letzte 30 Tage",
|
||
"last90days": "Letzte 90 Tage",
|
||
"lastYear": "Letzte 12 Monate",
|
||
"allTime": "Gesamter Zeitraum"
|
||
}
|
||
},
|
||
"reuse": {
|
||
"caption": "Hier sind dieselben Werte aus meiner letzten Antwort, unverändert."
|
||
}
|
||
},
|
||
"safety": {
|
||
"floor": {
|
||
"bpHighTitle": "Sehr hoher Blutdruck",
|
||
"bpHighDoctor": "Zwei aktuelle Messungen lagen bei {systolic}/{diastolic} mmHg oder höher. Ruhe dich aus, miss in einigen Minuten erneut und kontaktiere möglichst bald deine Ärztin oder deinen Arzt, wenn es so hoch bleibt.",
|
||
"bpHighEmergency": "Zwei aktuelle Messungen lagen bei {systolic}/{diastolic} mmHg oder höher und du hast Beschwerden angegeben. Bei Brustschmerz, Atemnot, Schwäche oder Seh- oder Sprachstörungen sofort den Notruf wählen.",
|
||
"bpLowTitle": "Niedriger Blutdruck",
|
||
"bpLowDoctor": "Zwei aktuelle Messungen hatten einen systolischen Wert unter {systolic} mmHg. Wenn dir schwindelig oder schummrig ist, setz oder leg dich hin und kontaktiere deine Ärztin oder deinen Arzt, wenn es anhält.",
|
||
"bpLowEmergency": "Zwei aktuelle Messungen hatten einen systolischen Wert unter {systolic} mmHg und du hast Beschwerden angegeben. Bei Ohnmachtsgefühl, Verwirrtheit oder kalter, feuchter Haut sofort den Notruf wählen.",
|
||
"glucoseLowTitle": "Niedriger Blutzucker",
|
||
"glucoseLowDoctor": "Zwei aktuelle Messungen lagen unter {threshold} {unit} ({value} {unit}). Nimm schnell wirkende Kohlenhydrate, miss in 15 Minuten erneut und kontaktiere deine Ärztin oder deinen Arzt, wenn die Tiefs anhalten.",
|
||
"glucoseLowEmergency": "Zwei aktuelle Messungen lagen unter {threshold} {unit} ({value} {unit}) und du hast Beschwerden angegeben. Behandle jetzt mit schnellem Zucker; wenn das nicht geht oder dir sehr unwohl ist, wähle den Notruf.",
|
||
"glucoseLowSevereTitle": "Sehr niedriger Blutzucker",
|
||
"glucoseLowSevereDoctor": "Zwei aktuelle Messungen lagen unter {threshold} {unit} ({value} {unit}). Behandle sofort mit schnell wirkenden Kohlenhydraten, miss in 15 Minuten erneut und kontaktiere deine Ärztin oder deinen Arzt.",
|
||
"glucoseLowSevereEmergency": "Zwei aktuelle Messungen lagen unter {threshold} {unit} ({value} {unit}) und du hast Beschwerden angegeben. Behandle jetzt; wenn du nichts bei dir behalten kannst oder dir sehr unwohl ist, wähle den Notruf.",
|
||
"glucoseHighTitle": "Sehr hoher Blutzucker",
|
||
"glucoseHighDoctor": "Zwei aktuelle Messungen lagen bei {value} {unit} oder höher. Miss erneut, trink ausreichend und kontaktiere möglichst bald deine Ärztin oder deinen Arzt, wenn es so hoch bleibt.",
|
||
"glucoseHighEmergency": "Zwei aktuelle Messungen lagen bei {value} {unit} oder höher und du hast Beschwerden angegeben. Bei Erbrechen, schneller Atmung oder Verwirrtheit sofort den Notruf wählen."
|
||
}
|
||
},
|
||
"version": {
|
||
"updateAvailable": {
|
||
"title": "Eine neue Version ist verfügbar",
|
||
"reload": "Neu laden",
|
||
"dismiss": "Schließen"
|
||
}
|
||
},
|
||
"mentalHealth": {
|
||
"pageTitle": "Seelisches Wohlbefinden",
|
||
"pageDescription": "Vier validierte, freiwillige Selbsttests — aussagekräftig ist der Verlauf, nicht ein einzelner Wert.",
|
||
"attributionLabel": "Quelle",
|
||
"attributionShow": "Quelle und Lizenz für {instrument}",
|
||
"choosePrompt": "Check-in auswählen",
|
||
"start": "Starten",
|
||
"back": "Zurück",
|
||
"submit": "Ergebnis ansehen",
|
||
"submitting": "Wird gespeichert…",
|
||
"saved": "Gespeichert",
|
||
"error": "Etwas ist schiefgelaufen. Bitte versuche es erneut.",
|
||
"instrument": {
|
||
"phq9": "PHQ-9 · Stimmung",
|
||
"gad7": "GAD-7 · Sorgen",
|
||
"who5": "WHO-5 · Wohlbefinden",
|
||
"sci": "SCI · Schlaf"
|
||
},
|
||
"instrumentSub": {
|
||
"phq9": "Depressions-Screening, 9 Fragen",
|
||
"gad7": "Angst-Screening, 7 Fragen",
|
||
"who5": "Wohlbefindens-Check, 5 Fragen",
|
||
"sci": "Schlaf-Check, 8 Fragen"
|
||
},
|
||
"options": {
|
||
"0": "Überhaupt nicht",
|
||
"1": "An einzelnen Tagen",
|
||
"2": "An mehr als der Hälfte der Tage",
|
||
"3": "Beinahe jeden Tag"
|
||
},
|
||
"functionalTitle": "Wenn du eine oder mehrere Beschwerden angegeben hast: Wie sehr haben diese deine Arbeit, deinen Haushalt oder den Umgang mit anderen Menschen erschwert?",
|
||
"functional": {
|
||
"0": "Überhaupt nicht erschwert",
|
||
"1": "Etwas erschwert",
|
||
"2": "Sehr erschwert",
|
||
"3": "Extrem erschwert"
|
||
},
|
||
"functionalOptionalHint": "Optional — du kannst auch ohne Antwort auf diese Frage absenden.",
|
||
"result": {
|
||
"title": "Dein Ergebnis",
|
||
"totalLabel": "Gesamtwert",
|
||
"bandLabel": "Bereich für dieses Screening",
|
||
"takeAnother": "Weiteren Check-in machen"
|
||
},
|
||
"band": {
|
||
"PHQ9": {
|
||
"minimal": "Keine / minimal",
|
||
"mild": "Leicht",
|
||
"moderate": "Mittelgradig",
|
||
"modSevere": "Mittelschwer",
|
||
"severe": "Schwer"
|
||
},
|
||
"GAD7": {
|
||
"minimal": "Keine / minimal",
|
||
"mild": "Leicht",
|
||
"moderate": "Mittelgradig",
|
||
"severe": "Schwer"
|
||
},
|
||
"WHO5": {
|
||
"low": "Niedrigeres Wohlbefinden",
|
||
"good": "Gutes Wohlbefinden"
|
||
},
|
||
"SCI": {
|
||
"belowThreshold": "Möglicher Insomnie-Bereich",
|
||
"aboveThreshold": "Kein Insomnie-Hinweis"
|
||
}
|
||
},
|
||
"history": {
|
||
"title": "Dein Verlauf",
|
||
"empty": "Noch keine Check-ins. Dein Verlauf erscheint hier, sobald du einen abgeschlossen hast.",
|
||
"flaggedBadge": "Hilfe angezeigt",
|
||
"chartTitle": "Punkteverlauf",
|
||
"totalLabel": "Punkte",
|
||
"bandLabel": "Einstufung",
|
||
"answersToggle": "Antworten",
|
||
"answersUnavailable": "Die gespeicherten Antworten dieses Check-ins können nicht entschlüsselt werden."
|
||
},
|
||
"crisis": {
|
||
"title": "Du musst das nicht allein durchstehen",
|
||
"intro": "Du hast Gedanken angegeben, lieber tot zu sein oder dir etwas anzutun. Es gibt jetzt sofort Unterstützung — sich zu melden ist ein Zeichen von Stärke.",
|
||
"ifDanger": "Wenn du in unmittelbarer Gefahr bist, ruf jetzt {emergency} an.",
|
||
"resourcesTitle": "Menschen, die helfen können"
|
||
},
|
||
"items": {
|
||
"phq9": {
|
||
"1": "Wenig Interesse oder Freude an Ihren Tätigkeiten",
|
||
"2": "Niedergeschlagenheit, Schwermut oder Hoffnungslosigkeit",
|
||
"3": "Schwierigkeiten, ein- oder durchzuschlafen, oder vermehrter Schlaf",
|
||
"4": "Müdigkeit oder Gefühl, keine Energie zu haben",
|
||
"5": "Verminderter Appetit oder übermäßiges Bedürfnis zu essen",
|
||
"6": "Schlechte Meinung von sich selbst; Gefühl, ein Versager zu sein oder die Familie enttäuscht zu haben",
|
||
"7": "Schwierigkeiten, sich auf etwas zu konzentrieren, z. B. beim Zeitunglesen oder Fernsehen",
|
||
"8": "Waren Ihre Bewegungen oder Ihre Sprache so verlangsamt, dass es auch anderen auffallen würde? Oder waren Sie im Gegenteil „zappelig“ oder ruhelos und hatten einen stärkeren Bewegungsdrang als sonst?",
|
||
"9": "Gedanken, dass Sie lieber tot wären oder sich Leid zufügen möchten"
|
||
},
|
||
"gad7": {
|
||
"1": "Nervosität, Ängstlichkeit oder Anspannung",
|
||
"2": "Nicht in der Lage sein, Sorgen zu stoppen oder zu kontrollieren",
|
||
"3": "Übermäßige Sorgen bezüglich verschiedener Angelegenheiten",
|
||
"4": "Schwierigkeiten zu entspannen",
|
||
"5": "Rastlosigkeit, sodass Stillsitzen schwerfällt",
|
||
"6": "Schnelle Verärgerung oder Gereiztheit",
|
||
"7": "Gefühl der Angst, als würde etwas Schlimmes passieren"
|
||
},
|
||
"who5": {
|
||
"1": "… war ich froh und guter Laune",
|
||
"2": "… habe ich mich ruhig und entspannt gefühlt",
|
||
"3": "… habe ich mich energisch und aktiv gefühlt",
|
||
"4": "… habe ich mich beim Aufwachen frisch und ausgeruht gefühlt",
|
||
"5": "… war mein Alltag voller Dinge, die mich interessieren"
|
||
},
|
||
"sci": {
|
||
"1": "… how long does it take you to fall asleep?",
|
||
"2": "… if you then wake up during the night … how long are you awake for in total? (add all the wakenings up)",
|
||
"3": "… how many nights a week do you have a problem with your sleep?",
|
||
"4": "… how would you rate your sleep quality?",
|
||
"5": "… affected your mood, energy, or relationships?",
|
||
"6": "… affected your concentration, productivity, or ability to stay awake?",
|
||
"7": "… troubled you in general?",
|
||
"8": "… how long have you had a problem with your sleep?"
|
||
}
|
||
},
|
||
"crisisResource": {
|
||
"telefonSeelsorge": {
|
||
"name": "TelefonSeelsorge (rund um die Uhr, kostenlos, vertraulich)"
|
||
},
|
||
"nummerGegenKummer": {
|
||
"name": "Nummer gegen Kummer (für junge Menschen)"
|
||
},
|
||
"telefonSeelsorgeAt": {
|
||
"name": "Telefonseelsorge Österreich (rund um die Uhr, kostenlos, vertraulich)"
|
||
},
|
||
"dargeboteneHand": {
|
||
"name": "Die Dargebotene Hand (rund um die Uhr, kostenlos, vertraulich)"
|
||
},
|
||
"krisenchat": {
|
||
"name": "krisenchat (24/7-Chat, junge Menschen)"
|
||
},
|
||
"findahelpline": {
|
||
"name": "Find a Helpline (weltweites Verzeichnis)"
|
||
},
|
||
"euEmotionalSupport": {
|
||
"name": "Telefonseelsorge-Hotline"
|
||
},
|
||
"lifeline988": {
|
||
"name": "988 Suicide & Crisis Lifeline"
|
||
},
|
||
"crisisTextLine": {
|
||
"name": "Crisis Text Line"
|
||
}
|
||
},
|
||
"instrumentDescription": {
|
||
"phq9": "Depressions-Screening mit 9 Fragen. Beziehe dich auf die letzten zwei Wochen.",
|
||
"gad7": "Angst-Screening mit 7 Fragen. Beziehe dich auf die letzten zwei Wochen.",
|
||
"who5": "Wohlbefindens-Check mit 5 Fragen. Beziehe dich auf die letzten zwei Wochen; höhere Werte bedeuten besseres Wohlbefinden.",
|
||
"sci": "Schlaf-Check mit 8 Fragen. Die meisten Fragen beziehen sich auf den letzten Monat; höhere Werte bedeuten besseren Schlaf."
|
||
},
|
||
"progress": "{current} / {total}",
|
||
"next": "Weiter",
|
||
"lastResult": "Letzter Test",
|
||
"lastScore": "Letztes Ergebnis",
|
||
"noResultYet": "Noch kein Check-in",
|
||
"backToList": "Übersicht",
|
||
"followUpHint": {
|
||
"phq9": "Dein Wert liegt in einem Bereich, in dem ein Gespräch mit einer Fachperson helfen kann. Das ist ein behutsamer Hinweis, keine Diagnose.",
|
||
"gad7": "Dein Wert liegt in einem Bereich, in dem ein Gespräch mit einer Fachperson helfen kann. Das ist ein behutsamer Hinweis, keine Diagnose.",
|
||
"who5": "Ein Wohlbefindens-Wert von 50 oder darunter kann einen genaueren Blick wert sein. Wenn du magst, schaut der PHQ-9-Check-in auf dieser Seite genauer auf die Stimmung. Das ist ein behutsamer Hinweis, keine Diagnose.",
|
||
"sci": "In der Studie zu diesem Fragebogen waren Werte von 16 oder darunter mit wahrscheinlicher Insomnie verbunden. Wenn schlechter Schlaf dich weiter belastet, kann ein Gespräch mit einer Fachperson helfen. Das ist keine Diagnose."
|
||
},
|
||
"validatedInEnglishNote": "Dieser Fragebogen ist in englischer Sprache validiert; die Fragen erscheinen im englischen Original.",
|
||
"who5Options": {
|
||
"0": "Zu keinem Zeitpunkt",
|
||
"1": "Ab und zu",
|
||
"2": "Etwas weniger als die Hälfte der Zeit",
|
||
"3": "Etwas mehr als die Hälfte der Zeit",
|
||
"4": "Meistens",
|
||
"5": "Die ganze Zeit"
|
||
},
|
||
"sciOptions": {
|
||
"duration": {
|
||
"0": "≥ 61 min",
|
||
"1": "46–60 min",
|
||
"2": "31–45 min",
|
||
"3": "16–30 min",
|
||
"4": "0–15 min"
|
||
},
|
||
"nights": {
|
||
"0": "5–7",
|
||
"1": "4",
|
||
"2": "3",
|
||
"3": "2",
|
||
"4": "0–1"
|
||
},
|
||
"quality": {
|
||
"0": "Very poor",
|
||
"1": "Poor",
|
||
"2": "Average",
|
||
"3": "Good",
|
||
"4": "Very good"
|
||
},
|
||
"impact": {
|
||
"0": "Very much",
|
||
"1": "Much",
|
||
"2": "Somewhat",
|
||
"3": "A little",
|
||
"4": "Not at all"
|
||
},
|
||
"problemDuration": {
|
||
"0": "> 1 year",
|
||
"1": "7–12 months",
|
||
"2": "3–6 months",
|
||
"3": "1–2 months",
|
||
"4": "I don't have a problem / < 1 month"
|
||
}
|
||
},
|
||
"stems": {
|
||
"who5": {
|
||
"period": "In den letzten zwei Wochen …"
|
||
},
|
||
"sci": {
|
||
"night": "Thinking about a typical night in the last month …",
|
||
"impact": "Thinking about the past month, to what extent has poor sleep …",
|
||
"finally": "Finally …"
|
||
}
|
||
},
|
||
"openDetail": "Details anzeigen",
|
||
"historyLoadError": "Dein Testverlauf konnte nicht geladen werden",
|
||
"historyLoadErrorHint": "Das heißt nicht, dass keine Ergebnisse vorliegen — die Liste konnte nicht abgerufen werden. Versuche es erneut.",
|
||
"privacyNote": "Deine Antworten sind verschlüsselt gespeichert und erreichen den KI-Coach nicht."
|
||
},
|
||
"records": {
|
||
"aiInclusion": {
|
||
"cardTitle": "KI-Zugriff auf das Profil",
|
||
"cardDescription": "Lege fest, welche Teile deines Gesundheitsprofils Coach und umfassende Briefings verwenden dürfen.",
|
||
"sectionAboutMe": "Über mich",
|
||
"sectionConditions": "Chronische Erkrankungen",
|
||
"sectionAllergies": "Allergien und Unverträglichkeiten",
|
||
"sectionCoachFocus": "Coach-Schwerpunkt",
|
||
"sectionFamilyHistory": "Familienanamnese",
|
||
"sectionSmoking": "Rauchstatus",
|
||
"sectionAlcohol": "Alkoholkonsummuster",
|
||
"sectionShiftSchedule": "Arbeitszeitmodell",
|
||
"save": "Zugriff speichern",
|
||
"savedToast": "KI-Zugriff auf das Profil gespeichert",
|
||
"saveError": "KI-Zugriff auf das Profil konnte nicht gespeichert werden",
|
||
"loadError": "KI-Zugriff auf das Profil konnte nicht geladen werden"
|
||
},
|
||
"profileFacts": {
|
||
"cardTitle": "Lebensstil-Kontext",
|
||
"cardDescription": "Erfasse aktuelle Angaben, die die Einordnung deiner Gesundheitswerte verändern.",
|
||
"smokingLabel": "Rauchstatus",
|
||
"alcoholLabel": "Alkoholkonsummuster",
|
||
"shiftLabel": "Arbeitszeitmodell",
|
||
"notRecorded": "Nicht erfasst",
|
||
"unreadable": "Gespeicherter Wert konnte nicht gelesen werden",
|
||
"save": "Speichern",
|
||
"savedToast": "Lebensstil-Kontext gespeichert",
|
||
"savePartialError": "{kinds} konnte nicht gespeichert werden. Bitte erneut versuchen.",
|
||
"saveKindError": "Nicht gespeichert",
|
||
"loadError": "Lebensstil-Kontext konnte nicht geladen werden",
|
||
"remove": "{kind} entfernen",
|
||
"removeShort": "Entfernen",
|
||
"removeConfirmTitle": "{kind} entfernen?",
|
||
"removeConfirmDescription": "Der aktuelle Wert gilt danach als nicht erfasst. Der datierte Verlauf bleibt erhalten.",
|
||
"removedToast": "{kind} aus dem aktuellen Lebensstil-Kontext entfernt",
|
||
"removeError": "{kind} konnte nicht entfernt werden",
|
||
"historyTitle": "Frühere Werte",
|
||
"to": "bis",
|
||
"values": {
|
||
"SMOKING_STATUS": {
|
||
"NEVER": "Nie geraucht",
|
||
"FORMER": "Früher geraucht",
|
||
"CURRENT": "Raucht derzeit"
|
||
},
|
||
"ALCOHOL_PATTERN": {
|
||
"NONE": "Kein Alkohol",
|
||
"OCCASIONAL": "Gelegentlich",
|
||
"WEEKLY": "Wöchentlich",
|
||
"MOST_DAYS": "An den meisten Tagen"
|
||
},
|
||
"SHIFT_SCHEDULE": {
|
||
"NONE": "Keine Schichtarbeit",
|
||
"FIXED_SHIFT": "Feste Schicht",
|
||
"ROTATING": "Wechselschicht"
|
||
}
|
||
}
|
||
},
|
||
"disclaimer": "Das sind deine eigenen Angaben, keine ärztliche Diagnose. HealthLog stellt keine Diagnose, behandelt nicht und deutet nichts.",
|
||
"allergies": {
|
||
"cardTitle": "Allergien & Unverträglichkeiten",
|
||
"cardDescription": "Stoffe, auf die du reagierst, mit Reaktion und Schweregrad.",
|
||
"description": "Eine Allergie oder Unverträglichkeit erfassen.",
|
||
"add": "Allergie hinzufügen",
|
||
"addFirst": "Erste Allergie hinzufügen",
|
||
"addTitle": "Allergie hinzufügen",
|
||
"editTitle": "Allergie bearbeiten",
|
||
"formDescription": "Der Stoff wird im Klartext gespeichert; Reaktion und Notiz werden verschlüsselt.",
|
||
"emptyTitle": "Keine Allergien erfasst",
|
||
"emptyDescription": "Erfasse Stoffe, auf die du reagierst, und die Reaktionen.",
|
||
"loadError": "Deine Allergien konnten nicht geladen werden.",
|
||
"deletedToast": "Allergie gelöscht",
|
||
"deleteError": "Die Allergie konnte nicht gelöscht werden.",
|
||
"deleteConfirmTitle": "Diese Allergie löschen?",
|
||
"deleteConfirmDescription": "Damit wird der Eintrag entfernt. Das lässt sich nicht rückgängig machen.",
|
||
"category": {
|
||
"FOOD": "Nahrungsmittel",
|
||
"MEDICATION": "Medikament",
|
||
"ENVIRONMENT": "Umwelt",
|
||
"BIOLOGIC": "Biologikum",
|
||
"OTHER": "Sonstiges"
|
||
},
|
||
"type": {
|
||
"ALLERGY": "Allergie",
|
||
"INTOLERANCE": "Unverträglichkeit"
|
||
},
|
||
"severity": {
|
||
"NONE": "Nicht bewertet",
|
||
"MILD": "Leicht",
|
||
"MODERATE": "Mittel",
|
||
"SEVERE": "Schwer"
|
||
},
|
||
"status": {
|
||
"ACTIVE": "Aktiv",
|
||
"INACTIVE": "Inaktiv",
|
||
"RESOLVED": "Abgeklungen"
|
||
},
|
||
"form": {
|
||
"substance": "Stoff",
|
||
"substancePlaceholder": "z. B. Penicillin, Erdnüsse",
|
||
"category": "Kategorie",
|
||
"type": "Art",
|
||
"severity": "Schweregrad",
|
||
"status": "Status",
|
||
"onset": "Erstmals bemerkt",
|
||
"reaction": "Reaktion",
|
||
"reactionPlaceholder": "z. B. Nesselsucht, Schwellung, Anaphylaxie",
|
||
"note": "Notiz",
|
||
"notePlaceholder": "Was du dir sonst merken möchtest",
|
||
"requiredError": "Bitte den Stoff angeben.",
|
||
"savedToast": "Allergie gespeichert",
|
||
"updatedToast": "Allergie aktualisiert",
|
||
"saveError": "Die Allergie konnte nicht gespeichert werden."
|
||
},
|
||
"freeText": {
|
||
"label": "Freitext-Ergänzung (Allergien & Unverträglichkeiten)",
|
||
"hint": "Eine Freitext-Ergänzung zur strukturierten Liste oben, für Kontext, den ein einzelner Eintrag nicht abbilden kann.",
|
||
"savedToast": "Allergie-Notiz gespeichert",
|
||
"saveError": "Speichern fehlgeschlagen. Bitte versuche es erneut."
|
||
}
|
||
},
|
||
"family": {
|
||
"cardTitle": "Familienanamnese",
|
||
"cardDescription": "Erkrankungen bei Verwandten, ein Eintrag je Erkrankung.",
|
||
"description": "Eine Erkrankung bei einem Verwandten erfassen.",
|
||
"add": "Eintrag hinzufügen",
|
||
"addFirst": "Ersten Eintrag hinzufügen",
|
||
"addTitle": "Familienanamnese hinzufügen",
|
||
"editTitle": "Familienanamnese bearbeiten",
|
||
"formDescription": "Verwandtschaft und Erkrankung werden im Klartext gespeichert; die Notiz wird verschlüsselt.",
|
||
"emptyTitle": "Keine Familienanamnese erfasst",
|
||
"emptyDescription": "Erfasse Erkrankungen, die in deiner Familie vorkommen.",
|
||
"loadError": "Deine Familienanamnese konnte nicht geladen werden.",
|
||
"deletedToast": "Eintrag gelöscht",
|
||
"deleteError": "Der Eintrag konnte nicht gelöscht werden.",
|
||
"deleteConfirmTitle": "Diesen Eintrag löschen?",
|
||
"deleteConfirmDescription": "Damit wird der Eintrag entfernt. Das lässt sich nicht rückgängig machen.",
|
||
"ageAtOnsetShort": "Alter {age}",
|
||
"relationship": {
|
||
"MOTHER": "Mutter",
|
||
"FATHER": "Vater",
|
||
"SISTER": "Schwester",
|
||
"BROTHER": "Bruder",
|
||
"DAUGHTER": "Tochter",
|
||
"SON": "Sohn",
|
||
"GRANDMOTHER_MATERNAL": "Großmutter (mütterlich)",
|
||
"GRANDFATHER_MATERNAL": "Großvater (mütterlich)",
|
||
"GRANDMOTHER_PATERNAL": "Großmutter (väterlich)",
|
||
"GRANDFATHER_PATERNAL": "Großvater (väterlich)",
|
||
"AUNT": "Tante",
|
||
"UNCLE": "Onkel",
|
||
"COUSIN": "Cousin/Cousine",
|
||
"HALF_SIBLING": "Halbgeschwister",
|
||
"OTHER": "Andere/r Verwandte/r"
|
||
},
|
||
"form": {
|
||
"relationship": "Verwandte/r",
|
||
"condition": "Erkrankung",
|
||
"conditionPlaceholder": "z. B. Typ-2-Diabetes, Brustkrebs",
|
||
"ageAtOnset": "Alter bei Beginn",
|
||
"ageAtOnsetPlaceholder": "z. B. 55",
|
||
"note": "Notiz",
|
||
"notePlaceholder": "Was du dir sonst merken möchtest",
|
||
"requiredError": "Bitte die Erkrankung angeben.",
|
||
"ageError": "Bitte ein Alter zwischen 0 und 120 angeben.",
|
||
"savedToast": "Eintrag gespeichert",
|
||
"updatedToast": "Eintrag aktualisiert",
|
||
"saveError": "Der Eintrag konnte nicht gespeichert werden."
|
||
}
|
||
},
|
||
"conditions": {
|
||
"cardTitle": "Vorerkrankungen",
|
||
"cardDescription": "Chronische Erkrankungen und worauf der Coach achten soll.",
|
||
"conditionsLabel": "Chronische Erkrankungen",
|
||
"focusLabel": "Worauf der Coach achtet",
|
||
"loadError": "Vorerkrankungen konnten nicht geladen werden.",
|
||
"savedToast": "Erkrankungen gespeichert",
|
||
"saveError": "Speichern fehlgeschlagen. Bitte versuche es erneut."
|
||
},
|
||
"emergency": {
|
||
"cardTitle": "Notfalldaten",
|
||
"cardDescription": "Was Rettungskräfte zuerst brauchen: Blutgruppe, Kontakte, Verfügungen.",
|
||
"bloodType": "Blutgruppe",
|
||
"organDonor": "Organspender",
|
||
"advanceDirective": "Patientenverfügung",
|
||
"contacts": "Notfallkontakte",
|
||
"implants": "Implantate und Geräte",
|
||
"note": "Weitere Hinweise",
|
||
"notRecorded": "Nicht erfasst",
|
||
"bloodTypeValues": {
|
||
"A_POS": "A positiv",
|
||
"A_NEG": "A negativ",
|
||
"B_POS": "B positiv",
|
||
"B_NEG": "B negativ",
|
||
"AB_POS": "AB positiv",
|
||
"AB_NEG": "AB negativ",
|
||
"O_POS": "0 positiv",
|
||
"O_NEG": "0 negativ",
|
||
"UNKNOWN": "Unbekannt"
|
||
},
|
||
"organDonorValues": {
|
||
"YES": "Ja",
|
||
"NO": "Nein",
|
||
"UNKNOWN": "Keine Angabe"
|
||
},
|
||
"advanceDirectiveValues": {
|
||
"EXISTS": "Vorhanden",
|
||
"NONE": "Keine",
|
||
"UNKNOWN": "Keine Angabe"
|
||
},
|
||
"contactsPlaceholder": "Name und Telefonnummer für den Notfall",
|
||
"implantsPlaceholder": "z. B. Herzschrittmacher, Insulinpumpe, Metallimplantat",
|
||
"notePlaceholder": "Alles, was im Notfall wichtig sein könnte",
|
||
"reportHint": "Dies erscheint auf der ersten Seite deines Arztberichts.",
|
||
"save": "Speichern",
|
||
"savedToast": "Notfalldaten gespeichert",
|
||
"saveError": "Notfalldaten konnten nicht gespeichert werden.",
|
||
"loadError": "Notfalldaten konnten nicht geladen werden."
|
||
}
|
||
},
|
||
"environment": {
|
||
"fields": {
|
||
"tempMean": "Tagestemperatur",
|
||
"tempMin": "Nachttiefstwert",
|
||
"sunshine": "Sonnenschein",
|
||
"daylight": "Tageslicht",
|
||
"precip": "Niederschlag",
|
||
"pressureMean": "Luftdruck",
|
||
"pressureDelta": "Druckschwankung"
|
||
}
|
||
},
|
||
"documents": {
|
||
"title": "Dokumente",
|
||
"subtitle": "Jeder Brief, Befund und Scan an einem durchsuchbaren Ort — verschlüsselt gespeichert.",
|
||
"pageUpload": "Hochladen",
|
||
"ownerOnlyUpload": "Dokumente kann nur die Inhaberin oder der Inhaber der Akte hinzufügen.",
|
||
"kind": {
|
||
"DOCTOR_REPORT": "Arztbericht",
|
||
"DISCHARGE_LETTER": "Entlassungsbrief",
|
||
"OTHER": "Sonstiges",
|
||
"LAB_RESULT": "Laborbefund",
|
||
"IMAGING": "Bildgebung",
|
||
"PRESCRIPTION": "Rezept",
|
||
"REFERRAL": "Überweisung",
|
||
"INSURANCE": "Versicherung",
|
||
"VACCINATION": "Impfung",
|
||
"SICK_NOTE": "Krankschreibung"
|
||
},
|
||
"filter": {
|
||
"searchLabel": "Dokumente durchsuchen",
|
||
"searchPlaceholder": "Titel oder Dateiname suchen…",
|
||
"typeGroup": "Dokumenttyp",
|
||
"conditionGroup": "Erkrankung",
|
||
"yearGroup": "Jahr",
|
||
"clear": "Filter zurücksetzen",
|
||
"typeAll": "Alle Typen",
|
||
"typeCount": "{count} Typen",
|
||
"conditionAll": "Alle Erkrankungen",
|
||
"yearAll": "Alle Jahre"
|
||
},
|
||
"card": {
|
||
"untitled": "Unbenanntes Dokument",
|
||
"selectLabel": "{title} auswählen",
|
||
"openLabel": "{title} öffnen",
|
||
"attachmentBadge": "Nur Download",
|
||
"uploading": "Wird hochgeladen…",
|
||
"dismissFailed": "Fehlgeschlagenen Upload ausblenden",
|
||
"processing": "Wird verarbeitet…",
|
||
"ready": "Bereit",
|
||
"deleteKey": "Entf"
|
||
},
|
||
"error": {
|
||
"fileTooLarge": "Diese Datei ist größer als das Limit von {maxSize}.",
|
||
"quotaExceeded": "Der Speicher ist voll — {used} von {quota} belegt.",
|
||
"unsupportedType": "Dieser Dateityp wird nicht unterstützt.",
|
||
"purged": "Dieses Dokument wurde endgültig entfernt und kann nicht wiederhergestellt werden.",
|
||
"duplicateExists": "Ein identisches Dokument ist bereits gespeichert.",
|
||
"rateLimited": "Zu viele Uploads — versuche es in ein paar Minuten erneut.",
|
||
"generic": "Upload fehlgeschlagen. Bitte erneut versuchen."
|
||
},
|
||
"toast": {
|
||
"duplicate": "Bereits gespeichert — das vorhandene Dokument wird hervorgehoben.",
|
||
"deleted": "Dokument gelöscht",
|
||
"restoreFailed": "Das Dokument konnte nicht wiederhergestellt werden."
|
||
},
|
||
"timeline": {
|
||
"loadingMore": "Mehr wird geladen…",
|
||
"listLabel": "Dokumenten-Zeitleiste"
|
||
},
|
||
"upload": {
|
||
"browse": "Dateien auswählen",
|
||
"quotaAlmostFull": "Speicher fast voll",
|
||
"quotaUsed": "{used} von {quota} belegt",
|
||
"queuedAnnouncement": "{count} Datei(en) zur Upload-Warteschlange hinzugefügt"
|
||
},
|
||
"selection": {
|
||
"count": "{count} ausgewählt",
|
||
"clear": "Auswahl aufheben"
|
||
},
|
||
"list": {
|
||
"loadError": "Deine Dokumente konnten nicht geladen werden."
|
||
},
|
||
"empty": {
|
||
"title": "Dein Dokumenten-Tresor ist leer",
|
||
"description": "Bewahre Arztbriefe, Laborbefunde, Bildgebung, Rezepte und Impfnachweise auf — verschlüsselt und durchsuchbar nach Typ, Erkrankung und Jahr.",
|
||
"action": "Erstes Dokument hochladen",
|
||
"noMatchesTitle": "Keine passenden Dokumente",
|
||
"noMatchesDescription": "Nichts entspricht der aktuellen Suche und den Filtern."
|
||
},
|
||
"detail": {
|
||
"title": "Dokumentdetails",
|
||
"summary": {
|
||
"title": "Zusammenfassung",
|
||
"pending": "Die Zusammenfassung wird erstellt.",
|
||
"none": "Für dieses Dokument wurde noch keine Zusammenfassung erstellt.",
|
||
"withheld": "Eine Zusammenfassung wurde erstellt, hat die Sicherheitsprüfung aber nicht bestanden und wird deshalb nicht angezeigt. Du kannst es erneut versuchen oder das Dokument selbst lesen.",
|
||
"unavailable": "Für dieses Dokument konnte keine Zusammenfassung erstellt werden.",
|
||
"generate": "Zusammenfassung erstellen",
|
||
"generating": "Wird erstellt…"
|
||
},
|
||
"index": {
|
||
"outcome": {
|
||
"local-empty": "Es wurde kein lesbarer Text gefunden. Das sieht nach einem Scan aus; ein KI-Vision-Anbieter kann ihn lesen.",
|
||
"local-unsupported": "Dieser Dateityp kann für die Suche nicht gelesen werden.",
|
||
"decrypt-error": "Die gespeicherte Datei konnte zum Lesen nicht geöffnet werden.",
|
||
"raster-failed": "Die PDF-Seiten konnten zum Lesen nicht gerendert werden. Gescannte Fax-Kompressionsformate sind eine bekannte Ursache.",
|
||
"provider-error": "Der KI-Anbieter konnte dieses Dokument beim letzten Versuch nicht lesen.",
|
||
"pdf-needs-anthropic": "Der eingerichtete KI-Anbieter kann keine PDF-Dateien lesen. Ein Claude-Anbieter oder lokale OCR kann es.",
|
||
"empty-transcription": "Der KI-Anbieter hat für dieses Dokument keinen Text geliefert."
|
||
}
|
||
},
|
||
"loadError": "Dieses Dokument konnte nicht geladen werden.",
|
||
"saveError": "Die Änderung konnte nicht gespeichert werden.",
|
||
"deleteError": "Das Dokument konnte nicht gelöscht werden.",
|
||
"download": "Herunterladen",
|
||
"delete": "Löschen",
|
||
"titleLabel": "Titel",
|
||
"titlePlaceholder": "Titel hinzufügen",
|
||
"kindLabel": "Typ",
|
||
"dateLabel": "Dokumentdatum",
|
||
"conditionsLabel": "Verknüpfte Erkrankungen",
|
||
"linkCondition": "Verknüpfen",
|
||
"noConditions": "Mit keiner Erkrankung verknüpft",
|
||
"previewUnavailable": "Keine Inline-Vorschau für diesen Dateityp",
|
||
"uploadedMeta": "Hinzugefügt am {date} · {size}",
|
||
"importedFrom": "Importiert aus {system}",
|
||
"importedFromWithId": "Importiert aus {system} · ID {id}",
|
||
"sourceOther": "einem anderen System",
|
||
"share": "Teilen",
|
||
"labValuesLink": "{count} Laborwerte ansehen",
|
||
"visitsLabel": "Gehört zu Termin",
|
||
"vaccinationsLabel": "Impfungen",
|
||
"noVisitsToLink": "Noch keine Termine erfasst.",
|
||
"noVaccinationsToLink": "Noch keine Impfungen erfasst."
|
||
},
|
||
"dropOverlay": {
|
||
"title": "Zum Hochladen ablegen",
|
||
"hint": "Deine Dateien werden verschlüsselt in deinen Dokumenten gespeichert"
|
||
},
|
||
"bulk": {
|
||
"barLabel": "Aktionen für ausgewählte Dokumente",
|
||
"setKind": "Typ ändern",
|
||
"linkCondition": "Erkrankung verknüpfen",
|
||
"delete": "Löschen",
|
||
"updated": "{count} Dokument(e) aktualisiert",
|
||
"deleted": "{count} Dokument(e) gelöscht",
|
||
"restored": "{count} Dokument(e) wiederhergestellt",
|
||
"partialFailure": "{failed} von {total} konnten nicht aktualisiert werden",
|
||
"failed": "Die Aktion konnte nicht ausgeführt werden",
|
||
"share": "Teilen",
|
||
"shareTooMany": "Ein Freigabelink fasst höchstens {max} Dokumente. Wähle einige ab und versuche es erneut.",
|
||
"linkVisit": "Termin zuordnen"
|
||
},
|
||
"episodeCard": {
|
||
"title": "Dokumente",
|
||
"link": "Verknüpfen",
|
||
"upload": "Hochladen",
|
||
"viewAll": "Alle anzeigen",
|
||
"emptyLine": "Noch keine Dokumente mit dieser Erkrankung verknüpft.",
|
||
"loadError": "Verknüpfte Dokumente konnten nicht geladen werden"
|
||
},
|
||
"linkPicker": {
|
||
"title": "Dokumente verknüpfen",
|
||
"description": "Wähle Dokumente aus deinem Bestand, die zu dieser Erkrankung gehören.",
|
||
"searchPlaceholder": "Nach Titel oder Dateiname suchen",
|
||
"empty": "Keine Dokumente gefunden."
|
||
},
|
||
"assist": {
|
||
"suggest": "Details vorschlagen",
|
||
"suggesting": "Wird gelesen…",
|
||
"suggestedTitle": "Vorgeschlagener Titel",
|
||
"suggestedKind": "Vorgeschlagener Typ",
|
||
"suggestedDate": "Vorgeschlagenes Datum",
|
||
"apply": "Übernehmen",
|
||
"useTitle": "Titel übernehmen",
|
||
"applied": "Übernommen",
|
||
"dismiss": "Verwerfen",
|
||
"empty": "Aus diesem Dokument konnte nichts gelesen werden.",
|
||
"unavailableBody": "Richte einen KI-Anbieter ein, um Titel, Typ und Datum vorzuschlagen.",
|
||
"unavailableLocalOcr": "Aktiviere lokale Texterkennung in den KI-Einstellungen, um Bilder auf diesem Gerät zu lesen.",
|
||
"unavailableAction": "KI-Einstellungen öffnen",
|
||
"errorGeneric": "Dokument konnte nicht gelesen werden. Bitte erneut versuchen.",
|
||
"errorOcr": "Aus diesem Bild konnte kein Text gelesen werden.",
|
||
"errorRateLimited": "Das stündliche KI-Leselimit ist erreicht. Bitte später erneut versuchen.",
|
||
"errorRateLimitedWaitOne": "Das stündliche KI-Leselimit ist erreicht. Bitte in etwa einer Minute erneut versuchen.",
|
||
"errorRateLimitedWaitFew": "Das stündliche KI-Leselimit ist erreicht. Bitte in etwa {count} Minuten erneut versuchen.",
|
||
"errorRateLimitedWaitOther": "Das stündliche KI-Leselimit ist erreicht. Bitte in etwa {count} Minuten erneut versuchen.",
|
||
"errorBudget": "Dein KI-Budget für heute ist aufgebraucht.",
|
||
"errorPdfNeedsVision": "Zum Scannen von PDFs wird ein Claude-Vision-Anbieter benötigt.",
|
||
"errorFileType": "Dieser Dateityp kann nicht gelesen werden.",
|
||
"errorNotIndexed": "Lies das Dokument zuerst aus, dann extrahiere.",
|
||
"errorLocalOcrDisabled": "Aktiviere zuerst die lokale Texterkennung in den KI-Einstellungen.",
|
||
"errorProvider": "Dafür ist kein KI-Anbieter eingerichtet.",
|
||
"errorTextImageOnly": "Lokale Texterkennung liest nur Bilder — nicht diese Datei.",
|
||
"errorConsent": "Für das Lesen von Dokumenten mit KI brauchst du zuerst deine Einwilligung.",
|
||
"errorUnavailable": "Das Lesen von Dokumenten mit KI ist hier gerade nicht verfügbar."
|
||
},
|
||
"summary": {
|
||
"summarise": "Zusammenfassen",
|
||
"showText": "Erkannten Text anzeigen",
|
||
"summaryTitle": "Zusammenfassung",
|
||
"textTitle": "Erkannter Text",
|
||
"close": "Ausblenden"
|
||
},
|
||
"ai": {
|
||
"readDone": "Die KI hat dein Dokument gelesen.",
|
||
"readStagedOne": "Die KI hat dein Dokument gelesen. 1 Laborwert wartet auf deine Prüfung.",
|
||
"readStagedFew": "Die KI hat dein Dokument gelesen. {count} Laborwerte warten auf deine Prüfung.",
|
||
"readStagedOther": "Die KI hat dein Dokument gelesen. {count} Laborwerte warten auf deine Prüfung.",
|
||
"read": "Mit KI auslesen",
|
||
"reread": "Erneut lesen",
|
||
"reading": "Liest…",
|
||
"notReadYet": "Dieses Dokument wurde noch nicht gelesen."
|
||
},
|
||
"review": {
|
||
"title": "Ausgelesene Werte prüfen",
|
||
"hint": "Bestätige, was mit dem Dokument übereinstimmt. Nicht angehakte Werte werden verworfen; ohne deine Bestätigung wird nichts gespeichert.",
|
||
"openOne": "Ausgelesenen Wert prüfen",
|
||
"openFew": "Ausgelesene Werte prüfen ({count})",
|
||
"openOther": "Ausgelesene Werte prüfen ({count})",
|
||
"includeAria": "{value} übernehmen",
|
||
"type": {
|
||
"OBSERVATION": "Laborwert",
|
||
"CONDITION": "Erkrankung",
|
||
"MEDICATION_STATEMENT": "Medikament"
|
||
},
|
||
"statedRange": "angegebener Bereich {range}",
|
||
"needsCheck": "Prüfe diesen Wert gegen das Dokument und speichere ihn dann.",
|
||
"verify": "Prüfen",
|
||
"verifySave": "Wert speichern",
|
||
"verifyInvalid": "Gib einen Namen und entweder einen Zahlenwert oder ein Textergebnis an, nicht beides.",
|
||
"verifyFailed": "Die Korrektur konnte nicht gespeichert werden. Versuche es erneut.",
|
||
"fieldName": "Name",
|
||
"fieldDate": "Datum",
|
||
"fieldValue": "Wert",
|
||
"fieldValueText": "Ergebnis (Text)",
|
||
"fieldUnit": "Einheit",
|
||
"fieldDose": "Dosis",
|
||
"unverifiedNoteOne": "1 Wert muss noch geprüft werden und bleibt offen.",
|
||
"unverifiedNoteFew": "{count} Werte müssen noch geprüft werden und bleiben offen.",
|
||
"unverifiedNoteOther": "{count} Werte müssen noch geprüft werden und bleiben offen.",
|
||
"finish": "Prüfung abschließen",
|
||
"confirmFailed": "Die Prüfung konnte nicht gespeichert werden. Versuche es erneut.",
|
||
"savedToastOne": "1 Wert gespeichert",
|
||
"savedToastFew": "{count} Werte gespeichert",
|
||
"savedToastOther": "{count} Werte gespeichert",
|
||
"nothingSavedToast": "Prüfung gespeichert. Es wurden keine Werte übernommen.",
|
||
"extract": "Laborwerte auslesen",
|
||
"extracting": "Liest aus…",
|
||
"extractHint": "Nutzt den bereits ausgelesenen Text dieses Dokuments. Ausgelesene Werte warten auf deine Prüfung; nichts wird automatisch gespeichert.",
|
||
"extractEmpty": "Aus diesem Dokument konnten keine Werte ausgelesen werden.",
|
||
"failUnitRequired": "Ein Zahlenwert braucht eine Einheit, bevor er gespeichert werden kann.",
|
||
"failUnitMismatch": "Die angegebene Einheit passt nicht zur gespeicherten Einheit dieses Markers. Passe sie an und schließe die Prüfung erneut ab.",
|
||
"failGeneric": "Dieser Wert konnte nicht gespeichert werden."
|
||
},
|
||
"contentIndex": {
|
||
"indexPrompt": "Dokumentinhalte durchsuchbar machen.",
|
||
"indexAll": "Alle für Suche indizieren",
|
||
"indexAllPending": "Wird gestartet…",
|
||
"indexAllQueued": "{count} Dokument(e) werden im Hintergrund indiziert.",
|
||
"indexAllNothing": "Alles ist bereits indiziert.",
|
||
"indexAllError": "Indizierung konnte nicht gestartet werden."
|
||
},
|
||
"share": {
|
||
"title": "Dieses Dokument teilen",
|
||
"multiTitle": "Diese Dokumente teilen",
|
||
"multiLabel": "{count} Dokumente",
|
||
"description": "Erstelle einen schreibgeschützten Ärzte-Link mit diesem angehängten Dokument. Link und Passphrase erscheinen nur einmal."
|
||
},
|
||
"chat": {
|
||
"title": "Über dieses Dokument chatten",
|
||
"openAria": "Coach über dieses Dokument fragen",
|
||
"openButton": "Coach fragen"
|
||
},
|
||
"readingConsent": {
|
||
"body": "Beim Lesen mit KI geht dies an deinen KI-Dienst außerhalb dieses Servers. Darf HealthLog Dokumente, Laborbefunde und Medikamentenbeschreibungen zum Lesen senden?",
|
||
"grant": "Lesen erlauben",
|
||
"error": "Die Einwilligung konnte nicht gespeichert werden. Bitte versuch es erneut."
|
||
},
|
||
"sourcePicker": {
|
||
"open": "Aus Archiv importieren",
|
||
"openNamed": "Aus {name} importieren",
|
||
"title": "Aus {name} importieren",
|
||
"description": "Nach Namen suchen, dann die Dokumente anhaken, die HealthLog übernehmen soll.",
|
||
"sourceLabel": "Archiv",
|
||
"searchLabel": "Dokumentname",
|
||
"searchPlaceholder": "Nach Namen suchen",
|
||
"tagLabel": "Tag",
|
||
"tagAny": "Alle Tags",
|
||
"fromLabel": "Von",
|
||
"toLabel": "Bis",
|
||
"clearFilters": "Tag und Datum zurücksetzen",
|
||
"rangeInvalid": "Das Enddatum liegt vor dem Startdatum.",
|
||
"empty": "{name} hat keine Dokumente zum Anzeigen.",
|
||
"noMatch": "Keine passenden Dokumente.",
|
||
"loadMore": "Mehr laden",
|
||
"stateImported": "In HealthLog",
|
||
"stateDeleted": "In HealthLog gelöscht",
|
||
"selectedCount": "{count} von höchstens {max} ausgewählt",
|
||
"importAction": "{count} importieren",
|
||
"importing": "Import läuft, ein Dokument nach dem anderen …",
|
||
"done": "Fertig",
|
||
"summary": "Importiert: {imported}. Schon vorhanden: {present}. Nicht importiert: {failed}.",
|
||
"stopped": "Abgebrochen: {reason}",
|
||
"result": {
|
||
"waiting": "Wartet",
|
||
"working": "Wird importiert …",
|
||
"imported": "Importiert",
|
||
"importedLinked": "Importiert und verknüpft",
|
||
"duplicate": "Schon in HealthLog",
|
||
"duplicateLinked": "Schon in HealthLog, jetzt verknüpft",
|
||
"deleted": "In HealthLog gelöscht, bleibt gelöscht"
|
||
},
|
||
"errors": {
|
||
"unavailable": "Dokumentarchive sind auf diesem Server nicht freigeschaltet.",
|
||
"notConnected": "Dieses Archiv ist nicht verbunden. Verbinde es unter Einstellungen, Integrationen.",
|
||
"originNotAllowed": "Diese Adresse steht nicht auf der Liste der erlaubten Archive dieses Servers. Bitte die Administration, sie aufzunehmen.",
|
||
"unreachable": "Das Archiv war nicht erreichbar. Prüfe, ob es läuft und die Adresse stimmt.",
|
||
"redirected": "Das Archiv hat die Anfrage umgeleitet. Trage die Adresse ein, auf die es umleitet.",
|
||
"authRefused": "Das Archiv hat das Token abgelehnt. Prüfe das Token und seine Berechtigungen.",
|
||
"versionTooOld": "Das Archiv ist zu alt. Nötig ist Paperless-ngx 2.16 oder neuer.",
|
||
"badResponse": "Die Antwort des Archivs ließ sich nicht lesen. Prüfe, ob die Adresse auf das Archiv selbst zeigt.",
|
||
"notFound": "Das Archiv kennt dieses Dokument nicht, oder die Organisations-ID ist falsch oder nicht deine.",
|
||
"linkTargetNotFound": "Der Eintrag, mit dem verknüpft werden sollte, existiert nicht mehr.",
|
||
"rateLimited": "Zu viele Anfragen. Warte eine Minute und versuche es erneut.",
|
||
"browserOnly": "Dokumentarchive lassen sich nur im Browser verwenden.",
|
||
"invalidAddress": "Gib die vollständige Adresse ein, beginnend mit https:// oder http://.",
|
||
"organizationRequired": "Gib die Organisations-ID aus Papra ein.",
|
||
"tokenRequired": "Gib das API-Token ein. Eine neue Adresse braucht es erneut.",
|
||
"fileTooLarge": "Die Datei ist größer, als HealthLog annimmt.",
|
||
"quotaExceeded": "Dein Dokumentenspeicher ist voll.",
|
||
"fileType": "HealthLog nimmt diesen Dateityp nicht an.",
|
||
"uploadLimit": "Das stündliche Upload-Limit ist erreicht. Versuche es später erneut.",
|
||
"uploadBusy": "Andere Uploads laufen noch. Versuche es gleich noch einmal.",
|
||
"moduleDisabled": "Dokumente sind in den Einstellungen ausgeschaltet.",
|
||
"generic": "Etwas ist schiefgelaufen. Versuche es erneut.",
|
||
"permissionMissing": "Der Papra-Schlüssel darf keine Tags lesen. Gib ihm die Berechtigung tags:read."
|
||
},
|
||
"pickMore": "Weitere auswählen",
|
||
"finishedHint": "Suche erneut oder ändere einen Filter, um weitere Dokumente auszuwählen.",
|
||
"maxReached": "Du kannst höchstens {max} Dokumente auf einmal importieren.",
|
||
"noMatchHint": "Versuche einen Teil des Namens oder setze Tag und Datum zurück."
|
||
}
|
||
},
|
||
"selfDescription": {
|
||
"dataPosture": "HealthLog wird selbst gehostet: Deine Gesundheitsdaten liegen in der Datenbank deiner eigenen Instanz. Notizen und andere Freitexte, Dokumente, Fragebogen-Antworten, von der KI geschriebene Texte und Zugangs-Tokens sind im Ruhezustand verschlüsselt; Messwerte, Laborwerte, Medikamentennamen und Stimmungswerte werden unverschlüsselt gespeichert und sind so sicher wie dein Server. KI-Funktionen senden Daten nur an den KI-Anbieter, der für dein Konto eingerichtet ist, und es gibt keine Drittanbieter-Analyse deiner Gesundheitsdaten."
|
||
},
|
||
"customMetrics": {
|
||
"sectionTitle": "Eigene Metriken",
|
||
"sectionSubtitle": "Messwerte, die du selbst definierst und verfolgst.",
|
||
"add": "Eigene Metrik hinzufügen",
|
||
"addValue": "Wert hinzufügen",
|
||
"defineTitle": "Eigene Metrik definieren",
|
||
"defineDescription": "Benenne den Messwert, lege seine Einheit fest und optional einen Zielbereich.",
|
||
"editTitle": "Eigene Metrik bearbeiten",
|
||
"edit": "Bearbeiten",
|
||
"delete": "Löschen",
|
||
"deleteConfirmTitle": "Diese eigene Metrik löschen?",
|
||
"deleteConfirmDescription": "Die Metrik wird aus deiner Liste entfernt. Erfasste Werte bleiben erhalten.",
|
||
"deletedToast": "Eigene Metrik gelöscht",
|
||
"deleteError": "Eigene Metrik konnte nicht gelöscht werden",
|
||
"showAllValues": "Alle Werte anzeigen",
|
||
"emptyDescription": "Definiere eigene Messwerte, um sie zu verfolgen und darzustellen.",
|
||
"noValuesYet": "Noch keine Werte",
|
||
"loadError": "Eigene Metriken konnten nicht geladen werden",
|
||
"loadMore": "Weitere Werte laden",
|
||
"showingLatestOf": "Die neuesten {shown} von {total}",
|
||
"backToMeasurements": "Zurück zu den Messwerten",
|
||
"form": {
|
||
"name": "Name",
|
||
"namePlaceholder": "z. B. Griffkraft morgens",
|
||
"unit": "Einheit",
|
||
"unitPlaceholder": "z. B. kg",
|
||
"decimals": "Nachkommastellen",
|
||
"decimalsPlaceholder": "z. B. 1",
|
||
"targetLow": "Zielwert unten",
|
||
"targetLowPlaceholder": "Untere Grenze",
|
||
"targetHigh": "Zielwert oben",
|
||
"targetHighPlaceholder": "Obere Grenze",
|
||
"description": "Beschreibung",
|
||
"descriptionPlaceholder": "Was hier gemessen wird (optional)",
|
||
"targetHint": "Der Zielbereich ist optional und wird als Band im Diagramm dargestellt.",
|
||
"correlationEnabled": "Für Korrelationssuche verwenden",
|
||
"correlationEnabledHint": "Fügt diese Metrik als begrenzten täglichen Verhaltenskanal hinzu. Standardmäßig ist dies ausgeschaltet.",
|
||
"requiredError": "Name und Einheit sind erforderlich",
|
||
"rangeOrderError": "Der untere Zielwert darf den oberen nicht überschreiten",
|
||
"save": "Speichern",
|
||
"savedToast": "Eigene Metrik gespeichert",
|
||
"updatedToast": "Eigene Metrik aktualisiert",
|
||
"saveError": "Eigene Metrik konnte nicht gespeichert werden"
|
||
},
|
||
"entry": {
|
||
"value": "Wert",
|
||
"measuredAt": "Datum",
|
||
"note": "Notiz",
|
||
"addDescription": "Erfasse einen Wert für diese Metrik.",
|
||
"edit": "Wert bearbeiten",
|
||
"editTitle": "Wert bearbeiten",
|
||
"editDescription": "Wert, Datum oder Notiz aktualisieren.",
|
||
"delete": "Wert löschen",
|
||
"deleteConfirmTitle": "Diesen Wert löschen?",
|
||
"deleteConfirmDescription": "Dieser Wert wird endgültig entfernt.",
|
||
"valueError": "Gib einen numerischen Wert ein",
|
||
"timestampError": "Gib ein gültiges Datum ein",
|
||
"savedToast": "Wert erfasst",
|
||
"saveError": "Wert konnte nicht erfasst werden",
|
||
"editedToast": "Wert aktualisiert",
|
||
"editError": "Wert konnte nicht aktualisiert werden",
|
||
"deletedToast": "Wert gelöscht",
|
||
"restoredToast": "Messwert wiederhergestellt",
|
||
"restoreError": "Wiederherstellen fehlgeschlagen",
|
||
"deleteError": "Wert konnte nicht gelöscht werden"
|
||
},
|
||
"chart": {
|
||
"empty": "Keine Werte in diesem Zeitraum",
|
||
"valueLabel": "Wert",
|
||
"range": {
|
||
"30": "30T",
|
||
"90": "90T",
|
||
"365": "1J",
|
||
"all": "Alle"
|
||
}
|
||
},
|
||
"detail": {
|
||
"title": "Eigene Metrik",
|
||
"genericDescription": "Ein Messwert, den du verfolgst. Erfasse Werte, um ihn über die Zeit zu beobachten.",
|
||
"emptyTitle": "Noch keine Werte",
|
||
"emptyDescription": "Erfasse deinen ersten Wert, um diese Metrik darzustellen.",
|
||
"valuesTitle": "{metric} — alle Werte",
|
||
"valuesDescription": "Alle erfassten Werte dieser Metrik.",
|
||
"backToMetric": "Zurück zu {metric}"
|
||
}
|
||
},
|
||
"nutrients": {
|
||
"names": {
|
||
"vitamin_a": "Vitamin A",
|
||
"thiamin": "Thiamin (B1)",
|
||
"riboflavin": "Riboflavin (B2)",
|
||
"niacin": "Niacin (B3)",
|
||
"pantothenic_acid": "Pantothensäure (B5)",
|
||
"vitamin_b6": "Vitamin B6",
|
||
"biotin": "Biotin (B7)",
|
||
"folate": "Folat (B9)",
|
||
"vitamin_b12": "Vitamin B12",
|
||
"vitamin_c": "Vitamin C",
|
||
"vitamin_d": "Vitamin D",
|
||
"vitamin_e": "Vitamin E",
|
||
"vitamin_k": "Vitamin K",
|
||
"calcium": "Calcium",
|
||
"iron": "Eisen",
|
||
"magnesium": "Magnesium",
|
||
"phosphorus": "Phosphor",
|
||
"zinc": "Zink",
|
||
"copper": "Kupfer",
|
||
"manganese": "Mangan",
|
||
"selenium": "Selen",
|
||
"chromium": "Chrom",
|
||
"molybdenum": "Molybdän",
|
||
"iodine": "Jod",
|
||
"water": "Wasser",
|
||
"caffeine": "Koffein"
|
||
},
|
||
"page": {
|
||
"title": "Nährstoffaufnahme",
|
||
"description": "Flüssigkeits- und Vitamin-/Mineralstoffaufnahme aus der Gesundheits-App deines Telefons, plus manuelle Wassereinträge.",
|
||
"moduleOffDescription": "Aktiviere das Nährstoffe-Modul, um Flüssigkeits- und Vitamin-/Mineralstoffaufnahme hier zu sehen. Synchronisierte Werte werden Teil der Aufzeichnung, die der Coach lesen kann.",
|
||
"moduleOffCta": "Nährstoffe aktivieren",
|
||
"emptyTitle": "Noch keine Nährstoffdaten",
|
||
"emptyDescription": "Daten kommen aus der Synchronisierung der Gesundheits-App deines Telefons oder einem manuellen Wassereintrag.",
|
||
"loadError": "Deine Nährstoffdaten konnten nicht geladen werden",
|
||
"lastAttemptTitle": "Eine Synchronisierung ist angekommen, aber nichts konnte gespeichert werden",
|
||
"lastAttemptAt": "Letzter Versuch: {date}",
|
||
"lastAttemptReason": {
|
||
"unitMismatch": "Die übermittelten Werte entsprachen nicht den Einheiten, die diese App für diese Nährstoffe erwartet, daher konnten sie nicht gespeichert werden.",
|
||
"valueOutOfRange": "Die übermittelten Mengen lagen höher, als diese App plausibel speichern kann, daher konnten sie nicht gesichert werden.",
|
||
"dayInvalid": "Die Einträge trugen ein Datum, das der Server nicht akzeptieren konnte. Das kann passieren, wenn Uhrzeit oder Zeitzone auf der sendenden Seite falsch eingestellt sind — das lohnt sich zu prüfen.",
|
||
"upsertFailed": "Diese Einträge haben den Server erreicht, aber ein Problem auf unserer Seite hat verhindert, dass sie gespeichert wurden. Du musst nichts weiter tun.",
|
||
"unknown": "Diese Einträge sind angekommen, konnten aber nicht gespeichert werden."
|
||
}
|
||
},
|
||
"hydration": {
|
||
"referenceMeta": "Richtwert {value} {unit}/Tag · EFSA"
|
||
},
|
||
"caffeine": {
|
||
"ceilingMeta": "Sichere Obergrenze {value} {unit}/Tag · EFSA"
|
||
},
|
||
"micronutrients": {
|
||
"title": "Vitamine & Mineralstoffe",
|
||
"rowMeta": "{days} von {window} Tagen · Richtwert {value} {unit} (EFSA)",
|
||
"rowMetaNoRef": "{days} von {window} Tagen",
|
||
"footer": "{tracked} von {total} erfassten Mikronährstoffen haben Daten in diesem Zeitraum.",
|
||
"emptyTitle": "Noch keine Mikronährstoffdaten synchronisiert",
|
||
"loadError": "Deine Nährstoffdaten konnten nicht geladen werden"
|
||
},
|
||
"sparseNote": "Ein niedriger Wert bedeutet hier meist lückenhafte Erfassung, keinen Mangel — die Tagessummen aus Apple Health spiegeln wider, was deine Apps erfasst haben, nicht die gesamte Nahrungsaufnahme."
|
||
},
|
||
"daily": {
|
||
"line": {
|
||
"score": "Dein Gesundheitsscore heute liegt bei {score}.",
|
||
"allClear": "Heute braucht nichts deine Aufmerksamkeit."
|
||
},
|
||
"push": {
|
||
"title": "Dein Morgenüberblick",
|
||
"bodyProvisional": "{line} · Der Schlaf von letzter Nacht fehlt noch."
|
||
},
|
||
"item": {
|
||
"doseWindow": {
|
||
"title": "Medikament fällig",
|
||
"body": "Eine Dosis ist bald fällig.",
|
||
"bodyNamed": "{name} ist bald fällig.",
|
||
"overdueTitle": "Medikament überfällig",
|
||
"overdueBody": "Eine Dosis ist überfällig.",
|
||
"overdueBodyNamed": "{name} ist überfällig."
|
||
},
|
||
"preventiveCare": {
|
||
"title": "Vorsorge fällig",
|
||
"body": "{label} ist fällig.",
|
||
"bodyManyNamed": "Fällig: {labels}"
|
||
},
|
||
"syncIssue": {
|
||
"title": "Synchronisierung braucht Aufmerksamkeit",
|
||
"body": "{integration} synchronisiert nicht — verbinde neu, um deine Daten aktuell zu halten."
|
||
},
|
||
"coachCheckin": {
|
||
"title": "Zeit, einen Plan anzuschauen",
|
||
"body": "Es ist etwa eine Woche her, seit du diesen Plan gesetzt hast — behalte ihn, passe ihn an oder lass ihn los. Ganz ohne Druck.",
|
||
"bodyPlan": "Vor etwa einer Woche hast du dir vorgenommen: „{plan}“. Behalte es, passe es an oder lass es los — ganz ohne Druck.",
|
||
"adjustPrompt": "Ich möchte meinen Check-in-Plan anpassen.",
|
||
"adjustPromptPlan": "Ich möchte diesen Plan anpassen: „{plan}“"
|
||
},
|
||
"tensionWindow": {
|
||
"title": "Vielleicht eine angespannte Phase",
|
||
"body": {
|
||
"morning": "Dein Puls lag heute Vormittag über längere Zeit über deinem Ruhewert, während du ruhig warst — möglicherweise etwas Anspannung.",
|
||
"afternoon": "Dein Puls lag heute Nachmittag über längere Zeit über deinem Ruhewert, während du ruhig warst — möglicherweise etwas Anspannung.",
|
||
"evening": "Dein Puls lag heute Abend über längere Zeit über deinem Ruhewert, während du ruhig warst — möglicherweise etwas Anspannung.",
|
||
"night": "Dein Puls lag in der Nacht über längere Zeit über deinem Ruhewert, während du ruhig warst — möglicherweise etwas Anspannung."
|
||
}
|
||
},
|
||
"ecgNewRecording": {
|
||
"title": "Neue EKG-Aufzeichnung",
|
||
"body": "Dein Gerät hat ein neues EKG aufgezeichnet — bereit zum Ansehen.",
|
||
"bodyVerdict": "Dein Gerät hat ein neues EKG aufgezeichnet und meldet: {verdict}.",
|
||
"verdict": {
|
||
"irregular": "einen möglichen unregelmäßigen Rhythmus",
|
||
"notDetected": "keinen unregelmäßigen Rhythmus",
|
||
"inconclusive": "ein nicht eindeutiges Ergebnis"
|
||
}
|
||
},
|
||
"sameTimeBaseline": {
|
||
"title": {
|
||
"below": "Hinter deinem üblichen Tempo",
|
||
"above": "Vor deinem üblichen Tempo"
|
||
},
|
||
"body": {
|
||
"below": "Bis {time} stehst du bei {today} Schritten. An einem üblichen Tag sind es um diese Zeit etwa {typical}.",
|
||
"above": "Bis {time} stehst du bei {today} Schritten — mehr als die {typical}, die um diese Zeit für dich üblich sind."
|
||
}
|
||
},
|
||
"upcomingVisit": {
|
||
"title": "Termin steht an",
|
||
"bodyToday": "{what} — heute",
|
||
"bodyTomorrow": "{what} — morgen",
|
||
"bodyDayAfterTomorrow": "{what} — übermorgen"
|
||
}
|
||
},
|
||
"action": {
|
||
"logDose": "Dosis erfassen",
|
||
"reconnect": "Neu verbinden",
|
||
"viewCheckups": "Vorsorge ansehen",
|
||
"checkinKeep": "Behalten",
|
||
"checkinAdjust": "Anpassen",
|
||
"checkinLetGo": "Loslassen",
|
||
"viewMilestone": "Ansehen",
|
||
"viewPulse": "Puls ansehen",
|
||
"viewEcg": "Aufzeichnung ansehen",
|
||
"viewSteps": "Schritte ansehen"
|
||
},
|
||
"today": {
|
||
"scoreLabel": "Gesundheitsscore",
|
||
"deltaVsBaseline": "{delta} ggü. deinem Ausgangswert",
|
||
"deltaFlat": "Im Bereich deines Ausgangswerts",
|
||
"sleepPending": "Der Schlaf von letzter Nacht fehlt noch — der heutige Wert ist vorläufig.",
|
||
"worthALook": "Einen Blick wert",
|
||
"allClear": "Heute braucht nichts deine Aufmerksamkeit.",
|
||
"ringLink": "{metric}-Details öffnen"
|
||
},
|
||
"milestone": {
|
||
"metric": {
|
||
"restingHeartRate": "Ruhepuls",
|
||
"heartRateVariability": "Herzfrequenzvariabilität",
|
||
"respiratoryRate": "Atemfrequenz",
|
||
"weight": "Gewicht",
|
||
"generic": "dieser Wert"
|
||
},
|
||
"record": {
|
||
"title": "Neue Bestmarke: {metric}",
|
||
"body": "Heute ein persönlicher Bestwert für {metric} — ganz ruhig festgehalten, du musst nichts tun."
|
||
},
|
||
"returnToBaseline": {
|
||
"title": "Wieder im Bereich: {metric}",
|
||
"body": "{metric} liegt wieder in deinem gewohnten Bereich. Was auch immer es war — es ist vorbei."
|
||
},
|
||
"sustainedInRange": {
|
||
"week1": {
|
||
"title": "Eine Woche im Bereich",
|
||
"body": "{metric} liegt seit einer Woche in deinem gewohnten Bereich. Schön gleichmäßig."
|
||
},
|
||
"week2": {
|
||
"title": "Zwei Wochen im Bereich",
|
||
"body": "{metric} bleibt seit zwei Wochen in deinem gewohnten Bereich. Ruhig und stetig."
|
||
},
|
||
"week3": {
|
||
"title": "Drei Wochen im Bereich",
|
||
"body": "Drei Wochen, in denen {metric} in deinem gewohnten Bereich liegt. Eine echte ruhige Strecke."
|
||
},
|
||
"week4": {
|
||
"title": "Ein Monat im Bereich",
|
||
"body": "Ein ganzer Monat mit {metric} in deinem gewohnten Bereich. Wunderbar gleichmäßig."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"reportSelection": {
|
||
"leafAnamnesis": "Gesundheitsprofil",
|
||
"groupIdentity": "Stammdaten",
|
||
"groupVitals": "Vitalwerte",
|
||
"groupCardio": "Herz & Kreislauf",
|
||
"groupBody": "Körpermaße",
|
||
"groupSleepRecovery": "Schlaf & Erholung",
|
||
"groupActivity": "Aktivität",
|
||
"groupMobility": "Mobilität & Gang",
|
||
"groupEnvironment": "Umgebung",
|
||
"groupGlucose": "Blutzucker",
|
||
"groupLabs": "Laborwerte",
|
||
"groupMedications": "Medikamente",
|
||
"groupHistory": "Vorerkrankungen & Allergien",
|
||
"groupSensitive": "Sensible Daten",
|
||
"leafPatientIdentity": "Name, Geburtsdatum, Geschlecht, Größe",
|
||
"leafInsurance": "Krankenkasse und Versichertennummer",
|
||
"leafGlucosePanel": "Blutzucker-Panel (Zeit im Zielbereich, GMI, Variabilität)",
|
||
"leafLabResults": "Laborwerte",
|
||
"leafMedicationList": "Medikamentenliste",
|
||
"leafMedicationAdministrations": "Jede erfasste Einnahme",
|
||
"leafMedicationCompliance": "Einnahmetreue",
|
||
"leafGlp1Therapy": "GLP-1-Therapie (Dosisverlauf, Nebenwirkungen)",
|
||
"leafAllergies": "Allergien und Unverträglichkeiten",
|
||
"leafIllnessEpisodes": "Krankheitsepisoden",
|
||
"leafFamilyHistory": "Familienanamnese",
|
||
"leafMood": "Stimmung",
|
||
"leafCycle": "Menstruationszyklus",
|
||
"templateStandard": "Standard-Arztbericht",
|
||
"applyStandard": "{template} übernehmen",
|
||
"standardHint": "Ein Klick füllt aus, was ein normaler Arztbesuch meist braucht. Jeder Eintrag bleibt änderbar.",
|
||
"groupCount": "{on}/{total}",
|
||
"groupDisclosure": "Einträge in {group} anzeigen",
|
||
"sensitiveHint": "Hier ist nie etwas vorausgewählt. Wähle jeden Eintrag selbst.",
|
||
"scopeNone": "Noch nichts ausgewählt. Wähle aus, was enthalten sein soll, oder übernimm den Standardbericht.",
|
||
"scopeCount": "{count} Einträge aus {groups} Bereichen",
|
||
"scopeSensitive": "inkl. {names}",
|
||
"leafVisits": "Arztbesuche",
|
||
"leafSurgicalHistory": "Operationen und Eingriffe",
|
||
"leafImmunizations": "Impfungen",
|
||
"leafEmergency": "Notfalldaten (Blutgruppe, Kontakte, Verfügungen)"
|
||
},
|
||
"recordSharing": {
|
||
"banner": {
|
||
"viewing": "Du bist in der Akte von {name}",
|
||
"readOnly": "Du kannst sie lesen, nicht ändern.",
|
||
"canAdd": "Du kannst etwas hinzufügen, aber nichts ändern oder löschen.",
|
||
"leave": "Zurück zu meiner Akte"
|
||
},
|
||
"switcher": {
|
||
"label": "Akte öffnen",
|
||
"ownRecord": "Meine eigene Akte"
|
||
},
|
||
"switch": {
|
||
"failed": "Die Akte konnte nicht geöffnet werden. Bitte noch einmal versuchen.",
|
||
"noLongerAvailable": "Diese Akte ist nicht mehr für dich freigegeben."
|
||
},
|
||
"unavailable": {
|
||
"title": "Gehört nicht zum geteilten Zugriff",
|
||
"description": "Geteilt wird die Gesundheitsakte selbst, einschließlich der Vorgeschichte unter Anamnese. Kontoeinstellungen, verbundene Dienste, Benachrichtigungen und die KI-Funktionen bleiben bei der Person, der das Konto gehört.",
|
||
"leave": "Zurück zu meiner Akte"
|
||
},
|
||
"state": {
|
||
"active": "Aktiv",
|
||
"pending": "Wartet auf Zustimmung",
|
||
"expired": "Abgelaufen",
|
||
"revoked": "Beendet"
|
||
},
|
||
"row": {
|
||
"readOnly": "Darf die Akte lesen",
|
||
"canWrite": "Darf lesen und Einträge anlegen",
|
||
"canManage": "Darf lesen, Einträge anlegen sowie Einträge ändern und löschen",
|
||
"entireRecord": "Umfasst die gesamte Akte",
|
||
"sections": "Umfasst: {sections}",
|
||
"noSections": "Umfasst nichts: dieser Zugriff öffnet keinen Teil der Akte",
|
||
"invited": "Eingeladen",
|
||
"accepted": "Angenommen",
|
||
"expires": "Läuft ab",
|
||
"lastUsed": "Zuletzt geöffnet",
|
||
"neverUsed": "nie",
|
||
"endedByYou": "Von dir beendet",
|
||
"endedByOwner": "Zurückgezogen",
|
||
"handedBack": "Zurückgegeben",
|
||
"ended": "Beendet"
|
||
},
|
||
"invite": {
|
||
"title": "Jemanden einladen",
|
||
"description": "Vor der Zustimmung wird nichts geteilt.",
|
||
"needsAccount": "Die Person braucht ein eigenes HealthLog-Konto auf dieser Instanz und findet die Einladung dort unter Einstellungen → Geteilter Zugriff.",
|
||
"identifierLabel": "Benutzername oder E-Mail",
|
||
"identifierPlaceholder": "Der Name, mit dem sie sich anmeldet",
|
||
"identifierHint": "Die Person braucht ein Konto auf dieser Instanz. An eine E-Mail-Adresse ohne Registrierung lässt sich keine Einladung schicken.",
|
||
"accessLegend": "Was die Person darf",
|
||
"accessReadLabel": "Darf lesen",
|
||
"accessReadCapability": "Sie kann alles lesen, was von dieser Akte geteilt wird. Hinzufügen oder ändern kann sie nichts.",
|
||
"accessWriteLabel": "Darf lesen und hinzufügen",
|
||
"accessWriteCapability": "Sie kann Einträge hinzufügen, aber nichts ändern oder löschen, auch nicht das, was sie selbst eingetragen hat.",
|
||
"accessWriteDetail": "Sie kann Messwerte, Laborergebnisse, einen neuen Laborwert, einen Krankheitseintrag, eine Nebenwirkung zu einem Medikament und ein neues Medikament hinzufügen sowie eine Dosis als genommen oder ausgelassen markieren. Ändern oder löschen kann sie nichts, auch nicht das Eigene, und eine deiner Erinnerungen verschieben kann sie nicht. Das kannst nur du.",
|
||
"accessManageLabel": "Darf verwalten",
|
||
"accessManageCapability": "Sie kann Einträge anlegen, ändern und löschen, auch solche, die du selbst erfasst hast.",
|
||
"accessManageDetail": "Sie kann außerdem die daraus erzeugten Auswertungen lesen. Deine Anmeldung, deine Sicherheitseinstellungen, deine Verbindungen und den Zugriff anderer Personen kann sie nicht ändern. Du kannst das jederzeit beenden.",
|
||
"manageStepUpNote": "Das geht nur im Browser, und falls du einen zweiten Faktor eingerichtet hast, wird er abgefragt.",
|
||
"scopeLegend": "Was die Person öffnen darf",
|
||
"scopeAllLabel": "Gesamte Akte",
|
||
"scopeAllCapability": "Jeder Teil davon, so wie das Teilen bisher funktioniert hat.",
|
||
"scopeSomeLabel": "Nur die Bereiche, die du auswählst",
|
||
"scopeSomeCapability": "Alles, was du nicht auswählst, bleibt für sie verschlossen.",
|
||
"scopeManageNote": "Verwaltender Zugriff umfasst immer die gesamte Akte.",
|
||
"scopeLeakNote": "Ein Bereich kann in seinen Notizen und Bezeichnungen auch den Rest deiner Gesundheit erwähnen. Wer einen Bereich bekommt, bekommt alles, was darin steht.",
|
||
"scopeAggregateNote": "Die Übersicht auf dem Dashboard, der Health Score und die Tageszusammenfassung erscheinen nur, wenn die gesamte Akte geteilt ist.",
|
||
"scopeDocumentsNote": "Ein Dokument kann alles enthalten. Teile diesen Bereich nur, wenn die Person alles davon lesen darf.",
|
||
"scopeEmptyHint": "Wähle mindestens einen Bereich aus oder teile wieder die gesamte Akte.",
|
||
"scopeChooseHint": "Wähle, ob die gesamte Akte oder nur einzelne Bereiche geteilt werden.",
|
||
"expiresLabel": "Zugriff endet am (optional)",
|
||
"expiresHint": "Leer lassen für Zugriff, der gilt, bis ihn jemand beendet. Ein Datum wird bei jeder Anfrage geprüft, der Zugriff endet also am Ende dieses Tages von selbst.",
|
||
"submit": "Einladung senden",
|
||
"submitting": "Wird gesendet…",
|
||
"sent": "Einladung an {name} gesendet.",
|
||
"errorNoAccount": "Auf dieser Instanz gibt es kein Konto mit diesem Namen.",
|
||
"errorDuplicate": "Dieses Konto hat bereits Zugriff auf deine Akte.",
|
||
"errorSelf": "Das ist dein eigenes Konto.",
|
||
"errorInvalid": "Gib einen Benutzernamen oder eine E-Mail-Adresse ein.",
|
||
"errorRateLimited": "Zu viele Einladungen. Bitte später noch einmal versuchen.",
|
||
"errorFailed": "Die Einladung konnte nicht gesendet werden. Bitte noch einmal versuchen.",
|
||
"errorScope": "So lassen sich diese Bereiche nicht teilen. Wähle mindestens einen Bereich aus oder teile die gesamte Akte.",
|
||
"errorManageBrowserOnly": "Verwaltenden Zugriff kannst du nur im Browser vergeben.",
|
||
"errorStepUp": "Bestätige deinen zweiten Faktor und versuche es erneut.",
|
||
"errorOffline": "Das hat den Server nicht erreicht. Deine Einladung steht noch hier — prüfe deine Verbindung und versuche es erneut."
|
||
},
|
||
"given": {
|
||
"title": "Wer meine Akte öffnen kann",
|
||
"description": "Beendeter Zugriff bleibt in der Liste, damit du immer siehst, wer ihn hatte und wann.",
|
||
"emptyTitle": "Niemand sonst kann deine Akte öffnen",
|
||
"emptyDescription": "Lade oben jemanden ein, wenn diese Person sie lesen können soll.",
|
||
"loadError": "Die Liste konnte nicht geladen werden.",
|
||
"revoke": "Zugriff beenden",
|
||
"withdrawInvite": "Zurückziehen",
|
||
"revokeTitle": "Zugriff von {name} beenden?",
|
||
"revokeBody": "Der Zugriff endet sofort, auch in jedem Browser, in dem deine Akte gerade offen ist. Was bereits gesehen wurde, lässt sich nicht zurückholen. Du kannst jederzeit erneut einladen.",
|
||
"revokeEntriesStay": "Was diese Person eingetragen hat, bleibt in deiner Akte, und du kannst alles davon selbst entfernen.",
|
||
"revokeAttribution": "Wer was eingetragen hat, bleibt {days} Tage lang in deiner Aktivitätsübersicht sichtbar.",
|
||
"revokeConfirm": "Zugriff beenden"
|
||
},
|
||
"received": {
|
||
"title": "Akten, die ich öffnen kann",
|
||
"description": "Eine Einladung gibt dir nichts, bevor du sie annimmst.",
|
||
"emptyTitle": "Niemand hat eine Akte mit dir geteilt",
|
||
"emptyDescription": "Wenn dich jemand einlädt, erscheint die Einladung hier.",
|
||
"loadError": "Die Liste konnte nicht geladen werden.",
|
||
"accept": "Annehmen",
|
||
"accepting": "Wird angenommen…",
|
||
"writeConsent": "Wenn du annimmst, wird das, was du hinzufügst, Teil der Akte von {name}. Ändern oder entfernen kannst du deine Einträge danach nicht mehr; das kann nur {name}.",
|
||
"manageConsent": "Wenn du annimmst, kannst du die Akte von {name} ergänzen und außerdem ändern oder löschen, was schon darin steht, auch Einträge von {name} selbst. Alles, was du tust, steht mit deinem Namen in der Aktivitätsübersicht, und {name} kann deinen Zugriff jederzeit beenden.",
|
||
"open": "Öffnen",
|
||
"renounce": "Zurückgeben",
|
||
"renounceTitle": "Akte von {name} zurückgeben?",
|
||
"renounceBody": "Dein Zugriff endet sofort. Die Person kann dich jederzeit erneut einladen.",
|
||
"renounceConfirm": "Zurückgeben",
|
||
"detail": "Du kannst den Zugriff jederzeit zurückgeben."
|
||
},
|
||
"activity": {
|
||
"title": "Wann meine Akte geöffnet wurde",
|
||
"description": "Jedes Mal, wenn jemand anderes deine Akte geöffnet hat.",
|
||
"retention": "Das umfasst die letzten {days} Tage. Ältere Einträge werden gelöscht.",
|
||
"emptyTitle": "Niemand hat deine Akte geöffnet",
|
||
"emptyDescription": "Zugriffe von anderen erscheinen hier, eine Zeile pro Person und Tag.",
|
||
"loadError": "Die Aktivität konnte nicht geladen werden.",
|
||
"opened": "{name} hat deine Akte {count}× geöffnet",
|
||
"acted": "{name} hat etwas in deiner Akte geändert",
|
||
"deletedAccount": "Ein gelöschtes Konto",
|
||
"truncated": "Diese Liste zeigt die neueste Aktivität, nicht die gesamte."
|
||
},
|
||
"delegate": {
|
||
"addOnlyNote": "Du kannst zu dieser Akte etwas hinzufügen. Einträge ändern oder löschen kann nur {name}."
|
||
},
|
||
"lookingAfter": {
|
||
"kindShared": "Geteilte Akte",
|
||
"kindManaged": "Verwaltetes Profil"
|
||
},
|
||
"managed": {
|
||
"title": "Profile, die du betreust",
|
||
"description": "Gesundheitsakten ohne eigenen Login.",
|
||
"explainer": "Ein verwaltetes Profil ist eine Gesundheitsakte für jemanden, der sich nicht selbst anmeldet — ein Kind oder eine Person, um die du dich kümmerst. Es hat keinen Login und keine E-Mail-Adresse, und du wirst die erste betreuende Person. Später kannst du weitere hinzufügen, und ihr alle könnt in die Akte wechseln, um sie zu pflegen.",
|
||
"nameLabel": "Name",
|
||
"namePlaceholder": "Der Name, an dem du diese Akte erkennst",
|
||
"nameHint": "Bis zu 80 Zeichen. Wird überall dort angezeigt, wo diese Akte auftaucht.",
|
||
"nameRequired": "Gib der Akte einen Namen.",
|
||
"nameTooLong": "Dieser Name ist länger als 80 Zeichen.",
|
||
"dobLabel": "Geburtsdatum (optional)",
|
||
"dobHint": "Lass das Feld leer, wenn du keines hinterlegen willst. Aus einem Jahrgang wird nichts abgeleitet.",
|
||
"localeLabel": "Sprache dieser Akte",
|
||
"localeHint": "Die Sprache für Texte, die in diese Akte geschrieben werden. Deine eigenen Ansichten bleiben in deiner Sprache.",
|
||
"genderLabel": "Geschlecht (optional)",
|
||
"genderHint": "Entscheidet, ob die Zyklus-Funktion für diese Akte zunächst an ist. Jederzeit änderbar.",
|
||
"genderNone": "Keine Angabe",
|
||
"genderMale": "Männlich",
|
||
"genderFemale": "Weiblich",
|
||
"genderOther": "Divers",
|
||
"timezoneHint": "Die Zeitzone, in der die Tage dieser Akte gezählt werden.",
|
||
"timezoneInvalid": "Diese Zeitzone kennt der Browser nicht.",
|
||
"create": "Profil anlegen",
|
||
"creating": "Wird angelegt…",
|
||
"created": "{name} ist eingerichtet. Über das Kontomenü kannst du in diese Akte wechseln.",
|
||
"errorStepUp": "Bestätige deinen zweiten Faktor und versuche es erneut.",
|
||
"errorOffline": "Das hat den Server nicht erreicht. Es hat sich nichts geändert — prüfe deine Verbindung und versuche es erneut.",
|
||
"errorInvalid": "Der Server hat diese Angaben abgelehnt. Prüfe Name, Datum und Zeitzone.",
|
||
"errorFailed": "Das Profil konnte nicht angelegt werden.",
|
||
"edit": "Bearbeiten",
|
||
"editSave": "Änderungen speichern",
|
||
"editSaving": "Wird gespeichert…",
|
||
"editLoadError": "Diese Angaben konnten nicht geladen werden.",
|
||
"editErrorGone": "Diese Akte gibt es nicht mehr, oder du betreust sie nicht mehr.",
|
||
"editErrorFailed": "Die Änderungen konnten nicht gespeichert werden.",
|
||
"delete": "Profil löschen",
|
||
"deleteTitle": "{name} löschen?",
|
||
"deleteBody": "Alles, was für {name} erfasst wurde, verschwindet mit dem Profil — Messwerte, Medikamente, Dokumente und Notizen. Das lässt sich nicht rückgängig machen.",
|
||
"deleteGuardiansOne": "{count} Person betreut diese Akte derzeit und verliert sie.",
|
||
"deleteGuardiansFew": "{count} Personen betreuen diese Akte derzeit und verlieren sie.",
|
||
"deleteGuardiansOther": "{count} Personen betreuen diese Akte derzeit und verlieren sie.",
|
||
"deleteFloorNote": "Das ist auch der Ausweg, wenn du die letzte betreuende Person bist: Du darfst die Akte beenden, aber nicht ohne Betreuung zurücklassen.",
|
||
"deleteConfirm": "Profil löschen",
|
||
"guardiansTitle": "Wer sich um {name} kümmert",
|
||
"guardianYou": "(du)",
|
||
"guardianSince": "Betreut diese Akte seit {date}",
|
||
"guardianPending": "Eingeladen am {date}, noch nicht angenommen",
|
||
"guardianRemove": "Zugriff beenden",
|
||
"guardianRemoveTitle": "Zugriff von {name} beenden?",
|
||
"guardianRemoveBody": "{name} kann {profile} dann nicht mehr öffnen. Was diese Person eingetragen hat, bleibt in der Akte.",
|
||
"guardianWithdrawBody": "Die Einladung an {name} wird zurückgezogen. Die Person hat {profile} nie geöffnet, in der Akte ändert sich nichts.",
|
||
"guardianRemoveConfirm": "Zugriff beenden",
|
||
"soleGuardian": "Du bist die einzige Person, die sich um {name} kümmert — hier gibt es also keinen Zugriff, den du beenden könntest. Lade jemanden ein und warte auf die Annahme, gib deinen eigenen Zugriff unter „Akten, die ich öffnen kann“ zurück, oder lösche das Profil.",
|
||
"guardianInviteLabel": "Weitere betreuende Person einladen",
|
||
"guardianInvite": "Einladung senden",
|
||
"guardianInviting": "Wird gesendet…",
|
||
"guardianInvited": "Einladung an {name} gesendet.",
|
||
"guardianExpiresHint": "Optional. Der Zugriff endet am Ende dieses Tages in deiner Zeitzone.",
|
||
"guardianPendingNote": "Eine eingeladene Person zählt erst, wenn sie annimmt. Bis dahin bist du weiterhin die letzte, und die Rückgabe deines eigenen Zugriffs wird weiterhin abgelehnt.",
|
||
"guardianErrorDuplicate": "Dieses Konto hat bereits Zugriff auf diese Akte.",
|
||
"guardianErrorManagedInvitee": "Ein verwaltetes Profil kann keine andere Akte betreuen. Lade ein Konto ein, das sich anmeldet.",
|
||
"guardianErrorNoAccount": "Auf dieser Instanz gibt es kein Konto mit diesem Namen oder dieser E-Mail-Adresse.",
|
||
"guardianErrorRateLimit": "Zu viele Einladungen in der letzten Stunde. Warte etwas und versuche es erneut.",
|
||
"guardianErrorFailed": "Die Einladung konnte nicht gesendet werden.",
|
||
"errorMfaRequired": "Dafür ist ein zweiter Faktor nötig, und dein Konto hat noch keinen. Richte unter Einstellungen → Sicherheit einen ein und versuche es dann erneut.",
|
||
"rosterLoadError": "Es ließ sich nicht laden, wer sich um diese Akte kümmert.",
|
||
"errorRateLimit": "Zu viele Profile in der letzten Stunde angelegt. Warte etwas und versuche es erneut."
|
||
},
|
||
"toast": {
|
||
"savedTo": "In der Akte von {name} gespeichert"
|
||
},
|
||
"activityVerb": {
|
||
"measurementCreate": "{name} hat einen Messwert eingetragen",
|
||
"labResultCreate": "{name} hat einen Laborwert eingetragen",
|
||
"allergyCreate": "{name} hat eine Allergie eingetragen",
|
||
"familyHistoryCreate": "{name} hat einen Eintrag zur Familienanamnese angelegt",
|
||
"illnessEpisodeCreate": "{name} hat eine Erkrankung angelegt",
|
||
"biomarkerCreate": "{name} hat einen Biomarker angelegt",
|
||
"customMetricEntryCreate": "{name} hat einen eigenen Messwert eingetragen",
|
||
"medicationSideEffectCreate": "{name} hat eine Nebenwirkung notiert",
|
||
"medicationCreate": "{name} hat ein Medikament angelegt",
|
||
"medicationIntake": "{name} hat eine Dosis eingetragen",
|
||
"medicationIntakeRefused": "{name} wollte eine Dosis ändern oder eine Erinnerung verschieben und wurde abgewiesen",
|
||
"measurementUpdate": "{name} hat einen Messwert geändert",
|
||
"measurementDelete": "{name} hat einen Messwert gelöscht",
|
||
"measurementDeleteBulk": "{name} hat mehrere Messwerte auf einmal gelöscht",
|
||
"measurementRestore": "{name} hat einen Messwert wiederhergestellt",
|
||
"measurementReminderCreate": "{name} hat eine Messerinnerung angelegt",
|
||
"measurementReminderUpdate": "{name} hat eine Messerinnerung geändert",
|
||
"measurementReminderDelete": "{name} hat eine Messerinnerung gelöscht",
|
||
"measurementReminderComplete": "{name} hat eine Messerinnerung erledigt",
|
||
"measurementReminderSatisfy": "{name} hat eine Messerinnerung abgehakt",
|
||
"measurementReminderSkip": "{name} hat eine Messerinnerung übersprungen",
|
||
"measurementReminderSnooze": "{name} hat eine Messerinnerung verschoben",
|
||
"labResultUpdate": "{name} hat einen Laborwert geändert",
|
||
"labResultDelete": "{name} hat einen Laborwert gelöscht",
|
||
"labResultRestore": "{name} hat einen Laborwert wiederhergestellt",
|
||
"biomarkerUpdate": "{name} hat einen Biomarker geändert",
|
||
"biomarkerDelete": "{name} hat einen Biomarker gelöscht",
|
||
"allergyUpdate": "{name} hat eine Allergie geändert",
|
||
"allergyDelete": "{name} hat eine Allergie gelöscht",
|
||
"familyHistoryUpdate": "{name} hat einen Eintrag zur Familienanamnese geändert",
|
||
"familyHistoryDelete": "{name} hat einen Eintrag zur Familienanamnese gelöscht",
|
||
"illnessEpisodeUpdate": "{name} hat einen Krankheitseintrag geändert",
|
||
"illnessEpisodeDelete": "{name} hat einen Krankheitseintrag gelöscht",
|
||
"illnessEpisodeResolve": "{name} hat eine Erkrankung als beendet markiert",
|
||
"illnessEpisodeRestore": "{name} hat einen Krankheitseintrag wiederhergestellt",
|
||
"encounterVisitCreate": "{name} hat einen Arztbesuch angelegt",
|
||
"encounterVisitUpdate": "{name} hat einen Arztbesuch bearbeitet",
|
||
"encounterVisitDelete": "{name} hat einen Arztbesuch gelöscht",
|
||
"encounterVisitRestore": "{name} hat einen Arztbesuch wiederhergestellt",
|
||
"vaccinationRecordCreate": "{name} hat eine Impfung eingetragen",
|
||
"vaccinationRecordUpdate": "{name} hat eine Impfung bearbeitet",
|
||
"vaccinationRecordDelete": "{name} hat eine Impfung gelöscht",
|
||
"vaccinationRecordRestore": "{name} hat eine Impfung wiederhergestellt",
|
||
"practitionerContactCreate": "{name} hat eine Praxis zum Adressbuch hinzugefügt",
|
||
"practitionerContactUpdate": "{name} hat einen Adressbucheintrag bearbeitet",
|
||
"practitionerContactDelete": "{name} hat einen Adressbucheintrag gelöscht",
|
||
"practitionerContactRestore": "{name} hat einen Adressbucheintrag wiederhergestellt",
|
||
"illnessDayLogUpsert": "{name} hat einen Krankheitstag erfasst",
|
||
"medicationUpdate": "{name} hat ein Medikament geändert",
|
||
"medicationDelete": "{name} hat ein Medikament gelöscht",
|
||
"medicationGlp1Update": "{name} hat eine GLP-1-Therapie geändert",
|
||
"medicationScheduleCreate": "{name} hat einen Einnahmeplan angelegt",
|
||
"medicationScheduleUpdate": "{name} hat einen Einnahmeplan geändert",
|
||
"medicationScheduleDelete": "{name} hat einen Einnahmeplan gelöscht",
|
||
"medicationInventoryCreate": "{name} hat eine Packung angelegt",
|
||
"medicationInventoryUpdate": "{name} hat eine Packung geändert",
|
||
"medicationInventoryDelete": "{name} hat eine Packung gelöscht",
|
||
"medicationSideEffectDelete": "{name} hat eine Nebenwirkung gelöscht",
|
||
"medicationIntakeUpdate": "{name} hat eine Einnahme geändert",
|
||
"medicationIntakeDelete": "{name} hat eine Einnahme gelöscht",
|
||
"medicationIntakeBulkDelete": "{name} hat mehrere Einnahmen auf einmal gelöscht",
|
||
"medicationIntakePurge": "{name} hat die gesamte Einnahmehistorie eines Medikaments gelöscht",
|
||
"medicationIntakeImport": "{name} hat einen Einnahme-Import für ein Medikament gestartet",
|
||
"medicationIntakeHistoryImport": "{name} hat einen Import der Einnahmehistorie gestartet",
|
||
"moodEntryCreate": "{name} hat einen Stimmungseintrag angelegt",
|
||
"moodEntryUpdate": "{name} hat einen Stimmungseintrag geändert",
|
||
"moodEntryDelete": "{name} hat einen Stimmungseintrag gelöscht",
|
||
"moodDeleteBulk": "{name} hat mehrere Stimmungseinträge auf einmal gelöscht",
|
||
"moodRestore": "{name} hat einen Stimmungseintrag wiederhergestellt",
|
||
"mentalHealthCreate": "{name} hat ein Fragebogenergebnis erfasst",
|
||
"cycleDelete": "{name} hat einen Zyklus gelöscht",
|
||
"cycleDayLogUpsert": "{name} hat einen Zyklustag erfasst",
|
||
"cycleDayLogUpdate": "{name} hat einen Zyklustag geändert",
|
||
"cycleDayLogDelete": "{name} hat einen Zyklustag gelöscht",
|
||
"cyclePeriodBoundary": "{name} hat den Beginn oder das Ende einer Periode geändert",
|
||
"cycleSymptomCreate": "{name} hat ein Zyklussymptom angelegt",
|
||
"nutrientWaterWrite": "{name} hat die Trinkmenge erfasst",
|
||
"healthRecordExport": "{name} hat die Akte exportiert",
|
||
"rejectedMeasurementQuery": "{name} hat eine Messwert-Suche gesendet, die diese Akte nicht lesen konnte",
|
||
"rejectedDoseQuery": "{name} hat eine Einnahme-Suche gesendet, die diese Akte nicht lesen konnte",
|
||
"rejectedMoodQuery": "{name} hat eine Stimmungs-Suche gesendet, die diese Akte nicht lesen konnte",
|
||
"rejectedMeasurementCreate": "{name} wollte einen Messwert eintragen und wurde abgewiesen",
|
||
"rejectedMeasurementBatch": "{name} wollte mehrere Messwerte eintragen und wurde abgewiesen",
|
||
"rejectedMeasurementUpdate": "{name} wollte einen Messwert ändern und wurde abgewiesen",
|
||
"rejectedLabCreate": "{name} wollte einen Laborwert eintragen und wurde abgewiesen",
|
||
"rejectedLabUpdate": "{name} wollte einen Laborwert ändern und wurde abgewiesen",
|
||
"rejectedBiomarkerCreate": "{name} wollte einen Biomarker anlegen und wurde abgewiesen",
|
||
"rejectedBiomarkerUpdate": "{name} wollte einen Biomarker ändern und wurde abgewiesen",
|
||
"rejectedReminderCreate": "{name} wollte eine Messerinnerung anlegen und wurde abgewiesen",
|
||
"rejectedReminderUpdate": "{name} wollte eine Messerinnerung ändern und wurde abgewiesen",
|
||
"rejectedMoodCreate": "{name} wollte einen Stimmungseintrag anlegen und wurde abgewiesen",
|
||
"rejectedMoodUpdate": "{name} wollte einen Stimmungseintrag ändern und wurde abgewiesen",
|
||
"rejectedDoseCreate": "{name} wollte eine Einnahme eintragen und wurde abgewiesen",
|
||
"rejectedDoseUpdate": "{name} wollte eine Einnahme ändern und wurde abgewiesen",
|
||
"rejectedDoseImport": "{name} wollte Einnahmen importieren und wurde abgewiesen",
|
||
"rejectedTrackedValue": "{name} wollte einen eigenen Messwert eintragen und wurde abgewiesen",
|
||
"deniedDoseImport": "Ein von {name} gestarteter Einnahme-Import konnte nicht eingereiht werden",
|
||
"anamnesisFactCreate": "{name} hat einen Fakt zur Vorgeschichte eingetragen",
|
||
"customMetricCreate": "{name} hat eine eigene Messgröße angelegt",
|
||
"customMetricUpdate": "{name} hat eine eigene Messgröße geändert",
|
||
"customMetricDelete": "{name} hat eine eigene Messgröße gelöscht",
|
||
"documentStore": "{name} hat ein Dokument hinzugefügt",
|
||
"documentUpdate": "{name} hat ein Dokument geändert",
|
||
"documentDiscard": "{name} hat ein Dokument verworfen",
|
||
"medicationIntakeImportFinished": "Der von {name} gestartete Einnahme-Import ist fertig",
|
||
"medicationOneShotReconciled": "Ein einmaliges Medikament wurde nach einer Einnahme von {name} geöffnet oder geschlossen",
|
||
"vaccinationBoosterPlanned": "{name} hat eine Auffrischung geplant",
|
||
"medicationCategoryCreate": "{name} hat eine Medikamentenkategorie angelegt",
|
||
"symptomEventCreate": "{name} hat ein Symptom erfasst",
|
||
"symptomEventUpdate": "{name} hat einen Symptom-Eintrag bearbeitet",
|
||
"symptomEventDelete": "{name} hat einen Symptom-Eintrag gelöscht",
|
||
"symptomDefinitionCreate": "{name} hat ein Symptom angelegt",
|
||
"symptomDefinitionUpdate": "{name} hat ein Symptom geändert",
|
||
"symptomDefinitionDelete": "{name} hat ein Symptom entfernt"
|
||
},
|
||
"section": {
|
||
"measurements": {
|
||
"label": "Messwerte",
|
||
"detail": "Gewicht, Blutdruck, Puls, Glukose, Schlaf, Training und die Werte, die du selbst verfolgst."
|
||
},
|
||
"medications": {
|
||
"label": "Medikamente",
|
||
"detail": "Die Medikamentenliste, ihre Zeitpläne, eingenommene Dosen, Nebenwirkungen und der Bestand."
|
||
},
|
||
"labs": {
|
||
"label": "Laborwerte",
|
||
"detail": "Laborergebnisse und die Liste der Kennwerte dahinter."
|
||
},
|
||
"profile": {
|
||
"label": "Gesundheitliche Vorgeschichte",
|
||
"detail": "Allergien, Familienanamnese, die Angaben in deinem Gesundheitsprofil, Arztbesuche und Praxen sowie deine Impfungen."
|
||
},
|
||
"illness": {
|
||
"label": "Krankheiten",
|
||
"detail": "Krankheitsverläufe und die Tageseinträge darunter."
|
||
},
|
||
"mind": {
|
||
"label": "Stimmung und Psyche",
|
||
"detail": "Stimmungseinträge und der Verlauf der psychologischen Fragebögen. Ein ausgefüllter Fragebogen legt seinen Summenwert zusätzlich als Messwert ab."
|
||
},
|
||
"cycle": {
|
||
"label": "Zyklus",
|
||
"detail": "Die Zyklusaufzeichnung."
|
||
},
|
||
"documents": {
|
||
"label": "Dokumente",
|
||
"detail": "Alles, was im Dokumententresor liegt."
|
||
}
|
||
},
|
||
"actionError": {
|
||
"retry": "Erneut versuchen",
|
||
"offline": "Das hat den Server nicht erreicht. Es hat sich nichts geändert — prüfe deine Verbindung und versuche es erneut.",
|
||
"rateLimited": "Zu viele Versuche hintereinander. Warte eine Minute und versuche es erneut.",
|
||
"acceptExpired": "Diese Einladung ist abgelaufen. Bitte um eine neue.",
|
||
"acceptWithdrawn": "Diese Einladung wurde zurückgezogen.",
|
||
"acceptNotPending": "Diese Einladung wurde bereits angenommen.",
|
||
"acceptNotFound": "Diese Einladung gibt es nicht mehr.",
|
||
"acceptFailed": "Die Einladung konnte nicht angenommen werden.",
|
||
"lastGuardian": "Diese Person kümmert sich als Einzige um dieses Profil, deshalb kann der Zugriff noch nicht enden. Füge zuerst eine weitere betreuende Person hinzu oder lösche das Profil.",
|
||
"alreadyEnded": "Dieser Zugriff ist bereits beendet.",
|
||
"notFound": "Diesen Zugriff gibt es nicht mehr.",
|
||
"revokeFailed": "Der Zugriff konnte nicht beendet werden.",
|
||
"renounceFailed": "Der Zugriff konnte nicht zurückgegeben werden.",
|
||
"profileNotFound": "Dieses Profil gibt es nicht mehr — es wurde vielleicht schon gelöscht, oder dein Zugriff darauf ist beendet.",
|
||
"deleteProfileFailed": "Das Profil konnte nicht gelöscht werden.",
|
||
"removeGuardianFailed": "Dieser Zugriff konnte nicht beendet werden."
|
||
},
|
||
"anamnesis": {
|
||
"relativeNote": "Ein Eintrag zur Familienanamnese beschreibt die Angehörigen dieser Person. Trage ihn nur ein, wenn sie das hier festgehalten haben möchte."
|
||
}
|
||
},
|
||
"encounters": {
|
||
"kind": {
|
||
"routine": "Routinetermin",
|
||
"acute": "Akuttermin",
|
||
"specialist": "Facharzttermin",
|
||
"preventive": "Vorsorgetermin",
|
||
"emergency": "Notfall",
|
||
"hospital": "Krankenhaus",
|
||
"therapy": "Therapietermin",
|
||
"other": "Arzttermin",
|
||
"procedure": "Eingriff oder Operation"
|
||
},
|
||
"laterality": {
|
||
"left": "Links",
|
||
"right": "Rechts",
|
||
"both": "Beidseitig",
|
||
"none": "Keine Angabe"
|
||
},
|
||
"bodySiteWithSide": "{site} · {side}",
|
||
"sectionTitle": "Termine",
|
||
"sectionDescription": "Arztbesuche und gebuchte Termine an einem Ort.",
|
||
"add": "Termin",
|
||
"loadError": "Termine konnten nicht geladen werden.",
|
||
"emptyTitle": "Noch kein Termin erfasst",
|
||
"emptyDescription": "Ein Datum genügt. Alles andere ist freiwillig.",
|
||
"upcomingHeading": "Anstehend",
|
||
"pastHeading": "Vergangen",
|
||
"createTitle": "Termin erfassen",
|
||
"editTitle": "Termin bearbeiten",
|
||
"formDescription": "Nur das Datum ist Pflicht.",
|
||
"created": "Termin gespeichert",
|
||
"updated": "Termin aktualisiert",
|
||
"saveFailed": "Termin konnte nicht gespeichert werden.",
|
||
"checkupNotClosed": "Termin gespeichert. Die Vorsorge bleibt offen — dafür reicht deine Freigabe nicht.",
|
||
"status": {
|
||
"planned": "Geplant",
|
||
"done": "Stattgefunden",
|
||
"cancelled": "Abgesagt",
|
||
"noShow": "Nicht wahrgenommen"
|
||
},
|
||
"card": {
|
||
"documentCount": "verknüpfte Dokumente",
|
||
"labCount": "verknüpfte Laborwerte",
|
||
"conditionCount": "verknüpfte Erkrankungen"
|
||
},
|
||
"form": {
|
||
"date": "Datum und Uhrzeit",
|
||
"dateDerivesStatusHint": "Ein Datum in der Zukunft ist ein gebuchter Termin.",
|
||
"status": "Status",
|
||
"practitioner": "Praxis oder Arzt",
|
||
"practitionerHint": "Optional — du kannst den Namen später nachtragen.",
|
||
"practitionerNone": "Keine Angabe",
|
||
"practitionerSearch": "Name oder Praxis suchen",
|
||
"practitionerNoMatch": "Kein Eintrag gefunden.",
|
||
"practitionerAdd": "Neu anlegen",
|
||
"practitionerClear": "Auswahl entfernen",
|
||
"kind": "Art",
|
||
"reason": "Anlass",
|
||
"outcome": "Ergebnis",
|
||
"outcomeReveal": "Ergebnis eintragen",
|
||
"bodySite": "Körperstelle",
|
||
"bodySiteHint": "Zum Beispiel Knie oder Gallenblase.",
|
||
"laterality": "Seite",
|
||
"linkDocuments": "Dokumente",
|
||
"linkLabResults": "Laborwerte",
|
||
"linkConditions": "Erkrankungen",
|
||
"linkNothingToOffer": "Nichts zum Verknüpfen vorhanden."
|
||
},
|
||
"deleteTitle": "Termin löschen?",
|
||
"deleteDescription": "Der Eintrag wird entfernt. Ist der Termin gebucht, entfällt auch die Erinnerung dazu.",
|
||
"deleteFailed": "Termin konnte nicht gelöscht werden.",
|
||
"suggestion": {
|
||
"single": "Gehört zu diesem Termin?",
|
||
"choose": "Zu welchem Termin gehört das?"
|
||
},
|
||
"episodeCard": {
|
||
"title": "Termine dazu",
|
||
"emptyLine": "Noch kein Termin mit dieser Erkrankung verknüpft.",
|
||
"add": "Termin hinzufügen"
|
||
},
|
||
"dashboard": {
|
||
"nextVisit": "Nächster Termin: {what} am {when}"
|
||
},
|
||
"procedures": {
|
||
"title": "Eingriffe und Operationen",
|
||
"description": "Alle Eingriffe und Operationen, die du hattest, die neuesten zuerst.",
|
||
"add": "Eingriff",
|
||
"searchLabel": "Nach Körperstelle filtern",
|
||
"searchPlaceholder": "Zum Beispiel Knie",
|
||
"sitesLabel": "Körperstellen",
|
||
"allSites": "Alle",
|
||
"count": "{shown} von {total}",
|
||
"emptyTitle": "Noch kein Eingriff erfasst",
|
||
"emptyDescription": "Erfasse einen Termin der Art Eingriff oder Operation, oder stelle einen vorhandenen Termin darauf um.",
|
||
"noMatchTitle": "Nichts passt zu diesem Filter",
|
||
"clearFilter": "Filter zurücksetzen",
|
||
"loadError": "Die Eingriffe konnten nicht geladen werden."
|
||
}
|
||
},
|
||
"checkups": {
|
||
"viewSwitchLabel": "Vorsorge, Termine, Eingriffe oder Körperstellen anzeigen",
|
||
"tabVorsorge": "Vorsorge",
|
||
"tabVisits": "Termine",
|
||
"tabProcedures": "Eingriffe",
|
||
"tabBodySites": "Körperstellen"
|
||
},
|
||
"practitioners": {
|
||
"title": "Praxen und Ärzte",
|
||
"description": "Dein eigenes Adressbuch — einmal tippen, überall auswählen.",
|
||
"linkLabel": "Adressbuch",
|
||
"add": "Eintrag",
|
||
"searchPlaceholder": "Name, Praxis oder Fachrichtung suchen",
|
||
"loadError": "Adressbuch konnte nicht geladen werden.",
|
||
"emptyTitle": "Noch kein Eintrag",
|
||
"emptyDescription": "Lege eine Praxis an, damit du sie beim Termin auswählen kannst.",
|
||
"noMatchTitle": "Kein Treffer",
|
||
"noMatchDescription": "Zu dieser Suche gibt es keinen Eintrag.",
|
||
"createTitle": "Eintrag anlegen",
|
||
"editTitle": "Eintrag bearbeiten",
|
||
"formDescription": "Nur der Name ist Pflicht.",
|
||
"name": "Name",
|
||
"specialty": "Fachrichtung",
|
||
"practice": "Praxis",
|
||
"location": "Adresse",
|
||
"phone": "Telefon",
|
||
"note": "Notiz",
|
||
"noteHint": "Verschlüsselt gespeichert.",
|
||
"saveFailed": "Eintrag konnte nicht gespeichert werden.",
|
||
"deleteTitle": "Eintrag löschen?",
|
||
"deleteDescription": "Deine bisherigen Termine bleiben erhalten und behalten diesen Namen.",
|
||
"deleteFailed": "Eintrag konnte nicht gelöscht werden.",
|
||
"noSpecialtyGroup": "Ohne Fachrichtung"
|
||
},
|
||
"links": {
|
||
"picker": {
|
||
"add": "Hinzufügen",
|
||
"done": "Fertig",
|
||
"selectAll": "Alle auswählen",
|
||
"searchPlaceholder": "Suchen",
|
||
"searchNoMatch": "Kein Treffer",
|
||
"suggested": "Um dieses Datum",
|
||
"loadError": "Die Liste konnte nicht geladen werden.",
|
||
"removeNamed": "{name} entfernen",
|
||
"removed": "Verknüpfung mit {name} gelöst"
|
||
}
|
||
},
|
||
"bodySites": {
|
||
"title": "Körperstellen",
|
||
"description": "Eingriffe und Erkrankungen nach der Stelle am Körper.",
|
||
"loadError": "Die Körperstellen konnten nicht geladen werden.",
|
||
"emptyTitle": "Noch keine Körperstelle erfasst",
|
||
"emptyDescription": "Gib bei einem Eingriff oder einer Erkrankung eine Körperstelle an, dann erscheint sie hier.",
|
||
"sitesLabel": "Körperstellen",
|
||
"sidesLabel": "Seite",
|
||
"allSides": "Alle Seiten",
|
||
"pickPrompt": "Wähle eine Stelle, um zu sehen, was dazu erfasst ist.",
|
||
"noMatchTitle": "Auf dieser Seite ist nichts erfasst",
|
||
"visitsTitle": "Eingriffe und Termine",
|
||
"conditionsTitle": "Erkrankungen",
|
||
"hiddenDocument": "Ein Dokument, das nicht mit dir geteilt ist",
|
||
"hiddenLabResult": "Ein Laborwert, der nicht mit dir geteilt ist",
|
||
"hiddenCondition": "Eine Erkrankung, die nicht mit dir geteilt ist",
|
||
"hiddenVisit": "Ein Termin, der nicht mit dir geteilt ist",
|
||
"linkedLabel": "Verknüpfte Einträge",
|
||
"conditionSince": "Seit {onset}",
|
||
"conditionDates": "{onset} bis {resolved}"
|
||
},
|
||
"aiRuns": {
|
||
"backgroundDocument": "Wird im Hintergrund gelesen. Du kannst die Seite verlassen; das Ergebnis wird beim Dokument gespeichert.",
|
||
"backgroundScan": "Wird im Hintergrund gelesen. Mit einem langsamen Modell kann das ein paar Minuten dauern.",
|
||
"waitingForWorker": "Warte auf den Hintergrunddienst. Ändert sich das nicht, läuft der Worker auf dem Server vielleicht nicht.",
|
||
"errorWorkerUnavailable": "Der Hintergrunddienst ist gerade nicht erreichbar. Versuch es gleich noch einmal oder bitte die Person, die den Server betreibt, ihn zu prüfen.",
|
||
"errorTimedOut": "Das Lesen hat länger gedauert, als deine KI-Antwortzeit erlaubt. Versuch es noch einmal oder erhöhe die Antwortzeit in den KI-Einstellungen."
|
||
},
|
||
"symptoms": {
|
||
"add": "Neues Symptom",
|
||
"nameLabel": "Name",
|
||
"namePlaceholder": "z. B. Aura",
|
||
"iconLabel": "Symbol",
|
||
"icons": {
|
||
"Tag": "Etikett",
|
||
"Activity": "Aktivität",
|
||
"Heart": "Herz",
|
||
"HeartPulse": "Herzschlag",
|
||
"Brain": "Gehirn",
|
||
"Zap": "Blitz",
|
||
"Flame": "Flamme",
|
||
"Snowflake": "Schneeflocke",
|
||
"Droplet": "Tropfen",
|
||
"CircleDot": "Punkt",
|
||
"BatteryLow": "Leerer Akku",
|
||
"MoonStar": "Mond und Stern",
|
||
"PersonStanding": "Person",
|
||
"Drama": "Masken",
|
||
"Frown": "Trauriges Gesicht",
|
||
"Cookie": "Keks",
|
||
"Soup": "Suppe",
|
||
"Pill": "Tablette",
|
||
"Thermometer": "Fieberthermometer",
|
||
"Stethoscope": "Stethoskop"
|
||
},
|
||
"limitReached": "Du hast 8 Symptome. Blende eins aus, um ein neues anzulegen.",
|
||
"saveError": "Das Symptom konnte nicht gespeichert werden. Bitte versuch es noch einmal.",
|
||
"nameRequired": "Gib dem Symptom einen Namen.",
|
||
"unreadableLabel": "Unlesbares Symptom",
|
||
"intensityPill": "{value}/10",
|
||
"entry": {
|
||
"sheetTitle": "Symptom erfassen",
|
||
"sheetDescription": "Eines deiner eigenen Symptome, wie stark und wann.",
|
||
"symptom": "Symptom",
|
||
"symptomRequired": "Wähle ein Symptom.",
|
||
"intensity": "Stärke",
|
||
"intensityRequired": "Gib an, wie stark es war.",
|
||
"intensityUnset": "Nicht gesetzt",
|
||
"anchorLow": "Keine",
|
||
"anchorHigh": "Stärkste vorstellbare",
|
||
"intensityValueText": "{value} von {max} ({low} bis {high})",
|
||
"when": "Wann",
|
||
"during": "Während einer Erkrankung",
|
||
"duringNone": "Nicht verknüpft",
|
||
"note": "Notiz",
|
||
"notePlaceholder": "Was war sonst noch?",
|
||
"reset": "Formular zurücksetzen",
|
||
"emptyHint": "Leg dein erstes Symptom an, zum Beispiel Aura oder Kopfschmerz.",
|
||
"emptyHintNoManage": "Für diesen Datensatz sind noch keine Symptome angelegt.",
|
||
"limitHint": "Bis zu {limit} Symptome. Blende auf der Krankheitsseite eins aus, um ein neues anzulegen."
|
||
},
|
||
"section": {
|
||
"title": "Deine Symptome",
|
||
"log": "Erfassen",
|
||
"loadError": "Deine Symptome konnten nicht geladen werden.",
|
||
"summaryOne": "Einmal in 30 Tagen, {max}/10, zuletzt {date}",
|
||
"summaryFew": "{count}-mal in 30 Tagen, bis {max}/10, zuletzt {date}",
|
||
"summaryOther": "{count}-mal in 30 Tagen, bis {max}/10, zuletzt {date}",
|
||
"summaryNoneRecent": "Nicht in den letzten 30 Tagen, zuletzt {date}",
|
||
"summaryNever": "Noch nicht erfasst",
|
||
"menuLabel": "Optionen für {symptom}",
|
||
"eventMenuLabel": "Optionen für diesen Eintrag {symptom}",
|
||
"hide": "Ausblenden",
|
||
"show": "Wieder einblenden",
|
||
"deleteTitle": "Symptom löschen?",
|
||
"deleteBody": "„{symptom}“ und alle Einträge dazu werden gelöscht. Um den Verlauf zu behalten, blende es stattdessen aus.",
|
||
"deleteEventTitle": "Eintrag löschen?",
|
||
"deleteEventBody": "Dieser Eintrag wird gelöscht.",
|
||
"hiddenOne": "Ausgeblendet (1)",
|
||
"hiddenFew": "Ausgeblendet ({count})",
|
||
"hiddenOther": "Ausgeblendet ({count})",
|
||
"recent": "Letzte 30 Tage",
|
||
"recentEmpty": "In den letzten 30 Tagen nichts erfasst.",
|
||
"editEventTitle": "{symptom} bearbeiten",
|
||
"editSymptomTitle": "Symptom bearbeiten"
|
||
},
|
||
"episode": {
|
||
"title": "Erfasste Symptome",
|
||
"filed": "zu dieser Erkrankung erfasst"
|
||
}
|
||
}
|
||
}
|