{
  "notFoundPage": {
    "code": "404",
    "title": "Page introuvable",
    "description": "La page demandée n’existe pas ou a été déplacée.",
    "back_home": "Retour à l’accueil"
  },
  "common": {
    "loading": "Chargement…",
    "save": "Enregistrer",
    "cancel": "Annuler",
    "close": "Fermer",
    "yes": "Oui",
    "no": "Non",
    "language": "Langue",
    "language.fr": "Français",
    "language.en": "Anglais"
  },
  "invoice": {
    "open": "Facture",
    "documents": "Factures",
    "serviceTitle": "Mise en ligne d’annonce",
    "serviceDescription": "Facture des services de publication, de prolongation et de sponsoring de vos annonces.",
    "serviceMarketplace": "Services de publication Requipa",
    "serviceIssuer": "Émetteur",
    "serviceBuyer": "Client",
    "serviceSuppliedOn": "Date de prestation",
    "services": "Services facturés",
    "service": "Désignation",
    "documentLabel": "Facture {{number}}",
    "marketplace": "Facture vendeur via Requipa",
    "title": "Facture",
    "specimen": "Spécimen · Données fictives",
    "specimenDetail": "Ce document est un spécimen non comptable.",
    "issuer": "Vendeur",
    "buyer": "Acheteur",
    "delivery": "Livraison",
    "issuedOn": "Date d’émission",
    "suppliedOn": "Date de livraison prévue",
    "order": "Commande",
    "purchaseOrder": "Bon de commande",
    "products": "Articles vendus",
    "product": "Produit",
    "quantityShort": "Qté",
    "unitNetShort": "PU HT",
    "tax": "TVA",
    "payment": "Paiement",
    "paymentMethods": {
      "card": "Carte bancaire",
      "klarna": "Klarna",
      "bank_transfer": "Virement bancaire"
    },
    "dueOn": "Échéance : {{date}}",
    "receivedOn": "Paiement reçu le {{date}}",
    "reference": "Référence : {{reference}}",
    "quantity": "Quantité",
    "unitNet": "Prix unitaire HT",
    "taxRate": "TVA {{rate}} %",
    "net": "Net HT",
    "lineDiscount": "Remise : {{amount}}",
    "photoUnavailable": "Photo non disponible",
    "totals": "Totaux",
    "totalNet": "Total HT",
    "taxBase": "Base : {{amount}}",
    "totalGross": "Total TTC",
    "alreadyPaid": "Déjà payé",
    "remaining": "Reste à payer",
    "paid": "Payée",
    "awaitingPayment": "En attente de paiement",
    "vatNumber": "TVA : {{number}}",
    "signoff": "Document généré par Requipa",
    "document_invalid": "Cette facture ne peut pas être affichée.",
    "sellerInvoices": "Factures vendeurs",
    "sellerInvoicesDescription": "Une facture distincte est établie pour chaque vendeur de cette commande.",
    "sellerCount_one": "{{count}} facture vendeur",
    "sellerCount_other": "{{count}} factures vendeurs",
    "openSellerInvoices": "Voir les factures vendeurs",
    "openingInvoices": "Génération des factures…",
    "printAll": "Imprimer les factures",
    "transportMarketplace": "Facture de transport établie par Requipa",
    "transportTitle": "Facture de transport",
    "transportIssuer": "Transporteur",
    "feeMarketplace": "Frais de service Requipa",
    "feeTitle": "Facture de frais de service",
    "orderCount_one": "{{count}} facture pour cette commande",
    "orderCount_other": "{{count}} factures pour cette commande",
    "orderInvoicesDescription": "Une facture est établie par vendeur pour le mobilier, une par transport et une pour les frais de service.",
    "openTransportInvoices": "Factures de transport",
    "providerFeeMarketplace": "Facture de frais établie par Requipa",
    "providerFeeTitle": "Facture de frais Requipa",
    "providerFeeDescription": "Frais Requipa sur les commandes livrées pendant le mois, payables à 30 jours à réception.",
    "period": "Période",
    "providerInvoices": "Factures Requipa",
    "providerInvoicesEmpty": "Aucune facture Requipa pour le moment.",
    "providerInvoicesDescription": "Le 1er de chaque mois, Requipa facture 30 € HT par commande livrée le mois précédent.",
    "providerInvoiceOrders": "Commandes livrées",
    "providerInvoiceTotal": "Montant TTC",
    "providerInvoiceDue": "Échéance",
    "providerInvoiceView": "Voir",
    "providerInvoiceNumber": "N° de facture"
  },
  "table": {
    "search": "Rechercher",
    "empty": "Aucun résultat",
    "showing": "Affichage de",
    "to": "à",
    "of": "sur",
    "results": "résultats",
    "previous": "Précédent",
    "next": "Suivant",
    "export": "Exporter",
    "param": {
      "title": "Colonnes affichées",
      "do": "Appliquer",
      "cancel": "Annuler"
    }
  },
  "navigation": {
    "main": "Navigation principale",
    "mobile": "Navigation mobile",
    "home": "Accueil",
    "search": "Recherche",
    "categories": "Catégories",
    "products": "Produits",
    "deals": "Bons plans",
    "space": "Espace",
    "space_menu": "Choisir un espace",
    "space_values": {
      "grand_distribution": "Grande distribution",
      "outdoor": "Mobilier outdoor",
      "ergonomics": "Ergonomie",
      "office": "Bureau",
      "chr": "HCR",
      "acoustic": "Acoustique",
      "industry": "Industrie",
      "retail": "Retail",
      "pharmaceutical": "Pharmaceutique",
      "kitchen": "Cuisine",
      "partition_ceiling": "Cloison amovible et faux plafond"
    },
    "how_it_works": "Comment ça marche ?",
    "favorites": "Favoris",
    "messages": "Messages",
    "sell": "Déposer une annonce",
    "sell_short": "Vendre",
    "account": "Compte"
  },
  "userMenu": {
    "open": "Ouvrir le menu utilisateur",
    "account_badge": "Compte client",
    "admin_badge": "Admin",
    "transporter_badge": "Transporteur",
    "account_section": "Compte",
    "seller_section": "Vendre",
    "admin_section": "Administration",
    "transporter_section": "Espace transporteur",
    "profile": "Mes informations",
    "profile_description": "Coordonnées, photo, préférences et confidentialité.",
    "favorites": "Favoris",
    "favorites_description": "Meubles sauvegardés pour les retrouver plus tard.",
    "orders": "Achats et suivi",
    "orders_description": "Commandes, paiements, livraison et récapitulatifs.",
    "messages": "Messages",
    "messages_description": "Conversations internes avec vendeurs et acheteurs.",
    "support": "Support",
    "support_description": "Demandes au support, litiges et problèmes de transport.",
    "enterprise": "Entreprise et vérification",
    "enterprise_description": "SIRET, KBIS, domaine email et profil professionnel.",
    "listings": "Mes annonces",
    "listings_description": "Brouillons, annonces publiées, expirées, réservées et vendues.",
    "payments": "Paiements et factures",
    "payments_description": "Publication, sponsoring, factures et historique de paiement.",
    "transporter_dashboard": "Tableau de bord",
    "transporter_dashboard_description": "Activité livrée, montants, statuts actifs et priorités du jour.",
    "transporter_quotes": "Annonces à chiffrer",
    "transporter_quotes_description": "Consultez les informations logistiques et fixez le tarif final avant publication.",
    "transporter_orders": "Livraisons",
    "transporter_orders_description": "Commandes à livrer, suivi transport et confirmation de livraison.",
    "transporter_payouts": "Reversements",
    "transporter_payouts_description": "Montants Stripe transport, virements payés, en attente ou échoués.",
    "transporter_settings": "Réglages",
    "transporter_settings_description": "Compte Stripe Connect utilisé pour recevoir les reversements transport.",
    "admin": "Interface admin",
    "admin_description": "Utilisateurs, accès, modération, litiges, prix et marges."
  },
  "backoffice": {
    "menu": "Menu",
    "navigation": "Navigation backoffice",
    "mobile_navigation": "Navigation mobile backoffice",
    "return_marketplace": "Retour à la marketplace",
    "secured_space": "Espace sécurisé",
    "transporter_groups": {
      "pilotage": "Pilotage",
      "finance": "Finance",
      "account": "Compte"
    }
  },
  "footer": {
    "seller_terms": "CGV Vendeurs",
    "description": "La référence du mobilier professionnel d’occasion et reconditionné. Sélection, transport et installation sans effort.",
    "buy": "ACHETER",
    "sell": "VENDRE",
    "requipa": "REQUIPA",
    "all_offers": "Toutes les annonces",
    "post_listing": "Déposer une annonce",
    "how_it_works": "Comment ça marche",
    "contact": "Contact",
    "copyright": "© 2026 Requipa. Tous droits réservés.",
    "legal": "Mentions légales",
    "terms": "CGU"
  },
  "accountPage": {
    "eyebrow": "Espace utilisateur",
    "edit": "Modifier",
    "edit_title": "Modifier mes informations",
    "edit_description": "Mettez à jour les informations utilisées pour votre compte Requipa.",
    "firstname": "Prénom",
    "lastname": "Nom",
    "email": "Email",
    "account_type": "Type de compte",
    "empty_value": "Non renseigné",
    "info_form": {
      "user_firstname": "Prénom",
      "user_lastname": "Nom",
      "user_email": "Email",
      "user_hide_info": "Mode anonyme",
      "user_hide_info_description": "Pour des raisons de confidentialité, vous pouvez activer le mode anonyme pour masquer vos informations à l’ensemble des utilisateurs",
      "do": "Enregistrer",
      "success": "Informations du compte mises à jour",
      "unavailable": "Modification des informations du compte indisponible"
    },
    "privacy_form": {
      "user_hide_info": "Mode anonyme",
      "description": "Masquez votre identité et celle de votre entreprise sur vos annonces et votre page vendeur. Ce réglage s’applique à toutes vos annonces.",
      "do": "Enregistrer",
      "success": "Mode anonyme mis à jour",
      "unavailable": "Modification du mode anonyme indisponible"
    },
    "delivery_address_title": "Adresses de livraison",
    "delivery_address_description": "Enregistrez plusieurs adresses, choisissez l’adresse principale et modifiez-les à tout moment.",
    "delivery_address_empty": "Aucune adresse de livraison enregistrée.",
    "delivery_address_default_label": "Adresse principale",
    "delivery_address_default_badge": "Par défaut",
    "delivery_address_add": "Ajouter une adresse",
    "delivery_address_edit": "Modifier l'adresse",
    "delivery_address_load_failed": "Adresse de livraison indisponible : {{error}}",
    "delivery_address_form": {
      "title": "Adresse de livraison",
      "description": "Renseignez l’adresse et les coordonnées du contact de livraison.",
      "delivery_address_label": "Nom de l'adresse",
      "delivery_address_label.placeholder": "Adresse principale",
      "delivery_address_contact_name": "Contact livraison",
      "delivery_address_contact_name.placeholder": "Marie Dupont",
      "delivery_address_contact_phone": "Téléphone",
      "delivery_address_contact_phone.placeholder": "06 12 34 56 78",
      "delivery_address_address_line1": "Adresse",
      "delivery_address_address_line1.placeholder": "12 rue du Réemploi",
      "delivery_address_address_line2": "Complément d'adresse",
      "delivery_address_address_line2.placeholder": "Bâtiment B",
      "delivery_address_postal_code": "Code postal",
      "delivery_address_postal_code.placeholder": "74000",
      "delivery_address_city": "Ville",
      "delivery_address_city.placeholder": "Annecy",
      "delivery_address_country": "Pays",
      "delivery_address_country.placeholder": "FR",
      "cancel": "Annuler",
      "do": "Enregistrer",
      "success": "Adresse de livraison enregistrée",
      "unavailable": "Adresse de livraison indisponible",
      "not-allowed": "Vous n'êtes pas autorisé à modifier cette adresse.",
      "delivery_address_floor_number": "Étage",
      "delivery_address_floor_number.placeholder": "0",
      "delivery_address_has_elevator": "Ascenseur",
      "delivery_address_has_private_parking": "Parking privé"
    },
    "picture_form": {
      "button": "Modifier la photo de profil",
      "title": "Modifier la photo de profil",
      "description": "Choisissez une image JPG ou PNG de 5 Mo maximum.",
      "user_picture": "Photo de profil",
      "choose_file": "Choisir une image",
      "file_hint": "JPG ou PNG, 5 Mo maximum.",
      "selected_file": "Fichier sélectionné : {{file}}",
      "do": "Enregistrer",
      "cancel": "Annuler",
      "success": "Photo de profil mise à jour",
      "unavailable": "Modification de photo indisponible",
      "not-allowed": "Vous n'êtes pas autorisé à modifier cette photo."
    },
    "preparation_title": "Rubrique en préparation",
    "preparation_description": "En cours"
  },
  "sellerVerification": {
    "fields": {
      "status": "Statut",
      "can_sell": "Vente active",
      "name": "Entreprise",
      "siret": "SIRET",
      "website_url": "Site web",
      "contact_email": "Email de contact",
      "email_domain": "Domaine email",
      "website_domain": "Domaine du site",
      "method": "Méthode",
      "requested_at": "Demandé le",
      "reviewed_at": "Traité le"
    },
    "status": {
      "draft": "À compléter",
      "email_pending": "Lien envoyé",
      "manual_pending": "Vérification manuelle",
      "verified": "Vérifiée",
      "rejected": "Refusée"
    },
    "method": {
      "email_domain": "Domaine email",
      "manual_kbis": "KBIS manuel"
    },
    "state": {
      "draft": {
        "title": "Entreprise à vérifier",
        "description": "Renseignez votre entreprise pour activer la vente. Si votre email utilise le même domaine que le site, un lien de validation vous sera envoyé."
      },
      "email_pending": {
        "title": "Lien de validation envoyé",
        "description": "Le domaine email correspond au site web. Cliquez sur le lien reçu par email pour activer votre espace vendeur."
      },
      "manual_pending": {
        "title": "Dossier envoyé au backoffice",
        "description": "Le domaine email ne correspond pas au site. Le KBIS est disponible pour validation manuelle par l'équipe Requipa."
      },
      "verified": {
        "title": "Entreprise vérifiée",
        "description": "Votre entreprise est validée. Vous pouvez publier et gérer vos annonces professionnelles."
      },
      "rejected": {
        "title": "Vérification refusée",
        "description": "Le dossier doit être corrigé avant d'activer la vente. Mettez à jour les informations puis soumettez à nouveau."
      }
    },
    "form": {
      "create_title": "Vérifier mon entreprise",
      "update_title": "Mettre à jour mon dossier",
      "description": "Le domaine de {{email}} sera comparé au domaine du site web. Même domaine : lien de validation par email. Domaine différent : joignez un KBIS pour la revue manuelle.",
      "lang": "Langue",
      "enterprise_name": "Nom de l'entreprise",
      "enterprise_name.placeholder": "Requipa Mobilier Pro",
      "enterprise_siret": "SIRET",
      "enterprise_siret.placeholder": "123 456 789 00012",
      "enterprise_website_url": "Site web",
      "enterprise_website_url.placeholder": "https://requipa.com",
      "enterprise_contact_email": "Email de contact",
      "enterprise_contact_email.placeholder": "contact@requipa.com",
      "enterprise_kbis": "KBIS",
      "enterprise_kbis.placeholder": "Extrait KBIS PDF",
      "enterprise_kbis.select-file": "Choisir un fichier",
      "enterprise_kbis.drag-drop": "ou glissez-déposez votre KBIS",
      "enterprise_kbis.remove": "Retirer",
      "enterprise_kbis.hint": "PDF ou image, 10 Mo maximum.",
      "enterprise_kbis.current": "Le KBIS actuel sera conservé si vous ne choisissez pas un nouveau fichier.",
      "enterprise_logo": "Logo public",
      "enterprise_logo.placeholder": "Logo de l'entreprise",
      "enterprise_logo.select-file": "Choisir un logo",
      "enterprise_logo.drag-drop": "ou glissez-déposez votre logo",
      "enterprise_logo.remove": "Retirer",
      "enterprise_logo.hint": "JPG, PNG ou WebP, 5 Mo maximum.",
      "enterprise_logo.current": "Le logo actuel sera conservé si vous ne choisissez pas un nouveau fichier.",
      "enterprise_description": "Description publique",
      "enterprise_description.placeholder": "Présentez votre activité, vos spécialités et votre zone d'intervention.",
      "enterprise_opening_hours": "Horaires",
      "enterprise_opening_hours.placeholder": "Lun-Ven 9h-18h",
      "enterprise_furniture_types": "Types de mobilier gérés",
      "enterprise_furniture_types.placeholder": "Bureaux, chaises, tables...",
      "enterprise_furniture_types.add": "Ajouter",
      "enterprise_furniture_types.remove": "Retirer {{value}}",
      "enterprise_furniture_types.hint": "Saisissez un type puis ajoutez-le à la liste.",
      "enterprise_public_location_visibility": "Localisation publique par défaut",
      "enterprise_public_location_visibility.placeholder": "Sélectionner une visibilité",
      "enterprise_public_location_visibility.select.city": "Ville",
      "enterprise_public_location_visibility.select.department": "Département",
      "enterprise_address_line1": "Adresse",
      "enterprise_address_line1.placeholder": "12 rue du Réemploi",
      "enterprise_address_line2": "Complément d'adresse",
      "enterprise_address_line2.placeholder": "Bâtiment B",
      "enterprise_city": "Ville",
      "enterprise_city.placeholder": "Annecy",
      "enterprise_region": "Département ou région",
      "enterprise_region.placeholder": "Haute-Savoie",
      "enterprise_postal_code": "Code postal",
      "enterprise_postal_code.placeholder": "74000",
      "enterprise_country": "Pays",
      "enterprise_country.placeholder": "France",
      "do": "Soumettre la vérification",
      "submitting": "Envoi en cours…",
      "success": "Dossier de vérification soumis",
      "unavailable": "Vérification indisponible",
      "not-allowed": "Vous n'êtes pas autorisé à modifier cette entreprise."
    },
    "code_form": {
      "title": "Confirmer le code",
      "description": "Le code a été envoyé à {{email}} et reste valable 1 heure.",
      "enterprise_verification_code": "Code",
      "enterprise_verification_code.placeholder": "123456",
      "do": "Valider le code",
      "success": "Entreprise vérifiée",
      "unavailable": "Confirmation indisponible",
      "not-allowed": "Vous n'êtes pas autorisé à confirmer cette entreprise."
    },
    "link_pending": {
      "title": "Email de validation envoyé",
      "description": "Un lien valable 1 heure a été envoyé à {{email}}. La vente sera activée dès que ce lien sera ouvert."
    },
    "confirm_link": {
      "success_title": "Entreprise vérifiée",
      "success_description": "Votre entreprise est maintenant validée. Vous pouvez publier et gérer vos annonces professionnelles.",
      "error_title": "Lien invalide",
      "back": "Retour à la vérification"
    }
  },
  "enterprise": {
    "verification": {
      "submit": {
        "lang": "Langue",
        "enterprise_name": "Nom de l'entreprise",
        "enterprise_name.placeholder": "Requipa Mobilier Pro",
        "enterprise_siret": "SIRET",
        "enterprise_siret.placeholder": "123 456 789 00012",
        "enterprise_website_url": "Site web",
        "enterprise_website_url.placeholder": "https://requipa.com",
        "enterprise_contact_email": "Email de contact",
        "enterprise_contact_email.placeholder": "contact@requipa.com",
        "enterprise_kbis": "KBIS",
        "enterprise_kbis.placeholder": "Extrait KBIS PDF",
        "enterprise_kbis.select-file": "Choisir un fichier",
        "enterprise_kbis.drag-drop": "ou glissez-déposez votre KBIS",
        "enterprise_kbis.remove": "Retirer",
        "enterprise_logo": "Logo public",
        "enterprise_logo.placeholder": "Logo de l'entreprise",
        "enterprise_logo.select-file": "Choisir un logo",
        "enterprise_logo.drag-drop": "ou glissez-déposez votre logo",
        "enterprise_logo.remove": "Retirer",
        "enterprise_description": "Description publique",
        "enterprise_opening_hours": "Horaires",
        "enterprise_furniture_types": "Types de mobilier gérés",
        "enterprise_furniture_types.placeholder": "Bureaux, chaises, tables...",
        "enterprise_public_location_visibility": "Localisation publique par défaut",
        "enterprise_public_location_visibility.select.placeholder": "Sélectionner une visibilité",
        "public_location_visibility.select.city": "Ville",
        "public_location_visibility.select.department": "Département",
        "enterprise_public_location_visibility.select.city": "Ville",
        "enterprise_public_location_visibility.select.department": "Département",
        "enterprise_address_line1": "Adresse",
        "enterprise_address_line1.placeholder": "12 rue du Réemploi",
        "enterprise_address_line2": "Complément d'adresse",
        "enterprise_address_line2.placeholder": "Bâtiment B",
        "enterprise_city": "Ville",
        "enterprise_city.placeholder": "Annecy",
        "enterprise_region": "Département ou région",
        "enterprise_region.placeholder": "Haute-Savoie",
        "enterprise_postal_code": "Code postal",
        "enterprise_postal_code.placeholder": "74000",
        "enterprise_country": "Pays",
        "enterprise_country.placeholder": "France"
      },
      "confirm": {
        "enterprise_verification_code": "Code",
        "enterprise_verification_code.placeholder": "123456"
      },
      "confirm-link": {
        "enterprise_id": "Entreprise",
        "enterprise_verification_token": "Jeton de validation"
      },
      "review": {
        "enterprise_id": "Entreprise",
        "enterprise_verification_status": "Statut",
        "enterprise_rejection_reason": "Motif du refus",
        "enterprise_rejection_reason.placeholder": "KBIS illisible, SIRET incohérent ou informations à corriger."
      }
    }
  },
  "email-branding": {
    "update": {
      "header_image": "Nouvelle image d’en-tête",
      "header_image.select-file": "Choisir une image",
      "header_image.drag-drop": "ou glissez-déposez une image",
      "header_image.remove": "Retirer",
      "header_image_alt": "Texte alternatif de l’image",
      "header_image_alt.placeholder": "Logo Requipa"
    }
  },
  "adminPage": {
    "eyebrow": "Backoffice",
    "title": "Administration Requipa",
    "description": "Pilotez les accès, la vérification des entreprises, les catégories, les annonces actives, les emails, le SEO, les prix et la logistique.",
    "breadcrumb": {
      "label": "Fil d'Ariane administration"
    },
    "sidebar_label": "Navigation administration",
    "open_section": "Ouvrir",
    "sections_title": "Modules d'administration",
    "section_eyebrow": "Module admin",
    "groups": {
      "pilotage": "Pilotage",
      "operations": "Opérations",
      "service": "Service",
      "settings": "Paramètres"
    },
    "nav": {
      "overview": "Vue d'ensemble",
      "overview_description": "Priorités, files d'attente et modules clés du backoffice.",
      "promo_codes": "Codes promotionnels",
      "promo_codes_description": "Créez, modifiez, activez ou désactivez les remises appliquées à la mise en ligne des annonces.",
      "users": "Utilisateurs et accès",
      "users_description": "Comptes, rôles, statuts, suspension et droits d'accès.",
      "enterprises": "Entreprises",
      "enterprises_description": "Liste, profils, statut vendeur et informations légales des entreprises.",
      "verifications": "Entreprises à vérifier",
      "verifications_description": "SIRET, KBIS, domaine email et validation professionnelle.",
      "categories": "Catégories",
      "categories_description": "Taxonomie, critères métier, filtres et visibilité des familles de mobilier.",
      "listings": "Annonces et modération",
      "listings_description": "Validation, signalements, désactivation et expiration des annonces.",
      "support": "Support / Litige",
      "support_description": "Traitez les demandes Support et intervenez dans les Litiges depuis une seule file.",
      "pricing": "Prix et frais",
      "pricing_description": "Publication, sponsoring et frais bancaires.",
      "emails": "Emails",
      "emails_description": "Modèles fixes, champs de fusion, personnalisation commune et historique des envois.",
      "logistics": "Logistique",
      "logistics_description": "Frais de livraison, devis, conformité et validation de transport.",
      "seo": "SEO",
      "seo_description": "Pages indexables, titres, traductions et métadonnées des annonces et catégories.",
      "languages": "Langues",
      "languages_description": "Langues actives, langue par défaut et traduction automatique des annonces.",
      "settings": "Marges et règles",
      "settings_description": "Marge plateforme, permissions admin et règles opérationnelles."
    },
    "metrics": {
      "unavailable": "Donnée indisponible",
      "verifications": {
        "label": "Vérifications entreprise",
        "value": "À suivre",
        "description": "Demandes avec documents et domaine email à contrôler."
      },
      "activeListings": {
        "label": "Annonces actives",
        "value": "0",
        "description": "Annonces publiées sur la marketplace et disponibles pour les acheteurs."
      }
    },
    "actions": {
      "overview": {
        "today": {
          "title": "Priorités du jour",
          "description": "Synthèse des vérifications, modérations et litiges les plus urgents."
        },
        "priority": {
          "title": "Files d'attente",
          "description": "Accès rapide aux modules qui nécessitent une décision admin."
        },
        "rules": {
          "title": "Règles actives",
          "description": "Contrôle des paramètres qui influencent les prix et la publication."
        }
      },
      "users": {
        "accounts": {
          "title": "Comptes utilisateurs",
          "description": "Recherche, statut du compte, coordonnées et historique d'activité."
        },
        "access": {
          "title": "Contrôle d'accès",
          "description": "Gestion des droits admin, suspension et réactivation des accès."
        },
        "status": {
          "title": "Statuts",
          "description": "Suivi des comptes actifs, bloqués, incomplets ou à vérifier."
        }
      },
      "enterprises": {
        "profiles": {
          "title": "Profils entreprises",
          "description": "Gestion des informations publiques, légales et de contact."
        },
        "status": {
          "title": "Statut professionnel",
          "description": "Suivi des états brouillon, en attente, validé ou refusé."
        },
        "selling": {
          "title": "Droit de vente",
          "description": "Activation ou blocage de la publication d'annonces par entreprise."
        }
      },
      "verifications": {
        "companies": {
          "title": "Entreprises",
          "description": "Validation des informations légales avant activation de la vente."
        },
        "documents": {
          "title": "Documents",
          "description": "Contrôle KBIS, justificatifs et pièces nécessaires au dossier."
        },
        "domain": {
          "title": "Domaine email",
          "description": "Vérification de cohérence entre utilisateur, entreprise et domaine."
        }
      },
      "categories": {
        "taxonomy": {
          "title": "Taxonomie",
          "description": "Gestion des catégories, sous-catégories et familles de mobilier professionnel."
        },
        "criteria": {
          "title": "Critères",
          "description": "Préparation des critères dynamiques par catégorie pour les filtres et annonces."
        },
        "visibility": {
          "title": "Visibilité",
          "description": "Contrôle des catégories publiées, masquées ou réservées à une phase produit."
        }
      },
      "listings": {
        "queue": {
          "title": "File de validation",
          "description": "Annonces en attente de publication ou de contrôle qualité."
        },
        "deactivate": {
          "title": "Désactivation",
          "description": "Retrait des annonces non conformes, expirées ou signalées."
        },
        "expiration": {
          "title": "Expiration",
          "description": "Suivi de la période de publication, rappels et opportunités de sponsoring."
        }
      },
      "disputes": {
        "conversations": {
          "title": "Conversations",
          "description": "Consultation du fil acheteur-vendeur pour comprendre le contexte."
        },
        "orders": {
          "title": "Commandes",
          "description": "Lien avec paiement, livraison, réserve et validation finale."
        },
        "context": {
          "title": "Contexte support",
          "description": "Éléments utiles à l'équipe support sans contourner la validation admin."
        }
      },
      "pricing": {
        "publication": {
          "title": "Publication",
          "description": "Prix de mise en ligne des annonces professionnelles."
        },
        "sponsorship": {
          "title": "Sponsoring",
          "description": "Prix, durée et règles de mise en avant par catégorie."
        },
        "service": {
          "title": "Frais de service",
          "description": "Paramétrage des frais de service appliqués aux commandes."
        }
      },
      "emails": {
        "templates": {
          "title": "Modèles",
          "description": "Contenu, objet, langue et champs de fusion disponibles."
        },
        "branding": {
          "title": "Personnalisation",
          "description": "Image d’en-tête partagée et aperçu du pied de page fixe."
        },
        "history": {
          "title": "Historique",
          "description": "Statut, destinataire, tentatives et renvoi sécurisé."
        }
      },
      "logistics": {
        "delivery": {
          "title": "Frais de livraison",
          "description": "Barèmes, zones, transporteurs et conditions de livraison."
        },
        "quotes": {
          "title": "Devis",
          "description": "Validation des demandes et propositions logistiques."
        },
        "conformity": {
          "title": "Conformité",
          "description": "Gestion des réserves, non-conformités et impacts remboursement."
        }
      },
      "seo": {
        "listingPages": {
          "title": "Pages annonces",
          "description": "Structure SEO des pages détail, titres indexables et contenus publics."
        },
        "translations": {
          "title": "Traductions",
          "description": "Préparation des contenus français et anglais pour catégories et annonces."
        },
        "metadata": {
          "title": "Métadonnées",
          "description": "Titres, descriptions, slugs et règles d'indexation administrables."
        }
      },
      "languages": {
        "catalog": {
          "title": "Référentiel",
          "description": "Liste des langues disponibles pour l'interface et les contenus d'annonces."
        },
        "default": {
          "title": "Langue par défaut",
          "description": "Fallback utilisé lorsqu'une annonce n'a pas encore de traduction demandée."
        },
        "translation": {
          "title": "Traduction automatique",
          "description": "Langues cibles alimentées par le fournisseur de traduction configuré."
        }
      },
      "settings": {
        "margins": {
          "title": "Marges plateforme",
          "description": "Ajustement des marges et règles de calcul commerciales."
        },
        "permissions": {
          "title": "Permissions admin",
          "description": "Préparation des niveaux de droits Innos lorsque les rôles seront détaillés."
        },
        "ai": {
          "title": "Assistance IA",
          "description": "Cadre d'aide au support sans bypass des validations légales ou métier."
        }
      }
    },
    "logistics": {
      "form": {
        "title": "Informations du transporteur",
        "description": "Renseignez les informations du transporteur utilisées pour les opérations logistiques.",
        "provider_name": "Nom du transporteur",
        "provider_code": "Code",
        "adapter_key": "Mode de gestion",
        "adapter_key.select.placeholder": "Sélectionner un mode de gestion",
        "adapter_key.select.manual": "Gestion manuelle",
        "active": "Actif",
        "contact_email": "Email",
        "contact_phone": "Téléphone",
        "legal_name": "Raison sociale",
        "siret": "SIRET",
        "vat_number": "N° de TVA intracommunautaire",
        "address_line1": "Adresse du siège",
        "address_line2": "Complément d’adresse",
        "postal_code": "Code postal",
        "city": "Ville",
        "country": "Pays",
        "success": "Logistique mise à jour",
        "unavailable": "Logistique indisponible",
        "not-allowed": "Action non autorisée.",
        "do": "Enregistrer",
        "cancel": "Annuler"
      },
      "saved": "Logistique mise à jour",
      "providers": "Transporteurs",
      "providers_description": "Paramétrez les comptes transporteurs, leurs barèmes et les demandes associées.",
      "summary_providers": "Transporteurs",
      "summary_rate_bands": "Barèmes",
      "summary_requests": "Demandes",
      "refresh": "Rafraîchir",
      "new_provider": "Nouveau transporteur",
      "provider_list": "Transporteurs configurés",
      "provider_list_description": "Utilisez les filtres de la table pour retrouver un transporteur puis ouvrez sa fiche détaillée.",
      "provider_search": "Rechercher un transporteur",
      "selected_provider": "Transporteur sélectionné",
      "selected_provider_hint": "Cet email servira de base pour la création ou la liaison de l'espace logistique.",
      "listing_quote_default_title": "Livraison sur devis des annonces",
      "listing_quote_default_description": "Désignez ce transporteur pour recevoir les prochaines annonces qui nécessitent un chiffrage avant publication.",
      "listing_quote_default_current": "Ce transporteur reçoit actuellement les nouvelles annonces à chiffrer.",
      "listing_quote_default_action": "Transporteur par défaut pour les annonces sur devis",
      "listing_quote_default_badge": "Par défaut pour les annonces sur devis",
      "listing_quotes": {
        "title": "Annonces sur devis",
        "description": "Supervisez les annonces payées qui attendent un tarif de livraison, leur affectation et les réouvertures.",
        "alerts": {
          "no_default_provider": "Aucun transporteur par défaut actif et joignable n’est configuré pour les nouvelles annonces sur devis.",
          "overdue_one": "1 devis de livraison a dépassé son délai de 72 heures.",
          "overdue_other": "{{count}} devis de livraison ont dépassé leur délai de 72 heures.",
          "unassigned_one": "1 annonce payée attend l’affectation d’un transporteur.",
          "unassigned_other": "{{count}} annonces payées attendent l’affectation d’un transporteur.",
          "show_unassigned": "Afficher les annonces non affectées"
        },
        "summary": {
          "pending": "En attente",
          "reopened": "Rouverts",
          "validated": "Validés",
          "overdue": "En retard",
          "unassigned": "Non affectés"
        },
        "filters": {
          "all_statuses": "Tous les statuts",
          "assignment": "Affectation",
          "all_assignments": "Toutes les affectations",
          "unassigned": "Non affectés",
          "assigned": "Affectés"
        },
        "due": "Échéance :",
        "overdue_duration": "En retard de {{hours}} h",
        "provider": "Transporteur affecté",
        "unassigned": "Non affecté",
        "empty": "Aucune annonce sur devis ne correspond à ces filtres.",
        "select": "Sélectionnez une annonce pour consulter son détail.",
        "errors": {
          "summary": "Le résumé des devis est indisponible.",
          "list": "La liste des devis est indisponible.",
          "providers": "Les transporteurs disponibles pour l’affectation sont indisponibles."
        },
        "assignment": {
          "provider": "Transporteur actif et joignable",
          "choose": "Choisir un transporteur",
          "provider_required": "Choisissez un transporteur actif disposant d’un email de contact.",
          "submit": "Affecter le transporteur",
          "saving": "Affectation en cours…",
          "success": "Le transporteur est affecté et la demande de chiffrage lui a été envoyée."
        },
        "reopen": {
          "title": "Rouvrir le devis de livraison",
          "action": "Rouvrir le devis",
          "warning": "L’annonce sera immédiatement masquée et le transporteur devra fournir un nouveau prix.",
          "reason": "Motif de la réouverture",
          "reason_required": "Le motif est obligatoire.",
          "refresh_required": "Le devis a changé. Rechargez les informations avant de le rouvrir.",
          "cancel": "Annuler",
          "submit": "Masquer l’annonce et rouvrir",
          "saving": "Réouverture en cours…",
          "success": "Le devis est rouvert et l’annonce est masquée jusqu’au nouveau chiffrage."
        }
      },
      "stripe_title": "Stripe Connect transporteur",
      "stripe_start": "Activer Stripe",
      "stripe_resume": "Reprendre Stripe",
      "stripe_manage": "Gérer sur Stripe",
      "stripe_opening": "Ouverture de Stripe...",
      "stripe_syncing": "Synchronisation du statut Stripe en cours...",
      "stripe_requirements": "Informations demandées par Stripe : {{requirements}}",
      "stripe_status": {
        "not_configured": "Activez Stripe Connect pour reverser la part transporteur après livraison.",
        "pending": "La configuration Stripe du transporteur est en cours.",
        "restricted": "Stripe demande des informations avant de pouvoir verser ce transporteur.",
        "enabled": "Le compte Stripe du transporteur est prêt pour les reversements."
      },
      "provider_detail_description": "Consultez et modifiez les informations, barèmes, demandes en cours et historique de ce transporteur.",
      "empty_providers": "Aucun transporteur configuré.",
      "empty_provider_search": "Aucun transporteur ne correspond à cette recherche.",
      "provider_inactive": "Inactif",
      "provider_contact_empty": "Aucun contact renseigné",
      "provider_identity": "Informations du transporteur",
      "provider_name": "Nom du transporteur",
      "provider_name_required": "Renseignez le nom du transporteur.",
      "provider_code": "Code",
      "adapter": "Mode de gestion",
      "adapters": {
        "manual": "Gestion manuelle"
      },
      "contact": "Contact",
      "contact_email": "Email",
      "contact_phone": "Téléphone",
      "active": "Actif",
      "status": "Statut",
      "actions": "Actions",
      "open_provider": "Voir",
      "edit_provider": "Modifier",
      "back_to_providers": "Retour aux transporteurs",
      "legal_name": "Raison sociale",
      "siret": "SIRET",
      "vat_number": "N° de TVA",
      "legal_address": "Adresse du siège",
      "legal_identity_missing": "Identité légale incomplète : renseignez l’adresse du siège pour que les factures de transport puissent être émises au nom de ce transporteur.",
      "open_space": "Ouvrir l’espace transporteur",
      "open_space_no_account": "Aucun compte transporteur n’est rattaché à ce transporteur : son espace ne peut pas être ouvert.",
      "tabs_label": "Sections du transporteur",
      "tab_info": "Informations",
      "tab_rate_bands": "Barèmes",
      "tab_requests": "Demandes",
      "tab_history": "Historique",
      "save_provider": "Enregistrer le transporteur",
      "rate_bands": "Barèmes",
      "rate_band_form_title": "Ajouter / modifier un barème",
      "rate_band_id": "ID barème",
      "rate_label": "Libellé",
      "volume_min_m3": "Volume min m3",
      "volume_max_m3": "Volume max m3",
      "distance_min_km": "Distance min km",
      "distance_max_km": "Distance max km",
      "price_per_m3_minor": "Prix par m3 HT",
      "extra_price": "Supplément HT / 200 km",
      "source_label": "Source",
      "save_rate": "Enregistrer le barème",
      "empty_rate_bands": "Aucun barème configuré pour ce transporteur.",
      "rate_line": "{{price}} / m3",
      "volume_range": "{{min}} à {{max}} m3",
      "volume_from": "À partir de {{min}} m3",
      "distance_range": "{{min}} à {{max}} km",
      "distance_from": "À partir de {{min}} km",
      "requests": "Demandes de livraison",
      "request_total_amount": "Prix contractuel",
      "empty_requests": "Aucune demande logistique pour ce transporteur.",
      "empty_history": "Aucune demande clôturée pour ce transporteur.",
      "request_quote_form": "Devis",
      "request_tracking_form": "Suivi transport",
      "destination": "Destination",
      "total_volume_m3": "Volume total",
      "distance_km": "Distance",
      "amount": "Montant",
      "amount_minor": "Prix logistique figé (centimes)",
      "provider_quote_reference": "Référence devis",
      "provider_note": "Note transporteur",
      "action_quote": "Devis",
      "save_quote": "Enregistrer le devis",
      "provider_reference": "Référence transport",
      "tracking_url": "Lien de suivi",
      "action_tracking": "Suivi",
      "save_tracking": "Enregistrer le suivi",
      "status_created": "Créé",
      "status_in_transit": "En transit",
      "status_delivered": "Livré",
      "status_suffering": "Souffrance",
      "tab_invoices": "Factures Requipa",
      "month_filter": "Mois de commande"
    },
    "userTable": {
      "columns": {
        "user": "Utilisateur",
        "lastname": "Nom",
        "email": "Email",
        "access": "Accès",
        "role": "Rôle",
        "privacy": "Confidentialité",
        "lastConnection": "Dernière connexion",
        "actions": "Actions"
      },
      "roles": {
        "admin": "Admin",
        "user": "Utilisateur",
        "transporter": "Transporteur"
      },
      "privacy": {
        "private": "Infos masquées",
        "public": "Infos visibles"
      },
      "actions": {
        "view": "Voir",
        "edit": "Modifier",
        "delete": "Supprimer"
      },
      "create": "Ajouter un utilisateur",
      "empty": "Aucun utilisateur ne correspond aux filtres."
    },
    "userCreate": {
      "form": {
        "title": "Créer un utilisateur",
        "description": "Renseignez l’identité et l’adresse email du titulaire du compte.",
        "user_firstname": "Prénom",
        "user_firstname.placeholder": "Camille",
        "user_lastname": "Nom",
        "user_lastname.placeholder": "Martin",
        "user_email": "Email",
        "user_email.placeholder": "camille.martin@requipa.com",
        "cancel": "Annuler",
        "do": "Créer l'utilisateur",
        "success": "Utilisateur créé",
        "unavailable": "Création indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à créer un utilisateur."
      }
    },
    "userUpdate": {
      "form": {
        "title": "Modifier l'utilisateur",
        "user_firstname": "Prénom",
        "user_firstname.placeholder": "Camille",
        "user_lastname": "Nom",
        "user_lastname.placeholder": "Martin",
        "user_email": "Email",
        "user_email.placeholder": "camille.martin@requipa.com",
        "do": "Enregistrer",
        "success": "Utilisateur mis à jour",
        "unavailable": "Modification indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à modifier cet utilisateur."
      }
    },
    "userDelete": {
      "form": {
        "title": "Supprimer l'utilisateur",
        "do": "Supprimer",
        "success": "Utilisateur supprimé",
        "unavailable": "Suppression indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à supprimer cet utilisateur."
      }
    },
    "enterpriseTable": {
      "columns": {
        "status": "Statut",
        "company": "Entreprise",
        "validation": "Validation",
        "owner": "Utilisateur",
        "domain": "Domaines",
        "location": "Localisation",
        "kbis": "KBIS",
        "canSell": "Vente",
        "requestedAt": "Demandé le",
        "actions": "Actions"
      },
      "actions": {
        "view": "Voir",
        "edit": "Modifier",
        "delete": "Supprimer"
      },
      "create": "Ajouter une entreprise",
      "openKbis": "Ouvrir",
      "noKbis": "Aucun KBIS",
      "empty": "Aucune entreprise ne correspond aux filtres."
    },
    "enterpriseCreate": {
      "form": {
        "title": "Créer une entreprise",
        "enterprise_name": "Nom",
        "enterprise_name.placeholder": "Requipa Pro Mobilier",
        "enterprise_siret": "SIRET",
        "enterprise_siret.placeholder": "123 456 789 00012",
        "enterprise_website_url": "Site web",
        "enterprise_website_url.placeholder": "https://requipa.com",
        "enterprise_contact_email": "Email de contact",
        "enterprise_contact_email.placeholder": "contact@requipa.com",
        "enterprise_kbis": "KBIS",
        "enterprise_logo": "Logo public",
        "enterprise_description": "Description publique",
        "enterprise_opening_hours": "Horaires",
        "enterprise_furniture_types": "Types de mobilier gérés",
        "enterprise_public_location_visibility": "Localisation publique par défaut",
        "enterprise_public_location_visibility.select.placeholder": "Sélectionner une visibilité",
        "enterprise_public_location_visibility.select.city": "Ville",
        "enterprise_public_location_visibility.select.department": "Département",
        "public_location_visibility.select.city": "Ville",
        "public_location_visibility.select.department": "Département",
        "enterprise_address_line1": "Adresse",
        "enterprise_address_line1.placeholder": "12 rue du Réemploi",
        "enterprise_address_line2": "Complément d'adresse",
        "enterprise_address_line2.placeholder": "Bâtiment B",
        "enterprise_city": "Ville",
        "enterprise_city.placeholder": "Annecy",
        "enterprise_region": "Département ou région",
        "enterprise_region.placeholder": "Haute-Savoie",
        "enterprise_postal_code": "Code postal",
        "enterprise_postal_code.placeholder": "74000",
        "enterprise_country": "Pays",
        "enterprise_country.placeholder": "France",
        "enterprise_verification_status": "Statut de vérification",
        "enterprise_verification_status.select.placeholder": "Sélectionner un statut",
        "enterprise_verification_status.select.draft": "À compléter",
        "enterprise_verification_status.select.email_pending": "Lien envoyé",
        "enterprise_verification_status.select.manual_pending": "Vérification manuelle",
        "enterprise_verification_status.select.verified": "Vérifiée",
        "enterprise_verification_status.select.rejected": "Refusée",
        "verification_status.select.draft": "À compléter",
        "verification_status.select.email_pending": "Lien envoyé",
        "verification_status.select.manual_pending": "Vérification manuelle",
        "verification_status.select.verified": "Vérifiée",
        "verification_status.select.rejected": "Refusée",
        "enterprise_rejection_reason": "Motif du refus",
        "enterprise_rejection_reason.placeholder": "KBIS illisible, SIRET incohérent ou informations à corriger.",
        "enterprise_can_sell": "Autoriser la vente",
        "cancel": "Annuler",
        "do": "Créer l'entreprise",
        "success": "Entreprise créée",
        "unavailable": "Création indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à créer une entreprise."
      }
    },
    "enterpriseUpdate": {
      "form": {
        "title": "Modifier l'entreprise",
        "enterprise_name": "Nom",
        "enterprise_name.placeholder": "Requipa Pro Mobilier",
        "enterprise_siret": "SIRET",
        "enterprise_siret.placeholder": "123 456 789 00012",
        "enterprise_website_url": "Site web",
        "enterprise_website_url.placeholder": "https://requipa.com",
        "enterprise_contact_email": "Email de contact",
        "enterprise_contact_email.placeholder": "contact@requipa.com",
        "enterprise_kbis": "KBIS",
        "enterprise_logo": "Logo public",
        "enterprise_description": "Description publique",
        "enterprise_opening_hours": "Horaires",
        "enterprise_furniture_types": "Types de mobilier gérés",
        "enterprise_public_location_visibility": "Localisation publique par défaut",
        "enterprise_public_location_visibility.select.placeholder": "Sélectionner une visibilité",
        "enterprise_public_location_visibility.select.city": "Ville",
        "enterprise_public_location_visibility.select.department": "Département",
        "public_location_visibility.select.city": "Ville",
        "public_location_visibility.select.department": "Département",
        "enterprise_address_line1": "Adresse",
        "enterprise_address_line1.placeholder": "12 rue du Réemploi",
        "enterprise_address_line2": "Complément d'adresse",
        "enterprise_address_line2.placeholder": "Bâtiment B",
        "enterprise_city": "Ville",
        "enterprise_city.placeholder": "Annecy",
        "enterprise_region": "Département ou région",
        "enterprise_region.placeholder": "Haute-Savoie",
        "enterprise_postal_code": "Code postal",
        "enterprise_postal_code.placeholder": "74000",
        "enterprise_country": "Pays",
        "enterprise_country.placeholder": "France",
        "enterprise_verification_status": "Statut de vérification",
        "enterprise_verification_status.select.placeholder": "Sélectionner un statut",
        "enterprise_verification_status.select.draft": "À compléter",
        "enterprise_verification_status.select.email_pending": "Lien envoyé",
        "enterprise_verification_status.select.manual_pending": "Vérification manuelle",
        "enterprise_verification_status.select.verified": "Vérifiée",
        "enterprise_verification_status.select.rejected": "Refusée",
        "verification_status.select.draft": "À compléter",
        "verification_status.select.email_pending": "Lien envoyé",
        "verification_status.select.manual_pending": "Vérification manuelle",
        "verification_status.select.verified": "Vérifiée",
        "verification_status.select.rejected": "Refusée",
        "enterprise_rejection_reason": "Motif du refus",
        "enterprise_rejection_reason.placeholder": "KBIS illisible, SIRET incohérent ou informations à corriger.",
        "enterprise_can_sell": "Autoriser la vente",
        "cancel": "Annuler",
        "do": "Enregistrer",
        "success": "Entreprise mise à jour",
        "unavailable": "Modification indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à modifier cette entreprise."
      }
    },
    "enterpriseDelete": {
      "form": {
        "title": "Supprimer l'entreprise",
        "do": "Supprimer",
        "success": "Entreprise supprimée",
        "unavailable": "Suppression indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à supprimer cette entreprise."
      }
    },
    "verificationTable": {
      "columns": {
        "status": "Statut",
        "company": "Entreprise",
        "validation": "Validation",
        "owner": "Utilisateur",
        "domain": "Domaines",
        "kbis": "KBIS",
        "requestedAt": "Demandé le",
        "actions": "Actions"
      },
      "actions": {
        "approve": "Valider",
        "reject": "Refuser"
      },
      "openKbis": "Ouvrir",
      "noKbis": "Aucun KBIS",
      "noAction": "Aucune action",
      "empty": "Aucune vérification entreprise ne correspond aux filtres."
    },
    "verificationReview": {
      "form": {
        "enterprise_id": "Entreprise",
        "enterprise_verification_status": "Statut",
        "enterprise_rejection_reason": "Motif",
        "enterprise_rejection_reason.placeholder": "KBIS illisible, SIRET incohérent ou informations à corriger.",
        "do": "Enregistrer",
        "success": "Vérification mise à jour",
        "unavailable": "Revue indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à traiter cette vérification."
      },
      "approve_form": {
        "title": "Valider l'entreprise",
        "description": "Confirmez la validation de cette entreprise.",
        "cancel": "Annuler",
        "do": "Valider",
        "success": "Entreprise validée",
        "unavailable": "Revue indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à traiter cette vérification."
      },
      "reject_form": {
        "title": "Refuser l'entreprise",
        "enterprise_rejection_reason": "Motif du refus",
        "enterprise_rejection_reason.placeholder": "KBIS illisible, SIRET incohérent ou informations à corriger.",
        "cancel": "Annuler",
        "do": "Refuser",
        "success": "Entreprise refusée",
        "unavailable": "Revue indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à traiter cette vérification."
      }
    },
    "categoryTable": {
      "columns": {
        "image": "Image",
        "name": "Nom",
        "root": "Type",
        "slug": "Slug",
        "seo": "SEO",
        "seoTitle": "Titre SEO",
        "seoDescription": "Description SEO",
        "deliveryQuote": "Livraison sur devis",
        "actions": "Actions"
      },
      "actions": {
        "view": "Voir",
        "edit": "Modifier",
        "delete": "Supprimer"
      },
      "createRoot": "Ajouter une catégorie",
      "createChild": "Ajouter une sous-catégorie",
      "organizeTitle": "Organiser les catégories",
      "orderTitle": "Ordre d’affichage",
      "orderDescription": "Glissez les catégories pour définir leur ordre dans la marketplace.",
      "empty": "Aucune catégorie ne correspond aux filtres.",
      "emptyValue": "Non renseigné",
      "noImage": "Sans image",
      "deliveryQuoteDirect": "Activation directe",
      "deliveryQuoteEffective": "État effectif",
      "deliveryQuoteEnabled": "Activé",
      "deliveryQuoteDisabled": "Désactivé",
      "deliveryQuoteInherited": "Activé par la catégorie {{name}}",
      "installationNotApplicable": "Mise en place non applicable",
      "logisticsReviewNotice": "Message logistique après paiement",
      "reassemblyDiscountPercent": "Moins-value sans remontage"
    },
    "categoryInputTable": {
      "columns": {
        "name": "Nom",
        "type": "Type",
        "required": "Obligatoire",
        "actions": "Actions"
      },
      "actions": {
        "edit": "Modifier",
        "delete": "Supprimer"
      },
      "create": "Ajouter un input",
      "orderTitle": "Ordre d’affichage",
      "orderDescription": "Glissez les inputs pour définir leur ordre d’affichage.",
      "organizeTitle": "Organiser les inputs",
      "empty": "Aucun input n'est déclaré pour cette catégorie.",
      "inherited": "Hérité"
    },
    "orderingViews": {
      "label": "Mode d’affichage",
      "table": "Tableau",
      "order": "Ordre d’affichage",
      "saving": "Enregistrement…",
      "saved": "Ordre enregistré",
      "movedUp": "{{name}} déplacé vers le haut en position {{position}}.",
      "movedDown": "{{name}} déplacé vers le bas en position {{position}}.",
      "automaticSave": "Chaque déplacement est enregistré automatiquement.",
      "retry": "Réessayer"
    },
    "languageTable": {
      "columns": {
        "code": "Code",
        "language": "Langue",
        "name": "Nom",
        "nativeName": "Nom natif",
        "active": "Active",
        "publication": "Publication",
        "default": "Défaut",
        "autoTranslate": "Auto-traduction",
        "automation": "Automatisation",
        "displayOrder": "Ordre",
        "actions": "Actions"
      },
      "actions": {
        "edit": "Modifier",
        "delete": "Supprimer"
      },
      "create": "Ajouter une langue",
      "empty": "Aucune langue ne correspond aux filtres.",
      "emptyValue": "Non renseigné"
    },
    "categoryDetail": {
      "back": "Retour aux catégories",
      "title": "Catégorie",
      "description": "Consultez les champs SEO et gérez directement les sous-catégories liées.",
      "childrenEyebrow": "Taxonomie",
      "childrenTitle": "Sous-catégories",
      "inputsEyebrow": "Champs",
      "inputsTitle": "Inputs",
      "tabs": {
        "label": "Sections de la catégorie",
        "categories": "Catégories",
        "inputs": "Inputs"
      }
    },
    "userDetail": {
      "title": "Utilisateur",
      "description": "Consultez les informations du compte, ses commandes, ses paniers et ses conversations.",
      "tabs": {
        "label": "Sections du détail utilisateur",
        "activity": "Activité",
        "orders": "Commandes",
        "messages": "Messages"
      },
      "activityEyebrow": "Activité",
      "activityTitle": "Activité du compte",
      "ordersEyebrow": "Commandes",
      "ordersTitle": "Commandes et paniers",
      "messagesEyebrow": "Messages",
      "messagesTitle": "Conversations acheteur et vendeur"
    },
    "listingTable": {
      "columns": {
        "image": "Image",
        "offer": "Annonce",
        "seller": "Vendeur",
        "availability": "Statut",
        "stock": "Stock",
        "inventory": "Stock et prix",
        "price": "Prix",
        "actions": "Actions"
      },
      "availability": {
        "available": "Disponible",
        "reserved": "Réservée",
        "sold": "Vendue",
        "unavailable": "Retirée"
      },
      "actions": {
        "view": "Voir",
        "edit": "Modifier",
        "deactivate": "Retirer l'annonce",
        "delete": "Supprimer"
      },
      "empty": "Aucune annonce ne correspond aux filtres."
    },
    "listingDetail": {
      "edit": "Modifier",
      "editing": "Modification en cours",
      "editing_description": "Modifiez les champs puis validez explicitement vos changements.",
      "save": "Valider les modifications",
      "saving": "Validation...",
      "cancel": "Annuler",
      "delete": "Supprimer",
      "deleting": "Suppression...",
      "delete_title": "Supprimer cette annonce ?",
      "delete_description": "L’annonce sera retirée du catalogue et son propriétaire recevra un email.",
      "delete_confirm": "Confirmer la suppression",
      "update_success": "L’annonce a été mise à jour.",
      "update_error": "Impossible de mettre à jour l’annonce.",
      "delete_error": "Impossible de supprimer l’annonce.",
      "images_title": "Images du produit",
      "images_description": "La première image conservée est utilisée comme couverture.",
      "add_images": "Ajouter des images",
      "remove_image": "Retirer cette image",
      "image_limit": "Une annonce peut contenir au maximum 10 images.",
      "sections": {
        "inventory": "Stock et publication",
        "characteristics": "Caractéristiques",
        "location_delivery": "Localisation et remise",
        "seller": "Vendeur"
      },
      "fields": {
        "availability": "Disponibilité",
        "publication_status": "Publication",
        "visible_defects": "Défauts visibles",
        "defects_acknowledged": "Défauts vérifiés",
        "seller_covers_delivery_cost": "Livraison prise en charge par le vendeur"
      },
      "publication_status": {
        "draft": "Brouillon",
        "payment_pending": "Paiement en attente",
        "published": "Publiée",
        "expired": "Expirée",
        "disabled": "Désactivée"
      },
      "storage_requested": "Stockage en dépôt demandé",
      "storage_summary": "Oui — {{volume}} m³ à {{price}} HT par m³ et par mois"
    },
    "listingTakedown": {
      "action": "Retirer",
      "title": "Retirer l’annonce",
      "description": "L’annonce sera retirée du catalogue sans suppression de son historique. Les frais de création et de mise en ligne de l’annonce ne sont pas remboursables. Le remboursement d’un achat de mobilier reste possible séparément dans le cadre d’une commande.",
      "already_removed": "Cette annonce est retirée du catalogue.",
      "submit_error": "Le retrait de l’annonce n’a pas pu être enregistré.",
      "processing": "Traitement...",
      "confirm_removal": "Retirer l’annonce",
      "form": {
        "title": "Retirer une annonce",
        "do": "Confirmer",
        "success": "Opération enregistrée",
        "unavailable": "Opération indisponible",
        "not-allowed": "Vous n’êtes pas autorisé à retirer cette annonce."
      }
    },
    "listingUpdate": {
      "form": {
        "title": "Modérer l'annonce",
        "furniture_price": "Prix",
        "furniture_price.placeholder": "120",
        "furniture_quantity": "Stock",
        "furniture_quantity.placeholder": "4",
        "furniture_availability": "Statut",
        "furniture_availability.placeholder": "available, reserved ou sold",
        "do": "Enregistrer",
        "success": "Annonce mise à jour",
        "unavailable": "Modération indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à modérer cette annonce."
      }
    },
    "listingDelete": {
      "form": {
        "title": "Supprimer l'annonce",
        "do": "Supprimer",
        "success": "Annonce supprimée",
        "unavailable": "Suppression indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à supprimer cette annonce."
      }
    },
    "listingDeactivate": {
      "form": {
        "title": "Retirer l'annonce",
        "do": "Retirer l'annonce",
        "success": "Annonce retirée",
        "unavailable": "Retrait indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à retirer cette annonce."
      }
    },
    "platformSettings": {
      "edit": "Modifier le paramètre",
      "empty": "Aucun paramètre disponible pour cette rubrique.",
      "load_failed": "Impossible de charger les paramètres : {{error}}",
      "groups": {
        "pricing": {
          "title": "Règles de prix actives",
          "description": "Ces valeurs pilotent les prix de publication, sponsoring et frais bancaires utilisés par le backoffice."
        },
        "logistics": {
          "title": "Règles logistiques",
          "description": "Paramètres de livraison, seuils de devis et délais de conformité à appliquer aux prochains parcours logistiques."
        },
        "seo": {
          "title": "Règles SEO",
          "description": "Paramètres d'indexation, traduction et revue des métadonnées publiques."
        },
        "settings": {
          "title": "Règles opérationnelles",
          "description": "Marges, permissions admin et garde-fous des fonctions d'assistance."
        }
      },
      "form": {
        "title": "Modifier le paramètre",
        "description": "Modifiez la valeur utilisée par cette règle de la plateforme.",
        "setting_key": "Paramètre",
        "setting_value": "Valeur",
        "setting_value.placeholder": "Valeur",
        "percent_hint": "Valeur autorisée : de 0 à 100 %.",
        "cancel": "Annuler",
        "do": "Enregistrer",
        "success": "Paramètre mis à jour",
        "unavailable": "Paramètre indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à modifier ce paramètre."
      },
      "keys": {
        "listing_publication_price": {
          "label": "Publication d'annonce",
          "description": "Prix HT de mise en ligne pour la durée de publication configurée."
        },
        "listing_publication_duration_days": {
          "label": "Durée publication",
          "description": "Nombre de jours actifs après paiement initial."
        },
        "listing_extension_price": {
          "label": "Extension d'annonce",
          "description": "Prix d'une extension de publication de 30 jours."
        },
        "listing_extension_duration_days": {
          "label": "Durée extension",
          "description": "Nombre de jours ajoutés par paiement d'extension."
        },
        "sponsorship_price": {
          "label": "Sponsoring catégorie",
          "description": "Prix d'une mise en avant de 30 jours dans une catégorie."
        },
        "sponsorship_duration_days": {
          "label": "Durée sponsoring",
          "description": "Nombre de jours de mise en avant après paiement."
        },
        "listing_tax_rate_percent": {
          "label": "TVA annonces",
          "description": "Taux appliqué aux achats de publication, extension et sponsoring."
        },
        "listing_checkout_currency": {
          "label": "Devise checkout annonces",
          "description": "Devise utilisée pour les paiements de services d'annonce."
        },
        "service_fee_card_percent": {
          "label": "Frais de service – carte",
          "description": "Pourcentage de frais de service appliqué aux paiements par carte."
        },
        "service_fee_bank_transfer_percent": {
          "label": "Frais de service – virement",
          "description": "Pourcentage de frais de service appliqué aux paiements par virement."
        },
        "service_fee_card_minimum_minor": {
          "label": "Minimum frais de service – carte",
          "description": "Montant minimum de frais de service appliqué aux paiements par carte."
        },
        "service_fee_bank_transfer_minimum_minor": {
          "label": "Minimum frais de service – virement",
          "description": "Montant minimum de frais de service appliqué aux paiements par virement."
        },
        "product_bank_transfer_reservation_days": {
          "label": "Délai de réservation du virement produit",
          "description": "Nombre de jours pendant lesquels les produits restent réservés après l’affichage des instructions de virement."
        },
        "product_standard_tax_rate_percent": {
          "label": "TVA produit standard",
          "description": "Taux de TVA appliqué aux produits standards."
        },
        "product_refurbished_tax_rate_percent": {
          "label": "TVA produit reconditionné",
          "description": "Taux de TVA appliqué aux produits reconditionnés."
        },
        "service_fee_fx_markup_percent": {
          "label": "Marge change",
          "description": "Majoration intégrée aux frais de service quand la devise acheteur diffère de la devise vendeur."
        },
        "conformity_hold_days": {
          "label": "Délai de conformité",
          "description": "Nombre de jours de suivi avant validation logistique finale."
        },
        "default_delivery_pickup": {
          "label": "Retrait sur place par défaut",
          "description": "Active le retrait sur place pour les nouvelles annonces."
        },
        "default_delivery_requipa_transport": {
          "label": "Transport Requipa par défaut",
          "description": "Active le transport Requipa pour les nouvelles annonces."
        },
        "default_seller_covers_delivery_cost": {
          "label": "Livraison prise en charge par le vendeur",
          "description": "Indique par défaut que le vendeur prend en charge les frais de livraison."
        },
        "auto_translate_listings": {
          "label": "Traduction automatique",
          "description": "Active la préparation des contenus anglais lorsque le texte source est disponible."
        },
        "default_indexing_policy": {
          "label": "Politique d'indexation",
          "description": "Valeur par défaut appliquée aux pages publiques générées."
        },
        "metadata_review_required": {
          "label": "Revue métadonnées",
          "description": "Exige une revue admin avant d'exposer certaines métadonnées."
        },
        "platform_margin_percent": {
          "label": "Marge plateforme",
          "description": "Marge cible utilisée dans les règles commerciales."
        },
        "admin_role_review_required": {
          "label": "Revue des droits admin",
          "description": "Impose une validation interne avant changement de droits sensibles."
        },
        "ai_support_enabled": {
          "label": "Assistance IA support",
          "description": "Active les aides au support sans bypass des validations métier."
        },
        "platform_fee_percent": {
          "label": "Commission plateforme",
          "description": "Pourcentage conserve par Requipa sur chaque vente."
        },
        "cart_reservation_minutes": {
          "label": "Reservation panier",
          "description": "Duree de reservation du stock pendant le paiement Stripe."
        },
        "fund_release_mode": {
          "label": "Liberation des fonds",
          "description": "Mode de liberation vendeur; manuel en v1."
        },
        "storage_price_province_per_m3_month": {
          "label": "Stockage en province",
          "description": "Prix HT du stockage en dépôt hors Île-de-France, par m³ et par mois."
        },
        "storage_price_ile_de_france_per_m3_month": {
          "label": "Stockage en Île-de-France",
          "description": "Prix HT du stockage dans un dépôt d’Île-de-France, par m³ et par mois."
        },
        "depot_free_storage_working_days": {
          "label": "Garde gratuite au dépôt",
          "description": "Jours ouvrés pendant lesquels la marchandise attend gratuitement au dépôt avant facturation du stockage."
        },
        "depot_overdue_storage_price_per_m3_day": {
          "label": "Stockage au dépôt au-delà de la garde gratuite",
          "description": "Prix HT par m³ et par jour d’une commande qui reste au dépôt après les jours ouvrés gratuits."
        },
        "depot_storage_terms_url": {
          "label": "Conditions générales de stockage (lien)",
          "description": "Adresse https des conditions générales de stockage du transporteur, que l’acheteur accepte quand il choisit le retrait au dépôt."
        },
        "invoice_issuer_name": {
          "label": "Raison sociale de Requipa",
          "description": "Nom légal imprimé sur les factures de frais de service et de services d’annonce. Prioritaire sur Stripe."
        },
        "invoice_issuer_address_line1": {
          "label": "Adresse de Requipa",
          "description": "Numéro et rue du siège, imprimés sur les factures Requipa. Prioritaire sur Stripe."
        },
        "invoice_issuer_address_line2": {
          "label": "Complément d’adresse de Requipa",
          "description": "Bâtiment, étage ou boîte postale, imprimé sur les factures Requipa."
        },
        "invoice_issuer_postal_code": {
          "label": "Code postal de Requipa",
          "description": "Code postal du siège imprimé sur les factures Requipa."
        },
        "invoice_issuer_city": {
          "label": "Ville de Requipa",
          "description": "Ville du siège imprimée sur les factures Requipa."
        },
        "invoice_issuer_country": {
          "label": "Pays de Requipa",
          "description": "Code pays à deux lettres du siège (FR pour la France)."
        },
        "invoice_issuer_registration": {
          "label": "Immatriculation de Requipa",
          "description": "SIREN ou RCS, avec la forme et le capital si besoin, imprimés sur les factures Requipa."
        },
        "invoice_issuer_vat_number": {
          "label": "N° de TVA de Requipa",
          "description": "Numéro de TVA intracommunautaire imprimé sur les factures Requipa. Prioritaire sur Stripe."
        },
        "invoice_issuer_email": {
          "label": "E-mail de facturation de Requipa",
          "description": "Adresse de contact imprimée sur les factures Requipa."
        }
      },
      "empty_value": "Non renseigné"
    },
    "currencies": {
      "title": "Devises",
      "description": "Les taux sont indicatifs pour l’affichage; Stripe debite le montant exact de chaque devise.",
      "refresh": "Rafraichir",
      "update": "Mettre à jour",
      "form": {
        "success": "Devise mise a jour",
        "unavailable": "Devise indisponible",
        "not-allowed": "Action non autorisee."
      },
      "code": "Code",
      "symbol": "Symbole",
      "rate": "Taux",
      "order": "Ordre",
      "active": "Active",
      "presentment": "Stripe"
    },
    "payments": {
      "release": "Liberer les fonds",
      "release_success": "{{count}} transfert(s) libere(s)",
      "form": {
        "success": "Transferts liberes",
        "unavailable": "Liberation indisponible",
        "not-allowed": "Action non autorisee."
      }
    },
    "promoCodes": {
      "title": "Codes promotionnels",
      "description": "Créez des remises fixes en euros ou offrez des services (mise en ligne, prolongation, sponsoring) lors du paiement des annonces.",
      "create": "Créer un code",
      "empty": "Aucun code promotionnel.",
      "active": "Actif",
      "inactive": "Inactif",
      "offered": "Offert :",
      "columns": {
        "code": "Code",
        "amount": "Avantage",
        "status": "Statut",
        "redeemed": "Utilisations",
        "actions": "Actions"
      },
      "actions": {
        "edit": "Modifier le code",
        "deactivate": "Désactiver le code",
        "activate": "Activer le code"
      },
      "form": {
        "success": "Code promotionnel créé",
        "unavailable": "Code promotionnel indisponible",
        "not-allowed": "Action non autorisée."
      }
    },
    "email": {
      "title": "Emails système",
      "description": "Personnalisez tous les emails envoyés par Requipa, leur en-tête commun et consultez chaque envoi.",
      "refresh": "Rafraîchir",
      "tabs": {
        "label": "Gestion des emails système",
        "templates": "Modèles",
        "branding": "Personnalisation",
        "history": "Historique"
      },
      "groups": {
        "accounts": "Comptes et sécurité",
        "messages": "Messagerie",
        "support": "Support",
        "listings": "Annonces",
        "orders": "Commandes",
        "logistics": "Logistique"
      },
      "templates": {
        "title": "Modèles d’emails",
        "empty": "Aucun modèle email n’est disponible.",
        "empty_group": "Aucun modèle dans ce groupe.",
        "saved": "Le modèle email a été enregistré."
      },
      "merge_fields": {
        "title": "Champs de fusion disponibles",
        "description": "Insérez ces champs français depuis le sélecteur de l’éditeur HTML. Ils seront remplacés au moment de l’envoi.",
        "insert_label": "Insérer un champ de fusion",
        "insert_placeholder": "Choisissez un champ…",
        "insert_empty": "Aucun champ de fusion n’est disponible pour cet email.",
        "insert_hint": "Le champ sera ajouté à la position actuelle du curseur dans le corps HTML.",
        "groups": {
          "text": "Texte",
          "url": "Liens",
          "date": "Dates",
          "money": "Montants",
          "number": "Nombres"
        }
      },
      "fields": {
        "active": "Actif",
        "sender_display_name": "Nom de l’expéditeur",
        "sender_local_part": "Adresse de l’expéditeur",
        "subject": "Objet",
        "html_content": "Contenu HTML",
        "header_image": "Nouvelle image d’en-tête",
        "header_image_alt": "Texte alternatif de l’image"
      },
      "test": {
        "open": "Envoyer un test",
        "title": "Tester ce modèle",
        "description": "Un email {{name}} ({{locale}}) sera généré avec des données d’exemple.",
        "recipient": "Adresse email de test",
        "send": "Envoyer",
        "sending": "Envoi…",
        "sent": "L’email de test a été envoyé.",
        "form": {
          "success": "Email de test envoyé",
          "unavailable": "Envoi de test indisponible",
          "not-allowed": "Vous n’êtes pas autorisé à envoyer ce test."
        }
      },
      "branding": {
        "title": "Personnalisation des emails",
        "description": "L’image d’en-tête s’applique à tous les emails. Le pied de page est commun et défini dans l’application.",
        "preview_title": "Aperçu de l’email",
        "preview_description": "Aperçu du gabarit de 600 px utilisé par le serveur.",
        "no_header": "Aucune image d’en-tête",
        "form_title": "Image d’en-tête",
        "form_description": "Choisissez une nouvelle image uniquement si vous souhaitez remplacer l’image actuelle.",
        "current_header": "Fichier actuel",
        "footer_fixed": "Le pied de page HTML est fixe et ne peut pas être modifié depuis le backoffice.",
        "saved": "La personnalisation des emails a été enregistrée.",
        "empty": "La personnalisation des emails est introuvable.",
        "form": {
          "expected_version": "Version",
          "header_image": "Nouvelle image d’en-tête",
          "header_image_alt": "Texte alternatif de l’image",
          "header_image_alt.placeholder": "Logo Requipa",
          "do": "Enregistrer la personnalisation",
          "success": "Personnalisation enregistrée",
          "unavailable": "Gestion de la personnalisation indisponible",
          "not-allowed": "Vous n’êtes pas autorisé à modifier la personnalisation."
        }
      },
      "history": {
        "title": "Historique des envois",
        "description": "Un nœud d’historique est conservé pour chaque destinataire réel, sans conserver les secrets en clair.",
        "empty": "Aucun envoi ne correspond à ces filtres.",
        "test_badge": "Test",
        "detail": "Voir",
        "detail_title": "Détail de l’envoi",
        "resend": "Renvoyer",
        "resent": "Un nouvel envoi a été créé.",
        "redacted_hint": "Les valeurs sensibles sont volontairement masquées dans l’historique.",
        "last_error": "Dernière erreur",
        "page": "Page {{page}}",
        "pagination": {
          "previous": "Précédent",
          "next": "Suivant"
        },
        "filters": {
          "type": "Type d’email",
          "locale": "Langue",
          "recipient": "Destinataire",
          "status": "Statut",
          "date_from": "Du",
          "date_to": "Au",
          "test": "Envoi de test",
          "limit": "Résultats par page",
          "all": "Tous",
          "reset": "Réinitialiser",
          "apply": "Filtrer"
        },
        "columns": {
          "status": "Statut",
          "type": "Type",
          "recipient": "Destinataire",
          "subject": "Objet (masqué)",
          "attempts": "Tentatives",
          "date": "Créé le",
          "actions": "Actions"
        },
        "detail_fields": {
          "status": "Statut",
          "recipient": "Destinataire",
          "sender": "Expéditeur final",
          "template": "Modèle",
          "attempts": "Tentatives",
          "scheduled": "Planifié le",
          "sent": "Envoyé le",
          "next_attempt": "Prochaine tentative",
          "subject": "Objet masqué",
          "body": "Corps HTML masqué"
        },
        "form": {
          "success": "Historique chargé",
          "unavailable": "Historique indisponible",
          "not-allowed": "Vous n’êtes pas autorisé à consulter cet historique."
        }
      },
      "statuses": {
        "pending": "En attente",
        "processing": "En cours",
        "retry_pending": "Nouvelle tentative",
        "sent": "Envoyé",
        "failed": "Échec"
      },
      "form": {
        "template_id": "Modèle",
        "expected_version": "Version",
        "active": "Actif",
        "sender_display_name": "Nom de l’expéditeur",
        "sender_display_name.placeholder": "Équipe Requipa",
        "sender_local_part": "Adresse de l’expéditeur",
        "sender_local_part.placeholder": "contact",
        "subject": "Objet",
        "subject.placeholder": "Votre objet",
        "html_content": "Corps HTML",
        "do": "Enregistrer le modèle",
        "success": "Modèle email enregistré",
        "unavailable": "Gestion des modèles indisponible",
        "not-allowed": "Vous n’êtes pas autorisé à gérer les emails."
      }
    },
    "depots": {
      "title": "Dépôts partenaires DMAX",
      "description": "Dépôts utilisés pour la récupération au dépôt et le stockage des annonces. Chaque dépôt couvre les départements listés.",
      "name": "Dépôt",
      "address": "Adresse",
      "contact": "Contact",
      "departments": "Départements couverts",
      "ile_de_france": "Tarif Île-de-France",
      "edit": "Modifier",
      "empty": "Aucun dépôt",
      "form": {
        "title": "Modifier le dépôt",
        "depot_name": "Nom",
        "depot_address_line1": "Adresse",
        "depot_address_line2": "Complément d’adresse",
        "depot_postal_code": "Code postal",
        "depot_city": "Ville",
        "depot_contact_name": "Contact",
        "depot_contact_phone": "Téléphone",
        "depot_contact_email": "Email",
        "depot_is_ile_de_france": "Tarif de stockage Île-de-France",
        "depot_active": "Actif",
        "success": "Dépôt mis à jour",
        "unavailable": "Dépôt indisponible",
        "not-allowed": "Action non autorisée.",
        "do": "Enregistrer",
        "cancel": "Annuler"
      },
      "table": {
        "title": "Dépôts"
      }
    }
  },
  "language": {
    "form": {
      "create": {
        "title": "Ajouter une langue",
        "description": "Configurez la langue et sa disponibilité sur la plateforme.",
        "language_code": "Code",
        "language_code.placeholder": "en",
        "language_name": "Nom",
        "language_name.placeholder": "English",
        "language_native_name": "Nom natif",
        "language_native_name.placeholder": "English",
        "language_active": "Active",
        "language_default": "Langue par défaut",
        "language_auto_translate": "Traduire automatiquement",
        "language_display_order": "Ordre d'affichage",
        "language_display_order.placeholder": "30",
        "cancel": "Annuler",
        "do": "Ajouter",
        "success": "Langue ajoutée",
        "unavailable": "Gestion des langues indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à gérer les langues."
      },
      "update": {
        "title": "Modifier la langue",
        "language_code": "Code",
        "language_name": "Nom",
        "language_name.placeholder": "English",
        "language_native_name": "Nom natif",
        "language_native_name.placeholder": "English",
        "language_active": "Active",
        "language_default": "Langue par défaut",
        "language_auto_translate": "Traduire automatiquement",
        "language_display_order": "Ordre d'affichage",
        "language_display_order.placeholder": "30",
        "do": "Enregistrer",
        "success": "Langue mise à jour",
        "unavailable": "Gestion des langues indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à gérer les langues."
      },
      "delete": {
        "title": "Supprimer la langue",
        "language_code": "Code",
        "do": "Supprimer",
        "success": "Langue supprimée",
        "unavailable": "Suppression indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à gérer les langues."
      }
    }
  },
  "input": {
    "key": "Clé",
    "type": "Type",
    "required": "Obligatoire",
    "description": "Description",
    "placeholder": "Placeholder",
    "default": "Défaut",
    "values": "Valeurs",
    "range": "Plage",
    "types": {
      "text": "Texte court",
      "textarea": "Texte long",
      "email": "Email",
      "number": "Nombre",
      "select": "Choix unique",
      "selectmulti": "Choix multiple",
      "switch": "Oui / Non"
    },
    "valueOptions": {
      "title": "Options et aperçus",
      "description": "Ajoutez les valeurs proposées et, si besoin, une image JPEG, PNG ou WebP de 2 Mo maximum.",
      "label": "Libellé de l’option",
      "labelPlaceholder": "Ex. Hêtre",
      "unnamed": "cette option",
      "add": "Ajouter une option",
      "upload": "Téléverser un aperçu pour {{label}}",
      "removeSample": "Retirer l’aperçu de {{label}}",
      "remove": "Supprimer l’option {{label}}",
      "invalidFile": "Choisissez une image JPEG, PNG ou WebP de 2 Mo maximum."
    },
    "visibility": {
      "title": "Dépendances",
      "description": "Affichez cet input seulement lorsque les conditions ci-dessous sont remplies.",
      "andHint": "Toutes les dépendances doivent être remplies.",
      "anyValue": "N'importe quelle valeur renseignée",
      "oneOfValues": "Une des valeurs doit être sélectionnée.",
      "removeTrigger": "Retirer {{name}}",
      "removeValue": "Retirer {{value}}",
      "expectedValue": "Valeur attendue",
      "addValue": "Ajouter",
      "chooseTrigger": "Sélectionner un input déclencheur",
      "searchTrigger": "Rechercher un input déclencheur",
      "searchValue": "Rechercher une valeur",
      "missingController": "Input introuvable",
      "invalidValue": "Valeur invalide",
      "addTrigger": "Ajouter",
      "loading": "Chargement des inputs…",
      "empty": "Aucun autre input disponible",
      "options": "Inputs déclencheurs"
    },
    "form": {
      "create": {
        "title": "Créer un input",
        "description": "Configurez le champ affiché sur les annonces de cette catégorie.",
        "input_name": "Nom",
        "input_name.placeholder": "Couleur",
        "input_type": "Type",
        "input_type.placeholder": "Type de champ",
        "input_type.select.text": "Texte court",
        "input_type.select.textarea": "Texte long",
        "input_type.select.email": "Email",
        "input_type.select.number": "Nombre",
        "input_type.select.select": "Choix unique",
        "input_type.select.selectmulti": "Choix multiple",
        "input_type.select.switch": "Oui / Non",
        "input_required": "Obligatoire",
        "input_description": "Description",
        "input_description.placeholder": "Critère visible dans les filtres et la création d'annonce.",
        "input_placeholder": "Placeholder",
        "input_placeholder.placeholder": "Ex. noir, 120, cuir...",
        "input_default": "Valeur par défaut",
        "input_default.placeholder": "Valeur préremplie",
        "input_booldefault": "Valeur oui/non par défaut",
        "input_values": "Valeurs",
        "input_values.placeholder": "Noir, Blanc, Gris",
        "input_visibility_conditions": "Dépendances",
        "input_visible_when_input_key": "Visible selon la clé du critère",
        "input_visible_when_input_key.placeholder": "common_material",
        "input_visible_when_values": "Visible pour les valeurs",
        "input_visible_when_values.placeholder": "Bois",
        "input_icon": "Image / icône (SVG, PNG ou WebP, 2 Mo max)",
        "input_icon.select-file": "Choisir une image ou une icône",
        "input_icon.drag-drop": "ou glissez-déposez une image ou une icône",
        "input_minvalue": "Minimum",
        "input_minvalue.placeholder": "0",
        "input_maxvalue": "Maximum",
        "input_maxvalue.placeholder": "100",
        "cancel": "Annuler",
        "do": "Créer l'input",
        "success": "Input créé",
        "unavailable": "Création indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à créer un input."
      },
      "update": {
        "title": "Modifier l'input",
        "input_name": "Nom",
        "input_name.placeholder": "Couleur",
        "input_type": "Type",
        "input_type.placeholder": "Type de champ",
        "input_type.select.text": "Texte court",
        "input_type.select.textarea": "Texte long",
        "input_type.select.email": "Email",
        "input_type.select.number": "Nombre",
        "input_type.select.select": "Choix unique",
        "input_type.select.selectmulti": "Choix multiple",
        "input_type.select.switch": "Oui / Non",
        "input_required": "Obligatoire",
        "input_description": "Description",
        "input_description.placeholder": "Critère visible dans les filtres et la création d'annonce.",
        "input_placeholder": "Placeholder",
        "input_placeholder.placeholder": "Ex. noir, 120, cuir...",
        "input_default": "Valeur par défaut",
        "input_default.placeholder": "Valeur préremplie",
        "input_booldefault": "Valeur oui/non par défaut",
        "input_values": "Valeurs",
        "input_values.placeholder": "Noir, Blanc, Gris",
        "input_visibility_conditions": "Dépendances",
        "input_visible_when_input_key": "Visible selon la clé du critère",
        "input_visible_when_input_key.placeholder": "common_material",
        "input_visible_when_values": "Visible pour les valeurs",
        "input_visible_when_values.placeholder": "Bois",
        "input_icon": "Image / icône (SVG, PNG ou WebP, 2 Mo max)",
        "input_icon.select-file": "Choisir une image ou une icône",
        "input_icon.drag-drop": "ou glissez-déposez une image ou une icône",
        "input_minvalue": "Minimum",
        "input_minvalue.placeholder": "0",
        "input_maxvalue": "Maximum",
        "input_maxvalue.placeholder": "100",
        "cancel": "Annuler",
        "do": "Enregistrer",
        "success": "Input mis à jour",
        "unavailable": "Modification indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à modifier cet input."
      },
      "delete": {
        "title": "Supprimer l'input",
        "description": "Supprime définitivement cet input.",
        "cancel": "Annuler",
        "do": "Supprimer",
        "success": "Input supprimé",
        "unavailable": "Suppression indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à supprimer cet input."
      }
    }
  },
  "category": {
    "editor": {
      "label": "Description de la page",
      "help": "Texte visible sous le H1. Utilisez H2 et H3 pour les sous-titres, et B pour le gras.",
      "loading": "Chargement de l’éditeur…",
      "error": "L’éditeur n’a pas pu être chargé. Fermez puis rouvrez la fenêtre.",
      "bold": "Gras",
      "italic": "Italique",
      "heading2": "Titre H2",
      "heading3": "Titre H3",
      "clean": "Effacer la mise en forme"
    },
    "form": {
      "create": {
        "title": "Créer une catégorie",
        "category_name": "Nom",
        "category_name.placeholder": "Fauteuils de bureau",
        "category_slug": "URL (slug)",
        "category_slug.placeholder": "fauteuils-de-bureau",
        "category_seo_title": "Title",
        "category_seo_title.placeholder": "Fauteuils de bureau reconditionnés",
        "category_seo_description": "Méta-description",
        "category_seo_h1": "h1",
        "category_seo_h1.placeholder": "Fauteuils de bureau d’occasion",
        "category_description_html": "Description de la page",
        "category_seo_description.placeholder": "Fauteuils professionnels de seconde main pour bureaux, espaces partagés et salles de réunion.",
        "category_image": "Image / icône",
        "category_listing_delivery_quote_required": "Livraison sur devis",
        "category_icon": "Icône (SVG, PNG ou WebP, 2 Mo max)",
        "category_icon.select-file": "Choisir une icône",
        "category_icon.drag-drop": "ou glissez-déposez une icône",
        "cancel": "Annuler",
        "do": "Créer la catégorie",
        "success": "Catégorie créée",
        "unavailable": "Création indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à créer une catégorie.",
        "category_installation_not_applicable": "Mise en place / remontage non applicable",
        "category_logistics_review_notice": "Message logistique après paiement",
        "category_reassembly_discount_percent": "Moins-value sans remontage (%)",
        "category_reassembly_discount_percent.placeholder": "10"
      },
      "createChild": {
        "title": "Créer une sous-catégorie",
        "category_name": "Nom",
        "category_name.placeholder": "Fauteuils ergonomiques",
        "category_slug": "URL (slug)",
        "category_slug.placeholder": "fauteuils-ergonomiques",
        "category_seo_title": "Title",
        "category_seo_title.placeholder": "Fauteuils ergonomiques professionnels",
        "category_seo_description": "Méta-description",
        "category_seo_h1": "h1",
        "category_seo_h1.placeholder": "Fauteuils de bureau d’occasion",
        "category_description_html": "Description de la page",
        "category_seo_description.placeholder": "Fauteuils ergonomiques d'occasion pour postes de travail professionnels.",
        "category_image": "Image / icône",
        "category_listing_delivery_quote_required": "Livraison sur devis",
        "category_icon": "Icône (SVG, PNG ou WebP, 2 Mo max)",
        "category_icon.select-file": "Choisir une icône",
        "category_icon.drag-drop": "ou glissez-déposez une icône",
        "cancel": "Annuler",
        "do": "Créer la sous-catégorie",
        "success": "Sous-catégorie créée",
        "unavailable": "Création indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à créer une sous-catégorie.",
        "category_installation_not_applicable": "Mise en place / remontage non applicable",
        "category_logistics_review_notice": "Message logistique après paiement",
        "category_reassembly_discount_percent": "Moins-value sans remontage (%)",
        "category_reassembly_discount_percent.placeholder": "10"
      },
      "update": {
        "title": "Modifier la catégorie",
        "category_name": "Nom",
        "category_name.placeholder": "Fauteuils de bureau",
        "category_slug": "URL (slug)",
        "category_slug.placeholder": "fauteuils-de-bureau",
        "category_seo_title": "Title",
        "category_seo_title.placeholder": "Fauteuils de bureau reconditionnés",
        "category_seo_description": "Méta-description",
        "category_seo_h1": "h1",
        "category_seo_h1.placeholder": "Fauteuils de bureau d’occasion",
        "category_description_html": "Description de la page",
        "category_seo_description.placeholder": "Fauteuils professionnels de seconde main pour bureaux, espaces partagés et salles de réunion.",
        "category_image": "Image / icône",
        "category_listing_delivery_quote_required": "Livraison sur devis",
        "category_icon": "Icône (SVG, PNG ou WebP, 2 Mo max)",
        "category_icon.select-file": "Choisir une icône",
        "category_icon.drag-drop": "ou glissez-déposez une icône",
        "cancel": "Annuler",
        "do": "Enregistrer",
        "success": "Catégorie mise à jour",
        "unavailable": "Modification indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à modifier cette catégorie.",
        "category_installation_not_applicable": "Mise en place / remontage non applicable",
        "category_logistics_review_notice": "Message logistique après paiement",
        "category_reassembly_discount_percent": "Moins-value sans remontage (%)",
        "category_reassembly_discount_percent.placeholder": "10"
      },
      "delete": {
        "title": "Supprimer la catégorie",
        "description": "Supprime définitivement cette catégorie.",
        "cancel": "Annuler",
        "do": "Supprimer",
        "success": "Catégorie supprimée",
        "unavailable": "Suppression indisponible",
        "not-allowed": "Vous n'êtes pas autorisé à supprimer cette catégorie."
      }
    },
    "create": {
      "category_name": "Nom",
      "category_name.placeholder": "Fauteuils de bureau",
      "category_slug": "URL (slug)",
      "category_slug.placeholder": "fauteuils-de-bureau",
      "category_seo_title": "Title",
      "category_seo_title.placeholder": "Fauteuils de bureau reconditionnés",
      "category_seo_description": "Méta-description",
      "category_seo_h1": "h1",
      "category_seo_h1.placeholder": "Fauteuils de bureau d’occasion",
      "category_description_html": "Description de la page",
      "category_seo_description.placeholder": "Fauteuils professionnels de seconde main pour bureaux, espaces partagés et salles de réunion.",
      "category_image": "Image / icône",
      "category_image.select-file": "Choisir une image ou une icône",
      "category_image.drag-drop": "ou glissez-déposez une image ou une icône",
      "category_icon": "Icône (SVG, PNG ou WebP, 2 Mo max)",
      "sub": {
        "category_name": "Nom",
        "category_name.placeholder": "Fauteuils ergonomiques",
        "category_slug": "URL (slug)",
        "category_slug.placeholder": "fauteuils-ergonomiques",
        "category_seo_title": "Title",
        "category_seo_title.placeholder": "Fauteuils ergonomiques professionnels",
        "category_seo_description": "Méta-description",
        "category_seo_h1": "h1",
        "category_seo_h1.placeholder": "Fauteuils de bureau d’occasion",
        "category_description_html": "Description de la page",
        "category_seo_description.placeholder": "Fauteuils ergonomiques d'occasion pour postes de travail professionnels.",
        "category_image": "Image / icône",
        "category_image.select-file": "Choisir une image ou une icône",
        "category_image.drag-drop": "ou glissez-déposez une image ou une icône",
        "category_icon": "Icône (SVG, PNG ou WebP, 2 Mo max)"
      }
    },
    "update": {
      "category_name": "Nom",
      "category_name.placeholder": "Fauteuils de bureau",
      "category_slug": "URL (slug)",
      "category_slug.placeholder": "fauteuils-de-bureau",
      "category_seo_title": "Title",
      "category_seo_title.placeholder": "Fauteuils de bureau reconditionnés",
      "category_seo_description": "Méta-description",
      "category_seo_h1": "h1",
      "category_seo_h1.placeholder": "Fauteuils de bureau d’occasion",
      "category_description_html": "Description de la page",
      "category_seo_description.placeholder": "Fauteuils professionnels de seconde main pour bureaux, espaces partagés et salles de réunion.",
      "category_image": "Image / icône",
      "category_image.select-file": "Choisir une image ou une icône",
      "category_image.drag-drop": "ou glissez-déposez une image ou une icône",
      "category_icon": "Icône (SVG, PNG ou WebP, 2 Mo max)"
    },
    "input": {
      "create": {
        "input_name": "Nom",
        "input_type": "Type",
        "input_required": "Obligatoire",
        "input_description": "Description",
        "input_placeholder": "Placeholder",
        "input_values": "Valeurs",
        "input_values.placeholder": "Noir, Blanc, Gris",
        "input_default": "Valeur par défaut",
        "input_icon": "Image / icône (SVG, PNG ou WebP, 2 Mo max)",
        "input_icon.select-file": "Choisir une image ou une icône",
        "input_icon.drag-drop": "ou glissez-déposez une image ou une icône",
        "input_type.select.text": "Texte court",
        "input_type.select.textarea": "Texte long",
        "input_type.select.email": "Email",
        "input_type.select.number": "Nombre",
        "input_type.select.select": "Choix unique",
        "input_type.select.selectmulti": "Choix multiple",
        "input_type.select.switch": "Oui / Non",
        "type.select.text": "Texte court",
        "type.select.textarea": "Texte long",
        "type.select.email": "Email",
        "type.select.number": "Nombre",
        "type.select.select": "Choix unique",
        "type.select.selectmulti": "Choix multiple",
        "type.select.switch": "Oui / Non"
      },
      "update": {
        "input_name": "Nom",
        "input_type": "Type",
        "input_required": "Obligatoire",
        "input_values": "Valeurs",
        "input_values.placeholder": "Noir, Blanc, Gris",
        "input_description": "Description",
        "input_placeholder": "Placeholder",
        "input_default": "Valeur par défaut",
        "input_icon": "Image / icône (SVG, PNG ou WebP, 2 Mo max)",
        "input_icon.select-file": "Choisir une image ou une icône",
        "input_icon.drag-drop": "ou glissez-déposez une image ou une icône",
        "type.select.text": "Texte court",
        "type.select.textarea": "Texte long",
        "type.select.email": "Email",
        "type.select.number": "Nombre",
        "type.select.select": "Choix unique",
        "type.select.selectmulti": "Choix multiple",
        "type.select.switch": "Oui / Non"
      }
    },
    "list": {
      "search": "Rechercher une catégorie",
      "empty": "Aucune catégorie"
    }
  },
  "user/update/me": {
    "user_firstname": "Prénom",
    "user_firstname.placeholder": "Camille",
    "user_lastname": "Nom",
    "user_lastname.placeholder": "Martin",
    "user_email": "Email",
    "user_email.placeholder": "camille.martin@requipa.com",
    "user_hide_info": "Mode anonyme"
  },
  "user": {
    "update": {
      "me": {
        "user_firstname": "Prénom",
        "user_firstname.placeholder": "Camille",
        "user_lastname": "Nom",
        "user_lastname.placeholder": "Martin",
        "user_email": "Email",
        "user_email.placeholder": "camille.martin@requipa.com",
        "user_hide_info": "Mode anonyme",
        "picture": {
          "user_picture": "Photo de profil"
        }
      }
    }
  },
  "auth": {
    "login_nav": "Connexion",
    "register_nav": "Inscription",
    "logout": "Déconnexion",
    "login_eyebrow": "Espace client",
    "login_title": "Se connecter",
    "login_submit": "Se connecter",
    "register_eyebrow": "Créer un compte",
    "register_title": "S'inscrire",
    "register_submit": "Créer le compte",
    "firstname": "Prénom",
    "lastname": "Nom",
    "email": "Email",
    "password": "Mot de passe",
    "password_confirm": "Confirmer le mot de passe",
    "rgpd_consent": "J'accepte que Requipa traite mes informations pour créer et gérer mon compte.",
    "already_registered": "Vous avez déjà un compte ?",
    "not_registered": "Pas encore de compte ?",
    "login_link": "Connexion",
    "register_link": "Inscription",
    "forgot_password_link": "Mot de passe oublié ?",
    "side_title": "Un seul compte pour acheter et vendre",
    "side_description": "Chaque utilisateur peut acheter librement. La vente s'active ensuite avec une entreprise vérifiée.",
    "login": {
      "eyebrow": "Espace client",
      "title": "Se connecter",
      "description": "Accédez à votre compte pour suivre vos demandes, gérer vos informations et vendre dès que votre entreprise est validée.",
      "user_email": "Email",
      "user_password": "Mot de passe",
      "do": "Se connecter",
      "success": "Connexion réussie",
      "unavailable": "Connexion indisponible"
    },
    "register": {
      "terms_consent": "J'accepte les conditions générales d'utilisation de Requipa.",
      "terms_link": "Lire les CGU",
      "eyebrow": "Créer un compte",
      "title": "S'inscrire",
      "description": "Créez un compte unique. Vous pourrez acheter immédiatement et demander la vérification d'une entreprise pour vendre.",
      "user_firstname": "Prénom",
      "user_lastname": "Nom",
      "user_email": "Email",
      "user_password": "Mot de passe",
      "user_password_confirm": "Confirmer le mot de passe",
      "rgpd_consent": "J'accepte que Requipa traite mes informations pour créer et gérer mon compte.",
      "do": "Créer le compte",
      "success": "Compte créé",
      "unavailable": "Inscription indisponible",
      "delivery_address_title": "Adresse de livraison",
      "delivery_address_description": "Elle sert au calcul de la logistique : précisez l’étage, l’ascenseur et le parking privé.",
      "delivery_address_address_line1": "Adresse",
      "delivery_address_address_line1.placeholder": "12 rue du Réemploi",
      "delivery_address_address_line2": "Complément d’adresse",
      "delivery_address_address_line2.placeholder": "Bâtiment B",
      "delivery_address_postal_code": "Code postal",
      "delivery_address_postal_code.placeholder": "74000",
      "delivery_address_city": "Ville",
      "delivery_address_city.placeholder": "Annecy",
      "delivery_address_floor_number": "Étage",
      "delivery_address_floor_number.placeholder": "0",
      "delivery_address_has_elevator": "Ascenseur",
      "delivery_address_has_private_parking": "Parking privé"
    },
    "forgot": {
      "eyebrow": "Accès au compte",
      "title": "Mot de passe oublié",
      "description": "Indiquez l'email de votre compte. Si un compte existe, vous recevrez un code de réinitialisation.",
      "sent_description": "Code envoyé. Consultez votre boîte mail, puis saisissez le code et votre nouveau mot de passe.",
      "already_code": "J'ai déjà un code",
      "change_email": "Changer d'email",
      "side_title": "Réinitialisation sécurisée",
      "side_description": "Le code reçu par email est valable 1 heure et permet de définir un nouveau mot de passe.",
      "form": {
        "user_email": "Email",
        "do": "Recevoir le code",
        "success": "Si le compte existe, un code vient d'être envoyé.",
        "unavailable": "Réinitialisation indisponible"
      }
    },
    "reset": {
      "eyebrow": "Nouveau mot de passe",
      "title": "Réinitialiser le mot de passe",
      "description": "Saisissez le code reçu par email et choisissez un nouveau mot de passe.",
      "form": {
        "user_email": "Email",
        "user_code": "Code",
        "user_password": "Nouveau mot de passe",
        "user_password_confirm": "Confirmer le mot de passe",
        "do": "Réinitialiser",
        "success": "Mot de passe mis à jour",
        "unavailable": "Réinitialisation indisponible"
      }
    },
    "verify": {
      "eyebrow": "Validation du compte",
      "title": "Validez votre adresse email",
      "description": "Nous vous avons envoyé un code à six chiffres par email. Saisissez-le pour activer votre compte Requipa.",
      "resent": "Un nouveau code vient de vous être envoyé.",
      "resend": "Renvoyer le code",
      "side_title": "Un compte sécurisé",
      "side_description": "Le code reçu par email est valable 24 heures. Il confirme que l'adresse vous appartient.",
      "form": {
        "user_email": "Email",
        "user_code": "Code",
        "do": "Valider mon compte",
        "success": "Compte validé",
        "unavailable": "Validation indisponible"
      }
    }
  },
  "login": {
    "user_email": "Email",
    "user_email.placeholder": "exemple@requipa.com",
    "user_password": "Mot de passe",
    "user_password.placeholder": "••••••••"
  },
  "forget": {
    "user_email": "Email",
    "user_email.placeholder": "camille.martin@requipa.com"
  },
  "code": {
    "user_email": "Email",
    "user_email.placeholder": "camille.martin@requipa.com",
    "user_code": "Code",
    "user_code.placeholder": "123456",
    "user_password": "Nouveau mot de passe",
    "user_password.placeholder": "••••••••",
    "user_password_confirm": "Confirmer le mot de passe",
    "user_password_confirm.placeholder": "••••••••"
  },
  "register": {
    "terms_consent": "Conditions générales d'utilisation",
    "user_firstname": "Prénom",
    "user_firstname.placeholder": "Camille",
    "user_lastname": "Nom",
    "user_lastname.placeholder": "Martin",
    "user_email": "Email",
    "user_email.placeholder": "camille.martin@requipa.com",
    "user_password": "Mot de passe",
    "user_password.placeholder": "••••••••",
    "user_password_confirm": "Confirmer le mot de passe",
    "user_password_confirm.placeholder": "••••••••"
  },
  "home": {
    "title": "Démo des fonctions partagées",
    "shared_demo": "Shared function demo",
    "subtitle": "Fonctions serveur importées par une route",
    "description": "Le loader et l'action appellent tous les deux des fonctions de app/server/todos.server.ts.",
    "add_section": "Ajouter une tâche",
    "add_placeholder": "Écris quelque chose à faire",
    "add_button": "Ajouter",
    "loaded_section": "Chargé sur le serveur",
    "server_time": "Heure serveur : {{time}}",
    "ui_state_section": "État UI local",
    "counter": "Un compteur local fonctionne toujours ici : {{value}}"
  },
  "categories": {
    "choose_subcategory": "Choisissez une sous-catégorie pour affiner votre recherche.",
    "all_subcategories": "Toutes les catégories : voir les annonces",
    "title": "Catégories",
    "breadcrumb_label": "Fil d'Ariane catégories",
    "section_label": "",
    "description": "",
    "empty": "Aucune catégorie pour le moment.",
    "load_failed": "Impossible de charger les catégories : {{error}}",
    "all": "Toutes",
    "no_image": "Sans image",
    "root": "Catégorie",
    "sub": "sous-catégorie",
    "detail": {
      "title": "Catégorie",
      "eyebrow": "Catégorie",
      "not_found": "Catégorie introuvable.",
      "browse_offers": "Voir les offres",
      "offers_title": "Annonces de la catégorie",
      "all_offers": "Toutes les annonces",
      "available_count_one": "{{count}} annonce disponible",
      "available_count_other": "{{count}} annonces disponibles",
      "offer_count_one": "{{count}} annonce",
      "offer_count_other": "{{count}} annonces",
      "empty_offers": "Aucune annonce publiée dans cette catégorie."
    }
  },
  "enterprises": {
    "breadcrumb_label": "Fil d'Ariane entreprise",
    "load_failed": "Impossible de charger l'entreprise : {{error}}",
    "detail": {
      "title": "Entreprise",
      "eyebrow": "Entreprise vérifiée",
      "not_found": "Entreprise introuvable.",
      "verified": "Professionnel vérifié",
      "anonymous_seller": "Vendeur professionnel",
      "anonymous_identity": "{{firstname}} · Professionnel #{{code}}",
      "anonymous_identity_without_code": "{{firstname}} · Professionnel",
      "anonymous_identity_generic": "Professionnel vérifié",
      "anonymous_notice": "Cette entreprise a décidé de rester anonyme pour des raisons de confidentialité.",
      "privacy_notice": "L’identité de l’entreprise est protégée. Seules les informations utiles à l’achat sont affichées.",
      "specialties": "Spécialités",
      "adminTabs": {
        "label": "Sections admin de l'entreprise",
        "profile": "Profil",
        "offers": "Offres",
        "payments": "Paiements"
      },
      "adminProfileEyebrow": "Dossier entreprise",
      "adminProfileTitle": "Profil administratif",
      "adminPaymentsEyebrow": "Paiements",
      "adminPaymentsTitle": "Commandes, paiements Stripe et virements",
      "public_profile_title": "Profil vendeur public",
      "public_profile_description": "Description",
      "opening_hours": "Horaires",
      "furniture_types": "Types de mobilier",
      "public_catalog_title": "Catalogue vendeur",
      "public_catalog_description": "Parcourez les annonces disponibles de ce professionnel vérifié et partagez son profil Requipa.",
      "search_placeholder": "Rechercher dans les offres du vendeur",
      "view_offer": "Voir",
      "offers_title": "Offres de l'entreprise",
      "offer_count_one": "{{count}} offre",
      "offer_count_other": "{{count}} offres",
      "offer_quantity_one": "{{count}} disponible",
      "offer_quantity_other": "{{count}} disponibles",
      "empty_offers": "Aucune offre publiée pour le moment.",
      "catalogue": {
        "search_label": "Rechercher dans ce catalogue",
        "search_placeholder": "Bureau, chaise, marque…",
        "search_submit": "Rechercher",
        "category_label": "Catégories",
        "all_categories": "Tous ({{count}})",
        "sort_label": "Trier les annonces",
        "sort_newest": "Plus récents",
        "sort_price_asc": "Prix croissant",
        "sort_price_desc": "Prix décroissant",
        "sort_name": "Nom de A à Z",
        "total_one": "{{count}} annonce",
        "total_other": "{{count}} annonces",
        "loading": "Chargement du catalogue…",
        "empty": "Ce professionnel n’a pas encore publié d’annonce.",
        "no_results": "Aucune annonce ne correspond à ces filtres.",
        "clear_filters": "Effacer les filtres",
        "error": "Le catalogue ne peut pas être chargé pour le moment.",
        "retry": "Réessayer",
        "load_more": "Afficher plus",
        "loading_more": "Chargement…",
        "load_more_error": "Les annonces suivantes n’ont pas pu être chargées.",
        "end": "Vous avez vu toutes les annonces."
      },
      "stats": {
        "offers": "Offres",
        "rating": "Note",
        "sales": "Ventes",
        "response": "Réponse",
        "response_minutes": "min",
        "response_hours": "h"
      },
      "actions": {
        "share": "Partager",
        "share_page": "Partager la page",
        "share_text": "Découvrez le profil vendeur {{seller}} sur Requipa.",
        "copy_link": "Copier le lien",
        "copied": "Lien copié.",
        "error": "Le partage ou la copie du lien a échoué. Réessayez."
      }
    }
  },
  "offers": {
    "add_button": "Ajouter une offre",
    "breadcrumb_label": "Fil d'Ariane offres",
    "empty": "Aucune offre disponible pour le moment.",
    "image_missing": "Image indisponible",
    "load_failed": "Impossible de charger les offres : {{error}}",
    "sponsored_badge": "Sponsorisé",
    "stock_short_one": "{{count}} disponible",
    "stock_short_other": "{{count}} disponibles",
    "unnamed": "Offre sans nom",
    "buyer_availability": {
      "checkout_reserved": {
        "label": "Achat en cours",
        "description": "Un achat est en cours pour l’ensemble du stock. L’annonce reste consultable, mais aucune nouvelle transaction n’est possible pour le moment."
      },
      "seller_reserved": {
        "label": "Réservé",
        "description": "Cette annonce est réservée à un autre acheteur. Elle reste visible dans le catalogue, mais aucune action d’achat ou de négociation n’est disponible."
      }
    },
    "condition": {
      "refurbished": "Reconditionné",
      "like_new": "Comme neuf",
      "very_good": "Très bon état",
      "good": "Bon état",
      "used": "Usé"
    },
    "condition_description": {
      "refurbished": "Remis en état par un professionnel : nettoyé, contrôlé et réparé si besoin, prêt à l’usage.",
      "like_new": "État irréprochable, aspect neuf, fonctionnement fluide, aucune pièce manquante.",
      "very_good": "Micro-rayures quasi invisibles, propre, patine légère, réglages opérationnels.",
      "good": "Signes d’usage normaux, usure superficielle ou taches discrètes, fonctionnement garanti.",
      "used": "Usure marquée, éclats ou décoloration, tissus élimés, ajustement nécessaire."
    },
    "home": {
      "eyebrow": "Marketplace",
      "title": "Offres disponibles",
      "description": "Mobilier professionnel reconditionné, lots disponibles et vendeurs vérifiés.",
      "badge": "On a trouvé mieux que le neuf",
      "headline": "Revalorisez votre mobilier professionnel",
      "search_label": "Rechercher des annonces",
      "search_placeholder": "Je recherche une chaise bleu pour 150€...",
      "location": "Toute la France",
      "location_query_label": "Ville ou code postal",
      "location_query_placeholder": "Paris ou 75010",
      "location_radius_label": "Rayon",
      "location_apply": "Rechercher",
      "available_title": "Annonces disponibles",
      "view_all": "Voir toutes les annonces",
      "seller_banner_title": "Une seconde vie pour vos meubles.",
      "audience": {
        "buy": "Acheter",
        "sell": "Vendre"
      },
      "how_title": "Comment ça marche ?",
      "how_subtitle": "Simple, rapide, sans stress.",
      "how": {
        "search": {
          "title": "Recherchez",
          "description": "Parcourez des milliers d’articles proposés par des professionnels"
        },
        "reserve": {
          "title": "Réservez",
          "description": "Sélectionnez vos articles en quelques clics, simplement et rapidement."
        },
        "receive": {
          "title": "Recevez",
          "description": "Démontage, acheminement et remontage, directement dans vos locaux."
        }
      },
      "latest_title": "Dernières annonces",
      "latest_count_one": "{{count}} annonce publiée",
      "latest_count_other": "{{count}} annonces publiées"
    },
    "catalog": {
      "categories_title": "Catégories",
      "default_description": "Fauteuils ergonomiques, chaises visiteur, tabourets et banquettes sélectionnés pour vos espaces professionnels.",
      "filters_title": "Filtrer",
      "sort_label": "Trier :",
      "sort_recent": "Les plus récentes",
      "sort_price_asc": "Prix croissant",
      "category_title": "CATÉGORIES",
      "all_categories": "Tout voir",
      "all_in_category": "Tout {{category}}",
      "back_level": "Niveau précédent",
      "type_title": "Catégorie",
      "features_title": "CARACTÉRISTIQUES",
      "all_values": "Toutes les options",
      "add_values": "Ajouter des options pour {{label}}",
      "remove_value": "Retirer {{value}} de {{label}}",
      "search_values": "Rechercher une option",
      "no_values": "Aucune option trouvée",
      "spaces_title": "ESPACES",
      "space_values": {
        "restaurant": "Restaurant",
        "offices": "Bureaux",
        "industry": "Industrie",
        "retail": "Retail",
        "lounge_area": "Espace détente",
        "reception_area": "Espace d'accueil",
        "meeting_room": "Salle de réunion"
      },
      "min_quantity": "Qté min.",
      "color": "Couleur",
      "brand": "Marque",
      "postal_code": "Code postal",
      "location_query": "Ville ou code postal",
      "location_query_placeholder": "Paris ou 75010",
      "location_radius": "Rayon",
      "distance": "Rayon de recherche",
      "distance_input": "Rayon en kilomètres",
      "distance_km": "{{count}} km",
      "distance_unlimited": "sans limite",
      "distance_unlimited_label": "Sans limite de distance",
      "search_area": "Zone de recherche",
      "all_france": "Toute la France",
      "around_me": "Dans un rayon",
      "around_me_city": "{{city}} · {{distance}}",
      "around_me_active": "Ma position · {{distance}}",
      "city_label": "Ville",
      "city_placeholder": "Paris",
      "city_active": "Recherche autour de {{city}} · {{distance}}",
      "city_manual": "Ville saisie : {{city}}. Sélectionnez une suggestion pour activer le rayon.",
      "city_only": "{{city}} · sans rayon",
      "city_prompt": "Commencez à saisir une ville, puis sélectionnez une suggestion pour choisir le rayon.",
      "city_required": "Saisissez une ville avant de valider.",
      "city_suggestion_loading": "Recherche des villes…",
      "city_suggestion_results": "Villes proposées",
      "city_suggestion_whole_city": "Ville entière",
      "city_manual_action": "Utiliser « {{city}} » sans rayon",
      "city_suggestion_empty": "Aucune ville trouvée. Vous pouvez saisir la ville manuellement.",
      "city_suggestion_unavailable": "Les suggestions sont indisponibles. Vous pouvez saisir la ville manuellement.",
      "apply_location": "Appliquer",
      "use_current_location": "Utiliser ma position",
      "location_prompt_title": "Voir d'abord les annonces près de chez vous",
      "location_prompt_text": "Choisissez une ville ou utilisez votre position pour filtrer le catalogue par distance.",
      "location_prompt_account": "Ajouter une adresse de livraison dans mon compte",
      "location_prompt_dismiss": "Masquer la suggestion de localisation",
      "refresh_location": "Actualiser ma position",
      "location_help": "Activez votre position pour filtrer les annonces.",
      "location_national": "Recherche dans toute la France.",
      "location_active": "Position active · {{distance}}",
      "location_loading": "Localisation en cours…",
      "location_denied": "Position refusée. Autorisez-la puis réessayez.",
      "location_unavailable": "Position indisponible. Réessayez dans un instant.",
      "price": "Fourchette de prix",
      "min_price": "Minimum",
      "max_price": "Maximum",
      "min_price_short": "Min.",
      "max_price_short": "Max.",
      "state_title": "ÉTAT",
      "today": "Aujourd'hui",
      "loading": "Chargement des annonces...",
      "load_more": "Voir plus",
      "loading_more": "Chargement…",
      "load_more_error": "Impossible de charger les annonces suivantes. Réessayez.",
      "retry": "Réessayer",
      "search": "Rechercher ({{count}})",
      "reset": "Réinitialiser les filtres",
      "seller_banner_title": "Vendez votre mobilier professionnel en 5 min.",
      "tabs": {
        "recent": "Récentes",
        "favorites": "Coups de cœur",
        "lots": "Lots",
        "refurbished": "Reconditionné"
      },
      "delivery_all_inclusive": "Livraison : {{price}} HT",
      "delivery_estimate": "Livraison tout compris"
    },
    "card": {
      "freeDeliveryBadge": ""
    },
    "pricing": {
      "lot_unit_value": "Soit {{price}} le produit",
      "used_furniture_vat_notice": "TVA non applicable — mobilier d’occasion",
      "excluding_tax": "HT",
      "refurbished_vat_notice": "TVA {{rate}} % en sus — produit reconditionné",
      "refurbished_vat_seller_notice": "Produit reconditionné : la TVA au taux reconditionné s’ajoute à votre prix HT lors de la facturation."
    },
    "detail": {
      "back": "Retour aux offres",
      "eyebrow": "Offre",
      "not_found": "Offre introuvable.",
      "previous_image": "Photo précédente",
      "next_image": "Photo suivante",
      "show_image": "Afficher l'image {{count}}",
      "price": "Prix",
      "invoice_available": "Facture disponible",
      "lot_only_badge": "Vente par lot uniquement",
      "space_badge": "Espace",
      "offer_price": "Votre offre",
      "offer_send": "Envoyer l'offre",
      "detail_request_title": "Demander au detail",
      "detail_request_send": "Demander au detail",
      "offer_message": "Je vous propose {{price}} pour {{quantity}} unite(s) de {{product}}.",
      "detail_request_message": "Je souhaite acheter {{quantity}} unite(s) de {{product}} au detail. Est-ce possible ?",
      "lot_complete": "Lot complet",
      "buy_now": "Acheter maintenant",
      "make_offer": "Faire une offre",
      "negotiable": "Prix négociable",
      "stock_one": "{{count}} unité disponible",
      "stock_other": "{{count}} unités disponibles",
      "views_one": "{{count}} vue",
      "views_other": "{{count}} vues",
      "favorites_one": "{{count}} favori",
      "favorites_other": "{{count}} favoris",
      "seller_title": "Vendeur",
      "seller_private_name": "Vendeur professionnel",
      "managed_by": "Géré par {{firstname}}",
      "anonymous_notice": "Cette entreprise a décidé de rester anonyme pour des raisons de confidentialité.",
      "seller_rating": "{{rating}}/5 ({{count}} avis)",
      "seller_sales_one": "{{count}} vente",
      "seller_sales_other": "{{count}} ventes",
      "seller_response_time": "Réponse ~{{minutes}} min",
      "sales_short": "ventes",
      "response_short": "répond",
      "response_under": "Sous {{minutes}} min",
      "seller_catalogue_count": "Voir les {{count}} annonces de {{seller}}",
      "seller_catalogue_profile": "Voir le profil de {{seller}}",
      "seller_catalogue_unknown": "Voir les annonces de {{seller}}",
      "seller_catalogue_generic_name": "ce vendeur professionnel",
      "contact_seller": "Contacter le vendeur",
      "contact_pending": "Ouverture...",
      "secure_payment": "Paiement sécurisé",
      "secure_payment_description": "Stripe",
      "delivery_support": "Transport accompagné",
      "delivery_support_description": "Requipa organise la remise",
      "secure_messaging": "Messagerie sécurisée",
      "secure_messaging_description": "Achetez, vendez",
      "visible_defects": "Défauts visibles",
      "no_visible_defects_declared": "Aucun défaut visible déclaré.",
      "specs_title": "Caractéristiques",
      "quantity": "Quantité",
      "delivery_title": "Remise et transport",
      "delivery_pickup": "Retrait sur site",
      "delivery_requipa_transport": "Transport Requipa",
      "delivery_depot_dropoff": "Dépôt partenaire",
      "pickup_unavailable": "Retrait sur site impossible",
      "delivery_estimate_title": "Livraison / Montage / installation à l'adresse à partir de :",
      "delivery_estimate_postal_label": "Code postal de livraison",
      "delivery_estimate_postal_placeholder": "Ex. 75010",
      "delivery_estimate_submit": "Estimer",
      "delivery_estimate_pending": "Calcul...",
      "delivery_estimate_indicative": "Estimation indicative : {{price}}",
      "delivery_estimate_final": "Tarif de livraison : {{price}} HT (TVA 20 % en sus)",
      "delivery_estimate_free": "Offerte",
      "delivery_estimate_heading": "Livraison",
      "delivery_estimate_address_label": "Adresse de livraison",
      "delivery_estimate_address_placeholder": "12 rue de Rivoli, 75004 Paris",
      "delivery_estimate_other_address": "Une autre adresse",
      "delivery_estimate_my_location": "Ma position",
      "delivery_estimate_price": "Prix de la livraison HT",
      "delivery_estimate_unavailable": "Prix de livraison indisponible pour le moment",
      "delivery_estimate_invalid_postal_code": "Saisis un code postal valide",
      "delivery_contribution_title": "Participation livraison",
      "delivery_contribution_percent": "{{percent}}%",
      "delivery_contribution_cta": "Demander cette participation",
      "delivery_contribution_cart_notice": "La demande est envoyée directement au vendeur pour la quantité choisie. Si vous devez vous connecter, votre intention sera conservée pendant 24 h sur cet appareil avant l’ouverture de la conversation.",
      "delivery_contribution_seller_covers": "Le vendeur prend déjà en charge les frais de livraison : aucune demande de participation n’est nécessaire.",
      "delivery_contribution_message": "Je demande {{percent}}% de participation pour la livraison.",
      "reviews_title": "Avis",
      "review_rating": "Note {{rating}}/5",
      "categories_title": "Catégories",
      "similar_title": "Annonces similaires",
      "view_category": "Voir toute la catégorie",
      "categories_empty": "Aucune catégorie renseignée.",
      "category_names": {
        "chr_chairs_stools": "Chaise et tabouret",
        "chr_chairs_stools_high": "Chaise et tabouret haut",
        "grand_distribution_kitchen_complete_line": "Linéaire de cuisine complet",
        "retail_checkout_counter": "Comptoir caisse",
        "pharmaceutical_checkout_counter": "Comptoir caisse",
        "office": "Mobilier de bureau",
        "office_desks": "Bureaux",
        "office_desks_simple": "Bureaux rectangulaires",
        "office_desks_bench": "Bench",
        "office_desks_return": "Bureaux d’angle et avec retour",
        "office_tables": "Tables",
        "office_tables_standard": "Standard",
        "office_tables_meeting": "Réunion",
        "office_tables_round": "Table ronde",
        "office_tables_high": "Hautes",
        "office_tables_low": "Basses",
        "office_storage": "Rangements",
        "office_storage_high_cabinets": "Armoires hautes",
        "office_storage_low_cabinets": "Armoires basses",
        "office_storage_mobile_pedestals": "Caisson mobile",
        "office_storage_credence": "Crédence",
        "office_storage_lockers": "Lockers",
        "office_storage_cargo_pedestals": "Caissons cargo",
        "office_reception_counter": "Banque d'accueil",
        "office_seating": "Assises",
        "office_seating_work_chairs": "Fauteuil de travail",
        "office_seating_chairs": "Chaises",
        "office_seating_high_chairs": "Chaises et tabourets hauts",
        "office_seating_lounge": "Fauteuil lounge",
        "office_seating_waiting": "Chauffeuse",
        "office_seating_sofas": "Canapé",
        "office_seating_poufs": "Poufs",
        "office_seating_footrests": "Repose-pied",
        "office_seating_benches": "Bancs",
        "office_acoustic": "Acoustique",
        "office_acoustic_booth_1": "Cabine 1 place",
        "office_acoustic_booth_2": "Cabine 2 places",
        "office_acoustic_booth_3": "Cabine 3 places",
        "office_acoustic_booth_4_plus": "Cabine 4 places et plus",
        "office_acoustic_cell": "Cellule acoustique",
        "office_acoustic_freestanding_partition": "Cloison autoportante",
        "office_acoustic_wall_panels": "Pièges muraux",
        "office_acoustic_suspended_panels": "Pièges suspendus",
        "grand_distribution": "Grande distribution",
        "office_kitchen": "Mobilier de cuisine",
        "grand_distribution_kitchen_tables": "Tables",
        "grand_distribution_kitchen_table_central_wall": "Table centrale ou adossée",
        "grand_distribution_kitchen_table_bakery": "Table de boulangerie",
        "grand_distribution_kitchen_table_butcher": "Table de boucherie",
        "grand_distribution_kitchen_table_fishmonger": "Table de poissonnerie",
        "grand_distribution_kitchen_sink": "Plonge",
        "grand_distribution_kitchen_storage": "Rangements",
        "grand_distribution_kitchen_storage_standard": "Meuble standard",
        "grand_distribution_kitchen_storage_low": "Meuble surbaissé",
        "grand_distribution_kitchen_storage_drawers_bin_block": "Meuble avec tiroirs, poubelle, billot",
        "grand_distribution_kitchen_storage_refrigerated": "Meuble avec compartiment réfrigéré",
        "grand_distribution_kitchen_carts": "Chariots / échelles",
        "grand_distribution_kitchen_cart_rack_glides": "Chariots échelles à glissières",
        "grand_distribution_kitchen_cart_rack_dough": "Chariots échelles à pâtons",
        "grand_distribution_kitchen_cart_platform": "Chariot plateforme",
        "grand_distribution_kitchen_cart_service": "Chariot desserte",
        "grand_distribution_kitchen_rolling_shelves": "Étagères roulantes",
        "grand_distribution_kitchen_cart_butcher": "Chariot de boucherie",
        "grand_distribution_kitchen_cart_caterer_rotisserie": "Chariot traiteur / rôtisserie",
        "grand_distribution_kitchen_shelving": "Rayonnage de stockage alimentaire",
        "grand_distribution_butcher": "Boucherie",
        "grand_distribution_butcher_maturation_cabinet": "Armoires de maturation",
        "grand_distribution_fishmonger": "Poissonnerie",
        "grand_distribution_fishmonger_stall": "Étals",
        "grand_distribution_caterer_rotisserie": "Traiteur / rôtisserie",
        "grand_distribution_caterer_cold_display": "Vitrines froides",
        "grand_distribution_caterer_hot_display": "Vitrines chaudes",
        "grand_distribution_caterer_animation_display": "Vitrine d'animation",
        "grand_distribution_caterer_professional_rotisserie": "Rôtissoire professionnelle gaz / électrique",
        "grand_distribution_sales_floor": "Surface de vente",
        "grand_distribution_sales_shelving": "Rayonnages",
        "grand_distribution_sales_shelving_wall": "Mural",
        "grand_distribution_sales_shelving_central": "Central",
        "grand_distribution_sales_shelving_end": "D'extrémité",
        "grand_distribution_sales_shelving_specific": "Spécifique",
        "grand_distribution_sales_shelving_refrigerated": "Frigorifique",
        "grand_distribution_checkout": "Caisse",
        "grand_distribution_checkout_classic": "Caisse classique",
        "grand_distribution_checkout_self_service": "Caisse libre-service",
        "grand_distribution_reception_flow": "Accueil et flux",
        "grand_distribution_reception_entry_gate": "Portique d'entrée",
        "grand_distribution_reception_collision_barrier": "Arceaux de protection anti-collisions",
        "grand_distribution_reception_swing_gate": "Portillon",
        "grand_distribution_reception_guide_rail": "Rail de guidage",
        "grand_distribution_reception_guidance_system": "Système de guidage",
        "chr": "HCR",
        "chr_tables": "Tables",
        "chr_tables_square": "Carré",
        "chr_tables_rectangular": "Rectangulaire",
        "chr_chairs": "Chaises",
        "chr_chairs_standard": "Chaises",
        "chr_chairs_high": "Chaises hautes",
        "chr_cash_counter": "Comptoir caisse",
        "retail": "Retail",
        "industry": "Industrie",
        "industry_removable_partition": "Cloison amovible",
        "industry_antistatic_workbench": "Table d'atelier antistatique",
        "industry_false_ceiling": "Faux plafond",
        "industry_workshop_stool": "Tabouret d'atelier",
        "industry_shelving": "Rack et rayonnages",
        "partition_ceiling": "Cloison amovible et faux plafond",
        "partition_ceiling_removable_partition": "Cloison amovible",
        "partition_ceiling_false_ceiling": "Faux plafond",
        "pharmaceutical": "Pharmaceutique"
      },
      "category_type_root": "Catégorie principale",
      "category_type_sub": "Sous-catégorie",
      "category_slug": "URL (slug)",
      "category_seo_title": "Title",
      "category_seo_description": "Méta-description",
      "category_seo_h1": "h1",
      "category_seo_h1.placeholder": "Fauteuils de bureau d’occasion",
      "category_description_html": "Description de la page",
      "category_inputs_title": "Inputs de la catégorie",
      "category_inputs_empty": "Aucun input rattaché à cette catégorie.",
      "inputs_title": "Inputs",
      "inputs_empty": "Aucun input renseigné.",
      "input_value_label": "Valeur renseignée",
      "input_booldefault": "Valeur oui/non par défaut",
      "input_empty_value": "Non renseigné",
      "installation_not_applicable": "La mise en place (remontage) ne s’applique pas à cette catégorie : l’équipement est livré sans remontage."
    },
    "favorite": {
      "add": "Ajouter aux favoris",
      "remove": "Retirer des favoris",
      "form": {
        "success": "Favoris mis à jour",
        "unavailable": "Favoris indisponibles",
        "not-allowed": "Connectez-vous pour gérer vos favoris."
      }
    },
    "favorites": {
      "title": "Mes favoris",
      "description": "Retrouvez les offres sauvegardées pour les comparer ou les contacter plus tard.",
      "empty": "Vous n'avez pas encore ajouté d'offre aux favoris."
    },
    "my": {
      "title": "Mes annonces",
      "description": "Retrouvez les offres rattachées à votre entreprise.",
      "empty": "Vous n'avez pas encore créé d'offre.",
      "verify_first": "Votre entreprise et Stripe Connect doivent être vérifiés avant qu'une offre puisse être visible.",
      "public_page": "Page publique",
      "complete_draft": "Finaliser et publier",
      "checkout_title": "Publier, prolonger ou sponsoriser",
      "checkout_description": "Sélectionnez plusieurs actions et payez-les dans une seule session Stripe.",
      "filters_label": "Filtrer mes annonces",
      "filters": {
        "all": "Toutes",
        "published": "Publiées",
        "pending": "En attente",
        "expired": "Expirées"
      },
      "service_cart": {
        "title": "Panier de services",
        "listings_one": "{{count}} annonce",
        "listings_other": "{{count}} annonces",
        "actions_one": "{{count}} action sélectionnée",
        "actions_other": "{{count}} actions sélectionnées",
        "detail": "Détail",
        "collapse": "Réduire",
        "clear": "Vider",
        "recap": "Continuer vers le paiement",
        "loading": "Calcul du total…",
        "mixed_currency": "Les devises différentes sont séparées. Choisissez une seule devise pour continuer.",
        "preview_unavailable": "Impossible de calculer le total : {{error}}",
        "services_for": "Services à ajouter pour {{listing}}",
        "add_action": "Ajouter au panier de services : {{action}} pour {{listing}}",
        "remove_action": "Retirer du panier de services : {{action}} pour {{listing}}",
        "toggle_all_for": "Sélectionner ou retirer tous les services pour {{listing}}"
      }
    },
    "form": {
      "back": "Retour aux annonces",
      "eyebrow": "Nouvelle offre",
      "title": "Déposer une annonce",
      "description": "Ajoutez le nom, le prix, la quantité disponible et l'image principale de l'offre.",
      "time_hint": "5 min pour publier, vendez dès maintenant",
      "section_photos": "Photos",
      "section_details": "Détails du produit",
      "section_condition": "État & quantité",
      "section_price": "Prix",
      "section_delivery": "Livraison & localisation",
      "stepper_label": "Progression de l'annonce",
      "step_progress": "Étape {{current}} sur {{total}}",
      "step_previous": "Précédent",
      "step_next": "Suivant",
      "step_photos_title": "Ajoutez vos meilleures photos",
      "step_photos_description": "Présentez le produit sous plusieurs angles ; la première image sera la couverture.",
      "step_details_title": "Décrivez précisément le produit",
      "step_details_description": "Renseignez les informations qui aideront les acheteurs à le trouver.",
      "step_condition_title": "Indiquez son état et ses dimensions",
      "step_condition_description": "Précisez son état, le stock disponible et ses dimensions.",
      "step_price_title": "Fixez votre prix de vente",
      "step_price_description": "Indiquez le prix hors taxes et les conditions de vente.",
      "step_delivery_title": "Organisez la remise du produit",
      "step_delivery_description": "Choisissez les modes de remise et confirmez l'adresse privée de retrait.",
      "score_title": "Score d'annonce",
      "score_hint": "Plus le score est haut, plus ça se vend vite",
      "quality_checklist": "Checklist qualité",
      "quality_photo": "Au moins 1 photo",
      "quality_photo_count": "4+ photos",
      "quality_title": "Titre détaillé",
      "quality_category": "Catégorie complète",
      "quality_brand_model": "Marque ou modèle",
      "quality_condition": "État du mobilier",
      "quality_price": "Prix défini",
      "quality_delivery": "Mode de livraison",
      "quality_location": "Localisation",
      "category": "Catégorie",
      "category_hint": "Choisissez une catégorie, puis descendez dans ses sous-catégories si nécessaire.",
      "root_category": "Catégorie principale",
      "subcategory": "Sous-catégorie",
      "select_root_category": "Sélectionner une catégorie",
      "select_subcategory": "Sélectionner une sous-catégorie",
      "category_required": "Sélectionnez une catégorie.",
      "mobile_category_progress": "1 / 6 · Catégorie",
      "mobile_category_level": "Niveau {{level}}",
      "mobile_category_root_title": "Dans quel univers se trouve le bien ?",
      "mobile_category_type_title": "Quel type de mobilier ?",
      "mobile_category_subcategory_title": "Précisez la sous-catégorie",
      "mobile_category_root_copy": "On commence large, puis on affine jusqu’à la catégorie finale.",
      "mobile_category_next_copy": "Vous avez choisi {{category}}. Sélectionnez le niveau suivant.",
      "mobile_category_option_children_one": "{{count}} sous-catégorie à préciser",
      "mobile_category_option_children_other": "{{count}} sous-catégories à préciser",
      "mobile_category_empty": "Aucune catégorie disponible à ce niveau.",
      "mobile_category_selected_path": "Catégories sélectionnées",
      "mobile_category_previous_level": "Revenir au niveau précédent",
      "mobile_category_back_to_listings": "Revenir aux annonces",
      "mobile_category_quit": "Quitter",
      "mobile_category_edit": "Modifier",
      "criteria": "Critères",
      "criteria_empty": "Aucun input n'est rattaché aux catégories sélectionnées.",
      "criteria_required": "Renseignez les critères obligatoires.",
      "name": "Titre de l'annonce",
      "name_placeholder": "ex : Fauteuil ergonomique Herman Miller Aeron taille B",
      "name_required": "Le nom de l'offre est obligatoire.",
      "suggest": "Suggérer avec l'IA",
      "brand": "Marque",
      "brand_placeholder": "ex : Herman Miller",
      "model": "Modèle",
      "model_placeholder": "ex : Aeron taille B",
      "space": "Espace",
      "space_placeholder": "Sélectionnez un espace",
      "visible_defects": "",
      "visible_defects_placeholder": "",
      "defects_acknowledgement": "",
      "defects_acknowledgement_required": "",
      "price": "Prix",
      "price_placeholder": "120",
      "price_invalid": "Le prix doit être positif.",
      "unit_price": "Votre prix unitaire",
      "unit_value": "Valeur unitaire du lot",
      "lot_total_price": "Prix total du lot",
      "currency": "Devise",
      "currency_invalid": "Sélectionnez une devise valide.",
      "quantity": "Quantité disponible",
      "quantity_placeholder": "4",
      "quantity_invalid": "La quantité doit être au moins de 1.",
      "is_refurbished": "Produit reconditionné",
      "is_refurbished_hint": "Applique le taux de TVA reconditionné configuré par l'administration.",
      "is_refurbished_hint_with_rates": "Applique le taux de TVA reconditionné ({{refurbishedRate}} au lieu de {{standardRate}}).",
      "sell_as_lot": "Vente par lot uniquement",
      "sell_as_lot_hint": "Obligatoire dès deux articles de même typologie : l’acheteur achète tout le lot. Le prix saisi est le prix total du lot.",
      "condition": "État",
      "condition_hint": {
        "refurbished": "Remis en état par un professionnel.",
        "like_new": "Aucune trace d'usure visible.",
        "very_good": "Légères marques d'usage normales.",
        "good": "Marques visibles mais objet fonctionnel.",
        "used": "Marques importantes, objet utilisé."
      },
      "negotiable": "Prix négociable",
      "negotiable_question": "Prix négociable ?",
      "location": "Localisation",
      "location_city": "Ville",
      "location_city_placeholder": "Paris",
      "location_postal_code": "Code postal",
      "location_postal_code_placeholder": "75001",
      "location_visibility": "Visibilité publique",
      "location_visibility_invalid": "Sélectionnez une visibilité de localisation valide.",
      "location_visibility_values": {
        "city": "Ville et code postal",
        "department": "Département seulement"
      },
      "location_visibility_hints": {
        "city": "L'annonce affichera la ville et le code postal.",
        "department": "L'annonce n'affichera que le département."
      },
      "delivery": "Modes de remise",
      "delivery_hint": "Cochez les options que votre futur acheteur pourra sélectionner",
      "delivery_required": "Sélectionnez au moins un mode de remise.",
      "professional_use_certification": "Je certifie que mon mobilier est dans un état permettant une utilisation professionnelle.",
      "professional_use_certification_required": "Vous devez certifier l’état professionnel du mobilier avant de publier l’annonce.",
      "delivery_pickup": "Retrait sur site",
      "delivery_pickup_hint": "L'acheteur vient le chercher.",
      "delivery_requipa_transport": "Transport Requipa",
      "delivery_requipa_transport_hint": "On gère livraison & installation.",
      "delivery_depot_dropoff": "Dépôt partenaire",
      "delivery_depot_dropoff_hint": "Récupérez votre commande directement au dépôt.",
      "delivery_relay_depot": "Point relais (dépôt DMAX)",
      "delivery_relay_depot_hint": "DMAX enlève le bien chez vous ; l’acheteur peut le retirer au dépôt le plus proche.",
      "delivery_relay_depot_included": "Inclus avec Transport Requipa",
      "seller_covers_delivery_cost": "",
      "seller_covers_delivery_cost_hint": "",
      "pickup_address_title": "Adresse privée de retrait",
      "pickup_address_privacy_hint": "Seule la région sera affichée sur l'annonce.",
      "pickup_address_saved": "Adresse enregistrée",
      "pickup_address_saved_hint": "Région affichée : {{region}}",
      "pickup_address_saved_missing": "Aucune adresse vendeur complète enregistrée.",
      "pickup_address_new": "Nouvelle adresse",
      "pickup_address_new_hint": "Cette adresse reste privée et sert uniquement à la logistique.",
      "pickup_address_line1": "Adresse",
      "pickup_address_line1_placeholder": "12 rue du Réemploi",
      "pickup_address_line2": "Complément d'adresse",
      "pickup_address_line2_placeholder": "Bâtiment, étage, accès...",
      "pickup_postal_code": "Code postal",
      "pickup_postal_code_placeholder": "75001",
      "pickup_city": "Ville",
      "pickup_city_placeholder": "Paris",
      "pickup_region": "Région",
      "pickup_region_placeholder": "Île-de-France",
      "pickup_country": "Pays",
      "pickup_country_placeholder": "FR",
      "pickup_address_required": "Renseignez une adresse de retrait complète avec région.",
      "pickup_access_information": "Informations d’accès au retrait",
      "pickup_access_information_hint": "Ces informations aident le transporteur à préparer l’enlèvement.",
      "pickup_is_upper_floor": "Retrait à un étage au-dessus du RDC",
      "pickup_is_upper_floor_hint": "Activez si le meuble est à un étage au-dessus du RDC.",
      "pickup_upper_floor": "Étage supérieur",
      "pickup_ground_floor": "RDC",
      "pickup_has_elevator": "Ascenseur disponible",
      "pickup_has_elevator_hint": "Activez si un ascenseur est disponible.",
      "pickup_has_specific_parking": "Parking privé disponible",
      "pickup_has_specific_parking_hint": "Activez si un parking privé est disponible.",
      "pickup_logistics_notes": "Informations complémentaires transport",
      "pickup_logistics_notes_placeholder": "Informations d'accès pour l'enlèvement. Saisissez « Aucune » si sans objet.",
      "recommended": "Recommandé",
      "dimensions": "Dimensions",
      "dimension_x": "Largeur (cm)",
      "dimension_y": "Profondeur (cm)",
      "dimension_z": "Hauteur (cm)",
      "dimension_placeholder": "0",
      "dimensions_invalid": "Les dimensions doivent être des nombres positifs.",
      "work_chair_dimension_help": "Pour un fauteuil de travail, mesurez la hauteur avec l’assise réglée au minimum.",
      "picture": "Images",
      "picture_cta": "Cliquez ou glissez-déposez vos images",
      "picture_hint": "JPG ou PNG, 5 Mo maximum par image.",
      "picture_cover_hint": "La 1ère photo est utilisée comme couverture. Format paysage recommandé.",
      "picture_count_one": "{{count}} image sélectionnée",
      "picture_count_other": "{{count}} images sélectionnées",
      "picture_cover": "Couverture",
      "picture_cover_action": "Définir en couverture",
      "picture_remove": "Retirer {{name}}",
      "photo_tip": "Astuce : 4 photos minimum pour vendre 2x plus vite.",
      "origin_invoice": "Facture d'origine (facultatif)",
      "origin_invoice_cta": "Ajouter un PDF ou une photo",
      "bottom_cta": "Vendez votre mobilier professionnel en 5 min.",
      "submit": "Publier l'annonce",
      "save_draft": "Enregistrer en brouillon",
      "save_paid_edit": "Enregistrer les modifications",
      "saving_paid_edit": "Enregistrement...",
      "submitting": "Création...",
      "validation_error": "Veuillez compléter ou corriger : {{fields}}.",
      "pickup_floor": "Étage de l’enlèvement"
    }
  },
  "messages": {
    "transport_requipa": "Transport Requipa",
    "transport_to_seller": "Transport Requipa → {{seller}}",
    "load_failed": "Impossible de charger les messages : {{error}}",
    "empty_title": "Aucune discussion pour le moment",
    "empty_description": "Contactez un vendeur depuis une offre pour ouvrir une conversation interne sans exposer d'email ou de téléphone.",
    "list_title": "Discussions",
    "list_description": "Acheteur ou vendeur, tout est regroupé ici.",
    "search_label": "Rechercher des discussions",
    "search_placeholder": "Rechercher par participant, entreprise, offre ou message",
    "search_empty": "Aucune discussion correspondante",
    "select_title": "Sélectionnez une discussion",
    "select_description": "Ouvrez une conversation pour consulter l'historique, voir la présence en ligne et envoyer un message.",
    "no_message": "Aucun message",
    "no_message_title": "La discussion est prête",
    "no_message_description": "Envoyez un premier message texte, une photo ou un fichier au vendeur.",
    "buyer_fallback": "Acheteur",
    "seller_fallback": "Vendeur",
    "sender_fallback": "Contact",
    "recipient_fallback": "Destinataire",
    "preview_sent_to": "Envoyé à {{name}} : {{message}}",
    "preview_received_from": "Reçu de {{name}} : {{message}}",
    "preview_between": "{{sender}} → {{recipient}} : {{message}}",
    "admin_conversation_title": "{{buyer}} ↔ {{seller}}",
    "me": "Moi",
    "online": "En ligne",
    "offline": "Hors ligne",
    "typing": "{{name}} écrit...",
    "back_to_list": "Retour aux discussions",
    "today": "Aujourd’hui",
    "yesterday": "Hier",
    "preview_mine": "Vous : {{message}}",
    "preview_from": "{{name}} : {{message}}",
    "read_receipt": "Lu",
    "sent_receipt": "Envoyé",
    "composer_label": "Message",
    "composer_placeholder": "Écrire un message",
    "attach_file": "Joindre un fichier",
    "remove_attachment": "Retirer la pièce jointe",
    "attachment": "Pièce jointe",
    "send": "Envoyer",
    "read_only": "Consultation admin en lecture seule. Les échanges restent entre l'acheteur et le vendeur.",
    "socket_unavailable": "Temps réel indisponible. Les messages restent envoyés et seront visibles au rafraîchissement.",
    "form": {
      "success": "Message envoyé",
      "unavailable": "Messagerie indisponible",
      "not-allowed": "Connectez-vous pour envoyer un message."
    },
    "socket": {
      "success": "Connexion temps réel prête",
      "unavailable": "Connexion temps réel indisponible"
    },
    "email_status": {
      "pending": "Notification email en cours",
      "sent": "Notification email envoyée",
      "failed": "Notification email non envoyée"
    },
    "request": {
      "draft_label": "Demande de participation à la livraison : {{percent}} %",
      "delivery_contribution_title": "Participation aux frais de livraison : {{percent}} %",
      "accept": "Accepter",
      "refuse": "Refuser",
      "status": {
        "pending": "En attente de la réponse du vendeur",
        "accepted": "Demande acceptée",
        "refused": "Demande refusée"
      }
    },
    "reservation": {
      "title": "Réservation de l’annonce",
      "available": "Annonce disponible",
      "available_description": "Le vendeur peut réserver cette annonce pour cet échange.",
      "reserved": "Annonce réservée",
      "reserved_description": "Seul l’acheteur de cette conversation peut l’acheter au prix affiché ou négocié.",
      "reserve": "Réserver pour cet acheteur",
      "cancel": "Annuler la réservation",
      "add_to_cart": "Ajouter au panier",
      "make_offer": "Faire une offre",
      "adding": "Ajout…",
      "saving": "Enregistrement…",
      "form": "Réservation",
      "sold": "Annonce vendue",
      "sold_description": "Cette annonce a été vendue : elle ne peut plus être réservée ni achetée.",
      "unavailable": "Annonce indisponible",
      "unavailable_description": "Cette annonce n’est plus proposée à la vente."
    },
    "system": {
      "pickup_instructions": "Vente confirmée. Lors de l’enlèvement, tous les équipements doivent être déconnectés de tout circuit d’eau et électrique.",
      "pickup_instructions_preview": "Requipa : déconnecter les équipements de l’eau et de l’électricité avant l’enlèvement"
    }
  },
  "messageDelivery": {
    "sending": "Envoi en cours…",
    "sent": "Message envoyé",
    "error": "Échec de l’envoi"
  },
  "supportTickets": {
    "title": "Support",
    "load_failed": "Impossible de charger les tickets support : {{error}}",
    "list_title": "Tickets",
    "list_description": "Vos demandes au support Requipa.",
    "admin_list_description": "Tickets ouverts par les clients, vendeurs et transporteurs.",
    "me": "Moi",
    "order_context": "Commande {{reference}}",
    "requester": "{{name}} · {{role}}",
    "requester_fallback": "Demandeur",
    "status_label": "Statut",
    "messages_empty": "Aucun message dans ce ticket.",
    "closed_notice": "Ce ticket est fermé. Un admin peut le rouvrir si nécessaire.",
    "back_to_list": "Retour aux tickets",
    "reply_label": "Réponse au support",
    "reply_placeholder": "Répondre au support",
    "reply_submit": "Envoyer la réponse",
    "attach_file": "Ajouter une pièce jointe",
    "remove_attachment": "Retirer la pièce jointe",
    "attachment": "Pièce jointe",
    "attachment_hint": "Images ou PDF, 5 fichiers maximum.",
    "sender": {
      "requester": "Demandeur",
      "admin": "Support"
    },
    "requester_role": {
      "user": "Client",
      "buyer": "Acheteur",
      "seller": "Vendeur",
      "transporter": "Transporteur"
    },
    "status": {
      "open": "Ouvert",
      "in_progress": "En cours",
      "resolved": "Résolu",
      "closed": "Fermé"
    },
    "type": {
      "general": "Contact support",
      "order_dispute": "Litige commande",
      "transporter_problem": "Problème transport"
    },
    "create": {
      "title": "Contacter le support",
      "description": "Expliquez votre demande. L'équipe support vous répondra dans ce fil.",
      "subject_label": "Sujet",
      "subject_placeholder": "Sujet de votre demande",
      "message_label": "Message",
      "message_placeholder": "Décrivez votre besoin",
      "submit": "Envoyer au support",
      "sending": "Envoi..."
    },
    "empty": {
      "title": "Aucun ticket support",
      "description": "Vos demandes au support apparaîtront ici."
    },
    "select": {
      "title": "Sélectionnez un ticket",
      "description": "Ouvrez un ticket pour consulter l'historique et répondre."
    },
    "form": {
      "success": "Ticket support envoyé",
      "unavailable": "Support indisponible",
      "not-allowed": "Connectez-vous pour contacter le support."
    }
  },
  "cart": {
    "open": "Ouvrir le panier",
    "breadcrumb_label": "Fil d'Ariane panier",
    "eyebrow": "Commande",
    "title": "Panier",
    "description": "Vérifiez les offres, ajustez les quantités et payez chaque groupe dans sa devise exacte.",
    "buyer_verification_required": "Votre entreprise doit être vérifiée par Requipa avant le paiement.",
    "buyer_verification_action": "Faire vérifier mon entreprise",
    "menu_title": "Panier",
    "menu_count_one": "{{count}} article",
    "menu_count_other": "{{count}} articles",
    "line_summary": "{{quantity}} × {{price}}",
    "line_product_quantity": "{{quantity}} x {{product}}",
    "more_items_one": "+ {{count}} autre article",
    "more_items_other": "+ {{count}} autres articles",
    "empty": "Votre panier est vide.",
    "view": "Voir le panier",
    "validate": "Valider",
    "validating": "Validation...",
    "add": "Ajouter",
    "adding": "Ajout...",
    "add_success": "Offre ajoutée au panier.",
    "delivery_contribution_resume_adding": "Nous ajoutons la quantité demandée au panier avant de reprendre votre demande de participation.",
    "delivery_contribution_resume_cart_failed": "Impossible de restaurer la quantité demandée pour le moment. Votre intention reste conservée pendant 24 h ; actualisez le panier pour réessayer.",
    "delivery_contribution_resume_needs_address_quote": "Votre intention reste conservée pendant 24 h. Renseignez l’adresse de livraison puis obtenez le devis définitif de ce vendeur avant de vérifier et confirmer la demande de participation.",
    "unavailable": "Cette offre n'est pas disponible à l'achat.",
    "negotiated_offer": "Offre négociée",
    "negotiated_price_expires": "Prix négocié valable jusqu’au {{date}}.",
    "negotiated_quantity_locked": "Quantité verrouillée par l’offre acceptée",
    "negotiated_price_expired": "Ce prix négocié a expiré.",
    "negotiated_price_expired_alert": "Un prix négocié a expiré. Retirez l’article concerné ou ouvrez sa fiche pour recommencer une négociation avant de payer.",
    "return_to_offer": "Revenir à l’offre",
    "quantity": "Quantité",
    "decrease": "Réduire la quantité",
    "increase": "Augmenter la quantité",
    "remove": "Retirer du panier",
    "delivery_mode_title": "Mode de remise",
    "delivery_mode_requipa_transport": "Transport Requipa",
    "delivery_mode_pickup": "Retrait chez le vendeur",
    "continue_shopping": "Continuer les achats",
    "items_title": "Articles",
    "summary_title": "Récapitulatif",
    "items_count": "Articles",
    "products_total": "Sous-total produits",
    "products_total_excluding_tax": "Produits HT",
    "tax_total": "TVA",
    "products_total_including_tax": "Produits TTC",
    "service_fee": "Frais de service",
    "payment_fee": "Frais de service",
    "total": "Total",
    "payment_method_title": "Moyen de paiement",
    "buyer_currency_title": "Devise de paiement",
    "payment_method_hint": "Apple Pay peut apparaître dans Stripe Checkout selon l'appareil, le navigateur et la carte utilisée.",
    "payment_price_updating": "Mise à jour du prix...",
    "payment_method_fee": "Frais de service : {{percent}} % · {{amount}}",
    "payment_method_fee_pending": "Frais de service calculés avec le total final.",
    "payment_method_unavailable_currency": "Disponible uniquement en {{currencies}}",
    "checkout_success": "Commande validée. Elle est maintenant visible dans la liste des commandes.",
    "logistics_title": "Livraison",
    "delivery_address_title": "Adresse de livraison",
    "billing_address_title": "Adresse de facturation",
    "billing_company_name": "Nom de l’entreprise (facturation)",
    "billing_company_name_placeholder": "Nom figurant sur la facture",
    "billing_same_as_delivery": "Identique à l’adresse de livraison",
    "address_contact_name": "Nom ou société",
    "address_contact_name_placeholder": "Nom du destinataire ou de la société",
    "address_contact_phone": "Téléphone",
    "address_contact_phone_placeholder": "06 12 34 56 78",
    "address_line1": "Adresse",
    "address_line1_placeholder": "Numéro et voie",
    "address_line2": "Complément d’adresse",
    "address_line2_placeholder": "Bâtiment, étage…",
    "address_postal_code": "Code postal",
    "address_postal_code_placeholder": "75001",
    "address_city": "Ville",
    "address_city_placeholder": "Paris",
    "address_country": "Pays",
    "address_country_placeholder": "FR",
    "delivery_address_saved_label": "Adresse du panier",
    "delivery_address_new": "Utiliser une autre adresse",
    "delivery_address_edit": "Modifier",
    "delivery_address_complete": "Compléter",
    "delivery_address_default": "Principale",
    "delivery_address_incomplete": "À compléter",
    "delivery_address_save": "Enregistrer cette adresse",
    "delivery_address_update": "Mettre à jour cette adresse",
    "delivery_address_saving": "Enregistrement...",
    "delivery_address_saved": "Adresse de livraison enregistrée.",
    "delivery_address_missing": "Renseignez le nom, l’adresse, un code postal valide et la ville.",
    "delivery_address_save_failed": "Impossible d'enregistrer cette adresse.",
    "delivery_address_load_failed": "Adresses enregistrées indisponibles.",
    "delivery_contact_phone": "Téléphone de suivi",
    "delivery_contact_phone_placeholder": "06 12 34 56 78",
    "delivery_address_line1": "Adresse de livraison",
    "delivery_address_line2": "Complément d'adresse",
    "delivery_postal_code": "Code postal",
    "delivery_city": "Ville",
    "access_constraints": "Contraintes d'accès",
    "total_volume_m3": "Volume m3",
    "distance_km": "Distance km",
    "delivery_breakdown_title": "Frais de livraison",
    "delivery_provider": "Transporteur : {{provider}}",
    "delivery_estimate_pending": "Calcul...",
    "delivery_estimate_unavailable": "Frais de livraison indisponibles pour cette adresse",
    "delivery_enter_postal_code": "Renseignez le code postal pour calculer la livraison.",
    "delivery_postal_code_required": "Renseignez un code postal de livraison valide.",
    "delivery_line_amount": "{{price}}",
    "delivery_line_details": "{{quantity}} article(s) · {{volume}} m3 · {{distance}} km",
    "delivery_line_details_quantity": "{{quantity}} article(s)",
    "delivery_line_details_quantity_distance": "{{quantity}} article(s) · {{distance}} km",
    "delivery_quote_minimum": "Minimum transporteur : {{amount}}",
    "delivery_paid_by_seller": "Pris en charge par le vendeur",
    "delivery_buyer_total": "Livraison à payer (TTC)",
    "delivery_excluding_tax": "Livraison HT",
    "delivery_tax": "TVA livraison ({{rate}} %)",
    "delivery_seller_total": "Pris en charge vendeur",
    "sold_by": "Vendu par",
    "seller_subtotal": "Sous-total vendeur",
    "group_delivery": "Livraison de ce vendeur",
    "logistics_quote_stale": "Le prix de livraison doit être recalculé.",
    "delivery_quote_refresh": "Actualiser le prix de livraison",
    "payment_single_checkout_one": "Un paiement unique pour {{count}} vendeur.",
    "payment_single_checkout_other": "Un paiement unique pour {{count}} vendeurs.",
    "pay_amount": "Payer {{amount}}",
    "resume_payment": "Reprendre le paiement",
    "card_payment_notice": "Paiement sécurisé par carte. Vous serez redirigé vers Stripe pour finaliser la commande.",
    "klarna_payment_notice": "Paiement en 4 fois sans frais via Klarna, sous réserve d’éligibilité.",
    "payment_method_description": "Choisissez le moyen qui sera utilisé dans Stripe. Le total est actualisé après chaque choix.",
    "payment_method_unavailable": "Le moyen de paiement sélectionné n’est plus disponible pour ce panier. Choisissez une option disponible pour continuer.",
    "payment_method_resume_frozen": "Ce moyen de paiement est figé pour la tentative Stripe en cours.",
    "bank_transfer_option_notice_one": "Vous disposerez de {{count}} jour après l’affichage des instructions Stripe pour effectuer le virement. Les produits resteront réservés pendant ce délai.",
    "bank_transfer_option_notice_other": "Vous disposerez de {{count}} jours après l’affichage des instructions Stripe pour effectuer le virement. Les produits resteront réservés pendant ce délai.",
    "bank_transfer_summary_title": "Avant de continuer par virement",
    "bank_transfer_summary_amount": "Montant à virer : {{amount}}",
    "bank_transfer_summary_delay_one": "Vous aurez {{count}} jour après l’affichage des instructions Stripe pour effectuer le virement.",
    "bank_transfer_summary_delay_other": "Vous aurez {{count}} jours après l’affichage des instructions Stripe pour effectuer le virement.",
    "bank_transfer_summary_action": "Après avoir récupéré les instructions Stripe, vous devrez lancer le virement depuis votre banque.",
    "bank_transfer_summary_reservation_one": "Les produits resteront réservés pendant {{count}} jour, jusqu’au paiement ou à l’échéance.",
    "bank_transfer_summary_reservation_other": "Les produits resteront réservés pendant {{count}} jours, jusqu’au paiement ou à l’échéance.",
    "bank_transfer_summary_shipping": "L’expédition ne commencera qu’après réception effective des fonds.",
    "resume_contract_title": "Paiement déjà préparé",
    "resume_contract_notice": "Le montant et l’adresse ci-dessous restent figés pour reprendre exactement ce paiement.",
    "resume_contract_dirty": "L’adresse a été modifiée. Actualisez le total avant de créer un nouveau paiement.",
    "refresh_current_total": "Actualiser le total",
    "unit_price_excluding_tax": "{{price}} HT l’unité",
    "lot_total_price": "Prix total du lot : {{price}} HT",
    "open_offer": "Ouvrir l’annonce {{item}}",
    "payment_method_rate": "Frais de service : {{percent}} %",
    "group": {
      "seller": "Vendeur",
      "items_count_one": "{{count}} article",
      "items_count_other": "{{count}} articles",
      "group_subtotal": "Sous-total vendeur",
      "buyer_total": "Total pour ce vendeur",
      "service_fee_allocation": "Frais de service alloués à ce vendeur",
      "logistics_title": "Livraison pour ce vendeur",
      "logistics_total": "Frais de livraison",
      "platform_share": "Participation Requipa",
      "estimate": "Calculer la livraison",
      "refresh_estimate": "Recalculer la livraison",
      "retry_estimate": "Réessayer le calcul",
      "estimate_loading": "Calcul de la livraison...",
      "estimate_ready": "Estimation de livraison disponible",
      "public_price": "Prix de livraison calculé depuis la grille contractuelle",
      "refresh_seller": "Actualiser le vendeur",
      "refresh_seller_aria": "Actualiser les informations vendeur pour {{item}}",
      "price_stale": "Le prix de livraison doit être recalculé.",
      "price_required": "Calculez le prix de livraison avant de payer.",
      "pickup_only": "Retrait chez le vendeur — aucun frais de logistique.",
      "checkout": "Continuer vers le paiement",
      "checkout_disabled": "Le paiement est momentanément indisponible.",
      "checkout_preview_unavailable": "Impossible d’actualiser les montants du paiement.",
      "checkout_preview_loading": "Actualisation des montants du paiement...",
      "amount_unavailable": "Montant indisponible",
      "refresh_checkout_preview": "Actualiser le récapitulatif",
      "tax_included": "dont TVA {{amount}}"
    },
    "form": {
      "success": "Panier mis à jour",
      "unavailable": "Panier indisponible",
      "not-allowed": "Connectez-vous pour gérer votre panier."
    },
    "checkout_currency": "Paiement {{currency}}",
    "checkout_sellers_one": "{{count}} vendeur concerne",
    "checkout_sellers_other": "{{count}} vendeurs concernes",
    "pay_currency": "Payer en {{currency}}",
    "choose_currency": "Choisir la devise",
    "line_total_excluding_tax": "{{price}} HT",
    "menu_total": "Total HT",
    "delivery_options": {
      "title": "Livraison et services",
      "mode_legend": "Mode de livraison",
      "mode_address": "Livraison à mon adresse",
      "mode_depot": "Récupération au dépôt DMAX le plus proche",
      "mode_pickup": "Retrait chez le vendeur",
      "pickup_hint": "Vous récupérez le bien chez le vendeur : aucun frais de logistique.",
      "floor": "Étage",
      "elevator": "Ascenseur",
      "private_parking": "Parking privé",
      "depot_loading": "Recherche du dépôt…",
      "depot_missing": "Aucun dépôt partenaire ne couvre cette adresse : choisissez la livraison à l’adresse.",
      "storage_terms_accept": "J’ai lu et j’accepte les",
      "storage_terms_link": "conditions générales de stockage de DMAX",
      "depot_free_days_one": "Votre commande reste disponible au dépôt pendant {{count}} jour ouvré gratuitement ; au-delà, le stockage est facturé {{price}} HT par m³ et par jour.",
      "depot_free_days_other": "Votre commande reste disponible au dépôt pendant {{count}} jours ouvrés gratuitement ; au-delà, le stockage est facturé {{price}} HT par m³ et par jour.",
      "services_legend": "Services",
      "dismantling": "Démontage chez le vendeur",
      "dismantling_included": "Toujours inclus.",
      "routing": "Acheminement",
      "routing_included": "Toujours inclus.",
      "reassembly": "Remontage à la livraison",
      "reassembly_depot": "Non disponible en récupération au dépôt.",
      "reassembly_included": "Toujours inclus pour une livraison à votre adresse.",
      "services_hint": "Certaines catégories (cloisons, faux plafonds, pièges acoustiques) sont livrées sans remontage."
    },
    "refurbished_vat_notice": "La TVA s’applique aux produits reconditionnés ; le mobilier d’occasion n’en porte pas."
  },
  "orders": {
    "load_failed": "Impossible de charger les commandes : {{error}}",
    "empty": "Aucune commande pour le moment.",
    "reference": "Commande {{id}}",
    "total": "Total",
    "delivery_fee": "Frais de livraison",
    "line": "{{quantity}} × {{unitPrice}} = {{linePrice}}",
    "line_lot": "Lot de {{quantity}} · {{linePrice}}",
    "report_dispute": "Signaler un litige",
    "report_placeholder": "Décrivez le problème rencontré sur cette commande.",
    "report_subject": "Litige commande {{reference}}",
    "report_send": "Envoyer le signalement",
    "report_sending": "Envoi...",
    "status": {
      "cart": "Panier en cours",
      "finished": "Validée",
      "reserved": "Réservée",
      "checkout_pending": "Paiement en cours",
      "paid": "Payée",
      "failed": "Échouée",
      "expired": "Expirée",
      "cancelled": "Annulée"
    },
    "tracking": {
      "title": "Suivi de commande",
      "group_title": "Vendeur : {{seller}}",
      "seller_unknown": "Vendeur",
      "group_unavailable": "Le suivi détaillé par vendeur n’est pas disponible pour cette commande.",
      "current_status": "Statut : {{status}}",
      "updated_at": "Mis à jour le {{date}}",
      "open_tracking": "Ouvrir le suivi transport",
      "form": {
        "success": "Suivi mis à jour",
        "unavailable": "Suivi indisponible",
        "not-allowed": "Action non autorisée."
      },
      "timeline": {
        "paid": "Payée",
        "preparing": "Préparation",
        "shipped": "Expédiée",
        "delivered": "Livrée"
      },
      "fulfillment_status": {
        "not_started": "Paiement confirmé",
        "preparing": "En préparation",
        "ready_to_ship": "En préparation",
        "shipped": "Expédiée",
        "in_transit": "En transit",
        "delivered": "Livrée",
        "validated_without_reserve": "Validée sans réserve",
        "reserve_opened": "Réserve ouverte",
        "non_conforming": "Non conforme",
        "completed": "Terminée",
        "cancelled": "Annulée"
      },
      "buyer_validation_status": {
        "not_required": "Non requise",
        "pending": "En attente",
        "validated_without_reserve": "Validée sans réserve",
        "reserve_opened": "Réserve ouverte",
        "non_conforming": "Non conforme"
      },
      "logistics_refund_status": {
        "not_applicable": "Non applicable",
        "refundable": "Remboursable",
        "non_refundable": "Non remboursable"
      },
      "seller_actions": {
        "preparing": "En préparation",
        "shipped": "Expédiée"
      }
    }
  },
  "sellerActivation": {
    "save_and_verify": "Enregistrer le brouillon et vérifier mon entreprise",
    "save_and_setup_payments": "Enregistrer le brouillon et activer les paiements",
    "draft_saved": "Votre brouillon est enregistré. Vous pourrez reprendre votre annonce après la vérification.",
    "resume_draft": "Reprendre mon annonce",
    "title": "Offres non visibles pour le moment",
    "description": "Vos offres ne peuvent être visibles qu'après validation de votre entreprise et activation complète de Stripe Connect.",
    "company_required": "Entreprise à vérifier",
    "company_verified": "Entreprise vérifiée",
    "stripe_required": "Stripe Connect à finaliser",
    "stripe_verified": "Stripe Connect vérifié"
  },
  "transporter": {
    "dashboard": {
      "form": {
        "success": "Tableau de bord chargé",
        "unavailable": "Tableau de bord indisponible",
        "not-allowed": "Action non autorisée."
      },
      "eyebrow": "Pilotage opérationnel",
      "title": "Tableau de bord transporteur",
      "description": "Suivez les livraisons réalisées, le volume, les montants contractuels et les actions prioritaires.",
      "period": "Période",
      "date_from": "Du",
      "date_to": "Au",
      "currency": "Devise",
      "apply": "Appliquer",
      "loading": "Chargement des indicateurs",
      "load_failed": "Impossible de charger l’activité.",
      "invalid_custom": "La période personnalisée est invalide. Le mois courant est affiché.",
      "metric_empty": "Aucune activité",
      "metric_unknown": "Indisponible",
      "previous_period": "Période précédente",
      "comparison_new": "Nouveau",
      "comparison_value": "{{value}} · {{delta}}",
      "section_unavailable": "Ces données sont temporairement indisponibles.",
      "presets": {
        "current_month": "Mois en cours",
        "last_7_days": "7 derniers jours",
        "last_30_days": "30 derniers jours",
        "previous_month": "Mois précédent",
        "current_quarter": "Trimestre en cours",
        "custom": "Période personnalisée"
      },
      "metrics": {
        "delivered_volume": "Volume livré",
        "order_count": "Commandes livrées",
        "amount": "Montant réalisé TTC",
        "average_price": "Prix moyen"
      },
      "chart": {
        "section_title": "Activité livrée",
        "section_description": "Le volume est représenté par les barres et le montant par la courbe.",
        "title": "Activité livrée par période",
        "description": "Volume livré et montant contractuel pour la devise sélectionnée.",
        "volume_axis": "Volume livré (m³)",
        "amount_axis": "Montant ({{currency}})",
        "point_label": "{{date}} : {{orders}} commandes, {{volume}} m³, {{amount}}",
        "details": "Afficher les données du graphique",
        "table_caption": "Données de l’activité livrée",
        "date": "Date",
        "orders": "Commandes",
        "volume": "Volume (m³)",
        "amount": "Montant ({{currency}})",
        "empty": "Aucune livraison réalisée sur cette période.",
        "unavailable": "Le graphique est indisponible, les indicateurs restent consultables."
      },
      "data_quality": {
        "title": "Qualité des données",
        "undated_delivered": "{{count}} livraison(s) réalisée(s) sans date fiable ne sont pas incluses.",
        "missing_volume": "{{count}} livraison(s) ont un volume manquant ; les volumes concernés restent inconnus.",
        "missing_amount": "{{count}} livraison(s) ont un montant manquant ; les montants concernés restent inconnus."
      },
      "statuses": {
        "title": "Missions actives",
        "empty": "Aucune mission active.",
        "created": "À planifier",
        "quote_accepted": "Devis accepté",
        "pickup_scheduled": "Récupération planifiée",
        "picked_up": "Colis récupéré",
        "in_transit": "En transit",
        "delivery_scheduled": "Livraison planifiée",
        "delivery_failed": "Incident",
        "suffering": "Incident",
        "transport_ordered": "Transport commandé"
      },
      "actions": {
        "title": "Actions du jour",
        "empty": "Aucune action prioritaire aujourd’hui.",
        "incident": "Incident à traiter",
        "overdue": "Échéance dépassée",
        "delivery_today": "Livraison aujourd’hui",
        "pickup_today": "Retrait aujourd’hui",
        "missing_information": "Informations manquantes"
      }
    },
    "quotes": {
      "contact_hint": "Une information manque pour le devis ? Échangez avec le vendeur via Transport Requipa.",
      "contact_seller": "Écrire au vendeur",
      "statuses": {
        "pending": "En attente",
        "reopened": "Rouvert",
        "validated": "Validé"
      },
      "overdue": "Délai dépassé",
      "lot": "Lot",
      "seller": "Vendeur : {{name}}",
      "filters": {
        "status": "Statut",
        "deadline": "Échéance",
        "all_deadlines": "Toutes les échéances",
        "overdue_only": "En retard uniquement",
        "on_time_only": "Dans les délais uniquement",
        "apply": "Appliquer les filtres",
        "statuses": {
          "active": "En attente et rouverts",
          "pending": "En attente",
          "reopened": "Rouverts",
          "validated": "Validés"
        }
      },
      "queue": {
        "title": "Annonces assignées",
        "due": "À chiffrer avant le {{date}}",
        "validated": "Chiffré le {{date}}",
        "empty": "Aucune annonce ne correspond à ces filtres."
      },
      "pagination": {
        "label": "Pages des devis d’annonces",
        "previous": "Précédent",
        "next": "Suivant"
      },
      "detail": {
        "title": "Devis de livraison de l’annonce",
        "select": "Sélectionnez une annonce pour consulter ses informations de livraison."
      },
      "fields": {
        "dimensions": "Dimensions",
        "unit_volume": "Volume unitaire",
        "quantity": "Quantité",
        "pickup": "Lieu d’enlèvement",
        "floor": "Étage",
        "elevator": "Ascenseur",
        "parking": "Stationnement",
        "access_constraints": "Contraintes d’accès",
        "logistics_notes": "Notes logistiques",
        "delivery_options": "Options de livraison",
        "due_at": "Date limite",
        "reopen_reason": "Motif de réouverture",
        "pricing_mode": "Mode de tarification",
        "amount": "Montant HT",
        "amount_per_m3": "Prix au m³ HT",
        "amount_per_km": "Prix par kilomètre HT",
        "minimum_amount": "Minimum de livraison HT",
        "validated_at": "Validé le",
        "handling_title": "Manutention",
        "handling_description": "Le démontage chez le vendeur est toujours inclus : son montant est ajouté à chaque livraison. Le remontage est ajouté quand l’acheteur le demande (pas en récupération au dépôt). Laissez vide si non proposé.",
        "handling_dismantling": "Manutention montage (démontage)",
        "handling_reassembly": "Manutention remontage",
        "handling_unit": "unité"
      },
      "values": {
        "yes": "Oui",
        "no": "Non"
      },
      "delivery_options": {
        "requipa_transport": "Livraison Requipa",
        "pickup": "Retrait par l’acheteur",
        "depot_dropoff": "Dépôt en entrepôt"
      },
      "pricing_modes": {
        "per_unit": "Prix par unité",
        "per_m3": "Prix au m³",
        "per_km": "Prix par kilomètre"
      },
      "formulas": {
        "per_unit": {
          "standard": "Ce tarif s’applique à chaque unité achetée.",
          "lot": "Ce tarif s’applique au lot complet, quel que soit le nombre d’objets physiques qu’il contient."
        },
        "per_m3": {
          "standard": "Le prix final de livraison correspond à ce tarif × le volume unitaire × la quantité achetée.",
          "lot": "Le prix final de livraison correspond à ce tarif × le volume unitaire × le nombre d’objets physiques du lot."
        },
        "per_km": {
          "standard": "Le prix final de livraison est le maximum entre tarif × distance estimée et le minimum transporteur.",
          "lot": "Le prix final du lot est le maximum entre tarif × distance estimée et le minimum transporteur."
        }
      },
      "form": {
        "title": "Fixer le tarif final de livraison",
        "description": "Saisissez le prix au m³. Requipa l’appliquera au volume total commandé pour calculer la livraison dans le panier.",
        "review": "Valider le devis"
      },
      "recap": {
        "title": "Vérifiez votre devis",
        "lot_notice": "Ce lot contient {{quantity}} objets physiques. Le tarif au m³ s’applique au volume total du lot.",
        "back": "Modifier",
        "confirm": "Confirmer",
        "authoritative_notice": "Requipa calcule le montant final de livraison faisant foi lors de la commande de l’acheteur."
      },
      "locked": {
        "title": "Devis de livraison validé",
        "description": "Ce tarif est verrouillé. Seul un administrateur peut rouvrir le devis.",
        "open_listing": "Ouvrir l’annonce publiée"
      },
      "validation": {
        "amount_required": "Renseignez un montant.",
        "amount_positive": "Le montant doit être supérieur à zéro.",
        "amount_invalid": "Renseignez un montant avec deux décimales maximum.",
        "amount_too_large": "Le montant est trop élevé.",
        "minimum_amount_required": "Renseignez un minimum de livraison.",
        "minimum_amount_positive": "Le minimum de livraison doit être supérieur à zéro.",
        "minimum_amount_invalid": "Renseignez un minimum avec deux décimales maximum.",
        "minimum_amount_too_large": "Le minimum de livraison est trop élevé.",
        "pricing_mode_required": "Choisissez un mode de tarification.",
        "refresh_required": "Les données du devis sont incomplètes. Rechargez la page.",
        "success": "Le devis est validé et l’annonce est maintenant publiée.",
        "conflict_refresh": "Les données de l’annonce ont changé. Les dernières informations ont été rechargées ; vérifiez-les avant de renvoyer le devis.",
        "handling_invalid": "Saisissez un montant valide, par exemple 25 ou 25,50."
      }
    },
    "orders": {
      "empty": "Aucune livraison assignée pour le moment.",
      "order_reference": "Commande {{reference}}",
      "address_missing": "Adresse non renseignée",
      "status": "Statut",
      "products_title": "Produits concernés",
      "products_empty": "Aucun produit renseigné pour cette livraison.",
      "image_missing": "Image produit indisponible",
      "quantity_short": "Qté {{count}}",
      "dimensions": "Taille",
      "line_volume": "Volume produit",
      "pickup_address": "Adresse de retrait",
      "pickup_address_missing": "Adresse de l'annonce non renseignée",
      "request_total_volume": "Volume total livraison",
      "delivery_amount": "Somme récupérée pour la livraison (TTC)",
      "mark_delivered": "Marquer comme livrée",
      "delivered_saved": "Livraison confirmée",
      "tracking": {
        "label": "Lien de suivi",
        "placeholder": "https://transporteur.exemple/suivi/…",
        "shared_with_parties": "Ce lien apparaît dans le suivi de commande du vendeur et de l’acheteur. Il est également disponible dans les emails d’expédition et de livraison.",
        "save": "Enregistrer le lien de suivi",
        "saving": "Enregistrement du lien...",
        "saved": "Lien de suivi mis à jour",
        "unavailable": "Aucun lien de suivi renseigné.",
        "invalid_url": "Saisissez un lien de suivi HTTP ou HTTPS valide."
      },
      "missing_information_cta": "Signaler des informations manquantes",
      "missing_information_note": "Informations manquantes",
      "missing_information_placeholder": "Indiquez précisément ce qui manque pour traiter la livraison.",
      "missing_information_save": "Enregistrer",
      "missing_information_saving": "Enregistrement...",
      "missing_information_saved": "Informations manquantes enregistrées",
      "report_problem": "Signaler un problème",
      "report_placeholder": "Décrivez le problème rencontré sur cette livraison.",
      "report_subject": "Problème livraison {{reference}}",
      "report_send": "Envoyer au support",
      "report_sending": "Envoi...",
      "report_sent": "Problème envoyé au support",
      "form": {
        "success": "Livraison mise à jour",
        "unavailable": "Livraison indisponible",
        "not-allowed": "Action non autorisée."
      },
      "list_unavailable": "La liste des livraisons est indisponible.",
      "retry": "Réessayer",
      "empty_active": "Aucune mission active pour le moment.",
      "empty_history": "Aucune mission terminée sur cette période.",
      "empty_filtered": "Aucune livraison ne correspond à vos filtres.",
      "page_out_of_range": "Cette page n’existe plus.",
      "first_page": "Revenir à la première page",
      "results_caption": "Missions de livraison du transporteur",
      "open_detail": "Voir le détail",
      "depot_destination": "Dépôt DMAX {{name}}",
      "item_count_one": "{{count}} article",
      "item_count_other": "{{count}} articles",
      "pickup_short": "Retrait :",
      "delivery_short": "Livraison :",
      "scopes": {
        "active": "Missions actives",
        "history": "Historique"
      },
      "filters": {
        "title": "Filtres",
        "scope": "Vue",
        "search": "Recherche",
        "search_placeholder": "Référence, ville ou contact",
        "pickup_zone": "Zone de retrait",
        "delivery_zone": "Zone de livraison",
        "zone_placeholder": "Ville ou code postal",
        "volume_min": "Volume minimum",
        "volume_max": "Volume maximum",
        "service": "Service",
        "attention": "Attention",
        "date_from": "Du",
        "date_to": "Au",
        "sort_field": "Trier par",
        "sort_direction": "Ordre",
        "limit": "Lignes par page",
        "statuses": "Statuts",
        "all": "Tous",
        "apply": "Appliquer les filtres",
        "show": "Afficher les filtres",
        "hide": "Masquer les filtres",
        "reset": "Réinitialiser les filtres",
        "active_filters": "Filtres actifs",
        "remove_filter": "Retirer {{filter}}",
        "month": "Mois"
      },
      "services": {
        "delivery": "Livraison",
        "dismantling": "Démontage",
        "installation": "Installation",
        "depot_pickup": "Retrait au dépôt"
      },
      "attention": {
        "missing_information": "Informations manquantes",
        "incident": "Incident",
        "none": "Aucune alerte"
      },
      "sort": {
        "scheduled_delivery_at": "Livraison planifiée",
        "updated_at": "Dernière mise à jour",
        "volume": "Volume",
        "amount": "Montant",
        "status": "Statut",
        "asc": "Croissant",
        "desc": "Décroissant"
      },
      "statuses": {
        "created": "À planifier",
        "pickup_scheduled": "Récupération planifiée",
        "picked_up": "Colis récupéré",
        "transport_ordered": "Transport commandé",
        "in_transit": "En transit",
        "delivery_scheduled": "Livraison planifiée",
        "delivery_failed": "Incident",
        "suffering": "Incident",
        "delivered": "Livrée",
        "returned": "Retournée",
        "closed": "Clôturée",
        "cancelled": "Annulée"
      },
      "status_editor": {
        "change_title": "Modifier le statut de livraison",
        "dialog_help": "Vérifiez les informations avant de mettre à jour cette mission.",
        "dialog_titles": {
          "pickup_scheduled": "Planifier la récupération",
          "delivery_scheduled": "Planifier la livraison",
          "suffering": "Signaler un incident",
          "delivered": "Confirmer la livraison"
        },
        "pickup_datetime": "Date et heure de récupération",
        "delivery_datetime": "Date et heure de livraison",
        "incident_note": "Note d’incident",
        "delivered_confirmation": "Je confirme que la livraison {{reference}} est terminée.",
        "confirm": "Mettre à jour le statut",
        "confirm_delivered": "Confirmer la livraison",
        "saving": "Enregistrement...",
        "saved": "Statut de livraison mis à jour.",
        "invalid_datetime": "Choisissez une date et une heure de Paris valides et non ambiguës.",
        "note_required": "Ajoutez une note d’incident."
      },
      "columns": {
        "reference": "Référence",
        "route": "Trajet",
        "dates": "Dates",
        "load": "Charge / volume",
        "services": "Services",
        "price": "Prix / tranche",
        "status": "Statut",
        "attention": "Attention",
        "details": "Détail"
      },
      "summary": {
        "missions": "Missions filtrées",
        "volume": "Volume filtré",
        "amounts": "Montants contractuels par devise",
        "no_amounts": "Aucun montant contractuel",
        "unavailable": "Totaux indisponibles"
      },
      "pagination": {
        "label": "Pages de livraisons",
        "previous": "Précédente",
        "next": "Suivante",
        "page": "Page {{current}} sur {{total}}"
      },
      "detail": {
        "title": "Livraison {{reference}}",
        "route_contacts": "Contacts et adresses",
        "pickup": "Retrait",
        "delivery": "Livraison",
        "windows": "Créneaux planifiés",
        "pickup_window": "Créneau de retrait",
        "delivery_window": "Créneau de livraison",
        "product_photos": "Photos de {{product}}",
        "pickup_access_information": "Informations d’accès au retrait",
        "floor": "Étage",
        "ground_floor": "RDC",
        "upper_floor": "Étage supérieur",
        "elevator": "Ascenseur",
        "elevator_available": "Ascenseur disponible",
        "no_elevator": "Pas d’ascenseur",
        "specific_parking": "Parking spécifique",
        "parking_available": "Disponible",
        "no_specific_parking": "Non disponible",
        "complementary_information": "Informations complémentaires",
        "services_access": "Services et accès",
        "load": "Charge de la mission",
        "distance": "Distance",
        "contract_price": "Prix contractuel et tranches",
        "base_price": "Prix de base",
        "surcharge": "Majoration",
        "final_price": "Prix final",
        "tracking": "Suivi",
        "timeline": "Chronologie",
        "timeline_empty": "Aucun événement de suivi pour le moment.",
        "attachment": "Ouvrir la pièce jointe",
        "actions": "Actions de la mission",
        "open_support": "Ouvrir le ticket support existant",
        "depot_delivery": "Livraison au dépôt DMAX {{name}} (récupération par l’acheteur)",
        "buyer_floor": "Étage acheteur",
        "buyer_elevator": "Ascenseur",
        "buyer_parking": "Parking privé",
        "access_unknown": "Non renseigné",
        "options_title": "Options de l’acheteur incluses dans le prix",
        "options": {
          "dismantling": "Démontage chez le vendeur (toujours inclus)",
          "reassembly": "Remontage chez l’acheteur",
          "delivery_surcharge": "Majoration d’accès à la livraison",
          "reassembly_discount": "Remise sur le remontage"
        }
      },
      "amount_including_tax": "{{amount}} TTC",
      "amount_excluding_tax": "{{amount}} HT",
      "tax": {
        "included": "TTC",
        "excluded": "HT"
      }
    },
    "payouts": {
      "eyebrow": "Stripe Connect",
      "title": "Reversements transport",
      "description": "Suivez les montants de transport libérés par Stripe et le statut du virement bancaire.",
      "empty": "Aucun reversement transport pour le moment.",
      "load_failed": "Impossible de charger les reversements : {{error}}",
      "order_reference": "Commande {{reference}}",
      "address_missing": "Destination non renseignée",
      "metrics": {
        "total": "Total reversements",
        "pending": "En attente",
        "paid": "Payé",
        "failed": "Échoué",
        "count": "{{count}} ligne(s)"
      },
      "columns": {
        "order": "Commande",
        "amount": "Montant TTC",
        "transfer_status": "Transfert Stripe",
        "payout_status": "Virement bancaire",
        "date": "Date",
        "stripe": "Références Stripe"
      },
      "form": {
        "success": "Reversements chargés",
        "unavailable": "Reversements indisponibles",
        "not-allowed": "Action non autorisée."
      }
    },
    "settings": {
      "form": {
        "success": "Réglages transporteur mis à jour",
        "unavailable": "Réglages transporteur indisponibles",
        "not-allowed": "Action non autorisée."
      },
      "top_notice_title": "Compte Stripe transporteur à configurer",
      "top_notice_description": "Finalisez Stripe Connect pour recevoir votre part après livraison confirmée.",
      "top_notice_cta": "Configurer Stripe",
      "stripe_eyebrow": "Reversements transport",
      "stripe_title": "Compte Stripe transporteur",
      "stripe_start": "Configurer Stripe",
      "stripe_resume": "Reprendre la configuration",
      "stripe_manage": "Gérer le compte Stripe",
      "stripe_opening": "Ouverture de Stripe...",
      "stripe_syncing": "Synchronisation du statut Stripe en cours...",
      "stripe_requirements": "Informations demandées par Stripe : {{requirements}}",
      "stripe_status": {
        "not_configured": "Configurez Stripe Connect pour recevoir les reversements transport après livraison confirmée.",
        "pending": "La configuration Stripe est en cours.",
        "restricted": "Stripe demande des informations avant de pouvoir vous reverser les fonds.",
        "enabled": "Votre compte Stripe est prêt pour les reversements transport."
      },
      "rate_grid_eyebrow": "Conditions contractuelles",
      "rate_grid_title": "Grille tarifaire contractuelle",
      "rate_grid_managed": "Gérée par Requipa. Cette grille est en lecture seule dans l’espace transporteur.",
      "rate_grid_provider_inactive": "Le prestataire logistique est inactif. La grille contractuelle reste consultable.",
      "rate_grid_error": "La grille tarifaire contractuelle est indisponible. Les réglages Stripe restent accessibles ci-dessus.",
      "rate_grid_empty": "Aucune tranche tarifaire contractuelle n’est encore configurée.",
      "rate_grid_columns": {
        "label": "Tranche",
        "volume": "Plage de volume",
        "distance": "Plage de distance",
        "price": "Prix / m³",
        "extra": "Supplément / m³ / 200 km",
        "state": "État"
      },
      "rate_grid_state": {
        "active": "Active",
        "inactive": "Inactive"
      }
    }
  },
  "sellerPayments": {
    "load_failed": "Impossible de charger les paiements vendeur : {{error}}",
    "empty": "Aucune commande ne contient encore vos annonces.",
    "buyer_unknown": "Acheteur masqué",
    "report_dispute": "Signaler un litige",
    "report_placeholder": "Décrivez le problème rencontré sur cette vente.",
    "report_subject": "Litige vendeur commande {{reference}}",
    "report_send": "Envoyer le signalement",
    "report_sending": "Envoi...",
    "metrics": {
      "validated": "Commandes validées",
      "pending": "Paniers en cours",
      "orders": "Commandes",
      "pending_release": "Fonds à libérer",
      "transferred": "Net transféré"
    },
    "columns": {
      "order": "Commande",
      "buyer": "Acheteur",
      "status": "Statut",
      "total": "Total vendeur",
      "gross": "Brut",
      "fee": "Commission",
      "deductions": "Déductions",
      "platform_fee": "Frais plateforme",
      "delivery_contribution": "Participation livraison",
      "net": "Net vendeur"
    },
    "connect": {
      "eyebrow": "Stripe Connect",
      "title": "Encaissement vendeur",
      "start": "Activer les paiements",
      "resume": "Reprendre la configuration",
      "enabled": "Paiements activés",
      "manage": "Gérer sur Stripe",
      "opening": "Ouverture de Stripe...",
      "opening_hint": "La page Stripe va s'ouvrir pour continuer la configuration ou gérer vos informations.",
      "syncing": "Synchronisation du statut Stripe en cours...",
      "requirements": "Informations demandées par Stripe : {{requirements}}",
      "form": {
        "success": "Lien Stripe créé",
        "unavailable": "Stripe indisponible",
        "not-allowed": "Action non autorisée."
      },
      "status": {
        "not_configured": "Activez Stripe Connect pour recevoir les paiements de vos ventes.",
        "pending": "La configuration Stripe est en cours.",
        "restricted": "Stripe demande des informations avant de pouvoir encaisser.",
        "enabled": "Paiements activés. Les ventes pourront être transférées après libération admin."
      }
    }
  },
  "promoCode": {
    "form": {
      "create": {
        "title": "Créer un code promotionnel",
        "description": "Créez une remise fixe en euros ou offrez un ou plusieurs services lors du paiement des annonces.",
        "promo_code": "Code promotionnel",
        "promo_code.placeholder": "BIENVENUE10",
        "promo_amount_eur": "Remise en euros",
        "promo_amount_eur.placeholder": "10,00",
        "promo_discount_type": "Type d’avantage",
        "promo_discount_type.placeholder": "Choisir un type d’avantage",
        "promo_discount_type.select.fixed": "Remise en euros",
        "promo_discount_type.select.offered_services": "Services offerts",
        "promo_offers_publication": "Mise en ligne offerte",
        "promo_offers_extension": "Prolongation offerte",
        "promo_offers_sponsorship": "Sponsoring offert",
        "cancel": "Annuler",
        "do": "Créer le code",
        "success": "Code promotionnel créé",
        "unavailable": "Code promotionnel indisponible",
        "not-allowed": "Action non autorisée."
      },
      "update": {
        "title": "Modifier le code promotionnel",
        "description": "Modifiez le code, l’avantage accordé (remise ou services offerts) ou le statut d’activation.",
        "promo_code": "Code promotionnel",
        "promo_code.placeholder": "BIENVENUE10",
        "promo_amount_eur": "Remise en euros",
        "promo_amount_eur.placeholder": "10,00",
        "promo_discount_type": "Type d’avantage",
        "promo_discount_type.placeholder": "Choisir un type d’avantage",
        "promo_discount_type.select.fixed": "Remise en euros",
        "promo_discount_type.select.offered_services": "Services offerts",
        "promo_offers_publication": "Mise en ligne offerte",
        "promo_offers_extension": "Prolongation offerte",
        "promo_offers_sponsorship": "Sponsoring offert",
        "promo_active": "Code actif",
        "cancel": "Annuler",
        "do": "Enregistrer les modifications",
        "success": "Code promotionnel modifié",
        "unavailable": "Code promotionnel indisponible",
        "not-allowed": "Action non autorisée."
      },
      "code": "Code promotionnel",
      "amount_eur": "Remise en euros",
      "discount_type": "Type d’avantage",
      "offers_publication": "Mise en ligne offerte",
      "offers_extension": "Prolongation offerte",
      "offers_sponsorship": "Sponsoring offert"
    }
  },
  "listingPurchase": {
    "eyebrow": "Services d'annonce",
    "title": "Publications et sponsorings",
    "description": "Chaque achat de publication, extension ou sponsoring est suivi comme une ligne séparée.",
    "empty": "Aucun achat de service d'annonce pour le moment.",
    "load_failed": "Impossible de charger les achats d'annonce : {{error}}",
    "reference": "Paiement {{id}}",
    "legacy_service_label": "Service Requipa — {{service}} — {{listing}}",
    "checkout_selected_one": "Payer {{count}} action",
    "checkout_selected_other": "Payer {{count}} actions",
    "checkout_pending": "Préparation du paiement...",
    "payment_method": {
      "title": "Moyen de paiement",
      "description": "Choisissez comment régler les services de vos annonces.",
      "card_label": "Carte bancaire",
      "card_description": "Confirmation immédiate par Stripe.",
      "apple_pay_label": "Apple Pay",
      "apple_pay_description": "Paiement sur Stripe, sous réserve de disponibilité.",
      "klarna_label": "Klarna · 4x sans frais",
      "klarna_description": "Paiement en quatre fois via Klarna, sous réserve d’éligibilité.",
      "bank_transfer_label": "Virement bancaire",
      "bank_transfer_description": "L’annonce reste masquée jusqu’à la réception du virement.",
      "bank_transfer_eur_only": "Le virement bancaire est disponible uniquement pour les paiements en EUR."
    },
    "bank_transfer_pending": {
      "title": "Virement bancaire en attente",
      "description": "Les instructions de virement ont été remises. Les services seront activés après réception effective des fonds.",
      "listing_hidden": "Toute annonce en attente de publication reste invisible jusque-là.",
      "amount": "Montant restant",
      "reference": "Référence du virement",
      "instructions": "Voir les instructions de virement Stripe"
    },
    "activation_blocked": {
      "title": "Paiement reçu, activation suspendue",
      "description": "Le paiement a été reçu, mais aucun service n'a été activé car l'annonce ou le compte vendeur n'est plus éligible. Contactez le support pour vérifier la situation et, si nécessaire, demander un remboursement.",
      "support": "Contacter le support"
    },
    "createRecap": {
      "eyebrow": "Paiement de l'annonce",
      "title": "Récapitulatif avant paiement",
      "description": "Votre annonce est prête. Vérifiez le montant à payer et choisissez les options avant le checkout Stripe.",
      "summary_title": "Annonce renseignée",
      "listing_info_title": "Informations de l'annonce",
      "seller_price": "Prix affiché vendeur (HT)",
      "options_title": "Options de visibilité",
      "options_description": "La publication initiale est incluse. Vous pouvez ajouter une rallonge et du sponsoring au même paiement.",
      "extend_label": "Prolonger mon annonce",
      "sponsor_label": "Booster mon annonce",
      "payment_title": "Montant à payer",
      "service_price": "Total TTC à payer",
      "discount": "Remise promotionnelle",
      "service_fee": "Frais bancaires",
      "promo_title": "Code promotionnel",
      "promo_description": "Appliquez une remise ou débloquez un service offert (mise en ligne, prolongation, sponsoring).",
      "promo_code": "Code promotionnel",
      "promo_placeholder": "EX : BIENVENUE10",
      "promo_apply": "Appliquer",
      "promo_applied": "Code {{code}} appliqué",
      "promo_offered_services": "Offert avec ce code :",
      "offered": "Offert",
      "publication_period": "{{count}} jours à partir de la mise en ligne de l’annonce",
      "extension_period": "+{{count}} jours après la publication initiale",
      "sponsorship_period": "{{count}} jours de mise en avant dans la catégorie dès confirmation du paiement",
      "loading": "Calcul du paiement...",
      "checkout": "Payer et publier",
      "checkout_free": "Publier gratuitement",
      "edit_listing": "Modifier l’annonce",
      "preview_unavailable": "Impossible de calculer le paiement : {{error}}",
      "publication_period_generic": "Période de publication à partir de la mise en ligne de l’annonce",
      "extension_period_generic": "Jours supplémentaires après la publication initiale",
      "sponsorship_period_generic": "Mise en avant dans la catégorie dès confirmation du paiement",
      "amount_excluding_tax": "{{price}} HT",
      "total_excluding_tax": "Total HT",
      "tax_amount": "TVA ({{rate}} %)"
    },
    "metrics": {
      "checkouts_one": "{{count}} paiement",
      "checkouts_other": "{{count}} paiements",
      "paid_one": "{{count}} paiement confirmé",
      "paid_other": "{{count}} paiements confirmés"
    },
    "columns": {
      "checkout": "Paiement",
      "status": "Statut",
      "lines": "Lignes",
      "total": "Total TTC"
    },
    "type": {
      "publication": "Publication",
      "extension": "Prolongation",
      "sponsorship": "Sponsoring"
    },
    "invoice": {
      "download": "Télécharger la facture",
      "opening": "Ouverture de la facture...",
      "number": "Facture n° {{number}}"
    },
    "payment_proof": {
      "download": "Ouvrir le reçu Stripe",
      "opening": "Ouverture de la preuve..."
    },
    "period": "Du {{start}} au {{end}}",
    "action": {
      "publication": "Publier l'annonce",
      "extension": "Prolonger mon annonce",
      "sponsorship": "Mettre en avant mon annonce"
    },
    "delivery_quote": {
      "edit_listing": "Modifier l’annonce",
      "pending": {
        "title": "En attente de la réponse du transporteur",
        "card_description": "Votre annonce payée attend le tarif final de livraison du transporteur.",
        "response_due": "Le transporteur répond sous 72 h. Échéance : {{date}}.",
        "no_extra_payment": "Aucun paiement supplémentaire ne vous sera demandé.",
        "catalogue_hidden": "L’annonce n’est pas encore visible dans le catalogue.",
        "period_not_started": "La période de publication n’a pas encore commencé : elle démarrera à la mise en ligne de l’annonce."
      },
      "suspended": {
        "title": "Publication temporairement suspendue",
        "description": "Les informations de transport ont changé et un nouveau tarif est en attente. L’annonce est temporairement masquée.",
        "remaining_preserved": "Vos jours de publication restants sont conservés.",
        "publication_days_preserved_one": "Publication : {{count}} jour restant conservé",
        "publication_days_preserved_other": "Publication : {{count}} jours restants conservés"
      }
    },
    "publication_status": {
      "draft": "Brouillon",
      "payment_pending": "Publication en attente de paiement",
      "delivery_quote_pending": "En attente du devis de livraison",
      "published": "Annonce publiée",
      "expired": "Publication expirée",
      "disabled": "Annonce désactivée"
    },
    "sponsorship_status": {
      "inactive": "Sponsoring inactif",
      "active": "Sponsoring actif",
      "expired": "Sponsoring expiré"
    },
    "lifecycle": {
      "publication_remaining": "Publication : {{count}} jour restant",
      "publication_remaining_other": "Publication : {{count}} jours restants",
      "publication_expires": "expire le {{date}}",
      "sponsorship_remaining": "Sponsoring : {{count}} jour restant",
      "sponsorship_remaining_other": "Sponsoring : {{count}} jours restants",
      "sponsorship_expires": "expire le {{date}}"
    },
    "return": {
      "eyebrow": "Paiement annonce",
      "title": "Retour paiement annonce",
      "listings": "Voir mes annonces",
      "payments": "Voir mes paiements",
      "description": {
        "default": "Le paiement est en cours de synchronisation avec Stripe.",
        "checkout_open": "La session est ouverte et attend confirmation.",
        "awaiting_bank_transfer": "Les instructions de virement sont prêtes. L’annonce reste masquée jusqu’à la réception des fonds.",
        "paid": "Le paiement est confirmé. Les périodes de publication ou sponsoring sont appliquées.",
        "failed": "Le paiement a échoué. Vous pouvez relancer l'action depuis vos annonces.",
        "expired": "La session de paiement a expiré.",
        "cancelled": "La session de paiement a été annulée.",
        "paid_quote_pending": "Le paiement est confirmé. Votre annonce sera mise en ligne dès que le transporteur aura validé le tarif de livraison ; la période de publication démarrera à ce moment-là."
      },
      "logistics_review_title": "Merci pour votre confiance !",
      "logistics_review_message": "Nous vous informons que les équipements publiés nécessiteront peut-être de plus amples informations. L’équipe logistique reviendra vers vous le cas échéant. Votre publication sera disponible sur la plateforme par la suite."
    },
    "form": {
      "success": "Paiement annonce créé",
      "unavailable": "Paiement annonce indisponible",
      "not-allowed": "Action non autorisée."
    },
    "status_form": {
      "success": "Statut paiement annonce chargé",
      "unavailable": "Statut paiement annonce indisponible",
      "not-allowed": "Action non autorisée."
    },
    "storage": {
      "label": "J’ai besoin d’une solution de stockage",
      "description": "Stockage dans un dépôt partenaire DMAX, facturé au m³ et au mois.",
      "price": "Stockage dans le dépôt DMAX qui couvre votre département : {{price}} HT par m³ et par mois.",
      "estimate": "Volume estimé : {{volume}} m³, soit environ {{amount}} HT par mois dans le dépôt de votre département.",
      "no_depot": "Aucun dépôt partenaire ne couvre l’adresse d’enlèvement de cette annonce : vous pouvez contacter le dépôt de votre choix.",
      "contact_title": "Contactez le dépôt de votre choix",
      "contact_intro": "Choisissez un dépôt et contactez-le directement pour organiser l’enlèvement et le stockage de votre mobilier.",
      "serving_badge": "Couvre votre département",
      "depot_price": "{{price}} HT par m³ et par mois",
      "contact_name": "Contact : {{name}}",
      "form": {
        "title": "Solution de stockage",
        "unavailable": "Stockage indisponible",
        "not-allowed": "Vous n’êtes pas autorisé à modifier le stockage de cette annonce."
      }
    }
  },
  "location": {
    "address_suggestion": {
      "form": "Suggestion d’adresse",
      "loading": "Recherche des adresses…",
      "results": "Adresses proposées",
      "empty": "Aucune adresse trouvée. Précisez le numéro, la rue et la ville.",
      "unavailable": "La recherche d’adresse est indisponible pour le moment."
    },
    "city_suggestion": {
      "form": "Suggestion de ville",
      "loading": "Recherche des villes…",
      "results": "Villes proposées",
      "empty": "Aucune ville proposée. Vous pouvez saisir la ville manuellement.",
      "unavailable": "La suggestion est indisponible. Vous pouvez saisir la ville manuellement."
    }
  },
  "logistics": {
    "status": {
      "draft": "Brouillon",
      "quote_needed": "Devis nécessaire",
      "quote_pending": "Devis en attente",
      "quote_received": "Devis reçu",
      "quote_accepted": "Devis accepté",
      "transport_ordered": "Transport commandé",
      "in_transit": "En transit",
      "delivered": "Livré",
      "suffering": "En souffrance",
      "cancelled": "Annulé"
    },
    "service_level": {
      "standard": "Standard",
      "appointment": "Sur rendez-vous",
      "dock": "Quai de chargement",
      "delivery_with_installation": "Livraison avec installation",
      "dismantling": "Démontage",
      "transfer_return": "Retour de transfert"
    },
    "pricing_mode": {
      "automatic": "Tarif automatique",
      "manual_quote": "Devis manuel",
      "per_unit": "Prix par unité",
      "per_m3": "Prix au m³",
      "per_km": "Prix par kilomètre"
    },
    "pricing_source": {
      "listing_delivery_quote": "Tarif validé par le transporteur",
      "rate_grid": "Grille tarifaire contractuelle"
    },
    "quote_status": {
      "draft": "Brouillon",
      "submitted": "Soumis",
      "revised": "Révisé",
      "accepted": "Accepté",
      "rejected": "Refusé",
      "expired": "Expiré"
    },
    "accepted_by_actor": {
      "buyer": "Acheteur",
      "seller": "Vendeur",
      "platform": "Plateforme"
    },
    "shipment_status": {
      "created": "Créé",
      "pickup_scheduled": "Récupération planifiée",
      "picked_up": "Colis récupéré",
      "in_transit": "En transit",
      "delivery_scheduled": "Livraison planifiée",
      "delivered": "Livré",
      "delivery_failed": "Livraison échouée",
      "suffering": "En souffrance",
      "returned": "Retourné",
      "closed": "Clôturé",
      "cancelled": "Annulé"
    },
    "shipment_event_type": {
      "status": "Statut",
      "appointment": "Rendez-vous",
      "tracking": "Suivi",
      "anomaly": "Anomalie",
      "reserve": "Réserve",
      "suffering": "Souffrance",
      "pod": "Preuve de livraison"
    },
    "depot": {
      "name": "Dépôt DMAX {{name}}",
      "form": {
        "title": "Dépôt partenaire",
        "unavailable": "Dépôt indisponible",
        "not-allowed": "Vous n’êtes pas autorisé à consulter ce dépôt."
      }
    }
  },
  "deliveryContribution": {
    "title_create": "Demander une participation à la livraison",
    "title_counter": "Faire une contre-proposition",
    "description_create": "Choisissez la participation du vendeur.",
    "description_counter": "Ajustez la participation du vendeur.",
    "form": "Négociation de la participation à la livraison",
    "preview": "Proposition de participation à la livraison",
    "chat_subject": "Livraison du panier",
    "seller": "Vendeur : {{name}}",
    "covered_listings": "Annonces couvertes",
    "quantity": "Quantité : {{count}}",
    "quote_total": "Coût total de livraison",
    "percentage": "Participation du vendeur",
    "buyer_share": "À payer par l’acheteur",
    "seller_share": "À payer par le vendeur",
    "platform_share": "Pris en charge par Requipa",
    "note": "Message à joindre (facultatif)",
    "note_placeholder": "Ajoutez une précision sur la livraison…",
    "review": "Continuer",
    "back": "Modifier",
    "send": "Envoyer la demande",
    "sending": "Envoi…",
    "confirmation_title": "Confirmez la participation",
    "confirmation_description": "Vérifiez les annonces couvertes et chaque montant. La proposition ne sera envoyée qu’après votre confirmation.",
    "proposal_expires": "Cette proposition pourra recevoir une réponse jusqu’au {{date}}.",
    "source_quote_unavailable": "Le devis de livraison source est indisponible ou a expiré. Actualisez la discussion ou recalculez la livraison avant de réessayer.",
    "context_changed": "Cette offre a changé pendant votre vérification. Vérifiez les informations mises à jour avant de confirmer à nouveau.",
    "invalidation_warning": "Toute modification de l’adresse, du mode de remise, des quantités, des lignes du panier ou du devis invalide cette négociation.",
    "stock_not_reserved": "Cette négociation ne réserve aucun stock. La disponibilité sera contrôlée au moment de la commande.",
    "card_title": "Participation livraison · révision {{revision}}",
    "proposed_by": "Proposée par {{name}}",
    "card_expires": "Échéance de la proposition : {{date}}.",
    "allocation_expires": "Répartition acceptée valable jusqu’au {{date}}.",
    "accept": "Accepter",
    "refuse": "Refuser",
    "counter": "Contre-proposer",
    "accept_confirmation_title": "Accepter cette répartition ?",
    "accept_confirmation_description": "Après confirmation, les montants exacts ci-dessous seront appliqués au groupe vendeur concerné.",
    "refuse_confirmation_title": "Refuser cette répartition ?",
    "refuse_confirmation_description": "Vérifiez les montants concernés. Après confirmation, cette proposition sera clôturée comme refusée.",
    "allocation_lifetime": "La répartition acceptée sera valable pendant 48 h au maximum, ou moins si le devis expire avant.",
    "confirm_accept": "Confirmer l’acceptation",
    "confirm_refuse": "Confirmer le refus",
    "responding": "Traitement…",
    "scope_unavailable": "Le détail sécurisé des annonces couvertes est indisponible. Actualisez la discussion.",
    "cart_description": "Demandez au vendeur de prendre en charge une partie de ce devis de livraison. Vous vérifierez les deux montants exacts avant l’envoi.",
    "pending_cart": "Une proposition de participation est en attente pour ce groupe vendeur.",
    "created_navigation_warning": "La demande a bien été créée, mais la discussion n’a pas pu être ouverte automatiquement.",
    "created_navigation_action": "Ouvrir mes messages",
    "accepted_cart": "Répartition acceptée · participation vendeur {{percent}} %",
    "mutation_confirmation_title": "Modifier ce groupe vendeur ?",
    "mutation_confirmation_description": "Cette modification invalidera la proposition ou la répartition de livraison en cours. Confirmez pour continuer.",
    "mutation_affected_sellers": "Groupes concernés : {{sellers}}",
    "mutation_confirm": "Modifier et invalider",
    "reset": "Restaurer le devis sans participation",
    "reset_notice": "La participation a expiré. Restaurez le devis sans participation ou recalculez la livraison avant de recommencer.",
    "legacy_label": "Ancienne demande non liée au panier",
    "legacy_description": "Cette demande historique reste visible. Démarrez une nouvelle demande formelle depuis le panier.",
    "legacy_cart_action": "Reprendre depuis le panier",
    "status": {
      "pending": "En attente",
      "accepted": "Acceptée",
      "refused": "Refusée",
      "countered": "Contre-proposée",
      "expired": "Expirée",
      "invalidated": "Invalidée"
    }
  },
  "deliveryContributionCommitment": {
    "preview": "Participation livraison · {{name}} · quantité {{quantity}} · {{percent}} % · {{status}}",
    "card_title": "Participation livraison · révision {{revision}}",
    "proposed_by": "Proposée par {{name}}",
    "proposer_fallback": "Auteur de la proposition",
    "recipient_fallback": "Destinataire de la proposition",
    "quantity": "Quantité exacte : {{count}}",
    "percentage": "Participation du vendeur",
    "percent": "{{percent}} %",
    "recipient": "Destinataire",
    "revision": "Révision",
    "canonical_status": "Statut enregistré",
    "created_at": "Créée le",
    "expires_at": "Réponse possible jusqu’au",
    "responded_at": "Réponse enregistrée le",
    "note": "Message",
    "note_optional": "Message facultatif",
    "allocation_expires": "Participation applicable jusqu’au {{date}}.",
    "line_total": "Coût de la ligne de livraison",
    "buyer_share": "Part acheteur",
    "seller_share": "Part vendeur",
    "consumed_deduction": "Participation de {{amount}} déduite du versement vendeur après le paiement.",
    "accept_seller": "Accepter et prendre en charge {{percent}} %",
    "accept_buyer": "Accepter la participation vendeur de {{percent}} %",
    "refuse": "Refuser",
    "counter": "Contre-proposer",
    "counter_title": "Contre-proposer une participation",
    "counter_description": "Choisissez la nouvelle part du vendeur. Cette réponse n’ajoute rien au panier et ne déclenche aucun paiement.",
    "counter_invalid": "Choisissez un pourcentage de 5 à 50 %, par pas de 5 %, avec un message de 2 000 caractères maximum.",
    "send_counter": "Envoyer la contre-proposition",
    "sending": "Envoi…",
    "system_invalidated": "Participation invalidée : {{reason}}",
    "cart_seller_percentage": "Participation du vendeur : {{percent}} %",
    "cart_buyer_saving": "−{{amount}} sur votre livraison",
    "cart_scope": "{{name}} · quantité {{count}}",
    "status": {
      "pending": "En attente",
      "accepted": "Acceptée",
      "refused": "Refusée",
      "countered": "Contre-proposée",
      "expired": "Expirée",
      "invalidated": "Invalidée",
      "consumed": "Déduite après paiement"
    },
    "invalidation_reason": {
      "listing_sold": "l’annonce a été vendue",
      "listing_unpublished": "l’annonce n’est plus publiée",
      "listing_unavailable": "l’annonce ou son transport n’est plus disponible",
      "listing_reassigned": "le vendeur de l’annonce a changé",
      "stock_insufficient": "le stock est inférieur à la quantité convenue",
      "canonical_seller_share_nonzero": "le vendeur prenait déjà en charge une partie de la livraison",
      "seller_proceeds_insufficient": "le produit de la vente ne couvre pas cette participation",
      "commitment_expired": "la fenêtre d’application a expiré",
      "commitment_revalidation_failed": "les conditions de l’accord ne sont plus réunies",
      "unknown": "les conditions de l’accord ont changé"
    }
  },
  "priceOffer": {
    "title_create": "Faire une offre",
    "title_counter": "Faire une contre-proposition",
    "description_create": "Choisissez votre prix et la quantité souhaitée. Vous pourrez tout vérifier avant l’envoi au vendeur.",
    "description_counter": "Ajustez le prix et la quantité, puis vérifiez votre contre-proposition avant de l’envoyer.",
    "percentage": "Pourcentage du prix affiché",
    "percentage_range": "Le montant doit représenter entre {{minimum}} % et {{maximum}} % du prix affiché.",
    "unit_price": "Prix proposé par unité",
    "lot_price": "Prix proposé pour le lot complet",
    "exact_amount": "Prix exact (centimes compris)",
    "slider_amount": "Ajuster par euros entiers",
    "quantity": "Quantité",
    "lot_quantity_one": "Cette annonce est vendue uniquement en lot complet de {{count}} unité.",
    "lot_quantity_other": "Cette annonce est vendue uniquement en lot complet de {{count}} unités.",
    "total": "Total de l’offre",
    "total_helper": "{{amount}} par unité × {{count}}",
    "note": "Message à joindre (facultatif)",
    "note_placeholder": "Ajoutez une précision pour le vendeur…",
    "draft_notice": "Si vous devez vous connecter, ce brouillon sera conservé pendant 24 h sur cet appareil.",
    "review": "Vérifier l’offre",
    "confirmation_title": "Confirmez votre offre",
    "confirmation_description": "Vérifiez le prix, la quantité et le total. L’offre ne sera envoyée qu’après votre confirmation.",
    "proposal_expires": "En cliquant sur Envoyer l’offre, elle sera valable jusqu’au {{date}} (48 h).",
    "back": "Modifier",
    "send": "Envoyer l’offre",
    "sending": "Envoi…",
    "amount_error": "Saisissez un montant compris entre 0 et le prix affiché.",
    "quantity_error": "Choisissez une quantité disponible.",
    "form": "Négociation du prix",
    "preview": "Offre de prix",
    "card_title": "Offre de prix · révision {{revision}}",
    "proposed_by": "Proposée par {{name}}",
    "card_expires": "Réponse possible jusqu’au {{date}}.",
    "cart_price_expires": "Prix négocié valable dans le panier jusqu’au {{date}}.",
    "status": {
      "pending": "En attente",
      "accepted": "Acceptée",
      "refused": "Refusée",
      "countered": "Contre-proposée",
      "expired": "Expirée"
    },
    "accept": "Accepter",
    "refuse": "Refuser",
    "counter": "Contre-proposer",
    "accept_confirmation_title": "Accepter cette offre ?",
    "accept_confirmation_description": "Après confirmation, cette offre remplacera la ligne correspondante dans le panier de l’acheteur avec sa quantité et son prix négocié.",
    "refuse_confirmation_title": "Refuser cette offre ?",
    "refuse_confirmation_description": "Après confirmation, cette proposition sera clôturée comme refusée. Cette action ne l’accepte pas et ne l’ajoute pas au panier.",
    "accept_cart_expiry": "En cliquant sur Confirmer l’acceptation, le prix négocié sera valable dans le panier jusqu’au {{date}} (48 h).",
    "stock_not_reserved": "L’acceptation ne réserve pas le stock : il sera contrôlé au moment de la commande.",
    "responding": "Traitement…",
    "confirm_accept": "Confirmer l’acceptation",
    "confirm_refuse": "Confirmer le refus",
    "open_cart": "Ouvrir le panier"
  },
  "not_allowed": "Action non autorisée",
  "token_expired": "Votre session a expiré. Reconnectez-vous.",
  "went_wrong": "Une erreur est survenue. Réessayez.",
  "api_went_wrong": "Une erreur est survenue. Réessayez.",
  "active": "Actif",
  "category.input.create.input_value_sample_files.remove": "Retirer le fichier",
  "category_listing_delivery_quote_required": "Livraison sur devis",
  "contact_email": "Email",
  "contact_email.placeholder": "transporteur@exemple.fr",
  "contact_phone": "Téléphone",
  "contact_phone.placeholder": "06 12 34 56 78",
  "legal_name": "Raison sociale",
  "legal_name.placeholder": "DMAX Logistique SAS",
  "siret": "SIRET",
  "siret.placeholder": "98765432100022",
  "vat_number": "N° de TVA intracommunautaire",
  "vat_number.placeholder": "FR12987654321",
  "address_line1": "Adresse du siège",
  "address_line1.placeholder": "14 avenue du Maréchal Juin",
  "address_line2": "Complément d’adresse",
  "address_line2.placeholder": "Bâtiment B",
  "postal_code": "Code postal",
  "postal_code.placeholder": "69720",
  "city": "Ville",
  "city.placeholder": "Saint-Laurent-de-Mure",
  "country": "Pays",
  "country.placeholder": "FR",
  "currency.placeholder": "EUR",
  "delivery_address_address_line1": "Adresse",
  "delivery_address_address_line1.placeholder": "12 rue du Réemploi",
  "delivery_address_address_line2": "Complément d'adresse",
  "delivery_address_address_line2.placeholder": "Bâtiment B",
  "delivery_address_city": "Ville",
  "delivery_address_city.placeholder": "Annecy",
  "delivery_address_contact_name": "Contact livraison",
  "delivery_address_contact_name.placeholder": "Marie Dupont",
  "delivery_address_contact_phone": "Téléphone",
  "delivery_address_contact_phone.placeholder": "06 12 34 56 78",
  "delivery_address_country": "Pays",
  "delivery_address_country.placeholder": "FR",
  "delivery_address_is_default": "Adresse par défaut",
  "delivery_address_label": "Nom de l'adresse",
  "delivery_address_label.placeholder": "Adresse principale",
  "delivery_address_postal_code": "Code postal",
  "delivery_address_postal_code.placeholder": "74000",
  "distance_max_km": "Distance max km",
  "distance_max_km.placeholder": "500",
  "distance_min_km": "Distance min km",
  "distance_min_km.placeholder": "0",
  "enterprise.create.public_location_visibility.select.city": "Ville",
  "enterprise.create.public_location_visibility.select.department": "Département",
  "enterprise.create.enterprise_public_location_visibility.select.city": "Ville",
  "enterprise.create.enterprise_public_location_visibility.select.department": "Département",
  "enterprise.create.verification_status.select.draft": "À compléter",
  "enterprise.create.verification_status.select.email_pending": "Lien envoyé",
  "enterprise.create.verification_status.select.manual_pending": "Vérification manuelle",
  "enterprise.create.verification_status.select.verified": "Vérifiée",
  "enterprise.create.verification_status.select.rejected": "Refusée",
  "enterprise.create.enterprise_verification_status.select.draft": "À compléter",
  "enterprise.create.enterprise_verification_status.select.email_pending": "Lien envoyé",
  "enterprise.create.enterprise_verification_status.select.manual_pending": "Vérification manuelle",
  "enterprise.create.enterprise_verification_status.select.verified": "Vérifiée",
  "enterprise.create.enterprise_verification_status.select.rejected": "Refusée",
  "enterprise.update.public_location_visibility.select.city": "Ville",
  "enterprise.update.public_location_visibility.select.department": "Département",
  "enterprise.update.enterprise_public_location_visibility.select.city": "Ville",
  "enterprise.update.enterprise_public_location_visibility.select.department": "Département",
  "enterprise.update.verification_status.select.draft": "À compléter",
  "enterprise.update.verification_status.select.email_pending": "Lien envoyé",
  "enterprise.update.verification_status.select.manual_pending": "Vérification manuelle",
  "enterprise.update.verification_status.select.verified": "Vérifiée",
  "enterprise.update.verification_status.select.rejected": "Refusée",
  "enterprise.update.enterprise_verification_status.select.draft": "À compléter",
  "enterprise.update.enterprise_verification_status.select.email_pending": "Lien envoyé",
  "enterprise.update.enterprise_verification_status.select.manual_pending": "Vérification manuelle",
  "enterprise.update.enterprise_verification_status.select.verified": "Vérifiée",
  "enterprise.update.enterprise_verification_status.select.rejected": "Refusée",
  "enterprise_address_line1": "Adresse",
  "enterprise_address_line1.placeholder": "12 rue du Réemploi",
  "enterprise_address_line2": "Complément d'adresse",
  "enterprise_address_line2.placeholder": "Bâtiment B",
  "enterprise_can_sell": "Autoriser la vente",
  "enterprise_city": "Ville",
  "enterprise_city.placeholder": "Annecy",
  "enterprise_contact_email": "Email de contact",
  "enterprise_contact_email.placeholder": "contact@requipa.com",
  "enterprise_country": "Pays",
  "enterprise_country.placeholder": "France",
  "enterprise_description": "Description publique",
  "enterprise_description.placeholder": "Présentez votre activité, vos spécialités et votre zone d'intervention.",
  "enterprise_furniture_types": "Types de mobilier gérés",
  "enterprise_furniture_types.placeholder": "Bureaux, chaises, tables...",
  "enterprise_kbis": "KBIS",
  "enterprise_kbis.drag-drop": "ou glissez-déposez votre KBIS",
  "enterprise_kbis.select-file": "Choisir un fichier",
  "enterprise_logo": "Logo public",
  "enterprise_logo.drag-drop": "ou glissez-déposez votre logo",
  "enterprise_logo.select-file": "Choisir un logo",
  "enterprise_name": "Nom de l'entreprise",
  "enterprise_name.placeholder": "Requipa Mobilier Pro",
  "enterprise_opening_hours": "Horaires",
  "enterprise_opening_hours.placeholder": "Lun-Ven 9h-18h",
  "enterprise_postal_code": "Code postal",
  "enterprise_postal_code.placeholder": "74000",
  "enterprise_public_location_visibility": "Localisation publique par défaut",
  "enterprise_public_location_visibility.select.placeholder": "Sélectionner une visibilité",
  "enterprise_region": "Département ou région",
  "enterprise_region.placeholder": "Haute-Savoie",
  "enterprise_rejection_reason": "Motif du refus",
  "enterprise_rejection_reason.placeholder": "KBIS illisible, SIRET incohérent ou informations à corriger.",
  "enterprise_siret": "SIRET",
  "enterprise_siret.placeholder": "123 456 789 00012",
  "enterprise_verification_status": "Statut de vérification",
  "enterprise_verification_status.placeholder": "draft, email_pending, manual_pending, verified ou rejected",
  "enterprise_website_url": "Site web",
  "enterprise_website_url.placeholder": "https://requipa.com",
  "extra_price_per_m3_per_200km_minor.placeholder": "0",
  "extra_price_per_mper_m_minor": "Supplément par m³ et par tranche de 200 km (unités mineures)",
  "input_booldefault": "Valeur oui/non par défaut",
  "input_default.placeholder": "Valeur préremplie",
  "input_description.placeholder": "Critère visible dans les filtres et la création d'annonce.",
  "input_maxvalue": "Maximum",
  "input_maxvalue.placeholder": "100",
  "input_minvalue": "Minimum",
  "input_minvalue.placeholder": "0",
  "input_name.placeholder": "Couleur",
  "input_placeholder.placeholder": "Ex. noir, 120, cuir...",
  "input_type.select.placeholder": "Sélectionner un type de champ",
  "input_value_options": "Options des valeurs",
  "input_value_options.placeholder": "Configuration facultative des valeurs",
  "input_value_sample_files": "Images d’exemple",
  "input_value_sample_files.drag-drop": "ou glissez-déposez des images d’exemple",
  "input_value_sample_files.select-file": "Choisir des images d’exemple",
  "input_values.placeholder": "Noir, Blanc, Gris",
  "input_visibility_conditions": "Dépendances",
  "input_visibility_conditions.placeholder": "Configurer les conditions d’affichage",
  "label": "Nom du barème",
  "label.placeholder": "Tarif standard",
  "language_active": "Active",
  "language_auto_translate": "Traduire automatiquement",
  "language_code": "Code",
  "language_code.placeholder": "en",
  "language_default": "Langue par défaut",
  "language_display_order": "Ordre d'affichage",
  "language_display_order.placeholder": "30",
  "language_name": "Nom",
  "language_name.placeholder": "English",
  "language_native_name": "Nom natif",
  "language_native_name.placeholder": "English",
  "price_per_m3_minor.placeholder": "0",
  "price_per_mminor": "Prix par m³ (unités mineures)",
  "provider_code": "Code",
  "logistics.provider.create.adapter_key.select.manual": "Gestion manuelle",
  "logistics.provider.update.adapter_key.select.manual": "Gestion manuelle",
  "provider_code.placeholder": "code-transporteur",
  "provider_name": "Nom du transporteur",
  "provider_name.placeholder": "Transport Requipa",
  "setting_value": "Valeur",
  "setting_value.placeholder": "Valeur",
  "source_label": "Source",
  "source_label.placeholder": "Grille tarifaire interne",
  "user_email": "Email",
  "user_email.placeholder": "camille.martin@requipa.com",
  "user_firstname": "Prénom",
  "user_firstname.placeholder": "Camille",
  "user_lastname": "Nom",
  "user_lastname.placeholder": "Martin",
  "volume_max_m3": "Volume max m3",
  "volume_max_m3.placeholder": "100",
  "volume_min_m3": "Volume min m3",
  "volume_min_m3.placeholder": "0",
  "promo_code": "Code promotionnel",
  "promo_code.placeholder": "BIENVENUE10",
  "promo_code_id": "Code promotionnel",
  "promo_code_id_must_be_a_string": "L’identifiant du code promotionnel doit être du texte.",
  "promo_code_id_required": "Sélectionnez un code promotionnel.",
  "promo_amount_eur": "Remise en euros",
  "promo_amount_eur.placeholder": "10,00",
  "promo_code_must_be_a_string": "Le code promotionnel doit être du texte.",
  "promo_code_must_be_longer_than_3": "Le code promotionnel doit contenir au moins 3 caractères.",
  "promo_code_must_be_shorter_than_40": "Le code promotionnel ne doit pas dépasser 40 caractères.",
  "promo_code_required": "Renseignez un code promotionnel.",
  "promo_amount_eur_must_be_a_string": "La remise en euros doit être du texte.",
  "promo_amount_eur_must_be_a_number": "La remise en euros doit être un nombre.",
  "promo_amount_eur_must_be_greater_than_0.01": "La remise en euros doit être supérieure à 0,01 €.",
  "promo_amount_eur_must_be_longer_than_0.01": "La remise en euros doit être d’au moins 0,01 €.",
  "promo_amount_eur_required": "Renseignez un montant de remise.",
  "promo_active": "Code actif",
  "promo_active_must_be_a_boolean": "Le statut actif du code doit être booléen.",
  "promo_active_required": "Choisissez si le code doit être actif.",
  "billingMandate": {
    "eyebrow": "Facturation",
    "title": "Mandat de facturation",
    "summary": "Requipa émet les factures de vos ventes en votre nom et pour votre compte. Ce mandat est nécessaire pour publier une annonce.",
    "status": {
      "active": "Mandat actif",
      "revoked": "Mandat révoqué",
      "superseded": "Remplacé par une nouvelle version",
      "none": "Aucun mandat accepté"
    },
    "accepted_on": "Accepté le {{date}} par {{name}}",
    "revoked_on": "Révoqué le {{date}}",
    "reference": "Référence {{reference}} · version {{version}}",
    "read_text": "Lire le texte du mandat",
    "consent_label": "J'ai lu et j'accepte le mandat de facturation : Requipa émettra les factures de mes ventes en mon nom et pour mon compte.",
    "consent_required": "Acceptez le mandat de facturation pour publier votre annonce.",
    "verification_consent_required": "Acceptez le mandat de facturation pour devenir vendeur sur Requipa.",
    "accept": "Accepter le mandat",
    "accepting": "Enregistrement...",
    "accepted_success": "Mandat de facturation accepté.",
    "outdated_version": "Une nouvelle version du mandat est disponible. Acceptez-la pour continuer à publier.",
    "banner_title": "Mandat de facturation à accepter",
    "banner_description": "Pour publier de nouvelles annonces, acceptez le mandat qui autorise Requipa à émettre les factures de vos ventes en votre nom.",
    "banner_action": "Consulter le mandat",
    "history_title": "Historique des mandats",
    "history_empty": "Cette entreprise n'a encore accepté aucun mandat de facturation.",
    "form": {
      "success": "Mandat de facturation enregistré.",
      "unavailable": "Mandat de facturation indisponible."
    },
    "text": {
      "title": "Mandat de facturation (version {{version}})",
      "parties": "Le présent mandat est conclu entre l'entreprise vendeuse titulaire du compte (le « Mandant ») et Requipa (le « Mandataire »), en application de l'article 289, I-2 du Code général des impôts.",
      "object": "Le Mandant donne mandat au Mandataire, qui l'accepte, d'établir et d'émettre en son nom et pour son compte les factures originales relatives aux ventes de biens qu'il réalise auprès des acheteurs sur la plateforme Requipa.",
      "content": "Les factures sont établies à partir des informations de commande et des données renseignées par le Mandant (dénomination, adresse, SIRET, taux de TVA). Elles portent la mention « Facture émise par Requipa au nom et pour le compte de » suivie de la dénomination du Mandant, ainsi que la référence et la date du présent mandat. Le Mandant s'engage à maintenir ces informations exactes et à jour.",
      "tax": "Le Mandant demeure seul redevable de la TVA due au titre de ses ventes et reste responsable de ses obligations déclaratives et de paiement. Le présent mandat ne transfère au Mandataire aucune obligation fiscale du Mandant.",
      "availability": "Chaque facture est mise à la disposition du Mandant dans son espace vendeur dès son émission.",
      "duration": "Le mandat prend effet à la date de son acceptation et est conclu pour une durée indéterminée. Le Mandant peut le révoquer à tout moment depuis son espace vendeur ; la révocation s'applique aux ventes payées après sa date d'effet et n'affecte pas les factures déjà émises. La publication de nouvelles annonces nécessite un mandat actif.",
      "retention": "Les factures émises ne sont plus modifiées après leur émission. Elles restent consultables par le Mandant, l'acheteur et Requipa."
    }
  },
  "promo_discount_type": "Type d’avantage",
  "promo_discount_type.placeholder": "Choisir un type d’avantage",
  "promo_discount_type.select.fixed": "Remise en euros",
  "promo_discount_type.select.offered_services": "Services offerts",
  "promo_discount_type_must_be_a_string": "Le type d’avantage doit être du texte.",
  "promo_offers_publication": "Mise en ligne offerte",
  "promo_offers_publication_must_be_a_boolean": "La mise en ligne offerte doit être oui ou non.",
  "promo_offers_extension": "Prolongation offerte",
  "promo_offers_extension_must_be_a_boolean": "La prolongation offerte doit être oui ou non.",
  "promo_offers_sponsorship": "Sponsoring offert",
  "promo_offers_sponsorship_must_be_a_boolean": "Le sponsoring offert doit être oui ou non.",
  "promo_discount_type.select.placeholder": "Choisir un type d’avantage",
  "promo_discount_type_required": "Choisissez un type d’avantage.",
  "promo_discount_type_invalid_value": "Le type d’avantage est invalide.",
  "promo-code": {
    "create": {
      "promo_discount_type.select.fixed": "Remise en euros",
      "promo_discount_type.select.offered_services": "Services offerts"
    },
    "update": {
      "promo_discount_type.select.fixed": "Remise en euros",
      "promo_discount_type.select.offered_services": "Services offerts"
    }
  },
  "error": {
    "terms_consent_required": "Vous devez accepter les conditions générales d'utilisation pour créer un compte.",
    "terms_consent_must_be_a_boolean": "Le choix « Conditions générales d'utilisation » doit être oui ou non.",
    "seller_terms_required": "Acceptez les CGV Vendeurs pour souscrire ce service.",
    "billing_mandate_required": "Acceptez le mandat de facturation avant de publier une annonce.",
    "billing_mandate_version_outdated": "Le texte du mandat a changé. Rechargez la page pour lire la dernière version.",
    "billing_mandate_not_found": "Aucun mandat de facturation actif à révoquer.",
    "category_description_html_must_be_a_string": "La description doit être du texte HTML.",
    "category_seo_h1_must_be_a_string": "Le H1 doit être du texte.",
    "listing_invoice_invalid": "Les données de cette facture sont incomplètes ou incohérentes.",
    "listing_invoice_issuer_missing": "Les coordonnées de facturation Requipa ne sont pas renseignées dans Stripe.",
    "checkout_attempt_attribution_invalid": "Le paiement ne correspond pas à cette commande.",
    "authentication_refresh_failed": "Votre session a expiré. Reconnectez-vous pour enregistrer vos modifications.",
    "not_allowed": "Action non autorisée",
    "user_hide_info_required": "Choisissez si le mode anonyme doit être activé.",
    "user_hide_info_must_be_a_boolean": "Le mode anonyme doit être activé ou désactivé.",
    "adapter_key_invalid_value": "Sélectionnez un mode de gestion valide.",
    "listing_translation_invalid_now": "L’heure de traitement de la traduction de l’annonce est invalide.",
    "listing_translation_provider_unsupported": "La traduction de l’annonce est temporairement indisponible.",
    "network": "Erreur réseau. Vérifiez votre connexion puis réessayez.",
    "awaiting_payment": "Le paiement est toujours en attente.",
    "buyer_verification_required": "Votre entreprise doit être vérifiée par Requipa avant le paiement.",
    "cart_item_reserved_for_other_buyer": "Un article du panier est réservé à un autre acheteur.",
    "cart_not_checkoutable": "Ce panier ne peut pas être payé dans son état actuel.",
    "checkout_attempt_in_progress": "Une tentative de paiement est déjà en cours.",
    "checkout_attempt_not_found": "Cette tentative de paiement est introuvable.",
    "checkout_attempt_not_releasable": "Cette tentative de paiement ne peut pas être libérée.",
    "checkout_attempt_terminal": "Cette tentative de paiement est déjà terminée.",
    "checkout_stripe_request_invalid": "La demande de paiement Stripe est invalide.",
    "invalid_paid_refund_pending": "Un remboursement déjà payé est encore indiqué comme en attente.",
    "logistics_recovery_capacity_exceeded": "Le montant attribué à la logistique dépasse le montant récupérable.",
    "non_winning": "Cette opération ne correspond pas à l’issue retenue.",
    "order_checkout_not_found": "Le paiement associé à cette commande est introuvable.",
    "payment_dispute_allocation_duplicate_group": "Un même groupe vendeur ou logistique est présent plusieurs fois dans la répartition du litige.",
    "payment_dispute_allocation_exceeded": "La répartition du litige dépasse le montant disponible.",
    "payment_dispute_allocation_required": "Renseignez la répartition du montant du litige.",
    "payment_dispute_amount_invalid": "Le montant du litige est invalide.",
    "payment_dispute_not_found": "Ce litige de paiement est introuvable.",
    "payment_dispute_request_invalid": "La demande de traitement du litige est invalide.",
    "payment_dispute_responsibility_mismatch": "La répartition des responsabilités ne correspond pas au montant du litige.",
    "payment_dispute_version_conflict": "Ce litige a été modifié. Actualisez puis réessayez.",
    "price_offer_amount_out_of_range": "Le montant proposé est en dehors de la plage autorisée.",
    "price_offer_cart_expired": "Le prix négocié d’un article a expiré. Retirez-le du panier ou recommencez la négociation avant de payer.",
    "price_offer_quantity_locked": "La quantité de cette proposition ne peut plus être modifiée.",
    "refund_allocation_duplicate_group": "Un même groupe vendeur ou logistique est présent plusieurs fois dans la répartition du remboursement.",
    "refund_allocation_total_mismatch": "La répartition du remboursement ne correspond pas au montant total.",
    "refund_amount_invalid": "Le montant du remboursement est invalide.",
    "refund_capacity_exceeded": "Le montant du remboursement dépasse le montant encore remboursable.",
    "refund_group_not_found": "Le groupe concerné par le remboursement est introuvable.",
    "refund_idempotency_conflict": "Cette demande de remboursement existe déjà avec des informations différentes.",
    "refund_reason_invalid": "Le motif du remboursement est invalide.",
    "refund_request_invalid": "La demande de remboursement est invalide.",
    "refund_responsibility_total_mismatch": "La répartition des responsabilités ne correspond pas au montant du remboursement.",
    "seller_fulfillment_internal_error": "Le suivi vendeur ne peut pas être mis à jour pour le moment.",
    "seller_net_amount_negative": "Le montant net vendeur ne peut pas être négatif.",
    "seller_recovery_capacity_exceeded": "Le montant attribué au vendeur dépasse le montant récupérable.",
    "shipment_tracking_internal_error": "Le suivi de livraison ne peut pas être mis à jour pour le moment.",
    "shipment_tracking_url_invalid": "Le lien de suivi de livraison est invalide.",
    "shipment_transition_fields_required": "Des informations supplémentaires sont requises pour ce changement de statut.",
    "shipment_transition_internal_error": "Le statut de livraison ne peut pas être modifié pour le moment.",
    "stripe_checkout_session_conflict": "La session de paiement Stripe ne correspond plus à cette commande.",
    "stripe_payout_schedule_update_failed": "Le calendrier de versement Stripe n’a pas pu être mis à jour.",
    "stripe_refund_source_invalid": "La source du remboursement Stripe est invalide.",
    "active_must_be_a_boolean": "Le choix « Actif » doit être oui ou non.",
    "active_required": "Renseignez « Actif ».",
    "adapter_key_must_be_a_string": "La valeur « Clé d’adaptateur » doit être du texte.",
    "capabilities_must_be_a_string": "La valeur « Capacités » doit être du texte.",
    "category_icon_file_too_large": "Le fichier sélectionné pour « Icône de catégorie » est trop volumineux.",
    "category_icon_must_be_a_file": "Sélectionnez un fichier valide pour « Icône de catégorie ».",
    "category_icon_must_be_an_array": "La valeur « Icône de catégorie » doit être une liste.",
    "category_icon_must_have_a_valid_extension": "Le format du fichier sélectionné pour « Icône de catégorie » n’est pas accepté.",
    "category_icon_must_have_at_most_2097152_elements": "Le fichier sélectionné pour « Icône de catégorie » ne doit pas dépasser 2 Mo.",
    "category_id_must_be_a_number": "La valeur « Catégorie » doit être un nombre.",
    "category_id_must_be_a_string": "La valeur « Catégorie » doit être du texte.",
    "category_id_required": "Renseignez « Catégorie ».",
    "category_image_file_too_large": "Le fichier sélectionné pour « Image de catégorie » est trop volumineux.",
    "category_image_must_be_a_file": "Sélectionnez un fichier valide pour « Image de catégorie ».",
    "category_image_must_be_an_array": "La valeur « Image de catégorie » doit être une liste.",
    "category_image_must_have_a_valid_extension": "Le format du fichier sélectionné pour « Image de catégorie » n’est pas accepté.",
    "category_listing_delivery_quote_required_must_be_a_boolean": "Le choix « Livraison sur devis » doit être oui ou non.",
    "category_name_must_be_a_string": "La valeur « Nom de la catégorie » doit être du texte.",
    "category_name_required": "Renseignez « Nom de la catégorie ».",
    "category_seo_description_must_be_a_string": "La valeur « Description SEO » doit être du texte.",
    "category_seo_title_must_be_a_string": "La valeur « Titre SEO » doit être du texte.",
    "category_slug_must_be_a_string": "La valeur « Adresse de la catégorie » doit être du texte.",
    "contact_email_must_be_a_string": "La valeur « Email de contact » doit être du texte.",
    "contact_phone_must_be_a_string": "La valeur « Téléphone de contact » doit être du texte.",
    "legal_name_must_be_a_string": "La raison sociale doit être un texte.",
    "siret_must_be_a_string": "Le SIRET doit être un texte.",
    "vat_number_must_be_a_string": "Le numéro de TVA doit être un texte.",
    "address_line1_must_be_a_string": "L’adresse doit être un texte.",
    "address_line2_must_be_a_string": "Le complément d’adresse doit être un texte.",
    "postal_code_must_be_a_string": "Le code postal doit être un texte.",
    "city_must_be_a_string": "La ville doit être un texte.",
    "country_must_be_a_string": "Le pays doit être un texte.",
    "coverage_countries_must_be_a_string": "La valeur « Pays couverts » doit être du texte.",
    "currency_must_be_a_string": "La valeur « Devise » doit être du texte.",
    "delivery_address_address_line1_must_be_a_string": "La valeur « Adresse » doit être du texte.",
    "delivery_address_address_line1_required": "Renseignez « Adresse ».",
    "delivery_address_address_line2_must_be_a_string": "La valeur « Complément d'adresse » doit être du texte.",
    "delivery_address_city_must_be_a_string": "La valeur « Ville » doit être du texte.",
    "delivery_address_city_required": "Renseignez « Ville ».",
    "delivery_address_contact_name_must_be_a_string": "La valeur « Contact livraison » doit être du texte.",
    "delivery_address_contact_phone_must_be_a_string": "La valeur « Téléphone » doit être du texte.",
    "delivery_address_country_must_be_a_string": "La valeur « Pays » doit être du texte.",
    "delivery_address_country_required": "Renseignez « Pays ».",
    "delivery_address_id_must_be_a_number": "La valeur « Adresse de livraison » doit être un nombre.",
    "delivery_address_id_must_be_a_string": "La valeur « Adresse de livraison » doit être du texte.",
    "delivery_address_is_default_must_be_a_boolean": "Le choix « Adresse par défaut » doit être oui ou non.",
    "delivery_address_label_must_be_a_string": "La valeur « Nom de l'adresse » doit être du texte.",
    "delivery_address_postal_code_must_be_a_string": "La valeur « Code postal » doit être du texte.",
    "delivery_address_postal_code_required": "Renseignez « Code postal ».",
    "distance_max_km_must_be_a_number": "La valeur « Distance maximale » doit être un nombre.",
    "distance_max_km_must_be_greater_than_0": "La valeur « Distance maximale » doit être positive ou nulle.",
    "distance_min_km_must_be_a_number": "La valeur « Distance minimale » doit être un nombre.",
    "distance_min_km_must_be_greater_than_0": "La valeur « Distance minimale » doit être positive ou nulle.",
    "enterprise_address_line1_must_be_a_string": "La valeur « Adresse » doit être du texte.",
    "enterprise_address_line2_must_be_a_string": "La valeur « Complément d'adresse » doit être du texte.",
    "enterprise_can_sell_must_be_a_boolean": "Le choix « Autoriser la vente » doit être oui ou non.",
    "enterprise_city_must_be_a_string": "La valeur « Ville » doit être du texte.",
    "enterprise_contact_email_must_be_a_string": "La valeur « Email de contact » doit être du texte.",
    "enterprise_country_must_be_a_string": "La valeur « Pays » doit être du texte.",
    "enterprise_description_must_be_a_string": "La valeur « Description publique » doit être du texte.",
    "enterprise_kbis_file_too_large": "Le fichier sélectionné pour « KBIS » est trop volumineux.",
    "enterprise_kbis_must_be_an_array": "La valeur « KBIS » doit être une liste.",
    "enterprise_kbis_must_have_at_most_10485760_elements": "Le fichier sélectionné pour « KBIS » ne doit pas dépasser 10 Mo.",
    "enterprise_logo_file_too_large": "Le fichier sélectionné pour « Logo public » est trop volumineux.",
    "enterprise_logo_must_be_an_array": "La valeur « Logo public » doit être une liste.",
    "enterprise_logo_must_have_at_most_5242880_elements": "Le fichier sélectionné pour « Logo public » ne doit pas dépasser 5 Mo.",
    "enterprise_name_must_be_a_string": "La valeur « Nom de l'entreprise » doit être du texte.",
    "enterprise_opening_hours_must_be_a_string": "La valeur « Horaires » doit être du texte.",
    "enterprise_postal_code_must_be_a_string": "La valeur « Code postal » doit être du texte.",
    "enterprise_public_location_visibility_must_be_a_string": "La valeur « Localisation publique par défaut » doit être du texte.",
    "enterprise_region_must_be_a_string": "La valeur « Département ou région » doit être du texte.",
    "enterprise_rejection_reason_must_be_a_string": "La valeur « Motif du refus » doit être du texte.",
    "enterprise_siret_must_be_a_string": "La valeur « SIRET » doit être du texte.",
    "enterprise_verification_status_must_be_a_string": "La valeur « Statut de vérification » doit être du texte.",
    "enterprise_website_url_must_be_a_string": "La valeur « Site web » doit être du texte.",
    "expected_version_must_be_a_number": "La valeur « Version attendue » doit être un nombre.",
    "expected_version_must_be_greater_than_1": "La valeur « Version attendue » doit être supérieure ou égale à 1.",
    "expected_version_required": "Renseignez « Version attendue ».",
    "extra_price_per_m3_per_200km_minor_must_be_a_number": "La valeur « Supplément par m³ et par tranche de 200 km » doit être un nombre.",
    "extra_price_per_m3_per_200km_minor_must_be_greater_than_0": "La valeur « Supplément par m³ et par tranche de 200 km » doit être positive ou nulle.",
    "header_image_alt_must_be_a_string": "La valeur « Texte alternatif de l’image d’en-tête » doit être du texte.",
    "header_image_alt_required": "Renseignez « Texte alternatif de l’image d’en-tête ».",
    "header_image_file_too_large": "Le fichier sélectionné pour « Image d’en-tête » est trop volumineux.",
    "header_image_must_be_a_file": "Sélectionnez un fichier valide pour « Image d’en-tête ».",
    "header_image_must_be_an_array": "La valeur « Image d’en-tête » doit être une liste.",
    "header_image_must_have_a_valid_extension": "Le format du fichier sélectionné pour « Image d’en-tête » n’est pas accepté.",
    "header_image_must_have_at_most_2097152_elements": "Le fichier sélectionné pour « Image d’en-tête » ne doit pas dépasser 2 Mo.",
    "input_booldefault_must_be_a_boolean": "Le choix « Valeur oui/non par défaut » doit être oui ou non.",
    "input_default_must_be_a_string": "La valeur « Valeur par défaut » doit être du texte.",
    "input_description_must_be_a_string": "La valeur « Description du champ » doit être du texte.",
    "input_icon_file_too_large": "Le fichier sélectionné pour « Icône du champ » est trop volumineux.",
    "input_icon_must_be_a_file": "Sélectionnez un fichier valide pour « Icône du champ ».",
    "input_icon_must_be_an_array": "La valeur « Icône du champ » doit être une liste.",
    "input_icon_must_have_a_valid_extension": "Le format du fichier sélectionné pour « Icône du champ » n’est pas accepté.",
    "input_icon_must_have_at_most_2097152_elements": "Le fichier sélectionné pour « Icône du champ » ne doit pas dépasser 2 Mo.",
    "input_maxvalue_must_be_a_number": "La valeur « Maximum » doit être un nombre.",
    "input_minvalue_must_be_a_number": "La valeur « Minimum » doit être un nombre.",
    "input_name_must_be_a_string": "La valeur « Nom du champ » doit être du texte.",
    "input_name_required": "Renseignez « Nom du champ ».",
    "input_placeholder_must_be_a_string": "La valeur « Texte indicatif » doit être du texte.",
    "input_position_must_be_a_number": "La valeur « Position du champ » doit être un nombre.",
    "input_required_must_be_a_boolean": "Le choix « Champ obligatoire » doit être oui ou non.",
    "input_type_invalid_value": "Sélectionnez une valeur valide pour « Type de champ ».",
    "input_type_must_be_a_string": "La valeur « Type de champ » doit être du texte.",
    "input_type_required": "Renseignez « Type de champ ».",
    "input_value_options_must_be_a_string": "La valeur « Options des valeurs » doit être du texte.",
    "input_value_sample_files_file_too_large": "Le fichier sélectionné pour « Images d’exemple » est trop volumineux.",
    "input_value_sample_files_must_be_a_file": "Sélectionnez un fichier valide pour « Images d’exemple ».",
    "input_value_sample_files_must_be_an_array": "La valeur « Images d’exemple » doit être une liste.",
    "input_value_sample_files_must_have_a_valid_extension": "Le format du fichier sélectionné pour « Images d’exemple » n’est pas accepté.",
    "input_value_sample_files_must_have_at_most_2097152_elements": "Le fichier sélectionné pour « Images d’exemple » ne doit pas dépasser 2 Mo.",
    "input_values_must_be_an_array": "La valeur « Valeurs » doit être une liste.",
    "input_visibility_conditions_must_be_a_string": "La valeur « Conditions de visibilité » doit être du texte.",
    "invalid_upload_filename": "Le nom du fichier est invalide.",
    "label_must_be_a_string": "La valeur « Nom du barème » doit être du texte.",
    "label_required": "Renseignez « Nom du barème ».",
    "lang_must_be_a_string": "La valeur « Langue » doit être du texte.",
    "lang_required": "Renseignez « Langue ».",
    "language_active_must_be_a_boolean": "Le choix « Langue active » doit être oui ou non.",
    "language_active_required": "Renseignez « Langue active ».",
    "language_auto_translate_must_be_a_boolean": "Le choix « Traduction automatique » doit être oui ou non.",
    "language_auto_translate_required": "Renseignez « Traduction automatique ».",
    "language_code_must_be_a_string": "La valeur « Code de langue » doit être du texte.",
    "language_code_required": "Renseignez « Code de langue ».",
    "language_default_must_be_a_boolean": "Le choix « Langue par défaut » doit être oui ou non.",
    "language_default_required": "Renseignez « Langue par défaut ».",
    "language_display_order_must_be_a_number": "La valeur « Ordre d’affichage » doit être un nombre.",
    "language_display_order_must_be_greater_than_0": "La valeur « Ordre d’affichage » doit être positive ou nulle.",
    "language_display_order_required": "Renseignez « Ordre d’affichage ».",
    "language_name_must_be_a_string": "La valeur « Nom de la langue » doit être du texte.",
    "language_name_required": "Renseignez « Nom de la langue ».",
    "language_native_name_must_be_a_string": "La valeur « Nom natif de la langue » doit être du texte.",
    "parent_id_must_be_a_number": "La valeur « Catégorie parente » doit être un nombre.",
    "parent_id_must_be_a_string": "La valeur « Catégorie parente » doit être du texte.",
    "parent_id_required": "Renseignez « Catégorie parente ».",
    "price_per_m3_minor_must_be_a_number": "La valeur « Prix par m³ » doit être un nombre.",
    "price_per_m3_minor_must_be_greater_than_0": "La valeur « Prix par m³ » doit être positive ou nulle.",
    "price_per_m3_minor_required": "Renseignez « Prix par m³ ».",
    "provider_code_must_be_a_string": "La valeur « Code du transporteur » doit être du texte.",
    "provider_id_must_be_a_string": "La valeur « Transporteur » doit être du texte.",
    "provider_id_required": "Renseignez « Transporteur ».",
    "provider_name_must_be_a_string": "La valeur « Nom du transporteur » doit être du texte.",
    "rate_band_id_must_be_a_string": "La valeur « Barème » doit être du texte.",
    "rgpd_consent_must_be_a_boolean": "Le choix « Consentement au traitement des données » doit être oui ou non.",
    "sender_display_name_must_be_a_string": "La valeur « Nom d’expéditeur » doit être du texte.",
    "sender_display_name_required": "Renseignez « Nom d’expéditeur ».",
    "sender_local_part_must_be_a_string": "La valeur « Préfixe de l’email expéditeur » doit être du texte.",
    "sender_local_part_required": "Renseignez « Préfixe de l’email expéditeur ».",
    "setting_key_must_be_a_string": "La valeur « Paramètre » doit être du texte.",
    "setting_key_required": "Renseignez « Paramètre ».",
    "setting_value_must_be_a_string": "La valeur « Valeur du paramètre » doit être du texte.",
    "setting_value_required": "Renseignez « Valeur du paramètre ».",
    "source_label_must_be_a_string": "La valeur « Source » doit être du texte.",
    "subject_must_be_a_string": "La valeur « Objet » doit être du texte.",
    "subject_required": "Renseignez « Objet ».",
    "template_id_must_be_a_number": "La valeur « Modèle email » doit être un nombre.",
    "template_id_must_be_a_string": "La valeur « Modèle email » doit être du texte.",
    "template_id_required": "Renseignez « Modèle email ».",
    "transporter_email_must_be_a_string": "La valeur « Email du transporteur » doit être du texte.",
    "transporter_firstname_must_be_a_string": "La valeur « Prénom du transporteur » doit être du texte.",
    "transporter_lastname_must_be_a_string": "La valeur « Nom du transporteur » doit être du texte.",
    "upload_path_not_defined": "L’envoi de fichiers est temporairement indisponible.",
    "user_code_must_be_a_string": "La valeur « Code de réinitialisation » doit être du texte.",
    "user_code_required": "Renseignez « Code de réinitialisation ».",
    "user_email_invalid_email": "Renseignez une adresse email valide pour « Email ».",
    "user_email_must_be_a_string": "La valeur « Email » doit être du texte.",
    "user_email_required": "Renseignez « Email ».",
    "user_firstname_must_be_a_string": "La valeur « Prénom » doit être du texte.",
    "user_firstname_required": "Renseignez « Prénom ».",
    "user_lastname_must_be_a_string": "La valeur « Nom » doit être du texte.",
    "user_lastname_required": "Renseignez « Nom ».",
    "user_password_at_least_1_lowercase": "« Mot de passe » doit contenir au moins une minuscule.",
    "user_password_at_least_1_number": "« Mot de passe » doit contenir au moins un chiffre.",
    "user_password_at_least_1_special_character": "« Mot de passe » doit contenir au moins un caractère spécial.",
    "user_password_at_least_1_uppercase": "« Mot de passe » doit contenir au moins une majuscule.",
    "user_password_confirm_at_least_1_lowercase": "« Confirmation du mot de passe » doit contenir au moins une minuscule.",
    "user_password_confirm_at_least_1_number": "« Confirmation du mot de passe » doit contenir au moins un chiffre.",
    "user_password_confirm_at_least_1_special_character": "« Confirmation du mot de passe » doit contenir au moins un caractère spécial.",
    "user_password_confirm_at_least_1_uppercase": "« Confirmation du mot de passe » doit contenir au moins une majuscule.",
    "user_password_confirm_must_be_a_string": "La valeur « Confirmation du mot de passe » doit être du texte.",
    "user_password_confirm_must_be_longer_than_8": "« Confirmation du mot de passe » doit contenir au moins 8 caractères.",
    "user_password_confirm_must_be_shorter_than_100": "« Confirmation du mot de passe » ne doit pas dépasser 100 caractères.",
    "user_password_confirm_password_too_common": "« Confirmation du mot de passe » est trop courant. Choisissez-en un autre.",
    "user_password_confirm_required": "Renseignez « Confirmation du mot de passe ».",
    "user_password_must_be_a_string": "La valeur « Mot de passe » doit être du texte.",
    "user_password_must_be_longer_than_8": "« Mot de passe » doit contenir au moins 8 caractères.",
    "user_password_must_be_shorter_than_100": "« Mot de passe » ne doit pas dépasser 100 caractères.",
    "user_password_password_too_common": "« Mot de passe » est trop courant. Choisissez-en un autre.",
    "user_password_required": "Renseignez « Mot de passe ».",
    "user_picture_file_too_large": "Le fichier sélectionné pour « Photo de profil » est trop volumineux.",
    "user_picture_must_be_a_file": "Sélectionnez un fichier valide pour « Photo de profil ».",
    "user_picture_must_be_an_array": "La valeur « Photo de profil » doit être une liste.",
    "user_picture_must_have_a_valid_extension": "Le format du fichier sélectionné pour « Photo de profil » n’est pas accepté.",
    "user_picture_must_have_at_most_5242880_elements": "Le fichier sélectionné pour « Photo de profil » ne doit pas dépasser 5 Mo.",
    "volume_max_m3_must_be_a_number": "La valeur « Volume maximal » doit être un nombre.",
    "volume_max_m3_must_be_greater_than_0": "La valeur « Volume maximal » doit être positive ou nulle.",
    "volume_min_m3_must_be_a_number": "La valeur « Volume minimal » doit être un nombre.",
    "volume_min_m3_must_be_greater_than_0": "La valeur « Volume minimal » doit être positive ou nulle.",
    "html_content_required": "Renseignez le contenu HTML de l’email.",
    "html_content_must_be_a_string": "Le contenu HTML de l’email doit être du texte.",
    "logistics_dashboard_period_invalid": "La période du tableau de bord est invalide.",
    "went_wrong": "Une erreur est survenue. Réessayez.",
    "api_went_wrong": "Une erreur est survenue. Réessayez.",
    "content_forbidden_chat": "Ce message contient un contenu non autorisé. Modifiez-le avant de l’envoyer.",
    "content_forbidden_support_subject": "Le sujet contient un contenu non autorisé. Modifiez-le.",
    "content_forbidden_support_message": "Le message contient un contenu non autorisé. Modifiez-le avant de l’envoyer.",
    "content_forbidden_listing_title": "Le titre de l’annonce contient un contenu non autorisé. Modifiez-le.",
    "content_forbidden_listing_description": "La description de l’annonce contient un contenu non autorisé. Modifiez-la.",
    "content_forbidden_listing_details": "Les détails de l’annonce contiennent un contenu non autorisé. Modifiez-les.",
    "content_forbidden_listing_logistics": "Les informations logistiques contiennent un contenu non autorisé. Modifiez-les.",
    "content_forbidden_offer_note": "La note de l’offre contient un contenu non autorisé. Modifiez-la.",
    "content_forbidden_profile": "Ce profil contient un contenu non autorisé. Modifiez le champ concerné.",
    "content_forbidden_delivery": "Les informations de livraison contiennent un contenu non autorisé. Modifiez le champ concerné.",
    "content_forbidden_review": "L’avis contient un contenu non autorisé. Modifiez-le avant de le publier.",
    "content_forbidden_logistics": "Cette note logistique contient un contenu non autorisé. Modifiez-la.",
    "content_forbidden_attachment_name": "Le nom d’une pièce jointe contient un contenu non autorisé. Renommez le fichier.",
    "price_offer_internal_error": "Impossible de traiter la proposition de prix pour le moment. Réessayez.",
    "price_offer_not_found": "Cette proposition de prix est introuvable.",
    "price_offer_not_allowed": "Vous n’êtes pas autorisé à utiliser cette proposition.",
    "price_offer_listing_not_negotiable": "Cette annonce n’accepte pas les offres de prix.",
    "price_offer_listing_unavailable": "Cette annonce n’est plus disponible.",
    "price_offer_listing_reserved_for_other_buyer": "Cette annonce est réservée à un autre acheteur.",
    "price_offer_quantity_unavailable": "La quantité demandée n’est plus disponible.",
    "price_offer_active_exists": "Une proposition de prix est déjà en cours pour cette annonce.",
    "price_offer_not_pending": "Cette proposition n’est plus en attente.",
    "price_offer_expired": "Cette proposition de prix a expiré.",
    "price_offer_currency_mismatch": "La devise de cette proposition ne correspond plus à l’annonce.",
    "listing_already_reserved": "Cette annonce est déjà réservée.",
    "listing_reservation_not_found": "La réservation est introuvable.",
    "listing_reservation_not_allowed": "Vous n’êtes pas autorisé à modifier cette réservation.",
    "listing_reservation_checkout_locked": "La réservation ne peut plus être annulée pendant le paiement.",
    "listing_not_reserved": "Cette annonce n’est pas réservée.",
    "listing_reservation_internal_error": "Impossible de modifier la réservation pour le moment.",
    "listing_reserved_for_other_buyer": "Cette annonce est réservée à un autre acheteur.",
    "passwords_do_not_match": "Les mots de passe ne correspondent pas.",
    "user_passwords_not_match": "Les mots de passe ne correspondent pas.",
    "rgpd_required": "Vous devez accepter le traitement des données pour créer un compte.",
    "rgpd_consent_required": "Vous devez accepter le traitement des données pour créer un compte.",
    "route_info_unavailable": "Route indisponible",
    "category_not_found": "Catégorie introuvable.",
    "category_order_invalid": "La liste des catégories à réordonner n’est plus à jour.",
    "category_has_children": "Supprimez d'abord les sous-catégories de cette catégorie.",
    "category_has_inputs": "Supprimez d'abord les inputs de cette catégorie.",
    "category_in_use": "Cette catégorie est utilisée par une ou plusieurs annonces.",
    "category_icon_invalid": "L’icône doit être un fichier SVG, PNG ou WebP valide de 2 Mo maximum.",
    "listing_quote_provider_inactive": "Activez ce transporteur avant de le définir par défaut.",
    "listing_quote_provider_email_required": "Renseignez l’email de contact du transporteur avant de le définir par défaut.",
    "listing_quote_provider_configuration_invalid": "La configuration du transporteur par défaut est invalide.",
    "listing_quote_provider_unavailable": "Le transporteur chargé des devis de livraison est temporairement indisponible.",
    "listing_delivery_quote_not_found": "Le devis de livraison de l’annonce est introuvable.",
    "listing_delivery_quote_payment_context_not_found": "Le contexte de paiement du devis de livraison est introuvable.",
    "listing_delivery_quote_payment_input_invalid": "Les informations de calcul du devis de livraison sont invalides.",
    "listing_delivery_quote_provider_forbidden": "Ce devis de livraison est affecté à un autre transporteur.",
    "listing_delivery_quote_unassigned": "Ce devis de livraison n’est affecté à aucun transporteur.",
    "listing_delivery_quote_locked": "Ce devis de livraison est déjà validé et verrouillé.",
    "listing_delivery_quote_pending": "Le tarif du transporteur est encore en attente. Actualisez le prix de livraison après sa validation.",
    "listing_delivery_quote_stale": "Le tarif transporteur de cette annonce a changé. Actualisez le prix de livraison.",
    "listing_delivery_quote_revision_conflict": "Le tarif transporteur a été mis à jour par une autre action. Actualisez le prix de livraison.",
    "listing_delivery_quote_fingerprint_conflict": "Les informations logistiques de l’annonce ont changé depuis l’ouverture du devis.",
    "listing_delivery_quote_invalid_amount": "Le montant du devis de livraison est invalide.",
    "listing_delivery_quote_invalid_minimum_amount": "Le minimum de facturation du devis de livraison est invalide.",
    "listing_delivery_quote_invalid_volume": "Les dimensions de l’annonce ne permettent pas une tarification au m³.",
    "listing_delivery_quote_reopen_reason_required": "Renseignez un motif pour rouvrir ce devis de livraison.",
    "user_email_already_exists": "Un compte existe déjà avec cet email.",
    "user_email_not_exists_or_password_incorrect": "Email ou mot de passe incorrect.",
    "user_email_not_exists_or_code_incorrect": "Email ou code incorrect.",
    "code_expired": "Le code a expiré.",
    "invalid_company_domain": "Le domaine du site ou de l'email est invalide.",
    "invalid_company_website": "Le site de l'entreprise est invalide.",
    "company_website_unreachable": "Le site de l'entreprise est inaccessible ou renvoie une erreur.",
    "kbis_required_for_manual_verification": "Un KBIS est requis lorsque le domaine email ne correspond pas au site web.",
    "enterprise_not_found": "Entreprise introuvable.",
    "enterprise_name_required": "Renseignez le nom de l'entreprise.",
    "enterprise_siret_required": "Renseignez le SIRET.",
    "enterprise_website_url_required": "Renseignez le site web.",
    "enterprise_contact_email_invalid_email": "Renseignez une adresse email valide.",
    "enterprise_kbis_must_have_a_valid_extension": "Le KBIS doit être un fichier PDF, JPG ou PNG valide.",
    "enterprise_kbis_must_be_a_file": "Le KBIS doit être un fichier valide.",
    "enterprise_logo_must_have_a_valid_extension": "Le logo doit être une image JPG, PNG ou WebP valide.",
    "enterprise_logo_must_be_a_file": "Le logo doit être un fichier image valide.",
    "enterprise_furniture_types_must_be_an_array": "Les types de mobilier doivent être transmis sous forme de liste.",
    "enterprise_furniture_types_must_be_a_string": "Chaque type de mobilier doit être du texte.",
    "enterprise_public_location_visibility_invalid_value": "Sélectionnez Ville ou Département pour la localisation publique.",
    "public_profile_code_retry_attempts_invalid": "L’identifiant public de l’entreprise n’a pas pu être créé. Réessayez.",
    "enterprise_address_line1_required": "Renseignez l'adresse.",
    "enterprise_city_required": "Renseignez la ville.",
    "enterprise_region_required": "Renseignez le département ou la région.",
    "enterprise_postal_code_required": "Renseignez le code postal.",
    "enterprise_country_required": "Renseignez le pays.",
    "verification_not_pending": "Cette entreprise n'attend pas de code de vérification.",
    "invalid_verification_code": "Code de vérification incorrect.",
    "invalid_verification_link": "Lien de vérification invalide.",
    "rejection_reason_required": "Le motif de refus est obligatoire.",
    "enterprise_not_verified": "Votre entreprise doit être vérifiée avant de publier une annonce.",
    "furniture_not_found": "Offre introuvable.",
    "invalid_public_furniture_visibility_alias": "La visibilité publique de cette annonce est indisponible. Réessayez.",
    "listing_service_refund_invalid": "La demande de remboursement est invalide.",
    "listing_service_refund_purchase_not_found": "Un service sélectionné n’appartient pas à cette annonce.",
    "listing_service_refund_idempotency_conflict": "Cette opération de remboursement a déjà été utilisée avec une autre sélection.",
    "listing_service_refund_purchase_not_paid": "Seuls les services payés peuvent être remboursés.",
    "listing_service_refund_already_succeeded": "Un service sélectionné a déjà été remboursé.",
    "listing_service_refund_already_pending": "Un remboursement est déjà en cours pour un service sélectionné.",
    "listing_service_refund_payment_intent_mismatch": "Les services sélectionnés ne proviennent pas du même paiement Stripe.",
    "listing_service_refund_currency_mismatch": "Les services sélectionnés n’utilisent pas la même devise.",
    "listing_service_refund_amount_invalid": "Le montant du remboursement est invalide.",
    "listing_service_refund_outcome_indeterminate": "Stripe a peut-être reçu la demande. Rejouez la même opération pour vérifier son résultat sans créer de doublon.",
    "furniture_media_limit": "Une annonce peut contenir au maximum 10 images.",
    "invalid_furniture_media": "Une ou plusieurs images ne sont pas associées à cette annonce.",
    "furniturelang_already_exists": "Une traduction existe déjà pour cette offre.",
    "user_not_found": "Utilisateur introuvable.",
    "user_picture_required": "Ajoutez une photo de profil avant d'enregistrer.",
    "cart_not_found": "Panier introuvable.",
    "cart_empty": "Le panier est vide.",
    "cart_item_unavailable": "Cette offre n'est plus disponible.",
    "cart_quantity_unavailable": "La quantité demandée n'est pas disponible.",
    "cart_lot_quantity_required": "Cette offre est vendue uniquement par lot complet.",
    "cart_mixed_currency": "Le panier contient plusieurs devises. Payez chaque devise séparément.",
    "cart_version_conflict": "Le panier a été modifié. Actualisez-le puis réessayez.",
    "cart_loading": "Le panier est en cours d’actualisation. Réessayez dans un instant.",
    "cart_seller_changed": "Les informations du vendeur ont changé. Actualisez les articles concernés.",
    "seller_fulfillment_not_found": "Le groupe vendeur est introuvable.",
    "seller_fulfillment_projection_invalid": "Le suivi détaillé du groupe vendeur est indisponible.",
    "seller_fulfillment_forbidden": "Vous n’êtes pas autorisé à modifier ce suivi vendeur.",
    "seller_fulfillment_version_conflict": "Ce suivi vendeur a été mis à jour. Actualisez la page puis réessayez.",
    "seller_fulfillment_transition_not_allowed": "Cette transition de suivi vendeur n’est pas autorisée.",
    "shipment_version_conflict": "Cette livraison a changé. Son dernier statut a été chargé.",
    "shipment_transition_not_allowed": "Ce changement de statut n’est plus autorisé.",
    "seller_fulfillment_not_delivered": "La livraison de ce vendeur n’est pas encore confirmée.",
    "transition_operation_conflict": "Cette opération a déjà été utilisée avec d’autres informations. Actualisez la page.",
    "buyer_reserve_reason_required": "Indiquez le motif de la réserve.",
    "seller_fulfillment_locked_for_legacy_review": "Ce groupe vendeur doit être contrôlé avant toute modification.",
    "delivery_address_not_found": "Adresse de livraison introuvable.",
    "delivery_mode_not_available": "Ce mode de remise n'est pas disponible pour cette offre.",
    "chat_cannot_contact_self": "Vous ne pouvez pas contacter votre propre entreprise pour cette offre.",
    "chat_not_found": "Discussion introuvable.",
    "chat_message_empty": "Ajoutez un message ou une pièce jointe avant d'envoyer.",
    "chat_closed": "Cette discussion est fermée.",
    "chat_cardinality_invalid": "La conversation présente des participants incohérents. Actualisez puis réessayez.",
    "delivery_contribution_not_found": "Cette proposition de participation est introuvable.",
    "delivery_contribution_not_allowed": "Vous ne pouvez pas agir sur cette proposition de participation.",
    "delivery_contribution_scope_stale": "Le panier ou le périmètre de livraison a changé. Actualisez puis recommencez la proposition.",
    "delivery_contribution_scope_invalid": "Le périmètre de cette participation à la livraison n’est plus valide. Actualisez puis réessayez.",
    "delivery_contribution_buyer_share_required": "Aucun montant de livraison à la charge de l’acheteur ne peut être négocié pour ce groupe vendeur.",
    "delivery_contribution_active_exists": "Une négociation de livraison est déjà en cours pour ce groupe vendeur.",
    "delivery_contribution_pending": "Le paiement est suspendu jusqu’à la réponse du vendeur sur la participation à la livraison.",
    "delivery_contribution_not_pending": "Cette proposition de participation a déjà reçu une réponse.",
    "delivery_contribution_expired": "Cette proposition de participation a expiré.",
    "delivery_contribution_invalidated": "Cette négociation a été invalidée par une modification du panier ou de la livraison.",
    "delivery_contribution_percentage_invalid": "La participation du vendeur doit être comprise entre 5 et 50 %, par pas de 5 %.",
    "delivery_contribution_cart_not_found": "Le panier associé à cette négociation est introuvable.",
    "delivery_contribution_fulfillment_not_found": "Le groupe vendeur associé à cette négociation est introuvable.",
    "delivery_contribution_quote_not_found": "Le devis de livraison associé est introuvable.",
    "delivery_contribution_quote_not_accepted": "Le devis de livraison doit être accepté avant de négocier sa répartition.",
    "delivery_contribution_quote_expired": "Le devis de livraison associé a expiré.",
    "delivery_contribution_quote_changed": "Le devis de livraison a changé. Vérifiez les nouveaux montants avant de recommencer.",
    "delivery_contribution_version_conflict": "Le panier ou la négociation a été mis à jour. Actualisez la page puis réessayez.",
    "delivery_contribution_cart_expired": "La répartition acceptée a expiré. Restaurez ou recalculez la livraison avant de payer.",
    "delivery_contribution_currency_mismatch": "La devise de la proposition ne correspond plus à celle du devis de livraison.",
    "delivery_contribution_allocation_invalid": "La répartition des frais de livraison est incohérente. Actualisez la page puis réessayez.",
    "delivery_contribution_internal_error": "Impossible de traiter cette participation à la livraison pour le moment. Réessayez.",
    "delivery_contribution_listing_active_exists": "Une demande de participation est déjà en cours pour cette annonce et cette quantité.",
    "delivery_contribution_listing_allocation_invalid": "La répartition enregistrée des frais de livraison est incohérente. Recalculez la livraison avant de payer.",
    "delivery_contribution_listing_expired": "Cette demande de participation a expiré. Envoyez une nouvelle proposition.",
    "delivery_contribution_listing_internal_error": "Impossible de traiter cette participation à la livraison pour le moment. Réessayez.",
    "delivery_contribution_listing_invalid": "Cette demande de participation est incomplète ou incohérente.",
    "delivery_contribution_listing_invalidated": "Cette participation n’est plus applicable car les conditions de l’annonce ont changé.",
    "delivery_contribution_listing_not_allowed": "Vous ne pouvez pas agir sur cette demande de participation.",
    "delivery_contribution_listing_not_found": "Cette demande de participation est introuvable.",
    "delivery_contribution_listing_not_pending": "Cette proposition a déjà reçu une réponse.",
    "delivery_contribution_listing_percentage_invalid": "La participation du vendeur doit être comprise entre 5 et 50 %, par pas de 5 %.",
    "delivery_contribution_listing_seller_proceeds_insufficient": "Le produit de la vente ne permet pas au vendeur de couvrir cette participation. Proposez un pourcentage plus faible.",
    "delivery_contribution_listing_stock_changed": "Le stock disponible ne correspond plus à la quantité convenue.",
    "delivery_contribution_listing_unavailable": "Cette annonce ne permet plus une participation aux frais de livraison.",
    "delivery_contribution_listing_version_conflict": "La proposition a changé. Consultez sa dernière révision puis réessayez.",
    "chat_operation_token_invalid": "L’identifiant temporaire d’envoi est invalide. Actualisez puis réessayez.",
    "chat_status_changed": "Une autre action a modifié ce litige. Consultez son état actualisé avant de réessayer.",
    "chat_request_percentage_invalid": "Le pourcentage de participation doit être compris entre 5 et 50 %.",
    "chat_request_not_pending": "Cette demande n'est plus en attente ou vous n'êtes pas autorisé à y répondre.",
    "support_ticket_subject_empty": "Ajoutez un sujet à votre demande support.",
    "support_ticket_message_empty": "Ajoutez un message à votre demande support.",
    "support_ticket_context_required": "Le contexte de la commande ou de la livraison est obligatoire.",
    "support_ticket_context_forbidden": "Vous ne pouvez pas ouvrir de ticket sur ce contexte.",
    "support_ticket_not_found": "Ticket support introuvable.",
    "support_ticket_closed": "Ce ticket support est fermé.",
    "support_ticket_status_changed": "Une autre action a modifié ce dossier support. Consultez son état actualisé avant de réessayer.",
    "email_sender_missing": "L'expéditeur email n'est pas configuré.",
    "email_template_not_found": "Modèle email introuvable.",
    "stripe_not_configured": "Stripe n'est pas encore configuré.",
    "stripe_signature_missing": "Signature Stripe manquante.",
    "stripe_signature_invalid": "Signature Stripe invalide.",
    "stripe_checkout_session_id_missing": "Identifiant de session Stripe manquant.",
    "stripe_checkout_flow_invalid": "Le type du paiement Stripe est invalide.",
    "stripe_webhook_failed": "Le webhook Stripe a échoué.",
    "stripe_dispute_payload_invalid": "Les données du litige Stripe sont invalides.",
    "stripe_event_claim_failed": "L’événement Stripe n’a pas pu être réservé pour traitement.",
    "stripe_event_completion_failed": "Le traitement de l’événement Stripe n’a pas pu être finalisé.",
    "stripe_event_failure_failed": "L’échec de l’événement Stripe n’a pas pu être enregistré.",
    "stripe_event_identity_mismatch": "L’événement Stripe reçu ne correspond pas à l’événement attendu.",
    "stripe_event_recovery_identity_invalid": "L’événement Stripe à reprendre est invalide.",
    "stripe_event_recovery_selection_failed": "La reprise des événements Stripe est temporairement indisponible.",
    "stripe_event_payload_conflict": "Le contenu de l’événement Stripe ne correspond pas à celui déjà reçu.",
    "stripe_account_id_missing": "Le compte Stripe associé est introuvable.",
    "stripe_account_sync_failed": "La synchronisation du compte Stripe a échoué. Réessayez.",
    "stripe_connect_not_enabled": "Stripe Connect n’est pas activé sur le compte Stripe de la plateforme.",
    "stripe_connect_url_missing": "Stripe n’a pas renvoyé de lien de configuration.",
    "stripe_checkout_url_missing": "Stripe n’a pas renvoyé de lien de paiement.",
    "seller_stripe_not_ready": "Un vendeur du panier n’a pas encore activé Stripe Connect.",
    "seller_payout_not_ready": "Un vendeur doit finaliser la configuration de ses versements avant le paiement.",
    "logistics_payout_not_ready": "Le prestataire de livraison doit finaliser la configuration de ses versements avant le paiement.",
    "stripe_payout_payload_invalid": "Les données du versement Stripe sont invalides.",
    "payout_reconciliation_invalid_result": "Le rapprochement du versement est temporairement indisponible. Réessayez.",
    "payout_reconciliation_source_conflict": "Le rapprochement du versement nécessite une vérification.",
    "payout_reconciliation_transaction_conflict": "Le rapprochement du versement nécessite une vérification.",
    "transfer_recovery_row_invalid": "Les données du transfert à reprendre sont invalides.",
    "transfer_recovery_selection_failed": "La reprise des transferts est temporairement indisponible.",
    "stripe_transfer_list_invalid": "La vérification des virements Stripe est temporairement indisponible. Réessayez.",
    "stripe_transfer_reconciliation_required": "Ce virement doit être contrôlé manuellement avant toute nouvelle tentative.",
    "stripe_transfer_reconciliation_conflict": "Les données Stripe de ce virement sont incompatibles et nécessitent un contrôle manuel.",
    "transfer_quarantine_failed": "La mise en sécurité du virement a échoué. Aucune nouvelle tentative n’a été envoyée.",
    "compensating_refund_attribution_invalid": "Le remboursement compensatoire ne correspond pas au paiement attendu et nécessite un contrôle.",
    "listing_purchase_items_invalid": "Les achats d'annonce demandés sont invalides.",
    "listing_purchase_items_required": "Sélectionnez au moins une action à payer.",
    "listing_defects_acknowledgement_required": "Confirmez les défauts visibles avant de publier l'annonce.",
    "listing_requires_moderation_review": "Cette annonce doit être revue avant publication.",
    "listing_extension_requires_publication": "La prolongation nécessite une annonce déjà publiée.",
    "listing_sponsorship_requires_publication": "Le sponsoring nécessite une annonce publiée ou une publication payée dans la même session.",
    "listing_checkout_not_created": "Le paiement d'annonce n'a pas pu être créé.",
    "listing_checkout_not_found": "Paiement d'annonce introuvable.",
    "listing_checkout_not_paid": "Le paiement d'annonce n'est pas encore confirmé.",
    "listing_checkout_promo_code_invalid": "Ce code promotionnel est invalide, expiré ou incompatible avec cette devise.",
    "listing_checkout_payment_method_not_supported": "Le virement bancaire est disponible uniquement pour les paiements d’annonces en EUR.",
    "listing_checkout_preview_stale": "Le récapitulatif a changé. Attendez son actualisation avant de payer.",
    "listing_checkout_operation_conflict": "Cette tentative de paiement ne correspond plus à la sélection affichée. Réessayez.",
    "listing_checkout_operation_terminal": "Cette tentative de paiement est déjà terminée. Relancez le paiement depuis vos annonces.",
    "listing_checkout_recovery_required": "La création du paiement doit être vérifiée auprès de Stripe. Réessayez dans un instant sans modifier votre sélection.",
    "listing_checkout_stripe_identity_mismatch": "Le paiement Stripe ne correspond pas au paiement d’annonce attendu.",
    "listing_bank_transfer_instructions_invalid": "Les instructions de virement Stripe sont indisponibles. Réessayez dans un instant.",
    "listing_checkout_confirmation_error": "Le paiement d’annonce n’a pas pu être confirmé.",
    "listing_checkout_amount_invalid": "Le montant du paiement d’annonce est invalide.",
    "listing_checkout_contract_invalid": "Les informations du paiement d’annonce sont invalides.",
    "promo_code_invalid": "Le code promotionnel doit contenir entre 3 et 40 lettres, chiffres, tirets ou underscores.",
    "promo_code_amount_invalid": "La remise doit être un montant positif en euros.",
    "promo_code_offered_services_invalid": "Sélectionnez au moins un service offert.",
    "promo_code_conflict": "Ce code promotionnel existe déjà.",
    "promo_code_not_found": "Code promotionnel introuvable.",
    "listing_checkout_invoice_not_ready": "La facture n'est pas encore disponible.",
    "listing_checkout_receipt_not_ready": "Le reçu de paiement n'est pas encore disponible.",
    "e2e_environment_not_available": "Cet environnement n’autorise pas les tests de bout en bout.",
    "e2e_database_mismatch": "La base de test attendue ne correspond pas à cet environnement.",
    "e2e_stripe_test_mode_required": "Le mode test de Stripe est requis pour ce test de bout en bout.",
    "logistics_access_information_required": "Renseignez toutes les informations d’accès avant de publier avec le transport Requipa.",
    "logistics_notes_required": "Ajoutez les informations complémentaires pour le transporteur avant de publier avec le transport Requipa.",
    "logistics_request_required": "Renseignez les informations de livraison avant de payer.",
    "logistics_request_not_found": "Demande logistique introuvable.",
    "logistics_request_group_mismatch": "La demande de livraison ne correspond plus à ce groupe vendeur.",
    "no_delivery_required": "Aucun transport n’est requis pour ce groupe vendeur.",
    "invalid_delivery_postal_code": "Renseignez un code postal de livraison valide.",
    "address_suggestion_invalid_request": "Saisissez au moins 3 caractères de l’adresse.",
    "address_suggestion_provider_unavailable": "La recherche d’adresse est temporairement indisponible.",
    "city_suggestion_invalid_request": "Renseignez un code postal valide.",
    "city_suggestion_provider_unavailable": "La suggestion de ville est temporairement indisponible.",
    "missing_pickup_postal_code": "Le lieu d’enlèvement du vendeur est incomplet.",
    "missing_dimensions": "Les dimensions d’un article sont manquantes pour calculer la livraison.",
    "delivery_distance_unavailable": "La distance routière n’est pas disponible pour le moment.",
    "no_active_provider": "Aucun transporteur n’est disponible pour cette livraison.",
    "rate_band_not_found": "Aucun tarif de livraison ne correspond à ce trajet.",
    "provider_name_required": "Renseignez le nom du transporteur.",
    "logistics_provider_not_found": "Transporteur introuvable.",
    "logistics_provider_transporter_missing": "Aucun compte transporteur n’est rattaché à ce transporteur.",
    "transport_invoices_not_found": "Aucune facture de transport n’est disponible pour cette commande.",
    "logistics_provider_not_allowed": "Vous n'êtes pas autorisé à agir pour ce transporteur.",
    "logistics_quote_read_only_probe_internal_error": "Impossible de vérifier ce devis pour le moment. Réessayez.",
    "logistics_read_only_probe_internal_error": "Impossible de vérifier la demande logistique pour le moment. Réessayez.",
    "logistics_rate_band_not_found": "Barème logistique introuvable.",
    "logistics_quote_stale": "Le prix de livraison doit être recalculé.",
    "logistics_quote_required": "Le prix de livraison doit être calculé avant de payer.",
    "logistics_price_required": "Calculez le prix de livraison avant de payer.",
    "logistics_price_stale": "Le prix de livraison a changé. Recalculez-le avant de payer.",
    "logistics_cost_allocation_mismatch": "La répartition du coût de livraison ne correspond pas au devis.",
    "logistics_transfer_id_required": "Sélectionnez un reversement transport à libérer.",
    "logistics_transfer_not_found": "Reversement transport introuvable.",
    "multi_seller_checkout_disabled": "Le paiement d'un panier avec plusieurs vendeurs n'est pas encore disponible.",
    "multi_seller_write_disabled": "Les modifications d'un panier multi-vendeurs sont temporairement désactivées.",
    "multi_seller_read_disabled": "La consultation du panier multi-vendeurs est temporairement indisponible.",
    "platform_setting_invalid_value": "La valeur du paramètre est invalide.",
    "platform_setting_not_found": "Paramètre plateforme introuvable.",
    "cart_changed": "Le panier a changé. Vérifiez les prix, devises ou stocks avant de payer.",
    "payment_not_found": "Paiement introuvable.",
    "order_not_found": "Commande introuvable.",
    "order_checkout_not_created": "Le paiement de la commande n'a pas pu être créé.",
    "checkout_payment_method_not_supported": "Ce paiement doit être effectué par carte bancaire.",
    "checkout_address_invalid": "L’adresse de livraison ou de facturation est incomplète. Vérifiez-la avant de payer.",
    "depot_storage_terms_required": "Pour un retrait au dépôt, acceptez les conditions générales de stockage de DMAX avant de payer.",
    "checkout_attempt_conflict": "Ce paiement ne correspond plus au récapitulatif affiché. Actualisez le total puis réessayez.",
    "checkout_attempt_expired": "Ce lien de paiement a expiré. Actualisez le total pour en créer un nouveau.",
    "checkout_snapshot_invalid": "Le récapitulatif du paiement est indisponible. Actualisez le panier puis réessayez.",
    "checkout_preview_stale": "Le total a changé. Un nouveau récapitulatif doit être chargé avant le paiement.",
    "order_checkout_pending": "La création du paiement est toujours en cours. Réessayez dans un instant sans modifier le panier.",
    "checkout_expiry_rejected": "Le paiement n’a pas pu être ouvert dans le délai prévu. Actualisez le total puis réessayez.",
    "checkout_expiry_mismatch": "La durée du lien de paiement est incohérente. Actualisez le total puis réessayez.",
    "order_checkout_not_paid": "Le paiement de la commande n'est pas encore confirmé.",
    "order_payment_proof_not_ready": "La preuve de paiement n'est pas encore disponible.",
    "seller_invoices_not_ready": "Les factures vendeurs ne sont pas encore disponibles.",
    "seller_invoice_invalid": "Les données de la facture vendeur sont invalides et nécessitent une vérification.",
    "order_tracking_status_not_allowed": "Ce statut de suivi n'est pas autorisé.",
    "review_not_created": "L'avis n'a pas pu être créé.",
    "currency_not_found": "Devise introuvable.",
    "currency_code_required": "Code devise obligatoire.",
    "seller_transfer_id_required": "Sélectionnez un transfert vendeur à libérer.",
    "seller_transfer_not_found": "Transfert vendeur introuvable.",
    "language_not_found": "Langue introuvable.",
    "language_in_use": "Cette langue est utilisée par des annonces et ne peut pas être supprimée.",
    "category_required": "Sélectionnez une catégorie.",
    "category_path_invalid": "Sélectionnez un chemin de catégories valide jusqu’à une catégorie finale.",
    "listing_lot_required": "Plusieurs articles de même typologie doivent être vendus en lot.",
    "category_slug_duplicate": "Cette adresse de catégorie est déjà utilisée.",
    "category_slug_invalid": "L’adresse de catégorie est invalide.",
    "input_not_allowed": "Un critère ne correspond pas aux catégories sélectionnées.",
    "input_required": "Renseignez les critères obligatoires.",
    "input_value_invalid": "La valeur d’un critère est invalide.",
    "input_not_found": "Input introuvable.",
    "input_value_in_use": "Cet input est renseigné sur une ou plusieurs annonces.",
    "input_visibility_controller_in_use": "Cet input déclenche la visibilité d'un autre input.",
    "input_visibility_conditions_invalid": "Les dépendances de visibilité sont invalides.",
    "input_visibility_controller_not_allowed": "Un input déclencheur ne fait pas partie du chemin de cette catégorie.",
    "input_visibility_cycle": "Ces dépendances créent une boucle de visibilité.",
    "input_minvalue_must_be_less_than_maxvalue": "Le minimum doit être inférieur au maximum.",
    "listing_lifecycle_stamp_field_invalid": "Champ de relance annonce invalide.",
    "input_values_invalid": "Les valeurs d'inputs sont invalides.",
    "input_value_options_invalid": "Les options ou leurs aperçus sont invalides.",
    "email_type_invalid": "Ce type d’email système est invalide.",
    "email_locale_invalid": "La langue demandée pour cet email n’est pas prise en charge.",
    "email_merge_field_invalid": "Un champ de fusion utilisé dans cet email n’est pas autorisé.",
    "email_merge_context_missing": "Une information obligatoire manque pour générer cet email.",
    "email_sender_invalid": "Le nom ou l’adresse d’expéditeur de cet email est invalide.",
    "email_subject_invalid": "L’objet de cet email est invalide.",
    "email_branding_image_invalid": "L’image d’en-tête de cet email est invalide.",
    "email_delivery_payload_invalid": "Le contenu sécurisé de cet email est invalide ou a expiré.",
    "email_delivery_encryption_key_invalid": "La clé de chiffrement des emails n’est pas configurée correctement.",
    "email_provider_error": "Le fournisseur d’email a refusé l’envoi. Une nouvelle tentative sera effectuée.",
    "email_delivery_payload_expired": "Le contenu sécurisé de cet email a expiré.",
    "email_template_critical_required": "Cet email critique doit rester actif.",
    "email_template_conflict": "Ce modèle a été modifié par un autre administrateur. Rechargez-le avant de recommencer.",
    "email_branding_conflict": "La personnalisation a été modifiée par un autre administrateur. Rechargez-la avant de recommencer.",
    "email_branding_not_found": "La personnalisation des emails est introuvable.",
    "email_delivery_not_found": "Cet envoi email est introuvable.",
    "email_delivery_resend_requires_new_secret": "Cet email contenait un lien ou un code sécurisé qui ne peut pas être réutilisé. Relancez l’action d’origine pour générer un nouveau secret.",
    "email_delivery_worker_failed": "Le traitement de cet email a échoué. Une nouvelle tentative sera effectuée si possible.",
    "email_dispatch_failed": "L’email n’a pas pu être pris en charge.",
    "email_merge_field_metadata_missing": "La définition d’un champ de fusion est manquante.",
    "email_template_invalid": "Ce modèle email est invalide.",
    "category_installation_not_applicable_must_be_a_boolean": "Le choix « Mise en place non applicable » doit être oui ou non.",
    "category_logistics_review_notice_must_be_a_boolean": "Le choix « Message logistique après paiement » doit être oui ou non.",
    "category_reassembly_discount_percent_must_be_a_number": "La moins-value doit être un nombre.",
    "category_reassembly_discount_percent_must_be_greater_than_0": "La moins-value ne peut pas être négative.",
    "category_reassembly_discount_percent_must_be_less_than_100": "La moins-value ne peut pas dépasser 100 %.",
    "depot_not_found": "Aucun dépôt partenaire ne couvre cette adresse.",
    "storage_requested_required": "Indiquez si vous souhaitez un stockage.",
    "storage_requested_must_be_a_boolean": "Le choix du stockage doit être oui ou non.",
    "depot_name_required": "Renseignez le nom du dépôt.",
    "depot_address_line1_required": "Renseignez l’adresse du dépôt.",
    "depot_postal_code_required": "Renseignez le code postal du dépôt.",
    "depot_city_required": "Renseignez la ville du dépôt.",
    "depot_contact_email_invalid_email": "Renseignez une adresse email valide.",
    "depot_id_required": "Dépôt introuvable.",
    "delivery_address_access_required": "Indiquez l’étage, l’ascenseur et le parking privé de votre adresse de livraison.",
    "delivery_address_floor_number_required": "Indiquez l’étage de votre adresse de livraison.",
    "delivery_address_floor_number_must_be_a_number": "L’étage doit être un nombre.",
    "delivery_address_floor_number_must_be_greater_than_0": "L’étage ne peut pas être négatif.",
    "delivery_address_floor_number_must_be_less_than_200": "L’étage ne peut pas dépasser 200.",
    "delivery_address_has_elevator_required": "Indiquez s’il y a un ascenseur.",
    "delivery_address_has_elevator_must_be_a_boolean": "Le choix « Ascenseur » doit être oui ou non.",
    "delivery_address_has_private_parking_required": "Indiquez s’il y a un parking privé.",
    "delivery_address_has_private_parking_must_be_a_boolean": "Le choix « Parking privé » doit être oui ou non.",
    "delivery_floor_number_must_be_a_number": "L’étage doit être un nombre.",
    "delivery_mode_must_be_one_of": "Mode de livraison invalide.",
    "furniture_pickup_floor_must_be_a_string": "L’étage doit être un nombre entier.",
    "handling_dismantling_amount_minor_must_be_a_number": "Le montant de manutention doit être un nombre.",
    "handling_reassembly_amount_minor_must_be_a_number": "Le montant de manutention doit être un nombre.",
    "handling_dismantling_amount_minor_must_be_greater_than_0": "Le montant de manutention ne peut pas être négatif.",
    "handling_reassembly_amount_minor_must_be_greater_than_0": "Le montant de manutention ne peut pas être négatif.",
    "depot_id_must_be_a_string": "La valeur doit être du texte.",
    "depot_name_must_be_a_string": "La valeur doit être du texte.",
    "depot_address_line1_must_be_a_string": "La valeur doit être du texte.",
    "depot_address_line2_must_be_a_string": "La valeur doit être du texte.",
    "depot_postal_code_must_be_a_string": "La valeur doit être du texte.",
    "depot_city_must_be_a_string": "La valeur doit être du texte.",
    "depot_contact_name_must_be_a_string": "La valeur doit être du texte.",
    "depot_contact_phone_must_be_a_string": "La valeur doit être du texte.",
    "depot_contact_email_must_be_a_string": "La valeur doit être du texte.",
    "depot_is_ile_de_france_must_be_a_boolean": "Le choix « Tarif Île-de-France » doit être oui ou non.",
    "depot_active_must_be_a_boolean": "Le choix « Actif » doit être oui ou non.",
    "user_email_not_verified": "Votre adresse email n'est pas encore validée. Saisissez le code reçu par email.",
    "user_email_already_verified": "Ce compte est déjà validé. Vous pouvez vous connecter."
  },
  "payment": {
    "amount": "Montant",
    "session": "Session Stripe",
    "apple_pay": "Payer avec Apple Pay",
    "stripe_checkout_hint": "Finalisez votre paiement sur Stripe.",
    "documents": {
      "invoice": "Télécharger la facture",
      "receipt": "Voir le reçu de paiement",
      "opening": "Ouverture du document..."
    },
    "method": {
      "card": "Carte bancaire",
      "klarna": "Klarna · 4x sans frais",
      "bank_transfer": "Virement bancaire"
    },
    "method_hint": {
      "card": "Apple Pay peut être proposé par Stripe si votre appareil et votre navigateur sont compatibles.",
      "klarna": "Paiement en quatre fois sans frais via Klarna, sous réserve d’éligibilité.",
      "bank_transfer": "Paiement par virement proposé via Stripe quand la devise le permet."
    },
    "method_fee": {
      "card": "Frais de service : {{percent}} %",
      "klarna": "Frais de service : {{percent}} %",
      "bank_transfer": "Frais de service : {{percent}} %"
    },
    "bank_transfer": {
      "title": "Virement en attente",
      "closed": {
        "expired": {
          "title": "Délai de virement dépassé",
          "buyer": "Le délai de paiement est dépassé et la réservation a été libérée. N’utilisez plus les anciennes instructions de virement. Vous pouvez reprendre votre panier selon les disponibilités.",
          "seller": "Le délai de paiement est dépassé et la réservation a été libérée. N’expédiez pas cette commande."
        },
        "refund_pending": {
          "title": "Remboursement en cours",
          "buyer": "Votre virement a été reçu après expiration de la réservation. Son remboursement automatique est en cours. La commande n’est pas validée.",
          "seller": "Le virement a été reçu après expiration de la réservation. Son remboursement est en cours. N’expédiez pas cette commande."
        },
        "refunded": {
          "title": "Virement remboursé",
          "buyer": "Votre virement reçu après expiration de la réservation a été remboursé. La commande n’est pas validée. Vous pouvez reprendre votre panier selon les disponibilités.",
          "seller": "Le virement reçu après expiration de la réservation a été remboursé. La commande n’est pas validée et ne doit pas être expédiée."
        }
      },
      "buyer_description": "Les instructions de virement sont prêtes. Effectuez le virement avant la date limite pour conserver la réservation.",
      "seller_description": "Le paiement de cette commande est en attente. Les produits ci-dessous restent réservés jusqu’à la date limite.",
      "total_amount": "Montant de la commande",
      "remaining_amount": "Montant restant",
      "deadline": "Date limite du virement",
      "deadline_unavailable": "Date limite indisponible",
      "reference": "Référence à indiquer",
      "instructions": "Voir les instructions de virement Stripe",
      "products": "Produits réservés",
      "product_line": "{{count}} × {{product}}",
      "buyer_shipping_blocked": "L’expédition commencera uniquement après réception effective des fonds.",
      "seller_shipping_blocked": "N’expédiez pas et ne préparez pas la commande avant la confirmation du paiement."
    },
    "status": {
      "created": "Créé",
      "checkout_open": "Paiement en cours",
      "awaiting_bank_transfer": "Virement en attente",
      "processing": "Traitement en cours",
      "paid": "Payé",
      "failed": "Échoué",
      "expired": "Expiré",
      "cancelled": "Annulé"
    },
    "return": {
      "eyebrow": "Paiement",
      "title": "Retour paiement",
      "orders": "Voir mes commandes",
      "description": {
        "default": "Le statut est en cours de synchronisation avec Stripe.",
        "checkout_open": "Le paiement est encore en cours de confirmation.",
        "awaiting_bank_transfer": "Les instructions de virement sont prêtes. La commande reste réservée jusqu’à la réception effective des fonds.",
        "paid": "Le paiement est confirmé. Le vendeur sera payé après libération des fonds.",
        "failed": "Le paiement a échoué. Votre panier peut être repris.",
        "expired": "La session de paiement a expiré.",
        "cancelled": "La session de paiement a été annulée."
      }
    },
    "status_form": {
      "success": "Statut paiement chargé",
      "unavailable": "Statut paiement indisponible",
      "not-allowed": "Action non autorisée."
    }
  },
  "adminConversations": {
    "form": "Conversation admin",
    "search": {
      "placeholder": "Rechercher un nom, un e-mail, un sujet ou une référence"
    },
    "type": {
      "all": "Tous les types",
      "support": "Support",
      "dispute": "Litige",
      "marketplace": "Marketplace",
      "negotiation": "Négociation",
      "delivery_contribution": "Participation livraison"
    },
    "status": {
      "all": "Tous les statuts",
      "open": "Ouvert",
      "in_progress": "En cours",
      "resolved": "Résolu",
      "closed": "Fermé",
      "label": "Statut",
      "updating": "Mise à jour…",
      "confirm": "Confirmer",
      "reopen": "Rouvrir la conversation"
    },
    "sort": {
      "recent": "Plus récent",
      "oldest": "Plus ancien",
      "requester_asc": "Demandeur",
      "status": "Statut"
    },
    "results": "{{count}} conversations",
    "unread": "{{count}} messages non lus",
    "pagination": {
      "previous": "Précédent",
      "next": "Suivant",
      "page": "Page {{page}} sur {{totalPages}} · {{total}} conversations"
    },
    "empty": {
      "all": {
        "title": "Aucune conversation",
        "description": "Les demandes Support, Litiges et conversations marketplace apparaîtront ici."
      },
      "filtered": {
        "title": "Aucune conversation correspondante",
        "description": "Modifiez votre recherche ou vos filtres.",
        "clear": "Effacer les filtres"
      }
    },
    "error": {
      "list": "La file de conversations n’a pas pu être chargée.",
      "detail": "La conversation n’a pas pu être chargée.",
      "retry": "Réessayer",
      "send": "Le message n’a pas pu être envoyé.",
      "status": "Le statut n’a pas pu être modifié."
    },
    "detail": {
      "none": {
        "title": "Sélectionnez une conversation",
        "description": "Choisissez une conversation pour voir son contexte."
      }
    },
    "loading": {
      "list": "Chargement des conversations",
      "detail": "Chargement de la conversation"
    },
    "context": {
      "open": "Voir le contexte",
      "close": "Masquer le contexte",
      "title": "Contexte du dossier",
      "requester": "Demandeur",
      "requester_role": "Rôle du demandeur",
      "order": "Commande",
      "furniture": "Mobilier",
      "logistics": "Logistique",
      "logistics_request": "Demande logistique",
      "buyer": "Acheteur",
      "seller": "Vendeur",
      "enterprise": "Entreprise"
    },
    "subject": {
      "dispute_fallback": "Conversation de litige",
      "conversation_fallback": "Conversation marketplace"
    },
    "message": {
      "placeholder": "Écrire une réponse…",
      "send": "Envoyer",
      "sending": "Envoi…",
      "empty": "Ajoutez un message ou une pièce jointe avant d’envoyer.",
      "too_many_files": "Vous avez atteint le nombre maximal de pièces jointes.",
      "file_too_large": "Une pièce jointe dépasse la taille maximale autorisée.",
      "unsupported_file": "Ce type de fichier n’est pas accepté."
    },
    "closed": {
      "title": "Conversation fermée",
      "description": "Rouvrez cette conversation pour envoyer une réponse."
    },
    "attachment": {
      "open": "Ajouter une pièce jointe",
      "remove": "Retirer {{name}}"
    },
    "warning": {
      "partial_notification": "Le message est enregistré, mais une ou plusieurs notifications n’ont pas pu être envoyées."
    },
    "sender": {
      "admin": "Support Requipa"
    },
    "mobile": {
      "back": "Retour aux conversations"
    }
  },
  "transfer": {
    "status": {
      "created": "Créé",
      "pending_delivery": "En attente livraison",
      "pending_admin_decision": "Décision admin requise",
      "pending_release": "À libérer",
      "transferring": "Transfert en cours",
      "transferred": "Transféré",
      "failed": "Échoué",
      "cancelled": "Annulé"
    },
    "payout_status": {
      "not_started": "Virement bancaire non lancé",
      "pending": "Virement bancaire en attente",
      "paid": "Virement bancaire effectué",
      "failed": "Virement bancaire échoué"
    }
  },
  "currency": {
    "eur": "Euro",
    "gbp": "Livre sterling",
    "chf": "Franc suisse",
    "usd": "Dollar US"
  },
  "mobile": {
    "home": {
      "intro": "Vendez, achetez, transportez et installez\nvotre mobilier professionnel\nréemployé.",
      "effortless": "Sans efforts.",
      "search": "Recherche…",
      "sell_prompt": "Vendez votre mobilier professionnel en 5 min",
      "sell_action": "Déposer mon annonce",
      "recent": "Dernières consultations",
      "current": "En ce moment sur Requipa"
    },
    "detail": {
      "contact": "Contacter",
      "information": "Informations",
      "reserve": "Réserver",
      "profile": "Profil",
      "reviews_one": "{{count}} avis",
      "reviews_other": "{{count}} avis",
      "delivery": "Livraison, montage, installation",
      "back": "Retour aux annonces"
    },
    "offer": {
      "close": "Fermer",
      "reference": "Prix de l’article : {{price}}",
      "discount": "{{percent}} % de réduction",
      "custom": "Autre",
      "custom_hint": "Proposer un prix",
      "submit": "Proposer {{price}}",
      "amount": "Votre prix",
      "estimate": "Estimer les frais de livraison"
    }
  },
  "spacePage": {
    "breadcrumb_label": "Fil d’Ariane de l’espace",
    "description": "Toutes les annonces de l’espace {{space}}, sous-espaces compris.",
    "all": "Tout l’espace",
    "subspaces_label": "Sous-espaces",
    "not_found": "Cet espace n’est pas disponible pour le moment.",
    "all_offers": "Toutes les annonces {{space}}",
    "empty": "Aucune annonce dans cet espace pour le moment."
  },
  "legal": {
    "french_only": "Ce document n’existe qu’en français.",
    "version": "Version {{version}}",
    "contents": "Sommaire"
  },
  "sellerTerms": {
    "consent_label": "J'ai lu et j'accepte les conditions générales de vente vendeurs (CGV Vendeurs).",
    "read": "Lire les CGV Vendeurs",
    "consent_required": "Acceptez les CGV Vendeurs pour souscrire ce service."
  },
  "category_installation_not_applicable": "Mise en place / remontage non applicable",
  "category_logistics_review_notice": "Message logistique après paiement",
  "category_reassembly_discount_percent": "Moins-value sans remontage (%)",
  "delivery_address_floor_number": "Étage",
  "delivery_address_floor_number.placeholder": "0",
  "delivery_address_has_elevator": "Ascenseur",
  "delivery_address_has_private_parking": "Parking privé",
  "depot_name": "Nom",
  "depot_name.placeholder": "Genas",
  "depot_address_line1": "Adresse",
  "depot_address_line1.placeholder": "14 avenue du Maréchal Juin",
  "depot_address_line2": "Complément d’adresse",
  "depot_address_line2.placeholder": "ZA des Carrières",
  "depot_postal_code": "Code postal",
  "depot_postal_code.placeholder": "69720",
  "depot_city": "Ville",
  "depot_city.placeholder": "Saint-Laurent-de-Mure",
  "depot_contact_name": "Contact",
  "depot_contact_name.placeholder": "Marie Dupont",
  "depot_contact_phone": "Téléphone",
  "depot_contact_phone.placeholder": "06 12 34 56 78",
  "depot_contact_email": "Email",
  "depot_contact_email.placeholder": "contact@dmax.fr",
  "depot_is_ile_de_france": "Tarif de stockage Île-de-France",
  "depot_active": "Actif"
}
