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'; import 'app_localizations_en.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'), Locale('en') ]; /// The title of the homepage /// /// In en, this message translates to: /// **'wildlife monitoring'** String get homePageTitle; /// Button to add a place /// /// In en, this message translates to: /// **'add Place'** String get addplace; /// View place tab titel /// /// In en, this message translates to: /// **'Completed'** String get completed; /// View place tab titel /// /// In en, this message translates to: /// **'Uncompleted'** String get uncompleted; /// Delete everything Alert Dialog title /// /// In en, this message translates to: /// **'Delete everything?'** String get deleteEverything; /// Delete everything Alert Dialog content /// /// In en, this message translates to: /// **'Every place will deleted locally!'** String get deleteEverythingContent; /// Camera link textfield /// /// In en, this message translates to: /// **'Link to cam'** String get camLink; /// No description provided for @firststep. /// /// In en, this message translates to: /// **'PLACE, CAMERA, TERRITORY'** String get firststep; /// second step header /// /// In en, this message translates to: /// **'Place, neighbouhood'** String get secondstep; /// date step /// /// In en, this message translates to: /// **'Installation and control date '** String get thirdstep; /// contact header /// /// In en, this message translates to: /// **'Contact'** String get fourthstep; /// Einstellungen page titel /// /// In en, this message translates to: /// **'Settings'** String get settings; /// No description provided for @changenamestate. /// /// In en, this message translates to: /// **'Change name and state'** String get changenamestate; /// view places appbar /// /// In en, this message translates to: /// **'View Places'** String get viewplacesappbar; /// Rudel textfield /// /// In en, this message translates to: /// **'Pack'** String get rudel; /// Address 1 textfield /// /// In en, this message translates to: /// **'Address 1'** String get adresse1; /// Address 2 textfield /// /// In en, this message translates to: /// **'Address 2'** String get adresse2; /// adress3 textfield /// /// In en, this message translates to: /// **'Address 3'** String get adresse3; /// state textfield /// /// In en, this message translates to: /// **'State'** String get bland; /// lkr textfield /// /// In en, this message translates to: /// **'country'** String get lkr; /// beiort textfield /// /// In en, this message translates to: /// **'By state'** String get beiort; /// OrtInfo textfield /// /// In en, this message translates to: /// **'State info'** String get ortinfo; /// Active radiobutton /// /// In en, this message translates to: /// **'Active'** String get aktiv; /// Inactive radiobutton /// /// In en, this message translates to: /// **'Inactive'** String get inaktiv; /// opportunistisch radiobutton /// /// In en, this message translates to: /// **'opportunist'** String get opportunistisch; /// systematic radiobutton /// /// In en, this message translates to: /// **'systematic'** String get systematisch; /// FFTyp textfield /// /// In en, this message translates to: /// **'Camera model'** String get fftyp; /// photo radiobutton /// /// In en, this message translates to: /// **'Photo'** String get foto; /// film radiobutton /// /// In en, this message translates to: /// **'Film'** String get film; /// summertime radiobutton /// /// In en, this message translates to: /// **'Summertime'** String get sommerzeit; /// winterzeit radiobutton /// /// In en, this message translates to: /// **'winterzeit'** String get winterzeit; /// kirrung radiobutton /// /// In en, this message translates to: /// **'Kirrung'** String get kirrung; /// wasserstelle radiobutton /// /// In en, this message translates to: /// **'Water point'** String get wasserstelle; /// wald radiobutton /// /// In en, this message translates to: /// **'Forest'** String get wald; /// wildwechsel radiobutton /// /// In en, this message translates to: /// **'Wildchange'** String get wildwechsel; /// weg/straße radiobutton /// /// In en, this message translates to: /// **'Path/Road'** String get wegstrasse; /// kschlonr textfield /// /// In en, this message translates to: /// **'KLock number'** String get kschlonr; /// no radiobutton /// /// In en, this message translates to: /// **'No'** String get nein; /// yes radiobutton /// /// In en, this message translates to: /// **'Yes'** String get ja; /// pickkontdat button /// /// In en, this message translates to: /// **'Control'** String get pickkontdat; /// No description provided for @pickabbaudat. /// /// In en, this message translates to: /// **'Disamble'** String get pickabbaudat; /// platzung header /// /// In en, this message translates to: /// **'Placement'** String get platzung; /// summertime header /// /// In en, this message translates to: /// **'Timesetting'** String get zeiteinstellung; /// Auftrag textfield /// /// In en, this message translates to: /// **'Order'** String get auftrag; /// kontabsp textfield /// /// In en, this message translates to: /// **'Agreements'** String get kontabsp; /// sonstbemerkungen textfield /// /// In en, this message translates to: /// **'Other remarks'** String get sonstbemerkungen; /// fkontakt1 textfield /// /// In en, this message translates to: /// **'FContact 1'** String get fkontakt1; /// fkontakt2 textfield /// /// In en, this message translates to: /// **'FContact 2'** String get fkontakt2; /// fkontakt3 textfield /// /// In en, this message translates to: /// **'FContact 3'** String get fkontakt3; /// altstort textfield /// /// In en, this message translates to: /// **'Place'** String get altstort; /// nichts text /// /// In en, this message translates to: /// **'None'** String get nichts; /// just ktage /// /// In en, this message translates to: /// **'KDays'** String get ktage; /// ktage1 text/number field /// /// In en, this message translates to: /// **'KDays 1'** String get ktage1; /// ktage2 text/number field /// /// In en, this message translates to: /// **'KDays 2'** String get ktage2; /// intkomm textfield /// /// In en, this message translates to: /// **'Internal communication'** String get intkomm; /// Betreuung textfield /// /// In en, this message translates to: /// **'Care'** String get betreuung; /// hof/garten radiobutton /// /// In en, this message translates to: /// **'Yard/Garden'** String get hofgarten; /// wiese/feld/offenfläche radiobutton /// /// In en, this message translates to: /// **'Meadow/field/open space'** String get wiesefeld; /// EUGrid textfield /// /// In en, this message translates to: /// **'EUGrid'** String get eugrid; /// Pick date button /// /// In en, this message translates to: /// **'Installation'** String get pickDate; /// Pick time button /// /// In en, this message translates to: /// **'Pick Time'** String get pickTime; /// Delete all Places /// /// In en, this message translates to: /// **'Delete all places'** String get delAll; /// field empty error message /// /// In en, this message translates to: /// **'Required field(s) empty'** String get fieldEmpty; /// cancel /// /// In en, this message translates to: /// **'Cancel'** String get cancel; /// Save inputs as templates /// /// In en, this message translates to: /// **'Save as Template / update'** String get template; /// Open Map button /// /// In en, this message translates to: /// **'Open Map'** String get openMap; /// Save and close button text /// /// In en, this message translates to: /// **'Save and close map'** String get saveMap; /// Disabled location snackbar /// /// In en, this message translates to: /// **'Location Disabled. Please enable it'** String get locationDisabled; /// Location forbidden /// /// In en, this message translates to: /// **'Location forbidden. It is recommended to allow it'** String get locationForbidden; /// Map appbar /// /// In en, this message translates to: /// **'Map'** String get map; /// status header /// /// In en, this message translates to: /// **'Status'** String get status; /// Bearsafe header /// /// In en, this message translates to: /// **'Bearsafe'** String get bearsafe; /// sttyp header /// /// In en, this message translates to: /// **'Selection of location'** String get sttyp; /// Marker set snackbar /// /// In en, this message translates to: /// **'Marker set to'** String get markerSet; /// View specific place appbar text /// /// In en, this message translates to: /// **'Place'** String get ort; /// No description provided for @continueB. /// /// In en, this message translates to: /// **'continue'** String get continueB; /// Save as file button in save method popup /// /// In en, this message translates to: /// **'Save as File'** String get saveasfile; /// Send data to server button in save method popup /// /// In en, this message translates to: /// **'Send to server'** String get sendtoserver; /// Title of save method popup /// /// In en, this message translates to: /// **'Choose safe method'** String get savemethod; /// View Excursionen button /// /// In en, this message translates to: /// **'View Places'** String get viewplaces; /// No description provided for @viewExcursionen. /// /// In en, this message translates to: /// **'View Excursionen'** String get viewExcursionen; /// show login screen popup menu item /// /// In en, this message translates to: /// **'Show login Screen'** String get showloginscreen; /// api address hint /// /// In en, this message translates to: /// **'Api-address'** String get apiaddress; /// intro screen benutzername hint /// /// In en, this message translates to: /// **'Username'** String get benutzername; /// settings file location header /// /// In en, this message translates to: /// **'Location of the last saved file:'** String get filelocation; /// open button /// /// In en, this message translates to: /// **'Open'** String get open; /// date text /// /// In en, this message translates to: /// **'Date'** String get date; /// Location text /// /// In en, this message translates to: /// **'Location'** String get location; /// Send file to server button /// /// In en, this message translates to: /// **'Send file to server'** String get sendfile; /// Pick file button /// /// In en, this message translates to: /// **'Pick file'** String get pickfile; /// No description provided for @placedata. /// /// In en, this message translates to: /// **'Place data'** String get placedata; /// No description provided for @excursionData. /// /// In en, this message translates to: /// **'Excursion data'** String get excursionData; /// view data sent header /// /// In en, this message translates to: /// **'Sent'** String get sent; /// file successfully saved /// /// In en, this message translates to: /// **'File saved at: '** String get fileSaved; /// save as file failed snackbar /// /// In en, this message translates to: /// **'Error. Please try again'** String get savefilefailed; /// just the word place /// /// In en, this message translates to: /// **'Place'** String get justplace; /// Just save in the database save options dialog /// /// In en, this message translates to: /// **'Just save'** String get justsave; /// already finished entrie options dialog header /// /// In en, this message translates to: /// **'Already finished entrie'** String get finishedentrie; /// just delete action pane label /// /// In en, this message translates to: /// **'Delete'** String get justdelete; /// server error alert dialog title /// /// In en, this message translates to: /// **'Server Error'** String get servererrortitle; /// send again option /// /// In en, this message translates to: /// **'Send again'** String get sendagain; /// successful alert dialog title /// /// In en, this message translates to: /// **'successful'** String get successful; /// back alert dialog option /// /// In en, this message translates to: /// **'Back'** String get back; /// just Loading /// /// In en, this message translates to: /// **'Loading'** String get loading; /// test /// /// In en, this message translates to: /// **'Test'** String get test; /// no test /// /// In en, this message translates to: /// **'No Test'** String get notest; /// no test /// /// In en, this message translates to: /// **'Excursion'** String get excursion; /// date and time step header /// /// In en, this message translates to: /// **'Date and Time'** String get dateandtime; /// No description provided for @umstaendeUndAktionen. /// /// In en, this message translates to: /// **'circumstances and actions'** String get umstaendeUndAktionen; /// teilnehmer text field /// /// In en, this message translates to: /// **'Participants'** String get teilnehmer; /// Duration text field /// /// In en, this message translates to: /// **'Duration hh:mm'** String get dauer; /// BimaNr text field /// /// In en, this message translates to: /// **'BIMA Number'** String get bimaNr; /// BimaName text field /// /// In en, this message translates to: /// **'BIMA Name'** String get bimaName; /// BimaNutzer text field /// /// In en, this message translates to: /// **'BIMA User'** String get bimaNutzer; /// BimaAGV text field /// /// In en, this message translates to: /// **'BIMA AGV'** String get bimaAGV; /// BIMA Bundeswehr radiobutton /// /// In en, this message translates to: /// **'Bundeswehr'** String get bundeswehr; /// BIMA Gastreitkraefte radiobutton /// /// In en, this message translates to: /// **'Gaststreitkraefte'** String get gaststreitkraefte; /// BIMA NNE Bund radiobutton /// /// In en, this message translates to: /// **'NNE Bund'** String get nneBund; /// BIMA Geschäftsliegenschaft/AGV radiobutton /// /// In en, this message translates to: /// **'Geschäftsliegenschaft/AGV'** String get geschaeftsliegenschaftAGV; /// BIMA kein radiobutton /// /// In en, this message translates to: /// **'None'** String get kein; /// mHund radiobutton /// /// In en, this message translates to: /// **'With dog'** String get mHund; /// mLeine radiobutten /// /// In en, this message translates to: /// **'With Dog leash'** String get mLeine; /// name text field /// /// In en, this message translates to: /// **'Name'** String get name; /// No description provided for @aktuell. /// /// In en, this message translates to: /// **'currently'** String get aktuell; /// No description provided for @selberMorgen. /// /// In en, this message translates to: /// **'same morning'** String get selberMorgen; /// No description provided for @letzteNacht. /// /// In en, this message translates to: /// **'last night'** String get letzteNacht; /// No description provided for @vortag. /// /// In en, this message translates to: /// **'day before'** String get vortag; /// No description provided for @vor23Tagen. /// /// In en, this message translates to: /// **'2/3 days ago'** String get vor23Tagen; /// No description provided for @vor46Tagen. /// /// In en, this message translates to: /// **'4/6 days ago'** String get vor46Tagen; /// No description provided for @vor1Woche. /// /// In en, this message translates to: /// **'=> 1 week'** String get vor1Woche; /// No description provided for @letzterNiederschlag. /// /// In en, this message translates to: /// **'Last precipitation'** String get letzterNiederschlag; /// No description provided for @wetter. /// /// In en, this message translates to: /// **'Weather'** String get wetter; /// No description provided for @temperatur. /// /// In en, this message translates to: /// **'Temperature'** String get temperatur; /// No description provided for @auto. /// /// In en, this message translates to: /// **'Car'** String get auto; /// No description provided for @zuFuss. /// /// In en, this message translates to: /// **'Per foot'** String get zuFuss; /// No description provided for @fahrrad. /// /// In en, this message translates to: /// **'Bike'** String get fahrrad; /// No description provided for @gesamt. /// /// In en, this message translates to: /// **'Total'** String get gesamt; /// No description provided for @spurbedingungen. /// /// In en, this message translates to: /// **'Track conditions'** String get spurbedingungen; /// No description provided for @gut. /// /// In en, this message translates to: /// **'Good'** String get gut; /// No description provided for @mittel. /// /// In en, this message translates to: /// **'Middle'** String get mittel; /// No description provided for @schlecht. /// /// In en, this message translates to: /// **'Bad'** String get schlecht; /// No description provided for @spurGefunden. /// /// In en, this message translates to: /// **'Track Found'** String get spurGefunden; /// No description provided for @gesLaengeAllerDokSpuren. /// /// In en, this message translates to: /// **'Total length of documentad tracks'** String get gesLaengeAllerDokSpuren; /// No description provided for @maxAnzahlZusGefaehrdeterTiere. /// /// In en, this message translates to: /// **'Max count of additonal dangered animals'** String get maxAnzahlZusGefaehrdeterTiere; /// No description provided for @sicher. /// /// In en, this message translates to: /// **'Certain'** String get sicher; /// No description provided for @welpenSpurGefunden. /// /// In en, this message translates to: /// **'Puppy track Found'** String get welpenSpurGefunden; /// No description provided for @anzahlLosungen. /// /// In en, this message translates to: /// **'Losung count'** String get anzahlLosungen; /// No description provided for @davonEingesammelt. /// /// In en, this message translates to: /// **'of which collected'** String get davonEingesammelt; /// No description provided for @davonGenetikproben. /// /// In en, this message translates to: /// **'of which genetic samples'** String get davonGenetikproben; /// No description provided for @anzahlUrinMakierstellen. /// /// In en, this message translates to: /// **'Urin/-makery spots count'** String get anzahlUrinMakierstellen; /// No description provided for @anzahlOestrusblut. /// /// In en, this message translates to: /// **'Oestrus bloos count'** String get anzahlOestrusblut; /// No description provided for @anzahlHaarproben. /// /// In en, this message translates to: /// **'Hair samples count'** String get anzahlHaarproben; /// No description provided for @liegestelle. /// /// In en, this message translates to: /// **'Laying spot'** String get liegestelle; /// No description provided for @wildtierKadaver. /// /// In en, this message translates to: /// **'Wildlife carcass'** String get wildtierKadaver; /// No description provided for @sichtung. /// /// In en, this message translates to: /// **'Sighting'** String get sichtung; /// No description provided for @heulen. /// /// In en, this message translates to: /// **'Howling'** String get heulen; /// No description provided for @sonstiges. /// /// In en, this message translates to: /// **'Sonstiges'** String get sonstiges; /// No description provided for @hinweise. /// /// In en, this message translates to: /// **'clues'** String get hinweise; /// No description provided for @zurueckgelegteStrecke. /// /// In en, this message translates to: /// **'Distance traveled'** String get zurueckgelegteStrecke; /// No description provided for @tracking. /// /// In en, this message translates to: /// **'Tracking'** String get tracking; /// No description provided for @couldntDeterminePosition. /// /// In en, this message translates to: /// **'couldn\'t determine position'** String get couldntDeterminePosition; /// No description provided for @trackingRunningInBackground. /// /// In en, this message translates to: /// **'The tracking service is running in the background'** String get trackingRunningInBackground; } class _AppLocalizationsDelegate extends LocalizationsDelegate { const _AppLocalizationsDelegate(); @override Future load(Locale locale) { return SynchronousFuture(lookupAppLocalizations(locale)); } @override bool isSupported(Locale locale) => ['de', 'en'].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(); case 'en': return AppLocalizationsEn(); } 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.' ); }