leafittome/lib/l10n/generated/app_localizations_de.dart
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

447 lines
9.9 KiB
Dart
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.

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