- Einladen per einmaligem 6-stelligem Code (7 Tage gültig), wahlweise als Mitglied oder Pflanzen-Sitter - Beitritt über Cloud Function joinHousehold (Transaktion, Admin-Rechte) - Security Rules: Sitter dürfen an Pflanzen nur Bestätigungs-Felder ändern; invites nur erstellen, nie lesen - Haushalts-Screen: Mitgliederliste mit Rollen, Einladen, Beitreten mit Wechsel-Warnung - UI-Gating: Sitter sehen keine Anlegen-/Bearbeiten-/Löschen-Aktionen - Bestätigungen speichern den Namen (lastWateredBy/lastFertilizedBy), Anzeige im Profil - Tests: Members-Map im Seed, neuer Sitter-Test Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
176 lines
5.9 KiB
Text
176 lines
5.9 KiB
Text
{
|
||
"@@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",
|
||
"householdMembers": "Mitglieder",
|
||
"roleMember": "Mitglied",
|
||
"roleSitter": "Pflanzen-Sitter",
|
||
"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 wechseln?",
|
||
"joinWarningBody": "Du trittst einem anderen Haushalt bei. Die Pflanzen deines bisherigen Haushalts siehst du danach nicht mehr.",
|
||
"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",
|
||
"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.",
|
||
"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."
|
||
}
|