Link between front-end and back-end
This commit is contained in:
210
lib/l10n/app_en.arb
Normal file
210
lib/l10n/app_en.arb
Normal file
@ -0,0 +1,210 @@
|
||||
{
|
||||
"@@locale": "en",
|
||||
"appTitle": "Rtime",
|
||||
"@appTitle": {
|
||||
"description": "The title of the application"
|
||||
},
|
||||
"yourDrones": "Your Drones",
|
||||
"addDrone": "Add Drone",
|
||||
"yourBatteries": "Your Batteries",
|
||||
"addBattery": "Add Battery",
|
||||
"latestFlights": "Latest Flights",
|
||||
"newFlight": "New Flight",
|
||||
"detailsOfDrone": "Details of drone: {droneName}",
|
||||
"@detailsOfDrone": {
|
||||
"placeholders": {
|
||||
"droneName": {
|
||||
"type": "String",
|
||||
"example": "Chimera7"
|
||||
}
|
||||
}
|
||||
},
|
||||
"detailsOfBattery": "Details of battery: {batteryName}",
|
||||
"@detailsOfBattery": {
|
||||
"placeholders": {
|
||||
"batteryName": {
|
||||
"type": "String",
|
||||
"example": "GNB 1300mAh"
|
||||
}
|
||||
}
|
||||
},
|
||||
"detailsOfFlight": "Details of flight: {flightName}",
|
||||
"@detailsOfFlight": {
|
||||
"placeholders": {
|
||||
"flightName": {
|
||||
"type": "String",
|
||||
"example": "Flight at the beach - 01/07/2025"
|
||||
}
|
||||
}
|
||||
},
|
||||
"settingsTitle": "Settings",
|
||||
"languageSetting": "Language",
|
||||
"english": "English",
|
||||
"french": "French",
|
||||
"languageChangedTo": "Language changed to {languageName}",
|
||||
"@languageChangedTo": {
|
||||
"placeholders": {
|
||||
"languageName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"chooseDrone": "Choose your Drone",
|
||||
"selectDroneHint": "Select a drone",
|
||||
"chooseBattery": "Choose your Battery",
|
||||
"selectBatteryHint": "Select a battery",
|
||||
"startFlight": "Start Flight",
|
||||
"stopFlight": "Stop Flight",
|
||||
"selectDroneBattery": "Please select a drone and a battery.",
|
||||
"flightStarted": "Flight started!",
|
||||
"flightStopped": "Flight stopped. Duration: {flightDuration}",
|
||||
"@flightStopped": {
|
||||
"placeholders": {
|
||||
"flightDuration": {
|
||||
"type": "String",
|
||||
"example": "00:05:30"
|
||||
}
|
||||
}
|
||||
},
|
||||
"recordFlightLocation": "Record flight location (GPS)",
|
||||
"locationServicesDisabled": "Location services are disabled.",
|
||||
"locationPermissionsDenied": "Location permissions are denied.",
|
||||
"locationPermissionsDeniedForever": "Location permissions are permanently denied, we cannot request permissions.",
|
||||
"locationObtained": "Location obtained: Lat {latitude}, Lng {longitude}",
|
||||
"@locationObtained": {
|
||||
"placeholders": {
|
||||
"latitude": {
|
||||
"type": "double"
|
||||
},
|
||||
"longitude": {
|
||||
"type": "double"
|
||||
}
|
||||
}
|
||||
},
|
||||
"locationRequiredForFlight": "GPS location is required but could not be obtained. Please check permissions and try again.",
|
||||
"obtainingLocation": "Obtaining location...",
|
||||
"failedToGetLocation": "Failed to get location: {error}",
|
||||
"@failedToGetLocation": {
|
||||
"placeholders": {
|
||||
"error": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"currentCoordinates": "Current coordinates: Lat {latitude}, Lng {longitude}",
|
||||
"@currentCoordinates": {
|
||||
"placeholders": {
|
||||
"latitude": {
|
||||
"type": "double"
|
||||
},
|
||||
"longitude": {
|
||||
"type": "double"
|
||||
}
|
||||
}
|
||||
},
|
||||
"errorLoadingDrones": "Error loading drones",
|
||||
"errorLoadingBatteries": "Error loading batteries",
|
||||
"noDronesYet": "No drones added yet. Tap the '+' card to add one!",
|
||||
"noBatteriesYet": "No batteries added yet. Tap the '+' card to add one!",
|
||||
"flightSavedSuccessfully": "Flight saved successfully!",
|
||||
"failedToSaveFlight": "Failed to save flight: {error}",
|
||||
"@failedToSaveFlight": {
|
||||
"placeholders": {
|
||||
"error": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"errorLoadingFlights": "Error loading flights",
|
||||
"noFlightsYet": "No flights recorded yet.",
|
||||
"droneName": "Drone Name",
|
||||
"pleaseEnterDroneName": "Please enter a drone name",
|
||||
"imageUuidOptional": "Image UUID (Optional)",
|
||||
"saveDrone": "Save Drone",
|
||||
"droneAddedSuccessfully": "Drone added successfully!",
|
||||
"failedToAddDrone": "Failed to add drone",
|
||||
"batteryName": "Battery Name",
|
||||
"batteryType": "Battery Type",
|
||||
"batteryVoltage": "Voltage (V)",
|
||||
"pleaseEnterBatteryName": "Please enter a battery name",
|
||||
"pleaseEnterBatteryType": "Please enter a battery type",
|
||||
"pleaseEnterBatteryVoltage": "Please enter battery voltage",
|
||||
"pleaseEnterValidNumber": "Please enter a valid number",
|
||||
"saveBattery": "Save Battery",
|
||||
"batteryAddedSuccessfully": "Battery added successfully!",
|
||||
"failedToAddBattery": "Failed to add battery",
|
||||
"droneImage": "Drone Image",
|
||||
"batteryImage": "Battery Image",
|
||||
"takePhoto": "Take Photo",
|
||||
"chooseFromGallery": "Choose from Gallery",
|
||||
"imageSelected": "Image selected!",
|
||||
"imageSelectionCancelled": "Image selection cancelled.",
|
||||
"removeImage": "Remove Image",
|
||||
"imageDeletedSuccessfully": "Image deleted successfully!",
|
||||
"droneDetails": "Drone Details",
|
||||
"editDrone": "Edit Drone",
|
||||
"saveChanges": "Save Changes",
|
||||
"droneUpdatedSuccessfully": "Drone updated successfully!",
|
||||
"failedToUpdateDrone": "Failed to update drone",
|
||||
"deleteDroneConfirmationTitle": "Delete Drone?",
|
||||
"deleteDroneConfirmationMessage": "Are you sure you want to delete {droneName}? This action cannot be undone.",
|
||||
"@deleteDroneConfirmationMessage": {
|
||||
"placeholders": {
|
||||
"droneName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"droneDeletedSuccessfully": "Drone deleted successfully!",
|
||||
"failedToDeleteDrone": "Failed to delete drone",
|
||||
"batteryDetails": "Battery Details",
|
||||
"editBattery": "Edit Battery",
|
||||
"batteryUpdatedSuccessfully": "Battery updated successfully!",
|
||||
"failedToUpdateBattery": "Failed to update battery",
|
||||
"deleteBatteryConfirmationTitle": "Delete Battery?",
|
||||
"deleteBatteryConfirmationMessage": "Are you sure you want to delete {batteryName}? This action cannot be undone.",
|
||||
"@deleteBatteryConfirmationMessage": {
|
||||
"placeholders": {
|
||||
"batteryName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"batteryDeletedSuccessfully": "Battery deleted successfully!",
|
||||
"failedToDeleteBattery": "Failed to delete battery",
|
||||
"cancel": "Cancel",
|
||||
"delete": "Delete",
|
||||
"flightDetails": "Flight Details",
|
||||
"startTime": "Start Time",
|
||||
"endTime": "End Time",
|
||||
"duration": "Duration",
|
||||
"flightLocation": "Flight Location",
|
||||
"noLocationData": "No location data for this flight.",
|
||||
"unknown": "Unknown",
|
||||
"errorLoadingData": "Error loading data",
|
||||
"drone": "Drone",
|
||||
"battery": "Battery",
|
||||
"themeSetting": "Theme",
|
||||
"themeLight": "Light Theme",
|
||||
"themeDark": "Dark Theme",
|
||||
"themeSystem": "System Default",
|
||||
"themeChangedTo": "Theme changed to {themeName}",
|
||||
"@themeChangedTo": {
|
||||
"placeholders": {
|
||||
"themeName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"deleteFlightConfirmationTitle": "Delete Flight?",
|
||||
"deleteFlightConfirmationMessage": "Are you sure you want to delete {flightName}? This action cannot be undone.",
|
||||
"@deleteFlightConfirmationMessage": {
|
||||
"placeholders": {
|
||||
"flightName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"flightDeletedSuccessfully": "Flight deleted successfully!",
|
||||
"failedToDeleteFlight": "Failed to delete flight"
|
||||
}
|
||||
210
lib/l10n/app_fr.arb
Normal file
210
lib/l10n/app_fr.arb
Normal file
@ -0,0 +1,210 @@
|
||||
{
|
||||
"@@locale": "fr",
|
||||
"appTitle": "Rtime",
|
||||
"@appTitle": {
|
||||
"description": "Le titre de l'application"
|
||||
},
|
||||
"yourDrones": "Vos Drones",
|
||||
"addDrone": "Ajouter un drone",
|
||||
"yourBatteries": "Vos Batteries",
|
||||
"addBattery": "Ajouter une batterie",
|
||||
"latestFlights": "Derniers Vols",
|
||||
"newFlight": "Nouveau Vol",
|
||||
"detailsOfDrone": "Détails du drone : {droneName}",
|
||||
"@detailsOfDrone": {
|
||||
"placeholders": {
|
||||
"droneName": {
|
||||
"type": "String",
|
||||
"example": "Chimera7"
|
||||
}
|
||||
}
|
||||
},
|
||||
"detailsOfBattery": "Détails de la batterie : {batteryName}",
|
||||
"@detailsOfBattery": {
|
||||
"placeholders": {
|
||||
"batteryName": {
|
||||
"type": "String",
|
||||
"example": "GNB 1300mAh"
|
||||
}
|
||||
}
|
||||
},
|
||||
"detailsOfFlight": "Détails du vol : {flightName}",
|
||||
"@detailsOfFlight": {
|
||||
"placeholders": {
|
||||
"flightName": {
|
||||
"type": "String",
|
||||
"example": "Vol à la plage - 01/07/2025"
|
||||
}
|
||||
}
|
||||
},
|
||||
"settingsTitle": "Paramètres",
|
||||
"languageSetting": "Langue",
|
||||
"english": "Anglais",
|
||||
"french": "Français",
|
||||
"languageChangedTo": "Langue changée en {languageName}",
|
||||
"@languageChangedTo": {
|
||||
"placeholders": {
|
||||
"languageName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"chooseDrone": "Choisissez votre Drone",
|
||||
"selectDroneHint": "Sélectionnez un drone",
|
||||
"chooseBattery": "Choisissez votre Batterie",
|
||||
"selectBatteryHint": "Sélectionnez une batterie",
|
||||
"startFlight": "Lancer le vol",
|
||||
"stopFlight": "Arrêter le vol",
|
||||
"selectDroneBattery": "Veuillez sélectionner un drone et une batterie.",
|
||||
"flightStarted": "Vol démarré !",
|
||||
"flightStopped": "Vol arrêté. Durée : {flightDuration}",
|
||||
"@flightStopped": {
|
||||
"placeholders": {
|
||||
"flightDuration": {
|
||||
"type": "String",
|
||||
"example": "00:05:30"
|
||||
}
|
||||
}
|
||||
},
|
||||
"recordFlightLocation": "Enregistrer la localisation du vol (GPS)",
|
||||
"locationServicesDisabled": "Les services de localisation sont désactivés.",
|
||||
"locationPermissionsDenied": "Les permissions de localisation sont refusées.",
|
||||
"locationPermissionsDeniedForever": "Les permissions de localisation sont refusées de manière permanente, nous ne pouvons pas les demander.",
|
||||
"locationObtained": "Localisation obtenue : Lat {latitude}, Lon {longitude}",
|
||||
"@locationObtained": {
|
||||
"placeholders": {
|
||||
"latitude": {
|
||||
"type": "double"
|
||||
},
|
||||
"longitude": {
|
||||
"type": "double"
|
||||
}
|
||||
}
|
||||
},
|
||||
"locationRequiredForFlight": "La localisation GPS est requise mais n'a pu être obtenue. Veuillez vérifier les permissions et réessayer.",
|
||||
"obtainingLocation": "Obtention de la localisation...",
|
||||
"failedToGetLocation": "Échec de l'obtention de la localisation : {error}",
|
||||
"@failedToGetLocation": {
|
||||
"placeholders": {
|
||||
"error": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"currentCoordinates": "Coordonnées actuelles : Lat {latitude}, Lon {longitude}",
|
||||
"@currentCoordinates": {
|
||||
"placeholders": {
|
||||
"latitude": {
|
||||
"type": "double"
|
||||
},
|
||||
"longitude": {
|
||||
"type": "double"
|
||||
}
|
||||
}
|
||||
},
|
||||
"errorLoadingDrones": "Erreur lors du chargement des drones",
|
||||
"errorLoadingBatteries": "Erreur lors du chargement des batteries",
|
||||
"noDronesYet": "Aucun drone ajouté pour le moment. Appuyez sur la carte '+' pour en ajouter un !",
|
||||
"noBatteriesYet": "Aucune batterie ajoutée pour le moment. Appuyez sur la carte '+' pour en ajouter une !",
|
||||
"flightSavedSuccessfully": "Vol enregistré avec succès !",
|
||||
"failedToSaveFlight": "Échec de l'enregistrement du vol : {error}",
|
||||
"@failedToSaveFlight": {
|
||||
"placeholders": {
|
||||
"error": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"errorLoadingFlights": "Erreur lors du chargement des vols",
|
||||
"noFlightsYet": "Aucun vol enregistré pour le moment.",
|
||||
"droneName": "Nom du drone",
|
||||
"pleaseEnterDroneName": "Veuillez entrer un nom de drone",
|
||||
"imageUuidOptional": "UUID de l'image (Facultatif)",
|
||||
"saveDrone": "Enregistrer le drone",
|
||||
"droneAddedSuccessfully": "Drone ajouté avec succès !",
|
||||
"failedToAddDrone": "Échec de l'ajout du drone",
|
||||
"batteryName": "Nom de la batterie",
|
||||
"batteryType": "Type de batterie",
|
||||
"batteryVoltage": "Tension (V)",
|
||||
"pleaseEnterBatteryName": "Veuillez entrer un nom de batterie",
|
||||
"pleaseEnterBatteryType": "Veuillez entrer un type de batterie",
|
||||
"pleaseEnterBatteryVoltage": "Veuillez entrer la tension de la batterie",
|
||||
"pleaseEnterValidNumber": "Veuillez entrer un nombre valide",
|
||||
"saveBattery": "Enregistrer la batterie",
|
||||
"batteryAddedSuccessfully": "Batterie ajoutée avec succès !",
|
||||
"failedToAddBattery": "Échec de l'ajout de la batterie",
|
||||
"droneImage": "Image du drone",
|
||||
"batteryImage": "Image de la batterie",
|
||||
"takePhoto": "Prendre une photo",
|
||||
"chooseFromGallery": "Choisir de la galerie",
|
||||
"imageSelected": "Image sélectionnée !",
|
||||
"imageSelectionCancelled": "Sélection d'image annulée.",
|
||||
"removeImage": "Supprimer l'image",
|
||||
"imageDeletedSuccessfully": "Image supprimée avec succès !",
|
||||
"droneDetails": "Détails du drone",
|
||||
"editDrone": "Modifier le drone",
|
||||
"saveChanges": "Enregistrer les modifications",
|
||||
"droneUpdatedSuccessfully": "Drone mis à jour avec succès !",
|
||||
"failedToUpdateDrone": "Échec de la mise à jour du drone",
|
||||
"deleteDroneConfirmationTitle": "Supprimer le drone ?",
|
||||
"deleteDroneConfirmationMessage": "Êtes-vous sûr de vouloir supprimer {droneName} ? Cette action est irréversible.",
|
||||
"@deleteDroneConfirmationMessage": {
|
||||
"placeholders": {
|
||||
"droneName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"droneDeletedSuccessfully": "Drone supprimé avec succès !",
|
||||
"failedToDeleteDrone": "Échec de la suppression du drone",
|
||||
"batteryDetails": "Détails de la batterie",
|
||||
"editBattery": "Modifier la batterie",
|
||||
"batteryUpdatedSuccessfully": "Batterie mise à jour avec succès !",
|
||||
"failedToUpdateBattery": "Échec de la mise à jour de la batterie",
|
||||
"deleteBatteryConfirmationTitle": "Supprimer la batterie ?",
|
||||
"deleteBatteryConfirmationMessage": "Êtes-vous sûr de vouloir supprimer {batteryName} ? Cette action est irréversible.",
|
||||
"@deleteBatteryConfirmationMessage": {
|
||||
"placeholders": {
|
||||
"batteryName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"batteryDeletedSuccessfully": "Batterie supprimée avec succès !",
|
||||
"failedToDeleteBattery": "Échec de la suppression de la batterie",
|
||||
"cancel": "Annuler",
|
||||
"delete": "Supprimer",
|
||||
"flightDetails": "Détails du vol",
|
||||
"startTime": "Heure de début",
|
||||
"endTime": "Heure de fin",
|
||||
"duration": "Durée",
|
||||
"flightLocation": "Localisation du vol",
|
||||
"noLocationData": "Pas de données de localisation pour ce vol.",
|
||||
"unknown": "Inconnu",
|
||||
"errorLoadingData": "Erreur de chargement des données",
|
||||
"drone": "Drone",
|
||||
"battery": "Batterie",
|
||||
"themeSetting": "Thème",
|
||||
"themeLight": "Thème Clair",
|
||||
"themeDark": "Thème Sombre",
|
||||
"themeSystem": "Par défaut du système",
|
||||
"themeChangedTo": "Thème changé en {themeName}",
|
||||
"@themeChangedTo": {
|
||||
"placeholders": {
|
||||
"themeName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"deleteFlightConfirmationTitle": "Supprimer le vol ?",
|
||||
"deleteFlightConfirmationMessage": "Êtes-vous sûr de vouloir supprimer {flightName} ? Cette action est irréversible.",
|
||||
"@deleteFlightConfirmationMessage": {
|
||||
"placeholders": {
|
||||
"flightName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"flightDeletedSuccessfully": "Vol supprimé avec succès !",
|
||||
"failedToDeleteFlight": "Échec de la suppression du vol"
|
||||
}
|
||||
747
lib/l10n/app_localizations.dart
Normal file
747
lib/l10n/app_localizations.dart
Normal file
@ -0,0 +1,747 @@
|
||||
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_en.dart';
|
||||
import 'app_localizations_fr.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<AppLocalizations>(context, AppLocalizations);
|
||||
}
|
||||
|
||||
static const LocalizationsDelegate<AppLocalizations> 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<LocalizationsDelegate<dynamic>> localizationsDelegates = <LocalizationsDelegate<dynamic>>[
|
||||
delegate,
|
||||
GlobalMaterialLocalizations.delegate,
|
||||
GlobalCupertinoLocalizations.delegate,
|
||||
GlobalWidgetsLocalizations.delegate,
|
||||
];
|
||||
|
||||
/// A list of this localizations delegate's supported locales.
|
||||
static const List<Locale> supportedLocales = <Locale>[
|
||||
Locale('en'),
|
||||
Locale('fr')
|
||||
];
|
||||
|
||||
/// The title of the application
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Rtime'**
|
||||
String get appTitle;
|
||||
|
||||
/// No description provided for @yourDrones.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Your Drones'**
|
||||
String get yourDrones;
|
||||
|
||||
/// No description provided for @addDrone.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Add Drone'**
|
||||
String get addDrone;
|
||||
|
||||
/// No description provided for @yourBatteries.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Your Batteries'**
|
||||
String get yourBatteries;
|
||||
|
||||
/// No description provided for @addBattery.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Add Battery'**
|
||||
String get addBattery;
|
||||
|
||||
/// No description provided for @latestFlights.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Latest Flights'**
|
||||
String get latestFlights;
|
||||
|
||||
/// No description provided for @newFlight.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'New Flight'**
|
||||
String get newFlight;
|
||||
|
||||
/// No description provided for @detailsOfDrone.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Details of drone: {droneName}'**
|
||||
String detailsOfDrone(String droneName);
|
||||
|
||||
/// No description provided for @detailsOfBattery.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Details of battery: {batteryName}'**
|
||||
String detailsOfBattery(String batteryName);
|
||||
|
||||
/// No description provided for @detailsOfFlight.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Details of flight: {flightName}'**
|
||||
String detailsOfFlight(String flightName);
|
||||
|
||||
/// No description provided for @settingsTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Settings'**
|
||||
String get settingsTitle;
|
||||
|
||||
/// No description provided for @languageSetting.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Language'**
|
||||
String get languageSetting;
|
||||
|
||||
/// No description provided for @english.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'English'**
|
||||
String get english;
|
||||
|
||||
/// No description provided for @french.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'French'**
|
||||
String get french;
|
||||
|
||||
/// No description provided for @languageChangedTo.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Language changed to {languageName}'**
|
||||
String languageChangedTo(String languageName);
|
||||
|
||||
/// No description provided for @chooseDrone.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Choose your Drone'**
|
||||
String get chooseDrone;
|
||||
|
||||
/// No description provided for @selectDroneHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Select a drone'**
|
||||
String get selectDroneHint;
|
||||
|
||||
/// No description provided for @chooseBattery.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Choose your Battery'**
|
||||
String get chooseBattery;
|
||||
|
||||
/// No description provided for @selectBatteryHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Select a battery'**
|
||||
String get selectBatteryHint;
|
||||
|
||||
/// No description provided for @startFlight.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Start Flight'**
|
||||
String get startFlight;
|
||||
|
||||
/// No description provided for @stopFlight.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Stop Flight'**
|
||||
String get stopFlight;
|
||||
|
||||
/// No description provided for @selectDroneBattery.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Please select a drone and a battery.'**
|
||||
String get selectDroneBattery;
|
||||
|
||||
/// No description provided for @flightStarted.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Flight started!'**
|
||||
String get flightStarted;
|
||||
|
||||
/// No description provided for @flightStopped.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Flight stopped. Duration: {flightDuration}'**
|
||||
String flightStopped(String flightDuration);
|
||||
|
||||
/// No description provided for @recordFlightLocation.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Record flight location (GPS)'**
|
||||
String get recordFlightLocation;
|
||||
|
||||
/// No description provided for @locationServicesDisabled.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Location services are disabled.'**
|
||||
String get locationServicesDisabled;
|
||||
|
||||
/// No description provided for @locationPermissionsDenied.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Location permissions are denied.'**
|
||||
String get locationPermissionsDenied;
|
||||
|
||||
/// No description provided for @locationPermissionsDeniedForever.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Location permissions are permanently denied, we cannot request permissions.'**
|
||||
String get locationPermissionsDeniedForever;
|
||||
|
||||
/// No description provided for @locationObtained.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Location obtained: Lat {latitude}, Lng {longitude}'**
|
||||
String locationObtained(double latitude, double longitude);
|
||||
|
||||
/// No description provided for @locationRequiredForFlight.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'GPS location is required but could not be obtained. Please check permissions and try again.'**
|
||||
String get locationRequiredForFlight;
|
||||
|
||||
/// No description provided for @obtainingLocation.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Obtaining location...'**
|
||||
String get obtainingLocation;
|
||||
|
||||
/// No description provided for @failedToGetLocation.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Failed to get location: {error}'**
|
||||
String failedToGetLocation(String error);
|
||||
|
||||
/// No description provided for @currentCoordinates.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Current coordinates: Lat {latitude}, Lng {longitude}'**
|
||||
String currentCoordinates(double latitude, double longitude);
|
||||
|
||||
/// No description provided for @errorLoadingDrones.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Error loading drones'**
|
||||
String get errorLoadingDrones;
|
||||
|
||||
/// No description provided for @errorLoadingBatteries.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Error loading batteries'**
|
||||
String get errorLoadingBatteries;
|
||||
|
||||
/// No description provided for @noDronesYet.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No drones added yet. Tap the \'+\' card to add one!'**
|
||||
String get noDronesYet;
|
||||
|
||||
/// No description provided for @noBatteriesYet.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No batteries added yet. Tap the \'+\' card to add one!'**
|
||||
String get noBatteriesYet;
|
||||
|
||||
/// No description provided for @flightSavedSuccessfully.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Flight saved successfully!'**
|
||||
String get flightSavedSuccessfully;
|
||||
|
||||
/// No description provided for @failedToSaveFlight.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Failed to save flight: {error}'**
|
||||
String failedToSaveFlight(String error);
|
||||
|
||||
/// No description provided for @errorLoadingFlights.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Error loading flights'**
|
||||
String get errorLoadingFlights;
|
||||
|
||||
/// No description provided for @noFlightsYet.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No flights recorded yet.'**
|
||||
String get noFlightsYet;
|
||||
|
||||
/// No description provided for @droneName.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Drone Name'**
|
||||
String get droneName;
|
||||
|
||||
/// No description provided for @pleaseEnterDroneName.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Please enter a drone name'**
|
||||
String get pleaseEnterDroneName;
|
||||
|
||||
/// No description provided for @imageUuidOptional.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Image UUID (Optional)'**
|
||||
String get imageUuidOptional;
|
||||
|
||||
/// No description provided for @saveDrone.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Save Drone'**
|
||||
String get saveDrone;
|
||||
|
||||
/// No description provided for @droneAddedSuccessfully.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Drone added successfully!'**
|
||||
String get droneAddedSuccessfully;
|
||||
|
||||
/// No description provided for @failedToAddDrone.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Failed to add drone'**
|
||||
String get failedToAddDrone;
|
||||
|
||||
/// No description provided for @batteryName.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Battery Name'**
|
||||
String get batteryName;
|
||||
|
||||
/// No description provided for @batteryType.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Battery Type'**
|
||||
String get batteryType;
|
||||
|
||||
/// No description provided for @batteryVoltage.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Voltage (V)'**
|
||||
String get batteryVoltage;
|
||||
|
||||
/// No description provided for @pleaseEnterBatteryName.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Please enter a battery name'**
|
||||
String get pleaseEnterBatteryName;
|
||||
|
||||
/// No description provided for @pleaseEnterBatteryType.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Please enter a battery type'**
|
||||
String get pleaseEnterBatteryType;
|
||||
|
||||
/// No description provided for @pleaseEnterBatteryVoltage.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Please enter battery voltage'**
|
||||
String get pleaseEnterBatteryVoltage;
|
||||
|
||||
/// No description provided for @pleaseEnterValidNumber.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Please enter a valid number'**
|
||||
String get pleaseEnterValidNumber;
|
||||
|
||||
/// No description provided for @saveBattery.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Save Battery'**
|
||||
String get saveBattery;
|
||||
|
||||
/// No description provided for @batteryAddedSuccessfully.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Battery added successfully!'**
|
||||
String get batteryAddedSuccessfully;
|
||||
|
||||
/// No description provided for @failedToAddBattery.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Failed to add battery'**
|
||||
String get failedToAddBattery;
|
||||
|
||||
/// No description provided for @droneImage.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Drone Image'**
|
||||
String get droneImage;
|
||||
|
||||
/// No description provided for @batteryImage.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Battery Image'**
|
||||
String get batteryImage;
|
||||
|
||||
/// No description provided for @takePhoto.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Take Photo'**
|
||||
String get takePhoto;
|
||||
|
||||
/// No description provided for @chooseFromGallery.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Choose from Gallery'**
|
||||
String get chooseFromGallery;
|
||||
|
||||
/// No description provided for @imageSelected.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Image selected!'**
|
||||
String get imageSelected;
|
||||
|
||||
/// No description provided for @imageSelectionCancelled.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Image selection cancelled.'**
|
||||
String get imageSelectionCancelled;
|
||||
|
||||
/// No description provided for @removeImage.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Remove Image'**
|
||||
String get removeImage;
|
||||
|
||||
/// No description provided for @imageDeletedSuccessfully.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Image deleted successfully!'**
|
||||
String get imageDeletedSuccessfully;
|
||||
|
||||
/// No description provided for @droneDetails.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Drone Details'**
|
||||
String get droneDetails;
|
||||
|
||||
/// No description provided for @editDrone.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Edit Drone'**
|
||||
String get editDrone;
|
||||
|
||||
/// No description provided for @saveChanges.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Save Changes'**
|
||||
String get saveChanges;
|
||||
|
||||
/// No description provided for @droneUpdatedSuccessfully.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Drone updated successfully!'**
|
||||
String get droneUpdatedSuccessfully;
|
||||
|
||||
/// No description provided for @failedToUpdateDrone.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Failed to update drone'**
|
||||
String get failedToUpdateDrone;
|
||||
|
||||
/// No description provided for @deleteDroneConfirmationTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Delete Drone?'**
|
||||
String get deleteDroneConfirmationTitle;
|
||||
|
||||
/// No description provided for @deleteDroneConfirmationMessage.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Are you sure you want to delete {droneName}? This action cannot be undone.'**
|
||||
String deleteDroneConfirmationMessage(String droneName);
|
||||
|
||||
/// No description provided for @droneDeletedSuccessfully.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Drone deleted successfully!'**
|
||||
String get droneDeletedSuccessfully;
|
||||
|
||||
/// No description provided for @failedToDeleteDrone.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Failed to delete drone'**
|
||||
String get failedToDeleteDrone;
|
||||
|
||||
/// No description provided for @batteryDetails.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Battery Details'**
|
||||
String get batteryDetails;
|
||||
|
||||
/// No description provided for @editBattery.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Edit Battery'**
|
||||
String get editBattery;
|
||||
|
||||
/// No description provided for @batteryUpdatedSuccessfully.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Battery updated successfully!'**
|
||||
String get batteryUpdatedSuccessfully;
|
||||
|
||||
/// No description provided for @failedToUpdateBattery.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Failed to update battery'**
|
||||
String get failedToUpdateBattery;
|
||||
|
||||
/// No description provided for @deleteBatteryConfirmationTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Delete Battery?'**
|
||||
String get deleteBatteryConfirmationTitle;
|
||||
|
||||
/// No description provided for @deleteBatteryConfirmationMessage.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Are you sure you want to delete {batteryName}? This action cannot be undone.'**
|
||||
String deleteBatteryConfirmationMessage(String batteryName);
|
||||
|
||||
/// No description provided for @batteryDeletedSuccessfully.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Battery deleted successfully!'**
|
||||
String get batteryDeletedSuccessfully;
|
||||
|
||||
/// No description provided for @failedToDeleteBattery.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Failed to delete battery'**
|
||||
String get failedToDeleteBattery;
|
||||
|
||||
/// No description provided for @cancel.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Cancel'**
|
||||
String get cancel;
|
||||
|
||||
/// No description provided for @delete.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Delete'**
|
||||
String get delete;
|
||||
|
||||
/// No description provided for @flightDetails.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Flight Details'**
|
||||
String get flightDetails;
|
||||
|
||||
/// No description provided for @startTime.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Start Time'**
|
||||
String get startTime;
|
||||
|
||||
/// No description provided for @endTime.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'End Time'**
|
||||
String get endTime;
|
||||
|
||||
/// No description provided for @duration.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Duration'**
|
||||
String get duration;
|
||||
|
||||
/// No description provided for @flightLocation.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Flight Location'**
|
||||
String get flightLocation;
|
||||
|
||||
/// No description provided for @noLocationData.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No location data for this flight.'**
|
||||
String get noLocationData;
|
||||
|
||||
/// No description provided for @unknown.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Unknown'**
|
||||
String get unknown;
|
||||
|
||||
/// No description provided for @errorLoadingData.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Error loading data'**
|
||||
String get errorLoadingData;
|
||||
|
||||
/// No description provided for @drone.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Drone'**
|
||||
String get drone;
|
||||
|
||||
/// No description provided for @battery.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Battery'**
|
||||
String get battery;
|
||||
|
||||
/// No description provided for @themeSetting.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Theme'**
|
||||
String get themeSetting;
|
||||
|
||||
/// No description provided for @themeLight.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Light Theme'**
|
||||
String get themeLight;
|
||||
|
||||
/// No description provided for @themeDark.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Dark Theme'**
|
||||
String get themeDark;
|
||||
|
||||
/// No description provided for @themeSystem.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'System Default'**
|
||||
String get themeSystem;
|
||||
|
||||
/// No description provided for @themeChangedTo.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Theme changed to {themeName}'**
|
||||
String themeChangedTo(String themeName);
|
||||
|
||||
/// No description provided for @deleteFlightConfirmationTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Delete Flight?'**
|
||||
String get deleteFlightConfirmationTitle;
|
||||
|
||||
/// No description provided for @deleteFlightConfirmationMessage.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Are you sure you want to delete {flightName}? This action cannot be undone.'**
|
||||
String deleteFlightConfirmationMessage(String flightName);
|
||||
|
||||
/// No description provided for @flightDeletedSuccessfully.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Flight deleted successfully!'**
|
||||
String get flightDeletedSuccessfully;
|
||||
|
||||
/// No description provided for @failedToDeleteFlight.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Failed to delete flight'**
|
||||
String get failedToDeleteFlight;
|
||||
}
|
||||
|
||||
class _AppLocalizationsDelegate extends LocalizationsDelegate<AppLocalizations> {
|
||||
const _AppLocalizationsDelegate();
|
||||
|
||||
@override
|
||||
Future<AppLocalizations> load(Locale locale) {
|
||||
return SynchronousFuture<AppLocalizations>(lookupAppLocalizations(locale));
|
||||
}
|
||||
|
||||
@override
|
||||
bool isSupported(Locale locale) => <String>['en', 'fr'].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 'en': return AppLocalizationsEn();
|
||||
case 'fr': return AppLocalizationsFr();
|
||||
}
|
||||
|
||||
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.'
|
||||
);
|
||||
}
|
||||
345
lib/l10n/app_localizations_en.dart
Normal file
345
lib/l10n/app_localizations_en.dart
Normal file
@ -0,0 +1,345 @@
|
||||
// ignore: unused_import
|
||||
import 'package:intl/intl.dart' as intl;
|
||||
import 'app_localizations.dart';
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
|
||||
/// The translations for English (`en`).
|
||||
class AppLocalizationsEn extends AppLocalizations {
|
||||
AppLocalizationsEn([String locale = 'en']) : super(locale);
|
||||
|
||||
@override
|
||||
String get appTitle => 'Rtime';
|
||||
|
||||
@override
|
||||
String get yourDrones => 'Your Drones';
|
||||
|
||||
@override
|
||||
String get addDrone => 'Add Drone';
|
||||
|
||||
@override
|
||||
String get yourBatteries => 'Your Batteries';
|
||||
|
||||
@override
|
||||
String get addBattery => 'Add Battery';
|
||||
|
||||
@override
|
||||
String get latestFlights => 'Latest Flights';
|
||||
|
||||
@override
|
||||
String get newFlight => 'New Flight';
|
||||
|
||||
@override
|
||||
String detailsOfDrone(String droneName) {
|
||||
return 'Details of drone: $droneName';
|
||||
}
|
||||
|
||||
@override
|
||||
String detailsOfBattery(String batteryName) {
|
||||
return 'Details of battery: $batteryName';
|
||||
}
|
||||
|
||||
@override
|
||||
String detailsOfFlight(String flightName) {
|
||||
return 'Details of flight: $flightName';
|
||||
}
|
||||
|
||||
@override
|
||||
String get settingsTitle => 'Settings';
|
||||
|
||||
@override
|
||||
String get languageSetting => 'Language';
|
||||
|
||||
@override
|
||||
String get english => 'English';
|
||||
|
||||
@override
|
||||
String get french => 'French';
|
||||
|
||||
@override
|
||||
String languageChangedTo(String languageName) {
|
||||
return 'Language changed to $languageName';
|
||||
}
|
||||
|
||||
@override
|
||||
String get chooseDrone => 'Choose your Drone';
|
||||
|
||||
@override
|
||||
String get selectDroneHint => 'Select a drone';
|
||||
|
||||
@override
|
||||
String get chooseBattery => 'Choose your Battery';
|
||||
|
||||
@override
|
||||
String get selectBatteryHint => 'Select a battery';
|
||||
|
||||
@override
|
||||
String get startFlight => 'Start Flight';
|
||||
|
||||
@override
|
||||
String get stopFlight => 'Stop Flight';
|
||||
|
||||
@override
|
||||
String get selectDroneBattery => 'Please select a drone and a battery.';
|
||||
|
||||
@override
|
||||
String get flightStarted => 'Flight started!';
|
||||
|
||||
@override
|
||||
String flightStopped(String flightDuration) {
|
||||
return 'Flight stopped. Duration: $flightDuration';
|
||||
}
|
||||
|
||||
@override
|
||||
String get recordFlightLocation => 'Record flight location (GPS)';
|
||||
|
||||
@override
|
||||
String get locationServicesDisabled => 'Location services are disabled.';
|
||||
|
||||
@override
|
||||
String get locationPermissionsDenied => 'Location permissions are denied.';
|
||||
|
||||
@override
|
||||
String get locationPermissionsDeniedForever => 'Location permissions are permanently denied, we cannot request permissions.';
|
||||
|
||||
@override
|
||||
String locationObtained(double latitude, double longitude) {
|
||||
return 'Location obtained: Lat $latitude, Lng $longitude';
|
||||
}
|
||||
|
||||
@override
|
||||
String get locationRequiredForFlight => 'GPS location is required but could not be obtained. Please check permissions and try again.';
|
||||
|
||||
@override
|
||||
String get obtainingLocation => 'Obtaining location...';
|
||||
|
||||
@override
|
||||
String failedToGetLocation(String error) {
|
||||
return 'Failed to get location: $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String currentCoordinates(double latitude, double longitude) {
|
||||
return 'Current coordinates: Lat $latitude, Lng $longitude';
|
||||
}
|
||||
|
||||
@override
|
||||
String get errorLoadingDrones => 'Error loading drones';
|
||||
|
||||
@override
|
||||
String get errorLoadingBatteries => 'Error loading batteries';
|
||||
|
||||
@override
|
||||
String get noDronesYet => 'No drones added yet. Tap the \'+\' card to add one!';
|
||||
|
||||
@override
|
||||
String get noBatteriesYet => 'No batteries added yet. Tap the \'+\' card to add one!';
|
||||
|
||||
@override
|
||||
String get flightSavedSuccessfully => 'Flight saved successfully!';
|
||||
|
||||
@override
|
||||
String failedToSaveFlight(String error) {
|
||||
return 'Failed to save flight: $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String get errorLoadingFlights => 'Error loading flights';
|
||||
|
||||
@override
|
||||
String get noFlightsYet => 'No flights recorded yet.';
|
||||
|
||||
@override
|
||||
String get droneName => 'Drone Name';
|
||||
|
||||
@override
|
||||
String get pleaseEnterDroneName => 'Please enter a drone name';
|
||||
|
||||
@override
|
||||
String get imageUuidOptional => 'Image UUID (Optional)';
|
||||
|
||||
@override
|
||||
String get saveDrone => 'Save Drone';
|
||||
|
||||
@override
|
||||
String get droneAddedSuccessfully => 'Drone added successfully!';
|
||||
|
||||
@override
|
||||
String get failedToAddDrone => 'Failed to add drone';
|
||||
|
||||
@override
|
||||
String get batteryName => 'Battery Name';
|
||||
|
||||
@override
|
||||
String get batteryType => 'Battery Type';
|
||||
|
||||
@override
|
||||
String get batteryVoltage => 'Voltage (V)';
|
||||
|
||||
@override
|
||||
String get pleaseEnterBatteryName => 'Please enter a battery name';
|
||||
|
||||
@override
|
||||
String get pleaseEnterBatteryType => 'Please enter a battery type';
|
||||
|
||||
@override
|
||||
String get pleaseEnterBatteryVoltage => 'Please enter battery voltage';
|
||||
|
||||
@override
|
||||
String get pleaseEnterValidNumber => 'Please enter a valid number';
|
||||
|
||||
@override
|
||||
String get saveBattery => 'Save Battery';
|
||||
|
||||
@override
|
||||
String get batteryAddedSuccessfully => 'Battery added successfully!';
|
||||
|
||||
@override
|
||||
String get failedToAddBattery => 'Failed to add battery';
|
||||
|
||||
@override
|
||||
String get droneImage => 'Drone Image';
|
||||
|
||||
@override
|
||||
String get batteryImage => 'Battery Image';
|
||||
|
||||
@override
|
||||
String get takePhoto => 'Take Photo';
|
||||
|
||||
@override
|
||||
String get chooseFromGallery => 'Choose from Gallery';
|
||||
|
||||
@override
|
||||
String get imageSelected => 'Image selected!';
|
||||
|
||||
@override
|
||||
String get imageSelectionCancelled => 'Image selection cancelled.';
|
||||
|
||||
@override
|
||||
String get removeImage => 'Remove Image';
|
||||
|
||||
@override
|
||||
String get imageDeletedSuccessfully => 'Image deleted successfully!';
|
||||
|
||||
@override
|
||||
String get droneDetails => 'Drone Details';
|
||||
|
||||
@override
|
||||
String get editDrone => 'Edit Drone';
|
||||
|
||||
@override
|
||||
String get saveChanges => 'Save Changes';
|
||||
|
||||
@override
|
||||
String get droneUpdatedSuccessfully => 'Drone updated successfully!';
|
||||
|
||||
@override
|
||||
String get failedToUpdateDrone => 'Failed to update drone';
|
||||
|
||||
@override
|
||||
String get deleteDroneConfirmationTitle => 'Delete Drone?';
|
||||
|
||||
@override
|
||||
String deleteDroneConfirmationMessage(String droneName) {
|
||||
return 'Are you sure you want to delete $droneName? This action cannot be undone.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get droneDeletedSuccessfully => 'Drone deleted successfully!';
|
||||
|
||||
@override
|
||||
String get failedToDeleteDrone => 'Failed to delete drone';
|
||||
|
||||
@override
|
||||
String get batteryDetails => 'Battery Details';
|
||||
|
||||
@override
|
||||
String get editBattery => 'Edit Battery';
|
||||
|
||||
@override
|
||||
String get batteryUpdatedSuccessfully => 'Battery updated successfully!';
|
||||
|
||||
@override
|
||||
String get failedToUpdateBattery => 'Failed to update battery';
|
||||
|
||||
@override
|
||||
String get deleteBatteryConfirmationTitle => 'Delete Battery?';
|
||||
|
||||
@override
|
||||
String deleteBatteryConfirmationMessage(String batteryName) {
|
||||
return 'Are you sure you want to delete $batteryName? This action cannot be undone.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get batteryDeletedSuccessfully => 'Battery deleted successfully!';
|
||||
|
||||
@override
|
||||
String get failedToDeleteBattery => 'Failed to delete battery';
|
||||
|
||||
@override
|
||||
String get cancel => 'Cancel';
|
||||
|
||||
@override
|
||||
String get delete => 'Delete';
|
||||
|
||||
@override
|
||||
String get flightDetails => 'Flight Details';
|
||||
|
||||
@override
|
||||
String get startTime => 'Start Time';
|
||||
|
||||
@override
|
||||
String get endTime => 'End Time';
|
||||
|
||||
@override
|
||||
String get duration => 'Duration';
|
||||
|
||||
@override
|
||||
String get flightLocation => 'Flight Location';
|
||||
|
||||
@override
|
||||
String get noLocationData => 'No location data for this flight.';
|
||||
|
||||
@override
|
||||
String get unknown => 'Unknown';
|
||||
|
||||
@override
|
||||
String get errorLoadingData => 'Error loading data';
|
||||
|
||||
@override
|
||||
String get drone => 'Drone';
|
||||
|
||||
@override
|
||||
String get battery => 'Battery';
|
||||
|
||||
@override
|
||||
String get themeSetting => 'Theme';
|
||||
|
||||
@override
|
||||
String get themeLight => 'Light Theme';
|
||||
|
||||
@override
|
||||
String get themeDark => 'Dark Theme';
|
||||
|
||||
@override
|
||||
String get themeSystem => 'System Default';
|
||||
|
||||
@override
|
||||
String themeChangedTo(String themeName) {
|
||||
return 'Theme changed to $themeName';
|
||||
}
|
||||
|
||||
@override
|
||||
String get deleteFlightConfirmationTitle => 'Delete Flight?';
|
||||
|
||||
@override
|
||||
String deleteFlightConfirmationMessage(String flightName) {
|
||||
return 'Are you sure you want to delete $flightName? This action cannot be undone.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get flightDeletedSuccessfully => 'Flight deleted successfully!';
|
||||
|
||||
@override
|
||||
String get failedToDeleteFlight => 'Failed to delete flight';
|
||||
}
|
||||
345
lib/l10n/app_localizations_fr.dart
Normal file
345
lib/l10n/app_localizations_fr.dart
Normal file
@ -0,0 +1,345 @@
|
||||
// ignore: unused_import
|
||||
import 'package:intl/intl.dart' as intl;
|
||||
import 'app_localizations.dart';
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
|
||||
/// The translations for French (`fr`).
|
||||
class AppLocalizationsFr extends AppLocalizations {
|
||||
AppLocalizationsFr([String locale = 'fr']) : super(locale);
|
||||
|
||||
@override
|
||||
String get appTitle => 'Rtime';
|
||||
|
||||
@override
|
||||
String get yourDrones => 'Vos Drones';
|
||||
|
||||
@override
|
||||
String get addDrone => 'Ajouter un drone';
|
||||
|
||||
@override
|
||||
String get yourBatteries => 'Vos Batteries';
|
||||
|
||||
@override
|
||||
String get addBattery => 'Ajouter une batterie';
|
||||
|
||||
@override
|
||||
String get latestFlights => 'Derniers Vols';
|
||||
|
||||
@override
|
||||
String get newFlight => 'Nouveau Vol';
|
||||
|
||||
@override
|
||||
String detailsOfDrone(String droneName) {
|
||||
return 'Détails du drone : $droneName';
|
||||
}
|
||||
|
||||
@override
|
||||
String detailsOfBattery(String batteryName) {
|
||||
return 'Détails de la batterie : $batteryName';
|
||||
}
|
||||
|
||||
@override
|
||||
String detailsOfFlight(String flightName) {
|
||||
return 'Détails du vol : $flightName';
|
||||
}
|
||||
|
||||
@override
|
||||
String get settingsTitle => 'Paramètres';
|
||||
|
||||
@override
|
||||
String get languageSetting => 'Langue';
|
||||
|
||||
@override
|
||||
String get english => 'Anglais';
|
||||
|
||||
@override
|
||||
String get french => 'Français';
|
||||
|
||||
@override
|
||||
String languageChangedTo(String languageName) {
|
||||
return 'Langue changée en $languageName';
|
||||
}
|
||||
|
||||
@override
|
||||
String get chooseDrone => 'Choisissez votre Drone';
|
||||
|
||||
@override
|
||||
String get selectDroneHint => 'Sélectionnez un drone';
|
||||
|
||||
@override
|
||||
String get chooseBattery => 'Choisissez votre Batterie';
|
||||
|
||||
@override
|
||||
String get selectBatteryHint => 'Sélectionnez une batterie';
|
||||
|
||||
@override
|
||||
String get startFlight => 'Lancer le vol';
|
||||
|
||||
@override
|
||||
String get stopFlight => 'Arrêter le vol';
|
||||
|
||||
@override
|
||||
String get selectDroneBattery => 'Veuillez sélectionner un drone et une batterie.';
|
||||
|
||||
@override
|
||||
String get flightStarted => 'Vol démarré !';
|
||||
|
||||
@override
|
||||
String flightStopped(String flightDuration) {
|
||||
return 'Vol arrêté. Durée : $flightDuration';
|
||||
}
|
||||
|
||||
@override
|
||||
String get recordFlightLocation => 'Enregistrer la localisation du vol (GPS)';
|
||||
|
||||
@override
|
||||
String get locationServicesDisabled => 'Les services de localisation sont désactivés.';
|
||||
|
||||
@override
|
||||
String get locationPermissionsDenied => 'Les permissions de localisation sont refusées.';
|
||||
|
||||
@override
|
||||
String get locationPermissionsDeniedForever => 'Les permissions de localisation sont refusées de manière permanente, nous ne pouvons pas les demander.';
|
||||
|
||||
@override
|
||||
String locationObtained(double latitude, double longitude) {
|
||||
return 'Localisation obtenue : Lat $latitude, Lon $longitude';
|
||||
}
|
||||
|
||||
@override
|
||||
String get locationRequiredForFlight => 'La localisation GPS est requise mais n\'a pu être obtenue. Veuillez vérifier les permissions et réessayer.';
|
||||
|
||||
@override
|
||||
String get obtainingLocation => 'Obtention de la localisation...';
|
||||
|
||||
@override
|
||||
String failedToGetLocation(String error) {
|
||||
return 'Échec de l\'obtention de la localisation : $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String currentCoordinates(double latitude, double longitude) {
|
||||
return 'Coordonnées actuelles : Lat $latitude, Lon $longitude';
|
||||
}
|
||||
|
||||
@override
|
||||
String get errorLoadingDrones => 'Erreur lors du chargement des drones';
|
||||
|
||||
@override
|
||||
String get errorLoadingBatteries => 'Erreur lors du chargement des batteries';
|
||||
|
||||
@override
|
||||
String get noDronesYet => 'Aucun drone ajouté pour le moment. Appuyez sur la carte \'+\' pour en ajouter un !';
|
||||
|
||||
@override
|
||||
String get noBatteriesYet => 'Aucune batterie ajoutée pour le moment. Appuyez sur la carte \'+\' pour en ajouter une !';
|
||||
|
||||
@override
|
||||
String get flightSavedSuccessfully => 'Vol enregistré avec succès !';
|
||||
|
||||
@override
|
||||
String failedToSaveFlight(String error) {
|
||||
return 'Échec de l\'enregistrement du vol : $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String get errorLoadingFlights => 'Erreur lors du chargement des vols';
|
||||
|
||||
@override
|
||||
String get noFlightsYet => 'Aucun vol enregistré pour le moment.';
|
||||
|
||||
@override
|
||||
String get droneName => 'Nom du drone';
|
||||
|
||||
@override
|
||||
String get pleaseEnterDroneName => 'Veuillez entrer un nom de drone';
|
||||
|
||||
@override
|
||||
String get imageUuidOptional => 'UUID de l\'image (Facultatif)';
|
||||
|
||||
@override
|
||||
String get saveDrone => 'Enregistrer le drone';
|
||||
|
||||
@override
|
||||
String get droneAddedSuccessfully => 'Drone ajouté avec succès !';
|
||||
|
||||
@override
|
||||
String get failedToAddDrone => 'Échec de l\'ajout du drone';
|
||||
|
||||
@override
|
||||
String get batteryName => 'Nom de la batterie';
|
||||
|
||||
@override
|
||||
String get batteryType => 'Type de batterie';
|
||||
|
||||
@override
|
||||
String get batteryVoltage => 'Tension (V)';
|
||||
|
||||
@override
|
||||
String get pleaseEnterBatteryName => 'Veuillez entrer un nom de batterie';
|
||||
|
||||
@override
|
||||
String get pleaseEnterBatteryType => 'Veuillez entrer un type de batterie';
|
||||
|
||||
@override
|
||||
String get pleaseEnterBatteryVoltage => 'Veuillez entrer la tension de la batterie';
|
||||
|
||||
@override
|
||||
String get pleaseEnterValidNumber => 'Veuillez entrer un nombre valide';
|
||||
|
||||
@override
|
||||
String get saveBattery => 'Enregistrer la batterie';
|
||||
|
||||
@override
|
||||
String get batteryAddedSuccessfully => 'Batterie ajoutée avec succès !';
|
||||
|
||||
@override
|
||||
String get failedToAddBattery => 'Échec de l\'ajout de la batterie';
|
||||
|
||||
@override
|
||||
String get droneImage => 'Image du drone';
|
||||
|
||||
@override
|
||||
String get batteryImage => 'Image de la batterie';
|
||||
|
||||
@override
|
||||
String get takePhoto => 'Prendre une photo';
|
||||
|
||||
@override
|
||||
String get chooseFromGallery => 'Choisir de la galerie';
|
||||
|
||||
@override
|
||||
String get imageSelected => 'Image sélectionnée !';
|
||||
|
||||
@override
|
||||
String get imageSelectionCancelled => 'Sélection d\'image annulée.';
|
||||
|
||||
@override
|
||||
String get removeImage => 'Supprimer l\'image';
|
||||
|
||||
@override
|
||||
String get imageDeletedSuccessfully => 'Image supprimée avec succès !';
|
||||
|
||||
@override
|
||||
String get droneDetails => 'Détails du drone';
|
||||
|
||||
@override
|
||||
String get editDrone => 'Modifier le drone';
|
||||
|
||||
@override
|
||||
String get saveChanges => 'Enregistrer les modifications';
|
||||
|
||||
@override
|
||||
String get droneUpdatedSuccessfully => 'Drone mis à jour avec succès !';
|
||||
|
||||
@override
|
||||
String get failedToUpdateDrone => 'Échec de la mise à jour du drone';
|
||||
|
||||
@override
|
||||
String get deleteDroneConfirmationTitle => 'Supprimer le drone ?';
|
||||
|
||||
@override
|
||||
String deleteDroneConfirmationMessage(String droneName) {
|
||||
return 'Êtes-vous sûr de vouloir supprimer $droneName ? Cette action est irréversible.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get droneDeletedSuccessfully => 'Drone supprimé avec succès !';
|
||||
|
||||
@override
|
||||
String get failedToDeleteDrone => 'Échec de la suppression du drone';
|
||||
|
||||
@override
|
||||
String get batteryDetails => 'Détails de la batterie';
|
||||
|
||||
@override
|
||||
String get editBattery => 'Modifier la batterie';
|
||||
|
||||
@override
|
||||
String get batteryUpdatedSuccessfully => 'Batterie mise à jour avec succès !';
|
||||
|
||||
@override
|
||||
String get failedToUpdateBattery => 'Échec de la mise à jour de la batterie';
|
||||
|
||||
@override
|
||||
String get deleteBatteryConfirmationTitle => 'Supprimer la batterie ?';
|
||||
|
||||
@override
|
||||
String deleteBatteryConfirmationMessage(String batteryName) {
|
||||
return 'Êtes-vous sûr de vouloir supprimer $batteryName ? Cette action est irréversible.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get batteryDeletedSuccessfully => 'Batterie supprimée avec succès !';
|
||||
|
||||
@override
|
||||
String get failedToDeleteBattery => 'Échec de la suppression de la batterie';
|
||||
|
||||
@override
|
||||
String get cancel => 'Annuler';
|
||||
|
||||
@override
|
||||
String get delete => 'Supprimer';
|
||||
|
||||
@override
|
||||
String get flightDetails => 'Détails du vol';
|
||||
|
||||
@override
|
||||
String get startTime => 'Heure de début';
|
||||
|
||||
@override
|
||||
String get endTime => 'Heure de fin';
|
||||
|
||||
@override
|
||||
String get duration => 'Durée';
|
||||
|
||||
@override
|
||||
String get flightLocation => 'Localisation du vol';
|
||||
|
||||
@override
|
||||
String get noLocationData => 'Pas de données de localisation pour ce vol.';
|
||||
|
||||
@override
|
||||
String get unknown => 'Inconnu';
|
||||
|
||||
@override
|
||||
String get errorLoadingData => 'Erreur de chargement des données';
|
||||
|
||||
@override
|
||||
String get drone => 'Drone';
|
||||
|
||||
@override
|
||||
String get battery => 'Batterie';
|
||||
|
||||
@override
|
||||
String get themeSetting => 'Thème';
|
||||
|
||||
@override
|
||||
String get themeLight => 'Thème Clair';
|
||||
|
||||
@override
|
||||
String get themeDark => 'Thème Sombre';
|
||||
|
||||
@override
|
||||
String get themeSystem => 'Par défaut du système';
|
||||
|
||||
@override
|
||||
String themeChangedTo(String themeName) {
|
||||
return 'Thème changé en $themeName';
|
||||
}
|
||||
|
||||
@override
|
||||
String get deleteFlightConfirmationTitle => 'Supprimer le vol ?';
|
||||
|
||||
@override
|
||||
String deleteFlightConfirmationMessage(String flightName) {
|
||||
return 'Êtes-vous sûr de vouloir supprimer $flightName ? Cette action est irréversible.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get flightDeletedSuccessfully => 'Vol supprimé avec succès !';
|
||||
|
||||
@override
|
||||
String get failedToDeleteFlight => 'Échec de la suppression du vol';
|
||||
}
|
||||
Reference in New Issue
Block a user