{
  "loyalty": {
    "module": {
      "name": "Programmes de Fidélité",
      "description": "Programmes de fidélité par tampons et points avec intégration wallet"
    },
    "program": {
      "title": "Programme de Fidélité",
      "create": "Créer un Programme",
      "edit": "Modifier le Programme",
      "activate": "Activer",
      "deactivate": "Désactiver",
      "type": {
        "stamps": "Tampons",
        "points": "Points",
        "hybrid": "Hybride"
      }
    },
    "card": {
      "title": "Carte de Fidélité",
      "number": "Numéro de Carte",
      "qr_code": "Code QR",
      "enroll": "Inscrire un Client",
      "deactivate": "Désactiver la Carte"
    },
    "stamp": {
      "title": "Tampons",
      "add": "Ajouter un Tampon",
      "redeem": "Échanger la Récompense",
      "count": "{current} sur {target}",
      "until_reward": "Plus que {count} pour la récompense"
    },
    "points": {
      "title": "Points",
      "earn": "Gagner des Points",
      "redeem": "Échanger des Points",
      "balance": "{count} points",
      "per_euro": "{points} points par euro"
    },
    "pin": {
      "title": "Codes PIN du Personnel",
      "create": "Créer un PIN",
      "edit": "Modifier le PIN",
      "unlock": "Débloquer le PIN",
      "locked": "PIN bloqué jusqu'à {time}"
    },
    "wallet": {
      "google": "Ajouter à Google Wallet",
      "apple": "Ajouter à Apple Wallet"
    },
    "stats": {
      "title": "Statistiques",
      "total_cards": "Total des Cartes",
      "active_cards": "Cartes Actives",
      "stamps_issued": "Tampons Émis",
      "rewards_redeemed": "Récompenses Échangées"
    },
    "errors": {
      "program_not_found": "Programme de fidélité introuvable",
      "program_inactive": "Le programme de fidélité n'est pas actif",
      "card_not_found": "Carte de fidélité introuvable",
      "card_inactive": "La carte de fidélité n'est pas active",
      "cooldown": "Veuillez attendre {minutes} minutes avant le prochain tampon",
      "daily_limit": "Limite quotidienne de {limit} tampons atteinte",
      "insufficient_stamps": "Il faut {required} tampons, vous en avez {current}",
      "insufficient_points": "Il faut {required} points, vous en avez {current}",
      "pin_required": "Le code PIN du personnel est requis",
      "pin_invalid": "Code PIN invalide",
      "pin_locked": "PIN bloqué suite à trop de tentatives échouées"
    }
  },
  "menu": {
    "loyalty": "Fidélité",
    "loyalty_programs": "Programmes de fidélité",
    "programs": "Programmes",
    "analytics": "Analytique",
    "dashboard": "Tableau de bord",
    "terminal": "Terminal",
    "customer_cards": "Cartes clients",
    "statistics": "Statistiques",
    "program": "Programme",
    "overview": "Aperçu",
    "settings": "Paramètres",
    "wallet_debug": "Wallet Debug",
    "staff_pins": "PINs du personnel",
    "transactions": "Transactions"
  },
  "permissions": {
    "view_programs": "Voir les programmes",
    "view_programs_desc": "Voir les programmes de fidélité et leurs détails",
    "manage_programs": "Gérer les programmes",
    "manage_programs_desc": "Créer et configurer les programmes de fidélité",
    "view_rewards": "Voir les récompenses",
    "view_rewards_desc": "Voir les récompenses et les échanges",
    "manage_rewards": "Gérer les récompenses",
    "manage_rewards_desc": "Créer et gérer les récompenses de fidélité"
  },
  "onboarding": {
    "create_program": {
      "title": "Créer un programme de fidélité",
      "description": "Créez votre premier programme de tampons ou de points"
    }
  },
  "enrollment": {
    "title": "Rejoignez notre programme de récompenses !",
    "subtitle": "Gagnez {points} point pour chaque EUR dépensé",
    "not_available_title": "Programme non disponible",
    "not_available_message": "Ce magasin n'a pas encore de programme de fidélité.",
    "welcome_bonus": "Obtenez {points} points bonus en vous inscrivant !",
    "already_member": "Déjà membre ? Vos points sont liés à votre e-mail.",
    "form": {
      "email": "E-mail",
      "first_name": "Prénom",
      "last_name": "Nom",
      "phone": "Téléphone (facultatif)",
      "birthday": "Date de naissance (facultatif)",
      "birthday_hint": "Pour des récompenses d'anniversaire spéciales",
      "terms_agree": "J'accepte les",
      "terms": "Conditions Générales",
      "marketing_consent": "M'envoyer des nouvelles et offres spéciales",
      "joining": "Inscription en cours...",
      "join_button": "S'inscrire et obtenir {points} points"
    },
    "privacy_policy": "Politique de confidentialité",
    "close": "Fermer",
    "success": {
      "title": "Bienvenue !",
      "message": "Vous êtes maintenant membre de notre programme de récompenses.",
      "card_number": "Votre numéro de carte",
      "wallet_prompt": "Enregistrez votre carte sur votre téléphone pour un accès facile :",
      "next_steps_title": "Et maintenant ?",
      "step_earn": "Présentez votre numéro de carte lors de vos achats pour gagner des points",
      "step_balance": "Consultez votre solde en ligne ou dans l'application",
      "step_redeem": "Échangez vos points contre des récompenses dans tous nos points de vente",
      "view_dashboard": "Voir mon tableau de bord fidélité",
      "continue_shopping": "Continuer mes achats"
    },
    "errors": {
      "load_failed": "Impossible de charger les informations du programme",
      "email_exists": "Cet e-mail est déjà inscrit dans notre programme de fidélité.",
      "failed": "L'inscription a échoué. Veuillez réessayer."
    }
  },
  "common": {
    "active": "Actif",
    "all_stores": "Tous les magasins",
    "at": "à",
    "back": "Retour",
    "cancel": "Annuler",
    "confirm": "Confirmer",
    "continue": "Continuer",
    "delete": "Supprimer",
    "disabled": "Désactivé",
    "edit": "Modifier",
    "enabled": "Activé",
    "inactive": "Inactif",
    "loading": "Chargement...",
    "minutes": "minutes",
    "never": "Jamais",
    "no": "Non",
    "none": "Aucun",
    "or": "ou",
    "points": "points",
    "program_not_setup": "Programme fidélité non configuré",
    "program_not_setup_desc": "Veuillez configurer un programme fidélité",
    "refresh": "Actualiser",
    "save": "Enregistrer",
    "saving": "Enregistrement...",
    "total": "TOTAL",
    "view": "Voir",
    "yes": "Oui",
    "contact_admin_setup": "Contactez votre administrateur pour configurer le programme fidélité",
    "setup_program": "Configurer le programme",
    "unknown": "Inconnu"
  },
  "transactions": {
    "card_created": "Inscrit",
    "welcome_bonus": "Bonus de bienvenue",
    "stamp_earned": "Tampon obtenu",
    "stamp_redeemed": "Tampon échangé",
    "stamp_voided": "Tampon annulé",
    "stamp_adjustment": "Tampon ajusté",
    "points_earned": "Points gagnés",
    "points_redeemed": "Points échangés",
    "points_voided": "Points annulés",
    "points_adjustment": "Points ajustés",
    "points_expired": "Points expirés",
    "card_deactivated": "Désactivé",
    "reward_redeemed": "Récompense échangée"
  },
  "shared": {
    "analytics": {
      "total_programs": "Programmes au total",
      "total_members": "Membres au total",
      "active_members": "Membres actifs",
      "points_issued_30d": "Points émis (30j)",
      "transactions_30d": "Transactions (30j)",
      "x_active": "{count} actifs",
      "points_overview": "Aperçu des points",
      "points_issued_vs_redeemed": "Points émis vs échangés (30j)",
      "issued": "Émis :",
      "redeemed": "Échangés :",
      "redemption_rate": "Taux d'échange",
      "outstanding_balance": "Solde restant",
      "member_activity": "Activité des membres",
      "active_members_30d": "Membres actifs (30j)",
      "new_this_month": "Nouveaux ce mois",
      "merchants_with_programs": "Commerçants avec programmes",
      "avg_points_per_member": "Moy. points par membre",
      "all_time_statistics": "Statistiques globales",
      "total_points_issued": "Total points émis",
      "total_points_redeemed": "Total points échangés",
      "points_redeemed_30d": "Points échangés (30j)",
      "outstanding_liability": "Passif en cours",
      "location_breakdown": "Répartition par point de vente",
      "store": "Magasin",
      "enrolled": "Inscrits",
      "points_earned": "Points gagnés",
      "points_redeemed": "Points échangés"
    },
    "program_view": {
      "program_configuration": "Configuration du programme",
      "program_name": "Nom du programme",
      "card_name": "Nom de la carte",
      "stamps_configuration": "Configuration des tampons",
      "stamps_target": "Objectif de tampons",
      "reward_description": "Description de la récompense",
      "reward_value": "Valeur de la récompense",
      "points_configuration": "Configuration des points",
      "points_per_eur": "Points par EUR",
      "welcome_bonus": "Bonus de bienvenue",
      "x_points": "{count} points",
      "minimum_redemption": "Échange minimum",
      "minimum_purchase": "Achat minimum",
      "points_expiration": "Expiration des points",
      "x_days_inactivity": "{days} jours d'inactivité",
      "redemption_rewards": "Récompenses d'échange",
      "reward": "Récompense",
      "points_required": "Points requis",
      "description": "Description",
      "anti_fraud": "Anti-fraude",
      "cooldown": "Temps d'attente",
      "x_minutes": "{count} minutes",
      "max_daily_stamps": "Tampons max par jour",
      "staff_pin_required": "PIN personnel requis",
      "branding": "Image de marque",
      "primary_color": "Couleur principale",
      "secondary_color": "Couleur secondaire",
      "logo_url": "URL du logo",
      "hero_image_url": "URL de l'image principale",
      "terms_privacy": "Conditions & Confidentialité",
      "terms_conditions": "Conditions Générales",
      "privacy_policy_url": "URL politique de confidentialité"
    },
    "cards": {
      "total_members": "Membres totaux",
      "active_30d": "Actifs (30j)",
      "new_this_month": "Nouveaux ce mois",
      "total_points_balance": "Solde total des points",
      "search_placeholder": "Rechercher par nom, email, téléphone ou numéro de carte...",
      "all_status": "Tous les statuts",
      "all_stores": "Tous les magasins",
      "col_member": "Membre",
      "col_card_number": "Numéro de carte",
      "col_points_balance": "Solde de points",
      "col_last_activity": "Dernière activité",
      "col_status": "Statut",
      "col_actions": "Actions",
      "no_members": "Aucun membre trouvé",
      "adjust_search": "Essayez de modifier vos critères de recherche"
    },
    "card_detail": {
      "title": "Détail de la carte",
      "loading": "Chargement des détails...",
      "error_loading": "Erreur lors du chargement",
      "points_balance": "Solde de points",
      "total_earned": "Total gagné",
      "total_redeemed": "Total échangé",
      "member_since": "Membre depuis",
      "customer_information": "Informations client",
      "name": "Nom",
      "email": "E-mail",
      "phone": "Téléphone",
      "birthday": "Anniversaire",
      "card_details": "Détails de la carte",
      "card_number": "Numéro de carte",
      "status": "Statut",
      "last_activity": "Dernière activité",
      "enrolled_at": "Inscrit à",
      "transaction_history": "Historique des transactions",
      "col_date": "Date",
      "col_type": "Type",
      "col_points": "Points",
      "col_location": "Emplacement",
      "col_notes": "Notes",
      "no_transactions": "Aucune transaction trouvée"
    },
    "transactions": {
      "title": "Transactions",
      "subtitle": "Voir toutes les transactions",
      "adjust_filters": "Essayez de modifier vos filtres",
      "loading": "Chargement des transactions...",
      "error_loading": "Erreur lors du chargement",
      "search_placeholder": "Rechercher des transactions...",
      "all_types": "Tous les types",
      "all_stores": "Tous les magasins",
      "col_date": "Date",
      "col_customer": "Client",
      "col_type": "Type",
      "col_points": "Points",
      "col_location": "Emplacement",
      "col_notes": "Notes",
      "no_transactions": "Aucune transaction trouvée",
      "type_adjust": "Ajuster",
      "type_earn": "Gagner",
      "type_expire": "Expirer",
      "type_redeem": "Échanger"
    },
    "pins": {
      "title": "PINs du personnel",
      "subtitle": "Gérer les PINs d'authentification",
      "loading": "Chargement des PINs...",
      "error_loading": "Erreur lors du chargement",
      "total_pins": "Total PINs",
      "active_pins": "Actifs",
      "locked_pins": "Verrouillés",
      "all_stores": "Tous les magasins",
      "all_status": "Tous les statuts",
      "status_active": "Actif",
      "status_inactive": "Inactif",
      "status_locked": "Verrouillé",
      "col_name": "Nom",
      "col_staff_id": "ID employé",
      "col_store": "Magasin",
      "col_status": "Statut",
      "col_locked": "Verrouillé",
      "col_last_used": "Dernière utilisation",
      "col_actions": "Actions",
      "no_pins": "Aucun PIN trouvé",
      "create_pin": "Créer un PIN",
      "edit_pin": "Modifier le PIN",
      "delete_pin": "Supprimer le PIN",
      "unlock_pin": "Déverrouiller",
      "confirm_delete": "Êtes-vous sûr de vouloir supprimer ce PIN ?",
      "pin_name": "Nom de l'employé",
      "pin_staff_id": "ID employé (optionnel)",
      "pin_code": "Code PIN",
      "pin_code_hint": "PIN à 4-6 chiffres",
      "pin_edit_hint": "Laisser vide pour garder le PIN actuel",
      "pin_edit_placeholder": "Nouveau PIN (optionnel)",
      "pin_store": "Magasin",
      "select_store": "Sélectionner un magasin",
      "pin_created": "PIN créé avec succès",
      "pin_updated": "PIN modifié avec succès",
      "pin_deleted": "PIN supprimé avec succès",
      "pin_unlocked": "PIN déverrouillé avec succès",
      "save": "Enregistrer",
      "cancel": "Annuler",
      "read_only_notice": "Les PINs sont en lecture seule en mode admin",
      "save_changes": "Enregistrer",
      "unlock": "Déverrouiller",
      "no_staff_found": "Aucun membre du personnel trouvé"
    },
    "program_form": {
      "program_type": "Type de programme",
      "points_type_desc": "Gagner des points par EUR dépensé",
      "stamps_type_desc": "Collecter N tampons, obtenir une récompense",
      "hybrid_type_desc": "Tampons et points combinés",
      "stamps_configuration": "Configuration des tampons",
      "stamps_target": "Objectif de tampons",
      "stamps_target_help": "Nombre de tampons nécessaires pour la récompense",
      "reward_description": "Description de la récompense",
      "reward_value_cents": "Valeur de la récompense (centimes)",
      "points_configuration": "Configuration des points",
      "points_per_eur": "Points par EUR dépensé",
      "eur_equals_points": "1 EUR = {points} point(s)",
      "welcome_bonus_points": "Points bonus de bienvenue",
      "welcome_bonus_help": "Points bonus attribués à l'inscription",
      "minimum_redemption_points": "Points minimum d'échange",
      "minimum_purchase_cents": "Achat minimum (centimes)",
      "minimum_purchase_help": "Montant minimum d'achat pour gagner des points (0 = pas de minimum)",
      "points_expiration_days": "Expiration des points (jours)",
      "points_expiration_help": "Jours d'inactivité avant expiration des points (0 = jamais)",
      "redemption_rewards": "Récompenses d'échange",
      "add_reward": "Ajouter une récompense",
      "no_rewards_configured": "Aucune récompense configurée. Ajoutez une récompense pour permettre aux clients d'échanger des points.",
      "reward_name": "Nom de la récompense",
      "points_required": "Points requis",
      "description": "Description",
      "anti_fraud_settings": "Paramètres anti-fraude",
      "cooldown_minutes": "Temps d'attente (minutes)",
      "cooldown_help": "Temps entre les tampons d'une même carte",
      "max_daily_stamps": "Tampons max par jour",
      "max_daily_stamps_help": "Maximum de tampons par carte par jour",
      "require_staff_pin": "Exiger le PIN du personnel",
      "branding": "Image de marque",
      "card_name": "Nom de la carte",
      "primary_color": "Couleur principale",
      "secondary_color": "Couleur secondaire",
      "logo_url": "URL du logo",
      "logo_url_help": "Requis pour l'intégration Google Wallet. Doit être une URL d'image publique (PNG ou JPG).",
      "hero_image_url": "URL de l'image principale",
      "terms_privacy": "Conditions & Confidentialité",
      "terms_conditions": "Conditions Générales",
      "privacy_policy_url": "URL politique de confidentialité",
      "program_status": "Statut du programme",
      "program_active": "Programme actif",
      "program_active_help": "Désactivé, les clients ne peuvent ni gagner ni échanger",
      "delete_program": "Supprimer le programme",
      "create_program": "Créer le programme",
      "save_changes": "Enregistrer les modifications"
    }
  },
  "admin": {
    "programs": {
      "title": "Programmes de fidélité",
      "create_program": "Créer un programme",
      "loading": "Chargement des programmes de fidélité...",
      "error_loading": "Erreur de chargement des programmes de fidélité",
      "total_programs": "Programmes au total",
      "active": "Actifs",
      "total_members": "Membres au total",
      "transactions_30d": "Transactions (30j)",
      "search_placeholder": "Rechercher par nom de commerçant...",
      "all_status": "Tous les statuts",
      "table_merchant": "Commerçant",
      "table_program_type": "Type de programme",
      "table_members": "Membres",
      "table_points_issued": "Points émis",
      "table_status": "Statut",
      "table_created": "Créé",
      "table_actions": "Actions",
      "no_programs": "Aucun programme de fidélité trouvé",
      "adjust_filters": "Essayez d'ajuster votre recherche ou vos filtres",
      "no_merchants_yet": "Aucun commerçant n'a encore créé de programme de fidélité",
      "x_active": "({count} actifs)",
      "x_redeemed": "{count} échangés",
      "pt_per_eur": "pt/EUR",
      "delete_title": "Supprimer le programme de fidélité",
      "delete_message": "Supprimer le programme de fidélité de \"{name}\" ? Cela supprimera définitivement toutes les données associées (cartes, transactions, récompenses). Cette action est irréversible.",
      "delete_confirm": "Supprimer le programme",
      "create_title": "Créer un programme de fidélité",
      "create_description": "Sélectionnez un commerçant pour créer un programme de fidélité.",
      "search_merchant": "Rechercher un commerçant",
      "type_merchant_name": "Tapez le nom du commerçant...",
      "no_merchants_found": "Aucun commerçant trouvé",
      "existing_program_warning": "Ce commerçant a déjà un programme de fidélité.",
      "view_edit_existing": "Voir / Modifier le programme existant"
    },
    "merchant_detail": {
      "title": "Détails fidélité du commerçant",
      "loading": "Chargement des détails de fidélité...",
      "error_loading": "Erreur de chargement de la fidélité du commerçant",
      "program_active": "Programme de fidélité actif",
      "no_program_subtitle": "Aucun programme de fidélité",
      "quick_actions": "Actions rapides",
      "edit_program": "Modifier le programme",
      "admin_policy": "Politique admin",
      "view_merchant": "Voir le commerçant",
      "total_members": "Membres au total",
      "active_30d": "Actifs (30j)",
      "points_issued_30d": "Points émis (30j)",
      "points_redeemed_30d": "Points échangés (30j)",
      "no_program": "Aucun programme de fidélité",
      "no_program_desc": "Ce commerçant n'a pas encore configuré de programme de fidélité.",
      "create_program": "Créer un programme",
      "delete_title": "Supprimer le programme de fidélité",
      "delete_message": "Cela supprimera définitivement le programme de fidélité et toutes les données associées. Cette action est irréversible.",
      "delete_confirm": "Supprimer le programme",
      "location_breakdown": "Répartition par point de vente",
      "table_location": "Point de vente",
      "table_enrolled": "Inscrits",
      "table_points_earned": "Points gagnés",
      "table_points_redeemed": "Points échangés",
      "table_transactions_30d": "Transactions (30j)",
      "admin_policy_settings": "Paramètres de politique admin",
      "staff_pin_policy": "Politique PIN du personnel",
      "self_enrollment": "Auto-inscription",
      "cross_location_redemption": "Échange inter-points de vente",
      "allowed": "Autorisé",
      "disabled": "Désactivé",
      "modify_policy": "Modifier la politique admin",
      "view_cards": "Voir les cartes",
      "view_transactions": "Voir les transactions",
      "view_pins": "Voir les PINs"
    },
    "merchant_cards": {
      "title": "Cartes du commerçant",
      "subtitle": "Voir les cartes de ce commerçant",
      "loading": "Chargement des cartes...",
      "error_loading": "Erreur lors du chargement"
    },
    "merchant_card_detail": {
      "title": "Détail de la carte",
      "error_loading": "Erreur lors du chargement",
      "loading": "Chargement des détails..."
    },
    "merchant_transactions": {
      "title": "Transactions du commerçant",
      "subtitle": "Voir toutes les transactions de ce commerçant",
      "loading": "Chargement des transactions...",
      "error_loading": "Erreur lors du chargement"
    },
    "merchant_pins": {
      "title": "PINs du commerçant",
      "subtitle": "Voir les PINs de ce commerçant (lecture seule)",
      "loading": "Chargement des PINs...",
      "error_loading": "Erreur lors du chargement"
    },
    "merchant_settings": {
      "title": "Paramètres de fidélité du commerçant",
      "loading": "Chargement des paramètres...",
      "error_loading": "Erreur de chargement des paramètres",
      "admin_controlled": "Paramètres contrôlés par l'admin pour le programme de fidélité de ce commerçant",
      "staff_pin_policy": "Politique PIN du personnel",
      "staff_pin_description": "Contrôlez si les membres du personnel doivent saisir un PIN pour traiter les transactions de fidélité.",
      "required": "Obligatoire",
      "required_desc": "Le personnel doit saisir son PIN pour chaque transaction. Recommandé pour la sécurité.",
      "optional": "Facultatif",
      "optional_desc": "Les magasins peuvent choisir d'exiger ou non les PINs.",
      "pin_disabled": "Désactivé",
      "pin_disabled_desc": "Les PINs du personnel ne sont pas utilisés. Tout membre du personnel peut traiter les transactions.",
      "pin_lockout_settings": "Paramètres de verrouillage PIN",
      "max_failed_attempts": "Tentatives échouées max",
      "max_failed_attempts_help": "Nombre de tentatives erronées avant verrouillage (3-10)",
      "lockout_duration": "Durée de verrouillage (minutes)",
      "lockout_duration_help": "Durée du verrouillage après échecs (5-120 minutes)",
      "enrollment_settings": "Paramètres d'inscription",
      "allow_self_enrollment": "Autoriser l'auto-inscription",
      "self_enrollment_desc": "Les clients peuvent s'inscrire via QR code sans aide du personnel",
      "transaction_settings": "Paramètres de transaction",
      "allow_cross_location": "Autoriser l'échange inter-points de vente",
      "cross_location_desc": "Les clients peuvent échanger des points dans tous les points de vente du commerçant",
      "allow_void": "Autoriser les annulations",
      "void_desc": "Le personnel peut annuler des points/tampons pour les retours",
      "save_settings": "Enregistrer les paramètres"
    },
    "analytics": {
      "title": "Analytique fidélité",
      "subtitle": "Statistiques de fidélité à l'échelle de la plateforme",
      "loading": "Chargement des analytiques...",
      "error_loading": "Erreur de chargement des analytiques",
      "filter_by_merchant": "Filtrer par commerçant",
      "search_merchants_placeholder": "Rechercher des commerçants par nom...",
      "showing_stats_for": "Statistiques pour :",
      "wallet_status": "Statut de l'intégration Wallet",
      "google_wallet": "Google Wallet",
      "apple_wallet": "Apple Wallet",
      "connected": "Connecté",
      "error": "Erreur",
      "not_configured": "Non configuré",
      "issuer_id": "ID émetteur",
      "project": "Projet",
      "wallet_objects": "Objets Wallet",
      "loyalty_classes": "Classes de fidélité",
      "pass_type_id": "ID type de pass",
      "team_id": "ID équipe",
      "active_passes": "Pass actifs",
      "quick_actions": "Actions rapides",
      "view_all_programs": "Voir tous les programmes",
      "manage_merchants": "Gérer les commerçants"
    },
    "program_edit": {
      "title": "Configuration du programme",
      "loading": "Chargement de la configuration...",
      "error_loading": "Erreur de chargement de la configuration du programme",
      "create_subtitle": "Créer un programme de fidélité pour ce commerçant",
      "edit_subtitle": "Modifier la configuration du programme",
      "delete_title": "Supprimer le programme de fidélité",
      "delete_message": "Cela supprimera définitivement le programme de fidélité et toutes les données associées (cartes, transactions, récompenses). Cette action est irréversible.",
      "delete_confirm": "Supprimer le programme"
    }
  },
  "merchant": {
    "program": {
      "title": "Programme de fidélité",
      "subtitle": "Configuration de votre programme de fidélité.",
      "edit_program": "Modifier le programme",
      "no_program": "Aucun programme de fidélité",
      "no_program_desc": "Votre programme de fidélité n'a pas encore été configuré. Créez-en un pour commencer à récompenser vos clients.",
      "create_program": "Créer un programme"
    },
    "program_edit": {
      "title": "Paramètres de fidélité",
      "page_title": "Paramètres du programme de fidélité",
      "subtitle": "Configurez votre programme de fidélité",
      "loading": "Chargement des paramètres...",
      "error_loading": "Erreur de chargement des paramètres",
      "delete_title": "Supprimer le programme de fidélité",
      "delete_message": "Cela supprimera définitivement votre programme de fidélité et toutes les données associées (cartes, transactions, récompenses). Cette action est irréversible.",
      "delete_confirm": "Supprimer le programme"
    },
    "cards": {
      "title": "Cartes clients",
      "subtitle": "Voir et gérer les membres fidélité sur tous les sites",
      "error_loading": "Erreur lors du chargement",
      "loading": "Chargement des cartes..."
    },
    "card_detail": {
      "title": "Détail de la carte",
      "card_label": "Carte",
      "error_loading": "Erreur lors du chargement",
      "loading": "Chargement des détails..."
    },
    "transactions": {
      "title": "Transactions",
      "subtitle": "Voir toutes les transactions sur tous les sites",
      "error_loading": "Erreur lors du chargement",
      "loading": "Chargement des transactions..."
    },
    "pins": {
      "title": "PINs du personnel",
      "subtitle": "Gérer les PINs sur tous les sites",
      "error_loading": "Erreur lors du chargement",
      "loading": "Chargement des PINs..."
    },
    "settings": {
      "title": "Paramètres fidélité",
      "subtitle": "Voir les paramètres du programme",
      "admin_controlled": "Ces paramètres sont gérés par l'administrateur",
      "error_loading": "Erreur lors du chargement",
      "loading": "Chargement des paramètres...",
      "lockout_attempts": "Tentatives avant verrouillage",
      "lockout_minutes": "Durée de verrouillage (min)",
      "permissions": "Inscription et permissions",
      "pin_policy": "Politique PIN",
      "staff_pin_policy": "Politique PIN personnel",
      "self_enrollment": "Auto-inscription",
      "cross_location": "Échange multi-sites",
      "void_transactions": "Autoriser les annulations",
      "enabled": "Activé",
      "disabled": "Désactivé",
      "required": "Obligatoire",
      "optional": "Optionnel"
    },
    "analytics": {
      "title": "Analytique fidélité",
      "subtitle": "Statistiques de fidélité pour tous vos magasins",
      "loading": "Chargement des analytiques...",
      "error_loading": "Erreur de chargement des analytiques",
      "no_program": "Aucun programme de fidélité",
      "no_program_desc": "Configurez un programme de fidélité pour voir les analytiques ici.",
      "create_program": "Créer un programme",
      "quick_actions": "Actions rapides",
      "view_program": "Voir le programme",
      "edit_program": "Modifier le programme"
    }
  },
  "store": {
    "terminal": {
      "title": "Terminal de fidélité",
      "subtitle": "Traiter les transactions de fidélité",
      "members": "Membres",
      "analytics": "Analytique",
      "loading": "Chargement du terminal de fidélité...",
      "error_loading": "Erreur de chargement du terminal",
      "not_setup": "Programme de fidélité non configuré",
      "not_setup_desc": "Votre commerçant n'a pas encore configuré de programme de fidélité.",
      "setup_program": "Configurer le programme de fidélité",
      "contact_admin": "Contactez votre administrateur pour terminer la configuration.",
      "find_customer": "Trouver un client",
      "search_placeholder": "E-mail, téléphone ou numéro de carte...",
      "looking_up": "Recherche en cours...",
      "look_up_customer": "Rechercher un client",
      "enroll_new_customer": "Inscrire un nouveau client",
      "customer_found": "Client trouvé",
      "points_balance": "Solde de points",
      "stamps": "Tampons",
      "x_more_for_reward": "Encore {count} pour la récompense",
      "ready_to_redeem": "Prêt à échanger !",
      "add_stamp": "Ajouter un tampon",
      "current": "Actuel :",
      "cooldown_active": "Temps d'attente actif",
      "redeem_stamps": "Échanger les tampons",
      "not_enough_stamps": "Pas assez de tampons encore",
      "earn_points": "Gagner des points",
      "purchase_amount": "Montant de l'achat",
      "points_to_award": "Points à attribuer :",
      "award_points": "Attribuer des points",
      "redeem_reward": "Échanger une récompense",
      "select_reward": "Sélectionner une récompense",
      "select_reward_placeholder": "Sélectionner une récompense...",
      "points_after": "Points après :",
      "search_to_process": "Recherchez un client pour traiter une transaction",
      "recent_transactions": "Transactions récentes dans ce point de vente",
      "col_time": "Heure",
      "col_customer": "Client",
      "col_type": "Type",
      "col_points": "Points",
      "col_notes": "Notes",
      "no_recent_transactions": "Aucune transaction récente",
      "enter_staff_pin": "Saisir le PIN du personnel",
      "pin_authorize": "Saisissez votre PIN personnel pour autoriser cette transaction.",
      "clear": "Effacer",
      "processing": "Traitement...",
      "customer_not_found": "Client introuvable. Vous pouvez l'inscrire comme nouveau membre.",
      "error_lookup": "Erreur de recherche du client : {message}",
      "transaction_failed": "Transaction échouée : {message}",
      "stamp_added": "Tampon ajouté !",
      "stamps_redeemed": "Tampons échangés ! Récompense obtenue.",
      "x_points_awarded": "{points} points attribués !",
      "reward_redeemed": "Récompense échangée : {name}",
      "card_label": "Carte",
      "confirm": "Confirmer",
      "pin_authorize_text": "Entrez votre PIN personnel pour autoriser cette transaction",
      "free_item": "Article gratuit",
      "reward_label": "Récompense",
      "search_empty_state": "Recherchez un client pour commencer"
    },
    "cards": {
      "title": "Membres fidélité",
      "subtitle": "Voir et gérer les membres de votre programme de fidélité",
      "enroll_new": "Inscrire",
      "loading": "Chargement des membres...",
      "error_loading": "Erreur de chargement des membres",
      "total_members": "Membres au total",
      "active_30d": "Actifs (30j)",
      "new_this_month": "Nouveaux ce mois",
      "total_points_balance": "Solde total de points",
      "search_placeholder": "Rechercher par nom, e-mail, téléphone ou carte...",
      "all_status": "Tous les statuts",
      "col_member": "Membre",
      "col_card_number": "Numéro de carte",
      "col_points_balance": "Solde de points",
      "col_last_activity": "Dernière activité",
      "col_status": "Statut",
      "col_actions": "Actions",
      "no_members": "Aucun membre trouvé",
      "adjust_search": "Essayez d'ajuster votre recherche",
      "enroll_first": "Inscrivez votre premier client pour commencer"
    },
    "card_detail": {
      "title": "Détails du membre",
      "loading": "Chargement des détails du membre...",
      "error_loading": "Erreur de chargement du membre",
      "points_balance": "Solde de points",
      "total_earned": "Total gagné",
      "total_redeemed": "Total échangé",
      "member_since": "Membre depuis",
      "customer_information": "Informations client",
      "name": "Nom",
      "email": "E-mail",
      "phone": "Téléphone",
      "birthday": "Date de naissance",
      "card_details": "Détails de la carte",
      "card_number": "Numéro de carte",
      "status": "Statut",
      "last_activity": "Dernière activité",
      "enrolled_at": "Inscrit le",
      "transaction_history": "Historique des transactions",
      "col_date": "Date",
      "col_type": "Type",
      "col_points": "Points",
      "col_location": "Point de vente",
      "col_notes": "Notes",
      "no_transactions": "Aucune transaction",
      "card_label": "Carte"
    },
    "enroll": {
      "title": "Inscrire un client",
      "page_title": "Inscrire un nouveau client",
      "subtitle": "Ajouter un nouveau membre à votre programme de fidélité",
      "loading": "Chargement...",
      "error_loading": "Erreur de chargement du formulaire d'inscription",
      "customer_information": "Informations client",
      "first_name": "Prénom",
      "last_name": "Nom",
      "email": "E-mail",
      "phone": "Téléphone",
      "birthday": "Date de naissance",
      "birthday_help": "Pour les récompenses d'anniversaire (facultatif)",
      "communication_preferences": "Préférences de communication",
      "send_emails": "Envoyer des e-mails promotionnels",
      "send_sms": "Envoyer des SMS promotionnels",
      "welcome_bonus": "Bonus de bienvenue",
      "welcome_bonus_desc": "Le client recevra {points} points bonus !",
      "enroll_customer": "Inscrire le client",
      "enrolling": "Inscription...",
      "customer_enrolled": "Client inscrit !",
      "starting_balance": "Solde initial :",
      "x_points": "{count} points",
      "back_to_terminal": "Retour au terminal",
      "enroll_another": "Inscrire un autre",
      "enrollment_failed": "Inscription échouée : {message}",
      "bonus_points": "Points bonus",
      "card_number_label": "Numéro de carte",
      "points": "points"
    },
    "analytics": {
      "title": "Analytique fidélité",
      "subtitle": "Suivez les performances de votre programme de fidélité",
      "loading": "Chargement des analytiques...",
      "error_loading": "Erreur de chargement des analytiques",
      "quick_actions": "Actions rapides",
      "open_terminal": "Ouvrir le terminal",
      "view_members": "Voir les membres",
      "view_program": "Voir le programme"
    },
    "program": {
      "title": "Programme de fidélité",
      "subtitle": "Configuration de votre programme de fidélité",
      "edit_program": "Modifier le programme",
      "loading": "Chargement du programme...",
      "error_loading": "Erreur de chargement du programme",
      "no_program": "Aucun programme de fidélité",
      "no_program_desc": "Votre commerçant n'a pas encore configuré de programme de fidélité.",
      "create_program": "Créer un programme",
      "contact_admin": "Contactez votre administrateur pour configurer un programme de fidélité."
    },
    "pins": {
      "title": "PINs du personnel",
      "subtitle": "Gérer les PINs d'authentification pour ce magasin",
      "loading": "Chargement des PINs...",
      "error_loading": "Erreur lors du chargement des PINs"
    },
    "settings": {
      "title": "Paramètres de fidélité",
      "page_title": "Paramètres du programme de fidélité",
      "subtitle": "Configurez votre programme de fidélité",
      "back_to_program": "Retour au programme",
      "loading": "Chargement des paramètres...",
      "error_loading": "Erreur de chargement des paramètres",
      "access_restricted": "Accès restreint",
      "owner_only": "Seul le propriétaire du commerce peut gérer les paramètres du programme de fidélité.",
      "delete_title": "Supprimer le programme de fidélité",
      "delete_message": "Cela supprimera définitivement le programme de fidélité et toutes les données associées (cartes, transactions, récompenses). Cette action est irréversible.",
      "delete_confirm": "Supprimer le programme",
      "program_created": "Programme créé avec succès",
      "program_updated": "Programme mis à jour avec succès",
      "program_deleted": "Programme de fidélité supprimé",
      "save_failed": "Échec de l'enregistrement : {message}",
      "delete_failed": "Échec de la suppression : {message}",
      "access_restricted_desc": "Seul le propriétaire peut modifier les paramètres",
      "delete_program_confirm": "Supprimer",
      "delete_program_desc": "Cela supprimera définitivement le programme et toutes les données associées",
      "delete_program_title": "Supprimer le programme fidélité ?"
    }
  },
  "storefront": {
    "dashboard": {
      "back_to_account": "Retour au compte",
      "my_loyalty": "Ma fidélité",
      "join_title": "Rejoignez notre programme de récompenses !",
      "join_subtitle": "Gagnez des points à chaque achat et échangez-les contre des récompenses.",
      "join_now": "Rejoindre maintenant",
      "points_balance": "Solde de points",
      "card_number": "Numéro de carte",
      "show_card": "Afficher la carte",
      "total_earned": "Total gagné",
      "total_redeemed": "Total échangé",
      "available_rewards": "Récompenses disponibles",
      "no_rewards_yet": "Aucune récompense disponible pour le moment",
      "ready_to_redeem": "Prêt à échanger",
      "x_more_to_go": "Encore {count}",
      "redeem_hint": "Montrez votre carte au personnel pour échanger des récompenses en magasin.",
      "recent_activity": "Activité récente",
      "view_all": "Tout voir",
      "no_transactions": "Aucune transaction. Faites un achat pour commencer à gagner des points !",
      "earn_redeem_locations": "Points de vente partenaires",
      "your_loyalty_card": "Votre carte de fidélité",
      "show_to_staff": "Montrez ceci au personnel lors d'un achat ou d'un échange de récompense."
    },
    "history": {
      "back_to_loyalty": "Retour à la fidélité",
      "title": "Historique des transactions",
      "subtitle": "Voir toutes vos transactions de points de fidélité",
      "current_balance": "Solde actuel",
      "total_earned": "Total gagné",
      "total_redeemed": "Total échangé",
      "no_transactions": "Aucune transaction",
      "balance": "Solde :",
      "previous": "Précédent",
      "next": "Suivant",
      "page_x_of_y": "Page {page} sur {pages}"
    }
  },
  "toasts": {
    "program_activated": "Programme activé avec succès",
    "program_deactivated": "Programme désactivé avec succès",
    "activate_failed": "Échec de l'activation du programme : {message}",
    "deactivate_failed": "Échec de la désactivation du programme : {message}",
    "program_deleted": "Programme supprimé avec succès",
    "delete_failed": "Échec de la suppression du programme : {message}",
    "program_created": "Programme créé avec succès",
    "program_updated": "Programme mis à jour avec succès",
    "loyalty_program_created": "Programme de fidélité créé",
    "loyalty_program_deleted": "Programme de fidélité supprimé",
    "settings_saved": "Paramètres enregistrés avec succès",
    "save_failed": "Échec de l'enregistrement : {message}",
    "settings_save_failed": "Échec de l'enregistrement des paramètres : {message}",
    "create_failed": "Échec de la création du programme : {message}",
    "logo_required": "L'URL du logo est requise pour l'intégration wallet.",
    "pin_created": "PIN créé avec succès",
    "pin_updated": "PIN modifié avec succès",
    "pin_deleted": "PIN supprimé avec succès",
    "pin_unlocked": "PIN déverrouillé avec succès",
    "pin_create_error": "Erreur lors de la création du PIN",
    "pin_update_error": "Erreur lors de la modification du PIN",
    "pin_delete_error": "Erreur lors de la suppression du PIN",
    "pin_unlock_error": "Erreur lors du déverrouillage du PIN"
  },
  "errors": {
    "card_not_found": "Carte non trouvée"
  }
}
