The store and merchant init-alpine.js derive currentPage from the URL's last segment (e.g., /loyalty/program -> 'program'). Loyalty menu items used prefixed IDs like 'loyalty-program' which never matched, so sidebar items never highlighted. Fixed by renaming all store/merchant menu item IDs and JS currentPage values to match URL segments: program, cards, analytics, transactions, pins, settings — consistent with how every other module works. Also reverted the init-alpine.js guard that broke storeCode extraction, and added missing loyalty.common.contact_admin_setup translation. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
876 lines
39 KiB
JSON
876 lines
39 KiB
JSON
{
|
|
"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é"
|
|
},
|
|
"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"
|
|
},
|
|
"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}"
|
|
},
|
|
"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"
|
|
},
|
|
"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}"
|
|
},
|
|
"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}"
|
|
}
|
|
},
|
|
"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."
|
|
}
|
|
}
|