edtech / apps /admin /src /locales /fr.json
CognxSafeTrack
fix(admin): replace vague Meta hints with direct clickable links in Direct Setup modal
295c327
{
"common": {
"welcome": "Bienvenue",
"dashboard": "Tableau de Bord",
"clients": "Gestion des Clients",
"analytics": "Analyses",
"settings": "Paramètres",
"logout": "Déconnexion",
"save": "Enregistrer",
"cancel": "Annuler",
"loading": "Chargement...",
"error": "Une erreur est survenue",
"success": "Succès",
"create": "Créer",
"delete": "Supprimer",
"edit": "Modifier",
"search": "Rechercher...",
"actions": "Actions",
"export": "Exporter",
"sync": "Synchroniser",
"send": "Envoyer",
"close": "Fermer",
"confirm": "Confirmer",
"back": "Retour",
"next": "Suivant",
"yes": "Oui",
"no": "Non",
"status": "Statut",
"date": "Date",
"name": "Nom",
"email": "Email",
"phone": "Téléphone",
"day": "Jour",
"none": "Aucun",
"select_org": "Veuillez sélectionner une organisation",
"clear_filter": "Effacer le filtre",
"no_data": "Aucune donnée disponible",
"retry": "Réessayer",
"of": "sur"
},
"nav": {
"home": "Accueil",
"inbox": "Messagerie",
"campaigns": "Campagnes",
"templates": "Modèles",
"organizations": "Organisations",
"users": "Utilisateurs",
"training": "Training Lab",
"moderation": "Modération",
"b2b": "Clients B2B",
"kb": "Base de Connaissances",
"content": "Formations",
"conversations": "Conversations",
"ai_setup": "Agent IA",
"billing": "Facturation"
},
"dashboard": {
"title": "Tableau de Bord",
"subtitle": "Statut de votre plateforme en temps réel",
"select_org": "Bienvenue sur EdTech Admin",
"select_org_hint": "Pour commencer, veuillez sélectionner une organisation dans le menu déroulant à gauche.",
"isolation_note": "L'isolation des données garantit que vous ne voyez que les statistiques de l'organisation active.",
"loading": "Analyse des données en cours...",
"no_enrollments": "Aucune inscription",
"recent_enrollments": "Inscriptions récentes",
"export_csv": "Exporter CSV",
"stats": {
"users": "Utilisateurs",
"active": "Actifs",
"completed": "Complétés",
"tracks": "Parcours",
"revenue": "Revenus",
"total_messages": "Messages Totaux",
"active_users": "Utilisateurs Actifs",
"completion_rate": "Taux de Complétion",
"ai_cost": "Estimation Coût IA"
},
"table": {
"phone": "Téléphone",
"track": "Parcours",
"status": "Statut",
"day": "Jour",
"date": "Date"
}
},
"analytics": {
"title": "Analyses & Performance",
"export": "Exporter le rapport",
"explain": "Expliquer",
"messages": {
"title": "Volume des Messages",
"inbound": "Entrants",
"outbound": "Sortants"
},
"completion": {
"title": "Taux de Réussite",
"completed": "Complétés",
"in_progress": "En cours"
},
"performance": {
"title": "Performance",
"avg_score": "Score moyen des exercices"
},
"engagement": {
"title": "Engagement",
"avg_days": "Jours de formation en moyenne"
},
"sql_error": "Erreur lors de l'exécution de la requête",
"sql_example_1": "Combien d'utilisateurs actifs cette semaine ?",
"sql_example_2": "Quels sont les 5 utilisateurs avec le plus de messages ?",
"sql_example_3": "Quel est le taux de complétion moyen ?",
"sql_example_4": "Combien de crédits IA ont été consommés ce mois ?",
"ai_cost_title": "Coût IA par fonctionnalité",
"ai_cost_subtitle": "Données réelles — source : UsageEvent",
"col_feature": "Fonctionnalité",
"col_calls": "Appels",
"col_tokens_in": "Tokens in",
"col_tokens_out": "Tokens out",
"col_cost": "Coût (USD)",
"total": "Total",
"nl_search_title": "Recherche en langage naturel",
"nl_search_subtitle": "Posez une question sur vos données — l'IA génère la requête SQL",
"nl_search_placeholder": "Ex : Quels sont les utilisateurs inactifs depuis 7 jours ?",
"search_btn": "Rechercher",
"view_sql": "Voir SQL",
"no_results": "Aucun résultat"
},
"users": {
"title": "Gestion des Utilisateurs",
"subtitle": "Tous les apprenants inscrits",
"no_users": "Aucun utilisateur trouvé",
"invite": "Inviter",
"columns": {
"name": "Nom",
"phone": "Téléphone",
"track": "Parcours actif",
"day": "Jour",
"status": "Statut",
"joined": "Inscription"
},
"confirm_delete": "Supprimer cet utilisateur ? Cette action est réversible côté base de données.",
"delete_success": "Utilisateur supprimé",
"delete_error": "Échec de la suppression",
"handoff_released": "Handoff libéré — l'IA reprend la conversation",
"handoff_none": "Aucun handoff actif pour cet utilisateur",
"handoff_error": "Échec",
"load_error": "Erreur chargement utilisateurs",
"language_column": "Langue",
"sector_column": "Secteur",
"conversation_btn": "Conversation",
"delete_title": "Supprimer l'utilisateur",
"handoff_active": "Handoff actif",
"release_ai": "Libérer l'IA",
"prev": "Précédent"
},
"contacts": {
"title": "Contacts",
"subtitle": "Gestion de votre base de contacts CRM",
"add": "Ajouter un contact",
"import": "Importer",
"no_contacts": "Aucun contact",
"search_placeholder": "Rechercher un contact...",
"tags_update_error": "Échec de la mise à jour des tags",
"import_success": "Import réussi : {{created}} ajoutés, {{updated}} mis à jour, {{errors}} erreurs.",
"upload_critical_error": "Une erreur critique est survenue lors de l'upload.",
"ai_generation_error": "Échec de la génération IA.",
"generation_error_fallback": "Erreur de génération",
"confirm_delete_one": "Voulez-vous vraiment supprimer ce contact ?",
"delete_error": "Erreur lors de la suppression.",
"confirm_delete_many": "Voulez-vous vraiment supprimer {{count}} contacts ?",
"bulk_delete_success": "Contacts supprimés avec succès.",
"bulk_delete_error": "Erreur lors de la suppression groupée.",
"csv_name": "Nom",
"csv_phone": "Téléphone",
"csv_created": "Créé le",
"message_copied": "Message copié !",
"copied": "Copié !",
"generation_completed": "Génération terminée avec succès"
},
"settings": {
"title": "Paramètres",
"profile": "Profil de l'organisation",
"branding": "Marque & Couleurs",
"ai_config": "Configuration IA",
"whatsapp_config": "Configuration WhatsApp",
"billing": "Facturation",
"org_name": "Nom de l'organisation",
"primary_color": "Couleur principale",
"logo_url": "URL du logo",
"save_success": "Paramètres enregistrés avec succès.",
"save_error": "Impossible d'enregistrer les paramètres.",
"no_org_selected": "Veuillez sélectionner une organisation.",
"advanced_config": "Configuration avancée",
"developers_badge": "Développeurs",
"flow_config_desc": "Ce champ contient la configuration JSON du flux pédagogique. Ne le modifiez que si vous savez ce que vous faites.",
"wa_account": "Compte WhatsApp",
"wa_token": "Token système",
"not_configured": "Non configuré",
"token_absent": "Absent",
"token_expired": "Expiré",
"token_valid": "Valide",
"token_present": "Présent",
"token_expired_alert": "Votre token WhatsApp est invalide ou expiré. Les messages ne peuvent plus être envoyés. Rendez-vous dans Meta Business Manager → Utilisateurs système pour générer un nouveau token, puis mettez à jour votre organisation.",
"api_keys_title": "Clés API Intelligence",
"api_keys_locked": "Disponible à partir du plan SCALE. En ajoutant vos propres clés OpenAI ou Google, vous utilisez votre propre quota IA — sans limite liée à votre plan Xamlé.",
"api_keys_unlocked": "Vos clés sont chiffrées et stockées de façon sécurisée. Elles remplacent les clés partagées de la plateforme — votre consommation IA n'est alors plus décomptée de votre solde de crédits.",
"wa_connect_success": "WhatsApp connecté avec succès ✅",
"wa_connect_error": "Échec de la connexion WhatsApp. Vérifie le token et le WABA ID.",
"mode_edtech": "EdTech",
"mode_webhook": "Webhook",
"mode_ai_agent": "Agent IA",
"mode_pedagogy": "Pédagogie",
"mode_customer_service": "Support Client",
"mode_crm_marketing": "CRM & Campagnes",
"wa_cancel": "Annuler",
"wa_reconfigure": "🔄 Reconfigurer",
"wa_connect_btn": "🔗 Connecter",
"wa_connecting": "Connexion...",
"wa_connect_submit": "Connecter WhatsApp"
},
"auth": {
"org_id": "ID Organisation",
"email": "Email",
"password": "Mot de passe",
"login_subtitle_edtech": "Connectez-vous à votre espace EdTech",
"login_subtitle_admin": "Espace administrateur — accès restreint",
"login_button": "Se connecter",
"login_loading": "Connexion...",
"org_id_required": "L'identifiant d'organisation est requis.",
"powered_by": "Propulsé par Xamlé Studio",
"forgot_password": "Mot de passe oublié ?",
"reset_title": "Mot de passe oublié",
"reset_sent_title": "Email envoyé",
"reset_sent_subtitle": "Vérifiez votre boîte mail et cliquez sur le lien de réinitialisation.",
"reset_new_title": "Nouveau mot de passe",
"reset_success_title": "Mot de passe mis à jour",
"reset_success_subtitle": "Vous pouvez maintenant vous connecter avec votre nouveau mot de passe.",
"reset_email_label": "Adresse email",
"reset_email_placeholder": "votre@email.com",
"reset_send_button": "Envoyer le lien",
"reset_sending": "Envoi...",
"reset_new_password": "Nouveau mot de passe",
"reset_confirm_password": "Confirmer",
"reset_set_button": "Définir le mot de passe",
"reset_setting": "Mise à jour...",
"reset_login_link": "Se connecter",
"reset_back": "Retour à la connexion",
"reset_network_error": "Erreur réseau. Veuillez réessayer.",
"reset_password_mismatch": "Les mots de passe ne correspondent pas.",
"reset_password_min_length": "Le mot de passe doit contenir au moins 6 caractères.",
"reset_token_expired": "Token invalide ou expiré."
},
"onboarding": {
"title": "Bienvenue sur Xamlé.Studio",
"subtitle": "Configurons votre école en quelques secondes.",
"step_welcome": "Bienvenue",
"step_legal": "Contrat",
"step_whatsapp": "WhatsApp",
"step_ai": "IA",
"connect_fb": "Se connecter avec Facebook",
"fb_connected": "Compte Facebook connecté !",
"setup_waba": "Configuration de votre compte WhatsApp Business...",
"cta_launch": "Lancer ma plateforme",
"legal_text": "En acceptant, vous acceptez nos conditions de partenaire et les politiques commerciales de Meta.",
"whatsapp_help_title": "Où trouver ces informations ?",
"help_waba_id": "Connectez-vous sur WhatsApp Manager → colonne \"Compte WhatsApp Business\" → numéro à 15 chiffres.",
"help_business_id": "Paramètres Meta → Informations de l'entreprise → \"ID Meta Business\".",
"help_token": "Dans Meta Business Manager → Utilisateurs système → votre utilisateur → Générer un token. Choisissez \"Ne jamais expirer\" pour éviter les interruptions.",
"help_new_to_meta": "Nouveau sur Meta ? Utilisez le bouton \"Se connecter avec Facebook\" ci-dessous — plus simple, tout est automatique.",
"already_configured": "Compte déjà configuré sur Meta",
"fb_account_connected": "Compte Facebook connecté",
"new_account_via_fb": "Nouveau compte — Connexion via Facebook",
"new_account_desc": "Le client configure son numéro directement dans la popup Facebook.",
"token_valid_msg": "Token valide — Meta l'a reconnu",
"token_invalid_msg": "Token invalide ou expiré. Vérifiez dans Meta Business Manager → Utilisateurs système.",
"token_idle_hint": "Générez un token \"Ne jamais expirer\" dans Meta Business Manager → Utilisateurs système.",
"skip_whatsapp": "Configurer WhatsApp plus tard",
"create_org": "Créer l'organisation",
"creating": "Création…",
"step_org": "Organisation",
"step_admin": "Administrateur",
"org_title": "L'organisation",
"org_subtitle": "Nom, identifiant URL et type d'usage.",
"org_name_label": "Nom de l'organisation",
"slug_label": "Identifiant URL (slug)",
"slug_hint": "Auto-généré depuis le nom. Modifiable — lettres minuscules, chiffres et tirets uniquement.",
"mode_label": "Type d'usage",
"mode_edtech_label": "Formation & EdTech",
"mode_edtech_desc": "Parcours éducatifs, exercices, suivi des apprenants via WhatsApp",
"mode_crm_label": "CRM & Campagnes",
"mode_crm_desc": "Gestion de contacts, campagnes broadcast, relances marketing",
"mode_ai_label": "Agent IA",
"mode_ai_desc": "Bot conversationnel IA pour répondre en autonomie 24h/24",
"mode_customer_service_label": "Support Client",
"mode_customer_service_desc": "Gestion des conversations entrantes et escalade vers un agent humain",
"admin_title": "L'administrateur",
"admin_subtitle": "Le premier compte admin de cette organisation.",
"admin_name_label": "Nom complet",
"admin_email_label": "Email",
"admin_pass_label": "Mot de passe initial",
"admin_pass_optional": "optionnel — généré automatiquement si vide",
"admin_pass_placeholder": "Laissez vide pour auto-générer",
"admin_pass_hint": "Un email avec le mot de passe temporaire est envoyé à l'admin après création.",
"wa_title": "Connexion WhatsApp",
"wa_subtitle": "Optionnel — peut être configuré plus tard depuis la fiche organisation.",
"create_error": "Création impossible",
"fb_error": "La connexion Facebook a été annulée ou a échoué."
},
"crm": {
"stats": {
"total_contacts": "Contacts Totaux",
"messages_sent": "Messages Envoyés",
"open_rate": "Taux d'ouverture",
"conversion": "Conversion"
},
"assistant": {
"placeholder": "Écrivez votre commande ici...",
"thinking": "L'IA prépare une réponse...",
"contact_preview": "Aperçu de la base",
"campaign_summary": "Résumé de Campagne",
"messages_ready": "messages personnalisés prêts à être envoyés",
"recipient": "DESTINATAIRE",
"more_contacts": "+ {{count}} autres contacts",
"more_messages": "+ {{count}} autres messages",
"send_all": "🚀 Tout envoyer via WhatsApp API",
"powered_by": "Propulsé par Xamlé AI • CRM PaaS Intégré",
"btn_history": "📊 Historique",
"btn_import": "📤 Importer",
"btn_campaign": "✨ Campagne",
"error_mic": "Erreur d'accès au micro.",
"error_bulk": "Erreur lors de l'envoi en masse.",
"import_first": "Veuillez d'abord importer une liste de contacts.",
"campaign_queued": "🚀 Votre campagne a été mise en file d'attente pour une diffusion progressive !",
"error_occurred": "Une erreur technique est survenue.",
"drop_file_note": "Veuillez utiliser le bouton d'importation pour l'instant."
},
"inbox": {
"title": "Conversations",
"no_messages": "Aucune conversation trouvée.",
"reply_placeholder": "Votre message...",
"send": "Envoyer"
},
"campaigns": {
"title": "Historique des Campagnes",
"subtitle": "Suivez toutes vos diffusions et leurs performances.",
"new_campaign": "Nouvelle Campagne",
"select_template": "Modèle WhatsApp (Optionnel)",
"choose_approved": "Sélectionner un modèle approuvé...",
"no_approved_templates": "Aucun modèle approuvé. Synchronisez d'abord.",
"use_ai_text": "Utiliser le texte généré par IA",
"status_sent": "Envoyé",
"status_delivered": "Livré",
"status_read": "Lu",
"status_failed": "Échec",
"fetch_failed": "Erreur de chargement des modèles"
}
},
"whatsapp": {
"templates": {
"title": "Modèles de Messages WhatsApp",
"subtitle": "Gérez et synchronisez vos modèles approuvés par Meta.",
"sync_button": "Synchroniser avec Meta",
"create_button": "Créer un modèle",
"no_templates": "Aucun modèle. Synchronisez ou créez-en un.",
"table": {
"name": "Nom du modèle",
"category": "Catégorie",
"language": "Langue",
"status": "Statut"
},
"create_modal": {
"title": "Créer un nouveau modèle",
"name_label": "Nom du modèle (minuscules, sans espaces)",
"category_label": "Catégorie",
"language_label": "Langue",
"body_label": "Texte du corps",
"submit": "Soumettre pour approbation",
"success": "Modèle soumis avec succès !",
"error": "Échec de la soumission.",
"meta_approval": "Les templates doivent être approuvés par Meta avant utilisation.",
"ai_generate_label": "Générer avec l'IA",
"ai_placeholder": "Ex: \"message de bienvenue pour un nouvel apprenant\"",
"ai_generating": "Génération…",
"ai_generate": "Générer",
"ai_hint": "L'IA remplit les champs ci-dessous — vous pouvez les modifier avant de soumettre.",
"name_hint": "Lettres minuscules, chiffres et underscores uniquement. Ex : relance_paiement",
"policy_marketing": "Promotionnel — approbation Meta 24–48h. Évitez les mots trop commerciaux.",
"policy_utility": "Transactionnel — approbation plus rapide (quelques heures). Confirmations, rappels, alertes.",
"preview_label": "Aperçu WhatsApp",
"view_preview": "Voir l'aperçu complet"
},
"status_approved": "Approuvé",
"status_pending": "En attente",
"status_rejected": "Rejeté",
"status_paused": "En pause",
"status_disabled": "Désactivé",
"waba_not_configured": "WhatsApp Business non configuré",
"waba_not_configured_desc": "Cette organisation n'a pas encore de compte WhatsApp Business (WABA) associé. Rendez-vous dans Paramètres → Intégration WhatsApp pour configurer votre numéro et votre WABA ID."
}
},
"knowledge": {
"title": "Base de Connaissances",
"subtitle": "Gérez les documents de votre IA",
"chunks": "chunks indexés",
"reindex": "Re-indexer",
"reindexing": "Indexation...",
"search_placeholder": "Rechercher dans les chunks...",
"no_documents": "Aucun chunk trouvé.",
"import_hint": "Importez un document dans l'onglet Agent IA pour commencer.",
"confirm_delete": "Supprimer ce chunk de la base de connaissances ?",
"delete_error": "Échec de la suppression",
"reindex_success": "Réindexation lancée avec succès",
"no_kb_url": "Aucune URL de base de connaissances configurée. Ajoutez une URL dans Paramètres.",
"reindex_error": "Échec de la réindexation",
"generate_error": "Échec de la génération",
"generate_from_desc": "Générer depuis une description",
"generate_placeholder": "Décrivez votre activité, vos produits ou services… L'IA génèrera automatiquement une FAQ et l'indexera dans la base de connaissances.",
"generating_btn": "Génération en cours…",
"generate_btn": "Générer",
"generate_success_count": "{{count}} Q&A générées et indexées",
"generate_result_summary": "{{count}} Q&R générées · {{chunks}} chunks indexés"
},
"training": {
"title": "Training Lab",
"subtitle": "Testez et affinez votre IA pédagogique",
"rules_injected": "Succès ! {{count}} règles ont été injectées dans le dictionnaire.",
"inject_rules": "Injecter ({{count}}) Règles",
"ground_truth_label": "Vérité Terrain (Ground Truth)",
"training_saved": "Entraînement enregistré !"
},
"ai_setup": {
"title": "Configuration de l'Agent IA",
"subtitle": "Transformez vos documents en intelligence conversationnelle sur WhatsApp.",
"kb_title": "Base de Connaissances",
"kb_desc": "Téléchargez vos catalogues, manuels ou FAQ. L'IA utilisera ces documents pour répondre précisément.",
"upload_idle": "Cliquez pour uploader un document",
"upload_loading": "Upload et indexation en cours...",
"upload_success": "Document indexé avec succès !",
"upload_error": "Erreur lors de l'upload",
"personality_title": "Personnalité de l'Agent",
"role_label": "Rôle principal",
"role_placeholder": "Ex: Conseiller technique pour Agritech",
"tone_label": "Ton et Style",
"save": "Sauvegarder la personnalité",
"saving": "Sauvegarde...",
"saved": "Sauvegardé",
"preview_title": "Preview WhatsApp",
"stats_title": "Statistiques Agent",
"stats_status": "Statut",
"stats_active": "Actif",
"stats_chunks": "Chunks indexés",
"stats_words": "Mots estimés",
"no_kb": "Aucune base de connaissances indexée.",
"notifications_title": "Notifications Automatisées",
"notifications_desc": "Sélectionnez le modèle Meta à utiliser pour les relances automatiques envoyées par l'IA.",
"kb_empty_title": "Votre agent n'est pas encore opérationnel",
"kb_empty_desc": "Uploadez au moins un document (FAQ, catalogue, tarifs…) pour qu'il puisse répondre à vos clients. Sans base de connaissance, l'agent ne saura pas quoi dire.",
"upload_success_detail": "Document analysé — votre agent a été mis à jour !",
"current_file": "Actuel :",
"indexing_title": "Que se passe-t-il maintenant ?",
"indexing_desc": "Votre document est en cours d'analyse. Dans 30 à 60 secondes, votre agent pourra répondre aux questions qu'il couvre. Testez-le dans le panneau à droite.",
"role_hint": "Décrivez en une ou deux phrases ce que fait votre agent et pour qui. Plus c'est précis, meilleures sont les réponses.",
"tone_recommended": "— recommandé pour votre secteur",
"tone_desc_professional": "Formel et précis — idéal pour les services B2B",
"tone_desc_friendly": "Chaleureux et accessible — idéal pour le grand public",
"tone_desc_direct": "Court et factuel — idéal pour le support",
"tone_desc_pedagogical": "Patient et explicatif — idéal pour la formation",
"test_live": "Test en direct",
"test_hint": "Posez une vraie question à votre agent",
"test_empty_with_kb": "Posez une question ci-dessous pour tester votre agent.",
"test_empty_no_kb": "Uploadez un document d'abord, puis testez ici.",
"test_placeholder": "Ex: Quels sont vos tarifs ?",
"test_error": "Désolé, le test est indisponible pour le moment.",
"kb_save_blocked": "Ajoutez d'abord un document à la base de connaissance ci-dessus avant d'activer votre agent.",
"coverage_excellent": "Excellente",
"coverage_good": "Bonne",
"coverage_poor": "Insuffisante",
"coverage_label": "passages analysés — couverture",
"coverage_low_hint": "Ajoutez plus de documents pour améliorer la précision des réponses.",
"no_kb_hint": "Ajoutez vos FAQ, tarifs ou fiches produit pour activer l'agent.",
"stats_status_label": "Statut",
"stats_active_label": "Actif",
"words_covered": "Mots couverts",
"bot_name_label": "Nom de l'agent",
"bot_name_placeholder": "Ex: Kora, Awa, SupportBot...",
"bot_name_hint": "Le prénom que votre agent utilisera pour se présenter sur WhatsApp.",
"tone_professional": "Professionnel",
"tone_friendly": "Amical",
"tone_direct": "Direct",
"tone_pedagogical": "Pédagogue"
},
"tracks": {
"title": "Parcours",
"new": "Nouveau parcours",
"no_tracks": "Aucun parcours. Créez-en un !",
"confirm_delete": "Supprimer ce parcours ?",
"days": "jours",
"enrolled": "inscrits",
"days_label": "Jours",
"no_days": "Aucun jour créé.",
"edit_day": "Modifier Jour",
"new_day": "Nouveau jour",
"day_number": "Numéro du jour",
"day_title": "Titre",
"lesson_text": "Texte de la leçon",
"lesson_placeholder": "Contenu pédagogique...",
"audio_url": "URL Audio (optionnel)",
"exercise_type": "Type exercice",
"exercise_type_text": "Texte libre",
"exercise_type_audio": "Audio",
"exercise_type_button": "Boutons",
"validation_keyword": "Mot-clé validation",
"exercise_prompt": "Prompt exercice",
"exercise_prompt_placeholder": "Question posée à l'étudiant...",
"no_lesson_text": "Pas de texte",
"form_title_label": "Titre",
"form_description": "Description",
"form_duration": "Durée (jours)",
"form_language": "Langue",
"form_lang_fr": "Français",
"form_lang_wolof": "Wolof",
"form_premium": "Formation Premium (payante)",
"form_price": "Prix (XOF)",
"ai_generate_btn": "Générer avec IA",
"ai_generate_first": "Générer votre premier programme avec IA",
"ai_modal_badge": "Agent Créateur de Contenu",
"ai_modal_title": "Générer un programme",
"ai_modal_subtitle": "L'IA crée tout le curriculum en quelques secondes",
"ai_description_label": "Description du programme",
"ai_description_placeholder": "Ex: Formation de 5 jours sur les bases du marketing digital pour les PME au Sénégal...",
"ai_num_days": "Nombre de jours",
"ai_language": "Langue",
"ai_lang_fr": "Français",
"ai_lang_en": "Anglais",
"ai_lang_wol": "Wolof",
"ai_audience": "Public cible",
"ai_audience_optional": "optionnel",
"ai_audience_placeholder": "Ex: Entrepreneurs débutants, femmes rurales, lycéens...",
"ai_generating": "Génération en cours... (15-30s)",
"ai_generate_submit": "Générer le programme",
"ai_error": "Échec de la génération IA"
},
"campaigns": {
"title": "Historique des Campagnes",
"no_records": "Aucune campagne trouvée",
"first_hint": "Envoyez votre première campagne depuis la section Contacts.",
"total": "messages envoyés au total",
"clear_filter": "Effacer filtre",
"columns": {
"contact": "Contact",
"message": "Message",
"status": "Statut",
"sent": "Envoyé"
}
},
"livefeed": {
"title": "Live Feed",
"subtitle": "Surveillance des conversations en temps réel",
"no_messages": "Aucun message pour l'instant.",
"refresh": "Actualiser"
},
"b2b": {
"title": "Gestion Clients B2B",
"subtitle": "Gérez vos organisations partenaires"
},
"billing": {
"select_org": "Sélectionnez une organisation pour voir la facturation.",
"error_prefix": "Erreur :",
"page_title": "Mes crédits & consommation",
"period_label": "Période :",
"recharge_btn": "Recharger",
"alert_exhausted_title": "Service suspendu — vos crédits sont épuisés",
"alert_exhausted_desc": "Rechargez pour rétablir les messages IA immédiatement.",
"alert_low_title": "Crédits presque épuisés — {{count}} crédits restants",
"alert_low_desc": "Rechargez avant interruption du service.",
"alert_recharge_btn": "Recharger →",
"wallet_label": "Crédits disponibles",
"wallet_unit": "crédits",
"wallet_fcfa": "≈ {{amount}} FCFA",
"wallet_recharge_btn": "Recharger les crédits",
"wallet_rate": "1 crédit = 1 message IA = 10 FCFA",
"days_remaining": "À ce rythme : encore ~{{days}} jour",
"days_remaining_plural": "À ce rythme : encore ~{{days}} jours",
"ai_messages_title": "Messages IA ce mois",
"ai_cost_label": "≈ {{cost}} FCFA de coût IA",
"ai_quota_warning": "Quota mensuel bientôt atteint ({{pct}}%)",
"wa_messages_title": "Messages WhatsApp ce mois",
"wa_free_note": "✅ Gratuit pour vous — Meta facture directement votre compte WhatsApp Business",
"activity_title": "Activité des 30 derniers jours",
"activity_subtitle": "Chaque barre = nombre de messages IA + WhatsApp ce jour-là",
"activity_empty": "Aucune activité sur cette période",
"breakdown_title": "Où vont vos crédits IA ?",
"breakdown_subtitle": "Répartition de l'utilisation par type de message ce mois",
"transactions_title": "Derniers mouvements de crédits",
"transactions_subtitle": "Les 20 dernières opérations sur votre solde",
"balance_label": "Solde :",
"csv_btn": "CSV",
"csv_col_date": "Date",
"csv_col_type": "Type",
"csv_col_desc": "Description",
"csv_col_amount": "Montant (crédits)",
"csv_col_balance": "Solde après",
"chat_title": "Posez une question sur votre consommation",
"chat_subtitle": "Réponses basées sur vos vraies données · en français",
"chat_placeholder": "Ex: Combien de crédits ai-je utilisé cette semaine ?",
"chat_empty": "Cliquez sur une question ci-dessus ou écrivez la vôtre",
"chat_error": "Désolé, je ne peux pas répondre pour le moment.",
"quick_q1": "Combien de crédits me reste-t-il ?",
"quick_q2": "Dans combien de jours serai-je à court ?",
"quick_q3": "Quelle fonctionnalité consomme le plus ?",
"quick_q4": "Combien j'ai dépensé cette semaine ?",
"feature_LESSON": "📚 Leçons envoyées",
"feature_FEEDBACK": "✅ Feedbacks exercices",
"feature_DEEPDIVE": "🔍 Approfondissements",
"feature_TRANSCRIPTION": "🎤 Transcriptions audio",
"feature_IMAGE_ANALYSIS": "🖼️ Analyses image",
"feature_CAMPAIGN": "📣 Campagnes",
"feature_ONBOARDING": "👋 Accueil nouveaux apprenants",
"feature_OTHER": "⚙️ Autres",
"tx_TOP_UP_MANUAL": "➕ Recharge",
"tx_TOP_UP_PAYMENT": "➕ Recharge",
"tx_ADJUSTMENT": "🔧 Ajustement",
"tx_DEBIT_AI": "🤖 Message IA",
"tx_DEBIT_WHATSAPP": "💬 Message WhatsApp",
"tx_DEBIT_BROADCAST": "📣 Campagne",
"modal_title": "Recharger les crédits",
"modal_rate": "1 crédit = 10 FCFA · utilisé pour chaque message IA",
"modal_popular": "Le plus populaire",
"modal_ai_messages": "≈ {{count}} messages IA",
"modal_footer": "Cliquez sur un pack → WhatsApp s'ouvre → notre équipe finalise la recharge en moins de 2 heures.",
"pack_500_label": "500 crédits",
"pack_2000_label": "2 000 crédits",
"pack_5000_label": "5 000 crédits",
"pack_500_price": "5 000 FCFA",
"pack_2000_price": "18 000 FCFA",
"pack_5000_price": "40 000 FCFA"
},
"clients": {
"page_title": "Gestion des Clients B2B",
"page_subtitle": "Gérez les organisations partenaires et leurs actifs WhatsApp.",
"new_org_button": "Nouvelle Organisation",
"loading": "Chargement des clients...",
"no_clients_title": "Aucun client",
"no_clients_desc": "Commencez par ajouter votre première organisation partenaire.",
"status": {
"operational": "Opérationnel",
"config_required": "Configuration requise",
"online": "En ligne",
"suspended": "SUSPENDU"
},
"actions": {
"reconfigure_wa": "Reconfigurer WhatsApp",
"connect_wa": "Connecter WhatsApp (Meta)",
"direct_setup": "Configuration directe",
"personality_studio": "Personality Studio",
"ai_credits": "Crédits IA",
"billing_details": "Détails & Facturation"
},
"waba": {
"checking": "Vérification…",
"not_connected": "Non connecté",
"approved": "Approuvé",
"pending": "En révision",
"rejected": "Rejeté",
"banned": "Suspendu",
"unknown": "Inconnu",
"refresh_tooltip": "Rafraîchir",
"what_to_do": "Que faire ? →",
"verified": "Vérifiée",
"not_verified": "Non vérifiée",
"verify_link": "Vérifier →"
},
"tier": {
"tier_50": "50 conv./j",
"tier_250": "250 conv./j",
"tier_1k": "1 000 conv./j",
"tier_10k": "10 000 conv./j",
"tier_100k": "100 000 conv./j",
"unlimited": "Illimité",
"label": "Limite Quotidienne",
"meta_compliance": "Meta Tech Provider Compliance"
},
"quality": {
"good_label": "Bon",
"good_desc": "Taux de signalement faible. Continue ainsi.",
"medium_label": "Moyen",
"medium_desc": "Des utilisateurs ont signalé vos messages. Évitez les envois non sollicités.",
"risky_label": "Risqué",
"risky_desc": "Risque de blocage Meta. Réduisez le volume et améliorez le contenu.",
"dot_title": "Qualité : "
},
"tier_modal": {
"title": "Limite de messagerie WhatsApp",
"levels_heading": "Niveaux de capacité Meta",
"current_badge": "Actuel",
"tier_50_desc": "Compte restreint ou en cours d'activation.",
"tier_250_desc": "Niveau de départ pour tout nouveau compte approuvé.",
"tier_1k_desc": "Atteint automatiquement après 1 000 utilisateurs uniques/mois.",
"tier_10k_desc": "Atteint après 10 000 utilisateurs uniques/mois.",
"tier_100k_desc": "Volume élevé — débloqué par Meta sur demande.",
"unlimited_desc": "Aucune limite appliquée par Meta.",
"quality_heading": "Score Qualité du numéro",
"meta_auto_update": "Meta met à jour ces données automatiquement.",
"levels_auto": "Les niveaux progressent sans action de votre part."
},
"cells": {
"waba_header": "WABA",
"business_header": "Entreprise Meta",
"daily_limit_header": "Limite Quotidienne",
"daily_limit_info_tooltip": "En savoir plus sur les limites Meta"
},
"create_modal": {
"title": "Nouvelle Organisation",
"company_name_label": "Nom de l'entreprise",
"company_name_placeholder": "Ex: AgroBusiness Senegal",
"slug_label": "Slug (URL)",
"slug_placeholder": "agro-sn",
"use_case_label": "Cas d'usage",
"use_case_education": "🎓 Plateforme Éducative (Modules)",
"use_case_crm": "💬 CRM & Messages WhatsApp (Excel)",
"workstream_label": "Espace de travail (Workstream)",
"mode_crm": "CRM & Marketing",
"mode_pedagogy": "Pédagogie & Formation",
"mode_service": "Service Client IA",
"admin_section": "Administrateur Principal",
"admin_name_label": "Nom complet",
"admin_name_placeholder": "Jean Dupont",
"admin_email_label": "Email",
"admin_email_placeholder": "admin@entreprise.com",
"password_label": "Mot de passe provisoire",
"password_placeholder": "Min. 8 caractères",
"submit": "Créer l'organisation & Admin",
"submitting": "Création...",
"error_create": "Erreur lors de la création de l'organisation. Vérifiez que le slug est unique."
},
"validation": {
"name_required": "Nom requis",
"slug_required": "Slug requis",
"slug_format": "Lettres minuscules, chiffres et tirets uniquement",
"admin_name_required": "Nom requis",
"email_required": "Email requis",
"email_invalid": "Email invalide",
"password_min": "Minimum 8 caractères"
},
"billing_modal": {
"title": "Détails & Facturation",
"mode_label": "Mode",
"waba_status_label": "WABA Status",
"daily_limit_label": "Limite quotidienne",
"meta_business_label": "Entreprise Meta",
"waba_id_label": "WABA ID",
"plan_label": "Plan d'abonnement",
"plan_starter": "Starter — 20 000 FCFA/mois",
"plan_growth": "Croissance — 60 000 FCFA/mois",
"plan_scale": "Scale — 150 000 FCFA/mois",
"plan_enterprise": "Enterprise — 500 000+ FCFA/mois",
"apply_plan": "Appliquer le plan",
"plan_updated": "Plan mis à jour !",
"close": "Fermer"
},
"credits_modal": {
"title": "Crédits IA",
"current_balance": "Solde wallet actuel",
"credits_unit": "crédits",
"add_credits_label": "Crédits à ajouter",
"add_credits_placeholder": "Ex: 500",
"rate_hint": "1 crédit = 10 FCFA · Minimum 1 crédit",
"submit": "Créditer le wallet",
"error": "Erreur lors de l'allocation des crédits"
},
"personality_modal": {
"title": "Personality Studio",
"subtitle": "Configuration de l'identité IA pour {{orgName}}",
"bot_name_label": "Nom du bot",
"bot_name_placeholder": "ex. XAMLÉ, Coach Sarah...",
"mission_label": "Mission principale",
"mission_placeholder": "Quel est l'objectif principal de cette IA ? ex. Aider les entrepreneurs à maîtriser la finance...",
"tone_label": "Ton & Description de la personnalité",
"tone_placeholder": "ex. Professionnel et encourageant, utilise des métaphores locales, strict sur les concepts mais amical...",
"cancel": "Annuler",
"submit": "Déployer la personnalité",
"success": "Personnalité mise à jour !"
},
"wa_setup_modal": {
"title": "Configurer WhatsApp",
"already_on_meta": "Compte déjà configuré sur Meta",
"waba_id_label": "WABA ID",
"waba_id_placeholder": "ex: 102938475610293",
"waba_id_hint_link": "Ouvrir WhatsApp Accounts",
"business_id_label": "Business ID Meta",
"business_id_optional": "(optionnel — pour afficher la vérification)",
"business_id_placeholder": "ex: 25855038707486178",
"business_id_hint_link": "Ouvrir Business Info",
"token_label": "Token système",
"token_optional": "(optionnel — utilise le token env par défaut)",
"token_placeholder": "EAAxxxxxxx... — laissez vide si déjà en env var",
"token_hint_link": "Générer depuis System Users",
"phone_number_detected": "Phone Number ID détecté :",
"save_config": "Enregistrer la configuration",
"success": "Configuration WhatsApp mise à jour !",
"new_account_heading": "Nouveau compte — Connexion via Facebook",
"new_account_desc": "Pour un client qui n'a pas encore configuré son compte WhatsApp Business sur votre plateforme.",
"connect_facebook": "Se connecter avec Facebook"
},
"toast": {
"wa_connected": "WhatsApp connecté avec succès !",
"error_prefix": "Erreur : "
}
},
"admin_chat": {
"aria_label": "Assistant IA",
"choose_or_write": "Choisissez une question ou écrivez la vôtre",
"input_placeholder": "Votre question...",
"error": "Désolé, je ne peux pas répondre pour le moment. Réessayez dans un instant.",
"billing_title": "Assistant facturation",
"billing_subtitle": "Réponses basées sur vos vraies données",
"billing_q1": "Combien de crédits me reste-t-il ?",
"billing_q2": "Dans combien de jours serai-je à court ?",
"billing_q3": "Quelle fonctionnalité consomme le plus ?",
"billing_q4": "Combien j'ai dépensé cette semaine ?",
"settings_title": "Aide — Configuration",
"settings_subtitle": "J'explique chaque paramètre",
"settings_q1": "Comment connecter mon WhatsApp ?",
"settings_q2": "À quoi sert le mode Agent IA ?",
"settings_q3": "Mes clés API sont-elles sécurisées ?",
"settings_q4": "Comment changer le mode de mon organisation ?",
"templates_title": "Aide — Templates",
"templates_subtitle": "Je vous aide à créer vos messages",
"templates_q1": "Comment créer un bon template ?",
"templates_q2": "À quoi servent les variables dans un template ?",
"templates_q3": "Pourquoi un template peut être refusé ?",
"templates_q4": "Quelle est la différence entre utilitaire et marketing ?",
"agent_title": "Aide — Agent IA",
"agent_subtitle": "Je vous guide pour configurer votre agent",
"agent_q1": "Quel type de document dois-je uploader ?",
"agent_q2": "Comment choisir le bon ton pour mon agent ?",
"agent_q3": "Combien de documents sont suffisants ?",
"agent_q4": "Comment améliorer les réponses de mon agent ?",
"onboarding_title": "Aide — Connexion WhatsApp",
"onboarding_subtitle": "Je vous guide étape par étape",
"onboarding_q1": "Où est-ce que je trouve mon WABA ID ?",
"onboarding_q2": "Quelle est la différence entre les deux options ?",
"onboarding_q3": "Mon token a expiré, que faire ?",
"onboarding_q4": "Je n'ai pas de compte Meta, par où commencer ?",
"general_title": "Assistant Xamlé",
"general_subtitle": "Posez-moi vos questions",
"general_q1": "Comment bien débuter avec Xamlé ?",
"general_q2": "Quelle est la différence entre les modes ?",
"general_q3": "Comment fonctionne la facturation ?",
"general_q4": "Où voir mes statistiques ?"
},
"super_admin": {
"nav_dashboard": "Dashboard",
"nav_organizations": "Organisations",
"nav_users": "Utilisateurs",
"nav_whatsapp": "Numéros WA",
"nav_templates": "Templates WA",
"nav_profiles": "Profils WA",
"nav_monitoring": "Monitoring",
"nav_billing": "Billing",
"nav_ai": "AI Insights",
"nav_audit_logs": "Audit Logs",
"exit_admin": "Quitter l'admin",
"logout": "Déconnexion",
"system_active": "Système actif",
"platform_admin": "Platform Admin",
"super_admin_label": "Super-admin",
"dashboard_title": "Platform Dashboard",
"dashboard_subtitle": "Vue globale de toutes les organisations",
"kpi_organizations": "Organisations",
"kpi_orgs_active": "{{count}} actives",
"kpi_users": "Utilisateurs",
"kpi_messages_24h": "Messages / 24h",
"kpi_queue_depth": "Queue depth",
"kpi_queue_failed": "{{count}} échoués",
"kpi_revenue": "Revenus / mois",
"kpi_alerts": "Alertes",
"system_health": "Santé système",
"health_db": "Base de données",
"health_redis": "Redis",
"health_queue": "Queue",
"active_alerts": "Alertes actives ({{count}})",
"alert_token": "Token expirant — {{orgName}} ({{daysOld}}j)",
"alert_balance": "Solde faible — {{orgName}}: {{balance}} crédits",
"alert_queue_failed": "{{count}} jobs échoués en queue",
"orgs_title": "Organisations",
"orgs_total": "{{count}} organisations au total",
"org_new": "Nouvelle organisation",
"org_search_placeholder": "Rechercher une organisation...",
"org_search_btn": "Rechercher",
"org_loading": "Chargement...",
"org_empty": "Aucune organisation trouvée",
"col_name": "Nom",
"col_plan": "Plan",
"col_status": "Statut",
"col_users": "Utilisateurs",
"col_credits": "Crédits",
"status_suspended": "Suspendu",
"status_trial": "Trial",
"status_active": "Actif",
"org_reactivated": "Organisation réactivée",
"org_suspended": "Organisation suspendue",
"org_delete_confirm": "Supprimer définitivement \"{{name}}\" ? Cette action ne peut pas être annulée.",
"org_deleted": "\"{{name}}\" supprimée",
"org_updated": "Organisation mise à jour",
"org_created": "Organisation créée",
"label_plan": "Plan",
"label_ai_credits": "Limite crédits AI",
"label_crm_active": "CRM actif",
"label_edtech_active": "EdTech actif",
"saving": "Sauvegarde...",
"save": "Sauvegarder",
"modal_new_org": "Nouvelle organisation",
"org_name_placeholder": "Nom de l'organisation",
"cancel": "Annuler",
"creating": "Création...",
"create": "Créer",
"err_load_orgs": "Erreur chargement organisations",
"err_suspend": "Erreur modification statut",
"err_delete": "Erreur suppression",
"err_update": "Erreur mise à jour",
"err_create": "Erreur création",
"btn_edit": "Modifier",
"btn_reactivate": "Réactiver",
"btn_suspend": "Suspendre",
"btn_delete_forever": "Supprimer définitivement",
"pagination_info": "{{from}}–{{to}} sur {{total}}",
"prev": "Précédent",
"next": "Suivant",
"users_title": "Utilisateurs",
"users_total": "{{count}} utilisateurs au total",
"user_search_placeholder": "Rechercher par nom ou email...",
"col_user": "Utilisateur",
"col_organization": "Organisation",
"col_role": "Rôle",
"col_created_at": "Créé le",
"user_empty": "Aucun utilisateur trouvé",
"role_updated": "Rôle mis à jour",
"btn_reset_password": "Réinitialiser le mot de passe",
"reset_no_email": "Cet utilisateur n'a pas d'adresse email",
"reset_confirm": "Envoyer un lien de réinitialisation à {{email}} ?",
"reset_sent": "Lien envoyé à {{email}}",
"err_load_users": "Erreur chargement utilisateurs",
"err_role_change": "Erreur changement de rôle",
"err_reset_password": "Erreur envoi email",
"wa_numbers_title": "Numéros WhatsApp",
"wa_numbers_total": "{{count}} numéros enregistrés",
"wa_refresh": "Actualiser",
"wa_register_number": "Enregistrer un numéro",
"wa_no_numbers": "Aucun numéro WhatsApp enregistré",
"col_number": "Numéro",
"col_id": "ID",
"col_added_at": "Ajouté le",
"wa_register_title": "Enregistrer un numéro WhatsApp",
"wa_step": "Étape {{step}}/2",
"label_org": "Organisation",
"org_select_placeholder": "Sélectionner une organisation...",
"label_phone_number_id": "Phone Number ID",
"phone_id_hint": "Trouvez cet ID dans Meta Business Manager > WhatsApp Accounts",
"label_pin": "PIN de sécurité",
"pin_hint": "PIN à 6 chiffres pour sécuriser le numéro (laisser vide = 000000)",
"wa_select_org_error": "Veuillez sélectionner une organisation.",
"wa_phone_id_error": "Le Phone Number ID doit contenir entre 12 et 18 chiffres.",
"wa_pin_error": "Le PIN doit contenir exactement 6 chiffres.",
"wa_sending": "Envoi en cours...",
"wa_send_otp": "Envoyer le code OTP",
"wa_reg_error": "Erreur lors de l'enregistrement.",
"wa_net_error": "Erreur réseau.",
"wa_otp_hint": "Meta vous a envoyé un code OTP par SMS ou appel vocal sur le numéro. Saisissez-le ci-dessous.",
"label_otp": "Code OTP",
"wa_otp_error": "Le code OTP doit contenir entre 4 et 8 chiffres.",
"wa_verifying": "Vérification...",
"wa_verify": "Vérifier",
"wa_otp_invalid": "Code OTP invalide ou expiré.",
"wa_number_registered": "Numéro enregistré avec succès !",
"wa_back": "Retour",
"err_load_numbers": "Erreur chargement numéros",
"tpl_title": "WhatsApp Templates",
"tpl_orgs_count_one": "{{count}} organisation avec WhatsApp configuré",
"tpl_orgs_count_other": "{{count}} organisations avec WhatsApp configuré",
"tpl_select_hint": "Sélectionnez une organisation pour gérer ses modèles de message WhatsApp.",
"tpl_search_placeholder": "Rechercher une organisation ou un WABA ID...",
"tpl_empty": "Aucune organisation avec WhatsApp configuré",
"col_waba_id": "WABA ID",
"col_actions": "Actions",
"tpl_view": "Voir templates",
"tpl_no_templates": "Aucun modèle trouvé pour cette organisation.",
"col_category": "Catégorie",
"col_language": "Langue",
"tpl_create_btn": "Créer un template",
"tpl_create_title": "Nouveau template WhatsApp",
"label_template_name": "Nom du template",
"template_name_hint": "Minuscules, chiffres, underscores uniquement",
"template_name_error": "Minuscules, chiffres, underscores uniquement",
"label_category": "Catégorie",
"label_language": "Langue",
"label_header_optional": "En-tête (optionnel)",
"label_body": "Corps du message",
"label_footer_optional": "Pied de page (optionnel)",
"label_preview": "Prévisualisation",
"body_placeholder": "Corps du message...",
"tpl_select_org_placeholder": "Sélectionner une organisation…",
"tpl_submitted": "Template soumis à Meta pour approbation",
"tpl_create_required": "Organisation, nom et corps du message sont obligatoires.",
"tpl_name_invalid": "Le nom du template est invalide.",
"tpl_creating": "Création…",
"tpl_create_submit": "Créer le template",
"tpl_create_error": "Erreur lors de la création du template.",
"profiles_title": "Profils WhatsApp",
"profiles_count_one": "{{count}} profil",
"profiles_count_other": "{{count}} profils",
"profile_empty": "Aucun profil WhatsApp trouvé",
"label_org_name": "Nom de l'organisation",
"label_logo_url": "URL du logo",
"label_primary_color": "Couleur principale",
"profile_updated": "Profil mis à jour",
"err_load_profiles": "Erreur chargement des profils",
"err_save_profile": "Erreur lors de la sauvegarde",
"btn_cancel_edit": "Annuler",
"btn_save": "Enregistrer",
"saving_profile": "Enregistrement…",
"btn_edit_profile": "Modifier",
"monitoring_title": "Monitoring & Alertes",
"monitoring_subtitle": "État en temps réel du système",
"system_health_title": "Santé système",
"health_redis_cache": "Redis / Cache",
"health_queue_jobs": "Queue jobs",
"queue_failed_detail": "{{count}} échoués",
"queue_waiting_detail": "{{count}} en attente",
"token_expiry_title": "Tokens WhatsApp expirants",
"token_no_risk": "Aucun token en risque d'expiration",
"col_org": "Organisation",
"col_issued_ago": "Émis il y a",
"col_days": "{{count}} jours",
"low_balance_title": "Soldes faibles (< 100 crédits)",
"low_balance_none": "Aucune organisation avec solde faible",
"credits_label": "{{count}} crédits",
"err_load_monitoring": "Erreur chargement monitoring",
"billing_title": "Billing",
"billing_transactions": "{{count}} transactions",
"billing_add_credits": "Ajouter crédits",
"billing_no_transactions": "Aucune transaction",
"col_date": "Date",
"col_type": "Type",
"col_description": "Description",
"col_amount": "Montant",
"col_balance_after": "Solde après",
"credits_added": "{{amount}} crédits ajoutés. Nouveau solde: {{balance}}",
"modal_add_credits": "Ajouter des crédits",
"label_org_id": "ID de l'organisation",
"org_id_placeholder": "org-uuid...",
"label_credits_amount": "Montant (crédits)",
"label_description_optional": "Description (optionnel)",
"credits_desc_placeholder": "Rechargement manuel...",
"adding": "Ajout...",
"add": "Ajouter",
"err_load_transactions": "Erreur chargement transactions",
"err_add_credits": "Erreur ajout de crédits",
"audit_title": "Audit Logs",
"audit_total": "{{count}} entrées au total",
"col_datetime": "Date / Heure",
"col_action": "Action",
"col_actor": "Acteur",
"col_resource": "Ressource",
"col_details": "Détails",
"col_from": "Du",
"col_to": "Au",
"audit_search": "Rechercher",
"audit_empty": "Aucun log pour ces critères",
"audit_show": "Voir",
"audit_hide": "Masquer",
"ai_title": "AI Insights",
"ai_subtitle": "Commandes en langage naturel pour gérer la plateforme",
"ai_suggestion_1": "Montre moi les organisations avec un solde faible",
"ai_suggestion_2": "Quelles sont les statistiques de la plateforme ?",
"ai_suggestion_3": "Liste les alertes actives",
"ai_suggestion_4": "Affiche les 10 dernières organisations",
"ai_greeting": "Bonjour ! Je suis votre assistant IA pour la gestion de la plateforme XAMLÉ. Posez-moi une question ou donnez-moi une instruction.",
"ai_input_placeholder": "Tapez une commande... ex: 'Ajoute 500 crédits à l'org XAMLÉ'",
"ai_confirm": "Confirmer",
"ai_cancelled": "Action annulée.",
"ai_err": "Erreur AI",
"ai_err_exec": "Erreur exécution",
"ai_err_message": "Désolé, une erreur est survenue.",
"ai_err_exec_message": "Erreur lors de l'exécution.",
"ai_done": "Action effectuée.",
"ai_no_result": "Aucun résultat trouvé.",
"rel_today": "aujourd'hui",
"rel_yesterday": "il y a 1 jour",
"rel_days_ago": "il y a {{count}} jours",
"tpl_cat_marketing_desc": "Promotions, offres, newsletters",
"tpl_cat_utility_desc": "Confirmations, mises à jour transactionnelles",
"tpl_cat_authentication_desc": "Codes OTP, vérification"
}
}