{
  "appName": "LibrAgent",
  "assistant": {
    "nameLabel": "Nom de l'assistant *",
    "namePlaceholder": "Entrez le nom de l'assistant...",
    "descriptionLabel": "Description",
    "descriptionPlaceholder": "Brève description de ce que fait cet assistant...",
    "systemPromptLabel": "Instruction système *",
    "systemPromptPlaceholder": "Décrivez le rôle et le comportement de l'IA...",
    "tabs": {
      "general": "Général",
      "tools": "Outils",
      "skills": "Compétences"
    },
    "builtin": {
      "title": "Outils intégrés",
      "loading": "Chargement des outils...",
      "noTools": "Aucun outil intégré disponible.",
      "toolAccess": "Accès aux outils",
      "noOptional": "Les outils intégrés de base sont gérés automatiquement. Aucun outil intégré optionnel n'est disponible dans cet environnement.",
      "description": "Les outils intégrés de base sont toujours activés automatiquement. Seuls les outils optionnels sont affichés ci-dessous.",
      "toolCount_one": "{{count}} outil disponible",
      "toolCount_other": "{{count}} outils disponibles"
    },
    "mcp": {
      "label": "Serveurs MCP",
      "description": "Sélectionnez les serveurs MCP auxquels cet assistant peut accéder",
      "noActive": "Aucun serveur MCP actif.",
      "addServersLink": "Ajouter des serveurs dans les Paramètres",
      "searchPlaceholder": "Rechercher des serveurs...",
      "noMatch": "Aucun serveur ne correspond à votre recherche",
      "transport": {
        "stdio": "stdio",
        "http": "http"
      }
    },
    "edit": {
      "titleNew": "Créer un nouvel assistant",
      "titleEdit": "Modifier l'assistant",
      "cancel": "Annuler",
      "save": "Enregistrer"
    },
    "list": {
      "title": "Assistants",
      "subtitle": "Gérez vos agents IA personnalisés",
      "create": "Créer un nouvel assistant",
      "searchPlaceholder": "Rechercher des assistants...",
      "searchAriaLabel": "Rechercher des assistants",
      "clearSearchAriaLabel": "Effacer la recherche",
      "searching": "Recherche...",
      "searchResults": "{{count}} résultats trouvés pour \"{{query}}\"",
      "noResults": "Aucun assistant ne correspond à votre recherche",
      "empty": "Aucun assistant disponible",
      "pagination": {
        "previous": "Précédent",
        "next": "Suivant",
        "pageInfo": "Page {{current}} sur {{total}}",
        "totalInfo": "({{count}} sur {{total}} assistants)"
      }
    },
    "card": {
      "protected": "PROTÉGÉ",
      "active": "ACTIF",
      "mcpCount": "Serveurs MCP : {{count}}",
      "builtinCount": "Intégrés : {{count}}",
      "builtinCountAll": "Intégrés : Tous",
      "allBuiltin": "Tous les outils intégrés",
      "coreBuiltin": "Automatisation intégrée",
      "edit": "Modifier",
      "checkStatus": "Vérifier le statut",
      "checking": "Vérification...",
      "delete": "Supprimer",
      "deleting": "Suppression...",
      "deleteBlocked": "Un assistant protégé ne peut pas être supprimé.",
      "deleteConfirmTitle": "Supprimer l'assistant",
      "confirmDelete": "Confirmer la suppression",
      "cancel": "Annuler",
      "created": "Créé",
      "updated": "Mis à jour",
      "description": "Description",
      "expand": "Développer la configuration",
      "collapse": "Réduire la configuration"
    }
  },
  "status": {
    "connected": "Connecté",
    "disconnected": "Déconnecté",
    "unknown": "Inconnu",
    "connecting": "Connexion..."
  },
  "sessionFiles": {
    "readError": "Erreur lors de la lecture du fichier.",
    "viewFiles": "Voir les fichiers de session",
    "fileList": "Liste des fichiers de session",
    "noFiles": "Aucun fichier enregistré.",
    "type": "Type :",
    "size": "Taille :",
    "created": "Créé :",
    "workspace": "Espace de travail :",
    "sessionId": "ID de session :",
    "workspaceValue": "Espace de travail"
  },
  "fileAttachment": {
    "attachFiles": "Joindre des fichiers",
    "attachedFilesLabel": "Fichiers joints :",
    "attachedFilesList": "Liste des fichiers joints",
    "removeFile": "Supprimer {{name}}"
  },
  "common": {
    "loading": "Chargement...",
    "cancel": "Annuler",
    "close": "Fermer",
    "delete": "Supprimer",
    "restartNow": "Redémarrer maintenant",
    "copy": "Copier",
    "copied": "Copié !"
  },
  "baseBubble": {
    "copy": "Copier {{title}} dans le presse-papiers",
    "toggle": "Basculer {{title}}"
  },
  "error": {
    "title": "Une erreur est survenue",
    "details": "Détails de l'erreur",
    "reload": "Recharger l'application"
  },
  "theme": {
    "toggle": "Changer le thème"
  },
  "notifications": {
    "open": "Ouvrir les notifications",
    "title": "Notifications",
    "empty": "Aucune session nécessitant votre attention ni aucune approbation en attente.",
    "recurringStop": "Arrêt récurrent",
    "pendingApprovals_one": "{{count}} approbation",
    "pendingApprovals_other": "{{count}} approbations",
    "viewSession": "Ouvrir la session {{name}}"
  },
  "sidebar": {
    "mobileTitle": "Barre latérale",
    "mobileDescription": "Affiche la barre latérale mobile.",
    "toggle": "Basculer la barre latérale",
    "library": "Bibliothèque",
    "chat": "Chat",
    "assistants": "Assistants",
    "playbooks": "Scénarios",
    "extensions": "Extensions",
    "recentSessions": "Sessions récentes",
    "seeAllSessions": "Voir toutes les sessions →",
    "settings": "Paramètres",
    "history": "Historique",
    "bookmarked": "Favoris",
    "scheduledTasks": "Tâches planifiées",
    "session": "Session",
    "knowledge": "Connaissance",
    "org": "Organisation"
  },
  "sessionHistory": {
    "heading": "Historique des sessions",
    "description": "Parcourez et gérez vos sessions de conversation",
    "defaultHeading": "Sessions récentes",
    "defaultDescription": "Reprendre les sessions précédentes",
    "searchPlaceholder": "Rechercher des sessions par nom ou ID...",
    "defaultEmptyTitle": "Aucune session précédente",
    "defaultEmptySubtitle": "Commencez une conversation pour créer votre première session",
    "refreshAria": "Actualiser les sessions",
    "searchAria": "Rechercher des sessions",
    "clearSearchAria": "Effacer la recherche",
    "focusedLineage": "Lignée ciblée : {{id}}",
    "showAllLineages": "Afficher toutes les lignées",
    "loading": "Chargement des sessions...",
    "noSessionsInLineage": "Aucune session visible dans la lignée {{id}}",
    "clearLineageFocus": "Effacer le focus sur la lignée",
    "noSessionsMatching": "Aucune session trouvée pour \"{{query}}\"",
    "clearSearch": "Effacer la recherche",
    "bookmarkedSection": {
      "heading": "Sessions favorites",
      "description": "Les sessions épinglées restent ici pour un accès rapide, tandis que l'historique complet reste disponible en dessous.",
      "resumeAria": "Ouvrir la session favorite {{name}}",
      "open": "Ouvrir la session",
      "lastUsed": "Utilisée {{time}}",
      "defaultMeta": "Enregistrée pour un accès rapide",
      "more": "+{{count}} autres favoris",
      "browseAll": "Parcourir tous les favoris"
    },
    "toasts": {
      "deleted": "Session supprimée",
      "deleteFailed": "Échec de la suppression de la session"
    },
    "tabs": {
      "all": "Tout",
      "bookmarked": "Favoris",
      "busy": "Occupé",
      "idle": "Inactif",
      "paused": "En pause",
      "error": "Erreur"
    },
    "statusFilter": {
      "label": "Statut",
      "all": "Tous les statuts"
    },
    "bookmarkFilter": {
      "focused": "Affichage des sessions favorites",
      "clear": "Afficher toutes les sessions",
      "empty": "Aucune session favorite pour le moment"
    },
    "sort": {
      "label": "Trier les sessions",
      "updatedAt": "Activité récente",
      "createdAt": "Création",
      "name": "Nom",
      "ascending": "Trier par ordre croissant",
      "descending": "Trier par ordre décroissant"
    },
    "lineageHint": {
      "child": "↳ Enfant de {{parentName}}",
      "topLevel": "Session de niveau supérieur"
    },
    "status": {
      "busy": "Actif",
      "idle": "Inactif",
      "paused": "En pause",
      "error": "Erreur",
      "unknown": "Inconnu"
    },
    "card": {
      "fallbackName": "Session {{id}}",
      "ariaLabel": "Session : {{name}}",
      "level": "Niveau {{level}}",
      "child": "Enfant",
      "parent": "Parent",
      "root": "Racine",
      "descendants": "{{count}} descendants",
      "parentBadge": "Parent : {{id}}",
      "lineageBadge": "Lignée : {{id}}",
      "lineageFilterAria": "Filtrer par lignée {{id}}",
      "statusAriaLabel": "Statut de la session : {{status}}",
      "descendantBusy": "Actifs : {{count}}",
      "descendantIdle": "Inactifs : {{count}}",
      "descendantPaused": "En pause : {{count}}",
      "descendantError": "Erreur : {{count}}",
      "model": "Modèle :",
      "createdAt": "Créé le {{time}}",
      "updatedAt": "Mis à jour le {{time}}",
      "justNow": "à l'instant",
      "subagentsCount_one": "+{{count}} sous-agent",
      "subagentsCount_other": "+{{count}} sous-agents",
      "subagentsKept": "Sous-agents conservés",
      "bookmarkedBadge": "Favorie"
    },
    "actions": {
      "view": "Voir",
      "continue": "Continuer",
      "resume": "Reprendre",
      "bookmark": "Enregistrer",
      "bookmarked": "Enregistrée",
      "bookmarkAria": "Enregistrer la session",
      "unbookmark": "Retirer des favoris",
      "unbookmarkAria": "Retirer des favoris",
      "viewAria": "Voir la session {{name}}",
      "continueAria": "Continuer la session {{name}}",
      "resumeAria": "Reprendre la session {{name}}",
      "expandChildrenAria": "Développer les sessions enfants de {{name}}",
      "collapseChildrenAria": "Réduire les sessions enfants de {{name}}",
      "groupAria": "Actions de session",
      "deleteTooltip": "Supprimer la session",
      "deleteAria": "Supprimer la session {{name}}",
      "deleting": "Suppression...",
      "deleteAll": "Tout supprimer",
      "deleteAllAria": "Supprimer cette session et toutes les sessions de sous-agents",
      "deleteOnlyThis": "Supprimer uniquement ceci",
      "deleteOnlyThisAria": "Supprimer uniquement cette session",
      "confirmDelete": "Confirmer la suppression",
      "confirmDeleteAria": "Confirmer la suppression",
      "cancel": "Annuler",
      "cancelDeletionAria": "Annuler la suppression"
    },
    "emptyState": {
      "title": "Aucune session pour le moment",
      "subtitle": "Commencez une conversation pour créer votre première session"
    }
  },
  "orgHistory": {
    "heading": "Vue organisationnelle",
    "description": "Uniquement les lignées créées explicitement par l'organisation. Les sessions déléguées ponctuelles restent dans l'historique normal.",
    "cardLabel": "Organisation explicite",
    "rootLabel": "Session racine",
    "updatedLabel": "Mis à jour",
    "resumeRoot": "Reprendre la session racine",
    "delete": "Supprimer l'organisation",
    "deleteConfirm": {
      "title": "Supprimer l'organisation ?",
      "description": "Cette action supprimera définitivement cette organisation et toutes les sessions membres associées, y compris tous les fichiers et historiques. Cette action est irréversible."
    },
    "toasts": {
      "deleted": "Organisation supprimée",
      "deleteFailed": "Échec de la suppression de l'organisation"
    },
    "emptyState": {
      "title": "Aucune lignée d'organisation pour le moment",
      "subtitle": "Créez explicitement une organisation, puis créez des membres via les outils compatibles avec les organisations. La lignée ordinaire des sous-agents n'a pas sa place ici."
    }
  },
  "settings": {
    "title": "Paramètres",
    "versionLabel": "{{appName}} v{{version}}",
    "unsaved": "Non enregistré",
    "saved": "Paramètres enregistrés avec succès",
    "saving": "Enregistrement...",
    "saveFailed": "Échec de l'enregistrement des paramètres",
    "applyChanges": "Appliquer les modifications",
    "language": {
      "label": "Langue",
      "en": "English",
      "ko": "한국어",
      "zh": "简体中文",
      "ja": "日本語",
      "fr": "Français",
      "es": "Español",
      "de": "Deutsch",
      "pt": "Português"
    },
    "tabs": {
      "general": "Général",
      "aiModels": "IA & Modèles",
      "chatInterface": "Interface de chat",
      "mcpServers": "Serveurs MCP",
      "advanced": "Avancé",
      "extensions": "Extensions",
      "dev": "Dév",
      "system": "Système"
    },
    "llmPreference": "LLM par défaut",
    "messageWindowSize": "Taille de la fenêtre de messages",
    "messageWindowSizeDescription": "Nombre de messages à conserver dans l'historique de conversation",
    "messageWindowSizePlaceholder": "ex: 50",
    "maxInputContext": "Contexte d'entrée max",
    "maxInputContextDescription": "Nombre maximum de tokens avant de résumer les anciens tours. Des valeurs plus élevées conservent plus de détails mais augmentent le coût.",
    "toolCallGroupVisibleCount": "Nombre d'appels d'outils visibles",
    "toolCallGroupVisibleCountDescription": "Nombre d'appels d'outils à afficher dans la vue groupée réduite",
    "toolCallGroupVisibleCountPlaceholder": "ex: 4",
    "decreaseToolCallCount": "Réduire le nombre d'appels d'outils",
    "increaseToolCallCount": "Augmenter le nombre d'appels d'outils",
    "general": {
      "skillsDirectory": "Répertoire des compétences",
      "skillsDirectorySelectTitle": "Sélectionner le répertoire des compétences",
      "skillsDirectoryPlaceholder": "Sélectionnez un répertoire pour les compétences locales...",
      "browse": "Parcourir",
      "browseAriaLabel": "Parcourir le répertoire des compétences",
      "openInExplorer": "Ouvrir dans l'explorateur",
      "verifying": "Vérification...",
      "error": "Erreur : {{message}}",
      "skillsFound_one": "{{count}} compétence trouvée",
      "skillsFound_other": "{{count}} compétences trouvées",
      "invalidDirectory": "Répertoire invalide",
      "skillsDirectoryDescription": "Répertoire contenant les compétences de l'agent (dossiers avec SKILL.md). Les nouvelles compétences seront découvertes automatiquement."
    },
    "aiModels": {
      "apiKeys": "Clés API des fournisseurs",
      "preferences": "Préférences de modèle",
      "fallbackModel": "LLM de secours",
      "fallbackModelDescription": "Utilisé en dernier recours lorsque le modèle principal renvoie des réponses mal formées ou vides après toutes les tentatives.",
      "agentHub": "Agent Hub",
      "agentHubUrlLabel": "URL de l'Agent Hub",
      "agentHubUrlDescription": "URL du serveur Agent Hub distant. Si elle est définie, les assistants seront synchronisés avec ce serveur.",
      "agentHubUrlPlaceholder": "https://api.agenthub.com",
      "responseBehavior": "Comportement de réponse",
      "decreaseRetries": "Réduire le nombre de tentatives",
      "increaseRetries": "Augmenter le nombre de tentatives",
      "providers": {
        "openai": {
          "name": "OpenAI",
          "description": "GPT-4o, o3, o4-mini and more"
        },
        "anthropic": {
          "name": "Anthropic",
          "description": "Claude 3.5 Sonnet, Haiku and more"
        },
        "gemini": {
          "name": "Google Gemini",
          "description": "Gemini 2.5 Pro, Flash and more"
        },
        "ollama": {
          "name": "Ollama",
          "description": "Run open models locally on your machine"
        },
        "groq": {
          "name": "Groq",
          "description": "Ultra-fast inference via Groq LPU chips"
        },
        "fireworks": {
          "name": "Fireworks AI",
          "description": "Fast hosting for open-source models"
        },
        "cerebras": {
          "name": "Cerebras",
          "description": "World's fastest AI inference chips"
        },
        "openrouter": {
          "name": "OpenRouter",
          "description": "Access 200+ models through one API key"
        },
        "empty": {
          "name": "None",
          "description": ""
        }
      }
    },
    "provider": {
      "apiKey": "Clé API",
      "apiKeyPlaceholder": "Entrez votre clé API {{name}}",
      "showApiKey": "Afficher la clé API",
      "hideApiKey": "Masquer la clé API",
      "baseUrl": "URL de base",
      "baseUrlPlaceholder": "http://localhost:11434",
      "use3rdParty": "Utiliser une API tierce compatible OpenAI",
      "customModelId": "ID de modèle personnalisé",
      "customModelIdPlaceholder": "ex: llama-3.1-70b, mistral-large",
      "customModelIdDescription": "Entrez l'ID du modèle supporté par votre API tierce (ex: LM Studio, LocalAI)"
    },
    "chatInterface": {
      "diffContextLines": "Lignes de contexte Diff",
      "diffContextLinesPlaceholder": "ex: 3",
      "diffContextLinesDescription": "Nombre de lignes de contexte à afficher dans les diffs d'édition de fichiers (1-10).",
      "decreaseDiffLines": "Réduire le nombre de lignes de contexte du diff",
      "increaseDiffLines": "Augmenter le nombre de lignes de contexte du diff"
    },
    "display": {
      "fontFamilyOptions": {
        "pretendard": "Pretendard (sans standard)",
        "inter": "Inter (sans UI épurée)",
        "nanumSquareNeo": "NanumSquare Neo (géométrique moderne)",
        "d2coding": "D2Coding (mono pour développeurs)"
      },
      "metricsTitle": "Mesures de performance",
      "metricDisplayMode": "Mode d'affichage des mesures",
      "inline": "En ligne (afficher dans le message)",
      "tooltip": "Infobulle (survoler pour voir)",
      "metricDisplayModeDescription": "Choisissez comment les mesures de tokens sont affichées dans les messages de chat",
      "prefillDisplayFormat": "Format de performance de pré-remplissage",
      "time": "Temps jusqu'au premier token (ex: 245ms)",
      "tokensPerSecond": "Tokens par seconde (ex: 520 tok/s)",
      "prefillDisplayFormatDescription": "Choisissez comment les performances de pré-remplissage sont affichées",
      "showTokenSpeed": "Afficher la vitesse des tokens",
      "showTokenSpeedDescription": "Afficher la vitesse de génération (tokens par seconde) dans les mesures",
      "compactMetrics": "Mesures compactes",
      "compactMetricsDescription": "Utiliser un format d'affichage compact pour les mesures de tokens",
      "toolCallsTitle": "Appels d'outils",
      "toolDetailLevel": "Niveau de détail des outils",
      "toolDetailSimple": "Simple (nom de l'outil uniquement)",
      "toolDetailDeveloper": "Développeur (paramètres, erreurs, timing)",
      "toolDetailLevelDescription": "Le mode simple affiche uniquement les noms des outils et les icônes de statut. Le mode développeur affiche tous les paramètres, les détails de l'erreur et le temps d'exécution.",
      "uiVisualsTitle": "Apparence de l'interface",
      "fontFamily": "Police",
      "fontFamilyDescription": "Change la police par défaut de l'interface."
    },
    "advanced": {
      "maxRetries": "Nombre max de tentatives",
      "maxRetriesDescription": "Nombre maximum de tentatives pour les requêtes IA échouées.",
      "retryDelay": "Délai de tentative (ms)",
      "retryDelayDescription": "Délai en millisecondes entre les tentatives de reconnexion.",
      "circuitBreaker": "Seuil de boucle d'outils",
      "circuitBreakerDescription": "Nombre d'erreurs ou d'appels d'outils répétés avant de déclencher le coupe-circuit.",
      "maxOutputTokens": "Tokens de sortie max (Défaut)",
      "maxOutputTokensDescription": "Nombre maximum de tokens de sortie par défaut pour les nouvelles sessions si non spécifié par l'assistant.",
      "defaultSessionMaxDepth": "Limite de ramification de session (Avancé)",
      "defaultSessionMaxDepthDescription": "Contrôle combien de niveaux de sessions enfants sont autorisés par défaut. Réglez sur 0 pour illimité. La plupart des utilisateurs peuvent laisser tel quel.",
      "defaultSessionMaxDepthPlaceholder": "ex. 3",
      "defaultSessionMaxFanout": "Limite d'enfants de session (Avancé)",
      "defaultSessionMaxFanoutDescription": "Contrôle combien de sessions enfants directes chaque parent peut créer par défaut. Réglez sur 0 pour illimité. La plupart des utilisateurs peuvent laisser tel quel.",
      "defaultSessionMaxFanoutPlaceholder": "0 = illimité",
      "maxConcurrentActiveSessions": "Nombre max de sessions d'agents simultanées",
      "maxConcurrentActiveSessionsDescription": "Nombre maximum de sessions d'agents exécutant leur boucle LLM simultanément. Des valeurs plus élevées utilisent plus de quota API et de mémoire.",
      "maxConcurrentActiveSessionsPlaceholder": "ex. 4",
      "maxSuspendedSessions": "Nombre max de sessions d'agents suspendues",
      "maxSuspendedSessionsDescription": "Nombre maximum de sessions d'agents pouvant être mises en pause en attendant qu'un agent enfant se termine. Doit être ≥ aux sessions actives.",
      "maxSuspendedSessionsPlaceholder": "ex. 8",
      "maxConcurrentActiveProcesses": "Nombre max de processus Shell simultanés",
      "maxConcurrentActiveProcessesDescription": "Nombre maximum de processus shell/code s'exécutant simultanément sur toutes les sessions d'agents.",
      "maxConcurrentActiveProcessesPlaceholder": "ex. 10",
      "maxSuspendedProcesses": "Nombre max de processus Shell suspendus",
      "maxSuspendedProcessesDescription": "Nombre maximum de processus pouvant être mis en pause en attendant pollProcess. Doit être ≥ aux processus actifs.",
      "maxSuspendedProcessesPlaceholder": "ex. 20",
      "toolResultInlineLimit": "Limite en ligne des résultats d'outils (Ko)",
      "toolResultInlineLimitPlaceholder": "ex. 16",
      "toolResultInlineLimitDescription": "Contrôle la quantité de sortie d'outil conservée en ligne avant que LibrAgent ne déverse le résultat complet dans un fichier d'espace de travail. Des valeurs plus faibles gardent le contexte de l'agent plus léger.",
      "shellIsolation": "Niveau d'isolation du Shell",
      "shellIsolationModes": {
        "basic": "Basique - Accès complet au PATH (moins sécurisé)",
        "medium": "Moyen - PATH restreint (équilibré)",
        "high": "Élevé - Bac à sable (le plus sécurisé)"
      },
      "shellIsolationDescription": "Contrôle l'isolation de l'environnement pour les commandes shell. Basique permet les outils installés par l'utilisateur, Élevé offre une sécurité maximale.",
      "performance": "Performance et concurrence",
      "performanceDescription": "Ces limites d'exécution contrôlent combien d'agents et de processus d'espace de travail peuvent tourner en même temps.",
      "title": "Contrôles d'exécution avancés",
      "summary": "Ces paramètres modifient les garde-fous d'exécution, les limites multi-agents et l'isolation du shell. La plupart des utilisateurs devraient les laisser tels quels.",
      "loopPreventionThreshold": "Seuil de prévention des boucles",
      "loopPreventionThresholdDescription": "Nombre de résultats d'outils identiques répétés avant que l'agent ne tente une récupération naturelle ou ne déclenche un arrêt forcé."
    },
    "system": {
      "title": "Système & Performance",
      "network": "Réseau",
      "httpServerPort": "Port du serveur HTTP",
      "httpServerPortDescription": "Port utilisé par le serveur API HTTP interne.",
      "httpServerExpose": "Exposer le serveur HTTP",
      "httpServerExposeMode": {
        "local": "Local uniquement (127.0.0.1)",
        "public": "Exposer au réseau (0.0.0.0)"
      },
      "httpServerExposeDescription": "Utilisez local uniquement par défaut. L'exposition permet l'accès depuis d'autres appareils sur votre réseau.",
      "httpServerExposeWarning": "Attention : Le serveur API HTTP est exposé à votre réseau (0.0.0.0). Utilisez uniquement dans des réseaux de confiance et protégez l'accès de manière appropriée.",
      "fileWorkspace": "Fichier & Espace de travail",
      "maxFileUploadSize": "Taille max de téléchargement de fichier (Mo)",
      "maxFileUploadSizeDescription": "Taille maximum pour un seul téléchargement de fichier. Augmentez si vous travaillez souvent avec de gros documents.",
      "workspaceCapacity": "Capacité de l'espace de travail (Mo)",
      "workspaceCapacityDescription": "Limite totale pour le contenu textuel de votre espace de travail actuel.",
      "automation": "Gouvernance de l'automatisation",
      "scheduledTaskMinimumInterval": "Intervalle minimal des tâches planifiées (min)",
      "scheduledTaskMinimumIntervalDescription": "Intervalle minimal autorisé pour les tâches planifiées nouvelles ou réactivées. Mettez 0 pour désactiver cette protection.",
      "maxScheduledTaskGroups": "Nombre maximal de groupes de tâches planifiées",
      "maxScheduledTaskGroupsDescription": "Nombre maximal de groupes distincts de tâches planifiées autorisés dans l'automatisation récurrente du travail d'équipe.",
      "backgroundTasks": "Tâches de fond",
      "searchIndexFrequency": "Fréquence d'indexation de recherche (Min)",
      "searchIndexFrequencyDescription": "À quelle fréquence l'IA met à jour sa recherche en mémoire. Des mises à jour plus rapides maintiennent la recherche à jour mais consomment plus de batterie/CPU.",
      "webActionTimeout": "Délai d'action Web (Sec)",
      "webActionTimeoutDescription": "Combien de temps l'IA attend qu'une page web se charge ou qu'un clic se termine.",
      "mcpServerStartupTimeout": "Délai de démarrage du serveur MCP (Sec)",
      "mcpServerStartupTimeoutDescription": "Combien de temps attendre que les serveurs d'outils MCP s'initialisent. Augmentez si les serveurs ne démarrent pas.",
      "mcpToolTimeout": "Délai d'exécution de l'outil MCP (Sec)",
      "mcpToolTimeoutDisabled": "Désactivé",
      "mcpToolTimeoutDescription": "Combien de temps attendre un seul appel d'outil avant de l'annuler. Réglez sur 0 pour désactiver (recommandé pour les outils d'agent à exécution longue comme awaitAgent).",
      "activeSessionRetention": "Conserver les sessions actives pendant (Heures)",
      "activeSessionRetentionDescription": "Combien de temps conserver les données de session en mémoire rapide.",
      "networkRestartFailed": "Échec du redémarrage de l'application. Veuillez redémarrer manuellement.",
      "networkRestartNotice": "Les modifications des paramètres réseau du serveur HTTP sont appliquées après le redémarrage de l'application.",
      "placeholders": {
        "scheduledTaskMinimumInterval": "0 = désactivé",
        "maxScheduledTaskGroups": "ex. 10",
        "maxFileUploadSize": "ex: 50",
        "workspaceCapacity": "ex: 10",
        "searchIndexFrequency": "ex: 5",
        "webActionTimeout": "ex: 30",
        "mcpServerStartupTimeout": "ex: 60",
        "mcpToolTimeout": "0 (désactivé)",
        "activeSessionRetention": "ex: 24",
        "httpServerPort": "ex: 3030"
      },
      "description": "Contrôlez l'exécution de l'application, les tâches en arrière-plan, les limites d'automatisation et le comportement réseau.",
      "restartRequired": "Redémarrage requis après l'enregistrement",
      "networkRestartPending": "Vous avez modifié les paramètres réseau. Enregistrez les changements puis redémarrez l'application pour les appliquer."
    },
    "about": {
      "title": "À propos",
      "version": "Version",
      "updateAvailable": "v{{version}} disponible",
      "upToDate": "À jour",
      "checkFailed": "Échec de la vérification",
      "installing": "Installation…",
      "downloading": "Téléchargement {{pct}}%",
      "installUpdate": "Installer la mise à jour",
      "checkForUpdates": "Vérifier les mises à jour"
    },
    "dangerZone": {
      "title": "⚠️ Zone de danger",
      "description": "Ces actions suppriment définitivement les données locales. Vérifiez bien la portée avant de continuer."
    },
    "factoryReset": {
      "title": "Réinitialisation d'usine",
      "description": "Ceci effectuera une réinitialisation d'usine complète. Cela supprime TOUTES les données.",
      "button": "Réinitialiser toutes les données & paramètres",
      "confirmTitle": "Confirmation de réinitialisation d'usine",
      "confirmDescription": "Ceci supprimera définitivement TOUTES les données, y compris les sessions, les assistants, les serveurs MCP et les scénarios. Êtes-vous sûr ?",
      "typeReset": "Tapez RESET pour activer la réinitialisation d'usine.",
      "typeResetPlaceholder": "Tapez RESET",
      "confirmButton": "Tout réinitialiser",
      "resetting": "Réinitialisation...",
      "success": "Réinitialisation d'usine terminée. Un redémarrage est nécessaire pour appliquer pleinement les changements.",
      "error": "Échec de la réinitialisation d'usine. Voir les journaux pour plus de détails."
    },
    "dataReset": {
      "title": "Données & Réinitialisation",
      "description": "Ceci supprimera définitivement toutes les sessions locales, leurs messages et les stockages de fichiers de l'espace de travail.",
      "clearAll": "Effacer toutes les sessions & l'espace de travail",
      "confirmTitle": "Supprimer toutes les sessions, messages & l'espace de travail",
      "confirmDescription": "Ceci supprimera définitivement toutes les sessions locales, leurs messages et les stockages de fichiers de l'espace de travail. Cette action ne peut pas être annulée. Êtes-vous sûr de vouloir continuer ?",
      "deleting": "Suppression...",
      "success": "Toutes les sessions ont été supprimées. Redémarrage recommandé.",
      "error": "Échec de l'effacement des sessions."
    },
    "skills": {
      "modalTitle": "Compétences disponibles ({{count}})",
      "noSkills": "Aucune compétence trouvée.",
      "title": "Gestion des compétences",
      "saveFirst": "Veuillez d'abord enregistrer l'assistant pour gérer les compétences.",
      "fetchFailed": "Échec de la récupération des compétences",
      "importing": "Importation des compétences...",
      "importSuccess_one": "{{count}} compétence importée",
      "importSuccess_other": "{{count}} compétences importées",
      "importSuccessWithOverwrite_one": "{{count}} compétence importée ({{overwrittenCount}} écrasée)",
      "importSuccessWithOverwrite_other": "{{count}} compétences importées ({{overwrittenCount}} écrasées)",
      "importFailed": "Échec de l'importation des compétences",
      "overrideSuccess": "Compétence remplacée avec succès",
      "overrideFailed": "Échec du remplacement de la compétence",
      "revertSuccess": "Compétence rétablie à la version globale",
      "revertFailed": "Échec du rétablissement de la compétence",
      "resetSuccess": "Compétences de l'assistant réinitialisées avec succès",
      "resetFailed": "Échec de la réinitialisation des compétences",
      "deleteUserSkill": "Supprimer {{name}}",
      "userSkillDeleted": "Compétence utilisateur supprimée.",
      "userSkillsReset": "Compétences utilisateur réinitialisées.",
      "dragDropDesc": "Glissez-déposez un fichier zip ou un dossier pour remplacer les compétences.",
      "resetTooltip": "Supprimer toutes les compétences spécifiques à l'assistant",
      "reset": "Réinitialiser le remplacement",
      "dropHere": "Déposer pour importer des compétences",
      "sourceAssistant": "Assistant",
      "sourceGlobal": "Global",
      "override": "Remplacer pour cet assistant",
      "revert": "Revenir au global",
      "resetTitle": "Réinitialiser le remplacement des compétences ?",
      "resetConfirm": "Ceci supprimera toutes les compétences spécifiques à l'assistant et rétablira les valeurs par défaut globales. Cette action ne peut pas être annulée.",
      "importSuccess": "Compétences importées avec succès"
    },
    "dev": {
      "devOnly": "DEV UNIQUEMENT",
      "testerTitle": "Testeur sampleText / compact",
      "provider": "Fournisseur",
      "noKey": " (aucune clé)",
      "promptLabel": "Prompt (pour sampleText)",
      "promptPlaceholder": "Saisissez un prompt de test...",
      "compactUses": "compact() utilise {{count}} messages d'exemple :",
      "running": "Exécution…",
      "runSampleText": "Exécuter sampleText()",
      "runCompact": "Exécuter compact()",
      "error": "ERREUR",
      "ok": "OK",
      "model": "modèle : {{model}}",
      "tokensInfo": "jetons : {{promptTokens}} entrée + {{completionTokens}} sortie = {{totalTokens}} total",
      "emptyResponse": "(réponse vide)"
    },
    "pendingChanges": "{{count}} sections modifiées",
    "discardChanges": "Ignorer",
    "saveChanges": "Enregistrer les modifications",
    "discardTitle": "Ignorer les modifications non enregistrées ?",
    "discardDescription": "Cela rétablira toutes les modifications en attente sur cette page à leur dernier état enregistré.",
    "leaveTitle": "Quitter sans enregistrer ?",
    "leaveDescription": "Vous avez des modifications non enregistrées. Enregistrez-les avant de partir, ou ignorez-les puis quittez cette page.",
    "discardAndLeave": "Ignorer et quitter",
    "saveAndLeave": "Enregistrer et quitter",
    "contextStrategyLabel": "Stratégie de gestion du contexte",
    "contextStrategy": {
      "window": "Fenêtre glissante",
      "compact": "Compact",
      "windowDescription": "Conserve les N messages les plus récents. Simple et prévisible.",
      "compactDescription": "Résume les anciens tours et conserve une fenêtre récente. Mieux pour les longues sessions."
    }
  },
  "mcpServer": {
    "title": "Extensions",
    "pageSubtitle": "Gérez vos extensions et outils IA",
    "addServer": "Ajouter une extension",
    "recommended": "Extensions recommandées",
    "installed": "Installées",
    "installExtension": "Installer l'extension {{name}}",
    "loading": "Chargement des extensions...",
    "noServers": "Aucune extension installée. Ajoutez-en une ou choisissez une extension recommandée ci-dessus.",
    "updating": "Mise à jour...",
    "unnamed": "Serveur sans nom",
    "noDescription": "Aucune description",
    "transport": "Transport",
    "toolsAvailable_one": "{{count}} outil disponible",
    "toolsAvailable_other": "{{count}} outils disponibles",
    "toolCountUnknown": "Nombre d'outils inconnu (pas encore vérifié)",
    "active": "Actif",
    "toggleActive": "Basculer l'état actif pour {{name}}",
    "edit": "Modifier",
    "editServer": "Modifier {{name}}",
    "delete": "Supprimer",
    "deleteServer": "Supprimer {{name}}",
    "loadMore": "Charger plus",
    "loadingMore": "Chargement...",
    "verifying": "Vérification...",
    "verified": "Vérifié",
    "verifiedWithCount": "{{count}} outils vérifiés",
    "verificationFailed": "Échec de la connexion",
    "deleteDialog": {
      "title": "Supprimer l'extension",
      "description": "Êtes-vous sûr de vouloir supprimer \"{{name}}\" ? Cette action ne peut pas être annulée.",
      "cancel": "Annuler",
      "confirm": "Supprimer"
    },
    "dialog": {
      "titleNew": "Ajouter une extension",
      "titleEdit": "Modifier l'extension : {{name}}",
      "validationError": "Veuillez remplir tous les champs obligatoires",
      "reservedNameError": "\"{{name}}\" est un nom de service intégré réservé. Choisissez un nom différent.",
      "nameLabel": "Nom",
      "namePlaceholder": "ex: filesystem, github, sequential-thinking",
      "nameDesc": "Identifiant unique pour cette extension",
      "descLabel": "Description",
      "descPlaceholder": "Description facultative pour cette extension",
      "transportLabel": "Type de transport",
      "transportStdio": "stdio (Processus local)",
      "transportHttp": "HTTP (Serveur distant)",
      "commandLabel": "Commande",
      "commandPlaceholder": "ex: npx, node, python",
      "commandDesc": "Commande exécutable pour démarrer l'extension",
      "argsLabel": "Arguments",
      "argsPlaceholder": "ex: -y @modelcontextprotocol/server-filesystem /tmp",
      "argsDesc": "Arguments de commande séparés par des espaces. Les espaces multiples seront normalisés lors de l'enregistrement.",
      "envVarsLabel": "Variables d'environnement",
      "addEnvVar": "Ajouter une variable",
      "requiredConfig": "Configuration requise",
      "noCustomEnv": "Aucune variable d'environnement personnalisée configurée.",
      "customVarsLabel": "Variables personnalisées",
      "envVarKeyPlaceholder": "Clé (ex: API_KEY)",
      "envVarValuePlaceholder": "Valeur",
      "envVarDesc": "Variables d'environnement passées au processus (ex: Clés API).",
      "urlLabel": "URL",
      "urlPlaceholder": "https://api.example.com/mcp",
      "urlDesc": "URL complète vers le point de terminaison de l'extension distante",
      "apiKeyLabel": "Clé API / Token",
      "apiKeyOptional": "(Facultatif)",
      "apiKeyPlaceholder": "Jeton secret",
      "apiKeyDesc": "Ajoute automatiquement l'en-tête 'Authorization: Bearer <token>'.",
      "advancedSettings": "Paramètres avancés",
      "customHeadersLabel": "En-têtes personnalisés",
      "addHeader": "Ajouter un en-tête",
      "noCustomHeaders": "Aucun en-tête personnalisé configuré.",
      "headerKeyPlaceholder": "Clé (ex: User-Agent)",
      "headerValuePlaceholder": "Valeur",
      "removeHeader": "Supprimer l'en-tête {{key}}",
      "removeUnnamedHeader": "Supprimer l'en-tête sans nom",
      "removeEnvVar": "Supprimer la variable d'environnement {{key}}",
      "removeUnnamedEnvVar": "Supprimer la variable d'environnement sans nom",
      "sseLabel": "Activer les Server-Sent Events (SSE)",
      "sseDesc": "Laissez activé pour les réponses en streaming. Désactivez pour le HTTP sans état.",
      "cancel": "Annuler",
      "save": "Enregistrer",
      "saving": "Enregistrement..."
    },
    "toasts": {
      "saved": "Extension enregistrée avec succès",
      "saveFailed": "Échec de l'enregistrement de l'extension : {{error}}",
      "deleted": "Extension supprimée avec succès",
      "deleteFailed": "Échec de la suppression de l'extension : {{error}}",
      "toggled": "Extension {{status}}",
      "toggleFailed": "Échec du basculement de l'extension : {{error}}",
      "activated": "activée",
      "deactivated": "désactivée"
    },
    "toolsModal": {
      "description": "Noms et descriptions des outils tels que renvoyés par le serveur MCP.",
      "connecting": "Connexion au serveur…",
      "failedToLoad": "Échec du chargement des outils",
      "noTools": "Aucun outil renvoyé.",
      "toolListAria": "Liste des outils",
      "inputSchema": "Schéma d'entrée",
      "toolsCount_one": "({{count}} outil)",
      "toolsCount_other": "({{count}} outils)"
    }
  },
  "playbook": {
    "title": "Scénarios",
    "description": "Parcourez et exécutez des flux de travail automatisés",
    "searchPlaceholder": "Rechercher des scénarios...",
    "loading": "Chargement des scénarios...",
    "list": {
      "refreshAria": "Actualiser les scénarios",
      "refreshTooltip": "Actualiser les scénarios"
    },
    "emptyState": {
      "title": "Démarrer un scénario",
      "description": "Un scénario est un enregistrement de requêtes complexes que l'agent a exécutées avec succès.",
      "step1": "Vous pouvez en créer un en disant à l'agent \"Crée un scénario\".",
      "step2": "L'utilisation du scénario créé vous permet de répéter des tâches complexes sans avoir à ressaisir des invites complexes."
    },
    "card": {
      "unknownAssistant": "Inconnu",
      "steps_one": "{{count}} Étape",
      "steps_other": "{{count}} Étapes",
      "start": "Démarrer",
      "deleteTooltip": "Supprimer le scénario",
      "created": "Créé le {{date}}",
      "bookmark": "Signet"
    },
    "deleteDialog": {
      "title": "Supprimer le scénario",
      "description": "Êtes-vous sûr de vouloir supprimer \"{{goal}}\" ? Cette action ne peut pas être annulée.",
      "cancel": "Annuler",
      "confirm": "Supprimer"
    },
    "sort": {
      "display": "Affichage",
      "sortBy": "Trier par",
      "dateCreated": "Date de création",
      "assistant": "Assistant",
      "order": "Ordre",
      "newestFirst": "Plus récent en premier (Desc)",
      "oldestFirst": "Plus ancien en premier (Asc)",
      "grouping": "Groupement",
      "none": "Aucun",
      "byTime": "Par temps",
      "byAssistant": "Par assistant",
      "bookmarksFirst": "Signets en premier"
    },
    "group": {
      "ariaLabel": "{{title}} scénarios",
      "today": "Aujourd'hui",
      "yesterday": "Hier",
      "thisWeek": "Cette semaine",
      "lastMonth": "Le mois dernier",
      "older": "Plus ancien",
      "unknownAssistant": "Assistant inconnu"
    },
    "toasts": {
      "loadFailed": "Échec du chargement des scénarios",
      "bookmarkFailed": "Échec de la mise à jour du signet",
      "deleted": "Scénario supprimé",
      "deleteFailed": "Échec de la suppression du scénario"
    }
  },
  "agent": {
    "messages": {
      "loadingOlder": "Chargement des anciens messages...",
      "scrollToLoadOlder": "Faites défiler vers le haut pour charger les anciens messages"
    },
    "draft": {
      "send": "Envoyer le message",
      "attachFiles": "Joindre des fichiers",
      "attachedFiles": "Fichiers joints",
      "removeWorkspaceOverride": "Supprimer la substitution de l'espace de travail",
      "removeFile": "Supprimer {{name}}",
      "dropFilesHint": "Déposez les fichiers ici...",
      "unsupportedFile": "Fichier non supporté !",
      "uploading": "Téléchargement...",
      "placeholder": "Message {{name}}...",
      "failedToRegisterDroppedFiles": "Échec de l'enregistrement des fichiers déposés",
      "dropFilesInChatInput": "Déposez les fichiers dans la saisie de chat pour les joindre.",
      "failedToProcessFile": "Échec du traitement : {{file}}",
      "noAssistantSpecified": "Aucun assistant spécifié",
      "failedToLoadAssistant": "Échec du chargement de l'assistant",
      "failedToAttach": "Échec de la jointure : {{file}}",
      "creatingSession": "Création de la session...",
      "failedToStartSession": "Échec du démarrage de la session",
      "newSession": "Nouvelle session",
      "workspaceOverrideActive": "Substitution de l'espace de travail active",
      "workspaceOverrideDescription": "L'agent utilisera ce répertoire comme espace de travail principal pour cette session.",
      "filesWillBeListedAfterStart": "Les fichiers seront listés après le début de la session",
      "basicTools": "Outils de base",
      "basicToolsDescription": "Comprend des capacités de base comme la lecture de fichiers, la gestion des tâches et l'exécution de code. Toujours prêt à vous aider !",
      "addTools": "+ Ajouter des outils",
      "addMoreCapabilities": "Ajoutez plus de capacités dans les paramètres",
      "localContext": "Contexte local"
    },
    "header": {
      "copySuccess": "Conversation copiée dans le presse-papiers",
      "copyError": "Échec de la copie de la conversation",
      "copyAria": "Copier la conversation au format JSON",
      "copyTooltip": "Copier la conversation au format JSON",
      "toggleWorkspaceAria": "Basculer le panneau des fichiers de l'espace de travail",
      "toggleWorkspaceTooltip": "Basculer le panneau des fichiers de l'espace de travail",
      "togglePlanningAria": "Basculer le panneau de planification IA",
      "togglePlanningTooltip": "Basculer le panneau de planification IA",
      "defaultAssistant": "Agent",
      "untitledSession": "Session sans titre",
      "sessionLabel": "Session",
      "renameAria": "Renommer la session",
      "renameInputAria": "Modifier le titre de la session",
      "renameSaveAria": "Enregistrer le titre de la session",
      "renameCancelAria": "Annuler la modification du titre de la session",
      "renameSuccess": "Titre de la session mis à jour",
      "renameError": "Échec de la mise à jour du titre de la session",
      "renameEmptyError": "Le titre de la session ne peut pas être vide"
    },
    "workspace": {
      "loadError": "Échec du chargement du répertoire",
      "importFileError": "Échec de l'importation du fichier",
      "setOverrideSuccess": "Remplacement de l'espace de travail défini avec succès",
      "setOverrideError": "Échec de la définition du remplacement : {{error}}",
      "cancelOverrideSuccess": "Remplacement de l'espace de travail annulé",
      "cancelOverrideError": "Échec de l'annulation du remplacement : {{error}}",
      "openExplorerError": "Échec de l'ouverture de l'explorateur : {{error}}",
      "openTerminalError": "Échec de l'ouverture du terminal : {{error}}",
      "selectDirectoryTitle": "Sélectionner le répertoire de l'espace de travail",
      "openFolderDialogError": "Échec de l'ouverture de la boîte de dialogue de dossier : {{error}}",
      "selectFilesTitle": "Sélectionner les fichiers à télécharger",
      "selectFilesError": "Échec de la sélection des fichiers : {{error}}",
      "fileOpened": "Fichier ouvert",
      "fileOpenedDescription": "Ouverture de {{name}} avec l'application système par défaut",
      "fileOpenError": "Échec de l'ouverture du fichier",
      "title": "Fichiers de l'espace de travail",
      "openInExplorer": "Ouvrir dans l'explorateur",
      "openInExplorerAria": "Ouvrir dans l'explorateur",
      "openInTerminal": "Ouvrir dans le terminal",
      "openInTerminalAria": "Ouvrir dans le terminal",
      "refresh": "Actualiser",
      "refreshAria": "Actualiser les fichiers de l'espace de travail",
      "overridePlaceholder": "Aucun remplacement d'espace de travail (cliquez sur Parcourir pour sélectionner)",
      "overrideAria": "Chemin de remplacement de l'espace de travail",
      "browse": "Parcourir...",
      "setting": "Paramétrage...",
      "set": "Définir",
      "canceling": "Annulation...",
      "cancel": "Annuler",
      "usingCustom": "Utilisation de l'espace de travail personnalisé",
      "loading": "Chargement...",
      "noFilesFound": "Aucun fichier trouvé",
      "uploadAria": "Télécharger des fichiers vers l'espace de travail",
      "uploading": "Téléchargement...",
      "dropFiles": "Déposez les fichiers ici ou cliquez pour télécharger",
      "dropFolderHint": "Déposez un dossier ici pour le définir comme espace de travail",
      "dropDirToastError": "Déposez les répertoires dans la zone centrale pour définir le remplacement de l'espace de travail.",
      "dropMixedFoldersError": "Déposez des fichiers pour les importer, ou un seul dossier pour définir le remplacement de l'espace de travail."
    },
    "statusBar": {
      "retryError": "Échec de la nouvelle tentative du message",
      "resumeError": "Échec de la reprise de la session",
      "loadingTools": "Chargement des outils...",
      "toolsError": "Erreur d'outils",
      "toolsCount": "{{totalCount}}({{mcpCount}}) disponibles • intégrés {{builtinCount}}",
      "statusCompacting": "Compression du contexte de conversation en arrière-plan...",
      "statusAwaitingCompact": "Attente de la fin de la compression du contexte...",
      "statusError": "Une erreur est survenue : {{error}}",
      "statusIdle": "Prêt pour l'entrée. Tapez un message pour commencer.",
      "statusBusy": "Traitement de votre demande... L'agent réfléchit et utilise des outils.",
      "statusPaused": "Flux de travail en pause. Cliquez sur Continuer pour reprendre le traitement.",
      "statusWorkflowError": "Le flux de travail a rencontré une erreur.",
      "statusUnknown": "Statut : {{status}}",
      "retry": "Réessayer",
      "retrying": "Nouvelle tentative...",
      "continue": "Continuer",
      "resuming": "Reprise...",
      "agentModeOnTitle": "Mode Agent ACTIVÉ : Force l'utilisation d'outils pour les tâches autonomes",
      "agentModeOffTitle": "Mode Agent DÉSACTIVÉ : Interaction standard",
      "agentMode": "Mode Agent",
      "chatMode": "Mode Chat",
      "toolsLabel": "Outils :",
      "viewToolsTitle": "Cliquez pour voir les outils disponibles"
    },
    "attachment": {
      "sessionError": "Impossible de joindre le fichier : session non disponible.",
      "validationError": "Échec de la validation des fichiers déposés. Veuillez réessayer.",
      "processingFileError": "Erreur lors du traitement du fichier \"{{filePath}}\" : {{error}}",
      "processingBatchError": "Erreur lors du traitement des fichiers : {{error}}"
    },
    "input": {
      "placeholderDropValid": "Déposez les fichiers pris en charge ici...",
      "placeholderDropInvalid": "Type de fichier non pris en charge !",
      "placeholderUploading": "Téléchargement...",
      "placeholderBusy": "Agent occupé. Le message sera mis en file d'attente...",
      "placeholderDefault": "Interrogez l'agent ou déposez des fichiers... (@ pour les références)",
      "ariaLabel": "Entrée du chat",
      "cancelAriaLabel": "Annuler la requête",
      "cancellingTooltip": "Annulation...",
      "cancelTooltip": "Annuler",
      "resumeAriaLabel": "Reprendre le workflow",
      "resumeTooltip": "Reprendre",
      "sendAriaLabel": "Envoyer le message",
      "sendTooltip": "Envoyer"
    },
    "toolGroup": {
      "header_one": "Exécutions d'outils ({{count}} appel)",
      "header_other": "Exécutions d'outils ({{count}} appels)",
      "hiddenCalls_one": "{{count}} ancien appel masqué",
      "hiddenCalls_other": "{{count}} anciens appels masqués",
      "showLess": "Voir moins",
      "showAllWithCount_one": "Tout afficher ({{count}} appel)",
      "showAllWithCount_other": "Tout afficher ({{count}} appels)"
    },
    "toolDetails": {
      "toggleAriaLabel": "Afficher ou masquer les détails de {{toolName}}",
      "parameters": "Paramètres",
      "errorDetails": "Détails de l'erreur",
      "result": "Résultat",
      "executing": "Exécution de l'outil..."
    },
    "compactDivider": {
      "label": "Contexte compressé ci-dessus",
      "ariaLabel": "Contexte compressé à ce point"
    },
    "modelPicker": {
      "provider": "Fournisseur",
      "model": "Modèle",
      "loading": "Chargement...",
      "refreshModels": "Actualiser les modèles",
      "refreshRequiresApiKey": "Ajoutez une clé API pour activer l’actualisation des modèles"
    },
    "toolsModal": {
      "title": "Outils disponibles",
      "subtitleWithCounts": "Outils intégrés : {{builtinCount}} • Outils MCP : {{mcpCount}}",
      "subtitleDefault": "Liste des outils disponibles pour cette session d'agent.",
      "loading": "Chargement des outils...",
      "errorTitle": "Erreur lors du chargement des outils",
      "empty": "Aucun outil disponible pour cette session d'agent.",
      "ariaLabel": "Liste des outils disponibles",
      "badgeBuiltin": "intégré",
      "badgeMcp": "mcp",
      "viewSchema": "Voir le schéma d'entrée"
    },
    "planning": {
      "title": "Planification IA",
      "currentGoal": "Objectif actuel",
      "noGoal": "Aucun objectif actif",
      "tasks": "Tâches",
      "noTasks": "Aucune tâche",
      "priorityHigh": "Haute",
      "priorityMedium": "Moyenne",
      "priorityLow": "Basse",
      "scratchpad": "Scratchpad",
      "noScratchpad": "Aucune note dans le scratchpad",
      "untitledNote": "Note sans titre",
      "moreTasks": "tâches supplémentaires",
      "updated": "mis à jour"
    },
    "bubble": {
      "notification": "Notification",
      "channel": "CANAL",
      "assistant": "ASSISTANT",
      "youQueued": "Vous (en file d’attente)",
      "you": "Vous",
      "filesAttached_one": "1 fichier joint",
      "filesAttached_other": "{{count}} fichiers joints",
      "attachedFilesAria": "Fichiers joints",
      "lines_one": "1 ligne",
      "lines_other": "{{count}} lignes",
      "noContent": "Aucun contenu",
      "thinkingProcess": "Processus de réflexion",
      "thinkingProcessWithTime": "Processus de réflexion {{time}}",
      "thinking": "Réflexion..."
    },
    "start": {
      "heroTitle": "Que voulez-vous faire aujourd'hui ?",
      "heroSubtitle": "Sélectionnez un assistant pour démarrer une nouvelle session autonome.",
      "builtinAssistants": "Assistants intégrés",
      "myAssistants": "Mes assistants",
      "assistantsLoadFailed": "Échec du chargement des assistants.",
      "noAssistantsAvailable": "Aucun assistant disponible pour le moment.",
      "createAssistant": "Créer un assistant",
      "manageAssistants": "+ Gérer les assistants",
      "playbookNotFound": "Scénario introuvable",
      "assistantNotFound": "Assistant introuvable",
      "startingPlaybook": "Démarrage du scénario : {{goal}}",
      "failedToStartPlaybookSession": "Échec du démarrage de la session du scénario",
      "startingSession": "Démarrage de la session..."
    },
    "chat": {
      "loadingSession": "Chargement de la session...",
      "playbookStartedAutomatically": "Scénario démarré automatiquement",
      "failedToStartPlaybookWorkflow": "Échec du démarrage du workflow du scénario",
      "sessionContextUnavailable": "Le contexte de session est indisponible.",
      "sessionNotFoundOrFailed": "Session introuvable ou chargement impossible."
    }
  },
  "scheduledTasks": {
    "title": "Tâches planifiées",
    "subtitle": "Tâches basées sur Cron qui déclenchent automatiquement des flux de travail d'agent",
    "newTask": "Nouvelle tâche",
    "noTasks": "Aucune tâche planifiée pour le moment",
    "createFirst": "Créez votre première tâche",
    "disabled": "désactivée",
    "nextRun": "Prochaine exécution : {{time}}",
    "nextRunNone": "—",
    "editTask": "Modifier la tâche",
    "deleteTask": "Supprimer la tâche",
    "editTaskAria": "Modifier la tâche : {{name}}",
    "deleteTaskAria": "Supprimer la tâche : {{name}}",
    "modal": {
      "titleNew": "Nouvelle tâche planifiée",
      "titleEdit": "Modifier la tâche planifiée",
      "nameLabel": "Nom de la tâche",
      "namePlaceholder": "Résumé de la réunion quotidienne",
      "assistantLabel": "Assistant",
      "assistantPlaceholder": "Sélectionnez un assistant…",
      "scheduleLabel": "Planification",
      "workspaceLabel": "Espace de travail",
      "workspaceOptional": "Remplacement de l'espace de travail facultatif",
      "workspaceHint": "Parcourez ou faites glisser un dossier ici pour exécuter cette tâche dans un espace de travail spécifique.",
      "workspaceSelected": "Remplacement de l'espace de travail sélectionné",
      "workspaceBrowse": "Parcourir",
      "workspaceBrowseTitle": "Sélectionner l'espace de travail de la tâche planifiée",
      "workspaceBrowseError": "Échec de l'ouverture du sélecteur de dossier",
      "workspaceDropHint": "Déposez un dossier ici pour l'utiliser comme espace de travail de la tâche.",
      "workspaceDropFolderError": "Déposez un dossier ici, pas des fichiers individuels.",
      "workspaceRegisterFailed": "Échec de l'enregistrement des chemins des dossiers déposés",
      "workspaceClearAria": "Effacer le remplacement de l'espace de travail",
      "messageLabel": "Message",
      "messageHint": "Utilisez @playbook:, @skill: ou @file: pour l'autocomplétion",
      "workspaceAutocompleteHint": "La surcharge d'espace de travail active l'autocomplétion de @skill: et @file:.",
      "messagePlaceholder": "Tapez un message… utilisez @playbook:, @skill: ou @file: pour l'autocomplétion",
      "cancel": "Annuler",
      "saveChanges": "Enregistrer les modifications",
      "createTask": "Créer la tâche",
      "saving": "Enregistrement…"
    },
    "schedule": {
      "repeat": "Répéter",
      "every": "Tous les",
      "on": "Le",
      "onDay": "Le jour",
      "at": "À",
      "hour": "Heure",
      "minute": "Minute",
      "modes": {
        "minutes": "Toutes les N minutes",
        "hours": "Toutes les N heures",
        "daily": "Quotidien",
        "weekly": "Hebdomadaire",
        "monthly": "Mensuel"
      },
      "units": {
        "minutes": "minutes",
        "hours": "heures"
      },
      "summary": "Planification : ",
      "describe": {
        "minutes_one": "Toutes les {{count}} minute",
        "minutes_other": "Toutes les {{count}} minutes",
        "hours_one": "Toutes les {{count}} heure",
        "hours_other": "Toutes les {{count}} heures",
        "daily": "Tous les jours à {{time}}",
        "weekly": "Tous les {{day}} à {{time}}",
        "monthly": "Tous les mois le jour {{day}} à {{time}}"
      },
      "days": {
        "0": "Dimanche",
        "1": "Lundi",
        "2": "Mardi",
        "3": "Mercredi",
        "4": "Jeudi",
        "5": "Vendredi",
        "6": "Samedi"
      }
    }
  },
  "mentions": {
    "skillSourceWorkspace": "Espace de travail",
    "skillSourceAssistant": "Assistant",
    "skillSourceUser": "Utilisateur",
    "skillSourceSystem": "Système",
    "skillSourceGlobal": "Global"
  },
  "errorBubble": {
    "title": "Erreur",
    "unknownError": "Une erreur inconnue est survenue.",
    "retrying": "Nouvelle tentative...",
    "tryAgain": "Réessayer"
  },
  "knowledge": {
    "untitledEntry": "Entrée de connaissance sans titre",
    "detailTitle": "Détail de la connaissance",
    "detailDescription": "Inspectez l'entrée sélectionnée, ses preuves et son graphe local.",
    "close": "Fermer",
    "delete": "Supprimer",
    "tabs": {
      "overview": "Vue d'ensemble",
      "graph": "Graphe"
    },
    "metadataTitle": "Métadonnées",
    "fields": {
      "createdAt": "Créé",
      "primaryEntities": "Entités principales",
      "relationships": "Relations"
    },
    "entitiesTitle": "Entités",
    "noEntities": "Aucune entité liée à cette entrée.",
    "primaryEntity": "Principale",
    "relationshipListTitle": "Relations",
    "noRelationships": "Aucune relation liée à cette entrée.",
    "loadListFailed": "Échec du chargement des entrées de connaissance globale.",
    "loadDetailFailed": "Échec du chargement des détails de la connaissance.",
    "loadMoreFailed": "Échec du chargement d'autres entrées de connaissance.",
    "deleteSuccess": "Entrée de connaissance supprimée.",
    "deleteSuccessDescription": "{{entities}} entités orphelines et {{relationships}} relations orphelines ont été supprimées.",
    "deleteFailed": "Échec de la suppression de l'entrée de connaissance.",
    "pageTitle": "Connaissance globale",
    "pageSubtitle": "Recherchez la mémoire partagée, inspectez les preuves et supprimez les connaissances obsolètes.",
    "refresh": "Actualiser",
    "browserTitle": "Navigateur de connaissances",
    "browserDescription": "Trouvez d'abord les fragments, puis inspectez leurs preuves et leur voisinage dans le graphe.",
    "searchPlaceholder": "Rechercher du contenu, des tags ou une source...",
    "assistantFilterPlaceholder": "Filtrer par assistant",
    "assistantFilterAll": "Tous les assistants",
    "emptyState": "Aucune entrée de connaissance ne correspond aux filtres actuels.",
    "loadMore": "Charger plus",
    "endOfResults": "Vous avez atteint la fin des résultats actuels.",
    "confirmDeleteTitle": "Supprimer l'entrée de connaissance",
    "confirmDelete": "Supprimer cette entrée de connaissance et nettoyer les données orphelines du graphe ?",
    "cancel": "Annuler",
    "graph": {
      "empty": "Aucune donnée de graphe liée à cette entrée de connaissance.",
      "primaryEntity": "Entité principale",
      "relatedEntity": "Entité liée"
    },
    "excerpt": "Extrait"
  }
}
