import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:intl/intl.dart' as intl; import 'app_localizations_de.dart'; // ignore_for_file: type=lint /// Callers can lookup localized strings with an instance of AppLocalizations /// returned by `AppLocalizations.of(context)`. /// /// Applications need to include `AppLocalizations.delegate()` in their app's /// `localizationDelegates` list, and the locales they support in the app's /// `supportedLocales` list. For example: /// /// ```dart /// import 'l10n/app_localizations.dart'; /// /// return MaterialApp( /// localizationsDelegates: AppLocalizations.localizationsDelegates, /// supportedLocales: AppLocalizations.supportedLocales, /// home: MyApplicationHome(), /// ); /// ``` /// /// ## Update pubspec.yaml /// /// Please make sure to update your pubspec.yaml to include the following /// packages: /// /// ```yaml /// dependencies: /// # Internationalization support. /// flutter_localizations: /// sdk: flutter /// intl: any # Use the pinned version from flutter_localizations /// /// # Rest of dependencies /// ``` /// /// ## iOS Applications /// /// iOS applications define key application metadata, including supported /// locales, in an Info.plist file that is built into the application bundle. /// To configure the locales supported by your app, you’ll need to edit this /// file. /// /// First, open your project’s ios/Runner.xcworkspace Xcode workspace file. /// Then, in the Project Navigator, open the Info.plist file under the Runner /// project’s Runner folder. /// /// Next, select the Information Property List item, select Add Item from the /// Editor menu, then select Localizations from the pop-up menu. /// /// Select and expand the newly-created Localizations item then, for each /// locale your application supports, add a new item and select the locale /// you wish to add from the pop-up menu in the Value field. This list should /// be consistent with the languages listed in the AppLocalizations.supportedLocales /// property. abstract class AppLocalizations { AppLocalizations(String locale) : localeName = intl.Intl.canonicalizedLocale(locale.toString()); final String localeName; static AppLocalizations of(BuildContext context) { return Localizations.of(context, AppLocalizations)!; } static const LocalizationsDelegate delegate = _AppLocalizationsDelegate(); /// A list of this localizations delegate along with the default localizations /// delegates. /// /// Returns a list of localizations delegates containing this delegate along with /// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, /// and GlobalWidgetsLocalizations.delegate. /// /// Additional delegates can be added by appending to this list in /// MaterialApp. This list does not have to be used at all if a custom list /// of delegates is preferred or required. static const List> localizationsDelegates = >[ delegate, GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, GlobalWidgetsLocalizations.delegate, ]; /// A list of this localizations delegate's supported locales. static const List supportedLocales = [Locale('de')]; /// No description provided for @appTitle. /// /// In de, this message translates to: /// **'HouseHoldKeaper'** String get appTitle; /// No description provided for @tabHome. /// /// In de, this message translates to: /// **'Übersicht'** String get tabHome; /// No description provided for @tabRooms. /// /// In de, this message translates to: /// **'Räume'** String get tabRooms; /// No description provided for @tabSettings. /// /// In de, this message translates to: /// **'Einstellungen'** String get tabSettings; /// No description provided for @homeEmptyTitle. /// /// In de, this message translates to: /// **'Noch nichts zu tun!'** String get homeEmptyTitle; /// No description provided for @homeEmptyMessage. /// /// In de, this message translates to: /// **'Lege zuerst einen Raum an, um Aufgaben zu planen.'** String get homeEmptyMessage; /// No description provided for @homeEmptyAction. /// /// In de, this message translates to: /// **'Raum erstellen'** String get homeEmptyAction; /// No description provided for @roomsEmptyTitle. /// /// In de, this message translates to: /// **'Hier ist noch alles leer!'** String get roomsEmptyTitle; /// No description provided for @roomsEmptyMessage. /// /// In de, this message translates to: /// **'Erstelle deinen ersten Raum, um loszulegen.'** String get roomsEmptyMessage; /// No description provided for @roomsEmptyAction. /// /// In de, this message translates to: /// **'Raum erstellen'** String get roomsEmptyAction; /// No description provided for @settingsSectionAppearance. /// /// In de, this message translates to: /// **'Darstellung'** String get settingsSectionAppearance; /// No description provided for @settingsThemeLabel. /// /// In de, this message translates to: /// **'Farbschema'** String get settingsThemeLabel; /// No description provided for @themeSystem. /// /// In de, this message translates to: /// **'System'** String get themeSystem; /// No description provided for @themeLight. /// /// In de, this message translates to: /// **'Hell'** String get themeLight; /// No description provided for @themeDark. /// /// In de, this message translates to: /// **'Dunkel'** String get themeDark; /// No description provided for @settingsSectionAbout. /// /// In de, this message translates to: /// **'Über'** String get settingsSectionAbout; /// No description provided for @aboutAppName. /// /// In de, this message translates to: /// **'HouseHoldKeaper'** String get aboutAppName; /// No description provided for @aboutTagline. /// /// In de, this message translates to: /// **'Dein Haushalt, entspannt organisiert.'** String get aboutTagline; /// No description provided for @aboutVersion. /// /// In de, this message translates to: /// **'Version {version}'** String aboutVersion(String version); /// No description provided for @roomFormCreateTitle. /// /// In de, this message translates to: /// **'Raum erstellen'** String get roomFormCreateTitle; /// No description provided for @roomFormEditTitle. /// /// In de, this message translates to: /// **'Raum bearbeiten'** String get roomFormEditTitle; /// No description provided for @roomFormNameLabel. /// /// In de, this message translates to: /// **'Raumname'** String get roomFormNameLabel; /// No description provided for @roomFormNameHint. /// /// In de, this message translates to: /// **'z.B. Küche, Badezimmer...'** String get roomFormNameHint; /// No description provided for @roomFormNameRequired. /// /// In de, this message translates to: /// **'Bitte einen Namen eingeben'** String get roomFormNameRequired; /// No description provided for @roomFormIconLabel. /// /// In de, this message translates to: /// **'Symbol wählen'** String get roomFormIconLabel; /// No description provided for @roomDeleteConfirmTitle. /// /// In de, this message translates to: /// **'Raum löschen?'** String get roomDeleteConfirmTitle; /// No description provided for @roomDeleteConfirmMessage. /// /// In de, this message translates to: /// **'Der Raum und alle zugehörigen Aufgaben werden unwiderruflich gelöscht.'** String get roomDeleteConfirmMessage; /// No description provided for @roomDeleteConfirmAction. /// /// In de, this message translates to: /// **'Löschen'** String get roomDeleteConfirmAction; /// No description provided for @roomCardDueCount. /// /// In de, this message translates to: /// **'{count} fällig'** String roomCardDueCount(int count); /// No description provided for @cancel. /// /// In de, this message translates to: /// **'Abbrechen'** String get cancel; /// No description provided for @taskFormCreateTitle. /// /// In de, this message translates to: /// **'Aufgabe erstellen'** String get taskFormCreateTitle; /// No description provided for @taskFormEditTitle. /// /// In de, this message translates to: /// **'Aufgabe bearbeiten'** String get taskFormEditTitle; /// No description provided for @taskFormNameLabel. /// /// In de, this message translates to: /// **'Aufgabenname'** String get taskFormNameLabel; /// No description provided for @taskFormNameHint. /// /// In de, this message translates to: /// **'z.B. Staubsaugen, Fenster putzen...'** String get taskFormNameHint; /// No description provided for @taskFormNameRequired. /// /// In de, this message translates to: /// **'Bitte einen Namen eingeben'** String get taskFormNameRequired; /// No description provided for @taskFormFrequencyLabel. /// /// In de, this message translates to: /// **'Wiederholung'** String get taskFormFrequencyLabel; /// No description provided for @taskFormFrequencyCustom. /// /// In de, this message translates to: /// **'Benutzerdefiniert'** String get taskFormFrequencyCustom; /// No description provided for @taskFormFrequencyEvery. /// /// In de, this message translates to: /// **'Alle'** String get taskFormFrequencyEvery; /// No description provided for @taskFormFrequencyUnitDays. /// /// In de, this message translates to: /// **'Tage'** String get taskFormFrequencyUnitDays; /// No description provided for @taskFormFrequencyUnitWeeks. /// /// In de, this message translates to: /// **'Wochen'** String get taskFormFrequencyUnitWeeks; /// No description provided for @taskFormFrequencyUnitMonths. /// /// In de, this message translates to: /// **'Monate'** String get taskFormFrequencyUnitMonths; /// No description provided for @taskFormEffortLabel. /// /// In de, this message translates to: /// **'Aufwand'** String get taskFormEffortLabel; /// No description provided for @taskFormDescriptionLabel. /// /// In de, this message translates to: /// **'Beschreibung (optional)'** String get taskFormDescriptionLabel; /// No description provided for @taskFormDueDateLabel. /// /// In de, this message translates to: /// **'Erstes Fälligkeitsdatum'** String get taskFormDueDateLabel; /// No description provided for @taskDeleteConfirmTitle. /// /// In de, this message translates to: /// **'Aufgabe löschen?'** String get taskDeleteConfirmTitle; /// No description provided for @taskDeleteConfirmMessage. /// /// In de, this message translates to: /// **'Die Aufgabe wird unwiderruflich gelöscht.'** String get taskDeleteConfirmMessage; /// No description provided for @taskDeleteConfirmAction. /// /// In de, this message translates to: /// **'Löschen'** String get taskDeleteConfirmAction; /// No description provided for @taskEmptyTitle. /// /// In de, this message translates to: /// **'Noch keine Aufgaben'** String get taskEmptyTitle; /// No description provided for @taskEmptyMessage. /// /// In de, this message translates to: /// **'Erstelle die erste Aufgabe für diesen Raum.'** String get taskEmptyMessage; /// No description provided for @taskEmptyAction. /// /// In de, this message translates to: /// **'Aufgabe erstellen'** String get taskEmptyAction; /// No description provided for @templatePickerTitle. /// /// In de, this message translates to: /// **'Aufgaben aus Vorlagen hinzufügen?'** String get templatePickerTitle; /// No description provided for @templatePickerSkip. /// /// In de, this message translates to: /// **'Überspringen'** String get templatePickerSkip; /// No description provided for @templatePickerAdd. /// /// In de, this message translates to: /// **'Hinzufügen'** String get templatePickerAdd; /// No description provided for @templatePickerSelected. /// /// In de, this message translates to: /// **'{count} ausgewählt'** String templatePickerSelected(int count); /// No description provided for @dailyPlanProgress. /// /// In de, this message translates to: /// **'{completed} von {total} erledigt'** String dailyPlanProgress(int completed, int total); /// No description provided for @dailyPlanSectionOverdue. /// /// In de, this message translates to: /// **'Überfällig'** String get dailyPlanSectionOverdue; /// No description provided for @dailyPlanSectionToday. /// /// In de, this message translates to: /// **'Heute'** String get dailyPlanSectionToday; /// No description provided for @dailyPlanSectionUpcoming. /// /// In de, this message translates to: /// **'Demnächst'** String get dailyPlanSectionUpcoming; /// No description provided for @dailyPlanUpcomingCount. /// /// In de, this message translates to: /// **'Demnächst ({count})'** String dailyPlanUpcomingCount(int count); /// No description provided for @dailyPlanAllClearTitle. /// /// In de, this message translates to: /// **'Alles erledigt! 🌟'** String get dailyPlanAllClearTitle; /// No description provided for @dailyPlanAllClearMessage. /// /// In de, this message translates to: /// **'Keine Aufgaben für heute. Genieße den Moment!'** String get dailyPlanAllClearMessage; /// No description provided for @dailyPlanNoOverdue. /// /// In de, this message translates to: /// **'Keine überfälligen Aufgaben'** String get dailyPlanNoOverdue; /// No description provided for @dailyPlanNoTasks. /// /// In de, this message translates to: /// **'Noch keine Aufgaben angelegt'** String get dailyPlanNoTasks; /// No description provided for @settingsSectionNotifications. /// /// In de, this message translates to: /// **'Benachrichtigungen'** String get settingsSectionNotifications; /// No description provided for @notificationsEnabledLabel. /// /// In de, this message translates to: /// **'Tägliche Erinnerung'** String get notificationsEnabledLabel; /// No description provided for @notificationsTimeLabel. /// /// In de, this message translates to: /// **'Uhrzeit'** String get notificationsTimeLabel; /// No description provided for @notificationsPermissionDeniedHint. /// /// In de, this message translates to: /// **'Benachrichtigungen sind in den Systemeinstellungen deaktiviert. Tippe hier, um sie zu aktivieren.'** String get notificationsPermissionDeniedHint; /// No description provided for @notificationTitle. /// /// In de, this message translates to: /// **'Dein Tagesplan'** String get notificationTitle; /// No description provided for @notificationBody. /// /// In de, this message translates to: /// **'{count} Aufgaben fällig'** String notificationBody(int count); /// No description provided for @notificationBodyWithOverdue. /// /// In de, this message translates to: /// **'{count} Aufgaben fällig ({overdue} überfällig)'** String notificationBodyWithOverdue(int count, int overdue); /// No description provided for @calendarTodayButton. /// /// In de, this message translates to: /// **'Heute'** String get calendarTodayButton; /// No description provided for @taskHistoryTitle. /// /// In de, this message translates to: /// **'Verlauf'** String get taskHistoryTitle; /// No description provided for @taskHistoryEmpty. /// /// In de, this message translates to: /// **'Noch nie erledigt'** String get taskHistoryEmpty; /// No description provided for @taskHistoryCount. /// /// In de, this message translates to: /// **'{count} Mal erledigt'** String taskHistoryCount(int count); } class _AppLocalizationsDelegate extends LocalizationsDelegate { const _AppLocalizationsDelegate(); @override Future load(Locale locale) { return SynchronousFuture(lookupAppLocalizations(locale)); } @override bool isSupported(Locale locale) => ['de'].contains(locale.languageCode); @override bool shouldReload(_AppLocalizationsDelegate old) => false; } AppLocalizations lookupAppLocalizations(Locale locale) { // Lookup logic when only language code is specified. switch (locale.languageCode) { case 'de': return AppLocalizationsDe(); } throw FlutterError( 'AppLocalizations.delegate failed to load unsupported locale "$locale". This is likely ' 'an issue with the localizations generation tool. Please file an issue ' 'on GitHub with a reproducible sample app and the gen-l10n configuration ' 'that was used.', ); }