leafittome/lib/l10n/app_de.arb
cschlaefke 5ed3a68e45 Fix: Reaktiver Haushalts-Bootstrap + BootstrapGate (Apple-Login legte keinen Haushalt an)
Der Bootstrap hing an signInWithApple und lief erst, nachdem der Router
den Nutzer schon in die App geleitet hatte — Fehler blieben unsichtbar,
der Account blieb ohne users-Doc/Haushalt und alle Writes scheiterten an
den Rules. Jetzt beobachtet householdBootstrapProvider das users-Dokument
und legt Profil + Haushalt reaktiv an (alle Login-Wege); das BootstrapGate
hält die App so lange zurück und macht Fehler mit „Erneut versuchen"
sichtbar. Bestehende kaputte Accounts heilen beim nächsten Start selbst.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 17:49:49 +02:00

229 lines
7.9 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"@@locale": "de",
"appTitle": "LeafItToMe",
"menuToday": "Heute",
"menuPlants": "Meine Pflanzen",
"menuLocations": "Stellplätze",
"menuHousehold": "Haushalt",
"menuSettings": "Einstellungen",
"todayTitle": "Heute",
"todayAllDone": "Alles versorgt!",
"todayEmptyHint": "Heute stehen keine Aufgaben an.",
"todayNextTask": "Nächste Aufgabe: {date}",
"@todayNextTask": {
"placeholders": {
"date": { "type": "String" }
}
},
"todayOpenTasks": "{count, plural, one{1 offene Aufgabe} other{{count} offene Aufgaben}}",
"@todayOpenTasks": {
"placeholders": {
"count": { "type": "int" }
}
},
"taskWaterTitle": "{name} gießen",
"@taskWaterTitle": {
"placeholders": {
"name": { "type": "String" }
}
},
"taskFertilizeTitle": "{name} düngen",
"@taskFertilizeTitle": {
"placeholders": {
"name": { "type": "String" }
}
},
"taskDueToday": "Heute fällig",
"taskOverdue": "{days, plural, one{Seit gestern überfällig} other{Seit {days} Tagen überfällig}}",
"@taskOverdue": {
"placeholders": {
"days": { "type": "int" }
}
},
"taskDone": "Erledigt",
"taskDoneConfirmation": "{name} als erledigt markiert.",
"@taskDoneConfirmation": {
"placeholders": {
"name": { "type": "String" }
}
},
"addPlant": "Pflanze hinzufügen",
"plantsTitle": "Meine Pflanzen",
"plantsEmpty": "Noch keine Pflanzen angelegt.",
"plantsEmptyHint": "Lege deine erste Pflanze über den Button unten an.",
"plantDetailTitle": "Pflanzenprofil",
"nicknameLabel": "Spitzname",
"speciesLabel": "Pflanzenart",
"locationLabel": "Stellplatz",
"locationNone": "Kein Stellplatz",
"wateringEvery": "Gießen: alle {days} Tage",
"@wateringEvery": {
"placeholders": {
"days": { "type": "int" }
}
},
"fertilizingEvery": "Düngen: alle {days} Tage",
"@fertilizingEvery": {
"placeholders": {
"days": { "type": "int" }
}
},
"wateringIntervalLabel": "Gieß-Intervall (Tage)",
"fertilizingIntervalLabel": "Dünge-Intervall (Tage)",
"lastWatered": "Zuletzt gegossen: {date}",
"@lastWatered": {
"placeholders": {
"date": { "type": "String" }
}
},
"lastFertilized": "Zuletzt gedüngt: {date}",
"@lastFertilized": {
"placeholders": {
"date": { "type": "String" }
}
},
"never": "noch nie",
"save": "Speichern",
"cancel": "Abbrechen",
"delete": "Löschen",
"deletePlantQuestion": "{name} wirklich löschen?",
"@deletePlantQuestion": {
"placeholders": {
"name": { "type": "String" }
}
},
"requiredField": "Bitte ausfüllen",
"invalidNumber": "Bitte eine Zahl größer 0 eingeben",
"locationsTitle": "Stellplätze",
"locationsEmpty": "Noch keine Stellplätze angelegt.",
"addLocation": "Stellplatz hinzufügen",
"locationNameLabel": "Name des Stellplatzes",
"locationPlantCount": "{count, plural, =0{Keine Pflanzen} one{1 Pflanze} other{{count} Pflanzen}}",
"@locationPlantCount": {
"placeholders": {
"count": { "type": "int" }
}
},
"householdTitle": "Haushalt",
"myHouseholds": "Meine Haushalte",
"activeHouseholdLabel": "Aktiv",
"switchHouseholdSuccess": "Du bist jetzt im Haushalt „{name}“.",
"@switchHouseholdSuccess": {
"placeholders": {
"name": { "type": "String" }
}
},
"householdMembers": "Mitglieder",
"roleMember": "Mitglied",
"roleSitter": "Pflanzen-Sitter",
"ownerLabel": "Besitzer",
"ownerIsMe": "Dein Haushalt",
"ownerIs": "Besitzer: {name}",
"@ownerIs": {
"placeholders": {
"name": { "type": "String" }
}
},
"renameHousehold": "Haushalt umbenennen",
"householdNameLabel": "Name des Haushalts",
"saveButton": "Speichern",
"leaveHousehold": "Haushalt verlassen",
"leaveHouseholdConfirmTitle": "Haushalt verlassen?",
"leaveHouseholdConfirmBody": "Du verlierst den Zugriff auf „{name}“ und alle Pflanzen darin. Ein neuer Beitritt ist nur mit einem neuen Einladungscode möglich.",
"@leaveHouseholdConfirmBody": {
"placeholders": {
"name": { "type": "String" }
}
},
"leftHousehold": "Du hast den Haushalt „{name}“ verlassen.",
"@leftHousehold": {
"placeholders": {
"name": { "type": "String" }
}
},
"removeMemberConfirmTitle": "Mitglied entfernen?",
"removeMemberConfirmBody": "{name} verliert sofort den Zugriff auf diesen Haushalt und alle Pflanzen darin.",
"@removeMemberConfirmBody": {
"placeholders": {
"name": { "type": "String" }
}
},
"removeMemberAction": "Entfernen",
"memberRemoved": "{name} wurde aus dem Haushalt entfernt.",
"@memberRemoved": {
"placeholders": {
"name": { "type": "String" }
}
},
"meLabel": "Ich",
"inviteTitle": "Einladen",
"inviteMember": "Mitglied einladen",
"inviteSitter": "Pflanzen-Sitter einladen",
"inviteExplanation": "Mitglieder haben volle Rechte. Pflanzen-Sitter sehen die Pläne und können Aufgaben abhaken, aber nichts ändern.",
"inviteCodeTitle": "Einladungscode",
"inviteCodeHint": "Gib diesen Code an die Person weiter. Sie trägt ihn in ihrer App unter „Haushalt“ ein. Der Code ist 7 Tage gültig und einmal verwendbar.",
"copyCode": "Code kopieren",
"codeCopied": "Code kopiert.",
"joinTitle": "Haushalt beitreten",
"joinCodeLabel": "Einladungscode eingeben",
"joinButton": "Beitreten",
"joinWarningTitle": "Haushalt beitreten?",
"joinWarningBody": "Du trittst dem Haushalt bei und wechselst direkt dorthin. Deine bisherigen Haushalte bleiben erhalten unter „Meine Haushalte“ kannst du jederzeit zurückwechseln.",
"joinSuccess": "Willkommen im Haushalt „{name}“!",
"@joinSuccess": {
"placeholders": {
"name": { "type": "String" }
}
},
"joinErrorInvalid": "Dieser Code ist ungültig oder abgelaufen.",
"joinErrorUsed": "Dieser Code wurde bereits verwendet.",
"doneBy": " · von {name}",
"@doneBy": {
"placeholders": {
"name": { "type": "String" }
}
},
"settingsTitle": "Einstellungen",
"settingsAppearance": "Erscheinungsbild",
"themeSystem": "System",
"themeLight": "Hell",
"themeDark": "Dunkel",
"settingsTextSize": "Schriftgröße",
"textSizeNormal": "Normal",
"textSizeLarge": "Groß",
"textSizeXLarge": "Sehr groß",
"settingsHighContrast": "Hoher Kontrast",
"settingsReminderTime": "Erinnerungszeit",
"settingsReminderTimeHint": "Zu dieser Uhrzeit erinnert dich LeafItToMe an offene Aufgaben.",
"settingsAccount": "Konto",
"logout": "Abmelden",
"loginSubtitle": "Melde dich an, um deine Pflanzen zu versorgen.",
"emailLabel": "E-Mail-Adresse",
"passwordLabel": "Passwort",
"signInButton": "Anmelden",
"signUpButton": "Konto erstellen",
"switchToSignUp": "Neu hier? Konto erstellen",
"switchToSignIn": "Du hast schon ein Konto? Anmelden",
"orDivider": "oder",
"signInWithApple": "Mit Apple anmelden",
"authErrorAppleFailed": "Die Anmeldung mit Apple hat nicht geklappt. Bitte versuche es erneut.",
"authErrorInvalidCredential": "E-Mail-Adresse oder Passwort ist falsch.",
"authErrorEmailInUse": "Mit dieser E-Mail-Adresse gibt es bereits ein Konto.",
"authErrorWeakPassword": "Das Passwort muss mindestens 6 Zeichen lang sein.",
"authErrorInvalidEmail": "Bitte gib eine gültige E-Mail-Adresse ein.",
"authErrorGeneric": "Das hat leider nicht geklappt. Bitte versuche es erneut.",
"bootstrapPreparing": "Dein Haushalt wird eingerichtet …",
"bootstrapFailed": "Dein Haushalt konnte nicht eingerichtet werden. Bitte prüfe deine Internetverbindung und versuche es erneut.",
"bootstrapRetry": "Erneut versuchen",
"takePhoto": "Foto aufnehmen",
"fromGallery": "Aus der Galerie",
"recognizing": "Pflanze wird erkannt …",
"recognitionSuccess": "Erkannt: {name}",
"@recognitionSuccess": {
"placeholders": {
"name": { "type": "String" }
}
},
"recognitionFailed": "Die Erkennung hat nicht geklappt du kannst die Angaben auch von Hand eintragen.",
"saveError": "Speichern fehlgeschlagen. Bitte versuche es erneut."
}