Files
votianlt/app/lib/l10n/app_localizations_fr.dart
Sven Carstensen 704d1e7378 feat: Adressbuch mit Kundennummer, Update-Flow und interne Einträge
- Menüpunkt "Kunden" in "Adressbuch" umbenannt und App-Label
  "Verfügbare Jobs" zu "Auftragsliste" geändert (alle 10 Sprachen)
- Fortlaufende Kundennummer (usrId) ab 10000 über neuen
  SequenceGeneratorService und Counter-Dokument in misc-Collection
- Abholung/Lieferstation-Dialog: Änderungen an verknüpften
  Stammdaten aktualisieren den bestehenden Adressbuch-Eintrag
  statt einen neuen zu erzeugen; Checkbox-Label wechselt zu
  "Adresse im Adressbuch aktualisieren"
- Geänderte Adressen ohne Checkbox werden als interner Customer
  (internal=true) gesichert und im Adressbuch ausgeblendet
- E-Mail in AddCustomer und in Stations-Dialogen kein Pflichtfeld
  mehr; "(Login)" aus profile.email entfernt
- Manuelles Beenden eines Auftrags öffnet neue Seite
  JobManualCompleteView statt eines Dialogs
2026-04-20 12:42:56 +02:00

470 lines
14 KiB
Dart

