Implements complete refactor of Ionic Angular logistics app to Flutter/Dart with: - Svrnty dark mode console theme (Material Design 3) - Responsive layouts (mobile, tablet, desktop) following FRONTEND standards - CQRS API integration with Result<T> error handling - OAuth2/OIDC authentication support (mocked for initial testing) - Delivery route and delivery management features - Multi-language support (EN/FR) with i18n - Native integrations (camera, phone calls, maps) - Strict typing throughout codebase - Mock data for UI testing without backend Follows all FRONTEND style guides, design patterns, and conventions. App is running in dark mode and fully responsive across all device sizes. Co-Authored-By: Claude <noreply@anthropic.com>
138 lines
2.7 KiB
Dart
138 lines
2.7 KiB
Dart
// 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 => 'Plan B Logistique';
|
|
|
|
@override
|
|
String get appDescription => 'Systme de Gestion des Livraisons';
|
|
|
|
@override
|
|
String get loginWithKeycloak => 'Connexion avec Keycloak';
|
|
|
|
@override
|
|
String get deliveryRoutes => 'Itinraires de Livraison';
|
|
|
|
@override
|
|
String get routes => 'Itinraires';
|
|
|
|
@override
|
|
String get deliveries => 'Livraisons';
|
|
|
|
@override
|
|
String get settings => 'Paramtres';
|
|
|
|
@override
|
|
String get profile => 'Profil';
|
|
|
|
@override
|
|
String get logout => 'Dconnexion';
|
|
|
|
@override
|
|
String get completed => 'Livr';
|
|
|
|
@override
|
|
String get pending => 'En attente';
|
|
|
|
@override
|
|
String get todo => 'livrer';
|
|
|
|
@override
|
|
String get delivered => 'Livr';
|
|
|
|
@override
|
|
String get newCustomer => 'Nouveau Client';
|
|
|
|
@override
|
|
String items(int count) {
|
|
return '$count articles';
|
|
}
|
|
|
|
@override
|
|
String moneyCurrency(double amount) {
|
|
return '$amount MAD';
|
|
}
|
|
|
|
@override
|
|
String get call => 'Appeler';
|
|
|
|
@override
|
|
String get map => 'Carte';
|
|
|
|
@override
|
|
String get more => 'Plus';
|
|
|
|
@override
|
|
String get markAsCompleted => 'Marquer comme livr';
|
|
|
|
@override
|
|
String get markAsUncompleted => 'Marquer comme livrer';
|
|
|
|
@override
|
|
String get uploadPhoto => 'Tlcharger une photo';
|
|
|
|
@override
|
|
String get viewDetails => 'Voir les dtails';
|
|
|
|
@override
|
|
String get deliverySuccessful => 'Livraison marque comme complte';
|
|
|
|
@override
|
|
String get deliveryFailed => 'chec du marquage de la livraison';
|
|
|
|
@override
|
|
String get noDeliveries => 'Aucune livraison';
|
|
|
|
@override
|
|
String get noRoutes => 'Aucun itinraire disponible';
|
|
|
|
@override
|
|
String error(String message) {
|
|
return 'Erreur: $message';
|
|
}
|
|
|
|
@override
|
|
String get retry => 'Ressayer';
|
|
|
|
@override
|
|
String get authenticationRequired => 'Authentification requise';
|
|
|
|
@override
|
|
String get phoneCall => 'Appeler le client';
|
|
|
|
@override
|
|
String get navigateToAddress => 'Afficher sur la carte';
|
|
|
|
@override
|
|
String get language => 'Langue';
|
|
|
|
@override
|
|
String get english => 'English';
|
|
|
|
@override
|
|
String get french => 'Franais';
|
|
|
|
@override
|
|
String get appVersion => 'Version de l\'application';
|
|
|
|
@override
|
|
String get about => ' propos';
|
|
|
|
@override
|
|
String fullName(String firstName, String lastName) {
|
|
return '$firstName $lastName';
|
|
}
|
|
|
|
@override
|
|
String completedDeliveries(int completed, int total) {
|
|
return '$completed/$total livrs';
|
|
}
|
|
}
|