import type { TranslationMap } from '../types';

// French (Français) chunk 2/5. Translated from chunks/en-2.ts.
const fr2: TranslationMap = {
  'settings.ai.configStatus': 'État de la configuration',
  'settings.ai.fallbackMode': 'Mode de secours',
  'settings.ai.loadedFromRuntime': 'Chargé depuis le runtime',
  'settings.ai.loadingDuration': 'Durée de chargement',
  'settings.ai.localRuntime': 'Runtime de modèle local',
  'settings.ai.openManager': 'Ouvrir le gestionnaire',
  'settings.ai.retryDownload': 'Relancer le téléchargement',
  'settings.ai.state': 'État',
  'settings.ai.targetModel': 'Modèle cible',
  'settings.ai.download': 'Télécharger',
  'settings.ai.localModelUnavailable': 'État du modèle local indisponible.',
  'settings.ai.soulConfig': 'Configuration de la persona SOUL',
  'settings.ai.refreshing': 'Actualisation…',
  'settings.ai.refreshSoul': 'Actualiser SOUL',
  'settings.ai.loadingSoul': 'Chargement de la configuration SOUL…',
  'settings.ai.identity': 'Identité',
  'settings.ai.personality': 'Personnalité',
  'settings.ai.safetyRules': 'Règles de sécurité',
  'settings.ai.source': 'Source',
  'settings.ai.loaded': 'Chargé',
  'settings.ai.toolsConfig': 'Configuration TOOLS',
  'settings.ai.refreshTools': 'Actualiser TOOLS',
  'settings.ai.toolsAvailable': 'Outils disponibles',
  'settings.ai.tools': 'outils',
  'settings.ai.activeSkills': 'Compétences actives',
  'settings.ai.skills': 'compétences',
  'settings.ai.skillsOverview': "Vue d'ensemble des compétences",
  'settings.ai.refreshingAll': 'Tout actualiser…',
  'settings.ai.refreshAll': 'Actualiser toute la configuration IA',
  'settings.notifications.suppressAll': 'Supprimer toutes les notifications',
  'settings.notifications.suppressAllDesc':
    "Bloquer toutes les notifications OS des apps intégrées, quel que soit l'état de mise au premier plan.",
  'settings.notifications.toggleDnd': 'Activer/désactiver Ne pas déranger',
  'settings.notifications.categories': 'Catégories',
  'settings.notifications.categoryFooter':
    "Désactiver une catégorie empêche les nouvelles notifications de ce type d'apparaître dans le centre de notifications. Les notifications existantes restent jusqu'à ce qu'elles soient effacées.",
  'settings.billing.movedToWeb': 'La facturation est maintenant sur le web',
  'settings.billing.openDashboard': 'Ouvrir le tableau de bord de facturation',
  'settings.billing.movedToWebDesc':
    "Les changements d'abonnement, méthodes de paiement, crédits et factures sont désormais gérés sur TinyHumans en ligne.",
  'settings.billing.backToSettings': 'Retour aux paramètres',
  'settings.billing.openingBrowser': 'Ouverture du navigateur…',
  'settings.billing.browserNotOpen':
    "Si ton navigateur ne s'est pas ouvert, utilise le bouton ci-dessus.",
  'settings.billing.browserOpenFailed':
    "Le navigateur n'a pas pu s'ouvrir automatiquement. Utilise le bouton ci-dessus.",
  'settings.tools.chooseCapabilities':
    "Choisis les fonctionnalités qu'OpenHuman peut utiliser en ton nom.",
  'settings.tools.saveChanges': 'Enregistrer les modifications',
  'settings.tools.preferencesSaved': 'Préférences enregistrées',
  'settings.tools.saveFailed': "Échec de l'enregistrement des préférences. Réessaie.",
  'settings.screenAwareness.mode': 'Mode',
  'settings.screenAwareness.allExceptBlacklist': 'Tout sauf la liste noire',
  'settings.screenAwareness.whitelistOnly': 'Liste blanche uniquement',
  'settings.screenAwareness.screenMonitoring': "Surveillance de l'écran",
  'settings.screenAwareness.saveSettings': 'Enregistrer les paramètres',
  'settings.screenAwareness.session': 'Session',
  'settings.screenAwareness.status': 'État',
  'settings.screenAwareness.active': 'Actif',
  'settings.screenAwareness.stopped': 'Arrêté',
  'settings.screenAwareness.remaining': 'Restant',
  'settings.screenAwareness.startSession': 'Démarrer la session',
  'settings.screenAwareness.stopSession': 'Arrêter la session',
  'settings.screenAwareness.analyzeNow': 'Analyser maintenant',
  'settings.screenAwareness.macosOnly':
    "La capture d'écran et les contrôles d'autorisation de la surveillance de l'écran sont actuellement pris en charge sur macOS uniquement.",
  'connections.comingSoon': 'Bientôt disponible',
  'connections.setUp': 'Configurer',
  'connections.configured': 'Configuré',
  'connections.unavailable': 'Indisponible',
  'connections.checking': 'Vérification…',
  'connections.walletConfigured':
    'Les identités locales EVM, BTC, Solana et Tron sont configurées depuis ta phrase de récupération.',
  'connections.walletReady':
    'Configure les identités locales EVM, BTC, Solana et Tron depuis une seule phrase de récupération.',
  'connections.walletError':
    "Impossible de vérifier l'état du portefeuille. Appuie pour réessayer depuis le panneau de phrase de récupération.",
  'connections.walletChecking': "Vérification de l'état du portefeuille…",
  'connections.walletIdentities': 'Identités de portefeuille',
  'connections.walletDerived':
    'Dérivé localement depuis ta phrase de récupération et stocké comme métadonnées sécurisées uniquement.',
  'connections.privacySecurity': 'Confidentialité & Sécurité',
  'connections.privacySecurityDesc':
    "Toutes les données et informations d'identification sont stockées localement avec une politique de zéro rétention de données. Tes informations sont chiffrées et ne sont jamais partagées avec des tiers.",
  'channels.status.connecting': 'Connexion en cours',
  'channels.status.notConfigured': 'Non configuré',
  'channels.noActiveRoute': 'Aucune route active',
  'channels.activeRoute': 'Route active',
  'channels.loadingDefinitions': 'Chargement des définitions de canaux…',
  'channels.channelConnections': 'Connexions de canaux',
  'channels.configureAuthModes':
    "Configurer les modes d'authentification pour chaque canal de messagerie.",
  'channels.configNotAvailable': 'Configuration pour',
  'channels.channel': 'canal',
  'devOptions.coreModeNotSet': 'Mode core : non défini',
  'devOptions.coreModeNotSetDesc':
    "Le sélecteur de vérification au démarrage n'a pas encore été confirmé. Utilise Changer de mode dans le sélecteur pour choisir Local ou Cloud.",
  'devOptions.local': 'Local',
  'devOptions.embeddedCoreSidecar': 'Sidecar core intégré',
  'devOptions.sidecarSpawned':
    "Lancé en processus interne par le shell Tauri au démarrage de l'app.",
  'devOptions.cloud': 'Cloud',
  'devOptions.remoteCoreRpc': 'RPC core distant',
  'devOptions.token': 'Jeton',
  'devOptions.tokenNotSet': 'non défini — le RPC renverra 401',
  'devOptions.triggerSentryTest': 'Déclencher un test Sentry (staging)',
  'devOptions.triggerSentryTestDesc':
    'Envoie une erreur balisée pour vérifier le pipeline Sentry. Issue #1072 — à supprimer après vérification.',
  'devOptions.sendTestEvent': 'Envoyer un événement de test',
  'devOptions.sending': 'Envoi…',
  'devOptions.eventSent': 'Événement envoyé',
  'devOptions.failed': 'Échec',
  'devOptions.appLogs': "Journaux de l'app",
  'devOptions.appLogsDesc':
    'Ouvrir le dossier contenant les fichiers journaux quotidiens. Joins le fichier le plus récent quand tu signales un problème.',
  'devOptions.openLogsFolder': 'Ouvrir le dossier des journaux',
  'mnemonic.phraseSaved': 'Phrase de récupération enregistrée',
  'mnemonic.walletReady':
    'Les identités de portefeuille multi-chaîne sont prêtes. Retour aux paramètres…',
  'mnemonic.writeDownWords': 'Note ces',
  'mnemonic.wordsInOrder':
    "mots dans l'ordre et conserve-les en lieu sûr. Cette phrase sécurise ta clé de chiffrement locale et tes identités de portefeuille EVM, BTC, Solana et Tron.",
  'mnemonic.cannotRecover':
    'Cette phrase ne peut jamais être récupérée si elle est perdue et doit rester entièrement locale sur ton appareil.',
  'mnemonic.copyToClipboard': 'Copier dans le presse-papiers',
  'mnemonic.alreadyHavePhrase': "J'ai déjà une phrase de récupération",
  'mnemonic.consentSaved':
    "J'ai sauvegardé cette phrase et j'accepte de l'utiliser pour la configuration du portefeuille local",
  'mnemonic.enterPhraseToRestore':
    "Saisis ta phrase de récupération ci-dessous pour restaurer tes identités de portefeuille locales, ou colle la phrase complète dans n'importe quel champ (12 mots pour les nouvelles sauvegardes ; les phrases de 24 mots des versions antérieures fonctionnent toujours).",
  'mnemonic.words': 'Mots',
  'mnemonic.validPhrase': 'Phrase de récupération valide',
  'mnemonic.generateNewPhrase': 'Générer une nouvelle phrase de récupération à la place',
  'mnemonic.securingData': 'Sécurisation de tes données…',
  'mnemonic.saveRecoveryPhrase': 'Enregistrer la phrase de récupération',
  'mnemonic.userNotLoaded': 'Utilisateur non chargé. Reconnecte-toi ou actualise la page.',
  'mnemonic.invalidPhrase': 'Phrase de récupération invalide. Vérifie tes mots et réessaie.',
  'mnemonic.somethingWentWrong': "Une erreur s'est produite. Réessaie.",
  'team.failedToCreate': "Échec de la création de l'équipe",
  'team.invalidInviteCode': "Code d'invitation invalide ou expiré",
  'team.failedToSwitch': "Échec du changement d'équipe",
  'team.failedToLeave': "Échec de la sortie de l'équipe",
  'team.role.owner': 'Propriétaire',
  'team.role.admin': 'Admin',
  'team.role.billingManager': 'Gestionnaire de facturation',
  'team.role.member': 'Membre',
  'team.active': 'Actif',
  'team.personalTeam': 'Équipe personnelle',
  'team.manageTeam': "Gérer l'équipe",
  'team.switching': 'Changement…',
  'team.switch': 'Changer',
  'team.leaving': 'Départ…',
  'team.leave': 'Quitter',
  'team.yourTeams': 'Tes équipes',
  'team.createNewTeam': 'Créer une nouvelle équipe',
  'team.teamName': "Nom de l'équipe",
  'team.creating': 'Création…',
  'team.joinExistingTeam': 'Rejoindre une équipe existante',
  'team.inviteCode': "Code d'invitation",
  'team.joining': 'Adhésion…',
  'team.join': 'Rejoindre',
  'team.leaveTeam': "Quitter l'équipe",
  'team.confirmLeave': 'Es-tu sûr de vouloir quitter',
  'team.leaveWarning':
    "Tu perdras l'accès à l'équipe et à toutes ses ressources. Tu auras besoin d'une nouvelle invitation pour la rejoindre.",
  'team.management': "Gestion de l'équipe",
  'team.notFound': 'Équipe introuvable',
  'team.accessDenied': 'Accès refusé',
  'team.members': 'Membres',
  'voice.title': 'Dictée vocale',
  'voice.settings': 'Paramètres vocaux',
  'voice.settingsDesc':
    'Maintiens le raccourci pour dicter et insérer du texte dans le champ actif.',
  'voice.hotkey': 'Raccourci',
  'voice.activationMode': "Mode d'activation",
  'voice.tapToToggle': 'Appuyer pour activer/désactiver',
  'voice.writingStyle': "Style d'écriture",
  'voice.verbatimTranscription': 'Transcription verbatim',
  'voice.naturalCleanup': 'Nettoyage naturel',
  'voice.autoStart': 'Démarrer le serveur vocal automatiquement avec le core',
  'voice.customDictionary': 'Dictionnaire personnalisé',
  'voice.customDictionaryDesc':
    'Ajoute des noms, termes techniques et mots du domaine pour améliorer la précision de la reconnaissance.',
  'voice.addWord': 'Ajouter un mot…',
  'voice.sttDisabled':
    "La dictée vocale est désactivée jusqu'à ce que le modèle STT local soit téléchargé et prêt.",
  'voice.openLocalAiModel': 'Ouvrir le modèle IA local',
  'voice.serverRestarted': 'Serveur vocal redémarré avec les nouveaux paramètres.',
  'voice.settingsSaved': 'Paramètres vocaux enregistrés.',
  'voice.serverStarted': 'Serveur vocal démarré.',
  'voice.serverStopped': 'Serveur vocal arrêté.',
  'voice.saveVoiceSettings': 'Enregistrer les paramètres vocaux',
  'voice.startVoiceServer': 'Démarrer le serveur vocal',
  'voice.stopVoiceServer': 'Arrêter le serveur vocal',
  'voice.debugTitle': 'Débogage vocal',
  'autocomplete.title': 'Autocomplétion',
  'autocomplete.settings': 'Paramètres',
  'autocomplete.acceptWithTab': 'Accepter avec Tab',
  'autocomplete.stylePreset': 'Préréglage de style',
  'autocomplete.style.balanced': 'Équilibré',
  'autocomplete.style.concise': 'Concis',
  'autocomplete.style.formal': 'Formel',
  'autocomplete.style.casual': 'Décontracté',
  'autocomplete.style.custom': 'Personnalisé',
  'autocomplete.disabledApps': "Apps désactivées (un identifiant d'app par ligne)",
  'autocomplete.saveSettings': 'Enregistrer les paramètres',
  'autocomplete.saving': 'Enregistrement…',
  'autocomplete.runtime': 'Runtime',
  'autocomplete.running': 'En cours',
  'autocomplete.start': 'Démarrer',
  'autocomplete.stop': 'Arrêter',
  'autocomplete.settingsSaved': "Paramètres d'autocomplétion enregistrés.",
  'autocomplete.started': 'Autocomplétion démarrée.',
  'autocomplete.didNotStart': "L'autocomplétion n'a pas démarré. Vérifie qu'elle est activée.",
  'autocomplete.stopped': 'Autocomplétion arrêtée.',
  'autocomplete.advancedSettings': 'Paramètres avancés',
  'autocomplete.debugTitle': "Débogage de l'autocomplétion",
  'chat.agentChat': "Chat avec l'agent",
  'chat.overrides': 'Remplacements',
  'chat.model': 'Modèle',
  'chat.temperature': 'Température',
  'chat.conversation': 'Conversation',
  'chat.startAgentConversation': "Démarre une conversation avec l'agent.",
  'chat.you': 'Toi',
  'chat.agent': 'Agent',
  'chat.askAgent': "Pose n'importe quelle question à l'agent…",
  'chat.sendMessage': 'Envoyer le message',
  'composio.triageTitle': "Déclencheurs d'intégration",
  'composio.triageDesc':
    "Quand activé, chaque déclencheur Composio entrant passe par une étape de triage IA qui classe l'événement et peut lancer des actions automatisées — un tour LLM local par déclencheur. Désactive globalement ou par intégration si tu préfères une revue manuelle. Si la variable d'environnement",
  'composio.disableAllTriage': 'Désactiver le triage IA pour tous les déclencheurs',
  'composio.triggersStillRecorded':
    "Les déclencheurs sont toujours enregistrés dans l'historique — aucun tour LLM n'est exécuté.",
  'composio.disableSpecificIntegrations':
    'Désactiver le triage IA pour des intégrations spécifiques',
  'composio.settingsSaved': 'Paramètres enregistrés',
  'composio.saveFailed': "Échec de l'enregistrement. Réessaie.",
  'cron.title': 'Tâches cron',
  'cron.scheduledJobs': 'Tâches planifiées',
  'cron.manageCronJobs': 'Gérer les tâches cron depuis le planificateur core.',
  'cron.refreshCronJobs': 'Actualiser les tâches cron',
  'localModel.modelStatus': 'État du modèle',
  'localModel.downloadModels': 'Télécharger les modèles',
  'localModel.usage': 'Utilisation',
  'localModel.usageDesc':
    'Choisis quels sous-systèmes tournent sur le modèle local. Tout ce qui est désactivé utilise le cloud.',
  'localModel.enableRuntime': 'Activer le runtime IA local',
  'localModel.enableRuntimeDesc':
    "Interrupteur principal. Désactivé par défaut — Ollama reste en veille. Quand activé, le résumeur d'arbre, l'intelligence d'écran et l'autocomplétion utilisent toujours le modèle local.",
  'localModel.advancedSettings': 'Paramètres avancés',
  'localModel.debugTitle': 'Débogage du modèle local',
  'localModel.ollamaServer.helperText': 'Exemple : http://192.168.1.5:11434',
  'localModel.ollamaServer.label': 'URL du serveur Ollama',
  'localModel.ollamaServer.modelCount': 'modèles',
  'localModel.ollamaServer.placeholder': 'http://localhost:11434',
  'localModel.ollamaServer.reachable': 'Accessible',
  'localModel.ollamaServer.resetButton': 'Réinitialiser par défaut',
  'localModel.ollamaServer.saveButton': 'Enregistrer',
  'localModel.ollamaServer.testButton': 'Tester la connexion',
  'localModel.ollamaServer.unreachable': 'Inaccessible',
  'localModel.ollamaServer.validationError': 'Doit être une URL http:// ou https:// valide',
  'screenAwareness.debugTitle': "Débogage de la surveillance de l'écran",
  'memory.debugTitle': 'Débogage de la mémoire',
  'webhooks.debugTitle': 'Débogage des webhooks',
  'notifications.routingTitle': 'Routage des notifications',
  'common.reload': 'Recharger',
  'common.skip': 'Passer',
  'common.disable': 'Désactiver',
  'common.enable': 'Activer',
  'chat.safetyTimeout':
    "Aucune réponse de l'agent après 2 minutes. Réessaie ou vérifie ta connexion.",
  'chat.filter.all': 'Tous',
  'chat.filter.work': 'Travail',
  'chat.filter.briefing': 'Briefing',
  'chat.filter.notification': 'Notification',
  'chat.filter.workers': 'Workers',
  'chat.selectThread': 'Sélectionne un fil',
  'chat.threads': 'Fils',
  'chat.noThreads': "Aucun fil pour l'instant",
  'chat.noLabelThreads': 'Aucun fil « {label} »',
  'chat.noWorkerThreads': "Aucun fil worker pour l'instant",
  'chat.deleteThread': 'Supprimer le fil',
  'chat.deleteThreadConfirm': 'Es-tu sûr de vouloir supprimer « {title} » ?',
  'chat.untitledThread': 'Fil sans titre',
  'chat.hideSidebar': 'Masquer la barre latérale',
  'chat.showSidebar': 'Afficher la barre latérale',
  'chat.newThreadShortcut': 'Nouveau fil (/new)',
  'chat.new': 'Nouveau',
  'chat.failedToLoadMessages': 'Échec du chargement des messages',
  'chat.thinkingIteration': 'Réflexion… ({n})',
  'chat.thinkingDots': 'Réflexion…',
  'chat.approachingLimit': "Limite d'utilisation proche",
  'chat.approachingLimitMsg': 'Tu as utilisé {pct}% de ton quota disponible.',
  'chat.upgrade': 'Passer à la version supérieure',
  'chat.weeklyLimitHit': 'Tu as atteint ta limite hebdomadaire.',
  'chat.resets': 'Réinitialisation',
  'chat.topUpToContinue': 'Recharge pour continuer.',
  'chat.budgetComplete':
    'Ton budget inclus est épuisé. Ajoute des crédits ou passe à la version supérieure pour continuer.',
  'chat.topUp': 'Recharger',
  'chat.cycle': 'Cycle',
  'chat.cycleSpent': 'Dépensé ce cycle',
  'chat.cycleRemaining': 'Restant',
  'chat.left': 'restant',
  'chat.setup': 'Configurer',
  'chat.switchToText': 'Passer au texte',
  'chat.transcribing': 'Transcription…',
  'chat.stopAndSend': 'Arrêter et envoyer',
  'chat.startTalking': 'Commence à parler',
  'chat.playingVoiceReply': 'Lecture de la réponse vocale',
  'chat.voiceHint': 'Utilise le micro pour parler',
  'chat.micUnavailable': 'Microphone indisponible',
  'chat.turn': 'tour',
  'chat.turns': 'tours',
  'chat.openWorkerThread': 'Ouvrir le fil worker',
  'memory.searchAria': 'Rechercher dans la mémoire',
  'memory.searchPlaceholder': 'Rechercher des entrées de mémoire…',
  'memory.sourceFilter.all': 'Toutes les sources',
  'memory.sourceFilter.email': 'E-mail',
  'memory.sourceFilter.calendar': 'Calendrier',
  'memory.sourceFilter.telegram': 'Telegram',
  'memory.sourceFilter.aiInsight': 'Insight IA',
  'memory.sourceFilter.system': 'Système',
  'memory.sourceFilter.trading': 'Trading',
  'memory.sourceFilter.security': 'Sécurité',
  'memory.ingestionActivity': "Activité d'ingestion",
  'memory.events': 'événements',
  'memory.event': 'événement',
  'memory.overTheLast': 'au cours des derniers',
  'memory.months': 'mois',
  'memory.peak': 'Pic',
  'memory.perDay': '/jour',
  'memory.less': 'Moins',
  'memory.more': 'Plus',
  'memory.on': 'le',
  'memory.loading': 'Chargement de la mémoire',
  'memory.fetching': 'Récupération de tes entrées de mémoire…',
  'memory.analyzing': 'Analyse de la mémoire',
  'memory.analyzingHint': 'Traitement de tes souvenirs pour en extraire des insights…',
  'memory.noMatches': 'Aucun résultat trouvé',
  'memory.noMatchesHint': 'Essaie de modifier tes termes de recherche ou tes filtres.',
  'memory.allCaughtUp': 'Tout est à jour',
  'memory.allCaughtUpHint': 'Aucune nouvelle entrée de mémoire à traiter.',
  'memory.noAnalysis': "Pas encore d'analyse",
  'memory.noAnalysisHint': 'Lance une analyse pour découvrir des tendances dans tes souvenirs.',
  'memory.emptyHint': 'Commence à interagir pour créer tes premiers souvenirs.',
  'mic.unavailable': "Le microphone n'est pas disponible",
  'mic.permissionDenied': 'Permission microphone refusée',
  'mic.failedToStartRecorder': "Échec du démarrage de l'enregistreur",
  'mic.transcribing': 'Transcription…',
  'mic.tapToSend': 'Appuie pour envoyer',
  'mic.waitingForAgent': "En attente de l'agent…",
  'mic.tapAndSpeak': 'Appuie et parle',
  'mic.stopRecording': "Arrêter l'enregistrement et envoyer",
  'mic.startRecording': "Démarrer l'enregistrement",
  'token.usageLimitReached': "Limite d'utilisation atteinte",
  'token.approachingLimit': 'Limite proche',
  'token.planClickForDetails': 'plan - clique pour les détails',
  'token.sessionTokens': 'Entrée : {in} | Sortie : {out} | Tours : {turns}',
  'token.limit': 'Limite atteinte',
  'catalog.noCapabilityBinding': 'Aucune liaison de fonctionnalité',
  'catalog.downloadFailed': 'Échec du téléchargement',
  'catalog.active': 'Actif',
  'catalog.installed': 'Installé',
  'catalog.notDownloaded': 'Non téléchargé',
  'catalog.inUse': "En cours d'utilisation",
  'catalog.use': 'Utiliser',
  'catalog.deleteModel': 'Supprimer le modèle',
  'catalog.download': 'Télécharger',
  'navigator.recent': 'Récent',
  'navigator.today': "Aujourd'hui",
  'navigator.thisWeek': 'Cette semaine',
  'navigator.sources': 'Sources',
  'navigator.email': 'E-mail',
  'navigator.slack': 'Slack',
  'navigator.chat': 'Chat',
  'navigator.documents': 'Documents',
  'navigator.people': 'Personnes',
  'navigator.topics': 'Sujets',
  'dreams.description':
    'Les rêves sont des réflexions générées par IA qui synthétisent des tendances de ta mémoire.',
  'dreams.comingSoon': 'Bientôt disponible',
  'assignment.memoryLlm': 'LLM de mémoire',
  'assignment.memoryLlmAria': 'Sélection du LLM de mémoire',
  'assignment.embedder': 'Intégrateur',
  'assignment.loaded': 'Chargé',
  'assignment.notDownloaded': 'Non téléchargé',
  'assignment.usedForExtractSummarise': "Utilisé pour l'extraction et la synthèse",
  'insights.knownFacts': 'Faits connus',
  'insights.preferences': 'Préférences',
  'insights.relationships': 'Relations',
  'insights.skills': 'Compétences',
  'insights.opinions': 'Opinions',
  // Developer options menu items (#2225) — English stubs; native translations welcome
  'devOptions.menuAi': 'AI Configuration',
  'devOptions.menuAiDesc': 'Cloud providers, local Ollama models, and per-workload routing',
  'devOptions.menuScreenAware': 'Screen Awareness',
  'devOptions.menuScreenAwareDesc':
    'Screen capture permissions, monitoring policy, and session controls',
  'devOptions.menuMessaging': 'Messaging Channels',
  'devOptions.menuMessagingDesc':
    'Configure Telegram/Discord auth modes and default channel routing',
  'devOptions.menuTools': 'Tools',
  'devOptions.menuToolsDesc': 'Enable or disable capabilities OpenHuman can use on your behalf',
  'devOptions.menuAgentChat': 'Agent Chat',
  'devOptions.menuAgentChatDesc': 'Test agent conversation with model and temperature overrides',
  'devOptions.menuCronJobs': 'Cron Jobs',
  'devOptions.menuCronJobsDesc': 'View and configure scheduled jobs for runtime skills',
  'devOptions.menuLocalModelDebug': 'Local Model Debug',
  'devOptions.menuLocalModelDebugDesc':
    'Ollama config, asset downloads, model tests, and diagnostics',
  'devOptions.menuWebhooksDebug': 'Webhooks',
  'devOptions.menuWebhooksDebugDesc':
    'Inspect runtime webhook registrations and captured request logs',
  'devOptions.menuIntelligence': 'Intelligence',
  'devOptions.menuIntelligenceDesc': 'Memory workspace, subconscious engine, dreams, and settings',
  'devOptions.menuNotificationRouting': 'Notification Routing',
  'devOptions.menuNotificationRoutingDesc':
    'AI importance scoring and orchestrator escalation for integration alerts',
  'devOptions.menuComposeIOTriggers': 'ComposeIO Triggers',
  'devOptions.menuComposeIOTriggersDesc': 'View ComposeIO trigger history and archive',
  'devOptions.menuComposioRouting': 'Composio Routing (Direct Mode)',
  'devOptions.menuComposioRoutingDesc':
    'Bring your own Composio API key and route calls directly to backend.composio.dev',
  'devOptions.menuComposioTriggers': 'Integration Triggers',
  'devOptions.menuComposioTriggersDesc':
    'Configure AI triage settings for Composio integration triggers',
};

export default fr2;
