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

// French (Français) chunk 1/5. Translated from chunks/en-1.ts.
const fr1: TranslationMap = {
  'nav.home': 'Accueil',
  'nav.human': 'Humain',
  'nav.chat': 'Chat',
  'nav.connections': 'Connexions',
  'nav.memory': 'Intelligence',
  'nav.alerts': 'Alertes',
  'nav.rewards': 'Récompenses',
  'nav.settings': 'Paramètres',
  'common.cancel': 'Annuler',
  'common.save': 'Enregistrer',
  'common.confirm': 'Confirmer',
  'common.delete': 'Supprimer',
  'common.edit': 'Modifier',
  'common.create': 'Créer',
  'common.search': 'Rechercher',
  'common.loading': 'chargement…',
  'common.error': 'Erreur',
  'common.success': 'Succès',
  'common.back': 'Retour',
  'common.next': 'Suivant',
  'common.finish': 'Terminer',
  'common.close': 'Fermer',
  'common.enabled': 'Activé',
  'common.disabled': 'Désactivé',
  'common.on': 'Activé',
  'common.off': 'Désactivé',
  'common.yes': 'Oui',
  'common.no': 'Non',
  'common.ok': 'Compris',
  'common.retry': 'Réessayer',
  'common.copy': 'Copier',
  'common.copied': 'Copié',
  'common.learnMore': 'En savoir plus',
  'common.seeAll': 'Voir',
  'common.dismiss': 'Ignorer',
  'common.clear': 'Effacer',
  'common.reset': 'Réinitialiser',
  'common.refresh': 'Actualiser',
  'common.export': 'Exporter',
  'common.import': 'Importer',
  'common.upload': 'Envoyer',
  'common.download': 'Télécharger',
  'common.add': 'Ajouter',
  'common.remove': 'Supprimer',
  'common.showMore': 'Afficher plus',
  'common.showLess': 'Afficher moins',
  'common.submit': 'Envoyer',
  'common.continue': 'Continuer',
  'settings.general': 'Général',
  'settings.featuresAndAI': 'Fonctionnalités & IA',
  'settings.billingAndRewards': 'Facturation & Récompenses',
  'settings.support': 'Assistance',
  'settings.advanced': 'Avancé',
  'settings.dangerZone': 'Zone de danger',
  'settings.account': 'Compte',
  'settings.accountDesc': 'Phrase de récupération, équipe, connexions et confidentialité',
  'settings.notifications': 'Notifications',
  'settings.notificationsDesc': 'Ne pas déranger et contrôles de notifications par compte',
  'settings.features': 'Fonctionnalités',
  'settings.featuresDesc': "Surveillance de l'écran, messagerie et outils",
  'settings.aiModels': 'IA & Modèles',
  'settings.aiModelsDesc':
    'Configuration des modèles IA locaux, téléchargements et fournisseur LLM',
  'settings.ai': 'Configuration IA',
  'settings.aiDesc': 'Fournisseurs cloud, modèles Ollama locaux et routage par charge de travail',
  'settings.billingUsage': 'Facturation & Utilisation',
  'settings.billingUsageDesc': "Plan d'abonnement, crédits et méthodes de paiement",
  'settings.rewards': 'Récompenses',
  'settings.rewardsDesc': 'Parrainages, coupons et crédits gagnés',
  'settings.restartTour': 'Relancer la visite',
  'settings.restartTourDesc': 'Rejouer la présentation du produit depuis le début',
  'settings.about': 'À propos',
  'settings.aboutDesc': "Version de l'application et mises à jour logicielles",
  'settings.developerOptions': 'Avancé',
  'settings.developerOptionsDesc':
    'Configuration IA, canaux de messagerie, outils, diagnostics et panneaux de débogage',
  'settings.clearAppData': "Effacer les données de l'app",
  'settings.clearAppDataDesc':
    'Se déconnecter et supprimer définitivement toutes les données locales',
  'settings.logOut': 'Se déconnecter',
  'settings.logOutDesc': 'Se déconnecter de ton compte',
  'settings.language': 'Langue',
  'settings.languageDesc': "Langue d'affichage de l'interface",
  'settings.alerts': 'Alertes',
  'settings.alertsDesc': "Voir les alertes récentes et l'activité dans ta boîte de réception",
  'settings.account.recoveryPhrase': 'Phrase de récupération',
  'settings.account.recoveryPhraseDesc': 'Voir et sauvegarder ta phrase de récupération',
  'settings.account.team': 'Équipe',
  'settings.account.teamDesc': "Gérer les membres et les permissions de l'équipe",
  'settings.account.connections': 'Connexions',
  'settings.account.connectionsDesc': 'Gérer les comptes et services liés',
  'settings.account.privacy': 'Confidentialité',
  'settings.account.privacyDesc': 'Contrôler quelles données quittent ton ordinateur',
  'settings.notifications.doNotDisturb': 'Ne pas déranger',
  'settings.notifications.doNotDisturbDesc':
    'Mettre en pause toutes les notifications pendant une durée définie',
  'settings.notifications.channelControls': 'Contrôles par canal',
  'settings.notifications.channelControlsDesc':
    'Configurer les préférences de notifications pour chaque canal',
  'settings.features.screenAwareness': "Surveillance de l'écran",
  'settings.features.screenAwarenessDesc': "Permettre à l'assistant de voir ta fenêtre active",
  'settings.features.messaging': 'Messagerie',
  'settings.features.messagingDesc': "Paramètres d'intégration des canaux et de la messagerie",
  'settings.features.tools': 'Outils',
  'settings.features.toolsDesc': 'Gérer les outils et intégrations connectés',
  'settings.ai.localSetup': 'Configuration IA locale',
  'settings.ai.localSetupDesc': 'Télécharger et configurer les modèles IA locaux',
  'settings.ai.llmProvider': 'Fournisseur LLM',
  'settings.ai.llmProviderDesc': 'Choisir et configurer ton fournisseur IA',
  'clearData.title': "Effacer les données de l'app",
  'clearData.warning':
    'Cela va te déconnecter et supprimer définitivement les données locales, notamment :',
  'clearData.bulletSettings': "Paramètres de l'app et conversations",
  'clearData.bulletCache': "Toutes les données de cache d'intégration locales",
  'clearData.bulletWorkspace': "Données de l'espace de travail",
  'clearData.bulletOther': 'Toutes les autres données locales',
  'clearData.irreversible': 'Cette action est irréversible.',
  'clearData.clearing': 'Effacement des données…',
  'clearData.failed': "Échec de l'effacement des données et de la déconnexion. Réessaie.",
  'clearData.failedLogout': 'Échec de la déconnexion. Réessaie.',
  'clearData.failedPersist': "Échec de l'effacement de l'état persisté. Réessaie.",
  'welcome.title': 'Bienvenue sur OpenHuman',
  'welcome.subtitle':
    'Ton assistant IA personnel super-intelligent. Privé, simple et extrêmement puissant.',
  'welcome.connectPrompt': "Configurer l'URL RPC (Avancé)",
  'welcome.selectRuntime': 'Sélectionner un runtime',
  'welcome.urlPlaceholder': 'http://localhost:8089',
  'welcome.invalidUrl': 'Saisis une URL HTTP ou HTTPS valide',
  'welcome.connecting': 'Test en cours',
  'welcome.connect': 'Tester',
  'home.greeting': 'Bonjour',
  'home.greetingAfternoon': 'Bon après-midi',
  'home.greetingEvening': 'Bonsoir',
  'home.askAssistant': "Pose n'importe quelle question à ton assistant…",
  'home.statusOk':
    "Ton appareil est connecté. Garde l'app ouverte pour maintenir la connexion. Envoie un message à ton agent avec le bouton ci-dessous.",
  'home.statusBackendOnly':
    'Reconnexion au backend… ton agent sera de nouveau disponible dans quelques instants.',
  'home.statusCoreUnreachable':
    "Le processus local OpenHuman ne répond pas. Il a peut-être planté ou n'a pas démarré correctement.",
  'home.statusInternetOffline':
    "Ton appareil est hors ligne. Vérifie ta connexion ou redémarre l'app.",
  'home.restartCore': 'Redémarrer le core',
  'home.restartingCore': 'Redémarrage du core…',
  'home.themeToggle.toLight': 'Passer en mode clair',
  'home.themeToggle.toDark': 'Passer en mode sombre',
  'chat.newThread': 'Nouveau fil',
  'chat.typeMessage': 'Écris un message…',
  'chat.send': 'Envoyer le message',
  'chat.thinking': 'En train de réfléchir…',
  'chat.noMessages': "Aucun message pour l'instant",
  'chat.startConversation': 'Démarre une conversation',
  'chat.regenerate': 'Régénérer',
  'chat.copyResponse': 'Copier la réponse',
  'chat.citations': 'Citations',
  'chat.toolUsed': 'Outil utilisé',
  'scope.legacy': 'Hérité',
  'scope.user': 'Utilisateur',
  'scope.project': 'Projet',
  'skills.title': 'Connexions',
  'skills.search': 'Rechercher des connexions…',
  'skills.noResults': 'Aucune connexion trouvée',
  'skills.connect': 'Connecter',
  'skills.disconnect': 'Déconnecter',
  'skills.configure': 'Gérer',
  'skills.connected': 'Connecté',
  'skills.available': 'Disponible',
  'skills.addAccount': 'Ajouter un compte',
  'skills.channels': 'Canaux',
  'skills.integrations': 'Intégrations',
  'memory.title': 'Mémoire',
  'memory.search': 'Rechercher dans la mémoire…',
  'memory.noResults': 'Aucun souvenir trouvé',
  'memory.empty':
    "Aucun souvenir pour l'instant. Les souvenirs sont créés automatiquement au fil de tes interactions.",
  'memory.tab.memory': 'Mémoire',
  'memory.tab.subconscious': 'Subconscient',
  'memory.tab.dreams': 'Rêves',
  'memory.tab.calls': 'Appels',
  'memory.tab.settings': 'Paramètres',
  'memory.analyzeNow': 'Analyser maintenant',
  'alerts.title': 'Alertes',
  'alerts.empty': "Aucune alerte pour l'instant",
  'alerts.markAllRead': 'Tout marquer comme lu',
  'alerts.unread': 'non lu',
  'rewards.title': 'Récompenses',
  'rewards.referrals': 'Parrainages',
  'rewards.coupons': 'Échanger',
  'rewards.credits': 'Crédits',
  'rewards.referralCode': 'Ton code de parrainage',
  'rewards.copyCode': 'Copier le code',
  'rewards.share': 'Partager',
  'onboarding.welcome': 'Salut. Je suis OpenHuman.',
  'onboarding.welcomeDesc':
    'Ton assistant IA super-intelligent qui tourne sur ton ordinateur. Privé, simple et extrêmement puissant.',
  'onboarding.context': 'Collecte de contexte',
  'onboarding.contextDesc': 'Connecte les outils et services que tu utilises tous les jours.',
  'onboarding.localAI': 'IA locale',
  'onboarding.localAIDesc': 'Configure un modèle IA local qui tourne sur ta machine.',
  'onboarding.chatProvider': 'Fournisseur de chat',
  'onboarding.chatProviderDesc': 'Choisis comment tu veux interagir avec ton assistant.',
  'onboarding.referral': 'Parrainage',
  'onboarding.referralDesc': 'Applique un code de parrainage si tu en as un.',
  'onboarding.finish': 'Terminer la configuration',
  'onboarding.finishDesc': 'Tout est prêt ! Commence à utiliser OpenHuman.',
  'onboarding.skip': 'Passer',
  'onboarding.getStarted': 'Démarrer',
  'onboarding.runtimeChoice.title': 'Comment veux-tu utiliser OpenHuman ?',
  'onboarding.runtimeChoice.subtitle':
    'Choisis la configuration qui te convient. Tu pourras la modifier plus tard dans les Paramètres.',
  'onboarding.runtimeChoice.cloud.title': 'Simple',
  'onboarding.runtimeChoice.cloud.tagline': 'Laisse OpenHuman tout gérer pour toi.',
  'onboarding.runtimeChoice.cloud.f1': 'Sécurité intégrée',
  'onboarding.runtimeChoice.cloud.f2': 'Compression de tokens pour aller plus loin',
  'onboarding.runtimeChoice.cloud.f3': 'Un abonnement, tous les modèles inclus',
  'onboarding.runtimeChoice.cloud.f4': 'Aucune clé API à gérer',
  'onboarding.runtimeChoice.cloud.f5': 'Facile à configurer',
  'onboarding.runtimeChoice.custom.title': 'Personnalisé',
  'onboarding.runtimeChoice.custom.tagline':
    'Utilise tes propres clés. Contrôle total sur ce que tu utilises.',
  'onboarding.runtimeChoice.custom.f1': 'Tu auras besoin de clés API pour presque tout',
  'onboarding.runtimeChoice.custom.f2': 'Réutilise les services que tu paies déjà',
  'onboarding.runtimeChoice.custom.f3': 'Peut être gratuit si tu fais tout tourner localement',
  'onboarding.runtimeChoice.custom.f4': "Plus de configuration, plus d'options",
  'onboarding.runtimeChoice.custom.f5': 'Idéal pour les utilisateurs avancés et les développeurs',
  'onboarding.runtimeChoice.cloud.creditHighlight': '$1 de crédit offert pour essayer',
  'onboarding.runtimeChoice.continueCloud': 'Continuer avec Simple',
  'onboarding.runtimeChoice.continueCustom': 'Continuer avec Personnalisé',
  'onboarding.runtimeChoice.recommended': 'Recommandé',
  'onboarding.apiKeys.title': 'Ajoutons tes clés API',
  'onboarding.apiKeys.subtitle':
    'Tu peux les coller maintenant ou passer et les ajouter plus tard dans Paramètres › IA. Les clés sont stockées sur cet appareil, chiffrées au repos.',
  'onboarding.apiKeys.openaiLabel': 'Clé API OpenAI',
  'onboarding.apiKeys.openaiPlaceholder': 'sk-...',
  'onboarding.apiKeys.anthropicLabel': 'Clé API Anthropic',
  'onboarding.apiKeys.anthropicPlaceholder': 'sk-ant-...',
  'onboarding.apiKeys.saveError': "Impossible d'enregistrer cette clé. Vérifie-la et réessaie.",
  'onboarding.apiKeys.skipForNow': "Passer pour l'instant",
  'onboarding.apiKeys.continue': 'Enregistrer et continuer',
  'onboarding.apiKeys.saving': 'Enregistrement…',
  'onboarding.custom.stepperInference': 'Inférence',
  'onboarding.custom.stepperVoice': 'Voix',
  'onboarding.custom.stepperOAuth': 'OAuth',
  'onboarding.custom.stepperSearch': 'Recherche',
  'onboarding.custom.stepperMemory': 'Mémoire',
  'onboarding.custom.stepCounter': 'Étape {n} sur {total}',
  'onboarding.custom.defaultTitle': 'Par défaut',
  'onboarding.custom.defaultSubtitle': 'Laisse OpenHuman gérer ça pour toi.',
  'onboarding.custom.configureTitle': 'Configurer',
  'onboarding.custom.configureSubtitle': "Je choisis ce que j'utilise.",
  'onboarding.custom.progressAriaLabel': 'Progression de la configuration',
  'onboarding.custom.continue': 'Continuer',
  'onboarding.custom.back': 'Retour',
  'onboarding.custom.finish': 'Terminer la configuration',
  'onboarding.custom.configureLater':
    "Tu peux finaliser cette configuration après l'initialisation. On t'amènera sur la page Paramètres correspondante une fois que tu auras terminé.",
  'onboarding.custom.openSettings': 'Ouvrir dans les Paramètres',
  'onboarding.custom.inference.title': 'Inférence (texte)',
  'onboarding.custom.inference.subtitle':
    'Quel modèle de langage doit répondre à tes questions et faire tourner tes agents ?',
  'onboarding.custom.inference.defaultDesc':
    'OpenHuman dirige chaque charge de travail vers un modèle par défaut adapté. Aucune clé, aucune configuration.',
  'onboarding.custom.inference.configureDesc':
    "Utilise ta propre clé OpenAI ou Anthropic. On l'utilise pour toutes les tâches textuelles.",
  'onboarding.custom.voice.title': 'Voix',
  'onboarding.custom.voice.subtitle': 'Reconnaissance vocale et synthèse pour le mode voix.',
  'onboarding.custom.voice.defaultDesc':
    'OpenHuman inclut un STT/TTS géré qui fonctionne directement. Rien à configurer.',
  'onboarding.custom.voice.configureDesc':
    'Utilise ton propre ElevenLabs / OpenAI Whisper / etc. À configurer dans Paramètres › Voix.',
  'onboarding.custom.oauth.title': 'Connexions (OAuth)',
  'onboarding.custom.oauth.subtitle':
    'Gmail, Slack, Notion et autres services connectés nécessitant OAuth.',
  'onboarding.custom.oauth.defaultDesc':
    'OpenHuman gère un espace de travail Composio. Un clic pour connecter chaque service plus tard.',
  'onboarding.custom.oauth.configureDesc':
    'Utilise ton propre compte Composio / clé API. À configurer dans Paramètres › Connexions.',
  'onboarding.custom.search.title': 'Recherche web',
  'onboarding.custom.search.subtitle':
    'Comment OpenHuman effectue des recherches sur le web en ton nom.',
  'onboarding.custom.search.defaultDesc':
    'OpenHuman utilise un backend de recherche géré. Aucune clé nécessaire.',
  'onboarding.custom.search.configureDesc':
    'Utilise ta propre clé de fournisseur de recherche (Tavily, Brave, etc.). À configurer dans Paramètres › Outils.',
  'onboarding.custom.memory.title': 'Mémoire',
  'onboarding.custom.memory.subtitle':
    'Comment OpenHuman mémorise ton contexte, tes préférences et tes conversations passées.',
  'onboarding.custom.memory.defaultDesc':
    'OpenHuman gère automatiquement le stockage et la récupération en mémoire. Rien à configurer.',
  'onboarding.custom.memory.configureDesc':
    'Inspecte, exporte ou efface la mémoire toi-même. À configurer dans Paramètres › Mémoire.',
  'accounts.addAccount': 'Ajouter un compte',
  'accounts.manageAccounts': 'Gérer les comptes',
  'accounts.noAccounts': 'Aucun compte connecté',
  'accounts.connectAccount': 'Connecte un compte pour démarrer',
  'accounts.agent': 'Agent',
  'accounts.respondQueue': 'File de réponses',
  'accounts.disconnect': 'Déconnecter',
  'accounts.disconnectConfirm': 'Es-tu sûr de vouloir déconnecter ce compte ?',
  'accounts.searchAccounts': 'Rechercher des comptes…',
  'channels.title': 'Canaux',
  'channels.configure': 'Configurer le canal',
  'channels.setup': 'Configuration',
  'channels.noChannels': 'Aucun canal configuré',
  'channels.addChannel': 'Ajouter un canal',
  'channels.status.connected': 'Connecté',
  'channels.status.disconnected': 'Déconnecté',
  'channels.status.error': 'Erreur',
  'channels.status.configuring': 'Configuration en cours',
  'channels.defaultMessaging': 'Canal de messagerie par défaut',
  'webhooks.title': 'Webhooks',
  'webhooks.create': 'Créer un webhook',
  'webhooks.noWebhooks': 'Aucun webhook configuré',
  'webhooks.url': 'URL',
  'webhooks.secret': 'Secret',
  'webhooks.events': 'Événements',
  'webhooks.archiveDirectory': "Répertoire d'archive",
  'webhooks.todayFile': 'Fichier du jour',
  'invites.title': 'Invitations',
  'invites.create': 'Créer une invitation',
  'invites.noInvites': 'Aucune invitation en attente',
  'invites.code': "Code d'invitation",
  'invites.copyLink': 'Copier le lien',
  'devOptions.title': 'Avancé',
  'devOptions.diagnostics': 'Diagnostics',
  'devOptions.diagnosticsDesc': 'Santé du système, journaux et métriques de performance',
  'devOptions.debugPanels': 'Panneaux de débogage',
  'devOptions.debugPanelsDesc':
    "Indicateurs de fonctionnalités, inspection de l'état et outils de débogage",
  'devOptions.webhooks': 'Webhooks',
  'devOptions.webhooksDesc': 'Configurer et tester les intégrations webhook',
  'devOptions.memoryInspection': 'Inspection de la mémoire',
  'devOptions.memoryInspectionDesc': 'Parcourir, interroger et gérer les entrées de mémoire',
  'voice.pushToTalk': 'Appuyer pour parler',
  'voice.recording': 'Enregistrement…',
  'voice.processing': 'Traitement…',
  'voice.languageHint': 'Langue',
  'misc.rehydrating': 'Chargement de tes données…',
  'misc.checkingServices': 'Vérification des services…',
  'misc.serviceUnavailable': 'Service indisponible',
  'misc.somethingWentWrong': "Une erreur s'est produite",
  'misc.tryAgainLater': 'Réessaie plus tard.',
  'misc.restartApp': "Redémarrer l'app",
  'misc.updateAvailable': 'Mise à jour disponible',
  'misc.updateNow': 'Mettre à jour maintenant',
  'misc.updateLater': 'Plus tard',
  'misc.downloading': 'Téléchargement…',
  'misc.installing': 'Installation…',
  'misc.beta':
    "OpenHuman est en bêta anticipée. N'hésite pas à partager tes retours ou signaler des bugs — chaque rapport nous aide à avancer plus vite.",
  'misc.betaFeedback': 'Envoyer un retour',
  'mnemonic.title': 'Phrase de récupération',
  'mnemonic.warning': "Note ces mots dans l'ordre et conserve-les en lieu sûr.",
  'mnemonic.copyWarning':
    'Ne partage jamais ta phrase de récupération. Toute personne disposant de ces mots peut accéder à ton compte.',
  'mnemonic.copied': 'Phrase de récupération copiée dans le presse-papiers',
  'mnemonic.reveal': 'Afficher la phrase',
  'mnemonic.hidden': 'La phrase de récupération est masquée',
  'privacy.title': 'Confidentialité & Sécurité',
  'privacy.description': 'Rapport de transparence sur les données envoyées aux services externes.',
  'privacy.empty': 'Aucun transfert de données externe détecté.',
  'privacy.whatLeavesComputer': 'Ce qui quitte ton ordinateur',
  'privacy.loading': 'Chargement des détails de confidentialité…',
  'privacy.loadError':
    "Impossible de charger la liste de confidentialité en direct. Les contrôles d'analyse ci-dessous fonctionnent toujours.",
  'privacy.noCapabilities':
    'Aucune fonctionnalité ne divulgue actuellement de mouvement de données.',
  'privacy.sentTo': 'Envoyé à',
  'privacy.leavesDevice': "Quitte l'appareil",
  'privacy.staysLocal': 'Reste local',
  'privacy.anonymizedAnalytics': 'Analyses anonymisées',
  'privacy.shareAnonymizedData': "Partager les données d'utilisation anonymisées",
  'privacy.shareAnonymizedDataDesc':
    "Aide à améliorer OpenHuman en partageant des rapports de plantage et des analyses d'utilisation anonymes. Toutes les données sont entièrement anonymisées — aucune donnée personnelle, message, clé de portefeuille ou information de session n'est jamais collectée.",
  'privacy.meetingFollowUps': 'Suivis de réunion',
  'privacy.autoHandoffMeet':
    "Transmettre automatiquement les transcriptions Google Meet à l'orchestrateur",
  'privacy.autoHandoffMeetDesc':
    "Quand un appel Google Meet se termine, l'orchestrateur d'OpenHuman peut lire la transcription et effectuer des actions comme rédiger des messages, planifier des suivis ou publier des résumés sur ton espace Slack connecté. Désactivé par défaut.",
  'privacy.analyticsDisclaimer':
    "Toutes les analyses et rapports de bugs sont entièrement anonymisés. Quand activé, on collecte uniquement les informations de plantage, le type d'appareil et l'emplacement des erreurs. On n'accède jamais à tes messages, données de session, clés de portefeuille, clés API ou toute information personnelle identifiable. Tu peux modifier ce paramètre à tout moment.",
  'settings.about.version': 'Version',
  'settings.about.updateAvailable': 'disponible',
  'settings.about.softwareUpdates': 'Mises à jour logicielles',
  'settings.about.lastChecked': 'Dernière vérification',
  'settings.about.checking': 'Vérification…',
  'settings.about.checkForUpdates': 'Rechercher des mises à jour',
  'settings.about.releases': 'Versions',
  'settings.about.releasesDesc':
    'Parcourir les notes de version et les builds précédentes sur GitHub.',
  'settings.about.openReleases': 'Ouvrir les versions GitHub',
  'settings.ai.overview': "Vue d'ensemble du système IA",
  'migration.title': 'Importer depuis un autre assistant',
  'migration.description':
    "Migrez la mémoire et les notes d'un autre assistant local vers cet espace de travail. Commencez par un Aperçu pour voir précisément ce qui changera, puis cliquez sur Appliquer pour copier les données. Votre mémoire actuelle est sauvegardée au préalable.",
  'migration.vendorLabel': 'Source',
  'migration.sourceLabel': "Chemin de l'espace de travail source (facultatif)",
  'migration.sourcePlaceholder':
    'Laisser vide pour détection automatique (p. ex. ~/.openclaw/workspace)',
  'migration.sourceHint':
    "Utilise l'emplacement par défaut du fournisseur si vide. Indiquez un chemin explicite si vous avez déplacé l'espace de travail.",
  'migration.previewAction': 'Aperçu',
  'migration.previewRunning': 'Aperçu en cours…',
  'migration.applyAction': "Appliquer l'import",
  'migration.applyRunning': 'Importation…',
  'migration.applyDisclaimer':
    'Appliquer est débloqué après un Aperçu réussi de la même source. La mémoire existante est sauvegardée avant tout import.',
  'migration.reportTitlePreview': "Aperçu — rien d'importé pour l'instant",
  'migration.reportTitleApplied': 'Importation terminée',
  'migration.report.source': 'Espace de travail source',
  'migration.report.target': 'Espace de travail cible',
  'migration.report.fromSqlite': 'Depuis SQLite (brain.db)',
  'migration.report.fromMarkdown': 'Depuis Markdown',
  'migration.report.imported': 'Importés',
  'migration.report.skippedUnchanged': 'Ignorés (inchangés)',
  'migration.report.renamedConflicts': 'Renommés en cas de conflit',
  'migration.report.warnings': 'Avertissements',
  'migration.report.previewHint':
    "Aucune donnée n'a encore été importée. Cliquez sur Appliquer l'import pour la copier.",
  'migration.report.appliedHint':
    'Les entrées importées sont maintenant dans votre mémoire. Relancez Aperçu pour comparer à nouveau.',
  'migration.hermesComingSoonPrefix': "L'importateur Hermes est sur la feuille de route — voir ",
  'migration.hermesComingSoonSuffix':
    " pour le contexte. Choisissez OpenClaw pour migrer aujourd'hui ; Hermes arrivera dans une prochaine itération.",
  'migration.hermesLinkText': '#1440',
  'migration.confirmImport.singular':
    "Importer {count} entrée dans l'espace de travail actuel ?\n\nSource : {source}\nCible : {target}\n\nLa mémoire existante sera sauvegardée avant l'import.",
  'migration.confirmImport.plural':
    "Importer {count} entrées dans l'espace de travail actuel ?\n\nSource : {source}\nCible : {target}\n\nLa mémoire existante sera sauvegardée avant l'import.",
  // Settings menu: Appearance + Mascot (#2225) — English stubs; native translations welcome
  'settings.appearance': 'Appearance',
  'settings.appearanceDesc': 'Pick light, dark, or match your system theme',
  'settings.mascot': 'Mascot',
  'settings.mascotDesc': 'Pick the mascot color used across the app',
};

export default fr1;
