{
  "common": {
    "save": "Enregistrer",
    "cancel": "Annuler",
    "loading": "Chargement...",
    "error": "Erreur",
    "search": "Rechercher",
    "confirm": "Confirmer",
    "delete": "Supprimer",
    "edit": "Modifier",
    "close": "Fermer",
    "back": "Retour",
    "next": "Suivant",
    "retry": "Réessayer",
    "or": "ou",
    "optional": "facultatif",
    "language": "Langue",
    "dismiss": "Ignorer",
    "continue": "Continuer",
    "selected": "Sélectionné",
    "detected": "Détecté",
    "now": "maintenant",
    "tryAgain": "Réessayer",
    "skipToMainContent": "Aller au contenu principal",
    "builtWithCareBy": "Conçu avec soin par",
    "viewRelease": "Voir la version",
    "updateNow": "Mettre à jour maintenant",
    "showDetails": "Afficher les détails",
    "hideDetails": "Masquer les détails",
    "moreIssues": "+ {count} {count, plural, one {problème supplémentaire} other {problèmes supplémentaires}}"
  },
  "auth": {
    "missionControl": "Mission Control",
    "signInToContinue": "Connectez-vous pour continuer",
    "username": "Nom d'utilisateur",
    "password": "Mot de passe",
    "signIn": "Se connecter",
    "signingIn": "Connexion en cours...",
    "signInWithGoogle": "Se connecter avec Google",
    "loadingGoogleSignIn": "Chargement de la connexion Google...",
    "googleSignInFailed": "Échec de la connexion Google",
    "networkError": "Erreur réseau",
    "loginFailed": "Échec de la connexion",
    "enterUsername": "Entrez le nom d'utilisateur",
    "enterPassword": "Entrez le mot de passe",
    "orchestrationTagline": "Orchestration d'agents OpenClaw",
    "accessRequestSubmitted": "Demande d'accès soumise",
    "accessRequestDescription": "Votre demande a été envoyée à un administrateur pour examen. Vous pourrez vous connecter une fois approuvée.",
    "tryAgain": "Réessayer",
    "noAdminAccount": "Aucun compte administrateur créé",
    "noAdminDescription": "Configurez votre compte administrateur pour commencer avec Mission Control.",
    "createAdminAccount": "Créer un compte administrateur",
    "welcomeToMC": "Bienvenue sur Mission Control",
    "settingUpMC": "Configuration de Mission Control",
    "createAdminToStart": "Créez votre compte administrateur pour commencer",
    "creatingAdmin": "Création de votre compte administrateur...",
    "displayName": "Nom d'affichage",
    "confirmPassword": "Confirmer le mot de passe",
    "atLeast12Chars": "Au moins 12 caractères",
    "repeatPassword": "Répétez votre mot de passe",
    "passwordsDoNotMatch": "Les mots de passe ne correspondent pas",
    "passwordTooShort": "Le mot de passe doit contenir au moins 12 caractères",
    "moreCharsNeeded": "Encore {count} {count, plural, one {caractère nécessaire} other {caractères nécessaires}}",
    "firstTimeSetupOnly": "Cette page n'est disponible que lors de la configuration initiale.",
    "checkingSetupStatus": "Vérification de l'état de configuration...",
    "setupFailed": "Échec de la configuration",
    "failedToCheckSetup": "Impossible de vérifier l'état de configuration",
    "validatingCredentials": "Validation des identifiants",
    "creatingAdminAccount": "Création du compte administrateur",
    "configuringSession": "Configuration de la session",
    "launchingDashboard": "Lancement du tableau de bord",
    "usernameHint": "Lettres minuscules, chiffres, points, tirets et underscores uniquement"
  },
  "nav": {
    "overview": "Aperçu",
    "agents": "Agents",
    "tasks": "Tâches",
    "chat": "Chat",
    "channels": "Canaux",
    "skills": "Compétences",
    "memory": "Mémoire",
    "activity": "Activité",
    "logs": "Journaux",
    "costTracker": "Suivi des coûts",
    "nodes": "Nœuds",
    "approvals": "Approbations",
    "office": "Bureau",
    "cron": "Cron",
    "webhooks": "Webhooks",
    "alerts": "Alertes",
    "github": "GitHub",
    "security": "Sécurité",
    "users": "Utilisateurs",
    "audit": "Audit",
    "gateway": "Passerelle",
    "gateways": "Passerelles",
    "config": "Configuration",
    "integrations": "Intégrations",
    "debug": "Débogage",
    "settings": "Paramètres",
    "group": {
      "observe": "OBSERVER",
      "automate": "AUTOMATISER",
      "admin": "ADMIN"
    },
    "collapseSidebar": "Réduire la barre latérale",
    "expandSidebar": "Développer la barre latérale",
    "more": "Plus"
  },
  "settings": {
    "language": "Langue",
    "languageDescription": "Choisissez votre langue d'affichage préférée",
    "general": "Général",
    "security": "Sécurité",
    "dataRetention": "Conservation des données",
    "chatSettings": "Chat",
    "gatewaySettings": "Passerelle",
    "title": "Paramètres",
    "description": "Configurez le comportement de Mission Control et les politiques de rétention",
    "discard": "Ignorer",
    "save": "Enregistrer",
    "saving": "Enregistrement...",
    "saveChanges": "Enregistrer les modifications",
    "workspaceManagementLabel": "Gestion de l'espace de travail :",
    "workspaceManagementDesc1": "Pour créer ou gérer des espaces de travail (instances locataires), accédez au panneau",
    "superAdmin": "Super Admin",
    "workspaceManagementDesc2": "sous Admin > Super Admin dans la barre latérale. Vous pouvez y créer de nouvelles instances client, gérer les locataires et surveiller les tâches d'approvisionnement.",
    "securityDescription": "Analysez la posture de sécurité de votre station",
    "securityScan": "Analyse de sécurité",
    "hideScan": "Masquer l'analyse",
    "backups": "Sauvegardes",
    "backupsDescription": "Créez des sauvegardes à la demande de la base de données MC ou de l'état de la passerelle",
    "backupMcDatabase": "Sauvegarder la BD MC",
    "backupGatewayState": "Sauvegarder l'état de la passerelle",
    "backingUp": "Sauvegarde en cours...",
    "onboarding": "Intégration",
    "onboardingDescription": "Relancez l'assistant de configuration et réinitialisez la liste de vérification du tableau de bord",
    "replayOnboarding": "Relancer l'intégration",
    "resetting": "Réinitialisation..."
  },
  "boot": {
    "missionControl": "Mission Control",
    "agentOrchestration": "Orchestration d'agents",
    "authenticatingOperator": "Authentification de l'opérateur",
    "detectingStationMode": "Détection du mode station",
    "loadingControlConfig": "Chargement de la configuration de contrôle",
    "connectingRuntimeLinks": "Connexion des liens d'exécution",
    "syncingAgentRegistry": "Synchronisation du registre d'agents",
    "loadingActiveSessions": "Chargement des sessions actives",
    "hydratingWorkspaceBoard": "Initialisation du tableau de bord",
    "mappingMemoryGraph": "Cartographie du graphe de mémoire",
    "indexingSkillCatalog": "Indexation du catalogue de compétences"
  },
  "header": {
    "workspace": "Espace de travail",
    "sessions": "Sessions",
    "events": "Événements",
    "live": "En direct",
    "off": "Désactivé",
    "local": "Local",
    "connected": "Connecté",
    "disconnected": "Déconnecté",
    "reconnecting": "Reconnexion",
    "offline": "Hors ligne",
    "retry": "Tentative {count}",
    "jumpToSearch": "Aller à une page, tâche, agent...",
    "searchPlaceholder": "Rechercher des tâches, agents, activité ou saisir une commande de page...",
    "searching": "Recherche...",
    "noResults": "Aucun résultat trouvé",
    "typeToSearch": "Tapez pour rechercher des entités ou accéder instantanément aux pages",
    "gatewayConnection": "Connexion à la passerelle",
    "status": "Statut",
    "host": "Hôte",
    "latency": "Latence",
    "webSocket": "WebSocket",
    "sse": "SSE",
    "retries": "Tentatives",
    "clickToReconnect": "Cliquez pour reconnecter",
    "down": "Indisponible",
    "goToOverview": "Aller à l'aperçu",
    "goToChat": "Aller au chat",
    "goToTasks": "Aller aux tâches",
    "goToAgents": "Aller aux agents",
    "goToActivityFeed": "Aller au fil d'activité",
    "goToNotifications": "Aller aux notifications",
    "goToTokenUsage": "Aller à l'utilisation des tokens",
    "goToLogs": "Aller aux journaux",
    "goToMemoryBrowser": "Aller à l'explorateur de mémoire",
    "goToIntegrations": "Aller aux intégrations",
    "goToSettings": "Aller aux paramètres",
    "goToGateways": "Aller aux passerelles",
    "goToGithubSync": "Aller à la synchronisation GitHub",
    "goToOffice": "Aller au bureau",
    "goToSkills": "Aller aux compétences",
    "quickNavigation": "Navigation rapide"
  },
  "contextSwitcher": {
    "localMode": "Mode local",
    "connected": "Connecté",
    "disconnected": "Déconnecté",
    "interface": "Interface",
    "essential": "Essentiel",
    "full": "Complet",
    "organizations": "ORGANISATIONS",
    "all": "Tous",
    "noTools": "aucun outil",
    "unlinked": "non lié",
    "newOrganization": "Nouvelle organisation...",
    "usernamePlaceholder": "Nom d'utilisateur (utilisateur OS)",
    "displayNamePlaceholder": "Nom d'affichage",
    "gatewayPortPlaceholder": "Port de la passerelle (obligatoire)",
    "installTools": "INSTALLER LES OUTILS",
    "usernameAndDisplayRequired": "Le nom d'utilisateur et le nom d'affichage sont obligatoires",
    "invalidUsernameFormat": "Format de nom d'utilisateur invalide",
    "gatewayPortRequired": "Le port de la passerelle est obligatoire",
    "creating": "Création...",
    "createUser": "Créer un utilisateur",
    "createAndQueue": "Créer + Mettre en file"
  },
  "localModeBanner": {
    "noGatewayDetected": "Aucune passerelle OpenClaw détectée",
    "runningInLocalMode": " — en mode local. Surveillance des sessions Claude Code, tâches et données locales.",
    "configureGateway": "Configurer la passerelle"
  },
  "updateBanner": {
    "updating": "Mise à jour...",
    "restartingServer": "Redémarrage du serveur...",
    "updateAvailable": "Mise à jour disponible : v{version}",
    "newerVersionAvailable": " — une version plus récente de Mission Control est disponible.",
    "updateFailed": "Échec de la mise à jour",
    "networkError": "Erreur réseau — impossible de joindre le serveur."
  },
  "openclawUpdateBanner": {
    "updatingOpenClaw": "Mise à jour d'OpenClaw...",
    "openclawUpdated": "OpenClaw mis à jour en v{version}",
    "openclawUpdateAvailable": "Mise à jour OpenClaw : v{version} disponible",
    "installed": "installé : v{version}",
    "changelog": "Journal des modifications",
    "copied": "Copié !",
    "copyCommand": "Copier la commande",
    "updateFailed": "Échec de la mise à jour",
    "networkError": "Erreur réseau — impossible de joindre le serveur."
  },
  "doctorBanner": {
    "fixCompleted": "Correction du docteur OpenClaw terminée",
    "configDrift": "Dérive de configuration OpenClaw détectée",
    "stateIntegrity": "Avertissement d'intégrité d'état OpenClaw",
    "securityWarning": "Avertissement de sécurité OpenClaw",
    "doctorWarnings": "Avertissements du docteur OpenClaw",
    "runningFixes": "Exécution des corrections du docteur OpenClaw...",
    "cleaningSessionStores": "Nettoyage des magasins de sessions...",
    "archivingOrphanTranscripts": "Archivage des transcriptions orphelines...",
    "recheckingHealth": "Revérification de l'état de l'instance actuelle...",
    "fixFailed": "Échec de la correction du docteur OpenClaw",
    "networkError": "Erreur réseau — impossible de joindre le serveur.",
    "runningFix": "Correction en cours...",
    "runDoctorFix": "Lancer la correction du docteur"
  },
  "liveFeed": {
    "liveFeed": "Fil en direct",
    "showLiveFeed": "Afficher le fil en direct",
    "collapseFeed": "Réduire le fil",
    "closeFeed": "Fermer le fil",
    "noActivityYet": "Aucune activité pour le moment",
    "eventsAppearLocal": "Les événements apparaissent lorsque vous créez des tâches ou que les agents se mettent à jour",
    "eventsStreamGateway": "Les événements sont diffusés ici depuis la passerelle et la base de données locale",
    "activeSessions": "Sessions actives",
    "noActiveSessions": "Aucune session active",
    "activeSession": "Active",
    "idleSession": "Inactive"
  },
  "errorBoundary": {
    "somethingWentWrong": "Une erreur est survenue",
    "unexpectedError": "Une erreur inattendue s'est produite dans ce panneau."
  },
  "page": {
    "showLiveFeed": "Afficher le fil en direct",
    "availableInFullMode": "{panel} est disponible en mode Complet.",
    "switchToFull": "Passer en mode Complet",
    "goToOverview": "Aller à l'aperçu",
    "requiresGateway": "{panel} nécessite une connexion à la passerelle OpenClaw.",
    "configureGateway": "Configurez une passerelle pour activer ce panneau."
  },
  "onboarding": {
    "stationOnline": "Station en ligne",
    "stationReady": "Votre station est prête pour les agents.",
    "welcome": {
      "title": "Bienvenue sur Mission Control",
      "description": "Votre station pour les agents IA. Lorsque les agents s'amarrent ici, ils obtiennent une mémoire persistante, la gestion des tâches, des flux de travail coordonnés et une observabilité complète. Nous avons scanné votre configuration — voici ce qui est en ligne.",
      "availableModes": "Modes disponibles",
      "localMode": "Mode local",
      "gatewayMode": "Mode passerelle",
      "monitorClaude": "Surveiller les sessions Claude Code sur cette machine",
      "taskTracking": "Suivi des tâches et surveillance des coûts",
      "sessionHistory": "Historique des sessions",
      "singlePilot": "Opérations en solo",
      "orchestrateAgents": "Orchestrer plusieurs agents sur différentes machines",
      "memorySkills": "Mémoire, compétences et communication inter-agents",
      "webhookIntegrations": "Intégrations Webhook",
      "requiresGateway": "Nécessite une passerelle",
      "activeSessionsDetected": "{count} {count, plural, one {session active détectée} other {sessions actives détectées}}",
      "noActiveSessions": "Aucune session Claude active",
      "gatewayConnected": "Passerelle connectée",
      "localModeNoGateway": "Mode local — sans passerelle",
      "agentsRegistered": "{count} {count, plural, one {agent enregistré} other {agents enregistrés}}",
      "noAgentsYet": "Aucun agent pour le moment",
      "gatewayRegistered": "Passerelle : Mission Control enregistré",
      "gatewayRegistrationPending": "Enregistrement de la passerelle en attente",
      "skipSetup": "Passer la configuration",
      "getStarted": "Commencer"
    },
    "interfaceMode": {
      "title": "Choisissez la disposition de votre station",
      "description": "Essentiel affiche les panneaux principaux dont les opérateurs ont le plus besoin. Complet déverrouille tous les systèmes de la station — mémoire, automatisation, audit de sécurité et plus. Vous pouvez changer à tout moment.",
      "essential": "Essentiel",
      "full": "Complet",
      "essentialDescription": "Opérations simplifiées — les panneaux que vous utiliserez au quotidien : aperçu de la flotte, agents, tâches, chat, fil d'activité, journaux et paramètres.",
      "essentialPanels1": "Aperçu de la flotte, Agents, Tâches, Chat",
      "essentialPanels2": "Fil d'activité, Journaux, Paramètres",
      "essentialTotal": "7 panneaux au total",
      "fullDescription": "Accès complet à la station — ajoute l'explorateur de mémoire, la planification Cron, les Webhooks, les alertes, l'audit de sécurité, le suivi des coûts et la configuration de la passerelle.",
      "fullIncludes": "Tout ce qui est dans Essentiel plus",
      "fullPanels": "Mémoire, Cron, Webhooks, Audit",
      "fullTotal": "Tous les systèmes de la station déverrouillés"
    },
    "gatewayLink": {
      "title": "Lien de la passerelle",
      "description": "Mission Control enregistre son origine auprès de la passerelle OpenClaw pour se connecter via WebSocket et gérer les agents à distance.",
      "originRegistered": "Origine de la passerelle enregistrée",
      "originAdded": "Origine de Mission Control ajoutée aux allowedOrigins de la passerelle",
      "registrationPending": "Enregistrement en attente — sera configuré lors de la prochaine vérification des capacités",
      "deviceAuthConfigured": "Authentification de l'appareil configurée",
      "deviceAuthDisabled": "Authentification de l'appareil désactivée — MC s'authentifie via le token de la passerelle",
      "deviceAuthWillConfigure": "Sera configuré en même temps que l'enregistrement de l'origine",
      "testing": "Test...",
      "testConnection": "Tester la connexion",
      "gatewayReachable": "Passerelle accessible",
      "gatewayUnreachable": "Passerelle inaccessible"
    },
    "credentials": {
      "title": "Sécurisez votre station",
      "description": "Le mot de passe administrateur protège la console de votre station. La clé API est un identifiant d'amarrage — les agents la présentent lors de l'enregistrement, seuls les agents autorisés peuvent s'amarrer.",
      "checkingCredentials": "Vérification des identifiants...",
      "adminPassword": "Mot de passe administrateur",
      "passwordStrong": "Le mot de passe est fort et non par défaut",
      "passwordWeak": "Utilisation d'un mot de passe par défaut ou faible — changez AUTH_PASS dans .env",
      "apiKey": "Clé API",
      "apiKeyConfigured": "Configurée — les agents peuvent s'amarrer avec cette clé",
      "apiKeyNotSet": "Non définie — les agents ne pourront pas s'amarrer sans clé configurée. Exécutez : bash scripts/generate-env.sh --force",
      "openSettings": "Ouvrir les paramètres",
      "securityScan": "Scan de sécurité",
      "securityScanDescription": "Vérifiez le réseau, l'environnement d'exécution et le renforcement d'OpenClaw avant de lancer la station.",
      "launchStation": "Lancer la station",
      "launchAnyway": "Lancer quand même"
    }
  },
  "channels": {
    "title": "Canaux",
    "loadingChannels": "Chargement des canaux...",
    "gatewayConnected": "Passerelle connectée",
    "gatewayDisconnected": "Passerelle déconnectée",
    "refresh": "Actualiser",
    "noChannelsConfigured": "Aucun canal configuré. Configurez des plateformes de messagerie (WhatsApp, Telegram, Discord, Slack, etc.) dans les paramètres de la passerelle OpenClaw.",
    "gatewayUnreachable": "Impossible d'atteindre la passerelle OpenClaw. Vérifiez qu'elle est en cours d'exécution et accessible.",
    "statusConnected": "Connecté",
    "statusRunning": "En cours d'exécution",
    "statusConfigured": "Configuré",
    "statusInactive": "Inactif",
    "probe": "Sonder",
    "probing": "Sondage...",
    "showQr": "Afficher QR",
    "relink": "Relier à nouveau",
    "waitForScan": "Attendre le scan",
    "logout": "Se déconnecter",
    "loggedOut": "Déconnecté.",
    "profile": "Profil",
    "editProfile": "Modifier le profil",
    "edit": "Modifier",
    "noProfileSet": "Aucun profil défini",
    "displayName": "Nom d'affichage",
    "username": "Nom d'utilisateur",
    "about": "À propos",
    "bio": "Biographie",
    "avatarUrl": "URL de l'avatar",
    "bannerUrl": "URL de la bannière",
    "website": "Site web",
    "lightning": "Lightning",
    "saving": "Enregistrement...",
    "saveAndPublish": "Enregistrer et publier",
    "importFromRelays": "Importer depuis les relais",
    "hideAdvanced": "Masquer les options avancées",
    "showAdvanced": "Afficher les options avancées",
    "cancel": "Annuler",
    "profilePublished": "Profil publié sur les relais.",
    "saveFailed": "Échec de l'enregistrement.",
    "profileImported": "Profil importé depuis les relais.",
    "importFailed": "Échec de l'importation.",
    "accounts": "Comptes ({count})"
  },
  "integrations": {
    "title": "Intégrations",
    "loading": "Chargement des intégrations...",
    "connectedCount": "{connected} sur {total} connectées",
    "pullAll": "Tout récupérer",
    "discard": "Ignorer",
    "save": "Enregistrer",
    "saving": "Enregistrement...",
    "saveChanges": "Enregistrer les modifications",
    "cancel": "Annuler",
    "remove": "Supprimer",
    "removeTitle": "Supprimer l'intégration ?",
    "removeDescription": "Cela supprimera {target} du fichier .env. La passerelle doit être redémarrée pour que les modifications prennent effet.",
    "notSet": "non défini",
    "noIntegrationsInCategory": "Aucune intégration dans cette catégorie"
  },
  "execApproval": {
    "title": "Approbations d'exécution",
    "pendingBadge": "{count} en attente",
    "realtimeLabel": "Temps réel via WebSocket",
    "viewApprovals": "Approbations",
    "viewAllowlist": "Configuration de la liste blanche",
    "filterAll": "Toutes",
    "filterPending": "En attente",
    "filterResolved": "Résolues",
    "noPendingApprovals": "Aucune approbation en attente. Les demandes d'exécution des agents apparaîtront ici en superposition.",
    "noApprovals": "Aucune approbation à afficher.",
    "loadingAllowlist": "Chargement de la liste blanche...",
    "addAgent": "Ajouter un agent",
    "save": "Enregistrer",
    "saving": "Enregistrement...",
    "reload": "Recharger",
    "noAgentsConfigured": "Aucun agent configuré. Entrez un ID d'agent ci-dessus pour créer une liste blanche.",
    "addPattern": "Ajouter un modèle",
    "noAllowlistPatterns": "Aucun modèle dans la liste blanche. Les commandes nécessiteront une approbation manuelle.",
    "previewMatches": "Aperçu : {count} commande(s) récente(s) correspondrait(ent)",
    "andMore": "...et {count} de plus",
    "allowOnce": "Autoriser une fois",
    "alwaysAllow": "Toujours autoriser",
    "deny": "Refuser",
    "statusExpired": "Expiré",
    "statusApproved": "Approuvé",
    "statusDenied": "Refusé"
  },
  "notifications": {
    "title": "Notifications",
    "markAllRead": "Tout marquer comme lu",
    "recipientLabel": "Destinataire",
    "recipientPlaceholder": "Nom de l'agent (ex. : my-agent)",
    "noNotifications": "Aucune notification",
    "markRead": "Marquer comme lu"
  },
  "localAgentsDoc": {
    "title": "AGENTS.md local",
    "noPathFound": "Aucun AGENTS.md local trouvé pour l'instant",
    "openInVsCode": "Ouvrir dans VS Code",
    "copied": "Copié",
    "copyPath": "Copier le chemin",
    "collapse": "Réduire",
    "expand": "Développer",
    "loading": "Chargement du AGENTS.md local...",
    "notDetected": "Aucun AGENTS.md local détecté.",
    "checked": "Vérifié : {paths}"
  },
  "memoryGraph": {
    "loading": "Chargement du graphe...",
    "retry": "Réessayer",
    "noMemoryDatabases": "Aucune base de données de mémoire trouvée",
    "noMemoryDatabasesHint": "Fichiers SQLite de mémoire OpenClaw non détectés",
    "allAgents": "tous les agents",
    "filterFiles": "filtrer les fichiers...",
    "statAgents": "agents",
    "statFiles": "fichiers",
    "statChunks": "fragments",
    "statSize": "taille",
    "legendSessions": "sessions",
    "legendMemory": "mémoire",
    "legendKnowledge": "connaissances",
    "keyboardHint": "défiler pour zoomer / glisser pour déplacer / cliquer sur un nœud pour approfondir",
    "chunks": "fragments",
    "text": "texte"
  },
  "agentComms": {
    "connecting": "Connexion au flux...",
    "eventsCount": "{count} événement(s)",
    "connectionGateway": "Passerelle",
    "connectionSse": "SSE",
    "connectionPolling": "Interrogation",
    "sourceLive": "En direct",
    "sourceMixed": "Mixte",
    "sourceSeeded": "Amorcé",
    "sessions": "{active}/{total} sessions",
    "scrollToLatest": "Faire défiler vers le dernier",
    "toLabel": "À :",
    "composerPlaceholderTarget": "Message à {name}... (Entrée pour envoyer)",
    "composerPlaceholderBroadcast": "Sélectionnez une session ou un agent ci-dessus, ou tapez pour diffuser...",
    "send": "Envoyer",
    "noFeedEvents": "Aucun événement de flux pour l'instant",
    "noFilterEvents": "Aucun événement {filter}",
    "noFeedEventsHint": "Connectez-vous à la passerelle ou attendez l'activité de l'agent. Les événements des sessions, outils, chat et traces seront diffusés en temps réel.",
    "noFilterEventsHint": "Passez à « Toutes » pour voir les événements d'autres catégories, ou attendez les événements {filter}."
  },
  "agentDetail": {
    "configTab": "Configuration",
    "filesTab": "Fichiers",
    "toolsTab": "Outils",
    "channelsTab": "Canaux",
    "cronTab": "Cron",
    "modelsTab": "Modèles",
    "workspaceFiles": "Fichiers de l'espace de travail",
    "refresh": "Actualiser",
    "charCount": "{count} caractères",
    "missing": "manquant",
    "selectFileToView": "Sélectionnez un fichier à afficher ou modifier",
    "reset": "Réinitialiser",
    "saving": "Enregistrement...",
    "save": "Enregistrer",
    "fileNotExistYet": "Ce fichier n'existe pas encore. Vous pouvez le créer en saisissant du contenu et en enregistrant.",
    "toolConfiguration": "Configuration des outils",
    "profile": "Profil :",
    "saved": "Enregistré",
    "allowListCount": "Liste autorisée ({count})",
    "noAllowList": "Aucune liste autorisée explicite (utilisation des valeurs par défaut du profil)",
    "addToolAllowList": "Ajouter un outil à la liste autorisée",
    "add": "Ajouter",
    "alsoAllowCount": "Autoriser aussi ({count})",
    "alsoAllowDesc": "Outils supplémentaires autorisés en plus des valeurs par défaut du profil.",
    "none": "Aucun",
    "denyListCount": "Liste refusée ({count})",
    "noDeniedTools": "Aucun outil refusé",
    "addToolDenyList": "Ajouter un outil à la liste refusée",
    "channelStatus": "État des canaux",
    "channelStatusDesc": "Canaux disponibles pour {agent}",
    "noChannelsFound": "Aucun canal trouvé...",
    "connectedOf": "{connected}/{total} connectés",
    "noAccounts": "Aucun compte",
    "configuredCount": "{count} configurés",
    "notConfigured": "Non configuré",
    "enabledCount": "{count} activés",
    "disabled": "Désactivé",
    "cronJobs": "Tâches cron",
    "allCronJobsCount": "{count} sur {total} tâches",
    "agentCronJobsCount": "{count} sur {total} tâches",
    "agentOnly": "Agent seulement",
    "showAll": "Tout afficher",
    "noCronJobsFound": "Aucune tâche cron trouvée",
    "noCronJobsAssigned": "Aucune tâche cron assignée à {agent}",
    "noSchedule": "sans planification",
    "enabled": "activé",
    "lastRun": "Dernier :",
    "nextRun": "Prochain :",
    "modelConfiguration": "Configuration des modèles",
    "modelConfigDesc": "Configurez les modèles principal et de secours pour cet agent.",
    "primaryModel": "Modèle principal",
    "defaultModel": "Par défaut",
    "fallbackChainCount": "Chaîne de secours ({count})",
    "fallbackChainDesc": "Modèles essayés dans l'ordre si le modèle principal échoue ou n'est pas disponible.",
    "noFallbackModels": "Aucun modèle de secours configuré.",
    "moveUp": "Monter",
    "moveDown": "Descendre",
    "remove": "Supprimer",
    "addFallbackPlaceholder": "Ajouter un modèle de secours",
    "sandboxMode": "Mode",
    "sandboxWorkspace": "Espace de travail",
    "sandboxNetwork": "Réseau",
    "sandboxNetworkPlaceholder": "ex. : none, host",
    "toolsSection": "Outils",
    "subAgentsSection": "Sous-agents",
    "addSubAgentPlaceholder": "Ajouter un sous-agent",
    "addSubAgent": "Ajouter",
    "subAgentModelOverride": "Remplacement du modèle du sous-agent",
    "defaultInherit": "Par défaut (hériter)",
    "modelLabel": "Modèle :",
    "noSubAgents": "Aucun sous-agent configuré.",
    "memorySearch": "Recherche en mémoire",
    "cancel": "Annuler"
  },
  "taskBoard": {
    "title": "Tableau des tâches",
    "allProjects": "Tous les projets",
    "projects": "Projets",
    "close": "Fermer",
    "spawnSubAgent": "Créer un sous-agent",
    "newTask": "Nouvelle tâche",
    "refresh": "Actualiser",
    "spawnAgentPlaceholder": "Nom de l'agent",
    "spawnTaskPlaceholder": "Description de la tâche",
    "timeoutTitle": "Délai d'expiration (minutes)",
    "spawning": "Création...",
    "spawn": "Créer",
    "noActiveSpawnRequests": "Aucune demande de création active",
    "dismissError": "Fermer l'erreur",
    "taskBoardAriaLabel": "Tableau des tâches",
    "columnAriaLabel": "Colonne {title}, {count} tâches",
    "colInbox": "Boîte de réception",
    "colAssigned": "Assigné",
    "colInProgress": "En cours",
    "colReview": "Révision",
    "colQualityReview": "Révision qualité",
    "colDone": "Terminé",
    "recurring": "RÉCURRENT",
    "spawned": "GÉNÉRÉ",
    "spawnedFromTask": "Généré depuis la tâche #{id}",
    "unassigned": "Non assigné",
    "due": "Échéance :",
    "dropTasksHere": "Déposez les tâches ici",
    "priority_low": "Faible",
    "priority_medium": "Moyenne",
    "priority_high": "Haute",
    "priority_critical": "Critique",
    "claudeCodeTasks": "Tâches Claude Code",
    "collapse": "Réduire",
    "expand": "Développer",
    "loading": "Chargement...",
    "noTeamTasksFound": "Aucune tâche d'équipe trouvée",
    "noTeamTasksDesc": "Aucune tâche d'équipe Claude Code n'est actuellement active.",
    "taskCount": "{count} {count, plural, one {tâche} other {tâches}}",
    "blocked": "bloqué",
    "hermesScheduledTasks": "Tâches planifiées Hermes",
    "noScheduledTasksFound": "Aucune tâche planifiée trouvée",
    "noScheduledTasksDesc": "Aucune tâche planifiée Hermes n'est actuellement active.",
    "noSchedule": "sans planification",
    "enabled": "activé",
    "disabled": "désactivé",
    "createNewTask": "Créer une nouvelle tâche",
    "fieldTitle": "Titre",
    "fieldDescription": "Description",
    "fieldPriority": "Priorité",
    "fieldProject": "Projet",
    "fieldAssignTo": "Assigner à",
    "fieldTags": "Étiquettes",
    "makeRecurring": "Rendre récurrent",
    "createRecurringTask": "Créer une tâche récurrente",
    "createTask": "Créer la tâche",
    "cancel": "Annuler",
    "editTask": "Modifier la tâche",
    "fieldStatus": "Statut",
    "saveChanges": "Enregistrer les modifications",
    "edit": "Modifier",
    "deleteTaskConfirm": "Supprimer \"{title}\" ?",
    "delete": "Supprimer",
    "closeTaskDetails": "Fermer les détails de la tâche",
    "noDescription": "Aucune description",
    "taskDetailTabs": "Onglets de détails de la tâche",
    "tabDetails": "Détails",
    "tabComments": "Commentaires",
    "tabQualityReview": "Révision qualité",
    "tabSession": "Session",
    "ticket": "Ticket",
    "project": "Projet",
    "status": "Statut",
    "priority": "Priorité",
    "assignedTo": "Assigné à",
    "created": "Créé",
    "issue": "Issue",
    "branch": "Branche",
    "pr": "PR",
    "live": "En direct",
    "postingAs": "Publication en tant que",
    "newComment": "Nouveau commentaire...",
    "addComment": "Ajouter un commentaire",
    "broadcastToSubscribers": "Diffuser aux abonnés",
    "broadcastPlaceholder": "Diffuser un message à tous les abonnés...",
    "broadcast": "Diffuser",
    "broadcastSent": "Diffusion envoyée à {count} abonnés",
    "loadingComments": "Chargement des commentaires...",
    "noComments": "Aucun commentaire pour l'instant",
    "aegisQualityReview": "Révision qualité Aegis",
    "noReviews": "Aucune révision pour l'instant",
    "reviewerPlaceholder": "Nom du réviseur",
    "reviewNotesPlaceholder": "Notes de révision...",
    "submit": "Soumettre",
    "loadingTranscript": "Chargement de la transcription...",
    "noSessionMessages": "Aucun message de session"
  },
  "cronManagement": {
    "title": "Gestion des crons",
    "subtitle": "Planifier et gérer les tâches récurrentes",
    "loading": "Chargement...",
    "refresh": "Actualiser",
    "addJob": "Ajouter une tâche",
    "calendarView": "Vue calendrier",
    "calendarViewDescLocal": "Les heures sont affichées dans votre fuseau horaire local",
    "calendarViewDesc": "Les heures sont affichées en UTC",
    "prev": "Précédent",
    "today": "Aujourd'hui",
    "next": "Suivant",
    "calMode_agenda": "Agenda",
    "calMode_week": "Semaine",
    "calMode_month": "Mois",
    "searchPlaceholder": "Rechercher des tâches...",
    "allAgents": "Tous les agents",
    "allStates": "Tous les états",
    "enabled": "Activé",
    "disabled": "Désactivé",
    "all": "Tous",
    "sortName": "Nom",
    "sortSchedule": "Planification",
    "sortLastRun": "Dernière exécution",
    "sortNextRun": "Prochaine exécution",
    "ascending": "Croissant",
    "descending": "Décroissant",
    "noJobsMatchFilters": "Aucune tâche ne correspond aux filtres actuels.",
    "uniqueJobs": "{count} {count, plural, one {tâche unique} other {tâches uniques}}",
    "noJobsForDay": "Aucune tâche planifiée pour cette date.",
    "jobCount": "{count} {count, plural, one {tâche} other {tâches}}",
    "runsCount": "{count} {count, plural, one {exécution} other {exécutions}}",
    "totalRunsCount": "{count} {count, plural, one {exécution} other {exécutions}} au total",
    "moreJobs": "+{count} autres",
    "firstRun": "première {time}",
    "scheduledJobs": "Tâches planifiées",
    "jobsCount": "{count} sur {total} tâches",
    "loadingJobs": "Chargement des tâches...",
    "noCronJobsFound": "Aucune tâche cron trouvée.",
    "colJobName": "Nom de la tâche",
    "colAgent": "Agent",
    "colSchedule": "Planification",
    "colModel": "Modèle",
    "colStatus": "Statut",
    "colLastRun": "Dernière exécution",
    "colNextRun": "Prochaine exécution",
    "colActions": "Actions",
    "enable": "Activer",
    "disable": "Désactiver",
    "run": "Exécuter",
    "runNowForce": "Exécuter maintenant (forcer)",
    "runNowIfDue": "Exécuter maintenant (si dû)",
    "clone": "Cloner",
    "history": "Historique",
    "configuration": "Configuration",
    "delivery": "Livraison",
    "source": "Source",
    "localSchedulerAutomation": "Planificateur local / Automatisation",
    "command": "Commande",
    "timing": "Temporisation",
    "recentLogs": "Journaux récents",
    "lastRun": "Dernière exécution",
    "nextRun": "Prochaine exécution",
    "timezone": "Fuseau horaire",
    "remove": "Supprimer",
    "close": "Fermer",
    "noLogsAvailable": "Aucun journal disponible.",
    "runHistoryTitle": "Historique des exécutions : {name}",
    "totalRuns": "{count} {count, plural, one {exécution} other {exécutions}} au total",
    "filterRunsPlaceholder": "Filtrer les exécutions...",
    "timestamp": "Horodatage",
    "duration": "Durée",
    "error": "Erreur",
    "noRunHistoryAvailable": "Aucun historique d'exécution disponible.",
    "loadMore": "Charger plus",
    "addNewCronJob": "Ajouter une nouvelle tâche cron",
    "fieldJobName": "Nom de la tâche",
    "fieldSchedule": "Planification (format cron)",
    "quickSelect": "Sélection rapide...",
    "scheduleFormatHint": "Format : minute heure jour mois jourDeLaSemaine",
    "fieldCommand": "Commande",
    "fieldModelOptional": "Modèle (facultatif)",
    "modelHint": "Laissez vide pour utiliser le modèle par défaut de l'agent ou de la passerelle.",
    "fieldStaggerOptional": "Décalage échelonné (facultatif)",
    "seconds": "secondes",
    "staggerHint": "Retardez l'exécution pour éviter les chevauchements avec d'autres tâches sur le même horaire.",
    "fieldDescriptionOptional": "Description (facultatif)",
    "descriptionPlaceholder": "Que fait cette tâche ?",
    "cancel": "Annuler",
    "claudeCodeTeams": "Équipes Claude Code",
    "teamsCount": "{count} {count, plural, one {équipe} other {équipes}}",
    "collapse": "Réduire",
    "expand": "Développer",
    "noClaudeCodeTeams": "Aucune équipe Claude Code trouvée dans ~/.claude/teams/",
    "membersCount": "{count} {count, plural, one {membre} other {membres}}"
  },
  "sessionDetails": {
    "title": "Gestion des sessions",
    "subtitle": "Surveiller et gérer les sessions d'agents actives",
    "filter": "Filtrer",
    "filterAll": "Toutes les sessions",
    "filterActive": "Actives uniquement",
    "filterIdle": "Inactives uniquement",
    "sortBy": "Trier par",
    "sortAge": "Ancienneté",
    "sortTokens": "Utilisation de tokens",
    "sortModel": "Modèle",
    "timeWindow": "Fenêtre temporelle",
    "last1h": "Dernière heure",
    "last6h": "6 dernières heures",
    "last24h": "24 dernières heures",
    "last7d": "7 derniers jours",
    "allTime": "Tout",
    "global": "Global",
    "unknown": "Inconnu",
    "sessionCount": "{filtered} sur {total} sessions",
    "activeCount": "{count} actives",
    "noSessionsMatch": "Aucune session ne correspond au filtre actuel",
    "model": "Modèle",
    "tokenUsage": "Utilisation de tokens",
    "sessionDetails": "Détails de la session",
    "kind": "Type",
    "id": "ID",
    "lastActivity": "Dernière activité",
    "messages": "Messages",
    "label": "Étiquette",
    "addLabel": "Cliquer pour ajouter une étiquette...",
    "sessionControls": "Contrôles de session",
    "thinking": "Réflexion",
    "verbose": "Verbeux",
    "reasoning": "Raisonnement",
    "off": "Désactivé",
    "on": "Activé",
    "minimal": "Minimal",
    "low": "Bas",
    "medium": "Moyen",
    "high": "Élevé",
    "xhigh": "Très élevé",
    "full": "Complet",
    "stream": "Flux",
    "modelInformation": "Informations sur le modèle",
    "fullName": "Nom complet",
    "provider": "Fournisseur",
    "description": "Description",
    "monitor": "Surveiller",
    "pause": "Mettre en pause",
    "terminate": "Terminer",
    "working": "En cours...",
    "delete": "Supprimer",
    "deleteConfirm": "Supprimer ?",
    "yes": "Oui",
    "no": "Non",
    "confirmTerminate": "Êtes-vous sûr de vouloir terminer cette session ?",
    "failedMonitor": "Échec de la surveillance de la session",
    "failedPause": "Échec de la mise en pause de la session",
    "failedTerminate": "Échec de la terminaison de la session",
    "sessionOverview": "Aperçu des sessions",
    "totalSessions": "Total des sessions",
    "active": "Actives",
    "idle": "Inactives",
    "subAgents": "Sous-agents",
    "cronJobs": "Tâches cron",
    "modelDistribution": "Distribution des modèles",
    "highTokenUsage": "Utilisation élevée de tokens",
    "highTokenUsageDesc": "{count} sessions utilisent plus de 80 % de leur limite de tokens."
  },
  "costTracker": {
    "title": "Suivi des coûts",
    "subtitle": "Analyse de l'utilisation des tokens, des coûts et des dépenses par agents, modèles et sessions",
    "loadingCostData": "Chargement des données de coût",
    "noUsageData": "Aucune donnée d'utilisation pour l'instant",
    "noUsageDataDesc": "Les données d'utilisation apparaissent lorsque les agents exécutent des sessions et consomment des tokens.",
    "refresh": "Actualiser",
    "totalCost": "Coût total ({timeframe})",
    "totalTokens": "Total des tokens",
    "apiRequests": "Requêtes API",
    "activeAgents": "Agents actifs",
    "taskAttributed": "Attribué aux tâches",
    "usageTrends": "Tendances d'utilisation",
    "perTurn": "Par tour",
    "cumulative": "Cumulatif",
    "noTrendData": "Aucune donnée de tendance pour cette période",
    "tokenUsageByModel": "Utilisation des tokens par modèle",
    "noModelData": "Aucune donnée de modèle",
    "costDistributionByModel": "Distribution des coûts par modèle",
    "noCostData": "Aucune donnée de coût",
    "performanceInsights": "Analyses de performance",
    "mostEfficientModel": "Modèle le plus efficace",
    "avgTokensPerRequest": "Tokens moyens/requête",
    "optimizationPotential": "Potentiel d'optimisation",
    "savingsPossible": "d'économies possibles",
    "exportData": "Exporter les données",
    "exportDataDesc": "Télécharger les enregistrements d'utilisation des tokens, les statistiques des modèles et les ventilations des coûts",
    "exporting": "Exportation...",
    "noAgentData": "Aucune donnée par agent",
    "noAgentDataDesc": "Les enregistrements d'utilisation des tokens apparaîtront une fois que les agents commenceront à rapporter",
    "agents": "Agents",
    "totalCostDays": "Coût total ({days}j)",
    "avgPer1kTokens": "Moy. $/1K tokens",
    "perAgentCost": "Coût par agent",
    "agentBreakdown": "Détail par agent",
    "inputTokens": "Tokens d'entrée",
    "outputTokens": "Tokens de sortie",
    "ioRatio": "Ratio E/S",
    "lastActive": "Dernière activité",
    "noTaskCosts": "Aucun coût attribué aux tâches",
    "tokens": "tokens",
    "sortBy": "Trier",
    "noSessionCostData": "Aucune donnée de coût de session",
    "noSessionCostDataDesc": "Les ventilations par session apparaissent une fois l'utilisation enregistrée.",
    "activeStatus": "Active",
    "inactiveStatus": "Inactive",
    "requests": "requêtes",
    "inShort": "entrée",
    "outShort": "sortie",
    "avgPerReq": "moy./requête",
    "noTaskCostData": "Aucune donnée de coût de tâche",
    "noTaskCostDataDesc": "Les coûts seront attribués aux tâches une fois que les agents travailleront dessus",
    "tasksWithCosts": "Tâches avec coûts",
    "attributedCost": "Coût attribué",
    "attributedTokens": "Tokens attribués",
    "unattributed": "Non attribué",
    "tasksByCost": "Tâches par coût",
    "reqs": "req."
  },
  "superAdmin": {
    "accessDenied": "Accès refusé",
    "accessDeniedDesc": "Le super contrôle nécessite des privilèges d'administrateur.",
    "loading": "Chargement des données super admin...",
    "title": "Super contrôle",
    "subtitleLocal": "Vue du plan de contrôle local sur les automatisations du planificateur et l'état d'exécution.",
    "subtitleMultiTenant": "Plan de contrôle de provisionnement multi-tenant avec portes d'approbation et actions destructrices sécurisées.",
    "addWorkspace": "+ Ajouter un espace de travail",
    "refresh": "Actualiser",
    "activeOrgs": "Organisations actives",
    "pendingInProgress": "En attente / En cours",
    "erroredOrgs": "Organisations en erreur",
    "queuedApprovals": "Approbations en file",
    "createNewWorkspace": "Créer un nouvel espace de travail",
    "createWorkspaceHint": "Remplissez les détails ci-dessous et cliquez sur Créer + File pour provisionner une nouvelle instance client.",
    "slugPlaceholder": "Identifiant (ex. acme)",
    "displayNamePlaceholder": "Nom d'affichage",
    "linuxUserPlaceholder": "Utilisateur Linux (optionnel)",
    "planStandard": "Standard",
    "planPro": "Pro",
    "planEnterprise": "Entreprise",
    "gatewayPortPlaceholder": "Port de passerelle",
    "dashboardPortPlaceholder": "Port du tableau de bord",
    "dryRun": "Simulation",
    "live": "(réel)",
    "createAndQueue": "Créer + File",
    "tabOrganizations": "Organisations",
    "tabJobs": "travaux",
    "tabEvents": "événements",
    "searchOrganizations": "Rechercher des organisations",
    "showing": "Affichage de {shown} sur {total}",
    "colTenant": "Locataire",
    "colSystemUser": "Utilisateur système",
    "colOwner": "Propriétaire",
    "colStatus": "Statut",
    "colLatestJob": "Dernier travail",
    "colAction": "Action",
    "unassigned": "non assigné",
    "by": "par",
    "unknownCreator": "inconnu",
    "localReadOnly": "Local en lecture seule",
    "queueDecommission": "Mettre en file de désaffectation",
    "noMatchingOrgs": "Aucune organisation correspondante.",
    "prev": "Préc.",
    "next": "Suiv.",
    "page": "Page {page} / {total}",
    "searchJobs": "Rechercher des travaux",
    "colJob": "Travail",
    "colRequestedApproved": "Demandé/Approuvé",
    "reqShort": "Dem.",
    "apprShort": "Appr.",
    "view": "Voir",
    "viewEvents": "Voir les événements",
    "approveAndRun": "Approuver + Exécuter",
    "approve": "Approuver",
    "reject": "Rejeter",
    "running": "En cours...",
    "run": "Exécuter",
    "noMatchingJobs": "Aucun travail correspondant.",
    "showingEventsForJob": "Affichage des événements du travail #{jobId}",
    "selectJobForEvents": "Sélectionnez un travail pour inspecter le journal d'événements de provisionnement.",
    "noEventsYet": "Aucun événement pour ce travail pour l'instant.",
    "queueDecommissionTitle": "Mettre en file de désaffectation : {name}",
    "reviewImpact": "Vérifiez l'impact avant de créer le travail.",
    "dryRunRecommended": "Simulation (recommandée)",
    "dryRunDesc": "Aucun changement système, valide les commandes et enregistre une exécution complète du plan.",
    "liveExecution": "Exécution réelle",
    "liveExecutionDesc": "Arrêtera les services et appliquera les changements de désaffectation après approbation + exécution.",
    "removeLinuxUser": "Supprimer l'utilisateur Linux",
    "removeLinuxUserDesc": "Exécute `userdel -r` et supprime le répertoire personnel.",
    "removeStateDirs": "Supprimer les répert. d'état/espace de travail",
    "removeStateDirsDesc": "Supprime les chemins `.openclaw` et `workspace` lorsque l'utilisateur est conservé.",
    "impactSummary": "Résumé de l'impact",
    "impactStopsService": "Arrête et désactive `openclaw-gateway@{user}.service`.",
    "impactRemovesEnv": "Supprime `/etc/openclaw-tenants/{user}.env`.",
    "impactLinuxUserRemoved": "L'utilisateur Linux sera supprimé.",
    "impactStateDirsRemoved": "Les répertoires d'état/espace de travail seront supprimés.",
    "impactRetained": "L'utilisateur Linux et les répertoires sont conservés.",
    "reasonOptional": "Raison (optionnelle)",
    "typeSlugLabel": "Tapez",
    "toConfirmLive": "pour confirmer la désaffectation réelle",
    "cancel": "Annuler",
    "queueing": "Mise en file...",
    "queueDryRunDecommission": "Mettre en file la simulation de désaffectation",
    "queueLiveDecommission": "Mettre en file la désaffectation réelle",
    "slugAndNameRequired": "L'identifiant et le nom d'affichage sont obligatoires",
    "tenantCreated": "Locataire {slug} créé. Travail d'amorçage mis en file.",
    "jobExecuted": "Travail #{jobId} exécuté",
    "jobApprovedExecuted": "Travail #{jobId} approuvé et exécuté",
    "typeToConfirm": "Tapez {slug} pour confirmer la désaffectation réelle",
    "decommissionQueuedDryRun": "Simulation de désaffectation mise en file pour {slug}",
    "decommissionQueued": "Désaffectation mise en file pour {slug}",
    "optionalReason": "Raison optionnelle pour {action} :",
    "jobActioned": "Travail #{jobId} {action}"
  },
  "auditTrail": {
    "title": "Journal d'audit",
    "eventsLogged": "{count, plural, one {# événement} other {# événements}} enregistrés",
    "refresh": "Actualiser",
    "allActions": "Toutes les actions",
    "groupAuth": "Authentification",
    "groupUsers": "Utilisateurs",
    "groupAgents": "Agents",
    "groupSystem": "Système",
    "groupConfig": "Configuration",
    "groupWorkspaces": "Espaces de travail",
    "actionLogin": "Connexion",
    "actionLoginFailed": "Échec de connexion",
    "actionLogout": "Déconnexion",
    "actionLoginGoogle": "Connexion Google",
    "actionGoogleDisconnect": "Google déconnecté",
    "actionPasswordChange": "Changement de mot de passe",
    "actionProfileUpdate": "Mise à jour du profil",
    "actionUserCreate": "Utilisateur créé",
    "actionUserUpdate": "Utilisateur mis à jour",
    "actionUserDelete": "Utilisateur supprimé",
    "actionRoleDenied": "Accès refusé",
    "actionAccessRequest": "Accès demandé",
    "actionAccessApprove": "Accès approuvé",
    "actionAccessDeny": "Accès refusé",
    "actionAgentRegister": "Agent enregistré",
    "actionAgentCreate": "Agent créé",
    "actionAgentUpdate": "Agent mis à jour",
    "actionAgentDelete": "Agent supprimé",
    "actionAgentConfigSync": "Configuration synchronisée",
    "actionLocalAgentSync": "Agents locaux synchronisés",
    "actionSettingsUpdate": "Paramètres mis à jour",
    "actionAutoBackup": "Sauvegarde automatique",
    "actionBackupCreate": "Sauvegarde créée",
    "actionBackupDelete": "Sauvegarde supprimée",
    "actionHeartbeatCheck": "Vérification du signal",
    "actionIntegrationTest": "Test d'intégration",
    "actionCleanup": "Nettoyage",
    "actionExport": "Exportation",
    "actionTokenRotate": "Token renouvelé",
    "actionGatewayConfigUpdate": "Configuration de passerelle mise à jour",
    "actionWorkspaceCreate": "Espace de travail créé",
    "actionWorkspaceUpdate": "Espace de travail mis à jour",
    "actionWorkspaceDelete": "Espace de travail supprimé",
    "filterByActor": "Filtrer par acteur...",
    "noEvents": "Aucun événement d'audit trouvé",
    "userRef": "utilisateur #{id}",
    "previous": "Précédent",
    "next": "Suivant",
    "pageOf": "Page {page} sur {total}",
    "adminRequired": "Accès administrateur requis pour consulter les journaux d'audit",
    "failedFetch": "Échec du chargement du journal d'audit",
    "detailUsername": "nom d'utilisateur",
    "detailRole": "rôle",
    "detailName": "nom",
    "detailPasswordReset": "mot de passe réinitialisé",
    "detailChanged": "modifié",
    "detailSize": "taille",
    "detailMarkedOffline": "marqué hors ligne",
    "detailAgent": "agent",
    "detailSessions": "sessions",
    "detailEvents": "événements",
    "detailRemoved": "supprimé",
    "detailType": "type"
  },
  "securityAudit": {
    "title": "Audit de Sécurité",
    "subtitle": "Posture de sécurité, événements d'authentification, scores de confiance et détection des menaces",
    "timeframeHour": "Heure",
    "timeframeDay": "Jour",
    "timeframeWeek": "Semaine",
    "timeframeMonth": "Mois",
    "loadingSecurityData": "Chargement des données de sécurité",
    "securityPosture": "Posture de Sécurité",
    "blendedScore": "Score combiné : 70% configuration de l'infrastructure, 30% historique des événements.",
    "infrastructureScan": "Analyse de l'Infrastructure",
    "scanCredentials": "Identifiants",
    "scanNetwork": "Réseau",
    "scanOpenclaw": "OpenClaw",
    "scanRuntime": "Exécution",
    "scanOs": "Sécurité OS",
    "authEvents": "Événements d'Authentification",
    "noAuthEvents": "Aucun événement d'authentification sur cette période",
    "colType": "Type",
    "colActor": "Acteur",
    "colIP": "IP",
    "colTime": "Heure",
    "agentTrustScores": "Scores de Confiance des Agents",
    "noAgentTrustData": "Aucune donnée de confiance d'agent",
    "flagged": "signalé",
    "secretExposureAlerts": "Alertes d'Exposition de Secrets",
    "noSecretsDetected": "Aucun secret détecté",
    "colFile": "Fichier",
    "colPreview": "Aperçu",
    "colStatus": "Statut",
    "colDetected": "Détecté",
    "statusResolved": "résolu",
    "statusActive": "actif",
    "mcpToolAudit": "Audit des Outils MCP",
    "noToolUsageData": "Aucune donnée d'utilisation des outils",
    "chartSuccess": "Succès",
    "chartFailure": "Échec",
    "rateLimitAbuseSignals": "Signaux de Limite de Débit / Abus",
    "noRateLimitSignals": "Aucun signal de limite de débit",
    "hits": "{hits} requêtes",
    "injectionAttempts": "Tentatives d'Injection",
    "noInjectionAttempts": "Aucune tentative d'injection détectée",
    "colSource": "Source",
    "colInput": "Entrée",
    "statusBlocked": "bloqué",
    "statusPassed": "passé",
    "securityTimeline": "Chronologie de Sécurité ({timeframe})",
    "noTimelineData": "Aucune donnée de chronologie",
    "chartAuthEvents": "Événements Auth",
    "chartInjections": "Injections",
    "chartSecrets": "Secrets",
    "chartToolCalls": "Appels d'Outils",
    "agentEvalDashboard": "Tableau de Bord d'Évaluation des Agents",
    "overallConvergence": "Convergence Globale",
    "crossAgentAlignment": "Alignement inter-agents sur les couches d'évaluation",
    "noEvalData": "Aucune donnée d'évaluation",
    "convergence": "Convergence :",
    "drift": "dérive",
    "fixPrefix": "Correction : {fix}",
    "issueCount": "{count, plural, one {# problème} other {# problèmes}}"
  },
  "office": {
    "title": "Pont de Commandement",
    "subtitle": "Surveillez votre équipe en temps réel",
    "loadingLocalSessions": "Analyse des sessions locales...",
    "loadingOffice": "Chargement du bureau...",
    "activeCount": "{count} actifs",
    "standbyCount": "{count} en attente",
    "alertCount": "{count} alertes",
    "offlineCount": "{count} hors ligne",
    "buttonDeck": "Pont",
    "buttonCrewChart": "Organigramme",
    "refresh": "Actualiser",
    "emptyDeck": "Le pont est vide",
    "emptyDeckSubtitle": "Déployez des agents pour les voir apparaître ici",
    "crewHeader": "ÉQUIPAGE",
    "onlineCount": "{count} en ligne",
    "filterAll": "Tous",
    "filterWorking": "En travail",
    "filterIdle": "Inactif",
    "filterNeedsAttention": "Attention requise",
    "filterRunning": "En cours",
    "filterNotRunning": "Arrêté",
    "noWorkersInFilter": "Aucun membre dans ce filtre.",
    "noRecentActivity": "Aucune activité récente",
    "activeStatus": "actif",
    "idleMinutes": "{minutes}m inactif",
    "mainDeck": "PONT PRINCIPAL",
    "radarLabel": "Radar",
    "resetView": "Réinitialiser",
    "showCrewButton": "Afficher l'Équipage",
    "hideCrewButton": "Masquer l'Équipage",
    "showRadarButton": "Afficher le Radar",
    "hideRadarButton": "Masquer le Radar",
    "showLogButton": "Afficher le Journal",
    "hideLogButton": "Masquer le Journal",
    "resetLayout": "Réinitialiser la Disposition",
    "deckLog": "Journal du Pont",
    "noEventsYet": "Aucun événement. Cliquez sur une zone ou exécutez une action.",
    "legendActive": "Actif",
    "legendStandby": "En attente",
    "legendOther": "Autre",
    "hotspotUp": "Haut",
    "hotspotDown": "Bas",
    "hotspotLeft": "Gauche",
    "hotspotRight": "Droite",
    "hotspotFineMinusX": "Fin -X",
    "hotspotFinePlusX": "Fin +X",
    "hotspotWider": "Plus large",
    "hotspotNarrower": "Plus étroit",
    "hotspotTaller": "Plus haut",
    "hotspotShorter": "Plus bas",
    "segmentedBy": "Segmenté par",
    "segmentCategory": "Catégorie",
    "segmentRole": "Rôle",
    "segmentStatus": "Statut",
    "currentActivity": "Activité Actuelle",
    "taskStatTotal": "Total",
    "taskStatAssigned": "Assignés",
    "taskStatActive": "Actifs",
    "taskStatDone": "Terminés",
    "sessionLabel": "Session :",
    "quickActions": "Actions Rapides",
    "actionFocus": "Concentration",
    "actionPair": "Pairage",
    "actionBreak": "Pause",
    "openFlightDeck": "Ouvrir dans Flight Deck",
    "openingFlightDeck": "Ouverture de Flight Deck...",
    "flightDeckCompanion": "Application compagnon privée/pro pour l'analyse approfondie des sessions",
    "flightDeckRequired": "Flight Deck Requis",
    "flightDeckDescription": "Flight Deck est l'application compagnon privée/pro de Mission Control.",
    "flightDeckNotInstalled": "Il semble que Flight Deck ne soit pas installé sur cet appareil. Installez-le pour ouvrir les sessions d'agents avec des contrôles et diagnostics plus riches.",
    "maybeLater": "Plus tard",
    "downloadFlightDeck": "Télécharger Flight Deck",
    "moving": "en déplacement",
    "neverSeen": "Jamais vu",
    "justNow": "À l'instant",
    "minutesAgo": "il y a {minutes}m",
    "hoursAgo": "il y a {hours}h",
    "daysAgo": "il y a {days}j"
  },
  "githubSync": {
    "title": "Synchronisation des Issues GitHub",
    "subtitle": "Importez des Issues GitHub comme tâches Mission Control",
    "loading": "Chargement de la synchronisation GitHub...",
    "connectedAs": "GitHub : {user}",
    "notConfigured": "GitHub : non configuré",
    "tokenNotConfigured": "Token GitHub non configuré",
    "tokenNotConfiguredDesc": "Configurez <code>GITHUB_TOKEN</code> dans les Intégrations pour activer la synchronisation des issues. Vous pouvez toujours consulter l'historique de synchronisation et les tâches liées.",
    "importIssues": "Importer des Issues",
    "labelRepository": "Dépôt",
    "placeholderRepo": "propriétaire/dépôt",
    "labelLabels": "Étiquettes (optionnel)",
    "placeholderLabels": "bug,amélioration",
    "labelState": "État",
    "stateOpen": "Ouvert",
    "stateClosed": "Fermé",
    "stateAll": "Tous",
    "labelAssignAgent": "Assigner à un Agent (optionnel)",
    "unassigned": "Non assigné",
    "buttonPreview": "Aperçu",
    "buttonImport": "Importer",
    "twoWaySync": "Synchronisation Bidirectionnelle",
    "syncAll": "Tout Synchroniser",
    "enableSync": "Activer",
    "disableSync": "Désactiver",
    "syncButton": "Synchroniser",
    "noProjectsLinked": "Aucun projet lié à des dépôts GitHub. Configurez un dépôt GitHub dans la Gestion de Projets.",
    "previewTitle": "Aperçu ({count} issues)",
    "colNumber": "#",
    "colTitle": "Titre",
    "colLabels": "Étiquettes",
    "colState": "État",
    "colCreated": "Créé",
    "syncHistory": "Historique de Synchronisation",
    "colRepo": "Dépôt",
    "colIssues": "Issues",
    "colStatus": "Statut",
    "colSyncedAt": "Synchronisé le",
    "noSyncHistory": "Aucun historique de synchronisation. Importez des issues ci-dessus pour commencer.",
    "linkedTasks": "Tâches Liées",
    "linkedTasksWithCount": "Tâches Liées ({count})",
    "colTask": "Tâche",
    "colPriority": "Priorité",
    "colGitHub": "GitHub",
    "colSynced": "Synchronisé",
    "noLinkedTasks": "Aucune tâche liée à des issues GitHub pour le moment.",
    "syncResultImported": "Importés : {count}",
    "syncResultSkipped": "Ignorés : {count}",
    "syncResultErrors": "Erreurs : {count}",
    "enterRepo": "Entrez un dépôt (propriétaire/dépôt)",
    "noIssuesFound": "Aucune issue trouvée correspondant aux filtres",
    "failedFetchIssues": "Échec de la récupération des issues",
    "networkError": "Erreur réseau",
    "syncFailed": "Échec de la synchronisation",
    "failedToggleSync": "Échec du basculement de la synchronisation",
    "importedFeedback": "{imported} {imported, plural, one {issue importée} other {issues importées}}, {skipped} ignorées"
  },
  "agentCost": {
    "title": "Répartition des Coûts par Agent",
    "subtitle": "Analyse de l'utilisation des tokens et des dépenses par agent",
    "loadingAgentCosts": "Chargement des coûts des agents",
    "viewOverview": "Vue d'ensemble",
    "viewPerAgentDB": "Par Agent (BD)",
    "timeframeHour": "Heure",
    "timeframeDay": "Jour",
    "timeframeWeek": "Semaine",
    "timeframeMonth": "Mois",
    "noAgentCostData": "Aucune donnée de coût d'agent",
    "noAgentCostSubtitle": "Les données de coût apparaîtront lorsque les agents commenceront à utiliser des tokens",
    "refresh": "Actualiser",
    "activeAgents": "Agents Actifs",
    "totalCost": "Coût Total ({timeframe})",
    "mostExpensive": "Plus Coûteux",
    "mostEfficient": "Plus Efficace",
    "taskAttributed": "Attribué aux Tâches",
    "unattributed": "{cost} non attribué",
    "costDistributionByAgent": "Distribution des Coûts par Agent",
    "noCostData": "Aucune donnée de coût",
    "costTrends": "Tendances des Coûts (Top 5 Agents)",
    "noTrendData": "Aucune donnée de tendance",
    "costComparison": "Comparaison des Coûts",
    "costEfficiency": "Efficacité des Coûts ($/1K Tokens par Agent)",
    "agentCostRanking": "Classement des Coûts par Agent",
    "noTaskCosts": "Aucun coût attribué aux tâches pour cet agent",
    "tasksTab": "Tâches ({count})",
    "modelsTab": "Modèles ({count})",
    "sessionCount": "{count, plural, one {# session} other {# sessions}}",
    "requestCount": "{count, plural, one {# requête} other {# requêtes}}",
    "tokens": "tokens",
    "ofTotal": "{pct}% du total",
    "reqs": "{count} requêtes",
    "inputTokens": "Tokens d'Entrée",
    "outputTokens": "Tokens de Sortie",
    "ioRatio": "Ratio E/S",
    "lastActive": "Dernière Activité",
    "modelBreakdown": "Répartition par Modèle",
    "inSuffix": "entrée",
    "outSuffix": "sortie",
    "noPerAgentData": "Aucune donnée par agent dans la base de données",
    "noPerAgentDataSubtitle": "Les enregistrements d'utilisation des tokens apparaîtront lorsque les agents commenceront à envoyer des heartbeats",
    "agentCountDB": "Agents (BD)",
    "totalCostDays": "Coût Total ({days}j)",
    "totalTokens": "Tokens Totaux",
    "avgPer1kTokens": "Moyenne $/1K Tokens",
    "perAgentCostDB": "Coût par Agent (BD)",
    "agentTokenBreakdown": "Répartition des Tokens par Agent",
    "chartCost": "Coût ($)"
  },
  "tokenDashboard": {
    "title": "Tableau de Bord Tokens & Coûts",
    "subtitle": "Surveiller l'utilisation des tokens et les coûts sur les modèles et sessions",
    "viewOverview": "Vue d'ensemble",
    "viewSessions": "Sessions",
    "timeframeHour": "Heure",
    "timeframeDay": "Jour",
    "timeframeWeek": "Semaine",
    "timeframeMonth": "Mois",
    "filtersLabel": "Filtres :",
    "clearAll": "Tout effacer",
    "timezoneLabel": "Fuseau horaire :",
    "sortByLabel": "Trier par :",
    "noSessionCostData": "Aucune donnée de coût de session",
    "noSessionCostSubtitle": "Les détails par session apparaîtront lorsque l'utilisation sera enregistrée.",
    "sessionActive": "Actif",
    "sessionInactive": "Inactif",
    "requests": "requêtes",
    "inSuffix": "entrée",
    "outSuffix": "sortie",
    "avgPerRequest": "moy./requête",
    "loadingUsageData": "Chargement des données d'utilisation",
    "totalTokens": "Tokens Totaux ({timeframe})",
    "totalCost": "Coût Total ({timeframe})",
    "apiRequests": "Requêtes API",
    "avgTokensPerRequest": "Tokens Moy./Requête",
    "cacheReadTokens": "Tokens de Lecture en Cache",
    "cacheWriteTokens": "Tokens d'Écriture en Cache",
    "usageTrends": "Tendances d'Utilisation ({timeframe})",
    "peakLabel": "Pic :",
    "perTurnButton": "Par Tour",
    "cumulativeButton": "Cumulatif",
    "noTrendData": "Aucune donnée de tendance pour cette période",
    "chartTokens": "Tokens",
    "chartRequests": "Requêtes",
    "tokenUsageByModel": "Utilisation des Tokens par Modèle",
    "noModelUsageData": "Aucune donnée d'utilisation de modèle",
    "costDistributionByModel": "Distribution des Coûts par Modèle",
    "noCostData": "Aucune donnée de coût",
    "costByProvider": "Coûts par Fournisseur",
    "noProviderData": "Aucune donnée de fournisseur",
    "exportData": "Exporter les Données",
    "exportCsvFiltered": "Exporter CSV (Filtré)",
    "exportCsvFull": "Exporter CSV (Complet)",
    "exportJson": "Exporter JSON",
    "exporting": "Exportation...",
    "exportDescription": "Exportez les données d'utilisation des tokens pour analyse. \"Filtré\" exporte uniquement les données affichées ; \"Complet\" exporte tous les enregistrements du serveur.",
    "performanceInsights": "Analyses de Performance",
    "mostEfficientModel": "Modèle le Plus Efficace",
    "mostUsedModel": "Modèle le Plus Utilisé",
    "optimizationPotential": "Potentiel d'Optimisation",
    "savingsPossible": "{pct}% d'économies possibles",
    "modelEfficiencyComparison": "Comparaison d'Efficacité des Modèles",
    "modelPerformance": "Performance des Modèles",
    "topSessionsByCost": "Meilleures Sessions par Coût",
    "requestsLabel": "Requêtes",
    "avgCost": "Coût Moyen",
    "avgTokens": "Tokens Moyens",
    "noUsageData": "Aucune donnée d'utilisation",
    "noUsageDataSubtitle": "L'utilisation des tokens apparaîtra ici lorsque les agents commenceront à s'exécuter",
    "refresh": "Actualiser"
  },
  "memoryBrowser": {
    "hideSidebar": "Masquer la barre latérale",
    "showSidebar": "Afficher la barre latérale",
    "fileCountSize": "{count} fichiers / {size}",
    "indexing": "indexation…",
    "newFile": "+ nouveau",
    "searchPlaceholder": "Rechercher des fichiers...",
    "searchResults": "{count} résultats",
    "noFiles": "aucun fichier",
    "refresh": "actualiser",
    "toggleBacklinks": "Basculer le panneau de rétroliens",
    "links": "liens",
    "edit": "modifier",
    "delete": "supprimer",
    "save": "enregistrer",
    "saving": "enregistrement...",
    "cancel": "annuler",
    "selectFilePrompt": "sélectionner un fichier pour afficher",
    "orSwitchView": "ou basculer vers la vue santé / pipeline",
    "schemaWarnings": "Avertissements de schéma :",
    "editPlaceholder": "Modifier le contenu du fichier...",
    "loadingHermes": "Chargement de la mémoire Hermes",
    "noHermesData": "Pas de données de mémoire Hermes",
    "hermesMemoryTitle": "Mémoire Hermes",
    "hermesMemoryDesc": "Vue en lecture seule des fichiers de mémoire persistante de l'agent Hermes",
    "noAgentMemory": "Fichier de mémoire d'agent introuvable",
    "noUserMemory": "Fichier de mémoire utilisateur introuvable",
    "runningDiagnostics": "Exécution des diagnostics",
    "noHealthData": "Pas de données de santé",
    "runDiagnostics": "Exécuter les diagnostics",
    "healthCategories": "8 catégories / {time}",
    "pipelineTitle": "Pipeline de traitement",
    "pipelineDesc": "Opérations de maintenance des connaissances inspirées des 6 R d'Ars Contexta",
    "pipelineReflect": "Réfléchir",
    "pipelineReflectDesc": "Trouver des opportunités de connexion entre les fichiers",
    "pipelineReweave": "Rétisser",
    "pipelineReweaveDesc": "Trouver les fichiers obsolètes nécessitant des mises à jour depuis des fichiers plus récents",
    "pipelineGenerateMoc": "Générer MOC",
    "pipelineGenerateMocDesc": "Générer automatiquement des Cartes de Contenu depuis des clusters de fichiers",
    "processing": "Traitement",
    "filesProcessed": "{count} fichiers traités",
    "noSuggestions": "Aucune suggestion — la base de connaissances est bien connectée",
    "mapsOfContent": "Cartes de Contenu ({count} groupes)",
    "newFileTitle": "nouveau fichier",
    "directory": "répertoire",
    "fileName": "nom",
    "fileType": "type",
    "content": "contenu",
    "contentOptional": "optionnel...",
    "create": "Créer",
    "deleteFileTitle": "supprimer le fichier",
    "permanentlyDelete": "supprimer définitivement :",
    "outgoing": "Sortants ({count})",
    "backlinks": "Rétroliens ({count})",
    "wikiLinks": "Wiki-liens ({count})"
  },
  "userManagement": {
    "adminAccessRequired": "Accès administrateur requis",
    "failedToLoadUsers": "Échec du chargement des utilisateurs",
    "failedToCreate": "Échec de la création de l'utilisateur",
    "networkError": "Erreur réseau",
    "userUpdated": "Utilisateur mis à jour",
    "failedToUpdate": "Échec de la mise à jour",
    "deletedUser": "Utilisateur \"{username}\" supprimé",
    "failedToDelete": "Échec de la suppression",
    "failedToAction": "Échec de la {action} de la demande",
    "requestActioned": "Demande {action} pour {email}",
    "user": "utilisateur",
    "accessDenied": "Accès refusé",
    "adminRequired": "La gestion des utilisateurs nécessite des privilèges d'administrateur.",
    "loadingUsers": "Chargement des utilisateurs...",
    "usersTitle": "Utilisateurs",
    "usersSummary": "{count} utilisateurs enregistrés · {pending} approbations en attente",
    "addLocalUser": "+ Ajouter un utilisateur local",
    "cancel": "Annuler",
    "pendingRequests": "{count, plural, one {# demande d'accès en attente} other {# demandes d'accès en attente}}",
    "identity": "Identité",
    "attempts": "Tentatives",
    "lastAttempt": "Dernière tentative",
    "action": "Action",
    "roleViewer": "Lecteur",
    "roleOperator": "Opérateur",
    "roleAdmin": "Administrateur",
    "noteOptional": "Note (optionnel)",
    "confirm": "Confirmer",
    "reject": "Rejeter",
    "review": "Examiner",
    "newLocalUser": "Nouvel utilisateur local",
    "username": "Nom d'utilisateur",
    "password": "Mot de passe",
    "displayName": "Nom d'affichage",
    "creating": "Création...",
    "createUser": "Créer un utilisateur",
    "colUser": "Utilisateur",
    "colProvider": "Fournisseur",
    "colRole": "Rôle",
    "colLastLogin": "Dernière connexion",
    "colActions": "Actions",
    "newPasswordOptional": "Nouveau mot de passe (optionnel)",
    "save": "Enregistrer",
    "edit": "Modifier",
    "delete": "Supprimer",
    "never": "Jamais",
    "createdUser": "Utilisateur \"{username}\" créé"
  },
  "alertRules": {
    "title": "Règles d'alerte",
    "description": "Configurer des alertes automatiques pour les événements d'agents, de tâches et de système",
    "evaluating": "Évaluation...",
    "evaluateNow": "Évaluer maintenant",
    "newRule": "+ Nouvelle règle",
    "statTotalRules": "Total des règles",
    "statActive": "Actives",
    "statTotalTriggers": "Total des déclenchements",
    "evalResultsTitle": "Résultats d'évaluation",
    "dismiss": "Fermer",
    "triggered": "DÉCLENCHÉ",
    "noRulesToEvaluate": "Aucune règle à évaluer",
    "loadingRules": "Chargement des règles...",
    "noRulesConfigured": "Aucune règle d'alerte configurée",
    "createRuleHint": "Créer une règle pour être notifié des événements système",
    "never": "Jamais",
    "cooldown": "Délai : {minutes}m",
    "triggerCount": "Déclenché : {count}x",
    "lastTriggered": "Dernier : {time}",
    "deleteRule": "Supprimer la règle",
    "newRuleTitle": "Nouvelle règle d'alerte",
    "ruleName": "Nom de la règle",
    "ruleNamePlaceholder": "ex. : Alerte agent hors ligne",
    "ruleDescription": "Description",
    "optionalDescription": "Description optionnelle",
    "entity": "Entité",
    "entityAgent": "Agent",
    "entityTask": "Tâche",
    "entitySession": "Session",
    "entityActivity": "Activité",
    "field": "Champ",
    "operator": "Opérateur",
    "value": "Valeur",
    "valuePlaceholder": "ex. : error",
    "cooldownMinutes": "Délai (minutes)",
    "notifyRecipient": "Notifier (destinataire)",
    "cancel": "Annuler",
    "creating": "Création...",
    "createRule": "Créer la règle",
    "failedToCreate": "Échec de la création de la règle",
    "networkError": "Erreur réseau"
  },
  "agentSquad": {
    "failedToFetch": "Échec de la récupération des agents",
    "errorOccurred": "Une erreur s'est produite",
    "failedToUpdateStatus": "Échec de la mise à jour du statut de l'agent",
    "loadingAgents": "Chargement des agents",
    "title": "Équipe d'agents",
    "live": "En direct",
    "manual": "Manuel",
    "addAgent": "+ Ajouter un agent",
    "refresh": "Actualiser",
    "noAgents": "Aucun agent trouvé",
    "noAgentsHint": "Les agents locaux sont découverts automatiquement depuis les répertoires Claude, Codex et Hermes. En mode passerelle, les agents enregistrés sur votre passerelle OpenClaw apparaîtront également ici.",
    "addFirstAgent": "Ajoutez votre premier agent pour commencer",
    "session": "Session",
    "totalTasks": "Tâches totales",
    "inProgress": "En cours",
    "lastSeen": "Dernière vue",
    "activity": "Activité",
    "wake": "Réveiller",
    "busy": "Occupé",
    "sleep": "Veille",
    "statusControl": "Contrôle du statut",
    "role": "Rôle",
    "sessionKey": "Clé de session",
    "notSet": "Non défini",
    "soulContent": "Contenu SOUL",
    "soulPlaceholder": "Personnalité et instructions de l'agent...",
    "taskStatistics": "Statistiques des tâches",
    "total": "Total",
    "assigned": "Assignées",
    "done": "Terminées",
    "created": "Créé",
    "lastUpdated": "Dernière mise à jour",
    "saveChanges": "Enregistrer les modifications",
    "cancel": "Annuler",
    "editAgent": "Modifier l'agent",
    "createNewAgent": "Créer un nouvel agent",
    "name": "Nom",
    "rolePlaceholder": "ex. : chercheur, développeur, analyste",
    "sessionKeyOptional": "Clé de session (optionnel)",
    "sessionKeyPlaceholder": "Identifiant de session ClawdBot",
    "soulContentOptional": "Contenu SOUL (optionnel)",
    "createAgent": "Créer l'agent",
    "failedToUpdate": "Échec de la mise à jour de l'agent",
    "failedToCreate": "Échec de la création de l'agent",
    "never": "Jamais",
    "justNow": "À l'instant",
    "minutesAgo": "il y a {count}m",
    "hoursAgo": "il y a {count}h",
    "daysAgo": "il y a {count}j"
  },
  "multiGateway": {
    "title": "Gestionnaire de passerelles",
    "description": "Gérer plusieurs connexions de passerelles OpenClaw",
    "probeAll": "Sonder tout",
    "addGateway": "+ Ajouter une passerelle",
    "connected": "Connecté",
    "disconnected": "Déconnecté",
    "noActiveConnection": "Aucune connexion active",
    "loadingGateways": "Chargement des passerelles...",
    "noGateways": "Aucune passerelle configurée",
    "addGatewayHint": "Ajouter une passerelle pour commencer à gérer les connexions",
    "discoveredGateways": "Passerelles découvertes",
    "discoveredGatewaysDesc": "Passerelles OpenClaw trouvées sur cette machine",
    "refresh": "Actualiser",
    "running": "EN COURS",
    "stopped": "ARRÊTÉ",
    "bind": "Liaison",
    "mode": "Mode",
    "register": "Enregistrer",
    "directCliConnections": "Connexions CLI directes",
    "directCliDesc": "Outils CLI connectés directement sans passerelle",
    "noDirectConnections": "Aucune connexion CLI directe",
    "useApiConnect": "Utiliser",
    "toRegisterCli": "pour enregistrer un outil CLI",
    "role": "Rôle",
    "heartbeat": "Battement",
    "never": "Jamais",
    "disconnect": "Déconnecter",
    "neverProbed": "Jamais sondé",
    "primary": "PRINCIPAL",
    "connectedBadge": "CONNECTÉ",
    "token": "Jeton",
    "tokenSet": "Défini",
    "tokenNone": "Aucun",
    "latency": "Latence",
    "last": "Dernier",
    "gatewayVersion": "Version de la passerelle",
    "noHistory": "Pas encore d'historique",
    "colorKey": "Légende des couleurs",
    "colorKeyTitle": "Vert = en ligne ; ambre = erreur ; rouge = hors ligne",
    "lastLatency": "Dernière latence : {ms}ms",
    "probeGateway": "Sonder la passerelle",
    "probing": "Sondage...",
    "probe": "Sonder",
    "connectToGateway": "Se connecter à cette passerelle",
    "connect": "Connecter",
    "setPrimaryTitle": "Définir comme principal",
    "setPrimary": "Définir comme principal",
    "removeGateway": "Supprimer la passerelle",
    "addGatewayTitle": "Ajouter une passerelle",
    "name": "Nom",
    "namePlaceholder": "ex. : primary",
    "host": "Hôte",
    "port": "Port",
    "tokenField": "Jeton",
    "optional": "Optionnel",
    "cancel": "Annuler",
    "adding": "Ajout...",
    "addGatewaySubmit": "Ajouter la passerelle",
    "failedToAdd": "Échec de l'ajout de la passerelle",
    "networkError": "Erreur réseau"
  },
  "nodes": {
    "title": "Nœuds / Instances",
    "gatewayConnected": "Passerelle connectée",
    "gatewayUnreachable": "Passerelle inaccessible",
    "tabInstances": "Instances ({count})",
    "tabDevices": "Appareils ({count})",
    "loading": "Chargement...",
    "noInstances": "Aucune instance active. Les nœuds apparaissent ici lorsqu'ils se connectent à la passerelle.",
    "colName": "Nom",
    "colClientId": "ID client",
    "colPlatform": "Plateforme",
    "colVersion": "Version",
    "colRoles": "Rôles",
    "colStatus": "Statut",
    "colConnected": "Connecté",
    "colLastActivity": "Dernière activité",
    "colHostIp": "Hôte / IP",
    "colDeviceId": "ID appareil",
    "colPaired": "Appairé",
    "colLastSeen": "Vu pour la dernière fois",
    "colTrust": "Confiance",
    "colActions": "Actions",
    "pendingPairingRequests": "Demandes d'appairage en attente ({count})",
    "approve": "Approuver",
    "approving": "Approbation...",
    "reject": "Rejeter",
    "rejecting": "Rejet...",
    "noPairedDevices": "Aucun appareil appairé.",
    "pairedDevices": "Appareils appairés ({count})",
    "trusted": "approuvé",
    "untrusted": "non approuvé",
    "rotateToken": "Renouveler le jeton",
    "revokeConfirm": "Révoquer ?",
    "yes": "Oui",
    "no": "Non",
    "revoke": "Révoquer",
    "hideTokens": "Masquer les jetons",
    "tokens": "Jetons ({count})",
    "tokenUsed": "utilisé {time}",
    "revoked": "révoqué",
    "rotate": "Renouveler"
  },
  "activityFeed": {
    "title": "Activité",
    "live": "En direct",
    "paused": "Pausé",
    "refresh": "Actualiser",
    "filterAgent": "Agent",
    "filterAll": "Tous",
    "filterType": "Type",
    "allTypes": "Tous les types",
    "filterLimit": "Limite",
    "loadingActivities": "Chargement des activités",
    "noActivities": "Aucune activité trouvée",
    "noActivityForAgent": "Aucune activité enregistrée pour {agent}",
    "tryAdjustingFilters": "Essayez d'ajuster vos filtres",
    "entityTask": "Tâche :",
    "entityCommentOn": "Commentaire sur :",
    "entityAgent": "Agent :",
    "showDetails": "Afficher les détails",
    "activeSessions": "Sessions actives",
    "agentStatus": "Statut",
    "lastSeen": "Vu pour la dernière fois",
    "lastAction": "Dernière action",
    "tasksAssigned": "Tâches assignées",
    "inProgress": "En cours",
    "completed": "Terminé",
    "events": "{count} événements",
    "newer": "Plus récent",
    "older": "Plus ancien",
    "pageOf": "Page {page} sur {total}",
    "footerAgentEvents": "{total} événements pour {agent}",
    "footerShowing": "Affichage de {count} activités{filtered}",
    "filtered": " (filtré)",
    "lastUpdated": "Dernière mise à jour : {time}"
  },
  "standup": {
    "title": "Standup quotidien",
    "viewCurrent": "Actuel",
    "viewHistory": "Historique",
    "generating": "Génération...",
    "generate": "Générer",
    "export": "Exporter",
    "standupFor": "Standup du {date}",
    "generatedOn": "Généré le {date}",
    "statCompleted": "Terminé",
    "statInProgress": "En cours",
    "statBlocked": "Bloqué",
    "statOverdue": "En retard",
    "teamAccomplishments": "Réalisations de l'équipe",
    "teamBlockers": "Blocages de l'équipe",
    "overdueTasks": "Tâches en retard",
    "unassigned": "Non assigné",
    "individualReports": "Rapports individuels",
    "activitySummary": "Activité : {actions} actions, {comments} commentaires",
    "sectionCompleted": "Terminé ({count})",
    "sectionInProgress": "En cours ({count})",
    "sectionAssigned": "Assigné ({count})",
    "sectionBlocked": "Bloqué ({count})",
    "none": "Aucun",
    "noStandupGenerated": "Aucun standup généré",
    "selectDatePrompt": "Sélectionnez une date et générez un rapport",
    "generateToday": "Générer le standup d'aujourd'hui",
    "noHistory": "Aucun historique de standup trouvé",
    "historyGenerated": "Généré : {date}",
    "historyAgentsParticipated": "{count} agents ont participé",
    "historyCompleted": "Terminé : {count}",
    "historyInProgress": "En cours : {count}",
    "historyBlocked": "Bloqué : {count}"
  },
  "webhooks": {
    "title": "Webhooks",
    "configured": "{count, plural, one {# webhook configuré} other {# webhooks configurés}}",
    "addWebhook": "+ Ajouter un webhook",
    "secretLabel": "Secret du webhook (enregistrez-le maintenant - affiché une seule fois)",
    "dismiss": "Ignorer",
    "testSuccessful": "Test réussi",
    "testFailed": "Test échoué",
    "testStatus": "Statut :",
    "testDuration": "Durée :",
    "testError": "Erreur :",
    "localAutomations": "Automatisations webhook locales",
    "localAutomationsDesc": "Tâches du planificateur local prenant en charge la livraison et les tentatives webhook",
    "nextRun": "Prochaine exécution {time}",
    "noNextRun": "Aucune prochaine exécution planifiée",
    "running": "En cours...",
    "run": "Exécuter",
    "noWebhooks": "Aucun webhook configuré",
    "noWebhooksDesc": "Ajoutez un webhook pour recevoir des notifications HTTP pour les événements",
    "allEvents": "Tous les événements",
    "eventCount": "{count, plural, one {# événement} other {# événements}}",
    "deliveries": "{count} livraisons",
    "failed": "{count} échoués",
    "lastFired": "Dernier déclenchement {time}",
    "sendTestEvent": "Envoyer un événement de test",
    "testing": "Test en cours...",
    "test": "Tester",
    "disable": "Désactiver",
    "enable": "Activer",
    "delete": "Supprimer",
    "recentDeliveries": "Livraisons récentes",
    "noDeliveries": "Aucune livraison enregistrée",
    "newWebhook": "Nouveau webhook",
    "formName": "Nom",
    "formUrl": "URL",
    "formEvents": "Événements",
    "cancel": "Annuler",
    "createWebhook": "Créer le webhook"
  },
  "skills": {
    "title": "Hub de compétences",
    "subtitle": "Gérez les compétences localement et parcourez les registres externes.",
    "localMode": "Mode local",
    "gatewayMode": "Mode passerelle",
    "tabInstalled": "Installé",
    "tabRegistry": "Registre",
    "searchPlaceholder": "Recherche rapide des compétences installées...",
    "searchResults": "Affichage de {count} sur {total} compétences correspondant à \"{query}\"",
    "diskSyncActive": "Synchronisation disque bidirectionnelle active (planificateur toutes les 60s)",
    "scanAll": "Tout analyser",
    "scanningProgress": "Analyse {done}/{total}...",
    "refreshNow": "Actualiser maintenant",
    "scanning": "Analyse :",
    "skillsScanned": "{count} compétences analysées",
    "dismiss": "ignorer",
    "addSkill": "Ajouter une compétence",
    "initialContent": "Contenu initial du SKILL.md",
    "loadingSkills": "Chargement des compétences...",
    "skillCount": "{count} sur {total} compétences",
    "noMatch": "Aucune compétence ne correspond à ce filtre.",
    "scan": "Analyser",
    "view": "Voir",
    "registrySearchPlaceholder": "Rechercher des compétences...",
    "searching": "Recherche...",
    "search": "Rechercher",
    "installTo": "Installer dans :",
    "installing": "Installation...",
    "install": "Installer",
    "noRegistryResults": "Aucun résultat pour \"{query}\" sur {registry}. Essayez une autre requête ou changez de registre.",
    "registryPrompt": "Recherchez sur ClawdHub, skills.sh ou Awesome OpenClaw pour découvrir et installer des compétences d'agents.",
    "skillInstalled": "Compétence installée",
    "installFailed": "Échec de l'installation",
    "installingSkill": "Installation de la compétence",
    "stepFetching": "Récupération du SKILL.md depuis le registre",
    "stepScanning": "Exécution de l'analyse de sécurité",
    "stepWriting": "Écriture sur le disque et enregistrement",
    "security": "Sécurité",
    "viewInstalled": "Voir les installés",
    "done": "Terminé",
    "close": "Fermer",
    "delete": "Supprimer",
    "save": "Enregistrer",
    "loadingSkillContent": "Chargement du SKILL.md...",
    "noContent": "Aucun contenu."
  },
  "orchestration": {
    "tabCommand": "Commande",
    "tabWorkflows": "Flux de travail",
    "tabPipelines": "Pipelines",
    "tabFleet": "Flotte",
    "selectAgent": "Sélectionner un agent...",
    "commandPlaceholder": "Envoyer une commande ou un message à l'agent...",
    "send": "Envoyer",
    "noTemplates": "Aucun modèle de flux de travail",
    "createFirstTemplate": "Créer votre premier modèle",
    "cancel": "Annuler",
    "new": "+ Nouveau",
    "editTemplate": "Modifier le modèle",
    "newTemplate": "Nouveau modèle",
    "templateName": "Nom du modèle",
    "templateDescription": "Description (optionnel)",
    "taskPromptPlaceholder": "Invite de tâche pour l'agent...",
    "timeout": "Délai d'expiration",
    "role": "Rôle",
    "lastRun": "Dernière exécution",
    "update": "Mettre à jour",
    "save": "Enregistrer",
    "totalAgents": "Total des agents",
    "online": "En ligne",
    "busy": "Occupé",
    "errors": "Erreurs"
  }
}
