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