Files
unionflow-mobile-apps/lib/l10n/app_localizations.dart
dahoud 70cbd1c873 fix(mobile): URL changement mdp corrigée + v3.0 — multi-org, AppAuth, sécurité prod
Auth:
- profile_repository.dart: /api/auth/change-password → /api/membres/auth/change-password

Multi-org (Phase 3):
- OrgSelectorPage, OrgSwitcherBloc, OrgSwitcherEntry
- org_context_service.dart: headers X-Active-Organisation-Id + X-Active-Role

Navigation:
- MorePage: navigation conditionnelle par typeOrganisation
- Suppression adaptive_navigation (remplacé par main_navigation_layout)

Auth AppAuth:
- keycloak_webview_auth_service: fixes AppAuth Android
- AuthBloc: gestion REAUTH_REQUIS + premierLoginComplet

Onboarding:
- Nouveaux états: payment_method_page, onboarding_shared_widgets
- SouscriptionStatusModel mis à jour StatutValidationSouscription

Android:
- build.gradle: ProGuard/R8, network_security_config
- Gradle wrapper mis à jour
2026-04-07 20:56:03 +00:00

1436 lines
36 KiB
Dart
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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, youll need to edit this
/// file.
///
/// First, open your projects ios/Runner.xcworkspace Xcode workspace file.
/// Then, in the Project Navigator, open the Info.plist file under the Runner
/// projects 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')
];
/// Titre de l'application
///
/// In fr, this message translates to:
/// **'UnionFlow'**
String get appTitle;
/// No description provided for @login.
///
/// In fr, this message translates to:
/// **'Connexion'**
String get login;
/// No description provided for @logout.
///
/// In fr, this message translates to:
/// **'Déconnexion'**
String get logout;
/// No description provided for @email.
///
/// In fr, this message translates to:
/// **'Email'**
String get email;
/// No description provided for @password.
///
/// In fr, this message translates to:
/// **'Mot de passe'**
String get password;
/// No description provided for @forgotPassword.
///
/// In fr, this message translates to:
/// **'Mot de passe oublié ?'**
String get forgotPassword;
/// No description provided for @rememberMe.
///
/// In fr, this message translates to:
/// **'Se souvenir de moi'**
String get rememberMe;
/// No description provided for @signIn.
///
/// In fr, this message translates to:
/// **'Se connecter'**
String get signIn;
/// No description provided for @signUp.
///
/// In fr, this message translates to:
/// **'S\'inscrire'**
String get signUp;
/// No description provided for @welcome.
///
/// In fr, this message translates to:
/// **'Bienvenue'**
String get welcome;
/// No description provided for @welcomeBack.
///
/// In fr, this message translates to:
/// **'Bon retour'**
String get welcomeBack;
/// No description provided for @dashboard.
///
/// In fr, this message translates to:
/// **'Tableau de bord'**
String get dashboard;
/// No description provided for @members.
///
/// In fr, this message translates to:
/// **'Membres'**
String get members;
/// No description provided for @events.
///
/// In fr, this message translates to:
/// **'Événements'**
String get events;
/// No description provided for @organisations.
///
/// In fr, this message translates to:
/// **'Organisations'**
String get organisations;
/// No description provided for @cotisations.
///
/// In fr, this message translates to:
/// **'Cotisations'**
String get cotisations;
/// No description provided for @solidarity.
///
/// In fr, this message translates to:
/// **'Solidarité'**
String get solidarity;
/// No description provided for @reports.
///
/// In fr, this message translates to:
/// **'Rapports'**
String get reports;
/// No description provided for @notifications.
///
/// In fr, this message translates to:
/// **'Notifications'**
String get notifications;
/// No description provided for @profile.
///
/// In fr, this message translates to:
/// **'Profil'**
String get profile;
/// No description provided for @settings.
///
/// In fr, this message translates to:
/// **'Paramètres'**
String get settings;
/// No description provided for @more.
///
/// In fr, this message translates to:
/// **'Plus'**
String get more;
/// No description provided for @search.
///
/// In fr, this message translates to:
/// **'Rechercher'**
String get search;
/// No description provided for @filter.
///
/// In fr, this message translates to:
/// **'Filtrer'**
String get filter;
/// No description provided for @sort.
///
/// In fr, this message translates to:
/// **'Trier'**
String get sort;
/// No description provided for @create.
///
/// In fr, this message translates to:
/// **'Créer'**
String get create;
/// No description provided for @add.
///
/// In fr, this message translates to:
/// **'Ajouter'**
String get add;
/// No description provided for @edit.
///
/// In fr, this message translates to:
/// **'Modifier'**
String get edit;
/// No description provided for @delete.
///
/// In fr, this message translates to:
/// **'Supprimer'**
String get delete;
/// No description provided for @save.
///
/// In fr, this message translates to:
/// **'Enregistrer'**
String get save;
/// No description provided for @cancel.
///
/// In fr, this message translates to:
/// **'Annuler'**
String get cancel;
/// No description provided for @confirm.
///
/// In fr, this message translates to:
/// **'Confirmer'**
String get confirm;
/// No description provided for @close.
///
/// In fr, this message translates to:
/// **'Fermer'**
String get close;
/// No description provided for @back.
///
/// In fr, this message translates to:
/// **'Retour'**
String get back;
/// No description provided for @next.
///
/// In fr, this message translates to:
/// **'Suivant'**
String get next;
/// No description provided for @previous.
///
/// In fr, this message translates to:
/// **'Précédent'**
String get previous;
/// No description provided for @finish.
///
/// In fr, this message translates to:
/// **'Terminer'**
String get finish;
/// No description provided for @retry.
///
/// In fr, this message translates to:
/// **'Réessayer'**
String get retry;
/// No description provided for @refresh.
///
/// In fr, this message translates to:
/// **'Actualiser'**
String get refresh;
/// No description provided for @export.
///
/// In fr, this message translates to:
/// **'Exporter'**
String get export;
/// No description provided for @import.
///
/// In fr, this message translates to:
/// **'Importer'**
String get import;
/// No description provided for @download.
///
/// In fr, this message translates to:
/// **'Télécharger'**
String get download;
/// No description provided for @upload.
///
/// In fr, this message translates to:
/// **'Téléverser'**
String get upload;
/// No description provided for @share.
///
/// In fr, this message translates to:
/// **'Partager'**
String get share;
/// No description provided for @print.
///
/// In fr, this message translates to:
/// **'Imprimer'**
String get print;
/// No description provided for @loading.
///
/// In fr, this message translates to:
/// **'Chargement...'**
String get loading;
/// No description provided for @loadingData.
///
/// In fr, this message translates to:
/// **'Chargement des données...'**
String get loadingData;
/// No description provided for @initializing.
///
/// In fr, this message translates to:
/// **'Initialisation...'**
String get initializing;
/// No description provided for @updating.
///
/// In fr, this message translates to:
/// **'Mise à jour...'**
String get updating;
/// No description provided for @saving.
///
/// In fr, this message translates to:
/// **'Enregistrement...'**
String get saving;
/// No description provided for @deleting.
///
/// In fr, this message translates to:
/// **'Suppression...'**
String get deleting;
/// No description provided for @processing.
///
/// In fr, this message translates to:
/// **'Traitement...'**
String get processing;
/// No description provided for @error.
///
/// In fr, this message translates to:
/// **'Erreur'**
String get error;
/// No description provided for @errorOccurred.
///
/// In fr, this message translates to:
/// **'Une erreur s\'est produite'**
String get errorOccurred;
/// No description provided for @errorUnexpected.
///
/// In fr, this message translates to:
/// **'Une erreur inattendue s\'est produite.'**
String get errorUnexpected;
/// No description provided for @errorNetwork.
///
/// In fr, this message translates to:
/// **'Erreur de connexion. Vérifiez votre connexion internet.'**
String get errorNetwork;
/// No description provided for @errorServer.
///
/// In fr, this message translates to:
/// **'Erreur serveur. Veuillez réessayer plus tard.'**
String get errorServer;
/// No description provided for @errorAuth.
///
/// In fr, this message translates to:
/// **'Non authentifié. Veuillez vous reconnecter.'**
String get errorAuth;
/// No description provided for @errorPermission.
///
/// In fr, this message translates to:
/// **'Accès refusé. Vous n\'avez pas les permissions nécessaires.'**
String get errorPermission;
/// No description provided for @errorNotFound.
///
/// In fr, this message translates to:
/// **'Ressource non trouvée.'**
String get errorNotFound;
/// No description provided for @errorValidation.
///
/// In fr, this message translates to:
/// **'Données invalides. Vérifiez les informations saisies.'**
String get errorValidation;
/// No description provided for @errorTimeout.
///
/// In fr, this message translates to:
/// **'Délai d\'attente dépassé.'**
String get errorTimeout;
/// No description provided for @success.
///
/// In fr, this message translates to:
/// **'Succès'**
String get success;
/// No description provided for @successSaved.
///
/// In fr, this message translates to:
/// **'Enregistré avec succès'**
String get successSaved;
/// No description provided for @successDeleted.
///
/// In fr, this message translates to:
/// **'Supprimé avec succès'**
String get successDeleted;
/// No description provided for @successUpdated.
///
/// In fr, this message translates to:
/// **'Mis à jour avec succès'**
String get successUpdated;
/// No description provided for @successCreated.
///
/// In fr, this message translates to:
/// **'Créé avec succès'**
String get successCreated;
/// No description provided for @warning.
///
/// In fr, this message translates to:
/// **'Attention'**
String get warning;
/// No description provided for @info.
///
/// In fr, this message translates to:
/// **'Information'**
String get info;
/// No description provided for @noData.
///
/// In fr, this message translates to:
/// **'Aucune donnée disponible'**
String get noData;
/// No description provided for @noResults.
///
/// In fr, this message translates to:
/// **'Aucun résultat trouvé'**
String get noResults;
/// No description provided for @noConnection.
///
/// In fr, this message translates to:
/// **'Pas de connexion'**
String get noConnection;
/// No description provided for @emptyList.
///
/// In fr, this message translates to:
/// **'La liste est vide'**
String get emptyList;
/// No description provided for @yes.
///
/// In fr, this message translates to:
/// **'Oui'**
String get yes;
/// No description provided for @no.
///
/// In fr, this message translates to:
/// **'Non'**
String get no;
/// No description provided for @ok.
///
/// In fr, this message translates to:
/// **'OK'**
String get ok;
/// No description provided for @all.
///
/// In fr, this message translates to:
/// **'Tous'**
String get all;
/// No description provided for @none.
///
/// In fr, this message translates to:
/// **'Aucun'**
String get none;
/// No description provided for @name.
///
/// In fr, this message translates to:
/// **'Nom'**
String get name;
/// No description provided for @firstName.
///
/// In fr, this message translates to:
/// **'Prénom'**
String get firstName;
/// No description provided for @lastName.
///
/// In fr, this message translates to:
/// **'Nom de famille'**
String get lastName;
/// No description provided for @fullName.
///
/// In fr, this message translates to:
/// **'Nom complet'**
String get fullName;
/// No description provided for @phone.
///
/// In fr, this message translates to:
/// **'Téléphone'**
String get phone;
/// No description provided for @address.
///
/// In fr, this message translates to:
/// **'Adresse'**
String get address;
/// No description provided for @city.
///
/// In fr, this message translates to:
/// **'Ville'**
String get city;
/// No description provided for @postalCode.
///
/// In fr, this message translates to:
/// **'Code postal'**
String get postalCode;
/// No description provided for @country.
///
/// In fr, this message translates to:
/// **'Pays'**
String get country;
/// No description provided for @region.
///
/// In fr, this message translates to:
/// **'Région'**
String get region;
/// No description provided for @birthDate.
///
/// In fr, this message translates to:
/// **'Date de naissance'**
String get birthDate;
/// No description provided for @gender.
///
/// In fr, this message translates to:
/// **'Genre'**
String get gender;
/// No description provided for @profession.
///
/// In fr, this message translates to:
/// **'Profession'**
String get profession;
/// No description provided for @nationality.
///
/// In fr, this message translates to:
/// **'Nationalité'**
String get nationality;
/// No description provided for @status.
///
/// In fr, this message translates to:
/// **'Statut'**
String get status;
/// No description provided for @statusActive.
///
/// In fr, this message translates to:
/// **'Actif'**
String get statusActive;
/// No description provided for @statusInactive.
///
/// In fr, this message translates to:
/// **'Inactif'**
String get statusInactive;
/// No description provided for @statusSuspended.
///
/// In fr, this message translates to:
/// **'Suspendu'**
String get statusSuspended;
/// No description provided for @statusPending.
///
/// In fr, this message translates to:
/// **'En attente'**
String get statusPending;
/// No description provided for @statusConfirmed.
///
/// In fr, this message translates to:
/// **'Confirmé'**
String get statusConfirmed;
/// No description provided for @statusCancelled.
///
/// In fr, this message translates to:
/// **'Annulé'**
String get statusCancelled;
/// No description provided for @statusPostponed.
///
/// In fr, this message translates to:
/// **'Reporté'**
String get statusPostponed;
/// No description provided for @statusDraft.
///
/// In fr, this message translates to:
/// **'Brouillon'**
String get statusDraft;
/// No description provided for @role.
///
/// In fr, this message translates to:
/// **'Rôle'**
String get role;
/// No description provided for @roleSuperAdmin.
///
/// In fr, this message translates to:
/// **'Super Administrateur'**
String get roleSuperAdmin;
/// No description provided for @roleOrgAdmin.
///
/// In fr, this message translates to:
/// **'Administrateur Org'**
String get roleOrgAdmin;
/// No description provided for @roleModerator.
///
/// In fr, this message translates to:
/// **'Modérateur'**
String get roleModerator;
/// No description provided for @roleActiveMember.
///
/// In fr, this message translates to:
/// **'Membre Actif'**
String get roleActiveMember;
/// No description provided for @roleSimpleMember.
///
/// In fr, this message translates to:
/// **'Membre Simple'**
String get roleSimpleMember;
/// No description provided for @roleVisitor.
///
/// In fr, this message translates to:
/// **'Visiteur'**
String get roleVisitor;
/// No description provided for @type.
///
/// In fr, this message translates to:
/// **'Type'**
String get type;
/// No description provided for @typeOfficial.
///
/// In fr, this message translates to:
/// **'Officiel'**
String get typeOfficial;
/// No description provided for @typeSocial.
///
/// In fr, this message translates to:
/// **'Social'**
String get typeSocial;
/// No description provided for @typeTraining.
///
/// In fr, this message translates to:
/// **'Formation'**
String get typeTraining;
/// No description provided for @typeSolidarity.
///
/// In fr, this message translates to:
/// **'Solidarité'**
String get typeSolidarity;
/// No description provided for @typeOther.
///
/// In fr, this message translates to:
/// **'Autre'**
String get typeOther;
/// No description provided for @priority.
///
/// In fr, this message translates to:
/// **'Priorité'**
String get priority;
/// No description provided for @priorityLow.
///
/// In fr, this message translates to:
/// **'Basse'**
String get priorityLow;
/// No description provided for @priorityMedium.
///
/// In fr, this message translates to:
/// **'Moyenne'**
String get priorityMedium;
/// No description provided for @priorityHigh.
///
/// In fr, this message translates to:
/// **'Haute'**
String get priorityHigh;
/// No description provided for @date.
///
/// In fr, this message translates to:
/// **'Date'**
String get date;
/// No description provided for @startDate.
///
/// In fr, this message translates to:
/// **'Date de début'**
String get startDate;
/// No description provided for @endDate.
///
/// In fr, this message translates to:
/// **'Date de fin'**
String get endDate;
/// No description provided for @createdAt.
///
/// In fr, this message translates to:
/// **'Créé le'**
String get createdAt;
/// No description provided for @updatedAt.
///
/// In fr, this message translates to:
/// **'Modifié le'**
String get updatedAt;
/// No description provided for @lastActivity.
///
/// In fr, this message translates to:
/// **'Dernière activité'**
String get lastActivity;
/// No description provided for @description.
///
/// In fr, this message translates to:
/// **'Description'**
String get description;
/// No description provided for @details.
///
/// In fr, this message translates to:
/// **'Détails'**
String get details;
/// No description provided for @location.
///
/// In fr, this message translates to:
/// **'Lieu'**
String get location;
/// No description provided for @organizer.
///
/// In fr, this message translates to:
/// **'Organisateur'**
String get organizer;
/// No description provided for @participants.
///
/// In fr, this message translates to:
/// **'Participants'**
String get participants;
/// No description provided for @maxParticipants.
///
/// In fr, this message translates to:
/// **'Participants max'**
String get maxParticipants;
/// No description provided for @currentParticipants.
///
/// In fr, this message translates to:
/// **'Participants actuels'**
String get currentParticipants;
/// No description provided for @availableSpots.
///
/// In fr, this message translates to:
/// **'Places disponibles'**
String get availableSpots;
/// No description provided for @full.
///
/// In fr, this message translates to:
/// **'Complet'**
String get full;
/// No description provided for @cost.
///
/// In fr, this message translates to:
/// **'Coût'**
String get cost;
/// No description provided for @free.
///
/// In fr, this message translates to:
/// **'Gratuit'**
String get free;
/// No description provided for @price.
///
/// In fr, this message translates to:
/// **'Prix'**
String get price;
/// No description provided for @currency.
///
/// In fr, this message translates to:
/// **'Devise'**
String get currency;
/// No description provided for @membersManagement.
///
/// In fr, this message translates to:
/// **'Gestion des Membres'**
String get membersManagement;
/// No description provided for @membersTotal.
///
/// In fr, this message translates to:
/// **'{count} membres au total'**
String membersTotal(int count);
/// No description provided for @membersActive.
///
/// In fr, this message translates to:
/// **'Actifs'**
String get membersActive;
/// No description provided for @membersInactive.
///
/// In fr, this message translates to:
/// **'Inactifs'**
String get membersInactive;
/// No description provided for @membersPending.
///
/// In fr, this message translates to:
/// **'En attente'**
String get membersPending;
/// No description provided for @addMember.
///
/// In fr, this message translates to:
/// **'Ajouter un membre'**
String get addMember;
/// No description provided for @editMember.
///
/// In fr, this message translates to:
/// **'Modifier le membre'**
String get editMember;
/// No description provided for @deleteMember.
///
/// In fr, this message translates to:
/// **'Supprimer le membre'**
String get deleteMember;
/// No description provided for @memberDetails.
///
/// In fr, this message translates to:
/// **'Détails du membre'**
String get memberDetails;
/// No description provided for @searchMembers.
///
/// In fr, this message translates to:
/// **'Rechercher un membre...'**
String get searchMembers;
/// No description provided for @noMembersFound.
///
/// In fr, this message translates to:
/// **'Aucun membre trouvé'**
String get noMembersFound;
/// No description provided for @eventsManagement.
///
/// In fr, this message translates to:
/// **'Gestion des Événements'**
String get eventsManagement;
/// No description provided for @eventsTotal.
///
/// In fr, this message translates to:
/// **'{count} événements au total'**
String eventsTotal(int count);
/// No description provided for @eventsUpcoming.
///
/// In fr, this message translates to:
/// **'À venir'**
String get eventsUpcoming;
/// No description provided for @eventsOngoing.
///
/// In fr, this message translates to:
/// **'En cours'**
String get eventsOngoing;
/// No description provided for @eventsPast.
///
/// In fr, this message translates to:
/// **'Passés'**
String get eventsPast;
/// No description provided for @addEvent.
///
/// In fr, this message translates to:
/// **'Ajouter un événement'**
String get addEvent;
/// No description provided for @editEvent.
///
/// In fr, this message translates to:
/// **'Modifier l\'événement'**
String get editEvent;
/// No description provided for @deleteEvent.
///
/// In fr, this message translates to:
/// **'Supprimer l\'événement'**
String get deleteEvent;
/// No description provided for @eventDetails.
///
/// In fr, this message translates to:
/// **'Détails de l\'événement'**
String get eventDetails;
/// No description provided for @searchEvents.
///
/// In fr, this message translates to:
/// **'Rechercher un événement...'**
String get searchEvents;
/// No description provided for @noEventsFound.
///
/// In fr, this message translates to:
/// **'Aucun événement trouvé'**
String get noEventsFound;
/// No description provided for @calendar.
///
/// In fr, this message translates to:
/// **'Calendrier'**
String get calendar;
/// No description provided for @register.
///
/// In fr, this message translates to:
/// **'S\'inscrire'**
String get register;
/// No description provided for @unregister.
///
/// In fr, this message translates to:
/// **'Se désinscrire'**
String get unregister;
/// No description provided for @organisationsManagement.
///
/// In fr, this message translates to:
/// **'Gestion des Organisations'**
String get organisationsManagement;
/// No description provided for @organisationsTotal.
///
/// In fr, this message translates to:
/// **'{count} organisations au total'**
String organisationsTotal(int count);
/// No description provided for @addOrganisation.
///
/// In fr, this message translates to:
/// **'Ajouter une organisation'**
String get addOrganisation;
/// No description provided for @editOrganisation.
///
/// In fr, this message translates to:
/// **'Modifier l\'organisation'**
String get editOrganisation;
/// No description provided for @deleteOrganisation.
///
/// In fr, this message translates to:
/// **'Supprimer l\'organisation'**
String get deleteOrganisation;
/// No description provided for @organisationDetails.
///
/// In fr, this message translates to:
/// **'Détails de l\'organisation'**
String get organisationDetails;
/// No description provided for @searchOrganisations.
///
/// In fr, this message translates to:
/// **'Rechercher une organisation...'**
String get searchOrganisations;
/// No description provided for @noOrganisationsFound.
///
/// In fr, this message translates to:
/// **'Aucune organisation trouvée'**
String get noOrganisationsFound;
/// No description provided for @cotisationsManagement.
///
/// In fr, this message translates to:
/// **'Gestion des Cotisations'**
String get cotisationsManagement;
/// No description provided for @cotisationsTotal.
///
/// In fr, this message translates to:
/// **'{count} cotisations au total'**
String cotisationsTotal(int count);
/// No description provided for @cotisationPaid.
///
/// In fr, this message translates to:
/// **'Payée'**
String get cotisationPaid;
/// No description provided for @cotisationUnpaid.
///
/// In fr, this message translates to:
/// **'Non payée'**
String get cotisationUnpaid;
/// No description provided for @cotisationOverdue.
///
/// In fr, this message translates to:
/// **'En retard'**
String get cotisationOverdue;
/// No description provided for @addCotisation.
///
/// In fr, this message translates to:
/// **'Ajouter une cotisation'**
String get addCotisation;
/// No description provided for @editCotisation.
///
/// In fr, this message translates to:
/// **'Modifier la cotisation'**
String get editCotisation;
/// No description provided for @deleteCotisation.
///
/// In fr, this message translates to:
/// **'Supprimer la cotisation'**
String get deleteCotisation;
/// No description provided for @cotisationDetails.
///
/// In fr, this message translates to:
/// **'Détails de la cotisation'**
String get cotisationDetails;
/// No description provided for @searchCotisations.
///
/// In fr, this message translates to:
/// **'Rechercher une cotisation...'**
String get searchCotisations;
/// No description provided for @noCotisationsFound.
///
/// In fr, this message translates to:
/// **'Aucune cotisation trouvée'**
String get noCotisationsFound;
/// No description provided for @amount.
///
/// In fr, this message translates to:
/// **'Montant'**
String get amount;
/// No description provided for @dueDate.
///
/// In fr, this message translates to:
/// **'Date d\'échéance'**
String get dueDate;
/// No description provided for @paymentDate.
///
/// In fr, this message translates to:
/// **'Date de paiement'**
String get paymentDate;
/// No description provided for @paymentMethod.
///
/// In fr, this message translates to:
/// **'Méthode de paiement'**
String get paymentMethod;
/// No description provided for @statistics.
///
/// In fr, this message translates to:
/// **'Statistiques'**
String get statistics;
/// No description provided for @analytics.
///
/// In fr, this message translates to:
/// **'Analytics'**
String get analytics;
/// No description provided for @total.
///
/// In fr, this message translates to:
/// **'Total'**
String get total;
/// No description provided for @average.
///
/// In fr, this message translates to:
/// **'Moyenne'**
String get average;
/// No description provided for @percentage.
///
/// In fr, this message translates to:
/// **'Pourcentage'**
String get percentage;
/// No description provided for @viewList.
///
/// In fr, this message translates to:
/// **'Vue liste'**
String get viewList;
/// No description provided for @viewGrid.
///
/// In fr, this message translates to:
/// **'Vue grille'**
String get viewGrid;
/// No description provided for @viewCalendar.
///
/// In fr, this message translates to:
/// **'Vue calendrier'**
String get viewCalendar;
/// No description provided for @page.
///
/// In fr, this message translates to:
/// **'Page'**
String get page;
/// No description provided for @pageOf.
///
/// In fr, this message translates to:
/// **'Page {current} sur {total}'**
String pageOf(int current, int total);
/// No description provided for @language.
///
/// In fr, this message translates to:
/// **'Langue'**
String get language;
/// No description provided for @languageFrench.
///
/// In fr, this message translates to:
/// **'Français'**
String get languageFrench;
/// No description provided for @languageEnglish.
///
/// In fr, this message translates to:
/// **'English'**
String get languageEnglish;
/// No description provided for @theme.
///
/// In fr, this message translates to:
/// **'Thème'**
String get theme;
/// No description provided for @themeLight.
///
/// In fr, this message translates to:
/// **'Clair'**
String get themeLight;
/// No description provided for @themeDark.
///
/// In fr, this message translates to:
/// **'Sombre'**
String get themeDark;
/// No description provided for @themeSystem.
///
/// In fr, this message translates to:
/// **'Système'**
String get themeSystem;
/// No description provided for @version.
///
/// In fr, this message translates to:
/// **'Version'**
String get version;
/// No description provided for @about.
///
/// In fr, this message translates to:
/// **'À propos'**
String get about;
/// No description provided for @help.
///
/// In fr, this message translates to:
/// **'Aide'**
String get help;
/// No description provided for @support.
///
/// In fr, this message translates to:
/// **'Support'**
String get support;
/// No description provided for @termsOfService.
///
/// In fr, this message translates to:
/// **'Conditions d\'utilisation'**
String get termsOfService;
/// No description provided for @privacyPolicy.
///
/// In fr, this message translates to:
/// **'Politique de confidentialité'**
String get privacyPolicy;
/// No description provided for @confirmDelete.
///
/// In fr, this message translates to:
/// **'Êtes-vous sûr de vouloir supprimer ?'**
String get confirmDelete;
/// No description provided for @confirmLogout.
///
/// In fr, this message translates to:
/// **'Êtes-vous sûr de vouloir vous déconnecter ?'**
String get confirmLogout;
/// No description provided for @confirmCancel.
///
/// In fr, this message translates to:
/// **'Êtes-vous sûr de vouloir annuler ?'**
String get confirmCancel;
/// No description provided for @requiredField.
///
/// In fr, this message translates to:
/// **'Ce champ est requis'**
String get requiredField;
/// No description provided for @invalidEmail.
///
/// In fr, this message translates to:
/// **'Email invalide'**
String get invalidEmail;
/// No description provided for @invalidPhone.
///
/// In fr, this message translates to:
/// **'Numéro de téléphone invalide'**
String get invalidPhone;
/// No description provided for @invalidDate.
///
/// In fr, this message translates to:
/// **'Date invalide'**
String get invalidDate;
/// No description provided for @passwordTooShort.
///
/// In fr, this message translates to:
/// **'Le mot de passe est trop court'**
String get passwordTooShort;
/// No description provided for @passwordsDoNotMatch.
///
/// In fr, this message translates to:
/// **'Les mots de passe ne correspondent pas'**
String get passwordsDoNotMatch;
}
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.');
}