Files
HouseHoldKeaper/lib/l10n/app_localizations_de.dart
Jean-Luc Makiola 0103ddebbb feat(04-02): wire notification settings UI, permission flow, scheduling, and tap navigation
- Convert SettingsScreen from ConsumerWidget to ConsumerStatefulWidget
- Add Benachrichtigungen section between Darstellung and Uber sections
- SwitchListTile with permission request on toggle ON (Android 13+)
- Toggle reverts to OFF on permission denial with SnackBar hint
- AnimatedSize progressive disclosure for time picker row when enabled
- _scheduleNotification() queries DailyPlanDao for task/overdue counts
- Skip notification scheduling when task count is 0
- Notification body includes overdue split when overdue > 0
- _onPickTime() shows Material 3 showTimePicker dialog then reschedules
- Wire router.go('/') in NotificationService._onTap for tap navigation
- Regenerate AppLocalizations with 7 new notification strings from Plan 01 ARB
2026-03-16 15:06:00 +01:00

240 lines
5.4 KiB
Dart

// 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 => 'HouseHoldKeaper';
@override
String get tabHome => 'Übersicht';
@override
String get tabRooms => 'Räume';
@override
String get tabSettings => 'Einstellungen';
@override
String get homeEmptyTitle => 'Noch nichts zu tun!';
@override
String get homeEmptyMessage =>
'Lege zuerst einen Raum an, um Aufgaben zu planen.';
@override
String get homeEmptyAction => 'Raum erstellen';
@override
String get roomsEmptyTitle => 'Hier ist noch alles leer!';
@override
String get roomsEmptyMessage => 'Erstelle deinen ersten Raum, um loszulegen.';
@override
String get roomsEmptyAction => 'Raum erstellen';
@override
String get settingsSectionAppearance => 'Darstellung';
@override
String get settingsThemeLabel => 'Farbschema';
@override
String get themeSystem => 'System';
@override
String get themeLight => 'Hell';
@override
String get themeDark => 'Dunkel';
@override
String get settingsSectionAbout => 'Über';
@override
String get aboutAppName => 'HouseHoldKeaper';
@override
String get aboutTagline => 'Dein Haushalt, entspannt organisiert.';
@override
String aboutVersion(String version) {
return 'Version $version';
}
@override
String get roomFormCreateTitle => 'Raum erstellen';
@override
String get roomFormEditTitle => 'Raum bearbeiten';
@override
String get roomFormNameLabel => 'Raumname';
@override
String get roomFormNameHint => 'z.B. Küche, Badezimmer...';
@override
String get roomFormNameRequired => 'Bitte einen Namen eingeben';
@override
String get roomFormIconLabel => 'Symbol wählen';
@override
String get roomDeleteConfirmTitle => 'Raum löschen?';
@override
String get roomDeleteConfirmMessage =>
'Der Raum und alle zugehörigen Aufgaben werden unwiderruflich gelöscht.';
@override
String get roomDeleteConfirmAction => 'Löschen';
@override
String roomCardDueCount(int count) {
return '$count fällig';
}
@override
String get cancel => 'Abbrechen';
@override
String get taskFormCreateTitle => 'Aufgabe erstellen';
@override
String get taskFormEditTitle => 'Aufgabe bearbeiten';
@override
String get taskFormNameLabel => 'Aufgabenname';
@override
String get taskFormNameHint => 'z.B. Staubsaugen, Fenster putzen...';
@override
String get taskFormNameRequired => 'Bitte einen Namen eingeben';
@override
String get taskFormFrequencyLabel => 'Wiederholung';
@override
String get taskFormFrequencyCustom => 'Benutzerdefiniert';
@override
String get taskFormFrequencyEvery => 'Alle';
@override
String get taskFormFrequencyUnitDays => 'Tage';
@override
String get taskFormFrequencyUnitWeeks => 'Wochen';
@override
String get taskFormFrequencyUnitMonths => 'Monate';
@override
String get taskFormEffortLabel => 'Aufwand';
@override
String get taskFormDescriptionLabel => 'Beschreibung (optional)';
@override
String get taskFormDueDateLabel => 'Erstes Fälligkeitsdatum';
@override
String get taskDeleteConfirmTitle => 'Aufgabe löschen?';
@override
String get taskDeleteConfirmMessage =>
'Die Aufgabe wird unwiderruflich gelöscht.';
@override
String get taskDeleteConfirmAction => 'Löschen';
@override
String get taskEmptyTitle => 'Noch keine Aufgaben';
@override
String get taskEmptyMessage => 'Erstelle die erste Aufgabe für diesen Raum.';
@override
String get taskEmptyAction => 'Aufgabe erstellen';
@override
String get templatePickerTitle => 'Aufgaben aus Vorlagen hinzufügen?';
@override
String get templatePickerSkip => 'Überspringen';
@override
String get templatePickerAdd => 'Hinzufügen';
@override
String templatePickerSelected(int count) {
return '$count ausgewählt';
}
@override
String dailyPlanProgress(int completed, int total) {
return '$completed von $total erledigt';
}
@override
String get dailyPlanSectionOverdue => 'Überfällig';
@override
String get dailyPlanSectionToday => 'Heute';
@override
String get dailyPlanSectionUpcoming => 'Demnächst';
@override
String dailyPlanUpcomingCount(int count) {
return 'Demnächst ($count)';
}
@override
String get dailyPlanAllClearTitle => 'Alles erledigt! 🌟';
@override
String get dailyPlanAllClearMessage =>
'Keine Aufgaben für heute. Genieße den Moment!';
@override
String get dailyPlanNoOverdue => 'Keine überfälligen Aufgaben';
@override
String get dailyPlanNoTasks => 'Noch keine Aufgaben angelegt';
@override
String get settingsSectionNotifications => 'Benachrichtigungen';
@override
String get notificationsEnabledLabel => 'Tägliche Erinnerung';
@override
String get notificationsTimeLabel => 'Uhrzeit';
@override
String get notificationsPermissionDeniedHint =>
'Benachrichtigungen sind in den Systemeinstellungen deaktiviert. Tippe hier, um sie zu aktivieren.';
@override
String get notificationTitle => 'Dein Tagesplan';
@override
String notificationBody(int count) {
return '$count Aufgaben fällig';
}
@override
String notificationBodyWithOverdue(int count, int overdue) {
return '$count Aufgaben fällig ($overdue überfällig)';
}
}