- Replace 10-chip grid + hidden Custom mode with 4 shortcut chips (Täglich, Wöchentlich, Alle 2 Wochen, Monatlich) - Always-visible freeform 'Alle [N] [Tage/Wochen/Monate]' picker row below chips - Bidirectional sync: tapping chip populates picker; editing picker recalculates chip highlight - _resolveFrequency() now reads exclusively from picker (single source of truth) - Edit mode correctly loads all 8 IntervalType values including quarterly and yearly - Add l10n keys frequencyShortcutDaily/Weekly/Biweekly/Monthly to app_de.arb
278 lines
6.2 KiB
Dart
278 lines
6.2 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 frequencyShortcutDaily => 'Täglich';
|
||
|
||
@override
|
||
String get frequencyShortcutWeekly => 'Wöchentlich';
|
||
|
||
@override
|
||
String get frequencyShortcutBiweekly => 'Alle 2 Wochen';
|
||
|
||
@override
|
||
String get frequencyShortcutMonthly => 'Monatlich';
|
||
|
||
@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)';
|
||
}
|
||
|
||
@override
|
||
String get calendarTodayButton => 'Heute';
|
||
|
||
@override
|
||
String get taskHistoryTitle => 'Verlauf';
|
||
|
||
@override
|
||
String get taskHistoryEmpty => 'Noch nie erledigt';
|
||
|
||
@override
|
||
String taskHistoryCount(int count) {
|
||
return '$count Mal erledigt';
|
||
}
|
||
|
||
@override
|
||
String get sortAlphabetical => 'A–Z';
|
||
|
||
@override
|
||
String get sortInterval => 'Intervall';
|
||
|
||
@override
|
||
String get sortEffort => 'Aufwand';
|
||
|
||
@override
|
||
String get sortLabel => 'Sortierung';
|
||
}
|