import 'app_localizations.dart';
class AppLocalizationsFr extends AppLocalizations {
@override
String get languageName => 'Français';
@override
String get flagEmoji => '🇫🇷';
// ==================== GENERAL ====================
@override
String get appTitle => 'VotianLT App';
@override
String get ok => 'OK';
@override
String get cancel => 'Annuler';
@override
String get save => 'Enregistrer';
@override
String get delete => 'Supprimer';
@override
String get close => 'Fermer';
@override
String get confirm => 'Confirmer';
@override
String get error => 'Erreur';
@override
String get success => 'Succès';
@override
String get loading => 'Chargement...';
@override
String get refresh => 'Actualiser';
@override
String get version => 'Version';
@override
String get unknown => 'Inconnu';
@override
String get yesterday => 'Hier';
// ==================== NAVIGATION ====================
@override
String get jobs => 'Emplois';
@override
String get availableJobs => 'Liste des commandes';
@override
String get chats => 'Discussions';
@override
String get settings => 'Paramètres';
@override
String get logout => 'Déconnexion';
@override
String get logoutConfirm => 'Déconnexion';
@override
String get logoutConfirmMessage => 'Voulez-vous vraiment vous déconnecter?';
@override
String get openChat => 'Ouvrir la discussion';
@override
String get chatInfo => 'Info discussion';
@override
String get routePlan => 'Planifier l\'itinéraire';
// ==================== LOGIN ====================
@override
String get welcomeBack => 'Bon retour';
@override
String get loginSubtitle => 'Connectez-vous à votre compte';
@override
String get email => 'E-mail';
@override
String get emailAddress => 'Adresse e-mail';
@override
String get emailAddressHint => 'Saisissez votre adresse e-mail';
@override
String get emailAddressRequired => 'Veuillez saisir votre adresse e-mail';
@override
String get emailAddressInvalid => 'Veuillez saisir une adresse e-mail valide';
@override
String get password => 'Mot de passe';
@override
String get passwordHint => 'Saisissez votre mot de passe';
@override
String get passwordRequired => 'Veuillez saisir votre mot de passe';
@override
String get passwordMinLength =>
'Le mot de passe doit contenir au moins 6 caractères';
@override
String get login => 'Connexion';
@override
String get loggingIn => 'Connexion...';
@override
String get forgotPassword => 'Mot de passe oublié?';
@override
String get forgotPasswordMessage =>
'Fonction mot de passe oublié pas encore implémentée';
@override
String get loginSuccess => 'Déconnexion réussie';
@override
String get loginFailed => 'Échec de la connexion';
@override
String get connectionFailed =>
'Échec de la connexion au serveur (Délai dépassé).';
@override
String get connectionTimeout =>
'Échec de la connexion au serveur (Délai dépassé).';
@override
String get connecting => 'Connexion au serveur...';
@override
String get connectionError => 'Erreur de connexion';
@override
String get loginError => 'Erreur lors de la connexion';
// ==================== JOBS ====================
@override
String get noJobsAssigned => 'Aucun emploi assigné';
@override
String get noJobsMessage => 'Vos emplois assignés seront affichés ici.';
@override
String get pullToRefresh => 'Tirez vers le bas pour actualiser';
@override
String get newLabel => 'NOUVEAU';
@override
String get tasksToComplete => 'Tâches à accomplir';
@override
String get pickup => 'Ramassage';
@override
String get delivery => 'Livraison';
@override
String get created => 'Créé';
@override
String get status => 'Statut';
@override
String get priority => 'Priorité';
@override
String get dueDate => 'Date d\'échéance';
@override
String get location => 'Lieu';
@override
String get description => 'Description';
@override
String get cargo => 'Cargaison';
@override
String get quantity => 'Quantité';
@override
String get weight => 'Poids';
@override
String get dimensions => 'Dimensions';
@override
String get jobDeleted => 'Emploi supprimé';
@override
String get jobDeleteError => 'Erreur lors de la suppression de l\'emploi';
@override
String get jobCompleted => 'Emploi terminé';
@override
String get from => 'De';
@override
String get to => 'à';
@override
String get jobsUpdated => 'Emplois actualisés';
@override
String get connectionRestored =>
'Connexion restaurée. Chargement des emplois...';
@override
String get connectionLost => 'Connexion perdue. Hors ligne.';
@override
String get offline => 'Hors ligne';
@override
String get deleteJob => 'Supprimer l\'emploi';
@override
String get jobRemoved => 'a été supprimé';
@override
String get newJobReceived => 'Nouvel emploi reçu';
@override
String get jobDetails => 'Détails de la commande';
@override
String get jobTasks => 'Tâches de la commande';
@override
String get deliveryStations => 'Stations de livraison';
@override
String deliveryStationsCount(int count) => 'Stations de livraison ($count)';
@override
String get noDeliveryStations => 'Aucune station de livraison';
@override
String get noDeliveryStationsMessage =>
'Cette mission ne contient actuellement aucune station de livraison.';
@override
String get phone => 'Téléphone';
@override
String get unnamedStation => 'Station sans nom';
@override
String stationNumber(int number) => 'Station $number';
// ==================== TASKS ====================
@override
String get tasks => 'Tâches';
@override
String get noTasks => 'Aucune tâche';
@override
String get noTasksMessage => 'Aucune tâche définie pour cet emploi.';
@override
String get taskOrder => 'Ordre';
@override
String get confirmationRequired => 'Confirmation requise';
@override
String get confirmationDescription =>
'Cliquez sur le bouton pour terminer la tâche.';
@override
String get checklist => 'Liste de contrôle';
@override
String get checklistDescription => 'Veuillez cocher tous les éléments:';
@override
String get completeTask => 'Terminer la tâche';
@override
String get completeTaskConfirm =>
'Voulez-vous marquer cette tâche comme terminée?';
@override
String get completeTaskNote => 'Note (optionnelle)';
@override
String get taskCompleted => 'Tâche terminée';
@override
String get comment => 'Commentaire';
@override
String get commentRequired => 'Commentaire (requis)';
@override
String get enterComment => 'Saisir un commentaire';
@override
String get commentDescription => 'Veuillez saisir un commentaire:';
@override
String get finish => 'Terminer';
@override
String get signature => 'Signature';
@override
String get signatureCapture => 'Capturer la signature';
@override
String get signatureRequired => 'Veuillez capturer une signature.';
@override
String get clear => 'Effacer';
@override
String get signatureError =>
'Erreur lors de l\'enregistrement de la signature';
@override
String get signatureInstruction =>
'Veuillez signer dans le champ ci-dessous (souris ou doigt).';
@override
String get photoCapture => 'Prendre des photos';
@override
String get requiredPhotos => 'Photos requises';
@override
String get photosTaken => 'Prises';
@override
String get photos => 'Photos';
@override
String get takePhoto => 'Prendre une photo';
@override
String get selectFromLibrary => 'Sélectionner depuis la bibliothèque';
@override
String get retakePhoto => 'Reprendre';
@override
String get photoRequired => 'Photo requise';
@override
String get minPhotos => 'Au moins';
@override
String get maxPhotos => 'Maximum';
@override
String get photoError => 'Erreur lors de la prise de photo';
@override
String get deletePhoto => 'Supprimer la photo';
@override
String get deletePhotoConfirm =>
'Voulez-vous vraiment supprimer cette photo?';
@override
String get barcode => 'Code-barres';
@override
String get barcodeScan => 'Scanner le code-barres';
@override
String get scanBarcode => 'Scanner le code-barres';
@override
String get barcodeRequired => 'Code-barres requis';
@override
String get minBarcodes => 'Au moins';
@override
String get maxBarcodes => 'Maximum';
@override
String get scanned => 'Scanné';
@override
String get scannedBarcodes => 'Codes-barres scannés';
@override
String get barcodesRequired => 'Codes-barres requis';
@override
String get enterBarcode => 'Entrer le code-barres';
@override
String get barcodeEnterDescription => 'Veuillez entrer les codes-barres:';
@override
String barcodeNumberRequired(int number) => 'Code-barres $number (requis)';
@override
String barcodeNumberOptional(int number) => 'Code-barres $number (optionnel)';
@override
String get barcodeError => 'Erreur lors du scan du code-barres';
@override
String get cameraError => 'Erreur lors de l\'initialisation de la caméra';
@override
String get cameraNotReady => 'La caméra n\'est pas prête ou non disponible';
@override
String get cameraNotAvailable => 'Caméra non disponible';
@override
String get cameraNotSupportedMessage =>
'La caméra n\'est pas prise en charge sur cette plateforme.';
@override
String get cameraNotSupportedOnPlatform =>
'Non supporté sur cette plateforme';
@override
String get maxPhotosReached => 'Maximum atteint';
@override
String get cameraReadyNoPreview => 'Caméra prête (sans aperçu)';
@override
String get cameraLoading => 'Chargement de la caméra...';
@override
String get cameraInitializing => 'Initialisation de la caméra...';
@override
String get cameraLoadingMessage =>
'Veuillez patienter pendant le chargement de la caméra';
@override
String get addPhotos => 'Ajouter des photos';
@override
String get addPhotosInstruction =>
'Utilisez le bouton "Sélectionner une photo" pour ajouter des images depuis votre appareil photo ou disque dur.';
@override
String get photoOf => 'sur';
// ==================== CHAT ====================
@override
String get typeMessage => 'Tapez un message...';
@override
String get send => 'Envoyer';
@override
String get noSender => 'Aucun expéditeur disponible';
@override
String get noSenderMessage =>
'Aucun expéditeur disponible. Veuillez vous reconnecter.';
@override
String get noRecipient => 'Aucun destinataire configuré';
@override
String get noRecipientMessage =>
'Aucun destinataire configuré pour cette discussion.';
@override
String get messageSendError => 'Le message n\'a pas pu être envoyé.';
@override
String get photoSendError => 'La photo n\'a pas pu être envoyée.';
@override
String get photoProcessError => 'La photo n\'a pas pu être traitée.';
@override
String get imageSendError => 'L\'image n\'a pas pu être envoyée.';
@override
String get chatTypeJob => 'Spécifique à l\'emploi';
@override
String get chatTypeGeneral => 'Général';
@override
String get jobNumber => 'Numéro d\'emploi';
@override
String get messages => 'Messages';
@override
String get generalMessages => 'Messages généraux';
@override
String get noMessagesYet => 'Pas encore de messages';
@override
String get noChatsAvailable => 'Aucune discussion disponible';
@override
String get selectPhoto => 'Sélectionner une photo';
@override
String get unreadMessages => 'Messages non lus';
// ==================== CARGO ====================
@override
String get cargoDetails => 'Détails de cargaison';
@override
String get itemName => 'Description';
@override
String get itemNumber => 'N° de position';
@override
String get item => 'Position';
@override
String get weightUnit => 'kg';
@override
String get dimensionUnit => 'cm';
@override
String get noCargoItems => 'Aucun article de cargaison';
@override
String get noCargoItemsMessage =>
'Aucun article de cargaison défini pour cet emploi.';
@override
String get article => 'Article';
// ==================== TASK TYPES ====================
@override
String get takePhotos => 'Prendre des photos';
@override
String get photosCount => 'Photos';
@override
String get checklistPoints => 'Points';
@override
String get signatureRequiredText => 'Signature requise';
@override
String get scanBarcodes => 'Scanner les codes-barres';
@override
String get barcodeCount => 'Codes';
@override
String get commentOptional => 'Commentaire';
@override
String get genericTask => 'Tâche générique';
@override
String get complete => 'Terminer';
@override
String get abort => 'Annuler';
@override
String get optional => 'Facultatif';
@override
String get skipTask => 'Ignorer';
// ==================== SETTINGS ====================
@override
String get language => 'Langue';
@override
String get languageChanged => 'Langue changée en';
@override
String get appInfo => 'INFO APP';
// ==================== STATUS ====================
@override
String get statusCreated => 'Créé';
@override
String get statusPending => 'En attente';
@override
String get statusAssigned => 'Assigné';
@override
String get statusInProgress => 'En cours';
@override
String get statusCompleted => 'Terminé';
@override
String get statusCancelled => 'Annulé';
@override
String get statusFailed => 'Échoué';
@override
String get priorityLow => 'Basse';
@override
String get priorityMedium => 'Moyenne';
@override
String get priorityHigh => 'Haute';
@override
String get priorityUrgent => 'Urgente';
}