- TaskActions AsyncNotifier for create, update, delete, complete task mutations - tasksInRoomProvider manual StreamProvider.family wrapping TasksDao.watchTasksInRoom - TaskFormScreen with name, frequency (10 presets + custom), effort (3-way segmented), description, and initial due date picker (German DD.MM.YYYY format) - Custom frequency: number + unit picker (Tage/Wochen/Monate) - Calendar-anchored intervals auto-set anchorDay from due date - Edit mode loads existing task and pre-fills all fields - 19 new German localization keys for task form, delete, and empty state Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
168 lines
3.7 KiB
Dart
168 lines
3.7 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';
|
|
}
|