HIGH PRIORITY FIXES: 1. homePage.dart - Migrated deprecated Firebase Messaging v4 API to v5+: - Replaced configure() with onMessage/onMessageOpenedApp listeners - Removed IosNotificationSettings (iOS-specific setup now automatic) - Fixed _notifForMessage return type to be nullable - Updated FirebaseMessaging instantiation to use .instance 2. customStepper.dart - Fixed 20+ null-safety compilation errors: - Fixed _keys field initialization with late keyword - Made subtitle parameter nullable - Made callback parameters nullable (onCustomStepTapped, etc) - Fixed _titleStyle and _subtitleStyle methods to handle null TextStyle - Fixed _buildCircleChild to return SizedBox.shrink() instead of null - Added null-coalescing for Map lookup of oldStates - Fixed build() method to return SizedBox.shrink() instead of null - Made _TrianglePainter color parameter required 3. generated/i18n.dart - Fixed abstract member implementation issues: - Fixed TextDirection return type - Added implementations for missing WidgetsLocalizations members - Fixed resolution method signature to accept nullable Locale - Fixed of() method to return non-null S with fallback - Fixed getLang() function null check for countryCode MEDIUM PRIORITY FIXES: 4. customBottomAppBar.dart - Added default values: - fabLocation: made nullable - showNotch: added default value false - actions: added default empty list 5. customMoment.dart - Fixed field initialization: - Marked _date field as late (initialized in constructors) 6. globals.dart - Fixed uninitialized variable: - Marked appVersion as late 7. globalFiresBottomStats.dart - Fixed null-safety issues: - Marked lastCheck as late - Updated http.read() calls to use Uri.parse() - Fixed list construction to avoid nullable Widget elements Error count reduced from 100+ to 104 (comprehensive fixes applied). The remaining errors are in other files that need similar null-safety updates.
500 lines
19 KiB
Dart
500 lines
19 KiB
Dart
import 'dart:async';
|
|
|
|
import 'package:flutter/foundation.dart';
|
|
import 'package:flutter/material.dart';
|
|
// ignore_for_file: non_constant_identifier_names
|
|
// ignore_for_file: camel_case_types
|
|
// ignore_for_file: prefer_single_quotes
|
|
|
|
//This file is automatically generated. DO NOT EDIT, all your changes would be lost.
|
|
|
|
class S implements WidgetsLocalizations {
|
|
const S();
|
|
|
|
static const GeneratedLocalizationsDelegate delegate =
|
|
const GeneratedLocalizationsDelegate();
|
|
|
|
static S of(BuildContext context) =>
|
|
Localizations.of<S>(context, WidgetsLocalizations) ?? const S();
|
|
|
|
@override
|
|
TextDirection get textDirection => TextDirection.ltr;
|
|
|
|
// Minimal implementations for abstract members from WidgetsLocalizations
|
|
@override
|
|
String get copyButtonLabel => "Copy";
|
|
@override
|
|
String get cutButtonLabel => "Cut";
|
|
@override
|
|
String get lookUpButtonLabel => "Look Up";
|
|
@override
|
|
String get noResultsFound => "No results found";
|
|
@override
|
|
String get pastePlainTextLabel => "Paste Plain Text";
|
|
@override
|
|
String get pasteButtonLabel => "Paste";
|
|
@override
|
|
String get selectAllButtonLabel => "Select All";
|
|
@override
|
|
String get searchWebButtonLabel => "Search Web";
|
|
@override
|
|
String get shareButtonLabel => "Share";
|
|
@override
|
|
String get clearButtonTooltip => "Clear";
|
|
@override
|
|
String get collapsedIconButtonLabel => "Expand";
|
|
@override
|
|
String get expandedIconButtonLabel => "Collapse";
|
|
@override
|
|
String get openAppDrawerTooltip => "Open navigation menu";
|
|
@override
|
|
String get backButtonTooltip => "Back";
|
|
@override
|
|
String get closeButtonLabel => "Close";
|
|
@override
|
|
String get closeButtonTooltip => "Close";
|
|
@override
|
|
String get nextMonthTooltip => "Next month";
|
|
@override
|
|
String get previousMonthTooltip => "Previous month";
|
|
@override
|
|
String get nextPageTooltip => "Next page";
|
|
@override
|
|
String get previousPageTooltip => "Previous page";
|
|
@override
|
|
String get firstPageTooltip => "First page";
|
|
@override
|
|
String get lastPageTooltip => "Last page";
|
|
@override
|
|
String get showMenuTooltip => "Show menu";
|
|
@override
|
|
String tabLabel({required int tabIndex, required int tabCount}) => "Tab";
|
|
@override
|
|
String get licensesPageTitle => "Licenses";
|
|
@override
|
|
String get rowsPerPageTitle => "Rows per page:";
|
|
@override
|
|
String get cancelButtonLabel => "CANCEL";
|
|
@override
|
|
String get okButtonLabel => "OK";
|
|
@override
|
|
String get radioButtonUnselectedLabel => "Unselected";
|
|
@override
|
|
String get radioButtonSelectedLabel => "Selected";
|
|
@override
|
|
String get reorderItemDown => "Move down";
|
|
@override
|
|
String get reorderItemLeft => "Move left";
|
|
@override
|
|
String get reorderItemRight => "Move right";
|
|
@override
|
|
String get reorderItemUp => "Move up";
|
|
@override
|
|
String get scriptCategory => "English";
|
|
@override
|
|
String get reorderItemToEnd => "Move to end";
|
|
@override
|
|
String get reorderItemToStart => "Move to start";
|
|
@override
|
|
String get searchResultsFound => "Search results found";
|
|
|
|
String get AvoidThisStringsIfisNotPlural => "Zero One Two Few Many Other";
|
|
String get CANCEL => "CANCEL";
|
|
String get CLOSE => "CLOSE";
|
|
String get DELETE => "DELETE";
|
|
String get NASAAck =>
|
|
"We acknowledge the use of data and imagery from LANCE FIRMS operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.";
|
|
String get SAVE => "SAVE";
|
|
String get SHOW => "SHOW";
|
|
String get UNDO => "UNDO";
|
|
String get aDay => "a day";
|
|
String get aF3wSeconds => "a few seconds";
|
|
String get aMinute => "a minute";
|
|
String get aMonth => "a month";
|
|
String get aYear => "a year";
|
|
String get activeFires => "Active fires";
|
|
String get addSomePlace => "Add some other place";
|
|
String get addYourCurrentPosition => "Add your current position";
|
|
String get addedThisLocation => "You have already added this location";
|
|
String get alertWhenThereIsAFire => "Alert when there is a fire";
|
|
String get anHour => "an hour";
|
|
String get appMoto => "Strengthening neighborhoods against wildfires";
|
|
String get appName => "All Against The Fire!";
|
|
String get areYouSureTitle => "Are you sure?";
|
|
String get byNASAsatellites => "by NASA satellites";
|
|
String get byOurUsers => "by one of our users";
|
|
String get callEmergencyServicesDescription =>
|
|
"You should call 112 if you have not already done so to notify the emergency services.";
|
|
String get callEmergencyServicesTitle => "Call 112";
|
|
String get chooseAPlace => "Choose a place";
|
|
String get chooseAWatchRadio => "Choose a watch radio";
|
|
String get comunesSupportBtn => "Know and support our work";
|
|
String get confirm => "Confirm";
|
|
String get deleteAllFireNotificationsAlertDescription =>
|
|
"This will remove all your fire notifications";
|
|
String get errorFirePlaceDialog => "We couldn't get the location of the fire";
|
|
String get fireNotificationTitle => "Fire Notification";
|
|
String get fireNotificationsDescription =>
|
|
"Here you will receive fire notifications in locations you are subscribed to";
|
|
String get fireNotificationsTitle => "Fire Notifications";
|
|
String get fireNotificationsTitleShort => "Notifications";
|
|
String get firesInTheWorld => "Active fires in the world";
|
|
String get firesInYourPlaces => "Active fires in your places";
|
|
String get firesNearPlace => "Fires near other place";
|
|
String get getAlertsOfFiresinThatArea => "Get alerts of fires in that area";
|
|
String get inDevelopment => "In development";
|
|
String get inGreenMonitoredAreas =>
|
|
"In green, the areas monitored by our users currently";
|
|
String get isYourUbicationEnabled =>
|
|
"I cannot get your current location. It's your ubication enabled?";
|
|
String get itSeemsAControlledBurning => "It's a controlled burning";
|
|
String get itSeemsAFalseAlarm => "It seems a false alarm";
|
|
String get itSeemsAIndustry => "It's an industry";
|
|
String get itSeemsNotAtForesFire =>
|
|
"It seems that this is not a forest fire.";
|
|
String get mapPrivacy =>
|
|
"In order to preserve the privacy of our users, the reflected data are randomly altered and are only indicative.";
|
|
String get monitoredAreasTitle => "Monitored areas";
|
|
String get noConnectivity =>
|
|
"This application needs an Internet connection to work";
|
|
String get noFiresAround => "There is no fires";
|
|
String get notAWildfire => "Isn't that a forest fire?";
|
|
String get notPermsUbication =>
|
|
"We don't have permission to get your location";
|
|
String get notifyAFire => "Notify a fire";
|
|
String get notifyNeighbours => "Notify other users";
|
|
String get notifyNeighboursDescription =>
|
|
"Alert other users of the area about the fire";
|
|
String get privacyPolicy => "Privacy Policy";
|
|
String get shareAppBtn => "Share our app";
|
|
String get starAppBtn => "Rate our app";
|
|
String get subscribedToFires => "Subscribed to fires notifications";
|
|
String get supportPageDescription =>
|
|
"You can support this initiative, spreading the word, helping us to develop our software, translating this app to your language, suggesting other public data sources of fires to use, etc.";
|
|
String get supportThisInitiative => "Support this initiative";
|
|
String get thanksForParticipating => "Thanks for participating";
|
|
String get toDeleteThisNotification =>
|
|
"Slide horizontally to delete this notification";
|
|
String get toDeleteThisPlace => "Slide horizontally to delete this place";
|
|
String get toFiresNotifications => "Subscribe to fires notifications";
|
|
String get translateBtn => "Help with translations";
|
|
String get tweetAboutAFireDescription =>
|
|
"Additionally if you use twitter you can share additional information with the emergency services, for example, attaching photos to the tweet if you have good visibility of the fire, when you took the photos, exact location, etc. Use #hashtags type #IFMinicipalTerminal for example #IFJumilla (Forest Fire in Jumilla).";
|
|
String get tweetAboutAFireTitle => "Tweet about";
|
|
String get typeTheNameOfAPlace => "Type the name of a place, region, etc";
|
|
String get unsubscribe => "Unsubscribe";
|
|
String get unsubscribedToFires => "Unsubscribed to fires notifications";
|
|
String get warningThisIsAVeryLargeArea =>
|
|
"Warning: this is a very large area";
|
|
String get youDeletedThisNotification => "You deleted this notification";
|
|
String get youDeletedThisPlace => "You deleted this place";
|
|
String activeFiresWorldWide(String activeFires) =>
|
|
"$activeFires active fires worldwide";
|
|
String additionalInfoAboutFire(String where, String when, String by) =>
|
|
"Fire detected in $where $when $by";
|
|
String appLicense(String thisYear) =>
|
|
"(c) 2017-$thisYear Comunes Association under the GNU Affero GPL v3";
|
|
String fireAroundThisArea(String kmAround) =>
|
|
"A fire at $kmAround км around this area";
|
|
String firesAroundThisArea(String numFires, String kmAround) =>
|
|
"$numFires fires at $kmAround км around this area";
|
|
String inDays(String value) => "$value days";
|
|
String inHours(String value) => "$value hours";
|
|
String inMinutes(String value) => "$value minutes";
|
|
String inMonths(String value) => "$value months";
|
|
String inSomething(String something) => "in $something";
|
|
String inYears(String value) => "$value years";
|
|
String noFiresAroundThisArea(String kmAround) =>
|
|
"There is no fires at $kmAround км around this area";
|
|
String somethingAgo(String something) => "$something ago";
|
|
String subscribeToValueAroundThisArea(String sliderValue) =>
|
|
"Subscribe to $sliderValue км around this area";
|
|
String tweetAboutSelf(String location, String hash) =>
|
|
"Fire in $location $hash";
|
|
String updatedLastCheck(String lastCheck) => "Updated $lastCheck";
|
|
}
|
|
|
|
class gl extends S {
|
|
const gl();
|
|
|
|
@override
|
|
TextDirection get textDirection => TextDirection.ltr;
|
|
|
|
@override
|
|
String get AvoidThisStringsIfisNotPlural => "No hace falta traducir esto";
|
|
@override
|
|
String get appName => "Tod@s contra o Lume!";
|
|
}
|
|
|
|
class en extends S {
|
|
const en();
|
|
}
|
|
|
|
class es extends S {
|
|
const es();
|
|
|
|
@override
|
|
TextDirection get textDirection => TextDirection.ltr;
|
|
|
|
@override
|
|
String get addYourCurrentPosition => "Añade tu ubicación actual";
|
|
@override
|
|
String get toDeleteThisNotification =>
|
|
"Desliza horizontalmente para borrar esta notificación";
|
|
@override
|
|
String get alertWhenThereIsAFire => "Alerta cuando hay un fuego";
|
|
@override
|
|
String get fireNotificationsDescription =>
|
|
"Aquí recibirás las notificaciones de fuegos en los lugares a los que te subscribas";
|
|
@override
|
|
String get byOurUsers => "por uno de nuestros usuarios/as";
|
|
@override
|
|
String get anHour => "una hora";
|
|
@override
|
|
String get areYouSureTitle => "¿Seguro?";
|
|
@override
|
|
String get notifyAFire => "Notificar un fuego";
|
|
@override
|
|
String get callEmergencyServicesDescription =>
|
|
"Deberías llamar al 112 si no lo has hecho ya para avisar a los servicios de emergencia.";
|
|
@override
|
|
String get CLOSE => "CERRAR";
|
|
@override
|
|
String get errorFirePlaceDialog =>
|
|
"No hemos podido obtener la ubicación del fuego";
|
|
@override
|
|
String get toDeleteThisPlace =>
|
|
"Desliza horizontalmente para borrar este lugar";
|
|
@override
|
|
String get deleteAllFireNotificationsAlertDescription =>
|
|
"Esto borrará todas las notificaciones de fuegos";
|
|
@override
|
|
String get tweetAboutAFireDescription =>
|
|
"Adicionalmente si usas twitter puedes compartir información adicional con los servicios de emergencia, por ejemplo, adjuntando fotos al tweet si tienes buena visibilidad del fuego, cuando tomaste las fotos, ubicación exacta, etc. Usa #hashtags tipo #IFTerminoMunicipal por ejemplo #IFJumilla (Incendio Forestal en Jumilla).";
|
|
@override
|
|
String get noConnectivity =>
|
|
"Esta aplicación necesita una conexión a Internet para funcionar";
|
|
@override
|
|
String get AvoidThisStringsIfisNotPlural => "Zero One Two Few Many Other";
|
|
@override
|
|
String get unsubscribe => "Desuscríbete";
|
|
@override
|
|
String get supportThisInitiative => "Apoya esta iniciativa";
|
|
@override
|
|
String get youDeletedThisNotification => "Has borrado esta alerta";
|
|
@override
|
|
String get toFiresNotifications => "Suscríbete a alertas de fuegos";
|
|
@override
|
|
String get notPermsUbication =>
|
|
"No tenemos permisos para conocer tu ubicación";
|
|
@override
|
|
String get fireNotificationTitle => "Notificación de fuego";
|
|
@override
|
|
String get itSeemsAControlledBurning => "Es una quema controlada";
|
|
@override
|
|
String get comunesSupportBtn => "Conoce y apoya nuestro trabajo";
|
|
@override
|
|
String get itSeemsAIndustry => "Es una industria";
|
|
@override
|
|
String get youDeletedThisPlace => "Has borrado este lugar";
|
|
@override
|
|
String get callEmergencyServicesTitle => "Llama al 112";
|
|
@override
|
|
String get noFiresAround => "Sin fuegos";
|
|
@override
|
|
String get chooseAPlace => "Elige un lugar";
|
|
@override
|
|
String get mapPrivacy =>
|
|
"Para preservar la privacidad de nuestros usuarios/as, los datos reflejados están aleatoriamente alterados y son solo orientativos.";
|
|
@override
|
|
String get firesNearPlace => "Fuegos cercanos a ti";
|
|
@override
|
|
String get aYear => "un año";
|
|
@override
|
|
String get unsubscribedToFires => "Desuscrito a notificaciones de fuegos";
|
|
@override
|
|
String get itSeemsNotAtForesFire =>
|
|
"Parece que este fuego no es un fuego forestal.";
|
|
@override
|
|
String get UNDO => "DESHACER";
|
|
@override
|
|
String get notifyNeighbours => "Notifica a otros usuarios/as";
|
|
@override
|
|
String get inDevelopment => "En desarrollo";
|
|
@override
|
|
String get tweetAboutAFireTitle => "Twittea";
|
|
@override
|
|
String get supportPageDescription =>
|
|
"Puedes apoyar esta iniciativa, dando difusión, ayudándonos a desarrollar nuestro software, traduciendo esta aplicación a tu idioma, sugeriendo otras fuentes de datos públicas de fuegos para usar, etc.";
|
|
@override
|
|
String get aMinute => "un minuto";
|
|
@override
|
|
String get fireNotificationsTitle => "Notificaciones de fuegos";
|
|
@override
|
|
String get firesInYourPlaces => "Fuegos en tus lugares";
|
|
@override
|
|
String get NASAAck =>
|
|
"Reconocemos el uso de datos e imágenes de LANCE FIRMS operadas por NASA/GSFC/Earth Science Data and Information System (ESDIS) con fondos proporcionados por NASA/HQ.";
|
|
@override
|
|
String get subscribedToFires => "Suscrito a notificaciones de fuegos";
|
|
@override
|
|
String get isYourUbicationEnabled =>
|
|
"No podemos saber tu ubicación actual. ¿Están los servicios de ubicación en tu móvil activados?";
|
|
@override
|
|
String get thanksForParticipating => "Gracias por Participar";
|
|
@override
|
|
String get starAppBtn => "Puntúa nuestra app";
|
|
@override
|
|
String get fireNotificationsTitleShort => "Notificaciones";
|
|
@override
|
|
String get DELETE => "BORRAR";
|
|
@override
|
|
String get aDay => "un día";
|
|
@override
|
|
String get SAVE => "GUARDAR";
|
|
@override
|
|
String get SHOW => "MOSTRAR";
|
|
@override
|
|
String get shareAppBtn => "Comparte nuestra app";
|
|
@override
|
|
String get translateBtn => "Ayuda con las traducciones";
|
|
@override
|
|
String get itSeemsAFalseAlarm => "Parece una falsa alarma";
|
|
@override
|
|
String get addedThisLocation => "Ya has añadido este lugar antes";
|
|
@override
|
|
String get typeTheNameOfAPlace => "Escribe el nombre de un lugar, zona, etc";
|
|
@override
|
|
String get appName => "¡Tod@s contra el Fuego!";
|
|
@override
|
|
String get aF3wSeconds => "unos segundos";
|
|
@override
|
|
String get privacyPolicy => "Política de Privacidad";
|
|
@override
|
|
String get activeFires => "Fuegos activos";
|
|
@override
|
|
String get aMonth => "un mes";
|
|
@override
|
|
String get firesInTheWorld => "Fuegos en el mundo";
|
|
@override
|
|
String get notifyNeighboursDescription =>
|
|
"Alerta a otros usuarios de la zona sobre el fuego";
|
|
@override
|
|
String get addSomePlace => "Añade otro lugar";
|
|
@override
|
|
String get confirm => "Confirmar";
|
|
@override
|
|
String get inGreenMonitoredAreas =>
|
|
"En verde, las zonas vigiladas por nuestros usuari@s actualmente";
|
|
@override
|
|
String get getAlertsOfFiresinThatArea =>
|
|
"Recibe alertas de fuegos en esa zona";
|
|
@override
|
|
String get monitoredAreasTitle => "Zonas vigiladas";
|
|
@override
|
|
String get warningThisIsAVeryLargeArea => "Cuidado: esta zona es muy grande";
|
|
@override
|
|
String get appMoto => "Fortaleciendo vecindarios contra incendios forestales";
|
|
@override
|
|
String get byNASAsatellites => "por satélites de la NASA";
|
|
@override
|
|
String get chooseAWatchRadio => "Elige un radio de vigilancia";
|
|
@override
|
|
String get CANCEL => "CANCELAR";
|
|
@override
|
|
String get notAWildfire => "¿No es un fuego forestal?";
|
|
@override
|
|
String inMonths(String value) => "$value meses";
|
|
@override
|
|
String inYears(String value) => "$value años";
|
|
@override
|
|
String noFiresAroundThisArea(String kmAround) =>
|
|
"No hay fuegos a $kmAround км a la redonda";
|
|
@override
|
|
String firesAroundThisArea(String numFires, String kmAround) =>
|
|
"$numFires fuegos a $kmAround км a la redonda";
|
|
@override
|
|
String appLicense(String thisYear) =>
|
|
"(c) 2017-$thisYear Asociación Comunes bajo licencia GNU Affero GPL v3";
|
|
@override
|
|
String somethingAgo(String something) => "hace $something";
|
|
@override
|
|
String additionalInfoAboutFire(String where, String when, String by) =>
|
|
"Información adicional sobre fuego detectado en $where $when $by";
|
|
@override
|
|
String tweetAboutSelf(String location, String hash) =>
|
|
"Fuego en $location $hash";
|
|
@override
|
|
String subscribeToValueAroundThisArea(String sliderValue) =>
|
|
"Suscríbete a $sliderValue км a la redonda";
|
|
@override
|
|
String inHours(String value) => "$value horas";
|
|
@override
|
|
String updatedLastCheck(String lastCheck) => "Actualizado $lastCheck";
|
|
@override
|
|
String inDays(String value) => "$value días";
|
|
@override
|
|
String activeFiresWorldWide(String activeFires) =>
|
|
"$activeFires fuegos activos en el mundo";
|
|
@override
|
|
String fireAroundThisArea(String kmAround) =>
|
|
"Un fuego a $kmAround км a la redonda";
|
|
@override
|
|
String inSomething(String something) => "en $something";
|
|
@override
|
|
String inMinutes(String value) => "$value minutos";
|
|
}
|
|
|
|
class GeneratedLocalizationsDelegate
|
|
extends LocalizationsDelegate<WidgetsLocalizations> {
|
|
const GeneratedLocalizationsDelegate();
|
|
|
|
List<Locale> get supportedLocales {
|
|
return const <Locale>[
|
|
const Locale("gl", ""),
|
|
const Locale("en", ""),
|
|
const Locale("es", ""),
|
|
];
|
|
}
|
|
|
|
LocaleResolutionCallback resolution({Locale? fallback}) {
|
|
return (Locale? locale, Iterable<Locale> supported) {
|
|
if (locale == null) return supported.first;
|
|
final Locale languageLocale = new Locale(locale.languageCode, "");
|
|
if (supported.contains(locale))
|
|
return locale;
|
|
else if (supported.contains(languageLocale))
|
|
return languageLocale;
|
|
else {
|
|
final Locale fallbackLocale = fallback ?? supported.first;
|
|
return fallbackLocale;
|
|
}
|
|
};
|
|
}
|
|
|
|
@override
|
|
Future<WidgetsLocalizations> load(Locale locale) {
|
|
final String lang = getLang(locale);
|
|
switch (lang) {
|
|
case "gl":
|
|
return new SynchronousFuture<WidgetsLocalizations>(const gl());
|
|
case "en":
|
|
return new SynchronousFuture<WidgetsLocalizations>(const en());
|
|
case "es":
|
|
return new SynchronousFuture<WidgetsLocalizations>(const es());
|
|
|
|
default:
|
|
return new SynchronousFuture<WidgetsLocalizations>(const S());
|
|
}
|
|
}
|
|
|
|
@override
|
|
bool isSupported(Locale locale) => supportedLocales.contains(locale);
|
|
|
|
@override
|
|
bool shouldReload(GeneratedLocalizationsDelegate old) => false;
|
|
}
|
|
|
|
String getLang(Locale l) => l.countryCode != null && l.countryCode!.isEmpty
|
|
? l.languageCode
|
|
: l.toString();
|