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.6 KiB
Dart
138 lines
2.6 KiB
Dart
// 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 => 'Plan B Logistics';
|
|
|
|
@override
|
|
String get appDescription => 'Delivery Management System';
|
|
|
|
@override
|
|
String get loginWithKeycloak => 'Login with Keycloak';
|
|
|
|
@override
|
|
String get deliveryRoutes => 'Delivery Routes';
|
|
|
|
@override
|
|
String get routes => 'Routes';
|
|
|
|
@override
|
|
String get deliveries => 'Deliveries';
|
|
|
|
@override
|
|
String get settings => 'Settings';
|
|
|
|
@override
|
|
String get profile => 'Profile';
|
|
|
|
@override
|
|
String get logout => 'Logout';
|
|
|
|
@override
|
|
String get completed => 'Completed';
|
|
|
|
@override
|
|
String get pending => 'Pending';
|
|
|
|
@override
|
|
String get todo => 'To Do';
|
|
|
|
@override
|
|
String get delivered => 'Delivered';
|
|
|
|
@override
|
|
String get newCustomer => 'New Customer';
|
|
|
|
@override
|
|
String items(int count) {
|
|
return '$count items';
|
|
}
|
|
|
|
@override
|
|
String moneyCurrency(double amount) {
|
|
return '$amount MAD';
|
|
}
|
|
|
|
@override
|
|
String get call => 'Call';
|
|
|
|
@override
|
|
String get map => 'Map';
|
|
|
|
@override
|
|
String get more => 'More';
|
|
|
|
@override
|
|
String get markAsCompleted => 'Mark as Completed';
|
|
|
|
@override
|
|
String get markAsUncompleted => 'Mark as Uncompleted';
|
|
|
|
@override
|
|
String get uploadPhoto => 'Upload Photo';
|
|
|
|
@override
|
|
String get viewDetails => 'View Details';
|
|
|
|
@override
|
|
String get deliverySuccessful => 'Delivery marked as completed';
|
|
|
|
@override
|
|
String get deliveryFailed => 'Failed to mark delivery';
|
|
|
|
@override
|
|
String get noDeliveries => 'No deliveries';
|
|
|
|
@override
|
|
String get noRoutes => 'No routes available';
|
|
|
|
@override
|
|
String error(String message) {
|
|
return 'Error: $message';
|
|
}
|
|
|
|
@override
|
|
String get retry => 'Retry';
|
|
|
|
@override
|
|
String get authenticationRequired => 'Authentication required';
|
|
|
|
@override
|
|
String get phoneCall => 'Call customer';
|
|
|
|
@override
|
|
String get navigateToAddress => 'Show on map';
|
|
|
|
@override
|
|
String get language => 'Language';
|
|
|
|
@override
|
|
String get english => 'English';
|
|
|
|
@override
|
|
String get french => 'French';
|
|
|
|
@override
|
|
String get appVersion => 'App Version';
|
|
|
|
@override
|
|
String get about => 'About';
|
|
|
|
@override
|
|
String fullName(String firstName, String lastName) {
|
|
return '$firstName $lastName';
|
|
}
|
|
|
|
@override
|
|
String completedDeliveries(int completed, int total) {
|
|
return '$completed/$total completed';
|
|
}
|
|
}
|