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: /// **'Planty'** 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 @householdPlaceholder. /// /// In de, this message translates to: /// **'Hier kannst du bald deinen Haushalt teilen, damit Familie oder Pflanzen-Sitter die Pflanzen mitversorgen können.'** String get householdPlaceholder; /// No description provided for @householdComingSoon. /// /// In de, this message translates to: /// **'Kommt in Version 2'** String get householdComingSoon; /// 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 Planty an offene Aufgaben.'** String get settingsReminderTimeHint; /// No description provided for @demoDataBanner. /// /// In de, this message translates to: /// **'Demo-Daten – werden durch deine echten Pflanzen ersetzt'** String get demoDataBanner; } 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.', ); }