mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-10 05:12:14 +00:00
i18n: unify action verbs, user noun, adherence term, loading voice, and ellipsis
Sweep the DE bundle onto one word per concept: Nutzer (was Benutzer), Hinzufügen for add actions (was Anlegen), Therapietreue (was Adhärenz/ Compliance), Medikamente in the medications subtitle. Standardise the loading voice to the passive form and normalise every ellipsis to a single Unicode glyph with no leading space. EN follows where its own wording drifted; token placeholders keep their literal continuation.
This commit is contained in:
1 parent
a88c90fbfe
commit
c5ac74d91e
2 files changed
+76
-76
No files matched your search
+58
-58
@@ -8,11 +8,11 @@
|
||||
"moreOptions": "Weitere Optionen",
|
||||
"create": "Erstellen",
|
||||
"close": "Schließen",
|
||||
"loading": "Laden...",
|
||||
"loading": "Laden…",
|
||||
"loadFailed": "Konnte nicht geladen werden",
|
||||
"error": "Fehler",
|
||||
"saved": "Gespeichert",
|
||||
"pullToRefresh": "Wird aktualisiert …",
|
||||
"pullToRefresh": "Wird aktualisiert…",
|
||||
"no": "Nein",
|
||||
"noData": "Keine Daten vorhanden",
|
||||
"optional": "Optional",
|
||||
@@ -220,7 +220,7 @@
|
||||
"themeDark": "Dunkel",
|
||||
"themeLight": "Hell",
|
||||
"collapseSidebar": "Einklappen",
|
||||
"userMenu": "Benutzermenü",
|
||||
"userMenu": "Nutzermenü",
|
||||
"accountSettings": "Kontoeinstellungen",
|
||||
"mood": "Stimmung",
|
||||
"coach": "Coach",
|
||||
@@ -252,11 +252,11 @@
|
||||
"auth": {
|
||||
"login": "Anmelden",
|
||||
"register": "Registrieren",
|
||||
"username": "Benutzername",
|
||||
"username": "Nutzername",
|
||||
"password": "Passwort",
|
||||
"email": "E-Mail-Adresse",
|
||||
"emailPlaceholder": "name@beispiel.de",
|
||||
"emailOrUsername": "E-Mail-Adresse oder Benutzername",
|
||||
"emailOrUsername": "E-Mail-Adresse oder Nutzername",
|
||||
"emailOrUsernamePlaceholder": "name@beispiel.de oder benutzername",
|
||||
"loginWithPasskey": "Mit Passkey anmelden",
|
||||
"loginWithPassword": "Mit Passwort anmelden",
|
||||
@@ -306,7 +306,7 @@
|
||||
"hero": {
|
||||
"scoreLabel": "Health Score",
|
||||
"scoreProvisional": "Noch nicht genug Daten",
|
||||
"scoreComputing": "Score wird berechnet …",
|
||||
"scoreComputing": "Score wird berechnet…",
|
||||
"doses": {
|
||||
"summary": "{taken} von {scheduled} Dosen genommen",
|
||||
"nextAt": "Nächste um {time}",
|
||||
@@ -378,7 +378,7 @@
|
||||
"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 anlegen"
|
||||
"emptyCta": "Medikament hinzufügen"
|
||||
},
|
||||
"quickEntryDiscard": {
|
||||
"title": "Eintrag verwerfen?",
|
||||
@@ -772,10 +772,10 @@
|
||||
},
|
||||
"medications": {
|
||||
"title": "Medikamente",
|
||||
"subtitle": "Medikation, Zeitpläne & Einnahmen",
|
||||
"subtitle": "Medikamente, Zeitpläne & Einnahmen",
|
||||
"loginRequired": "Bitte anmelden, um Medikamente zu verwalten.",
|
||||
"addMedication": "Hinzufügen",
|
||||
"firstMedication": "Erstes Medikament anlegen",
|
||||
"firstMedication": "Erstes Medikament hinzufügen",
|
||||
"addChoice": {
|
||||
"logIntake": "Einnahme erfassen",
|
||||
"newMedication": "Neues Medikament"
|
||||
@@ -817,7 +817,7 @@
|
||||
"importIntakes": "Einnahmen importieren",
|
||||
"importDescription": "JSON-Array mit Einnahme-Daten einfügen. Erwartetes Format:",
|
||||
"importUploadFile": "JSON-Datei hochladen",
|
||||
"importPaste": "JSON hier einfügen...",
|
||||
"importPaste": "JSON hier einfügen…",
|
||||
"importSelected": "Ausgewählt: {name}",
|
||||
"importFileLoaded": "Datei \"{name}\" geladen",
|
||||
"importInvalidJson": "Datei enthält kein gültiges JSON",
|
||||
@@ -949,7 +949,7 @@
|
||||
"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 …",
|
||||
"submitBusy": "Wird verarbeitet…",
|
||||
"cancel": "Abbrechen",
|
||||
"examples": {
|
||||
"label": "Eines dieser Beispiele übernehmen",
|
||||
@@ -1412,7 +1412,7 @@
|
||||
}
|
||||
},
|
||||
"verlauf": {
|
||||
"loading": "Verlauf wird geladen …",
|
||||
"loading": "Verlauf wird geladen…",
|
||||
"loadError": "Verlauf konnte nicht geladen werden.",
|
||||
"empty": "Noch keine Einnahmen in diesem Zeitraum.",
|
||||
"summaryEmpty": "Noch keine auswertbaren Dosen.",
|
||||
@@ -1682,7 +1682,7 @@
|
||||
"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.",
|
||||
"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",
|
||||
@@ -2152,7 +2152,7 @@
|
||||
"send": "Senden",
|
||||
"stop": "Stopp",
|
||||
"thinking": "Denke nach…",
|
||||
"composerPlaceholder": "Frag mich etwas …",
|
||||
"composerPlaceholder": "Frag mich etwas…",
|
||||
"nudgeBubbleLabel": "Neue Nachricht vom Coach — Chat öffnen",
|
||||
"fabLabel": "Coach öffnen",
|
||||
"readAloud": "Vorlesen",
|
||||
@@ -2393,7 +2393,7 @@
|
||||
"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 Medikamentenadhärenz aus, und passt sie dazu, wie ich mich gefühlt habe?",
|
||||
"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?",
|
||||
@@ -2406,7 +2406,7 @@
|
||||
"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 Medikamentenadhärenz mit meinem Blutdruck zusammen? Geh mit mir durch, was dieser Zusammenhang für mich bedeutet.",
|
||||
"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?"
|
||||
@@ -2534,7 +2534,7 @@
|
||||
"stimmungEmptyAction": "Stimmungs-Tagebuch öffnen",
|
||||
"medikamenteDescription": "Einnahme-Kalender pro Medikament plus eine textbasierte Einschätzung.",
|
||||
"medikamenteEmptyTitle": "Erstes Medikament hinzufügen",
|
||||
"medikamenteEmptyDescription": "Adhärenz-Insights brauchen mindestens ein erfasstes Medikament.",
|
||||
"medikamenteEmptyDescription": "Therapietreue-Insights brauchen mindestens ein erfasstes Medikament.",
|
||||
"medikamenteEmptyAction": "Medikamente öffnen",
|
||||
"bmiDescription": "BMI aus deinem Gewicht und deiner Größe abgeleitet, mit Einschätzung.",
|
||||
"target": {
|
||||
@@ -3820,7 +3820,7 @@
|
||||
},
|
||||
"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 Compliance-Säule im Dashboard und den Kontext der KI."
|
||||
"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",
|
||||
@@ -3832,7 +3832,7 @@
|
||||
},
|
||||
"vorsorge": {
|
||||
"title": "Vorsorge",
|
||||
"body": "Vorsorge erinnert an Untersuchungen und Impfungen mit eigenem Intervall. Tipp: „Erledigt“ kann direkt eine Messung oder ein Laborergebnis anlegen. Fällige Vorsorgen erscheinen als Reminder und im Arztbericht."
|
||||
"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",
|
||||
@@ -3994,7 +3994,7 @@
|
||||
"profileTitle": "Profil einrichten",
|
||||
"profileDescription": "Größe, Geburtsdatum und Geschlecht schalten personalisierte Zielwerte frei.",
|
||||
"profileCta": "Profil öffnen",
|
||||
"measurementTitle": "Erste Messung anlegen",
|
||||
"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",
|
||||
@@ -4421,7 +4421,7 @@
|
||||
"saved": "Datumsformat gespeichert.",
|
||||
"saveError": "Speichern des Datumsformats fehlgeschlagen."
|
||||
},
|
||||
"username": "Benutzername",
|
||||
"username": "Nutzername",
|
||||
"height": "Körpergröße (cm)",
|
||||
"dateOfBirth": "Geburtsdatum",
|
||||
"dateOfBirthHint": "Wird für die automatische Berechnung der Blutdruck-Zielwerte benötigt.",
|
||||
@@ -4673,7 +4673,7 @@
|
||||
"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 …",
|
||||
"placeholder": "Z. B. Schichtarbeit, vegetarische Ernährung, Knieverletzung, Training für einen Halbmarathon…",
|
||||
"charCount": "{used} / {max} Zeichen",
|
||||
"clear": "Leeren",
|
||||
"save": "Speichern",
|
||||
@@ -4685,11 +4685,11 @@
|
||||
"profileHint": "Alter und Geschlecht stammen aus deinem Profil und werden automatisch mitgegeben.",
|
||||
"freeTextLabel": "Über mich (Freitext)",
|
||||
"conditionsLabel": "Chronische Erkrankungen",
|
||||
"conditionsPlaceholder": "Z. B. Bluthochdruck, Typ-2-Diabetes …",
|
||||
"conditionsPlaceholder": "Z. B. Bluthochdruck, Typ-2-Diabetes…",
|
||||
"allergiesLabel": "Allergien & Unverträglichkeiten",
|
||||
"allergiesPlaceholder": "Z. B. Laktoseintoleranz, Penicillin-Allergie …",
|
||||
"allergiesPlaceholder": "Z. B. Laktoseintoleranz, Penicillin-Allergie…",
|
||||
"focusLabel": "Worauf soll der Coach achten?",
|
||||
"focusPlaceholder": "Z. B. behalte meinen Blutdruck im Blick, motiviere mich zu mehr Bewegung …",
|
||||
"focusPlaceholder": "Z. B. behalte meinen Blutdruck im Blick, motiviere mich zu mehr Bewegung…",
|
||||
"completeness": "{answered} von {total} beantwortet",
|
||||
"questionsTitle": "Der Coach hat Rückfragen",
|
||||
"questionsOpenCoach": "Im Coach beantworten",
|
||||
@@ -4892,9 +4892,9 @@
|
||||
"expand": "Ausklappen",
|
||||
"dangerZone": "Alle Daten löschen",
|
||||
"dangerZoneTitle": "Gefahrenzone",
|
||||
"dangerZoneDescription": "Löscht alle deine Gesundheitsdaten und Integrationen. Dein Benutzerkonto bleibt erhalten.",
|
||||
"dangerZoneDescription": "Löscht alle deine Gesundheitsdaten und Integrationen. Dein Nutzerkonto bleibt erhalten.",
|
||||
"dangerZoneConfirm": "Alle Daten löschen?",
|
||||
"dangerZoneConfirmDescription": "Dieser Vorgang löscht alle deine Gesundheitsdaten und Integrationen unwiderruflich. Dein Benutzerkonto bleibt erhalten.",
|
||||
"dangerZoneConfirmDescription": "Dieser Vorgang löscht alle deine Gesundheitsdaten und Integrationen unwiderruflich. Dein Nutzerkonto bleibt erhalten.",
|
||||
"dangerZoneSuccess": "Alle persönlichen Daten wurden gelöscht",
|
||||
"dangerZoneDeleteFailed": "Löschen fehlgeschlagen",
|
||||
"finalDelete": "Endgültig löschen",
|
||||
@@ -5343,7 +5343,7 @@
|
||||
},
|
||||
"admin": {
|
||||
"title": "Administration",
|
||||
"subtitle": "Systemstatus, Benutzer und Einstellungen",
|
||||
"subtitle": "Systemstatus, Nutzer und Einstellungen",
|
||||
"settingsSaveError": "Einstellungen konnten nicht gespeichert werden",
|
||||
"systemStatus": "Systemstatus",
|
||||
"systemStatusDescription": "Laufzeitdaten der Instanz: Datenbank, Worker und Bestandszähler.",
|
||||
@@ -5351,11 +5351,11 @@
|
||||
"databaseConnected": "Verbunden",
|
||||
"databaseError": "Fehler",
|
||||
"startedAt": "Gestartet",
|
||||
"users": "Benutzer",
|
||||
"users": "Nutzer",
|
||||
"measurementsCount": "Messwerte",
|
||||
"activeTokens": "Aktive API-Tokens",
|
||||
"activeSessions": "Aktive Sessions",
|
||||
"loadingStatus": "Lade Status...",
|
||||
"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.",
|
||||
@@ -5387,7 +5387,7 @@
|
||||
},
|
||||
"aiQuality": {
|
||||
"title": "Auswertungs-Qualität",
|
||||
"loading": "Feedback-Zusammenfassung wird geladen...",
|
||||
"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",
|
||||
@@ -5402,7 +5402,7 @@
|
||||
},
|
||||
"coachFeedback": {
|
||||
"title": "Coach-Feedback",
|
||||
"loading": "Coach-Feedback-Zusammenfassung wird geladen...",
|
||||
"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",
|
||||
@@ -5422,14 +5422,14 @@
|
||||
"appSettings": "Anwendungseinstellungen",
|
||||
"appSettingsDescription": "Globale Standardwerte für Registrierung, Sprache und Zeitzone neuer Konten.",
|
||||
"registrationEnabled": "Registrierung erlauben",
|
||||
"registrationEnabledDescription": "Wenn deaktiviert, können sich keine neuen Benutzer registrieren.",
|
||||
"registrationEnabledDescription": "Wenn deaktiviert, können sich keine neuen Nutzer registrieren.",
|
||||
"defaultLanguage": "Standard-Sprache",
|
||||
"defaultLanguageDescription": "Wird für neue Benutzer und als Fallback verwendet.",
|
||||
"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 Benutzer sind nicht betroffen.",
|
||||
"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 Benutzer zur Verfügung.",
|
||||
"servicesGlobalDescription": "Deaktivierte Dienste stehen keinem Nutzer zur Verfügung.",
|
||||
"telegramGlobal": "Telegram-Benachrichtigungen erlauben.",
|
||||
"ntfyGlobal": "ntfy-Benachrichtigungen erlauben.",
|
||||
"webPushGlobal": "Browser-Push-Benachrichtigungen erlauben.",
|
||||
@@ -5553,7 +5553,7 @@
|
||||
"revokedToast": "Einladung widerrufen.",
|
||||
"revokeError": "Einladung konnte nicht widerrufen werden."
|
||||
},
|
||||
"userManagement": "Benutzerverwaltung",
|
||||
"userManagement": "Nutzerverwaltung",
|
||||
"userManagementDescription": "Konten verwalten: Rollen, Passwort-Resets und erzwungene Abmeldungen.",
|
||||
"userName": "Name",
|
||||
"userEmail": "E-Mail",
|
||||
@@ -5561,11 +5561,11 @@
|
||||
"userPasskeys": "Passkeys",
|
||||
"userCreated": "Erstellt",
|
||||
"userActions": "Aktionen",
|
||||
"editUser": "Benutzer bearbeiten",
|
||||
"editUserTitle": "Benutzer bearbeiten: {name}",
|
||||
"editUser": "Nutzer bearbeiten",
|
||||
"editUserTitle": "Nutzer bearbeiten: {name}",
|
||||
"demoteToUser": "Zu User degradieren",
|
||||
"promoteToAdmin": "Zum Admin befördern",
|
||||
"toUser": "Zum Benutzer",
|
||||
"toUser": "Zum Nutzer",
|
||||
"toAdmin": "Zum Admin",
|
||||
"ownRoleUnchangeable": "Eigene Rolle nicht änderbar",
|
||||
"resetPassword": "Passwort zurücksetzen",
|
||||
@@ -5574,10 +5574,10 @@
|
||||
"newPasswordPlaceholder": "Mindestens 12 Zeichen",
|
||||
"passwordReset": "Passwort wurde zurückgesetzt",
|
||||
"reset": "Zurücksetzen",
|
||||
"loadingUsers": "Lade Benutzer...",
|
||||
"loadingUsers": "Nutzer werden geladen…",
|
||||
"apiTokens": "API-Tokens",
|
||||
"apiTokensDescription": "Alle aktiven und widerrufenen API-Tokens über alle Konten hinweg.",
|
||||
"tokenUser": "Benutzer",
|
||||
"tokenUser": "Nutzer",
|
||||
"tokenName": "Name",
|
||||
"tokenPermissions": "Berechtigungen",
|
||||
"tokenPermissionAll": "Alle",
|
||||
@@ -5613,9 +5613,9 @@
|
||||
"outcomeFailed": "Fehlgeschlagen",
|
||||
"auditDetails": "Details",
|
||||
"deleteAllData": "Alle Daten global löschen",
|
||||
"deleteAllDescription": "Löscht alle Mess-, Medikamenten-, Integrations- und Protokoll-Daten aller Benutzer. Benutzerkonten bleiben bestehen.",
|
||||
"deleteAllDescription": "Löscht alle Mess-, Medikamenten-, Integrations- und Protokoll-Daten aller Nutzer. Nutzerkonten bleiben bestehen.",
|
||||
"deleteAllConfirm": "Alle Daten wirklich löschen?",
|
||||
"deleteAllConfirmDescription": "Dieser Vorgang löscht alle Messwerte, Medikamente, Einnahmen, API-Tokens, Withings-Verbindungen, offene Authentifizierungs-Challenges, Benachrichtigungskanäle (Telegram, ntfy, Web Push), Push-Abonnements und in der Warteschlange befindliche Telegram-Nachrichtenlöschungen aller Benutzer unwiderruflich. Benutzerkonten, das Audit-Log und eingereichtes Feedback bleiben erhalten, damit der Löschvorgang nachvollziehbar bleibt und Bug-Reports weiter triagierbar sind.",
|
||||
"deleteAllConfirmDescription": "Dieser Vorgang löscht alle Messwerte, Medikamente, Einnahmen, API-Tokens, Withings-Verbindungen, offene Authentifizierungs-Challenges, Benachrichtigungskanäle (Telegram, ntfy, Web Push), Push-Abonnements und in der Warteschlange befindliche Telegram-Nachrichtenlöschungen aller Nutzer unwiderruflich. Nutzerkonten, das Audit-Log und eingereichtes Feedback bleiben erhalten, damit der Löschvorgang nachvollziehbar bleibt und Bug-Reports weiter triagierbar sind.",
|
||||
"deleteButton": "Alle Daten löschen",
|
||||
"deleteAllPromptLabel": "Tippe {token} zum Fortfahren",
|
||||
"finalDelete": "Endgültig löschen",
|
||||
@@ -5681,11 +5681,11 @@
|
||||
"versionTileUpdateAvailable": "Update verfügbar: {tag}",
|
||||
"versionTileUpToDate": "Aktuell",
|
||||
"snapshotLoadError": "System-Snapshot konnte nicht geladen werden.",
|
||||
"snapshotLoading": "Snapshot wird geladen...",
|
||||
"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...",
|
||||
"auditLoading": "Aktivitäten werden geladen…",
|
||||
"auditViewAll": "Alle anzeigen"
|
||||
},
|
||||
"section": {
|
||||
@@ -5714,7 +5714,7 @@
|
||||
"subtitle": "Schwellwerte für Medikamentenerinnerungen anpassen."
|
||||
},
|
||||
"users": {
|
||||
"title": "Benutzer",
|
||||
"title": "Nutzer",
|
||||
"subtitle": "Konten, Rollen und aktive Sitzungen verwalten.",
|
||||
"filter": {
|
||||
"all": "Alle",
|
||||
@@ -5723,7 +5723,7 @@
|
||||
},
|
||||
"forceLogout": "Abmeldung erzwingen",
|
||||
"forceLogoutConfirmTitle": "{name} abmelden?",
|
||||
"forceLogoutConfirmBody": "Alle aktiven Sitzungen dieses Benutzers werden widerrufen. Auf allen Geräten ist eine erneute Anmeldung erforderlich.",
|
||||
"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",
|
||||
@@ -5744,7 +5744,7 @@
|
||||
"subtitle": "Audit-Spur für Authentifizierungs- und Admin-Ereignisse."
|
||||
},
|
||||
"auditLog": {
|
||||
"filterActor": "Akteur (Benutzer-ID oder -Name)",
|
||||
"filterActor": "Akteur (Nutzer-ID oder -Name)",
|
||||
"filterAction": "Aktion",
|
||||
"filterActionAll": "Alle Aktionen",
|
||||
"filterTarget": "Ziel (ID oder Pfad)",
|
||||
@@ -5792,7 +5792,7 @@
|
||||
"runNow": "Jetzt sichern",
|
||||
"runEnqueued": "Backup-Job eingeplant",
|
||||
"runFailed": "Backup konnte nicht eingeplant werden",
|
||||
"loading": "Backups werden geladen...",
|
||||
"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.",
|
||||
@@ -5820,7 +5820,7 @@
|
||||
"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.",
|
||||
"restorePromptLabel": "Tippe RESTORE zum Fortfahren",
|
||||
"restoreConfirm": "Jetzt wiederherstellen",
|
||||
"restoreInProgress": "Wiederherstellung läuft...",
|
||||
"restoreInProgress": "Wiederherstellung läuft…",
|
||||
"restoreSuccess": "Wiederherstellung abgeschlossen",
|
||||
"restoreFailed": "Wiederherstellung fehlgeschlagen",
|
||||
"docsLink": "Dokumentation"
|
||||
@@ -5840,7 +5840,7 @@
|
||||
"encryption": {
|
||||
"title": "Verschlüsselung",
|
||||
"subtitle": "Verschlüsselungsabdeckung und Schlüsselrotations-Status für ruhende Daten.",
|
||||
"loading": "Verschlüsselungsstatus wird geladen...",
|
||||
"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. Es werden nur Schlüssel-IDs und Anzahlen gezeigt — niemals Schlüsselmaterial.",
|
||||
@@ -7068,7 +7068,7 @@
|
||||
"saveError": "Wert konnte nicht gespeichert werden",
|
||||
"biomarker": "Biomarker",
|
||||
"biomarkerPlaceholder": "Biomarker auswählen",
|
||||
"defineNew": "+ Neuen Biomarker anlegen",
|
||||
"defineNew": "+ Neuen Biomarker hinzufügen",
|
||||
"noBiomarkersHint": "Lege zuerst einen Biomarker an, um einen Wert zu erfassen.",
|
||||
"pickBiomarkerError": "Bitte zuerst einen Biomarker auswählen.",
|
||||
"resultType": "Ergebnistyp",
|
||||
@@ -7114,9 +7114,9 @@
|
||||
"biomarker": {
|
||||
"manageTitle": "Biomarker",
|
||||
"managerDescription": "Marker einmal definieren — Einheit und Bereich gelten für jede Messung.",
|
||||
"define": "Anlegen",
|
||||
"defineFirst": "Ersten Biomarker anlegen",
|
||||
"defineTitle": "Biomarker anlegen",
|
||||
"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",
|
||||
@@ -7332,7 +7332,7 @@
|
||||
},
|
||||
"medications": {
|
||||
"label": "Medikamente",
|
||||
"description": "Pläne, Einnahmen und Compliance."
|
||||
"description": "Pläne, Einnahmen und Therapietreue."
|
||||
},
|
||||
"illness": {
|
||||
"label": "Krankheitstagebuch",
|
||||
@@ -7893,7 +7893,7 @@
|
||||
"review": {
|
||||
"title": "Erkannte Angaben prüfen",
|
||||
"confirm": "Bestätigte Angaben speichern",
|
||||
"confirming": "Wird gespeichert …",
|
||||
"confirming": "Wird gespeichert…",
|
||||
"needsReview": "Prüfung nötig",
|
||||
"approve": "Übernehmen",
|
||||
"reject": "Ablehnen",
|
||||
|
||||
+18
-18
@@ -8,7 +8,7 @@
|
||||
"moreOptions": "More options",
|
||||
"create": "Create",
|
||||
"close": "Close",
|
||||
"loading": "Loading...",
|
||||
"loading": "Loading…",
|
||||
"loadFailed": "Could not load",
|
||||
"error": "Error",
|
||||
"saved": "Saved",
|
||||
@@ -306,7 +306,7 @@
|
||||
"hero": {
|
||||
"scoreLabel": "Health Score",
|
||||
"scoreProvisional": "Not enough data yet",
|
||||
"scoreComputing": "Calculating score …",
|
||||
"scoreComputing": "Calculating score…",
|
||||
"doses": {
|
||||
"summary": "{taken} of {scheduled} doses taken",
|
||||
"nextAt": "Next at {time}",
|
||||
@@ -817,7 +817,7 @@
|
||||
"importIntakes": "Import intakes",
|
||||
"importDescription": "Paste a JSON array with intake data. Expected format:",
|
||||
"importUploadFile": "Upload JSON file",
|
||||
"importPaste": "Paste JSON here...",
|
||||
"importPaste": "Paste JSON here…",
|
||||
"importSelected": "Selected: {name}",
|
||||
"importFileLoaded": "File \"{name}\" loaded",
|
||||
"importInvalidJson": "File does not contain valid JSON",
|
||||
@@ -1412,7 +1412,7 @@
|
||||
}
|
||||
},
|
||||
"verlauf": {
|
||||
"loading": "Loading history …",
|
||||
"loading": "Loading history…",
|
||||
"loadError": "Could not load the history.",
|
||||
"empty": "No intakes in this period yet.",
|
||||
"summaryEmpty": "No doses to score yet.",
|
||||
@@ -1682,7 +1682,7 @@
|
||||
"zeitplan": {
|
||||
"title": "Schedule",
|
||||
"timesTitle": "Dose times",
|
||||
"timesNote": "Adjust each dose's time and on-time window. The frequency (daily, weekly …) is edited in the editor under Advanced.",
|
||||
"timesNote": "Adjust each dose's time and on-time window. The frequency (daily, weekly…) is edited in the editor under Advanced.",
|
||||
"scheduleLabel": "Schedule {index}",
|
||||
"fullEditNote": "Frequency, treatment class and course window are edited in the editor under Advanced → Lifecycle.",
|
||||
"graceEcho": "Reminder window: {minutes} minutes",
|
||||
@@ -2152,7 +2152,7 @@
|
||||
"send": "Send",
|
||||
"stop": "Stop",
|
||||
"thinking": "Thinking…",
|
||||
"composerPlaceholder": "Ask me anything …",
|
||||
"composerPlaceholder": "Ask me anything…",
|
||||
"nudgeBubbleLabel": "New message from the Coach — open chat",
|
||||
"fabLabel": "Open the Coach",
|
||||
"readAloud": "Read aloud",
|
||||
@@ -2534,7 +2534,7 @@
|
||||
"stimmungEmptyAction": "Open mood journal",
|
||||
"medikamenteDescription": "Per-medication adherence calendars and a written assessment.",
|
||||
"medikamenteEmptyTitle": "Add your first medication",
|
||||
"medikamenteEmptyDescription": "Compliance insights need at least one tracked medication.",
|
||||
"medikamenteEmptyDescription": "Adherence insights need at least one tracked medication.",
|
||||
"medikamenteEmptyAction": "Open medications",
|
||||
"bmiDescription": "BMI derived from your weight and height, with a written assessment.",
|
||||
"target": {
|
||||
@@ -3820,7 +3820,7 @@
|
||||
},
|
||||
"medications": {
|
||||
"title": "Medications & intakes",
|
||||
"body": "Medications manages schedules, intakes, stock, and titration. Hidden: recurring plans (RRULE/rolling) and low-stock warnings. Your intake rate feeds the compliance pillar on the dashboard and the AI’s context."
|
||||
"body": "Medications manages schedules, intakes, stock, and titration. Hidden: recurring plans (RRULE/rolling) and low-stock warnings. Your intake rate feeds the adherence pillar on the dashboard and the AI’s context."
|
||||
},
|
||||
"labs": {
|
||||
"title": "Lab values",
|
||||
@@ -5355,7 +5355,7 @@
|
||||
"measurementsCount": "Measurements",
|
||||
"activeTokens": "Active API Tokens",
|
||||
"activeSessions": "Active Sessions",
|
||||
"loadingStatus": "Loading status...",
|
||||
"loadingStatus": "Loading status…",
|
||||
"systemStatusLoadError": "Failed to load system status.",
|
||||
"systemStatusRetry": "Retry",
|
||||
"adminSettingsLoadError": "Failed to load admin settings. Toggles below may not reflect the live state — refresh the page.",
|
||||
@@ -5387,7 +5387,7 @@
|
||||
},
|
||||
"aiQuality": {
|
||||
"title": "Insights Quality",
|
||||
"loading": "Loading feedback summary...",
|
||||
"loading": "Loading feedback summary…",
|
||||
"loadError": "Failed to load Insights quality summary. Try refreshing the page.",
|
||||
"empty": "No feedback yet. The aggregator runs daily at 04:00 — once users start rating recommendations, helpful-rate bands appear here.",
|
||||
"windowLabel": "Last {days} days",
|
||||
@@ -5402,7 +5402,7 @@
|
||||
},
|
||||
"coachFeedback": {
|
||||
"title": "Coach Feedback",
|
||||
"loading": "Loading Coach feedback summary...",
|
||||
"loading": "Loading Coach feedback summary…",
|
||||
"loadError": "Failed to load Coach feedback summary. Try refreshing the page.",
|
||||
"empty": "No Coach feedback yet. The aggregator runs daily at 04:00 — once users rate Coach replies, helpful-rate bands appear here.",
|
||||
"windowLabel": "Last {days} days",
|
||||
@@ -5574,7 +5574,7 @@
|
||||
"newPasswordPlaceholder": "At least 12 characters",
|
||||
"passwordReset": "Password has been reset",
|
||||
"reset": "Reset",
|
||||
"loadingUsers": "Loading users...",
|
||||
"loadingUsers": "Loading users…",
|
||||
"apiTokens": "API Tokens",
|
||||
"apiTokensDescription": "All active and revoked API tokens across all accounts.",
|
||||
"tokenUser": "User",
|
||||
@@ -5681,11 +5681,11 @@
|
||||
"versionTileUpdateAvailable": "Update available: {tag}",
|
||||
"versionTileUpToDate": "Up to date",
|
||||
"snapshotLoadError": "Failed to load system snapshot.",
|
||||
"snapshotLoading": "Loading snapshot...",
|
||||
"snapshotLoading": "Loading snapshot…",
|
||||
"auditTitle": "Recent activity",
|
||||
"auditEmpty": "No recent audit entries.",
|
||||
"auditLoadError": "Failed to load recent activity.",
|
||||
"auditLoading": "Loading activity...",
|
||||
"auditLoading": "Loading activity…",
|
||||
"auditViewAll": "View all"
|
||||
},
|
||||
"section": {
|
||||
@@ -5792,7 +5792,7 @@
|
||||
"runNow": "Backup now",
|
||||
"runEnqueued": "Backup job enqueued",
|
||||
"runFailed": "Failed to enqueue backup",
|
||||
"loading": "Loading backups...",
|
||||
"loading": "Loading backups…",
|
||||
"loadError": "Failed to load backups.",
|
||||
"emptyTitle": "No backups yet",
|
||||
"emptyDescription": "Backups run automatically every Sunday at 03:00 — or trigger one now to create the first snapshot.",
|
||||
@@ -5820,7 +5820,7 @@
|
||||
"restoreDescription": "This will replace ALL current data for {username} with the snapshot from {when}. Existing measurements, medications, intake events, mood entries, notification channels, push subscriptions and queued Telegram deletions will be deleted.",
|
||||
"restorePromptLabel": "Type RESTORE to continue",
|
||||
"restoreConfirm": "Restore now",
|
||||
"restoreInProgress": "Restoring...",
|
||||
"restoreInProgress": "Restoring…",
|
||||
"restoreSuccess": "Restore complete",
|
||||
"restoreFailed": "Restore failed",
|
||||
"docsLink": "Documentation"
|
||||
@@ -5840,7 +5840,7 @@
|
||||
"encryption": {
|
||||
"title": "Encryption",
|
||||
"subtitle": "Encryption coverage and key-rotation status for data at rest.",
|
||||
"loading": "Loading encryption status...",
|
||||
"loading": "Loading encryption status…",
|
||||
"loadError": "Failed to load encryption status.",
|
||||
"coverageTitle": "Coverage",
|
||||
"coverageDescription": "How many encrypted rows sit under each key id. Only key ids and counts are shown — never key material.",
|
||||
@@ -7332,7 +7332,7 @@
|
||||
},
|
||||
"medications": {
|
||||
"label": "Medications",
|
||||
"description": "Schedules, intakes, and compliance."
|
||||
"description": "Schedules, intakes, and adherence."
|
||||
},
|
||||
"illness": {
|
||||
"label": "Illness journal",
|
||||
|
||||
Reference in new issue
Block a user