{
  "common": {
    "buttons": {
      "save": "Enregistrer",
      "cancel": "Annuler",
      "close": "Fermer",
      "delete": "Supprimer",
      "create": "Créer",
      "back": "Retour",
      "retry": "Réessayer",
      "download": "Télécharger",
      "confirm": "Confirmer",
      "apply": "Appliquer",
      "reset": "Réinitialiser",
      "add": "Ajouter",
      "edit": "Modifier",
      "copy": "Copier",
      "clear": "Effacer",
      "search": "Rechercher",
      "select": "Sélectionner",
      "grant": "Accorder",
      "start": "Démarrer",
      "stop": "Arrêter",
      "enable": "Activer",
      "disable": "Désactiver",
      "import": "Importer",
      "export": "Exporter",
      "refresh": "Actualiser",
      "loading": "Chargement...",
      "saveSettings": "Enregistrer les paramètres",
      "moreInfo": "En savoir plus",
      "downloading": "Téléchargement...",
      "minimize": "Réduire",
      "saving": "Enregistrement…",
      "saved": "Enregistré",
      "copied": "Copié",
      "learnMore": "En savoir plus"
    },
    "status": {
      "active": "Actif",
      "inactive": "Inactif",
      "running": "En cours",
      "stopped": "Arrêté",
      "enabled": "Activé",
      "disabled": "Désactivé",
      "granted": "Accordé",
      "notGranted": "Non accordé",
      "connected": "Connecté",
      "disconnected": "Déconnecté",
      "synced": "Synchronisé",
      "syncing": "Synchronisation",
      "pending": "En attente",
      "error": "Erreur"
    },
    "labels": {
      "name": "Nom",
      "type": "Type",
      "status": "Statut",
      "actions": "Actions",
      "description": "Description",
      "none": "Aucun",
      "default": "Par défaut",
      "custom": "Personnalisé",
      "optional": "Optionnel",
      "required": "Requis",
      "unknownProfile": "Inconnu",
      "mode": "Mode",
      "never": "Jamais"
    },
    "time": {
      "days": "jours",
      "hours": "heures",
      "minutes": "minutes",
      "seconds": "secondes",
      "remaining": "restants"
    },
    "aria": {
      "selectAll": "Tout sélectionner",
      "selectRow": "Sélectionner la ligne",
      "selectProfile": "Sélectionner le profil",
      "copy": "Copier dans le presse-papiers",
      "copied": "Copié",
      "showToken": "Afficher le jeton",
      "hideToken": "Masquer le jeton"
    },
    "keys": {
      "escape": "Échap"
    },
    "errors": {
      "unknown": "Une erreur inconnue est survenue"
    },
    "window": {
      "minimize": "Réduire",
      "maximize": "Agrandir",
      "restore": "Restaurer",
      "close": "Fermer la fenêtre"
    },
    "commandPalette": {
      "title": "Palette de commandes",
      "description": "Rechercher une commande à exécuter..."
    },
    "noResults": "Aucun résultat trouvé.",
    "srOnly": {
      "copy": "Copier",
      "copied": "Copié"
    },
    "placeholders": {
      "example": "p. ex. {{value}}"
    }
  },
  "settings": {
    "title": "Paramètres",
    "appearance": {
      "title": "Apparence",
      "theme": "Thème",
      "themeDescription": "Choisissez votre thème préféré ou suivez les paramètres du système. Les modifications de thème personnalisé ne sont appliquées qu'à l'enregistrement.",
      "themePreset": "Thème prédéfini",
      "customColors": "Couleurs personnalisées",
      "selectTheme": "Sélectionner un thème",
      "selectThemePreset": "Sélectionner un thème prédéfini",
      "yourOwn": "Le vôtre",
      "light": "Clair",
      "dark": "Sombre",
      "system": "Système"
    },
    "language": {
      "title": "Langue",
      "description": "Choisissez votre langue préférée pour l'interface de l'application.",
      "systemDefault": "Par défaut du système",
      "selectLanguage": "Sélectionner la langue",
      "interface": "Langue de l'interface"
    },
    "defaultBrowser": {
      "title": "Navigateur par défaut",
      "setAsDefault": "Définir comme navigateur par défaut",
      "alreadyDefault": "Déjà le navigateur par défaut",
      "description": "Lorsqu'il est défini par défaut, Donut Browser gérera les liens web et vous permettra de choisir quel profil utiliser.",
      "setSuccess": "Donut Browser est maintenant votre navigateur par défaut",
      "setFailed": "Impossible de définir le navigateur par défaut",
      "finishInSystemSettings": "Terminez dans les Paramètres Windows",
      "finishInSystemSettingsDescription": "Donut Browser est enregistré. Les Paramètres Windows sont ouverts : choisissez Donut Browser sous Navigateur web pour terminer."
    },
    "permissions": {
      "title": "Permissions système",
      "loading": "Chargement des permissions...",
      "description": "Ces permissions permettent aux navigateurs lancés depuis Donut Browser d'accéder aux ressources système. Chaque site web demandera toujours votre permission individuellement.",
      "microphone": "Microphone",
      "microphoneDescription": "Accès au microphone pour les applications du navigateur",
      "camera": "Caméra",
      "cameraDescription": "Accès à la caméra pour les applications du navigateur",
      "accessRequested": "Accès {{permission}} demandé"
    },
    "integrations": {
      "title": "Intégrations",
      "description": "Configurez l'API locale et MCP (Model Context Protocol) pour l'intégration avec des outils externes et des assistants IA.",
      "openSettings": "Ouvrir les paramètres d'intégration"
    },
    "encryption": {
      "title": "Chiffrement de synchronisation",
      "description": "Définissez un mot de passe pour activer la synchronisation chiffrée E2E. Si vous perdez ce mot de passe, les profils chiffrés ne pourront pas être récupérés.",
      "passwordSet": "Actif",
      "passwordSetDescription": "Le mot de passe de chiffrement E2E est défini",
      "noPassword": "Aucun mot de passe défini",
      "passwordPlaceholder": "Mot de passe (min. 8 caractères)",
      "confirmPlaceholder": "Confirmer le mot de passe",
      "setPassword": "Définir le mot de passe",
      "changePassword": "Changer le mot de passe",
      "removePassword": "Supprimer le mot de passe",
      "removed": "Mot de passe de chiffrement supprimé",
      "passwordSaved": "Mot de passe de chiffrement défini",
      "passwordMismatch": "Les mots de passe ne correspondent pas",
      "passwordTooShort": "Le mot de passe doit contenir au moins 8 caractères",
      "requiresProOrOwner": "Le chiffrement des profils est disponible pour les utilisateurs Pro et les propriétaires d'équipe.",
      "validatePassword": "Valider",
      "validateDialog": {
        "title": "Valider le mot de passe de chiffrement",
        "description": "Saisissez votre mot de passe de chiffrement pour vérifier qu'il correspond à celui enregistré sur cet appareil.",
        "submit": "Valider",
        "matchToast": "Le mot de passe est correct",
        "mismatchToast": "Le mot de passe ne correspond pas"
      }
    },
    "commercial": {
      "title": "Licence commerciale",
      "trialActive": "Essai: {{days}} jours, {{hours}} heures restantes",
      "trialActiveDescription": "L'utilisation commerciale est gratuite pendant l'essai. À l'expiration, toutes les fonctionnalités continuent de fonctionner — l'utilisation personnelle reste gratuite, seule l'utilisation commerciale nécessitera une licence.",
      "trialExpired": "Essai expiré",
      "trialExpiredDescription": "L'utilisation personnelle reste gratuite. L'utilisation commerciale nécessite une licence.",
      "subscriptionActive": "Abonné — formule {{plan}}",
      "subscriptionActiveDescription": "Votre abonnement Donut Browser est actif. L'usage commercial est licencié pendant toute la durée de votre formule."
    },
    "advanced": {
      "title": "Avancé",
      "clearCache": "Effacer tout le cache des versions",
      "clearCacheDescription": "Efface toutes les données de versions de navigateurs en cache et actualise toutes les versions depuis leurs sources. Cela forcera un nouveau téléchargement des informations de version pour tous les navigateurs.",
      "clearCacheFailed": "Échec de la suppression du cache",
      "copyLogs": "Copier les journaux",
      "openLogDir": "Ouvrir le dossier des journaux",
      "copyLogsSuccess": "Journaux copiés dans le presse-papiers",
      "copyLogsDescription": "Copie un lot expurgé des journaux récents (jusqu’à 5 Mo). Vérifiez-le avant de le partager, car l’expurgation ne peut pas identifier tous les types de données personnelles."
    },
    "disableAutoUpdates": "Désactiver les mises à jour automatiques de l'app",
    "disableAutoUpdatesDescription": "Empêche l'application de vérifier et d'installer automatiquement les mises à jour de Donut Browser. Les mises à jour des navigateurs ne sont pas affectées.",
    "keepDecryptedProfilesInRam": "Conserver les profils déchiffrés en RAM",
    "keepDecryptedProfilesInRamDescription": "Conserver en RAM la copie déchiffrée des profils protégés par mot de passe entre les lancements pour un démarrage plus rapide. La copie sur disque reste chiffrée dans tous les cas.",
    "privacy": {
      "consistencyWarning": "Bloquer en cas d'empreinte incohérente",
      "consistencyWarningDescription": "Empêche le navigateur de démarrer lorsque le fuseau horaire ou la langue d'un profil ne correspond pas à son nœud de sortie. Vous pourrez tout de même lancer.",
      "clearTraffic": "Effacer tout l'historique de trafic",
      "clearTrafficDescription": "Efface en toute sécurité les statistiques de trafic enregistrées pour chaque profil.",
      "clearTrafficSuccess": "Historique de trafic effacé",
      "vpnExtensionWarning": "Avertissement d'extension VPN",
      "vpnExtensionWarningDescription": "Avertir avant le lancement lorsqu'un profil contient une extension capable de rerouter le trafic du navigateur."
    }
  },
  "header": {
    "searchPlaceholder": "Rechercher des profils...",
    "clearSearch": "Effacer la recherche",
    "moreActions": "Plus d'actions",
    "createProfile": "Créer un nouveau profil",
    "menu": {
      "settings": "Paramètres",
      "proxies": "Proxys et VPNs",
      "groups": "Groupes",
      "syncService": "Compte",
      "integrations": "Intégrations",
      "importProfile": "Importer un profil",
      "extensions": "Extensions"
    },
    "newProfile": "Nouveau",
    "donutLogo": "Logo de Donut Browser",
    "scrollGroupsLeft": "Faire défiler les groupes vers la gauche",
    "scrollGroupsRight": "Faire défiler les groupes vers la droite"
  },
  "search": {
    "helpLabel": "Syntaxe de recherche",
    "helpTitle": "Syntaxe de recherche",
    "helpIntro": "Tapez des mots pour chercher dans les noms, les notes, les étiquettes et les ids. Ajoutez des champs pour affiner.",
    "fieldsTitle": "Champs",
    "operatorsTitle": "Opérateurs",
    "examplesTitle": "Exemples",
    "fields": {
      "name": "Nom du profil",
      "tag": "Étiquette",
      "note": "Note",
      "id": "Id du profil, à partir du début",
      "group": "Nom du groupe",
      "proxy": "Nom du proxy",
      "vpn": "Nom du VPN",
      "ext": "Nom du groupe d'extensions",
      "dns": "Liste de blocage DNS",
      "os": "Système d'exploitation",
      "browser": "Navigateur",
      "status": "En cours d'exécution ou non",
      "sync": "Mode de synchronisation",
      "email": "E-mail du propriétaire",
      "version": "Version du navigateur",
      "locked": "Protégé par mot de passe",
      "ephemeral": "Profil éphémère",
      "created": "Date de création",
      "launched": "Date du dernier lancement"
    },
    "operators": {
      "negate": "Exclut ce qui correspond",
      "quote": "Garde ensemble une valeur contenant des espaces",
      "or": "Correspond à l'un ou l'autre terme",
      "comma": "Raccourci pour l'une ou l'autre valeur",
      "exact": "Correspond à la valeur entière, pas à une partie",
      "none": "Rien de défini ici ; utilisez any pour l'inverse",
      "compare": "Compare les dates et les versions ; 7d, 3w et 6m comptent à rebours depuis maintenant"
    },
    "examples": {
      "a": "Profils en cours d'exécution dans un groupe",
      "b": "Profils sans étiquette qui ont un proxy",
      "c": "Non lancés depuis plus de 30 jours, en ignorant les archivés"
    }
  },
  "profiles": {
    "title": "Profils",
    "empty": "Aucun profil pour l'instant",
    "emptyDescription": "Créez votre premier profil de navigateur pour commencer.",
    "createFirst": "Créer un profil",
    "noResults": "Aucun profil trouvé",
    "noResultsDescription": "Aucun profil ne correspond à vos critères de recherche.",
    "table": {
      "name": "Nom",
      "none": "Aucun",
      "browser": "Navigateur",
      "status": "Statut",
      "actions": "Actions",
      "note": "Note",
      "group": "Groupe",
      "proxy": "Proxy / VPN",
      "lastLaunch": "Dernier lancement",
      "empty": "Aucun profil trouvé.",
      "ext": "EXT",
      "dns": "DNS",
      "dnsLevel": "Liste DNS : {{level}}",
      "extSearch": "Rechercher des groupes…",
      "extEmpty": "Aucun groupe d’extensions",
      "cantModifyRunning": "Impossible de modifier un profil en cours d'exécution",
      "cantModifyLaunching": "Impossible de modifier le profil pendant le lancement",
      "cantModifyStopping": "Impossible de modifier le profil pendant l'arrêt",
      "cantModifyUpdating": "Impossible de modifier le profil pendant la mise à jour du navigateur",
      "emptyTitle": "Aucun profil pour l'instant",
      "emptyHint": "Créez votre premier profil ou importez des profils existants depuis un autre navigateur.",
      "emptyCreate": "Créer un profil",
      "emptyImport": "Importer des profils",
      "emptyFilteredTitle": "Aucun profil trouvé",
      "emptyFilteredHint": "Aucun profil ne correspond à ce groupe ou à cette recherche. Essayez un autre filtre ou créez-en un.",
      "bot": "Bot",
      "profileId": "ID"
    },
    "actions": {
      "launch": "Lancer",
      "stop": "Arrêter",
      "edit": "Modifier",
      "delete": "Supprimer",
      "copyCookies": "Copier les cookies",
      "configure": "Configurer",
      "clone": "Cloner le profil",
      "viewNetwork": "Voir le Réseau",
      "syncSettings": "Paramètres de Synchronisation",
      "assignToGroup": "Assigner au Groupe",
      "changeFingerprint": "Changer l'Empreinte",
      "copyCookiesToProfile": "Copier les Cookies vers le Profil",
      "launchHook": "URL du hook de lancement",
      "setPassword": "Définir un mot de passe",
      "changePassword": "Changer le mot de passe",
      "removePassword": "Supprimer le mot de passe"
    },
    "synchronizer": {
      "launchWithSync": "Lancer avec le synchroniseur",
      "stopLeader": "Arrêter ce profil et tous ses suiveurs",
      "stopFollower": "Suit les actions de {{leaderName}}",
      "desyncedTooltip": "La synchronisation a échoué à {{url}}",
      "paidFeature": "Le synchroniseur est une fonctionnalité payante",
      "wayfernOnly": "Seuls les profils Wayfern peuvent être synchronisés",
      "selectFollowers": "Sélectionner les profils suiveurs",
      "selectFollowersDesc": "Choisissez les profils qui reproduiront les actions du profil leader. Seuls les profils Wayfern arrêtés peuvent être sélectionnés.",
      "leader": "Leader",
      "follower": "Suiveur",
      "startSession": "Démarrer la session de synchronisation",
      "noFollowers": "Sélectionnez au moins un profil suiveur",
      "flakyBadge": "FLAKY",
      "flakyTooltip": "Ce profil a une résolution d'écran différente de celle du leader. La mise en page des pages peut différer, ce qui peut causer des clics et interactions erronés."
    },
    "ephemeral": "Éphémère",
    "ephemeralDescription": "Le navigateur est contraint d'écrire les données du profil en mémoire plutôt que sur le disque. Notez que votre système d'exploitation peut écrire une partie de la mémoire sur le disque (swap) en cas de charge, donc des traces de la session pourraient rester récupérables.",
    "ephemeralBadge": "Éphémère",
    "bulkDelete": {
      "title": "Supprimer les profils sélectionnés",
      "description": "Cette action est irréversible. Elle supprimera définitivement {{count}} profil(s) et toutes les données associées.",
      "confirmButton": "Supprimer {{count}} profil(s)"
    },
    "note": {
      "empty": "Pas de note",
      "placeholder": "Ajouter une note..."
    },
    "aria": {
      "profileInfo": "Informations sur le profil"
    },
    "delete": {
      "title": "Supprimer le profil",
      "description": "Cette action est irréversible. Elle supprimera définitivement le profil « {{profileName}} » et toutes ses données associées.",
      "confirmButton": "Supprimer le profil"
    },
    "actionBar": {
      "assignToGroup": "Assigner à un groupe",
      "assignProxy": "Assigner un proxy",
      "assignExtensionGroup": "Assigner un groupe d’extensions",
      "copyCookies": "Copier les cookies",
      "runSelected": "Lancer la sélection",
      "stopSelected": "Arrêter la sélection",
      "proRequired": "Plan Pro requis pour le lancement/arrêt groupé"
    },
    "passwordProtectedBadge": "Protégé par mot de passe",
    "launchHook": {
      "placeholder": "https://example.com/track-launch"
    },
    "bulkRun": {
      "confirmTitle": "Lancer {{count}} profils ?",
      "confirmDescription": "Lancer {{count}} profils à la fois peut consommer beaucoup de ressources système. Continuer ?",
      "confirmButton": "Lancer {{count}}",
      "noneToRun": "Aucun profil sélectionné à lancer."
    },
    "bulkStop": {
      "confirmTitle": "Arrêter {{count}} profils ?",
      "confirmDescription": "Arrêter {{count}} profils en cours d’exécution ?",
      "confirmButton": "Arrêter {{count}}",
      "noneToStop": "Aucun profil sélectionné à arrêter."
    },
    "sort": {
      "nameAsc": "Nom (A–Z)",
      "nameDesc": "Nom (Z–A)",
      "newest": "Plus récents d’abord",
      "oldest": "Plus anciens d’abord"
    },
    "remote": {
      "runningTooltip": "En cours d'exécution sur une machine distante. Arrêtez-la pour récupérer le profil ici.",
      "pendingSyncTooltip": "Téléchargement des modifications de la session distante. De nouveau disponible une fois terminé."
    }
  },
  "createProfile": {
    "title": "Créer un nouveau profil",
    "configureTitle": "Créer un nouveau profil {{browser}}",
    "antiDetect": {
      "title": "Navigateur anti-détection",
      "description": "Choisissez un navigateur avec des capacités anti-détection",
      "chromium": "Wayfern",
      "badge": "Navigateur anti-détection"
    },
    "regular": {
      "title": "Navigateurs réguliers",
      "description": "Choisissez parmi les navigateurs réguliers pris en charge",
      "badge": "Navigateur régulier"
    },
    "profileName": "Nom du profil",
    "profileNamePlaceholder": "Entrez le nom du profil",
    "proxy": {
      "title": "Proxy / VPN",
      "addProxy": "Ajouter un proxy",
      "noProxy": "Pas de proxy / VPN",
      "noProxiesAvailable": "Aucun proxy ou VPN disponible. Ajoutez-en un pour router le trafic de ce profil.",
      "search": "Rechercher proxies ou VPN...",
      "notFound": "Aucun proxy ou VPN trouvé.",
      "searchWithCountries": "Rechercher des proxies, VPN ou pays..."
    },
    "launchHook": {
      "label": "URL du hook de lancement",
      "placeholder": "https://example.com/hooks/profile-launch"
    },
    "version": {
      "fetching": "Récupération des versions disponibles...",
      "fetchError": "Échec de la récupération des versions du navigateur. Veuillez vérifier votre connexion Internet et réessayer.",
      "needsDownload": "La version de {{browser}} ({{version}}) doit être téléchargée",
      "available": "La version de {{browser}} ({{version}}) est disponible",
      "downloading": "Téléchargement de la version de {{browser}} ({{version}})...",
      "latestNeedsDownload": "La dernière version ({{version}}) doit être téléchargée",
      "latestAvailable": "La dernière version ({{version}}) est disponible",
      "latestDownloading": "Téléchargement de la version ({{version}})...",
      "upgradeAvailable": "Une version plus récente ({{version}}) de {{browser}} est disponible."
    },
    "chromiumLabel": "Chromium",
    "chromiumSubtitle": "Propulsé par Wayfern",
    "platformUnavailable": "{{browser}} n'est pas encore disponible sur votre plateforme.",
    "passwordProtect": {
      "label": "Protéger ce profil par mot de passe",
      "description": "Chiffre les données du profil sur disque. Requis au lancement."
    },
    "downloadingSubtitle": "Téléchargement…",
    "browsersDownloading": "Les navigateurs sont encore en cours de téléchargement. La création de profils sera disponible une fois un téléchargement terminé."
  },
  "deleteDialog": {
    "title": "Supprimer le profil",
    "description": "Êtes-vous sûr de vouloir supprimer ce profil ? Cette action ne peut pas être annulée.",
    "profilesTitle": "Supprimer les profils",
    "profilesDescription": "Êtes-vous sûr de vouloir supprimer les profils sélectionnés ? Cette action ne peut pas être annulée.",
    "profilesToDelete": "Profils à supprimer :"
  },
  "proxies": {
    "title": "Proxies",
    "management": {
      "description": "Gérez vos configurations de proxys et VPN pour les réutiliser sur les profils",
      "tabProxies": "Proxys",
      "tabVpns": "VPN",
      "create": "Créer",
      "loading": "Chargement des proxys...",
      "noneCreated": "Aucun proxy créé. Créez votre premier proxy avec le bouton ci-dessus.",
      "usage": "Utilisation",
      "syncCol": "Sync",
      "syncCannotDisable": "La sync ne peut pas être désactivée tant que ce proxy est utilisé par des profils synchronisés",
      "enableSync": "Activer la sync",
      "disableSync": "Désactiver la sync",
      "editProxy": "Modifier le proxy",
      "deleteProxy": "Supprimer le proxy",
      "cannotDelete_one": "Suppression impossible : utilisé par {{count}} profil",
      "cannotDelete_other": "Suppression impossible : utilisé par {{count}} profils",
      "cannotDelete_many": "Suppression impossible : utilisé par {{count}} profils",
      "syncEnabled": "Sync activée",
      "syncDisabled": "Sync désactivée",
      "updateSyncFailed": "Échec de la mise à jour de la sync",
      "deleteSuccess": "Proxy supprimé avec succès",
      "deleteFailed": "Échec de la suppression du proxy",
      "deleteTitle": "Supprimer le proxy",
      "deleteDescription": "Cette action est irréversible. Le proxy « {{name}} » sera supprimé définitivement.",
      "newProxy": "Nouveau proxy",
      "newVpn": "Nouveau VPN",
      "protocolCol": "Protocole",
      "hostPort": "Hôte : port",
      "title": "Proxys et VPN"
    },
    "add": "Ajouter un proxy",
    "edit": "Modifier le proxy",
    "delete": "Supprimer le proxy",
    "import": "Importer",
    "export": "Exporter",
    "noProxies": "Aucun proxy configuré",
    "noProxiesDescription": "Ajoutez un proxy pour acheminer le trafic du navigateur à travers lui.",
    "form": {
      "name": "Nom",
      "namePlaceholder": "Entrez le nom du proxy",
      "type": "Type",
      "host": "Hôte",
      "hostPlaceholder": "proxy.exemple.com",
      "port": "Port",
      "portPlaceholder": "8080",
      "username": "Nom d'utilisateur",
      "usernamePlaceholder": "Optionnel",
      "password": "Mot de passe",
      "passwordPlaceholder": "Optionnel",
      "cipher": "Chiffrement",
      "cipherPlaceholder": "aes-256-gcm",
      "nameRequired": "Le nom du proxy est requis",
      "hostPortRequired": "Hôte et port sont requis",
      "ssCipherRequired": "Le chiffrement et le mot de passe sont requis pour Shadowsocks",
      "selectType": "Sélectionnez le type de proxy",
      "saveFailed": "Échec de la sauvegarde du proxy : {{error}}",
      "vlessType": "VLESS",
      "vlessUri": "URI VLESS",
      "vlessUriPlaceholder": "vless://…",
      "vlessUriHint": "Nécessite XTLS Vision et REALITY.",
      "vlessUriRequired": "Saisissez une URI VLESS.",
      "vlessUriInvalid": "Saisissez une URI VLESS valide avec un hôte et un port."
    },
    "types": {
      "http": "HTTP",
      "https": "HTTPS",
      "socks4": "SOCKS4",
      "socks5": "SOCKS5",
      "ss": "Shadowsocks"
    },
    "tabs": {
      "regular": "Standard",
      "dynamic": "Dynamique"
    },
    "dynamic": {
      "description": "Le proxy dynamique récupère les détails de connexion depuis une URL à chaque lancement d'un profil.",
      "url": "URL du Proxy",
      "urlPlaceholder": "https://api.example.com/proxy",
      "urlRequired": "L'URL du proxy dynamique est requise",
      "format": "Format de Réponse",
      "formatJson": "JSON",
      "formatText": "Texte",
      "formatJsonHint": "Attend du JSON : {\"ip\": \"...\", \"port\": ..., \"username\": \"...\", \"password\": \"...\"}",
      "formatTextHint": "Attend du texte comme : host:port:username:password ou protocol://user:pass@host:port",
      "testUrl": "Tester l'URL",
      "testing": "Test en cours...",
      "testSuccess": "Proxy fonctionnel : {{host}}:{{port}}",
      "testFailed": "Échec du test de proxy : {{error}}",
      "fetchFailed": "Échec de la récupération du proxy dynamique : {{error}}"
    },
    "check": {
      "checking": "Vérification du proxy...",
      "valid": "Le proxy est valide",
      "invalid": "Le proxy est invalide",
      "lastChecked": "Dernière vérification : {{time}}"
    },
    "sync": {
      "enabled": "Synchronisation activée",
      "disabled": "Synchronisation désactivée"
    },
    "exportDialog": {
      "title": "Exporter les proxys",
      "description": "Exportez vos configurations de proxy dans un fichier",
      "format": "Format d'export",
      "json": "JSON",
      "txt": "TXT (format URL)",
      "preview": "Aperçu",
      "noProxies": "Aucun proxy à exporter",
      "downloaded": "{{filename}} téléchargé",
      "failed": "Échec de l'export des proxys",
      "copied": "Copié"
    },
    "importDialog": {
      "title": "Importer des proxys",
      "descDropzone": "Importer des proxys depuis un fichier JSON ou TXT",
      "descPreview": "Vérifiez les proxys à importer",
      "descAmbiguous": "Certains proxys ont des formats ambigus. Sélectionnez le bon format.",
      "descResult": "Import terminé",
      "dropzonePrompt": "Déposez un fichier de configuration de proxy",
      "dropzoneFormats": "(.json, .txt)",
      "pasteHint": "Coller depuis le presse-papiers avec {{modKey}}+V",
      "wrongFileType": "Veuillez déposer un fichier .json ou .txt",
      "fileReadError": "Échec de la lecture du fichier",
      "fileProcessError": "Échec du traitement du fichier",
      "noValidProxies": "Aucun proxy valide trouvé dans le fichier",
      "namePrefix": "Préfixe du nom",
      "namePrefixDefault": "Importé",
      "namePrefixHint": "Les proxys seront nommés « {{prefix}} Proxy 1 », « {{prefix}} Proxy 2 », etc.",
      "proxiesToImport": "Proxys à importer ({{count}})",
      "invalidCount": "({{count}} invalides)",
      "ambiguousIntro": "Les proxys suivants ont un format ambigu. Sélectionnez la bonne interprétation pour chacun.",
      "imported": "Importés :",
      "skippedDuplicates": "Ignorés (doublons) :",
      "errors": "Erreurs",
      "importButton": "Importer {{count}} proxys",
      "continueButton": "Continuer",
      "doneButton": "Terminé",
      "failed": "Échec de l'import des proxys"
    },
    "bulkDelete": {
      "proxiesTitle": "Supprimer les proxys sélectionnés",
      "proxiesDescription": "Cette action est irréversible. {{count}} proxy(s) seront définitivement supprimés : {{names}}.",
      "vpnsTitle": "Supprimer les VPN sélectionnés",
      "vpnsDescription": "Cette action est irréversible. {{count}} VPN(s) seront définitivement supprimés : {{names}}.",
      "confirmButton": "Supprimer {{count}}"
    }
  },
  "groups": {
    "title": "Groupes",
    "management": "Gestion des groupes",
    "add": "Ajouter un groupe",
    "edit": "Modifier le groupe",
    "delete": "Supprimer le groupe",
    "moveToDefault": "Retirer les profils du groupe",
    "noGroupDescription": "Les profils sans groupe apparaissent dans le filtre « Tous ».",
    "assignSuccess": "{{count}} profil(s) assigné(s) à {{group}} avec succès",
    "noGroups": "Aucun groupe créé",
    "noGroupsDescription": "Créez un groupe pour organiser vos profils.",
    "form": {
      "name": "Nom",
      "namePlaceholder": "Entrez le nom du groupe"
    },
    "profileCount": "{{count}} profil",
    "profileCount_plural": "{{count}} profils",
    "assignProfiles": "Attribuer des profils",
    "sync": {
      "enabled": "Synchronisation activée",
      "disabled": "Synchronisation désactivée"
    },
    "createTitle": "Créer un Nouveau Groupe",
    "createDescription": "Créez un nouveau groupe pour organiser vos profils de navigateur.",
    "editTitle": "Modifier le Groupe",
    "editDescription": "Mettez à jour le nom de votre groupe.",
    "createSuccess": "Groupe créé avec succès",
    "createFailed": "Échec de la création du groupe",
    "updateSuccess": "Groupe mis à jour avec succès",
    "updateFailed": "Échec de la mise à jour du groupe",
    "deleteTitle": "Supprimer le Groupe",
    "deleteDescription": "Cette action est irréversible. Cela supprimera définitivement le groupe.",
    "deleteSuccess": "Groupe supprimé avec succès",
    "deleteFailed": "Échec de la suppression du groupe",
    "loadingProfiles": "Chargement des profils associés...",
    "associatedProfiles": "Profils Associés ({{count}})",
    "whatToDoWithProfiles": "Que faire de ces profils ?",
    "deleteAlongWithGroup": "Supprimer les profils avec le groupe",
    "noAssociatedProfiles": "Ce groupe n'a pas de profils associés.",
    "deleteGroup": "Supprimer le Groupe",
    "deleteGroupAndProfiles": "Supprimer le Groupe et les Profils",
    "loadProfilesFailed": "Échec du chargement des profils",
    "unknownGroup": "Groupe inconnu",
    "profileGroupsAriaLabel": "Groupes de profils",
    "loading": "Chargement des groupes...",
    "all": "Tous",
    "noGroup": "Aucun groupe",
    "pageTitle": "Groupes de profils",
    "pageDescription": "Les groupes de profils vous permettent d'organiser les navigateurs par client, environnement ou cas d'usage. Synchronisez les groupes entre appareils pour les partager."
  },
  "sync": {
    "mode": {
      "title": "Synchronisation du profil",
      "description": "Gérer les paramètres de synchronisation pour \"{{name}}\"",
      "disabled": "Désactivé",
      "regular": "Synchronisation régulière",
      "encrypted": "Synchronisation chiffrée E2E",
      "disabledDescription": "Pas de synchronisation pour ce profil",
      "regularDescription": "Synchronisation rapide, non chiffrée",
      "encryptedDescription": "Chiffré avant l'envoi. Le serveur ne voit jamais les données en clair.",
      "noPasswordWarning": "Mot de passe E2E non défini. Veuillez définir un mot de passe dans les Paramètres.",
      "passwordRequired": "Mot de passe E2E non défini. Veuillez d'abord définir un mot de passe dans les Paramètres.",
      "enabledToast": "Synchronisation activée",
      "disabledToast": "Synchronisation désactivée",
      "syncQueued": "Synchronisation en file d'attente",
      "syncNow": "Synchroniser maintenant",
      "lastSynced": "Dernière synchronisation",
      "notConfigured": "Service de synchronisation non configuré.",
      "configureService": "Configurer le service de synchronisation"
    },
    "title": "Service de synchronisation",
    "config": {
      "serverUrlRequired": "Veuillez saisir une URL de serveur",
      "connectionSuccess": "Connexion réussie !",
      "serverError": "Le serveur a répondu avec une erreur",
      "connectFailed": "Échec de la connexion au serveur",
      "storageEndpoint": "Stockage : {{endpoint}}",
      "storageUnreachableStatus": "Stockage inaccessible",
      "storageUnreachable": "Le serveur est accessible, mais son adresse de stockage {{endpoint}} est inaccessible depuis cet appareil. Les transferts de fichiers échoueront. Si vous l'hébergez vous-même, définissez S3_PUBLIC_ENDPOINT sur une adresse accessible depuis cet appareil.",
      "settingsSaved": "Paramètres de synchronisation enregistrés",
      "saveFailed": "Échec de l’enregistrement des paramètres",
      "disconnected": "Synchronisation déconnectée",
      "disconnectFailed": "Échec de la déconnexion"
    },
    "serverUrl": "URL du serveur",
    "serverUrlPlaceholder": "https://sync.exemple.com",
    "token": "Jeton de synchronisation",
    "tokenPlaceholder": "Entrez votre jeton de synchronisation",
    "status": {
      "connected": "Connecté",
      "disconnected": "Déconnecté",
      "syncing": "Synchronisation...",
      "error": "Erreur de synchronisation"
    },
    "description": "Connectez-vous à un serveur de synchronisation pour synchroniser vos profils, proxies et groupes entre appareils.",
    "cloud": {
      "tabLabel": "Cloud",
      "selfHostedTabLabel": "Auto-hébergé",
      "email": "E-mail",
      "deviceLinkInstructions": "Cliquez sur « Se connecter » pour ouvrir la page de connexion dans votre navigateur. Une fois connecté, copiez le code affiché et collez-le ci-dessous.",
      "openLogin": "Se connecter",
      "linkCodeLabel": "Code de connexion",
      "linkCodePlaceholder": "Collez le code du site web",
      "signInTitle": "Se Connecter",
      "verifyAndLogin": "Vérifier et Se Connecter",
      "loggingIn": "Connexion en cours...",
      "connected": "Connecté",
      "plan": "Forfait",
      "profiles": "Profils",
      "profileUsage": "{{used}} / {{limit}}",
      "manageAccount": "Gérer le Compte",
      "logout": "Se Déconnecter",
      "logoutConfirm": "Êtes-vous sûr de vouloir vous déconnecter ? La synchronisation cloud sera arrêtée.",
      "loginSuccess": "Connexion réussie !",
      "logoutSuccess": "Déconnexion réussie."
    },
    "team": {
      "title": "Équipe",
      "name": "Nom de l'équipe",
      "role": "Rôle",
      "roleOwner": "Propriétaire",
      "roleAdmin": "Administrateur",
      "roleMember": "Membre",
      "manageOnWeb": "Gérer l'équipe sur le tableau de bord web",
      "profileLocked": "Utilisé par {{email}}",
      "profileLockedShort": "En cours d'utilisation",
      "cannotLaunchLocked": "Impossible de lancer — le profil est utilisé par {{email}}",
      "createdBy": "Créé par {{email}}"
    },
    "disabled": "Désactivée",
    "toast": {
      "profileSynced": "Profil '{{name}}' synchronisé avec succès",
      "profileSyncFailed": "Échec de la synchronisation du profil '{{name}}'",
      "profileSyncFailedWithError": "Échec de la synchronisation du profil '{{name}}' : {{error}}"
    },
    "enabledToast": "Synchronisation activée",
    "disabledToast": "Synchronisation désactivée",
    "enabledDescription": "La synchronisation du profil a été activée",
    "disabledDescription": "La synchronisation du profil a été désactivée"
  },
  "integrations": {
    "title": "Intégrations",
    "api": {
      "title": "API locale",
      "description": "Activez le serveur d'API locale pour les intégrations externes.",
      "enabled": "API activée",
      "disabled": "API désactivée",
      "port": "Port",
      "token": "Jeton API",
      "copyToken": "Copier le jeton",
      "regenerateToken": "Régénérer le jeton"
    },
    "mcp": {
      "title": "Serveur MCP",
      "description": "Activez le serveur MCP (Model Context Protocol) pour les intégrations avec les assistants IA.",
      "enabled": "MCP activé",
      "disabled": "MCP désactivé",
      "port": "Port",
      "token": "Jeton d'authentification",
      "tokenCopied": "Jeton copié",
      "url": "URL du serveur MCP",
      "urlCopied": "URL copiée",
      "config": "Configuration MCP",
      "copyConfig": "Copier la configuration",
      "clientsLabel": "Clients",
      "connected": "Connecté",
      "add": "Ajouter",
      "addedToClient": "Ajouté à {{name}}",
      "removedFromClient": "Supprimé de {{name}}",
      "removeAriaLabel": "Supprimer de {{name}}",
      "category": {
        "desktopApp": "Application bureau",
        "cli": "CLI",
        "editor": "Éditeur",
        "editorExt": "Ext. d'éditeur"
      }
    },
    "tabApi": "API locale",
    "tabMcp": "MCP (Assistants IA)",
    "apiEnableLabel": "Activer le serveur API local",
    "apiEnableDescription": "Permet de gérer les profils, groupes et proxys via l'API REST.",
    "apiPortLabel": "Port",
    "apiTokenLabel": "Jeton d'authentification",
    "apiTokenHint": "Inclure dans l'en-tête Authorization : Bearer {{tokenSlot}}",
    "apiInvalidPort": "Port invalide",
    "apiInvalidPortDescription": "Le port doit être entre 1 et 65535",
    "apiPortInUse": "Le port {{port}} est déjà utilisé",
    "apiFallbackPort": "Serveur démarré sur le port alternatif {{port}}",
    "apiStarted": "Serveur API démarré sur le port {{port}}",
    "apiRunning": "Serveur API en cours sur le port {{port}}",
    "apiStopped": "Serveur API arrêté",
    "apiToggleFailed": "Échec du basculement du serveur API",
    "apiStartFailed": "Échec du démarrage du serveur API",
    "apiUnknownError": "Erreur inconnue",
    "tokenCopied": "Jeton copié",
    "mcpEnableLabel": "Activer le serveur MCP (Model Context Protocol)",
    "mcpEnableDescription": "Permet aux assistants IA comme Claude Desktop de contrôler les navigateurs.",
    "mcpAcceptTermsFirst": "(Acceptez d'abord les conditions Wayfern dans les Paramètres)",
    "mcpStarted": "Serveur MCP démarré sur le port {{port}}",
    "mcpStopped": "Serveur MCP arrêté",
    "mcpToggleFailed": "Échec du basculement du serveur MCP",
    "openSettings": "Ouvrir les paramètres d'intégrations",
    "apiRunningOn": "En cours sur",
    "apiExampleRequest": "Exemple de requête"
  },
  "import": {
    "title": "Importer un profil",
    "description": "Importez un profil de navigateur existant depuis votre système.",
    "selectProfile": "Sélectionnez un profil à importer",
    "noProfiles": "Aucun profil détecté",
    "noProfilesDescription": "Aucun profil de navigateur n'a été détecté sur votre système.",
    "importing": "Importation du profil...",
    "success": "Profil importé avec succès",
    "error": "Échec de l'importation du profil"
  },
  "config": {
    "wayfern": {
      "title": "Configuration Wayfern",
      "fingerprint": {
        "title": "Empreinte digitale",
        "randomize": "Randomiser au lancement",
        "randomizeDescription": "Génère une nouvelle empreinte digitale à chaque lancement du navigateur.",
        "platformPlaceholder": "p. ex., Win32, MacIntel, Linux x86_64",
        "timezoneOffsetPlaceholder": "p. ex., 300 pour EST (UTC-5)",
        "webglRendererPlaceholder": "p. ex., Intel(R) HD Graphics"
      },
      "os": {
        "title": "Système d'exploitation",
        "description": "Le système d'exploitation à émuler pour la génération d'empreinte digitale.",
        "windows": "Windows",
        "macos": "macOS",
        "linux": "Linux",
        "android": "Android",
        "ios": "iOS"
      },
      "screen": {
        "title": "Taille d'écran",
        "minWidth": "Largeur min",
        "maxWidth": "Largeur max",
        "minHeight": "Hauteur min",
        "maxHeight": "Hauteur max"
      },
      "blocking": {
        "title": "Blocage",
        "webrtc": "Bloquer WebRTC",
        "webgl": "Bloquer WebGL"
      }
    },
    "shared": {
      "browserBehavior": "Comportement du navigateur",
      "allowAddonsOpenTabs": "Autoriser les modules complémentaires à ouvrir automatiquement de nouveaux onglets"
    }
  },
  "cookies": {
    "title": "Cookies",
    "copy": {
      "title": "Copier les cookies",
      "description": "Sélectionnez les cookies à copier vers d'autres profils.",
      "selectSource": "Sélectionner le profil source",
      "selectTarget": "Sélectionner les profils cibles",
      "selectCookies": "Sélectionner les cookies",
      "allDomains": "Tous les domaines",
      "selectedCount": "{{count}} cookie sélectionné",
      "selectedCount_plural": "{{count}} cookies sélectionnés",
      "dialogDescription_one": "Copier les cookies d'un profil source vers {{count}} profil sélectionné.",
      "dialogDescription_other": "Copier les cookies d'un profil source vers {{count}} profils sélectionnés.",
      "dialogDescription_many": "Copier les cookies d'un profil source vers {{count}} profils sélectionnés.",
      "sourceProfile": "Profil source",
      "sourcePlaceholder": "Sélectionnez un profil pour copier les cookies",
      "running": "(en cours)",
      "targetProfiles": "Profils cibles ({{count}})",
      "noOtherTargets": "Aucun autre profil Wayfern sélectionné",
      "selectSourceFirst": "Sélectionnez d'abord un profil source",
      "selectionStatus": "({{selected}} sur {{total}} sélectionnés)",
      "searchPlaceholder": "Rechercher des domaines ou cookies...",
      "noMatching": "Aucun cookie correspondant trouvé",
      "noFound": "Aucun cookie trouvé",
      "replaceNote": "Les cookies existants avec le même nom et domaine seront remplacés. Les autres cookies seront conservés.",
      "cannotCopyRunningOne": "Impossible de copier les cookies : {{names}} est encore en cours.",
      "cannotCopyRunningMany": "Impossible de copier les cookies : {{names}} sont encore en cours.",
      "someErrors": "Des erreurs sont survenues : {{errors}}",
      "successMessage": "{{copied}} cookies copiés avec succès ({{replaced}} remplacés)",
      "failedMessage": "Échec de la copie des cookies : {{error}}",
      "copyButton_one": "Copier {{count}} cookie",
      "copyButton_other": "Copier {{count}} cookies",
      "copyButton_many": "Copier {{count}} cookies",
      "copyButtonEmpty": "Copier les cookies"
    },
    "success": "Cookies copiés avec succès",
    "error": "Échec de la copie des cookies",
    "management": {
      "title": "Gestion des Cookies",
      "menuItem": "Gestion des Cookies",
      "tabImport": "Importer",
      "tabExport": "Exporter",
      "importDescription": "Collez les cookies copiés depuis un autre navigateur ou outil, ou choisissez un fichier.",
      "fileReadError": "Échec de la lecture du fichier",
      "loadFailed": "Échec du chargement des cookies : {{error}}",
      "cookiesLabel": "Cookies",
      "selectionStatus": "({{selected}} sur {{total}} sélectionnés)",
      "selectAll": "Tout sélectionner",
      "deselectAll": "Tout désélectionner",
      "noCookies": "Aucun cookie trouvé dans ce profil",
      "doneButton": "Terminé",
      "exportButton": "Exporter"
    },
    "import": {
      "title": "Importer des Cookies",
      "description": "Importer des cookies depuis un fichier au format Netscape ou JSON.",
      "selectFile": "Choisir un Fichier",
      "preview": "{{count}} cookies trouvés",
      "success": "{{imported}} cookies importés avec succès ({{replaced}} remplacés)",
      "error": "Échec de l'importation des cookies",
      "proFeature": "L'importation de cookies est une fonctionnalité Pro"
    },
    "export": {
      "title": "Exporter les Cookies",
      "description": "Exporter les cookies de ce profil.",
      "formatLabel": "Format",
      "netscape": "Netscape TXT",
      "json": "JSON",
      "success": "Cookies exportés avec succès",
      "error": "Échec de l'exportation des cookies"
    },
    "paste": {
      "label": "Cookies",
      "placeholder": "Collez les cookies ici. JSON (un tableau ou un objet {cookies: [...]}), un cookies.txt Netscape, ou nom=valeur; nom2=valeur2",
      "chooseFile": "ou choisissez un fichier",
      "analyzing": "Vérification…",
      "formatJson": "JSON",
      "formatNetscape": "Netscape",
      "formatNameValue": "Nom=Valeur",
      "formatUnknown": "Format non reconnu",
      "siteLabel": "Site",
      "sitePlaceholder": "exemple.com ou https://exemple.com",
      "siteHelp": "Une liste nom=valeur ne porte aucun domaine, indiquez donc le site auquel ces cookies appartiennent.",
      "scopeSubdomains": "{{domain}} : ce domaine et tous ses sous-domaines",
      "scopeHostOnly": "{{domain}} : uniquement cet hôte exact, sans sous-domaines",
      "modeMerge": "Fusionner",
      "modeMergeDesc": "Met à jour les cookies enregistrés qu'un cookie collé fait correspondre, ajoute les autres et n'en supprime aucun.",
      "modeReplace": "Remplacer les sites correspondants",
      "modeReplaceDesc": "Supprime les cookies enregistrés de ce profil pour les sites nommés dans ce collage, sous leur forme avec point et sans point, puis écrit le collage. Les cookies de tous les autres sites sont conservés.",
      "replaceDeleteCount": "Cookies enregistrés qui seraient supprimés : {{n}}",
      "unknownCount": "inconnu",
      "includeExpired": "Importer aussi les cookies déjà expirés",
      "expiredNote": "Déjà expirés dans ce collage : {{n}}",
      "clearsOnCloseWarning": "Ce profil efface ses données de navigation à la fermeture du navigateur, donc ces cookies seront supprimés à la fin de la prochaine session.",
      "previewTitle": "Cookies à importer : {{n}}",
      "colSite": "Site",
      "colName": "Nom",
      "colPath": "Chemin",
      "colExpires": "Expiration",
      "colSecure": "Secure",
      "colHttpOnly": "HttpOnly",
      "colSameSite": "SameSite",
      "session": "Session",
      "yes": "Oui",
      "no": "Non",
      "sameSiteUnspecified": "Non précisé",
      "sameSiteNone": "None",
      "sameSiteLax": "Lax",
      "sameSiteStrict": "Strict",
      "issuesTitle": "Anomalies",
      "showAll": "Afficher les {{n}}",
      "showFewer": "Afficher moins",
      "sourceLine": "Ligne {{n}}",
      "sourceCookie": "Cookie {{n}}",
      "disabledEmpty": "Collez des cookies ci-dessus pour les importer.",
      "disabledSite": "Indiquez le site auquel ces cookies appartiennent.",
      "disabledNoCookies": "Aucun cookie n'a pu être lu dans ce collage.",
      "resultAdded": "Ajoutés",
      "resultOverwritten": "Écrasés",
      "resultDeleted": "Supprimés",
      "resultSkipped": "Ignorés",
      "issues": {
        "emptyInput": "Rien n'a encore été collé.",
        "siteInvalid": "« {{site}} » n'est pas un site exploitable et a été ignoré.",
        "unrecognizedFormat": "Ceci n'est ni du JSON, ni un cookies.txt Netscape, ni une liste nom=valeur.",
        "siteRequired": "Une liste nom=valeur ne porte aucun domaine. Indiquez le site auquel ces cookies appartiennent.",
        "noCookiesFound": "Aucun cookie n'a pu être lu dans ce collage.",
        "nameEmpty": "Le nom du cookie est vide.",
        "nameInvalid": "« {{name}} » n'est pas un nom de cookie exploitable.",
        "nameMissing": "Cette entrée n'a pas de nom.",
        "valueInvalid": "La valeur de « {{name}} » contient des caractères qu'un cookie ne peut pas porter.",
        "valueCoerced": "La valeur de « {{name}} » n'était pas du texte, elle a donc été convertie en texte.",
        "domainFromSite": "« {{name}} » ne portait aucun domaine et a été rattaché à {{domain}}.",
        "domainMissing": "« {{name}} » ne porte aucun domaine et aucun site n'a été indiqué.",
        "domainInvalid": "« {{name}} » désigne un domaine inutilisable : {{domain}}.",
        "domainAttributeIgnored": "L'attribut Domain={{domain}} a été ignoré au profit du site que vous avez indiqué, {{site}}.",
        "hostOnlyMismatch": "« {{name}} » annonce hostOnly={{hostOnly}} alors que son domaine était {{domain}}. L'indicateur a été appliqué.",
        "pathRepaired": "Le chemin de « {{name}} » a été corrigé à partir de {{path}}.",
        "expiryMilliseconds": "L'expiration de « {{name}} » ({{expires}}) était en millisecondes et a été convertie en secondes.",
        "expiryClamped": "Une expiration était trop lointaine pour être réelle et a été ramenée au maximum.",
        "expiryInvalid": "{{field}} n'est pas un horodatage exploitable : {{value}}.",
        "expiresInvalid": "Expires n'est pas une date lisible : {{value}}.",
        "maxAgeInvalid": "Max-Age n'est pas un nombre : {{value}}.",
        "maxAgeDeletion": "Le Max-Age de « {{name}} » le supprime immédiatement.",
        "sameSiteNoneInsecure": "« {{name}} » sur {{domain}} est SameSite=None mais pas Secure, le navigateur refusera donc de l'envoyer.",
        "sameSiteUnrecognized": "Le SameSite « {{value}} » n'a pas été reconnu et est resté non précisé.",
        "duplicateCookie": "« {{name}} » pour {{domain}}{{path}} réapparaît plus loin dans le collage. La dernière copie l'emporte.",
        "boolCoercedFromString": "{{field}} était le texte « {{value}} » au lieu de true ou false, et a été lu comme un booléen.",
        "boolInvalid": "{{field}} n'est ni true ni false : {{value}}.",
        "quotedValue": "Les guillemets autour de la valeur de « {{name}} » ont été retirés.",
        "jsonParseFailed": "Le JSON n'a pas pu être lu : {{message}}",
        "jsonNotCookieList": "Le JSON n'est ni un tableau de cookies ni un objet contenant un tableau cookies.",
        "jsonEntryNotObject": "Cette entrée n'est pas un objet JSON.",
        "netscapePathOmitted": "Cette ligne n'a pas de colonne de chemin, / a donc été utilisé.",
        "netscapeFieldCount": "Cette ligne a {{actual}} colonnes ; une ligne de cookie Netscape en a {{expected}}.",
        "netscapeIncludeSubdomainsInvalid": "La colonne d'inclusion des sous-domaines n'est ni TRUE ni FALSE : {{value}}.",
        "netscapeSecureInvalid": "La colonne secure n'est ni TRUE ni FALSE : {{value}}.",
        "netscapeExpiryInvalid": "La colonne d'expiration n'est pas un nombre : {{value}}. La ligne a été écartée plutôt que transformée en cookie actif.",
        "nameValueNoPair": "Cette partie ne contient pas de paire nom=valeur et a été ignorée.",
        "pairTreatedAsAttribute": "« {{name}} » a été lu comme un attribut Set-Cookie et non comme un cookie, et sa valeur a été ignorée.",
        "unknown": "{{code}}"
      }
    }
  },
  "toasts": {
    "success": {
      "profileCreated": "Profil créé avec succès",
      "profileDeleted": "Profil supprimé avec succès",
      "profileUpdated": "Profil mis à jour avec succès",
      "profileLaunched": "Profil lancé avec succès",
      "proxyCreated": "Proxy créé avec succès",
      "proxyDeleted": "Proxy supprimé avec succès",
      "proxyUpdated": "Proxy mis à jour avec succès",
      "groupCreated": "Groupe créé avec succès",
      "groupDeleted": "Groupe supprimé avec succès",
      "groupUpdated": "Groupe mis à jour avec succès",
      "settingsSaved": "Paramètres enregistrés avec succès",
      "copied": "Copié dans le presse-papiers",
      "permissionRequested": "Accès au {{permission}} demandé",
      "downloadComplete": "{{browser}} {{version}} téléchargé avec succès !",
      "importSuccess": "{{count}} éléments importés avec succès",
      "exportSuccess": "{{count}} éléments exportés avec succès",
      "syncSuccess": "Synchronisation terminée avec succès",
      "profileSynced": "Profil '{{name}}' synchronisé avec succès",
      "cacheCleared": "Cache effacé avec succès"
    },
    "error": {
      "profileCreateFailed": "Échec de la création du profil",
      "profileDeleteFailed": "Échec de la suppression du profil",
      "profileUpdateFailed": "Échec de la mise à jour du profil",
      "profileLaunchFailed": "Échec du lancement du profil",
      "proxyCreateFailed": "Échec de la création du proxy",
      "proxyDeleteFailed": "Échec de la suppression du proxy",
      "proxyUpdateFailed": "Échec de la mise à jour du proxy",
      "groupCreateFailed": "Échec de la création du groupe",
      "groupDeleteFailed": "Échec de la suppression du groupe",
      "groupUpdateFailed": "Échec de la mise à jour du groupe",
      "settingsSaveFailed": "Échec de l'enregistrement des paramètres",
      "copyFailed": "Échec de la copie dans le presse-papiers",
      "downloadFailed": "Échec du téléchargement de {{browser}}",
      "importFailed": "Échec de l'importation",
      "exportFailed": "Échec de l'exportation",
      "syncFailed": "Échec de la synchronisation",
      "profileSyncFailed": "Échec de la synchronisation du profil '{{name}}'",
      "cacheClearFailed": "Échec de l'effacement du cache",
      "unknown": "Une erreur inconnue s'est produite"
    },
    "loading": {
      "downloading": "Téléchargement de {{browser}} {{version}}",
      "extracting": "Extraction de {{browser}} {{version}}",
      "verifying": "Vérification de {{browser}} {{version}}",
      "syncing": "Synchronisation...",
      "syncingProfile": "Synchronisation du profil '{{name}}'...",
      "syncingProfileWithProgress": "{{count}} fichiers ({{size}})",
      "updatingVersions": "Mise à jour des versions de navigateurs..."
    },
    "progress": {
      "remaining": "{{time}} restant",
      "filesProgress": "{{completed}}/{{total}} fichiers",
      "filesFailed": "Échec de {{count}} fichier(s)"
    }
  },
  "errors": {
    "required": "Ce champ est requis",
    "invalidUrl": "Veuillez entrer une URL valide",
    "invalidPort": "Veuillez entrer un numéro de port valide (1-65535)",
    "invalidEmail": "Veuillez entrer une adresse e-mail valide",
    "minLength": "Doit contenir au moins {{min}} caractères",
    "maxLength": "Doit contenir au maximum {{max}} caractères",
    "networkError": "Erreur réseau. Veuillez vérifier votre connexion.",
    "serverError": "Erreur serveur. Veuillez réessayer plus tard.",
    "unknownError": "Une erreur inconnue s'est produite. Veuillez réessayer.",
    "noProfilesForUrl": "Aucun profil disponible. Veuillez créer un profil avant d’ouvrir des URL.",
    "updateWayfernConfigFailed": "Échec de la mise à jour de la configuration wayfern : {{error}}",
    "createProfileFailed": "Échec de la création du profil : {{error}}",
    "launchBrowserFailed": "Échec du lancement du navigateur : {{error}}",
    "cannotDeleteRunningProfile": "Impossible de supprimer le profil pendant que le navigateur est en cours d’exécution. Arrêtez d’abord le navigateur.",
    "deleteProfileFailed": "Échec de la suppression du profil : {{error}}",
    "renameProfileFailed": "Échec du renommage du profil : {{error}}",
    "killBrowserFailed": "Échec de l’arrêt du navigateur : {{error}}",
    "deleteSelectedProfilesFailed": "Échec de la suppression des profils sélectionnés : {{error}}",
    "cookieCopyUnsupportedBrowser": "La copie de cookies ne fonctionne qu'avec les profils Wayfern",
    "updateSyncSettingsFailed": "Échec de la mise à jour des paramètres de synchronisation",
    "cloneProfileFailed": "Échec du clonage du profil : {{error}}",
    "loadSupportedBrowsersFailed": "Échec du chargement des navigateurs pris en charge",
    "setupExtensionListenersFailed": "Échec de la configuration des écouteurs d’événements d’extensions : {{error}}",
    "loadGroupsFailed": "Échec du chargement des groupes : {{error}}",
    "setupGroupListenersFailed": "Échec de la configuration des écouteurs d’événements de groupes : {{error}}",
    "loadProfilesFailed": "Échec du chargement des profils : {{error}}",
    "setupProfileListenersFailed": "Échec de la configuration des écouteurs d’événements de profils : {{error}}",
    "loadProxiesFailed": "Échec du chargement des proxies : {{error}}",
    "setupProxyListenersFailed": "Échec de la configuration des écouteurs d’événements de proxies : {{error}}",
    "loadVpnConfigsFailed": "Échec du chargement des configurations VPN : {{error}}",
    "setupVpnListenersFailed": "Échec de la configuration des écouteurs d’événements VPN : {{error}}",
    "themeNotFound": "Thème Tokyo Night introuvable",
    "setProfilePasswordFailed": "Échec de la définition du mot de passe du profil : {{error}}"
  },
  "browser": {
    "wayfern": "Wayfern"
  },
  "fingerprint": {
    "crossOsWarning": "L'usurpation d'empreinte pour un système d'exploitation différent est moins fiable car il est impossible d'imiter parfaitement tous les composants sous-jacents. À utiliser avec précaution.",
    "crossOsLimitations": "L'usurpation d'empreinte inter-OS a des limitations. Les APIs au niveau du système peuvent toujours refléter votre système d'exploitation réel et certaines fonctionnalités peuvent avoir des performances réduites.",
    "osLabel": "Empreinte du système d'exploitation",
    "selectOSPlaceholder": "Sélectionner le système d'exploitation",
    "generateRandomOnLaunch": "Générer une empreinte aléatoire à chaque lancement",
    "generateRandomDescription": "Lorsque cette option est activée, une nouvelle empreinte sera générée à chaque lancement du navigateur.",
    "generateRandomDescriptionAuto": "Lorsque cette option est activée, une nouvelle empreinte sera générée à chaque lancement du navigateur. L'empreinte générée est sauvegardée pour référence.",
    "autoLocationDescription": "Configurer automatiquement les informations de localisation en fonction de la configuration du proxy ou de votre connexion si aucun proxy n'est fourni",
    "editingDisabledRunning": "La modification de l'empreinte est désactivée car le profil est en cours d'exécution. Arrêtez le profil pour effectuer des modifications.",
    "editingDisabledRandomized": "La modification de l'empreinte est désactivée car la génération aléatoire d'empreinte est activée. Désactivez l'option ci-dessus pour modifier manuellement la configuration de l'empreinte.",
    "advancedWarning": "Avertissement : Ne modifiez ces paramètres que si vous savez ce que vous faites. Des valeurs incorrectes peuvent casser des sites web, vous faire détecter et provoquer des bugs difficiles à résoudre.",
    "basicWarning": "Avertissement : Ne modifiez ces paramètres que si vous savez ce que vous faites.",
    "automatic": "Automatique",
    "manual": "Manuel",
    "blockingOptions": "Options de blocage",
    "blockImages": "Bloquer les images",
    "blockWebRTC": "Bloquer WebRTC",
    "blockWebGL": "Bloquer WebGL",
    "navigatorProperties": "Propriétés du navigateur",
    "userAgent": "User Agent",
    "userAgentAndPlatform": "User Agent et plateforme",
    "platform": "Plateforme",
    "platformVersion": "Version de la plateforme",
    "appVersion": "Version de l'application",
    "osCpu": "CPU OS",
    "hardwareConcurrency": "Concurrence matérielle",
    "maxTouchPoints": "Points tactiles maximum",
    "doNotTrack": "Ne pas suivre",
    "selectDntPlaceholder": "Sélectionner la valeur DNT",
    "dntAllowed": "0 (suivi autorisé)",
    "dntNotAllowed": "1 (suivi non autorisé)",
    "dntUnspecified": "non spécifié",
    "language": "Langue",
    "primaryLanguage": "Langue principale (navigator.language)",
    "languages": "Langues (JSON array)",
    "languageAndLocale": "Langue et paramètres régionaux",
    "screenProperties": "Propriétés de l'écran",
    "screenWidth": "Largeur de l'écran",
    "screenHeight": "Hauteur de l'écran",
    "availableWidth": "Largeur disponible",
    "availableHeight": "Hauteur disponible",
    "colorDepth": "Profondeur de couleur",
    "pixelDepth": "Profondeur de pixel",
    "devicePixelRatio": "Ratio de pixels de l'appareil",
    "windowProperties": "Propriétés de la fenêtre",
    "outerWidth": "Largeur extérieure",
    "outerHeight": "Hauteur extérieure",
    "innerWidth": "Largeur intérieure",
    "innerHeight": "Hauteur intérieure",
    "screenX": "Écran X",
    "screenY": "Écran Y",
    "geolocation": "Géolocalisation",
    "timezoneAndGeolocation": "Fuseau horaire et géolocalisation",
    "timezoneGeolocationDescription": "Ces valeurs remplacent les APIs de fuseau horaire et de géolocalisation du navigateur.",
    "latitude": "Latitude",
    "longitude": "Longitude",
    "timezone": "Fuseau horaire",
    "timezoneIana": "Fuseau horaire (IANA)",
    "timezoneOffset": "Décalage (minutes depuis UTC)",
    "accuracy": "Précision (mètres)",
    "locale": "Paramètres régionaux",
    "region": "Région",
    "script": "Script",
    "webglProperties": "Propriétés WebGL",
    "webglVendor": "Fournisseur WebGL",
    "webglRenderer": "Moteur de rendu WebGL",
    "webglParameters": "Paramètres WebGL",
    "webglParametersJson": "Paramètres WebGL (JSON)",
    "webgl2Parameters": "Paramètres WebGL2",
    "webglShaderPrecisionFormats": "Formats de précision shader WebGL",
    "webgl2ShaderPrecisionFormats": "Formats de précision shader WebGL2",
    "canvasFingerprint": "Canvas Fingerprint",
    "canvasNoiseSeed": "Graine de bruit Canvas",
    "canvasNoiseSeedDescription": "Cette graine est utilisée pour générer une empreinte Canvas cohérente mais unique. Chaque profil doit avoir une graine différente.",
    "fonts": "Polices",
    "fontsJson": "Polices (JSON array)",
    "battery": "Batterie",
    "charging": "En charge",
    "chargingTime": "Temps de charge",
    "dischargingTime": "Temps de décharge",
    "batteryLevel": "Niveau (0-1)",
    "screenResolution": "Résolution de l'écran",
    "maxWidth": "Largeur maximale",
    "maxHeight": "Hauteur maximale",
    "minWidth": "Largeur minimale",
    "minHeight": "Hauteur minimale",
    "hardwareProperties": "Propriétés matérielles",
    "deviceMemory": "Mémoire de l'appareil (Go)",
    "audioProperties": "Propriétés audio",
    "sampleRate": "Fréquence d'échantillonnage",
    "maxChannelCount": "Nombre maximum de canaux",
    "vendorInfo": "Informations du fournisseur",
    "vendor": "Fournisseur",
    "vendorSub": "Fournisseur Sub",
    "productSub": "Produit Sub",
    "brand": "Marque",
    "brandVersion": "Version de la marque",
    "proFeature": "Ceci est une fonctionnalité Pro",
    "generateFingerprint": "Générer l'empreinte",
    "regenerateFingerprint": "Régénérer l'empreinte",
    "regenerateConfirmTitle": "Régénérer cette empreinte ?",
    "regenerateConfirmDescription": "Le profil conserve ses cookies et ses sessions, mais présentera un autre appareil. Les sites qui connaissent déjà ce profil peuvent vous demander de vous reconnecter, vous soumettre à une vérification ou bloquer le compte. Ne régénérez qu'un profil que vous n'avez pas encore utilisé ou que vous acceptez de perdre. Cette action est irréversible.",
    "canvasNoiseSeedPlaceholder": "Entrez une graine pour l'empreinte canvas",
    "addFontsPlaceholder": "Ajouter des polices...",
    "enterAsJson": "Entrez {{title}} en JSON"
  },
  "warnings": {
    "windowResizeTitle": "Dimensions de fenêtre personnalisées",
    "windowResizeDescription": "Modifier les dimensions de la fenêtre du navigateur peut augmenter les chances de détection par les sites web que les informations du navigateur sont falsifiées.",
    "dontShowAgain": "Ne plus afficher",
    "continue": "Continuer",
    "cancel": "Annuler"
  },
  "syncAll": {
    "title": "Activer la synchronisation pour les éléments existants",
    "description": "Vous avez des éléments qui ne sont pas synchronisés. Voulez-vous activer la synchronisation pour tous ?",
    "enableAll": "Tout activer",
    "skip": "Ignorer",
    "success": "Synchronisation activée pour tous les éléments",
    "labels": {
      "proxies": "Proxies",
      "vpns": "VPN",
      "groups": "Groupes",
      "extensions": "Extensions",
      "extensionGroups": "Groupes d'extensions"
    }
  },
  "crossOs": {
    "viewOnly": "Ce profil a été créé sur {{os}} et n'est pas pris en charge sur ce système",
    "cannotLaunch": "Ce profil a été créé sur {{os}} et n'est pas pris en charge sur ce système",
    "cannotModify": "Impossible de modifier les paramètres de synchronisation d'un profil d'un autre système d'exploitation"
  },
  "profileInfo": {
    "title": "Détails du Profil",
    "tabs": {
      "info": "Info",
      "settings": "Paramètres"
    },
    "fields": {
      "profileId": "ID du Profil",
      "browser": "Navigateur",
      "releaseType": "Type de Version",
      "proxyVpn": "Proxy / VPN",
      "launchHook": "Hook de lancement",
      "group": "Groupe",
      "tags": "Tags",
      "note": "Note",
      "syncStatus": "État de Synchronisation",
      "lastLaunched": "Dernier Lancement",
      "hostOs": "OS Hôte",
      "ephemeral": "Éphémère",
      "extensionGroup": "Groupe d'Extensions",
      "totalSessions": "Sessions totales",
      "syncMode": "Mode de sync.",
      "proxy": "PROXY",
      "vpn": "VPN",
      "cookieCount": "Cookies stockés",
      "localDataTransfer": "Transfert de données local",
      "created": "Créé le",
      "windowColor": "Couleur de la fenêtre"
    },
    "values": {
      "none": "Aucun",
      "never": "Jamais",
      "copied": "Copié !",
      "yes": "Oui",
      "activeNow": "Actif maintenant",
      "direct": "Direct",
      "loading": "Chargement…",
      "unknown": "Inconnu"
    },
    "network": {
      "bypassRules": "Règles de Contournement du Proxy",
      "bypassRulesTitle": "Règles de Contournement du Proxy",
      "bypassRulesDescription": "Les requêtes correspondant à ces règles se connecteront directement, contournant le proxy.",
      "addRule": "Ajouter une Règle",
      "rulePlaceholder": "ex. example.com, 192.168.1.*, .*\\.local",
      "noRules": "Aucune règle de contournement configurée.",
      "ruleTypes": "Prend en charge les noms d'hôte, les adresses IP et les expressions régulières.",
      "vpnLabel": "VPN : {{name}}",
      "proxyLabel": "Proxy : {{name}}"
    },
    "launchHook": {
      "title": "URL du hook de lancement",
      "label": "URL du hook de lancement",
      "description": "Donut Browser enverra une requête GET à cette URL à chaque lancement du profil.",
      "placeholder": "https://example.com/hooks/profile-launch",
      "invalidUrlHint": "Saisissez une URL valide http:// ou https://."
    },
    "actions": {
      "manageCookies": "Gérer les Cookies",
      "assignExtensionGroup": "Assigner un Groupe d'Extensions"
    },
    "clone": {
      "title": "Cloner le Profil",
      "description": "Entrez un nom pour le profil cloné",
      "namePlaceholder": "Nom du profil",
      "button": "Cloner"
    },
    "duplicate": "Dupliquer",
    "breadcrumbRoot": "Profil",
    "openDialog": "Ouvrir les paramètres",
    "sections": {
      "overview": "Aperçu",
      "fingerprint": "Empreinte",
      "network": "Réseau",
      "cookies": "Cookies",
      "extensions": "Extensions",
      "sync": "Synchronisation",
      "automation": "Automatisation",
      "security": "Sécurité",
      "delete": "Supprimer le profil",
      "activity": "Activité",
      "launchHook": "Hook de lancement"
    },
    "sectionDesc": {
      "fingerprint": "Configurez l’apparence de ce profil pour les scripts de fingerprinting.",
      "network": "Gérez le proxy ou le VPN utilisé par ce profil.",
      "cookies": "Importer, copier ou effacer les cookies de ce profil.",
      "extensions": "Choisissez les extensions à charger avec ce profil.",
      "sync": "Configurez la réplication de ce profil entre vos appareils.",
      "automation": "Exécutez une commande au lancement de ce profil.",
      "security": "Chiffrez les données du profil avec un mot de passe.",
      "launchHook": "Envoie une requête GET à cette URL à chaque lancement du profil."
    },
    "badges": {
      "locked": "VERROUILLÉ",
      "active": "ACTIF"
    },
    "cookies": {
      "runningNotice": "Impossible de lire les cookies pendant l'exécution du navigateur. Fermez d'abord ce profil.",
      "domainsHeader": "Domaines ({{count}})"
    },
    "security": {
      "protected": "Ce profil est chiffré par mot de passe.",
      "unprotected": "Ce profil n’est pas chiffré. Définissez un mot de passe pour chiffrer ses données.",
      "cannotWhileRunning": "Arrêtez le profil avant de modifier son mot de passe."
    },
    "fingerprint": {
      "notSupported": "L'édition des empreintes n'est disponible que pour les profils Wayfern.",
      "lockedTitle": "Afficher et modifier l'empreinte est une fonctionnalité Pro",
      "lockedDescription": "Les informations de votre appareil sont protégées dans chaque profil. Afficher et modifier l'empreinte d'un profil nécessite un forfait payant actif."
    },
    "syncStatusValue": {
      "waiting": "En attente",
      "syncing": "Synchronisation",
      "synced": "Synchronisé",
      "error": "Erreur"
    },
    "ephemeral": {
      "cookiesUnavailable": "Les profils éphémères sont supprimés à la fermeture du navigateur : il n'y a donc aucun cookie à gérer ici.",
      "extensionsUnavailable": "Les profils éphémères sont supprimés à la fermeture du navigateur : aucun groupe d'extensions ne peut leur être attribué.",
      "syncUnavailable": "Les profils éphémères sont supprimés à la fermeture du navigateur : il n'y a rien à synchroniser vers le cloud.",
      "hint": "Créez un profil normal si vous avez besoin de conserver ces données."
    }
  },
  "extensions": {
    "title": "Extensions",
    "description": "Gérez les extensions de navigateur et les groupes d'extensions pour vos profils.",
    "upload": "Télécharger",
    "delete": "Supprimer",
    "extensionsTab": "Extensions",
    "groupsTab": "Groupes",
    "managedNotice": "Les extensions gérées ici remplaceront toutes les extensions installées manuellement dans les profils lors du lancement.",
    "proRequired": "La gestion des extensions est une fonctionnalité Pro",
    "empty": "Aucune extension téléchargée pour l'instant.",
    "noGroups": "Aucun groupe d'extensions créé pour l'instant.",
    "createGroup": "Créer un Groupe",
    "newGroup": "Nouveau groupe",
    "addToGroup": "Ajouter une extension...",
    "removeFromGroup": "Retirer du groupe",
    "deleteGroup": "Supprimer le groupe",
    "extensionGroup": "Groupe d'Extensions",
    "compatibility": {
      "label": "Compatibilité",
      "chromium": "Chromium"
    },
    "selectedFile": "Fichier sélectionné",
    "namePlaceholder": "Nom de l'extension",
    "groupNamePlaceholder": "Nom du groupe",
    "uploadSuccess": "Extension téléchargée avec succès",
    "deleteSuccess": "Extension supprimée avec succès",
    "groupCreateSuccess": "Groupe d'extensions créé avec succès",
    "groupUpdateSuccess": "Groupe d'extensions mis à jour avec succès",
    "groupDeleteSuccess": "Groupe d'extensions supprimé avec succès",
    "deleteConfirmTitle": "Supprimer l'Extension",
    "deleteConfirmDescription": "Êtes-vous sûr de vouloir supprimer \"{{name}}\" ? Cette action est irréversible.",
    "deleteGroupConfirmTitle": "Supprimer le Groupe d'Extensions",
    "deleteGroupConfirmDescription": "Êtes-vous sûr de vouloir supprimer le groupe \"{{name}}\" ? Cette action est irréversible.",
    "invalidFileType": "Type de fichier non valide. Choisissez un fichier .crx ou .zip.",
    "readError": "Impossible de lire le fichier d'extension.",
    "assignTitle": "Assigner un Groupe d'Extensions",
    "assignDescription": "Assigner {{count}} profil(s) sélectionné(s) à un groupe d'extensions.",
    "noGroup": "Aucun (Pas de Groupe d'Extensions)",
    "assignSuccess": "Groupe d'extensions assigné avec succès",
    "editExtension": "Modifier l'extension",
    "updateSuccess": "Extension mise à jour avec succès",
    "version": "Version",
    "author": "Auteur",
    "homepage": "Page d'accueil",
    "editGroup": "Modifier le groupe",
    "editGroupDescription": "Mettez à jour le nom du groupe et gérez les extensions incluses.",
    "groupExtensions": "Extensions dans ce groupe",
    "noExtensionsInGroup": "Aucune extension ajoutée",
    "editExtensionDescription": "Modifiez le nom de l'extension, consultez ses métadonnées ou remplacez-la par une autre archive ou un autre dossier.",
    "metadata": "Métadonnées",
    "noMetadata": "Aucune métadonnée disponible depuis le manifeste.",
    "selectFile": "Choisir un fichier",
    "loadUnpacked": "Charger non empaquetée",
    "loadUnpackedTooltip": "Chargez une extension depuis un dossier contenant manifest.json",
    "selectFolderTitle": "Sélectionner le dossier de l'extension",
    "selectedFolder": "Dossier sélectionné",
    "selectFolder": "Choisir un dossier",
    "linkFolder": "Charger directement depuis ce dossier",
    "linkFolderOff": "Le dossier est copié dans Donut. L'extension est portable et se synchronise avec vos autres appareils.",
    "linkFolderOn": "Donut charge l'extension directement depuis ce dossier à chaque lancement. Vos modifications s'appliquent au prochain démarrage du navigateur, mais l'extension reste sur cet ordinateur et ne se synchronise jamais.",
    "replaceSource": "Remplacer la source",
    "linkedNoSync": "Les extensions liées restent sur cet ordinateur et ne peuvent pas être synchronisées.",
    "uploadFailed": "Échec de l'ajout de l'extension",
    "updateFailed": "Échec de la mise à jour de l'extension",
    "deleteFailed": "Échec de la suppression de l'extension",
    "groupCreateFailed": "Échec de la création du groupe d'extensions",
    "groupUpdateFailed": "Échec de la mise à jour du groupe d'extensions",
    "groupDeleteFailed": "Échec de la suppression du groupe d'extensions",
    "syncEnabled": "Synchronisation activée",
    "syncDisabled": "Synchronisation désactivée",
    "syncEnableTooltip": "Activer la synchronisation",
    "syncDisableTooltip": "Désactiver la synchronisation",
    "loadGroupsFailed": "Échec du chargement des groupes d'extensions",
    "assignGroupFailed": "Échec de l'attribution du groupe d'extensions",
    "bulkDelete": {
      "extensionsTitle": "Supprimer les extensions",
      "extensionsDescription": "Supprimer {{count}} extensions ? {{names}}",
      "groupsTitle": "Supprimer les groupes d'extensions",
      "groupsDescription": "Supprimer {{count}} groupes d'extensions ? {{names}}",
      "confirmButton": "Supprimer"
    },
    "source": {
      "label": "Source",
      "archive": "Archive",
      "unpacked": "Dossier non empaqueté",
      "linked": "Dossier lié",
      "folderLabel": "Dossier",
      "linkedTooltip": "Chargée directement depuis {{path}}"
    }
  },
  "pro": {
    "badge": "PRO",
    "fingerprintLocked": "La modification d'empreinte est une fonctionnalité Pro",
    "cookieCopyLocked": "La copie de cookies est une fonctionnalité Pro",
    "cookieImportLocked": "L'importation de cookies est une fonctionnalité Pro",
    "cookieExportLocked": "L'exportation de cookies est une fonctionnalité Pro",
    "cookieManagementLocked": "La gestion des cookies est une fonctionnalité Pro"
  },
  "dnsBlocklist": {
    "title": "Liste de blocage DNS",
    "none": "Aucun",
    "light": "Léger",
    "normal": "Normal",
    "pro": "Pro",
    "proPlus": "Pro++",
    "ultimate": "Ultime",
    "settingsDescription": "Les listes de blocage DNS bloquent les publicités, les traqueurs et les domaines malveillants au niveau du proxy. Les listes sont automatiquement rafraîchies toutes les 12 heures.",
    "manageLists": "Gérer les listes de blocage DNS",
    "refreshAll": "Rafraîchir toutes les listes",
    "refreshFailed": "Échec du rafraîchissement des listes de blocage DNS",
    "domains": "domaines",
    "fresh": "À jour",
    "stale": "Obsolète",
    "notCached": "Non mis en cache",
    "tabBlocklists": "Listes de blocage",
    "tabCustom": "Listes personnalisées",
    "custom.description": "Créez votre propre liste de blocage à partir d'URL sources et de règles manuelles. Les domaines autorisés priment toujours sur les domaines bloqués.",
    "custom.sourcesLabel": "URL sources de listes de blocage",
    "custom.sourcesPlaceholder": "Une URL par ligne",
    "custom.blockLabel": "Domaines bloqués",
    "custom.blockPlaceholder": "Un domaine par ligne",
    "custom.allowLabel": "Domaines autorisés",
    "custom.allowPlaceholder": "Un domaine par ligne",
    "custom.allowHint": "Les domaines autorisés sont retirés de la liste de blocage compilée et priment sur toute règle de blocage.",
    "custom.saved": "Règles DNS personnalisées enregistrées",
    "custom.imported": "Règles DNS personnalisées importées",
    "custom.exported": "Règles DNS personnalisées exportées",
    "custom.exportTxt": "Exporter en TXT",
    "custom.exportJson": "Exporter en JSON",
    "customLevel": "Personnalisée",
    "custom.allowlistModeLabel": "Mode liste d'autorisation",
    "custom.allowlistModeOn": "Seuls les domaines ci-dessous sont accessibles ; tout le reste est bloqué.",
    "custom.allowlistModeOff": "Bloquer les domaines listés ; autoriser tout le reste.",
    "custom.allowedOnlyLabel": "Domaines autorisés (uniquement ceux-ci)",
    "custom.allowedOnlyHint": "Les sous-domaines d'un domaine listé sont aussi autorisés. Une liste vide désactive le filtrage."
  },
  "vpns": {
    "form": {
      "titleEdit": "Modifier le VPN",
      "titleCreate": "Créer un VPN WireGuard",
      "descEdit": "Mettez à jour le nom de votre configuration VPN.",
      "descCreate": "Saisissez les détails de l'interface et du pair WireGuard.",
      "name": "Nom",
      "namePlaceholder": "ex. WireGuard Maison",
      "privateKey": "Clé Privée",
      "privateKeyPlaceholder": "Clé privée encodée en Base64",
      "address": "Adresse",
      "addressPlaceholder": "ex. 10.0.0.2/24",
      "dnsOptional": "DNS (optionnel)",
      "dnsPlaceholder": "ex. 1.1.1.1",
      "mtuOptional": "MTU (optionnel)",
      "mtuPlaceholder": "ex. 1420",
      "peerPublicKey": "Clé Publique du Pair",
      "peerPublicKeyPlaceholder": "Clé publique du pair encodée en Base64",
      "peerEndpoint": "Endpoint du Pair",
      "peerEndpointPlaceholder": "ex. vpn.example.com:51820",
      "allowedIps": "IPs Autorisées",
      "allowedIpsPlaceholder": "ex. 0.0.0.0/0, ::/0",
      "keepaliveOptional": "Keepalive Persistant (optionnel)",
      "keepalivePlaceholder": "ex. 25",
      "presharedKeyOptional": "Clé Pré-Partagée (optionnel)",
      "presharedKeyPlaceholder": "Clé pré-partagée encodée en Base64",
      "updateButton": "Mettre à Jour le VPN",
      "createButton": "Créer le VPN",
      "nameRequired": "Le nom du VPN est requis",
      "privateKeyRequired": "La clé privée est requise",
      "addressRequired": "L'adresse est requise",
      "peerPublicKeyRequired": "La clé publique du pair est requise",
      "peerEndpointRequired": "L'endpoint du pair est requis",
      "updated": "VPN mis à jour avec succès",
      "created": "VPN WireGuard créé avec succès",
      "updateFailed": "Échec de la mise à jour du VPN : {{error}}",
      "createFailed": "Échec de la création du VPN : {{error}}"
    },
    "import": {
      "title": "Importer la Configuration VPN",
      "descDropzone": "Importez un fichier de configuration WireGuard (.conf)",
      "descPreview": "Vérifiez la configuration VPN à importer",
      "descResult": "Importation VPN terminée",
      "dropzonePrompt": "Déposez un fichier .conf WireGuard ici ou cliquez pour parcourir",
      "pasteHint": "Coller depuis le presse-papiers avec {{modKey}}+V",
      "invalidContent": "Le contenu ne semble pas être une configuration VPN valide",
      "fileReadError": "Échec de la lecture du fichier",
      "wrongFileType": "Veuillez déposer un fichier .conf WireGuard",
      "configurationLabel": "Configuration {{type}}",
      "endpointLabel": "Endpoint : {{endpoint}}",
      "vpnNameLabel": "Nom du VPN",
      "vpnNamePlaceholder": "Mon VPN",
      "configPreview": "Aperçu de la Configuration",
      "importedSuccess": "VPN Importé avec Succès",
      "importFailed": "Échec de l'Importation",
      "importButton": "Importer le VPN",
      "doneButton": "Terminé",
      "failedGeneric": "Échec de l'import de la configuration VPN",
      "defaultName": "VPN {{type}}"
    },
    "management": {
      "loading": "Chargement des VPN...",
      "noneCreated": "Aucune configuration VPN. Importez ou créez-en une avec les boutons ci-dessus.",
      "editVpn": "Modifier le VPN",
      "deleteVpn": "Supprimer le VPN",
      "cannotDelete_one": "Suppression impossible : utilisé par {{count}} profil",
      "cannotDelete_other": "Suppression impossible : utilisé par {{count}} profils",
      "cannotDelete_many": "Suppression impossible : utilisé par {{count}} profils",
      "syncCannotDisable": "La sync ne peut pas être désactivée tant que ce VPN est utilisé par des profils synchronisés",
      "deleteSuccess": "VPN supprimé avec succès",
      "deleteFailed": "Échec de la suppression du VPN",
      "deleteTitle": "Supprimer le VPN",
      "deleteDescription": "Cette action est irréversible. Le VPN « {{name}} » sera supprimé définitivement."
    }
  },
  "importProfile": {
    "title": "Importer un profil de navigateur",
    "autoDetect": "Détection automatique",
    "manualImport": "Import manuel",
    "detectedProfilesTitle": "Profils de navigateur détectés",
    "scanning": "Recherche de profils de navigateur...",
    "noneFound": "Aucun profil de navigateur trouvé sur votre système.",
    "noneFoundHint": "Essayez l'import manuel si vos profils sont dans des emplacements personnalisés.",
    "newProfileName": "Nom du nouveau profil :",
    "newProfileNamePlaceholder": "Entrez un nom pour le profil importé",
    "manualTitle": "Import manuel de profil",
    "profileFolderPath": "Chemin du dossier du profil :",
    "profileFolderPlaceholder": "Entrez le chemin complet vers le dossier du profil",
    "browseFolderTitle": "Parcourir le dossier",
    "examplePaths": "Exemples de chemins :",
    "selectFolderTitle": "Sélectionnez un dossier de profil de navigateur",
    "folderDialogFailed": "Échec de l'ouverture de la boîte de dialogue de dossier",
    "detectFailed": "Échec de la détection des profils de navigateur existants",
    "proxyOptional": "Proxy (optionnel)",
    "noProxy": "Aucun proxy",
    "nextButton": "Suivant",
    "importedAs": "Ce profil sera importé en tant que profil {{browser}}.",
    "selectAll": "Tout sélectionner",
    "selectedCount": "{{count}} sélectionné(s)",
    "scanButton": "Analyser",
    "manualHint": "Choisissez un dossier de profil, un dossier de données utilisateur du navigateur, un dossier de profils exportés ou une archive ZIP.",
    "selectArchiveTitle": "Sélectionner une archive ZIP",
    "noProfilesInLocation": "Aucun profil trouvé à cet emplacement.",
    "selectAtLeastOne": "Sélectionnez au moins un profil à importer",
    "emptyNames": "Chaque profil sélectionné doit avoir un nom",
    "profilesToImport": "Profils à importer",
    "groupOptional": "Groupe (facultatif)",
    "noGroup": "Aucun groupe",
    "createNewGroup": "Créer un nouveau groupe…",
    "newGroupNamePlaceholder": "Nom du nouveau groupe",
    "duplicateStrategyLabel": "Si le nom du profil existe déjà",
    "duplicateRename": "Renommer automatiquement",
    "duplicateSkip": "Ignorer",
    "proxyRoundRobin": "Répartir les proxys enregistrés (round-robin)",
    "importingTitle": "Importation des profils…",
    "importProgress": "{{completed}} sur {{total}} traités",
    "resultsSummary": "{{imported}} importés, {{skipped}} ignorés, {{failed}} échoués",
    "statusImported": "Importé",
    "statusSkipped": "Ignoré",
    "statusFailed": "Échec",
    "importButtonCount": "Importer ({{count}})",
    "vpnOptional": "VPN (facultatif)",
    "noVpn": "Sans VPN",
    "advancedOptions": "Options avancées",
    "configureFingerprint": "Configurer l'empreinte (facultatif)",
    "reportCookies": "Cookies",
    "reportPasswords": "Mots de passe",
    "reportAutofill": "Moyens de paiement",
    "reportExtensions": "Extensions",
    "reportHistory": "Historique",
    "reportBookmarks": "Favoris",
    "reportLocalStorage": "Données de sites",
    "reportNothingCarried": "Aucune donnée lisible n'a été transférée",
    "reportUnrecoverable": "Déchiffrement impossible : {{count}}",
    "closeSourceBrowserHint": "Fermez le navigateur source et réessayez pour obtenir une copie complète, ou importez maintenant en acceptant que les données de sites soient incomplètes.",
    "importAnyway": "Importer quand même",
    "warnings": {
      "secretsNotMigrated": "Les cookies et les mots de passe n'ont pas pu être déverrouillés : vous devrez vous reconnecter.",
      "appBoundEncrypted": "Chrome 127+ sous Windows lie les cookies au navigateur lui-même ; aucune autre application ne peut les migrer.",
      "storeTooOld": "Une base de données était trop ancienne pour ce navigateur et a été ignorée.",
      "storeTooNew": "Une base de données provient d'un navigateur plus récent que celui-ci et a été ignorée.",
      "sourceBrowserRunning": "Le navigateur source était en cours d'exécution, les données de sites peuvent donc être incomplètes.",
      "securePreferencesReset": "Les réglages protégés, comme la page d'accueil et le moteur de recherche, sont revenus aux valeurs par défaut.",
      "extensionsPartial": "Certaines extensions appartenaient au navigateur source et n'ont pas été transférées.",
      "storeUnreadable": "Une base de données n'a pas pu être lue et a été ignorée plutôt que copiée endommagée."
    }
  },
  "syncTooltips": {
    "syncing": "Synchronisation...",
    "syncedAt": "Synchronisé {{time}}",
    "synced": "Synchronisé",
    "waiting": "En attente de synchronisation",
    "errorWith": "Erreur de synchronisation : {{error}}",
    "error": "Erreur de synchronisation",
    "notSynced": "Non synchronisé",
    "enable": "Activer la synchronisation",
    "disable": "Désactiver la synchronisation",
    "lockedInUse": "La synchronisation est verrouillée tant qu'un profil synchronisé l'utilise",
    "bulkToggle": "Basculer la synchronisation"
  },
  "groupManagement": {
    "description": "Gérez vos groupes de profils",
    "createGroup": "Créer un groupe",
    "noGroups": "Aucun groupe créé. Créez votre premier groupe avec le bouton ci-dessus.",
    "loading": "Chargement des groupes...",
    "profileCount_one": "{{count}} profil",
    "profileCount_other": "{{count}} profils",
    "profileCount_many": "{{count}} profils",
    "groupsLabel": "Groupes",
    "profilesCol": "Profils",
    "syncCannotDisable": "La sync ne peut pas être désactivée tant que ce groupe est utilisé par des profils synchronisés",
    "editGroupTooltip": "Modifier le groupe",
    "deleteGroupTooltip": "Supprimer le groupe",
    "loadFailed": "Échec du chargement des groupes",
    "bulkDelete": {
      "title": "Supprimer les groupes",
      "description": "Êtes-vous sûr de vouloir supprimer {{count}} groupes ? {{names}}. Les profils seront déplacés vers Par défaut.",
      "description_one": "Êtes-vous sûr de vouloir supprimer {{count}} groupe ? {{names}}. Les profils seront déplacés vers Par défaut.",
      "confirmButton": "Supprimer les groupes"
    }
  },
  "proxyAssignment": {
    "title": "Assigner un proxy / VPN",
    "description_one": "Assigner un proxy ou VPN à {{count}} profil sélectionné.",
    "description_other": "Assigner un proxy ou VPN à {{count}} profils sélectionnés.",
    "description_many": "Assigner un proxy ou VPN à {{count}} profils sélectionnés.",
    "selectLabel": "Proxy / VPN",
    "placeholder": "Sélectionnez un proxy ou VPN",
    "noProxy": "Aucun proxy / VPN",
    "searchPlaceholder": "Rechercher des proxys ou VPN...",
    "notFound": "Aucun proxy ou VPN trouvé.",
    "assignButton": "Assigner",
    "success": "Proxy/VPN assigné à {{count}} profil(s)",
    "failed": "Échec de l'assignation du proxy/VPN",
    "selectedProfilesLabel": "Profils sélectionnés :",
    "assignProxyVpnLabel": "Assigner un proxy / VPN :",
    "noneOption": "Aucun",
    "noValidProfiles": "Aucun profil valide sélectionné.",
    "vpnGroupHeading": "VPN",
    "failedFallback": "Échec de l'assignation du proxy/VPN aux profils"
  },
  "groupAssignment": {
    "title": "Assigner un groupe",
    "description_one": "Assigner un groupe à {{count}} profil sélectionné.",
    "description_other": "Assigner un groupe à {{count}} profils sélectionnés.",
    "description_many": "Assigner un groupe à {{count}} profils sélectionnés.",
    "selectLabel": "Groupe",
    "placeholder": "Sélectionnez un groupe",
    "noGroup": "Aucun groupe (par défaut)",
    "assignButton": "Assigner",
    "success": "Groupe assigné à {{count}} profil(s)",
    "failed": "Échec de l'assignation du groupe",
    "selectedProfilesLabel": "Profils sélectionnés :",
    "assignGroupLabel": "Assigner à un groupe :",
    "noValidProfiles": "Aucun profil valide sélectionné.",
    "failedFallback": "Échec de l'assignation du groupe aux profils"
  },
  "profileSelector": {
    "title": "Sélectionner un profil",
    "description": "Choisissez un profil pour ouvrir cette URL",
    "searchPlaceholder": "Rechercher des profils...",
    "noProfiles": "Aucun profil disponible",
    "noResults": "Aucun profil ne correspond à votre recherche",
    "selectButton": "Sélectionner",
    "launching": "Lancement...",
    "chooseProfileTitle": "Choisir un profil",
    "openingUrl": "Ouverture de l'URL :",
    "urlCopied": "URL copiée dans le presse-papiers !",
    "selectProfileLabel": "Sélectionner un profil :",
    "noneAvailableShort": "Aucun profil disponible. Veuillez d'abord créer un profil.",
    "noneAvailableLong": "Fermez cette boîte de dialogue et créez un profil depuis la fenêtre principale pour commencer.",
    "chooseAProfile": "Choisissez un profil",
    "badgeProxy": "Proxy",
    "badgeRunning": "En cours",
    "badgeUnavailable": "Indisponible",
    "openButton": "Ouvrir"
  },
  "wayfernTerms": {
    "title": "Conditions générales de Wayfern",
    "description": "Avant d'utiliser Donut Browser, vous devez lire et accepter les Conditions Générales de Wayfern.",
    "reviewLabel": "Veuillez consulter les Conditions Générales sur :",
    "agreeNotice": "En cliquant sur « J'accepte », vous acceptez ces conditions.",
    "acceptButton": "J'accepte",
    "acceptSuccess": "Conditions acceptées avec succès",
    "acceptFailed": "Échec de l'acceptation des conditions",
    "tryAgain": "Veuillez réessayer"
  },
  "commercialTrial": {
    "title": "Période d'essai commerciale expirée",
    "description": "Votre période d'essai commercial de 2 semaines est terminée.",
    "body": "Si vous utilisez Donut Browser à des fins professionnelles, vous devez acheter une licence commerciale pour continuer. Vous pouvez toujours l'utiliser gratuitement à des fins personnelles.",
    "understandButton": "J'ai compris",
    "failed": "Échec de l'enregistrement de la confirmation",
    "tryAgain": "Veuillez réessayer"
  },
  "permissionDialog": {
    "titleMicrophone": "Accès au microphone requis",
    "titleCamera": "Accès à la caméra requis",
    "descMicrophone": "Donut Browser a besoin d'accéder à votre microphone pour activer la fonctionnalité microphone dans les navigateurs. Chaque site web qui voudra utiliser votre microphone vous demandera quand même votre permission individuellement.",
    "descCamera": "Donut Browser a besoin d'accéder à votre caméra pour activer la fonctionnalité caméra dans les navigateurs. Chaque site web qui voudra utiliser votre caméra vous demandera quand même votre permission individuellement.",
    "grantedMicrophone": "Permission accordée ! Les navigateurs lancés depuis Donut Browser peuvent maintenant accéder à votre microphone.",
    "grantedCamera": "Permission accordée ! Les navigateurs lancés depuis Donut Browser peuvent maintenant accéder à votre caméra.",
    "notGrantedMicrophone": "Permission non accordée. Cliquez sur le bouton pour demander l'accès à votre microphone.",
    "notGrantedCamera": "Permission non accordée. Cliquez sur le bouton pour demander l'accès à votre caméra.",
    "doneButton": "Terminé",
    "cancelButton": "Annuler",
    "grantAccessButton": "Accorder l'accès",
    "requestSuccessMicrophone": "Accès au microphone demandé",
    "requestSuccessCamera": "Accès à la caméra demandé",
    "requestFailed": "Échec de la demande de permission",
    "stillNotGrantedMicrophone": "L'accès au microphone n'a toujours pas été accordé. Vous devrez peut-être l'activer manuellement dans Réglages Système → Confidentialité et sécurité → Microphone.",
    "stillNotGrantedCamera": "L'accès à la caméra n'a toujours pas été accordé. Vous devrez peut-être l'activer manuellement dans Réglages Système → Confidentialité et sécurité → Caméra.",
    "grantedToastMicrophone": "Accès au microphone accordé",
    "grantedToastCamera": "Accès à la caméra accordé"
  },
  "traffic": {
    "title": "Détails du trafic",
    "bandwidthOverTime": "Bande passante au fil du temps",
    "timePeriodPlaceholder": "Période",
    "last1m": "Dernière 1 min",
    "last5m": "Dernières 5 min",
    "last30m": "Dernières 30 min",
    "last1h": "Dernière 1 h",
    "last2h": "Dernières 2 h",
    "last4h": "Dernières 4 h",
    "last1d": "Dernier jour",
    "last7d": "Derniers 7 jours",
    "last30d": "Derniers 30 jours",
    "allTime": "Tout",
    "allTimeShort": "tout le temps",
    "totalSuffix": "total",
    "sentLabel": "Envoyé ({{period}})",
    "receivedLabel": "Reçu ({{period}})",
    "requestsLabel": "Requêtes ({{period}})",
    "allTimeTraffic": "Trafic total :",
    "allTimeRequests": "Requêtes totales :",
    "proxyDisclaimer": "Note : Si vous utilisez un proxy, VPN ou service similaire, votre fournisseur peut calculer le trafic différemment en raison du surcoût de chiffrement et des différences de protocole.",
    "topByTraffic": "Principaux domaines par trafic ({{period}})",
    "topByRequests": "Principaux domaines par requêtes ({{period}})",
    "columnDomain": "Domaine",
    "columnRequests": "Requêtes",
    "columnSent": "Envoyé",
    "columnReceived": "Reçu",
    "columnTotal": "Trafic total",
    "uniqueIps": "IPs uniques ({{count}})",
    "noData": "Aucune donnée de trafic disponible pour ce profil.",
    "noDataHint": "Les données de trafic apparaîtront après le lancement du profil.",
    "sentLegend": "Envoyé",
    "receivedLegend": "Reçu",
    "tooltipSent": "↑ Envoyé : ",
    "tooltipReceived": "↓ Reçu : ",
    "clearHistory": "Effacer l'historique",
    "clearHistoryTitle": "Effacer l'historique de trafic",
    "clearHistoryDescription": "Efface définitivement et en toute sécurité tout l'historique de trafic enregistré pour « {{name}} ». Cette action est irréversible.",
    "tabOverview": "Vue d'ensemble",
    "tabTopDomains": "Principaux domaines",
    "searchDomains": "Rechercher des domaines…",
    "noDomainMatch": "Aucun domaine ne correspond à votre recherche."
  },
  "proxyCheck": {
    "unknownLocation": "Inconnu",
    "locationToast": "L'emplacement de votre proxy est :",
    "failed": "Échec de la vérification du proxy : {{error}}",
    "tooltipChecking": "Vérification du proxy...",
    "tooltipIp": "IP : {{ip}}",
    "tooltipChecked": "Vérifié {{time}}",
    "tooltipFailed": "Échec {{time}}",
    "tooltipFailedTitle": "Échec de la vérification du proxy",
    "tooltipDefault": "Vérifier la validité du proxy"
  },
  "vpnCheck": {
    "valid": "La configuration VPN « {{name}} » est valide",
    "invalid": "La configuration VPN « {{name}} » est invalide",
    "failed": "Échec de la vérification du VPN : {{error}}",
    "tooltipChecking": "Vérification de la configuration VPN...",
    "tooltipValid": "Configuration valide",
    "tooltipInvalid": "Configuration invalide",
    "tooltipChecked": "Vérifié {{time}}",
    "tooltipDefault": "Vérifier la validité de la configuration VPN"
  },
  "profileTable": {
    "syncTooltipDisabled": "Sync désactivée",
    "syncTooltipSyncing": "Synchronisation...",
    "syncTooltipSyncedAt": "Synchronisé {{time}}",
    "syncTooltipSynced": "Synchronisé",
    "syncTooltipWaiting": "En attente de synchronisation",
    "syncTooltipErrorWith": "Erreur de sync : {{error}}",
    "syncTooltipError": "Erreur de synchronisation",
    "syncTooltipNotSynced": "Non synchronisé",
    "noTags": "Aucune étiquette",
    "syncTooltipCloseToSync": "Fermez le profil pour synchroniser",
    "syncTooltipDisabledWithLast": "Sync désactivée, dernière sync {{time}}",
    "addTagsPlaceholder": "Ajouter des étiquettes",
    "tagsHeader": "Étiquettes",
    "noteHeader": "Note",
    "vpnsHeading": "VPN",
    "createByCountryHeading": "Créer par pays"
  },
  "dataTableActionBar": {
    "selected": "{{count}} sélectionné(s)",
    "clearSelection": "Effacer la sélection"
  },
  "appUpdate": {
    "toast": {
      "updateFailed": "Échec de la mise à jour de Donut Browser",
      "restartFailed": "Échec du redémarrage",
      "updateReady": "Mise à jour prête, redémarrer pour appliquer",
      "manualDownloadRequired": "Téléchargement manuel requis",
      "restartNow": "Redémarrer maintenant",
      "viewRelease": "Voir la version",
      "later": "Plus tard",
      "uploading": "Envoi",
      "downloading": "Téléchargement",
      "startingUpdate": "Démarrage de la mise à jour..."
    }
  },
  "browserDownload": {
    "toast": {
      "fetchVersionsFailed": "Échec de la récupération des versions de {{browser}}",
      "foundNewVersions": "{{count}} nouvelles versions de {{browser}} trouvées !",
      "totalAvailableVersions": "Total disponible : {{count}} versions",
      "downloadFailed": "Échec du téléchargement de {{browser}} {{version}}",
      "calculating": "calcul en cours...",
      "extractionFailed": "{{browser}} {{version}} : échec de l’extraction",
      "extractionFailedDescription": "Le fichier corrompu a été supprimé. Il sera retéléchargé lors de la prochaine tentative.",
      "extracting": "Extraction des fichiers du navigateur... Ne fermez pas l'application.",
      "verifying": "Vérification des fichiers du navigateur...",
      "downloadingRolling": "Téléchargement de la version rolling release...",
      "geoipDownloading": "Téléchargement de la base de données GeoIP",
      "geoipDownloaded": "Base de données GeoIP téléchargée avec succès !"
    }
  },
  "versionUpdater": {
    "toast": {
      "alreadyAvailable": "{{browser}} {{version}} déjà disponible",
      "updatingProfiles": "Mise à jour des configurations de profil...",
      "updateCompleted": "Mise à jour de {{browser}} terminée",
      "singleProfileUpdated": "Le profil « {{name}} » a été mis à jour vers la version {{version}}. Vous pouvez maintenant lancer vos navigateurs avec la dernière version.",
      "multipleProfilesUpdated": "{{count}} profils ont été mis à jour vers la version {{version}}. Vous pouvez maintenant lancer vos navigateurs avec la dernière version.",
      "versionAvailable": "La version {{version}} est désormais disponible. Les profils en cours d’exécution utiliseront la nouvelle version au redémarrage.",
      "autoUpdateFailed": "Échec de la mise à jour automatique de {{browser}}",
      "updateWithErrors": "Mise à jour terminée avec des erreurs",
      "updateWithErrorsDescription": "{{newVersions}} nouvelles versions trouvées, {{failedUpdates}} navigateurs n’ont pas pu être mis à jour",
      "updateSuccess": "Versions de navigateur mises à jour avec succès",
      "updateSuccessDescription": "{{newVersions}} nouvelles versions trouvées sur {{successfulUpdates}} navigateurs. Les téléchargements automatiques commenceront sous peu.",
      "upToDate": "Aucune nouvelle version de navigateur trouvée",
      "upToDateDescription": "Toutes les versions des navigateurs sont à jour",
      "updateAllFailed": "Échec de la mise à jour des versions des navigateurs",
      "updateStarted": "Mise à jour de {{browser}} démarrée",
      "updateStartedDescription": "Le téléchargement de la version {{version}} va bientôt commencer. Le lancement du navigateur est désactivé jusqu'à la fin de la mise à jour.",
      "downloadStarting": "Démarrage du téléchargement de {{browser}} {{version}}",
      "downloadProgressBelow": "La progression du téléchargement sera affichée ci-dessous...",
      "autoDownloadStarted": "Téléchargement automatique de {{browser}} {{version}}. La progression sera affichée ci-dessous.",
      "lookingForUpdates": "Recherche de mises à jour pour {{browser}}"
    }
  },
  "profilePassword": {
    "set": {
      "title": "Définir un mot de passe de profil",
      "description": "Chiffre les données sur disque de {{name}}. Vous devrez saisir ce mot de passe à chaque lancement du profil.",
      "button": "Chiffrer le profil"
    },
    "unlock": {
      "title": "Déverrouiller le profil",
      "description": "Saisissez le mot de passe pour déverrouiller {{name}}.",
      "button": "Déverrouiller"
    },
    "change": {
      "title": "Changer le mot de passe du profil",
      "description": "Re-chiffre {{name}} avec un nouveau mot de passe.",
      "button": "Changer le mot de passe"
    },
    "remove": {
      "title": "Supprimer le mot de passe du profil",
      "description": "Déchiffre les données sur disque de {{name}}. Le profil ne sera plus protégé par mot de passe.",
      "button": "Supprimer le mot de passe"
    },
    "fields": {
      "password": "Mot de passe",
      "currentPassword": "Mot de passe actuel",
      "newPassword": "Nouveau mot de passe",
      "confirm": "Confirmer le mot de passe",
      "confirmPassword": "Confirmer le nouveau mot de passe"
    },
    "errors": {
      "oldPasswordRequired": "Le mot de passe actuel est requis",
      "passwordRequired": "Le mot de passe est requis",
      "tooShort": "Le mot de passe doit comporter au moins 8 caractères",
      "mismatch": "Les mots de passe ne correspondent pas"
    },
    "toasts": {
      "set": "Le profil est maintenant protégé par mot de passe",
      "changed": "Mot de passe du profil modifié",
      "removed": "Mot de passe du profil supprimé"
    },
    "warnings": {
      "forgetWarningTitle": "Important : ce mot de passe ne peut pas être récupéré",
      "forgetWarningBody": "Donut Browser ne peut ni réinitialiser, ni récupérer, ni contourner ce mot de passe. Si vous l'oubliez, vous perdrez définitivement l'accès aux données de ce profil."
    },
    "modes": {
      "set": "Définir",
      "change": "Modifier",
      "remove": "Supprimer",
      "validate": "Valider"
    },
    "verifyDialog": {
      "title": "Valider le mot de passe du profil",
      "description": "Saisissez le mot de passe du profil pour vérifier qu'il correspond à celui enregistré sur le disque.",
      "submit": "Valider",
      "matchToast": "Le mot de passe est correct"
    }
  },
  "backendErrors": {
    "incorrectPassword": "Mot de passe incorrect",
    "lockedOut": "Trop de tentatives incorrectes. Réessayez dans {{duration}}.",
    "lockedOutDuration": {
      "seconds": "{{seconds}}s",
      "minutes": "{{minutes}} min",
      "hours": "{{hours}} h"
    },
    "profileNotFound": "Profil introuvable",
    "profileNotProtected": "Le profil n'est pas protégé par mot de passe",
    "profileAlreadyProtected": "Le profil est déjà protégé par mot de passe",
    "profileRunning": "Impossible d'effectuer cette action pendant que le profil est en cours d'exécution",
    "profileEphemeral": "Les profils éphémères ne peuvent pas être protégés par mot de passe — leurs données s'effacent à la fermeture.",
    "profileMissingSalt": "Le sel de chiffrement du profil est manquant",
    "profileLocked": "Le profil est verrouillé. Entrez d'abord le mot de passe.",
    "invalidProfileId": "Identifiant de profil non valide",
    "passwordTooShort": "Le mot de passe doit comporter au moins {{min}} caractères",
    "proxyNotFound": "Proxy introuvable",
    "groupNotFound": "Groupe introuvable",
    "groupAlreadyExists": "Un groupe portant ce nom existe déjà",
    "vpnNotFound": "VPN introuvable",
    "extensionNotFound": "Extension introuvable",
    "extensionGroupNotFound": "Groupe d'extensions introuvable",
    "extensionUnsupportedFileType": "Ce type de fichier n'est pas pris en charge. Une extension doit être une archive .crx ou .zip, ou un dossier.",
    "extensionDirNotFound": "Ce dossier n'existe plus.",
    "extensionNotADirectory": "Ce chemin n'est pas un dossier.",
    "extensionManifestMissing": "Il n'y a pas de manifest.json dans ce dossier. Choisissez le dossier qui contient le manifest.json de l'extension.",
    "extensionManifestInvalid": "Le fichier manifest.json de ce dossier n'a pas pu être lu.",
    "extensionDirTooLarge": "Ce dossier est trop volumineux pour être copié dans Donut (la limite est de 256 Mo et 20 000 fichiers). Liez-le sur place à la place.",
    "extensionPathHasComma": "Le chemin de ce dossier contient une virgule, que Chromium ne peut pas charger. Renommez ou déplacez le dossier.",
    "extensionLinkRequiresDirectory": "Seul un dossier peut être chargé sur place. Désactivez la liaison pour ajouter une archive.",
    "extensionLinkedCannotSync": "Cette extension est chargée depuis un dossier de cet ordinateur : il n'y a rien à synchroniser.",
    "cannotModifyCloudManagedProxy": "Impossible de modifier la synchronisation d'un proxy géré dans le cloud",
    "syncLockedByProfile": "La synchronisation ne peut pas être désactivée tant qu'elle est utilisée par des profils synchronisés",
    "syncNotConfigured": "La synchronisation n'est pas configurée. Connectez-vous ou configurez un serveur auto-hébergé.",
    "internal": "Une erreur s'est produite : {{detail}}",
    "invalidLaunchHookUrl": "URL du hook de lancement invalide. Utilisez une URL http:// ou https:// complète.",
    "cookieDbLocked": "Impossible de lire les cookies — la base de données est verrouillée. Fermez le navigateur et réessayez.",
    "cookieDbUnavailable": "Impossible de lire les cookies — le magasin de cookies est indisponible.",
    "cookieImportBrowserRunning": "Impossible d'importer des cookies pendant que le navigateur est ouvert. Fermez-le et réessayez.",
    "cookieImportProfileProtected": "Impossible d'importer des cookies dans un profil protégé par mot de passe. Retirez d'abord le mot de passe.",
    "cookieImportRemoteSession": "Impossible d'importer des cookies tant qu'une session distante détient ce profil. Attendez la fin de la synchronisation.",
    "cookieImportNoCookies": "Aucun cookie n'a été trouvé dans ce que vous avez collé.",
    "selfHostedRequiresLogout": "Déconnectez-vous de votre compte Donut avant de configurer un serveur auto-hébergé.",
    "fingerprintRequiresPro": "Afficher ou modifier l'empreinte nécessite un forfait payant actif. La protection est incluse dans tous les forfaits.",
    "proxyNotWorking": "Le proxy sélectionné ne fonctionne pas, le profil n'a donc pas été créé.",
    "proxyPaymentRequired": "Le proxy sélectionné requiert un paiement (402) — son abonnement a peut-être expiré — le profil n'a donc pas été créé.",
    "vpnNotWorking": "Le VPN sélectionné ne fonctionne pas, le profil n'a donc pas été créé.",
    "camoufoxImportDeprecated": "L'importation de ce type de profil n'est plus prise en charge. Veuillez utiliser Wayfern à la place.",
    "updateChecksumsUnavailable": "La mise à jour {{version}} n'a pas pu être vérifiée car son fichier de sommes de contrôle n'a pas pu être récupéré. La mise à jour n'a pas été installée ; une nouvelle tentative aura lieu plus tard.",
    "updateChecksumMismatch": "Le fichier de mise à jour téléchargé {{file}} a échoué à la vérification de la somme de contrôle et a été supprimé. Veuillez réessayer.",
    "browserChecksumUnavailable": "{{browser}} {{version}} n'a pas pu être vérifié car son fichier de sommes de contrôle n'a pas pu être récupéré. Le téléchargement a été interrompu ; une nouvelle tentative aura lieu plus tard.",
    "browserChecksumMismatch": "L'archive {{browser}} {{version}} téléchargée a échoué à la vérification de la somme de contrôle et a été supprimée. Veuillez réessayer.",
    "nameCannotBeEmpty": "Le nom ne peut pas être vide",
    "wayfernVersionNotAvailable": "La version {{requested}} de Wayfern n'est pas disponible au téléchargement. La version actuelle est {{current}}.",
    "profileNameExists": "Un profil nommé « {{name}} » existe déjà",
    "importSourceNotFound": "Le chemin source n'existe pas",
    "importNoItems": "Rien n'est sélectionné pour l'importation",
    "browserNotDownloaded": "Aucune version téléchargée de {{browser}} n'est disponible. Téléchargez-la d'abord, puis réessayez l'importation.",
    "archiveExtractionFailed": "Échec de l'extraction de l'archive : {{detail}}",
    "unsupportedArchiveFormat": "Format d'archive non pris en charge. Seules les archives ZIP sont prises en charge.",
    "clearOnCloseUnavailable": "L'effacement à la fermeture n'est pas disponible pour les profils éphémères ou protégés par mot de passe.",
    "proxyAndVpnMutuallyExclusive": "Un profil peut utiliser un proxy ou un VPN, mais pas les deux.",
    "invalidDnsRulesJson": "Le fichier sélectionné n'est pas un JSON de règles DNS valide.",
    "unsupportedDnsRulesFormat": "Format de règles non pris en charge : {{format}}",
    "dnsRulesSaveFailed": "Échec de l'enregistrement des règles DNS.",
    "dnsRulesExportFailed": "Échec de l'exportation des règles DNS.",
    "fingerprintMatchFailed": "Impossible d'aligner l'empreinte sur le proxy.",
    "proxySidecarVersionMismatch": "Certains fichiers de Donut Browser proviennent de versions différentes. Réinstallez la dernière mise à jour ; vos profils resteront intacts.",
    "updateProfilesRunning": "Arrêtez tous les profils en cours d’exécution avant d’installer la mise à jour.",
    "updatePreparationFailed": "Donut Browser n’a pas pu arrêter en toute sécurité un processus réseau en arrière-plan. Redémarrez l’ordinateur, puis réessayez la mise à jour.",
    "wayfernTermsRequired": "Acceptez les conditions générales de Wayfern avant de démarrer le serveur MCP.",
    "apiPortUnavailable": "Le serveur API n’a trouvé aucun port disponible.",
    "mcpServerAlreadyRunning": "Le serveur MCP est déjà en cours d’exécution.",
    "mcpServerNotRunning": "Le serveur MCP n’est pas en cours d’exécution.",
    "mcpPortUnavailable": "Le serveur MCP n’a trouvé aucun port disponible.",
    "mcpConfigurationUnavailable": "La configuration du serveur MCP est indisponible. Redémarrez le serveur et réessayez.",
    "mcpAgentUnknown": "Ce client MCP n’est pas pris en charge.",
    "mcpAgentInstallFailed": "Impossible d’ajouter Donut Browser au client MCP : {{detail}}",
    "mcpAgentRemoveFailed": "Impossible de retirer Donut Browser du client MCP : {{detail}}",
    "vlessConfigInvalid": "L’URI VLESS n’est pas valide.",
    "xrayUnavailable": "Xray-core n’est pas disponible sur ce système.",
    "xrayUnsupportedOs": "VLESS nécessite macOS 12 ou une version ultérieure.",
    "xrayStartFailed": "Impossible de démarrer Xray-core.",
    "cloudNotSignedIn": "Connectez-vous à votre compte Donut Browser pour utiliser cette fonction.",
    "cloudUnreachable": "Impossible de joindre les serveurs de Donut Browser. Vérifiez votre connexion et réessayez.",
    "cloudRequestFailed": "La requête a échoué. Réessayez dans un instant.",
    "remoteRateLimited": "Trop de requêtes. Patientez un instant et réessayez.",
    "remoteNoCapacity": "Aucune machine distante n'est libre pour le moment. Réessayez dans quelques minutes.",
    "remoteNotEntitled": "Votre forfait n'inclut pas l'exécution à distance.",
    "remoteInteractiveNotEntitled": "Votre forfait inclut des heures distantes uniquement pour le Cookie Bot, pas pour les sessions distantes interactives.",
    "remoteRequiresRemoteExitNode": "Le proxy de ce profil ne fonctionne que sur cet ordinateur (par exemple 127.0.0.1 ou une adresse de réseau local). Les sessions distantes s'exécutent sur nos hôtes et ont donc besoin d'un proxy avec une adresse publique.",
    "remoteSessionRefused": "La machine distante a refusé cette session.",
    "remoteSessionNotFound": "Cette session distante n'existe plus.",
    "remoteSessionConflict": "Ce profil est déjà ouvert ailleurs.",
    "remoteSyncInProgress": "Ce profil est encore en cours d'envoi vers la synchronisation cloud. Attendez la fin, puis réessayez.",
    "remoteHoursExhausted": "Vous avez utilisé les {{used}} de vos {{granted}} heures distantes de ce mois.",
    "notTeamMember": "Vous n'appartenez à aucune équipe.",
    "cookieBotNotEntitled": "Votre forfait n'inclut pas Cookie Bot.",
    "cookieBotNotEnrolled": "Ce profil n'est pas encore configuré pour Cookie Bot.",
    "cookieBotScheduleConflict": "{{email}} chauffe déjà ce profil à {{time}}.",
    "cookieBotRunInProgress": "Une exécution est déjà en cours pour ce profil.",
    "cookieBotRunNotFound": "Cette exécution n'existe plus.",
    "cookieBotInvalidSchedule": "Cette planification n'est pas valide. Vérifiez l'heure, les jours et la durée.",
    "cookieBotInvalidTimezone": "{{timezone}} n'est pas un fuseau horaire reconnu par le serveur.",
    "cookieBotInvalidPeriod": "Cette période n'est pas valide. Utilisez un mois tel que 2026-08.",
    "cookieBotSiteLimit": "Saisissez entre {{min}} et {{max}} sites, chacun sous forme d'adresse http ou https complète.",
    "cookieBotRequiresCloudSync": "Activez d'abord la synchronisation cloud pour ce profil : une machine distante n'a aucun autre moyen de l'obtenir.",
    "cookieBotEncryptedSyncUnsupported": "Ce profil utilise une synchronisation chiffrée de bout en bout, qu'une machine distante ne peut pas déchiffrer. Passez-le en synchronisation normale.",
    "cookieBotUnknownPlatform": "Ce profil n'a aucun système d'exploitation enregistré, il ne peut donc pas être associé à une machine.",
    "cookieBotUnsupportedPlatform": "Cookie Bot ne peut pas exécuter de profils {{platform}}. Seuls les profils Windows et macOS sont pris en charge.",
    "cookieBotRequiresExitNode": "Associez d'abord un proxy ou un VPN. Sans cela, l'exécution proviendrait d'une adresse de centre de données, ce qui abîme l'identité du profil.",
    "cookieBotRequiresRemoteExitNode": "Le proxy de ce profil ne fonctionne que sur cet ordinateur (par exemple 127.0.0.1 ou une adresse de réseau local). Cookie Bot s'exécute sur nos hôtes et a donc besoin d'un proxy avec une adresse publique.",
    "unknownCode": "Une erreur est survenue : {{code}}",
    "cookieBotTouchFingerprintUnsupported": "Ce profil déclare un appareil tactile, que le bot ne peut pas piloter. Utilisez une empreinte de bureau.",
    "profileRunningRemotely": "Ce profil s'exécute sur une machine distante. Arrêtez d'abord la session distante.",
    "profileRemoteSyncPending": "Une session distante vient de se terminer. Ses modifications doivent être téléchargées avant d'ouvrir ce profil ici.",
    "profileLockedByMember": "Ce profil est utilisé par {{email}}.",
    "profileLockedElsewhere": "Ce profil est utilisé sur un autre appareil.",
    "profileLockUnavailable": "Impossible de vérifier si ce profil est utilisé ailleurs. Vérifiez votre connexion et réessayez.",
    "fingerprintExitMismatch": "Le nœud de sortie du proxy ne correspond pas à l'empreinte de ce profil.",
    "launchConsentExpired": "Cette confirmation n'est plus valide. Relancez le profil.",
    "vpnWorkerStartFailed": "Impossible de démarrer la connexion VPN : {{detail}}",
    "exitProbeFailed": "Impossible de joindre le nœud de sortie du proxy pour vérifier sa localisation.",
    "vlessUnsupported": {
      "security": "Ce serveur VLESS n'utilise pas REALITY. Donut ne prend en charge que VLESS avec REALITY.",
      "flow": "Ce serveur VLESS n'utilise pas le flux XTLS Vision, requis par Donut.",
      "transport": "Donut ne prend en charge que VLESS sur TCP simple — ce serveur utilise un autre transport (WebSocket ou gRPC, par exemple).",
      "encryption": "Ce serveur VLESS utilise un chiffrement non pris en charge par Donut.",
      "headerType": "Ce serveur VLESS utilise une obfuscation d'en-tête non prise en charge par Donut.",
      "fingerprint": "Cette URI VLESS demande une empreinte TLS non prise en charge par Donut.",
      "sni": "Il manque le SNI (sni) nécessaire à REALITY dans l'URI VLESS.",
      "publicKey": "Il manque la clé publique REALITY (pbk) dans l'URI VLESS.",
      "scheme": "Ce n'est pas un lien VLESS. Il doit commencer par vless://.",
      "parameter": "L'URI VLESS contient une option non prise en charge par Donut.",
      "malformed": "L'URI VLESS n'est pas valide."
    },
    "camoufoxRemoved": "Camoufox n'est plus pris en charge. Recréez ce profil avec Wayfern.",
    "noE2ePasswordSet": "Aucun mot de passe de chiffrement de bout en bout n'est défini. Définissez-en un avant de synchroniser des données chiffrées.",
    "importSourceNotChromium": "Ce dossier n'est pas un profil de navigateur Chromium",
    "importSourceNotChromiumNamed": "Les profils {{family}} ne peuvent pas être importés ; seuls les navigateurs basés sur Chromium sont pris en charge",
    "importSourceBrowserRunning": "Fermez d'abord {{browser}}, ou choisissez d'importer quand même"
  },
  "rail": {
    "profiles": "Profils",
    "extensions": "Extensions",
    "groups": "Groupes",
    "settings": "Paramètres",
    "more": {
      "label": "Plus",
      "closeAriaLabel": "Fermer le menu",
      "importProfile": "Importer un profil",
      "importProfileHint": "Importer depuis un autre outil",
      "keyboardShortcuts": "Raccourcis clavier",
      "keyboardShortcutsHint": "Voir tous les raccourcis",
      "about": "À propos de Donut Browser",
      "aboutHint": "Version et informations sur l'application"
    },
    "network": "Réseau",
    "integrations": "Intégrations",
    "account": "Compte",
    "cookieBot": "Cookie Bot",
    "cookieBotRunning": "Cookie Bot : en cours d'exécution"
  },
  "pageTitle": {
    "proxies": "Réseau",
    "extensions": "Extensions",
    "groups": "Groupes",
    "vpns": "Réseau",
    "settings": "Paramètres",
    "integrations": "Intégrations",
    "account": "Compte",
    "import": "Importer un profil",
    "shortcuts": "Raccourcis clavier",
    "cookieBot": "Cookie Bot"
  },
  "encryption": {
    "required": {
      "title": "Synchronisation en pause — mot de passe requis",
      "description": "Des données chiffrées ont été téléchargées mais aucun mot de passe E2E n'est défini sur cet appareil. Ouvrez Paramètres → Chiffrement et entrez le mot de passe pour reprendre.",
      "openSettings": "Ouvrir les paramètres"
    },
    "rollover": {
      "startedTitle": "Rechiffrement de vos données",
      "startedDescription": "Nous réuploadons chaque élément synchronisé avec le nouveau mot de passe. Profils d'abord, puis proxys, groupes, VPN et extensions.",
      "progressTitle": "Rechiffrement {{stage}}",
      "progressDescription": "{{done}} sur {{total}}",
      "completedTitle": "Rechiffrement terminé",
      "completedDescription": "Toutes les données synchronisées sont scellées avec le nouveau mot de passe.",
      "stage": {
        "profiles": "profils",
        "proxies": "proxys",
        "groups": "groupes",
        "vpns": "VPN",
        "extensions": "extensions",
        "extension_groups": "groupes d'extensions"
      }
    }
  },
  "account": {
    "refreshed": "Compte actualisé",
    "loggedOut": "Déconnecté",
    "signedOut": "Déconnecté",
    "signedOutDescription": "Connectez-vous pour activer la synchronisation cloud, les profils chiffrés et les fonctionnalités d’équipe.",
    "plan": "Plan : {{plan}} · {{period}}",
    "refresh": "Actualiser",
    "logout": "Se déconnecter",
    "signIn": "Se connecter",
    "fields": {
      "plan": "Plan",
      "status": "Statut",
      "teamRole": "Rôle d’équipe",
      "period": "Période",
      "device": "Appareil"
    },
    "tabs": {
      "account": "Compte",
      "selfHosted": "Auto-hébergé",
      "teamUsage": "Utilisation de l'équipe"
    },
    "selfHosted": {
      "title": "Serveur de synchronisation auto-hébergé",
      "description": "Connectez Donut à votre propre serveur donut-sync pour synchroniser profils, proxys, groupes et extensions sans utiliser le cloud hébergé.",
      "disabledWhileLoggedIn": "La synchronisation auto-hébergée n'est pas disponible lorsque vous êtes connecté à votre compte Donut. Déconnectez-vous pour utiliser un serveur personnalisé.",
      "connectionStatus": "Connexion :",
      "statusUnknown": "Non testé",
      "testConnection": "Tester la connexion",
      "disconnect": "Déconnecter"
    },
    "deviceOrdinal": "{{ordinal}} sur {{count}}",
    "automationPrimaryOnly": "L'automatisation du navigateur ne fonctionne que sur votre appareil principal (Appareil 1). Déconnectez-vous là-bas pour l'utiliser ici.",
    "automationActiveHere": "L'automatisation du navigateur est active sur cet appareil.",
    "viewTeamUsage": "Voir l'utilisation de l'équipe"
  },
  "shortcutsPage": {
    "title": "Raccourcis clavier",
    "description": "Accélérez votre flux de travail avec ces raccourcis."
  },
  "commandPalette": {
    "placeholder": "Tapez une commande ou recherchez...",
    "empty": "Aucun résultat trouvé.",
    "groups": {
      "navigation": "Navigation",
      "profiles": "Profils",
      "actions": "Actions",
      "profileGroups": "Groupes de profils"
    },
    "actions": {
      "launchProfile": "Lancer {{name}}",
      "stopProfile": "Arrêter {{name}}",
      "profileInfo": "Informations — {{name}}",
      "createProfile": "Créer un profil",
      "about": "À propos de Donut Browser"
    }
  },
  "shortcuts": {
    "openPalette": "Ouvrir la palette de commandes",
    "openShortcuts": "Voir les raccourcis clavier",
    "importProfile": "Importer un profil",
    "goProfiles": "Aller à Profils",
    "goProxies": "Aller à Réseau",
    "goExtensions": "Aller à Extensions",
    "goGroups": "Aller à Groupes",
    "goIntegrations": "Aller à Intégrations",
    "goAccount": "Aller à Compte",
    "goSettings": "Aller à Paramètres",
    "goCookieBot": "Cookie Bot"
  },
  "closeConfirm": {
    "title": "Fermer Donut Browser ?",
    "description": "Voulez-vous envoyer l'application dans la zone de notification ou quitter ?",
    "minimize": "Réduire dans la barre d'état",
    "quit": "Quitter"
  },
  "tray": {
    "show": "Afficher Donut Browser",
    "quit": "Quitter"
  },
  "onboarding": {
    "steps": {
      "createProfile": {
        "title": "Créez votre premier profil",
        "content": "Cliquez ici pour créer votre premier profil. Choisissez Wayfern comme navigateur : le Chromium recommandé et protégé contre le fingerprinting."
      },
      "dnsBlocking": {
        "title": "Blocage DNS",
        "content": "Utilisez ce menu pour définir le niveau de la liste de blocage DNS du profil : il bloque les publicités, les traqueurs et les logiciels malveillants au niveau du réseau. Les niveaux supérieurs bloquent davantage."
      }
    },
    "buttons": {
      "skip": "Passer",
      "back": "Retour",
      "next": "Suivant",
      "finish": "Terminer"
    },
    "thankYou": {
      "title": "Merci d'avoir choisi Donut Browser",
      "body": "Avec un peu de chance, il rendra votre navigation plus privée : chaque identité séparée et rien ne quittant votre machine. Bonne navigation !",
      "cta": "Commencer à naviguer"
    }
  },
  "welcome": {
    "title": "Bienvenue dans Donut Browser",
    "tagline": "Un navigateur anti-détection open source pour gérer de nombreuses identités à la fois.",
    "skip": "Passer",
    "next": "Suivant",
    "permissions": {
      "title": "Autoriser le micro et la caméra",
      "desc": "Accordez l'accès pour que les sites nécessitant un micro ou une caméra fonctionnent dans vos profils de navigateur. macOS le demande une fois ; chaque site vous le demandera quand même individuellement.",
      "skip": "Plus tard",
      "grant": "Autoriser l'accès",
      "requesting": "Demande en cours…"
    },
    "ready": {
      "title": "Préparation en cours",
      "descDownloading": "Téléchargement de votre premier navigateur (Wayfern). Cette configuration unique s'exécute en arrière-plan — patientez un instant.",
      "descReady": "Votre navigateur est prêt. Créons votre premier profil.",
      "cta": "Créer mon premier profil",
      "downloading": "Téléchargement…",
      "extracting": "Extraction…",
      "stats": "{{downloaded}} sur {{total}}",
      "speed": "{{speed}}/s",
      "timeLeft": "{{time}} restant",
      "descExtracting": "Extraction de votre navigateur. Cette configuration unique s'exécute en arrière-plan, patientez.",
      "almostFinished": "Presque terminé…",
      "errorTitle": "Échec de la configuration",
      "errorDownload": "Impossible de télécharger {{browser}}. Vérifiez votre connexion et réessayez.",
      "errorExtraction": "Impossible d'extraire {{browser}}. Veuillez réessayer.",
      "errorGeneric": "Une erreur s'est produite lors de la configuration de {{browser}}. Veuillez réessayer.",
      "retry": "Réessayer"
    },
    "features": {
      "title": "Fonctionnalités",
      "items": {
        "setDefault": "Définir comme navigateur par défaut",
        "proxy": "Prise en charge des proxys (HTTP/SOCKS5)",
        "vpn": "Prise en charge du VPN (WireGuard)",
        "profiles": "Profils locaux illimités",
        "api": "API de gestion des profils et MCP",
        "openSource": "Open source",
        "groups": "Groupes de profils",
        "cookies": "Import et export de cookies"
      }
    },
    "license": {
      "title": "Licence",
      "body": "Donut Browser est open source et gratuit.",
      "agree": "J'ai compris",
      "personalTitle": "Usage personnel",
      "personalDesc": "Gratuit à vie.",
      "commercialTitle": "Usage commercial",
      "trialBadge": "2 semaines gratuites",
      "commercialDesc": "Gratuit pendant une évaluation de 2 semaines. Ensuite, un forfait payant permet de maintenir et de faire prospérer le projet."
    }
  },
  "wayfernBlocked": {
    "title": "Automatisation du navigateur en pause",
    "description": "L'automatisation du navigateur fonctionne sur un seul appareil à la fois, et un autre appareil connecté l'utilise actuellement. Déconnectez-vous sur cet appareil, puis relancez le profil."
  },
  "wayfernConfigDialog": {
    "titleView": "Voir les paramètres d'empreinte - {{name}} ({{browser}})",
    "titleConfigure": "Configurer les paramètres d'empreinte - {{name}} ({{browser}})",
    "invalidFingerprint": "Configuration d'empreinte invalide",
    "invalidFingerprintDescription": "La configuration d'empreinte contient du JSON invalide. Vérifiez vos paramètres avancés.",
    "saveFailed": "Échec de la sauvegarde de la configuration",
    "unknownError": "Une erreur inconnue s'est produite"
  },
  "cookieCopy": {
    "noOtherTargets": "Aucun autre profil Wayfern sélectionné"
  },
  "about": {
    "title": "À propos",
    "version": "Version {{version}}",
    "portableBadge": "portable",
    "licenseNotice": "Navigateur anti-détection open source.",
    "website": "Site web",
    "github": "GitHub",
    "licenses": "Licences",
    "searchLicenses": "Rechercher des licences…",
    "noMatchingLicenses": "Aucune licence correspondante.",
    "openSource": "Voir le code source de {{name}}"
  },
  "clearOnClose": {
    "label": "Effacer les données à la fermeture",
    "description": "Supprime les cookies, l'historique et le cache à la fermeture du navigateur. Les extensions et les favoris sont conservés."
  },
  "consistencyWarning": {
    "timezoneDetail": "Le nœud de sortie est dans {{exit}}, mais l'empreinte indique {{fingerprint}}.",
    "languageDetail": "Le pays de sortie est {{country}}, mais la langue de l'empreinte est {{fingerprint}}.",
    "explainer": "Un fuseau horaire ou une langue en désaccord avec votre IP de sortie est un signal anti-bot fort, même si votre appareil réel ne fuite jamais. Alignez l'empreinte sur l'emplacement du proxy pour réduire les traitements hostiles.",
    "matchToProxy": "Aligner l'empreinte sur le proxy",
    "matching": "Alignement…",
    "matchSuccess": "Empreinte mise à jour pour correspondre au proxy. Relancez le profil pour l'appliquer."
  },
  "cookieBot": {
    "title": "Cookie Bot",
    "description": "Chauffe des profils la nuit sur une machine distante.",
    "tabs": {
      "overview": "Aperçu",
      "schedule": "Planification",
      "activity": "Activité",
      "team": "Équipe"
    },
    "locked": {
      "title": "Cookie Bot",
      "hint": "Cookie Bot chauffe vos profils la nuit sur une machine distante : ils conservent leurs cookies et leur historique sans que votre ordinateur soit allumé."
    },
    "empty": {
      "title": "Aucun profil inscrit",
      "hint": "Choisissez un profil et le bot le chauffe la nuit sur une machine distante. Votre ordinateur peut rester éteint.",
      "cta": "Inscrire un profil"
    },
    "tonight": {
      "label": "Cette nuit",
      "nextRun": "Prochaine exécution {{time}}",
      "dueCount_one": "{{count}} profil prévu",
      "dueCount_other": "{{count}} profils prévus",
      "dueCount_many": "{{count}} profils prévus",
      "nothingScheduled": "Rien de planifié"
    },
    "lastDay": {
      "label": "Dernières 24 heures",
      "none": "Aucune exécution pour l'instant",
      "ran_one": "{{count}} exécutée",
      "ran_other": "{{count}} exécutées",
      "ran_many": "{{count}} exécutées",
      "partial_one": "{{count}} partielle",
      "partial_other": "{{count}} partielles",
      "partial_many": "{{count}} partielles",
      "failed_one": "{{count}} en échec",
      "failed_other": "{{count}} en échec",
      "failed_many": "{{count}} en échec"
    },
    "chart": {
      "machineTime": "Temps machine par nuit",
      "minutes": "{{minutes}} min"
    },
    "hours": {
      "label": "Heures distantes",
      "remaining": "{{remaining}} h restantes sur {{total}}",
      "remainingOf": "sur {{total}} h",
      "used": "{{used}} h utilisées sur {{total}}",
      "resets": "Réinitialisation le {{date}}",
      "exhausted": "Plus d'heures distantes. Les planifications restent inscrites et reprennent au prochain cycle.",
      "exhaustedOn": "Plus d'heures distantes. Les planifications restent inscrites et reprennent le {{date}}.",
      "estimate": "Environ {{hours}} h par semaine · {{remaining}} h restantes sur ce cycle",
      "estimateOverBudget": "Demande environ {{hours}} h par semaine : il ne reste que {{remaining}} h",
      "estimateOnly": "Environ {{hours}} h par semaine"
    },
    "enrolled": {
      "columnProfile": "Profil",
      "columnCadence": "Fréquence",
      "columnTime": "Heure",
      "columnNextRun": "Prochaine exécution",
      "columnLastRun": "Dernière exécution",
      "enrolProfiles": "Inscrire des profils",
      "edit": "Modifier la planification",
      "neverRun": "Jamais",
      "pausedNoHours": "En pause : plus d'heures",
      "profileMissing": "Ce profil n'est pas sur cet ordinateur."
    },
    "schedule": {
      "empty": "Rien n'est encore planifié.",
      "quietHours_one": "{{count}} heure libre",
      "quietHours_other": "{{count}} heures libres",
      "quietHours_many": "{{count}} heures libres",
      "crowded_one": "{{count}} profil démarre en même temps",
      "crowded_other": "{{count}} profils démarrent en même temps",
      "crowded_many": "{{count}} profils démarrent en même temps",
      "unenrol": "Retirer de Cookie Bot",
      "unenrolTitle": "Retirer {{name}} de Cookie Bot ?",
      "unenrolDescription": "La chauffe s'arrête dès cette nuit. Les exécutions passées restent dans Activité.",
      "unenrolled": "Retiré de Cookie Bot"
    },
    "status": {
      "provisioning": "Préparation d'une machine",
      "ready": "Chargement du profil",
      "warming": "Chauffe en cours",
      "finished": "Finalisation",
      "failed": "En échec"
    },
    "runStatus": {
      "pending": "En file d'attente",
      "running": "En cours",
      "succeeded": "Terminée",
      "partial": "Partielle",
      "failed": "En échec",
      "skipped": "Ignorée",
      "cancelled": "Arrêtée"
    },
    "running": {
      "label": "En cours d'exécution",
      "more": "+{{count}} de plus",
      "stop": "Arrêter l'exécution",
      "stopped": "Exécution arrêtée"
    },
    "live": {
      "idle": "Rien ne s'exécute pour le moment",
      "streamOffline": "Les mises à jour en direct sont hors ligne",
      "streamOfflineDetail": "Les mises à jour en direct sont hors ligne, reconnexion en cours. Les exécutions ci-dessous peuvent être obsolètes.",
      "unnamedSession": "Session distante",
      "notStartedYet": "La machine n'a pas encore signalé d'heure de début.",
      "sitesProgress": "{{visited}} sites sur {{total}}",
      "sitesUnknown": "Sites pas encore signalés",
      "consentHandled_one": "{{count}} bandeau de consentement traité",
      "consentHandled_other": "{{count}} bandeaux de consentement traités",
      "consentHandled_many": "{{count}} bandeaux de consentement traités",
      "consentUnknown": "Bandeaux de consentement pas encore signalés",
      "billed": "{{duration}} facturées",
      "billedUnknown": "Temps facturé pas encore signalé",
      "chunk": "Partie {{index}} sur {{total}}"
    },
    "history": {
      "title": "Exécutions",
      "allProfiles": "Tous les profils",
      "searchPlaceholder": "Rechercher des profils…",
      "filterAll": "Toutes les exécutions",
      "filterComplete": "Terminées",
      "filterPartial": "Partielles",
      "filterFailed": "En échec",
      "columnStarted": "Début",
      "columnProfile": "Profil",
      "columnDuration": "Durée",
      "columnSites": "Sites",
      "columnStatus": "Statut",
      "columnOperator": "Opérateur",
      "empty": "Aucune exécution pour l'instant.",
      "noMatch": "Aucune exécution ne correspond à ce filtre.",
      "unknownProfile": "Profil inconnu",
      "outcome": "Raison : {{reason}}",
      "sitesVisited": "{{visited}}/{{total}}",
      "sitesFailed_one": "{{count}} site injoignable",
      "sitesFailed_other": "{{count}} sites injoignables",
      "sitesFailed_many": "{{count}} sites injoignables",
      "consentHandled_one": "{{count}} bandeau de consentement traité",
      "consentHandled_other": "{{count}} bandeaux de consentement traités",
      "consentHandled_many": "{{count}} bandeaux de consentement traités",
      "sitesUnknown": "Non communiqué"
    },
    "duration": {
      "hm": "{{hours}} h {{minutes}} min",
      "ms": "{{minutes}} min {{seconds}} s",
      "s": "{{seconds}} s"
    },
    "picker": {
      "title": "Inscrire des profils",
      "description": "Choisissez les profils que le bot doit chauffer la nuit.",
      "searchPlaceholder": "Rechercher des profils…",
      "noProfiles": "Aucun profil ne correspond.",
      "alreadyEnrolled": "Inscrit",
      "continue_one": "Continuer avec {{count}}",
      "continue_other": "Continuer avec {{count}}",
      "continue_many": "Continuer avec {{count}}"
    },
    "enrol": {
      "titleOne": "Inscrire {{name}}",
      "titleCount_one": "Inscrire {{count}} profil",
      "titleCount_other": "Inscrire {{count}} profils",
      "titleCount_many": "Inscrire {{count}} profils",
      "editTitle": "Modifier la planification",
      "description": "Le bot ouvre le profil sur une machine distante et parcourt les sites que vous indiquez. Votre ordinateur peut rester éteint.",
      "summaryNightly": "S'exécute chaque nuit à {{time}}, jusqu'à {{minutes}} min à chaque fois.",
      "summaryWeeknights": "S'exécute du lundi au vendredi à {{time}}, jusqu'à {{minutes}} min à chaque fois.",
      "summaryAlternate": "S'exécute une nuit sur deux à {{time}}, jusqu'à {{minutes}} min à chaque fois.",
      "summaryCustom_one": "S'exécute {{count}} nuit par semaine à {{time}}, jusqu'à {{minutes}} min à chaque fois.",
      "summaryCustom_other": "S'exécute {{count}} nuits par semaine à {{time}}, jusqu'à {{minutes}} min à chaque fois.",
      "summaryCustom_many": "S'exécute {{count}} nuits par semaine à {{time}}, jusqu'à {{minutes}} min à chaque fois.",
      "confirm": "Inscrire pour cette nuit",
      "confirmSome": "Inscrire {{eligible}} profils sur {{total}} cette nuit",
      "fixFirst": "Corrigez d'abord ceci",
      "saving": "Inscription…",
      "saved": "Planification enregistrée",
      "enrolled_one": "{{count}} profil inscrit",
      "enrolled_other": "{{count}} profils inscrits",
      "enrolled_many": "{{count}} profils inscrits",
      "adjust": "Ajuster la planification",
      "cadenceLabel": "Fréquence",
      "cadenceNightly": "Chaque nuit",
      "cadenceWeeknights": "Nuits en semaine",
      "cadenceAlternate": "Une nuit sur deux",
      "cadenceCustom_one": "{{count}} nuit par semaine",
      "cadenceCustom_other": "{{count}} nuits par semaine",
      "cadenceCustom_many": "{{count}} nuits par semaine",
      "timeLabel": "Heure de début",
      "timeHint": "Selon le fuseau horaire de l'empreinte de chaque profil.",
      "maxMinutesLabel": "Minutes maximum",
      "intensityLabel": "Profondeur",
      "sitesLabel": "Sites",
      "sitesPlaceholder": "Une adresse par ligne",
      "sitesHint_one": "{{count}} site. Seules les pages indiquées ici sont visitées.",
      "sitesHint_other": "{{count}} sites. Seules les pages indiquées ici sont visitées.",
      "sitesHint_many": "{{count}} sites. Seules les pages indiquées ici sont visitées.",
      "sitesTooMany": "{{max}} sites au maximum.",
      "presetsUnavailable": "Impossible de charger les préréglages de profondeur. Réessayez dans un instant.",
      "confirmBulkTitle_one": "Inscrire {{count}} profil à Cookie Bot ?",
      "confirmBulkTitle_other": "Inscrire {{count}} profils à Cookie Bot ?",
      "confirmBulkTitle_many": "Inscrire {{count}} profils à Cookie Bot ?",
      "confirmBulkDescription_one": "Cela réserve une exécution nocturne sur vos heures distantes partagées. Vous choisissez l'heure et les sites juste après.",
      "confirmBulkDescription_other": "Cela réserve {{count}} exécutions nocturnes sur vos heures distantes partagées. Vous choisissez l'heure et les sites juste après.",
      "confirmBulkDescription_many": "Cela réserve {{count}} exécutions nocturnes sur vos heures distantes partagées. Vous choisissez l'heure et les sites juste après.",
      "confirmBulkButton_one": "Continuer avec {{count}} profil",
      "confirmBulkButton_other": "Continuer avec {{count}} profils",
      "confirmBulkButton_many": "Continuer avec {{count}} profils",
      "sitesRequired": "Ajoutez au moins un site.",
      "addSitesFirst": "Ajoutez d'abord un site",
      "presetsMissing": "Préréglages de profondeur indisponibles",
      "sourceOwn": "Ma propre liste",
      "sourceCurated": "Sélection",
      "sourceSaved": "Enregistrées",
      "curatedEmpty": "Aucune liste de la sélection n'est disponible pour le moment.",
      "curatedNote": "Une liste que nous tenons à jour. Chaque profil en tire son propre échantillon : deux profils ne parcourent donc jamais le même ensemble, ce qui empêche la liste elle-même de devenir une signature. Les adresses restent de notre côté.",
      "savedEmpty": "Rien d'enregistré pour l'instant. Saisissez une liste dans Ma propre liste, puis enregistrez-la depuis là.",
      "savedNote": "Les sites sont copiés dans la planification au moment de l'enregistrement : modifier une liste plus tard ne touche pas aux planifications existantes.",
      "savedUnavailable": "Impossible de charger vos listes enregistrées.",
      "saveAsList": "Enregistrer comme liste",
      "listNamePlaceholder": "Nommez cette liste",
      "listSaved": "Liste enregistrée",
      "listRenamed": "Liste renommée",
      "listDeleted": "Liste supprimée",
      "listRename": "Renommer",
      "listDeleteConfirm": "Supprimer ?",
      "templateMissing": "Cette liste enregistrée n'existe plus. Choisissez-en une autre.",
      "templateNameTaken": "Vous avez déjà une liste portant ce nom.",
      "templateNameInvalid": "Donnez à la liste un nom de {{max}} caractères maximum.",
      "calendarLabel": "Quand il s'exécute",
      "daysLabel": "Jours de la semaine",
      "addSlot": "Ajouter une heure",
      "slotsFull": "{{max}} heures de départ au maximum.",
      "removeSlot": "Retirer cette heure",
      "pickListFirst": "Choisissez d'abord une liste",
      "finishCalendarFirst": "Terminez d'abord la planification",
      "duplicateSlot": "Deux lignes ont les mêmes jours et la même heure",
      "listSites_one": "{{count}} site",
      "listSites_other": "{{count}} sites",
      "listSites_many": "{{count}} sites",
      "summarySlots_one": "S'exécute {{count}} fois par semaine, jusqu'à {{minutes}} min à chaque fois.",
      "summarySlots_other": "S'exécute {{count}} fois par semaine, jusqu'à {{minutes}} min à chaque fois.",
      "summarySlots_many": "S'exécute {{count}} fois par semaine, jusqu'à {{minutes}} min à chaque fois.",
      "templateNameInvalidNoMax": "Ce nom ne peut pas être utilisé pour une liste enregistrée."
    },
    "preset": {
      "light": "Légère",
      "balanced": "Standard",
      "deep": "Approfondie"
    },
    "template": {
      "lowIntentPurchaser": "Acheteur à faible intention",
      "lowIntentPurchaserHint": "Positionne le profil comme un acheteur sensible au prix : comparateurs, coupons, cashback et revente, en arrivant chez les marchands via des agrégateurs plutôt qu'en direct."
    },
    "preflight": {
      "ineligible_one": "{{count}} profil ne peut pas s'exécuter à distance",
      "ineligible_other": "{{count}} profils ne peuvent pas s'exécuter à distance",
      "ineligible_many": "{{count}} profils ne peuvent pas s'exécuter à distance",
      "reasonSync": "La synchronisation est désactivée",
      "reasonEncrypted": "Chiffré de bout en bout",
      "reasonNoFingerprint": "Aucun système d'exploitation enregistré",
      "reasonCrossOs": "Conçu pour {{os}} : aucune machine distante ne correspond",
      "reasonNoExitNode": "Ni proxy ni VPN",
      "fixSync": "Activer la synchronisation",
      "fixEncrypted": "Ouvrir les réglages de synchronisation",
      "fixProxy": "Associer un proxy",
      "fixFailed": "Impossible d'appliquer ce correctif.",
      "exitNodeHint": "Sans proxy ni VPN, l'exécution sort par l'adresse du centre de données de la flotte. Des heures de trafic depuis un réseau d'hébergement abîment l'identité du profil plus que de ne pas le chauffer du tout."
    },
    "conflict": {
      "title": "{{email}} chauffe déjà ce profil à {{time}}",
      "detail": "Deux planifications sur un même profil consomment les heures en double et peuvent entrer en collision en pleine exécution.",
      "keepTheirs": "Garder sa planification",
      "replace": "Remplacer par la mienne",
      "replaceForbidden": "Seul le propriétaire ou un administrateur de l'équipe peut modifier la planification de quelqu'un d'autre.",
      "askThem": "Copier {{email}}",
      "emailCopied": "Adresse copiée",
      "copyFailed": "Impossible de copier l'adresse."
    },
    "actionBar": {
      "enrol": "Inscrire à Cookie Bot",
      "proRequired": "Cookie Bot nécessite un forfait payant",
      "noneEligible": "Aucun des profils sélectionnés ne peut être chauffé à distance"
    },
    "actions": {
      "enrol": "Inscrire à Cookie Bot",
      "editSchedule": "Modifier la planification",
      "runNow": "Exécuter maintenant",
      "runStarted": "Exécution lancée",
      "viewActivity": "Voir l'activité",
      "runNotStarted": "L'exécution n'a pas démarré : {{reason}}"
    },
    "state": {
      "enrolled": "Inscrit",
      "notEnrolled": "Non inscrit",
      "paused": "En pause",
      "summary": "{{cadence}} à {{time}}",
      "rowMenu": "Options Cookie Bot pour {{name}}",
      "blocked": "Ne peut pas s'exécuter : {{reason}}"
    },
    "team": {
      "title": "Utilisation de l'équipe",
      "pooled_one": "{{used}} h sur {{total}}, {{count}} siège",
      "pooled_other": "{{used}} h sur {{total}} mutualisées entre {{count}} sièges",
      "pooled_many": "{{used}} h sur {{total}} mutualisées entre {{count}} sièges",
      "hours": "{{hours}} h",
      "legendBot": "Cookie Bot",
      "legendInteractive": "Interactif",
      "columnMember": "Membre",
      "columnRuns": "Exécutions",
      "columnHours": "Heures",
      "columnShare": "Part",
      "noActivity": "Aucune session distante sur cette période.",
      "soloNote": "Pour l'instant, seulement votre propre utilisation. Invitez des coéquipiers pour voir la répartition par membre.",
      "runsFailed": "· {{n}} en échec"
    },
    "closeReason": {
      "stoppedByUser": "Arrêté à la main",
      "maxDuration": "Limite de durée atteinte",
      "other": "Terminé : {{reason}}"
    },
    "outcome": {
      "notEntitled": "Non inclus dans votre offre",
      "syncDisabled": "La synchronisation est désactivée pour ce profil",
      "encryptedSync": "La synchronisation chiffrée de bout en bout n'est pas prise en charge",
      "proxyRequired": "Aucun proxy ni VPN attaché",
      "touchFingerprint": "Les empreintes tactiles ne sont pas prises en charge",
      "platformUnsupported": "Aucune machine n'exécute le système de ce profil",
      "noSites": "Aucun site à visiter",
      "quotaExhausted": "Heures distantes épuisées",
      "profileLocked": "Le profil était ouvert ailleurs",
      "noCapacity": "Aucune machine n'était libre",
      "managerError": "La flotte n'a pas pu démarrer le navigateur",
      "budgetExceeded": "Le temps prévu pour la nuit est épuisé",
      "cancelledByUser": "Arrêté à la main",
      "unknown": "Raison inconnue ({{code}})"
    }
  },
  "prelaunchGate": {
    "titleBlocked": "Lancement bloqué",
    "titleWarning": "Avant de lancer",
    "intro": "Examinez ces problèmes concernant « {{name}} » avant de démarrer le navigateur.",
    "fingerprintHeading": "La sortie mesurée ne correspond pas à l'empreinte",
    "vpnExtensionHeading": "Extension VPN ou proxy détectée",
    "vpnExtensionIntro": "Extensions de ce profil pouvant rerouter le trafic du navigateur :",
    "vpnExtensionConfirmed": "Outil VPN ou proxy connu",
    "vpnExtensionLikely": "Semble être un outil VPN ou proxy",
    "vpnExtensionCapability": "Détient l'autorisation proxy",
    "vpnExtensionExplainer": "Si l'une d'elles redirige votre trafic ailleurs, la position réelle du navigateur ne correspondra plus au fuseau horaire, à la langue et à la géolocalisation avec lesquels ce profil a été créé, et Donut ne peut pas le détecter de l'extérieur.",
    "proxyCapableHeading": "Extensions pouvant changer le proxy",
    "proxyCapableIntro": "Elles ne ressemblent pas à des VPN, mais elles détiennent l'autorisation proxy de Chromium, dont les gestionnaires de téléchargement et les outils de débogage ont aussi besoin. Donut ne peut pas savoir si l'une d'elles s'en sert :",
    "sourceDonut": "Gérée par Donut",
    "sourceBrowser": "Installée dans le profil",
    "measurementUnreliable": "Une extension de ce profil détient l'autorisation proxy, la vérification de la sortie peut donc ne pas refléter la route réellement empruntée par le navigateur.",
    "scanIncompleteEncrypted": "Ce profil est chiffré : seules les extensions gérées par Donut ont pu être vérifiées.",
    "scanIncompleteEphemeral": "Ce profil n'a pas encore de données : seules les extensions gérées par Donut ont pu être vérifiées.",
    "scanIncompletePartial": "L'analyse des extensions a été interrompue, certaines peuvent manquer.",
    "probePending": "La sortie du proxy n'a pas encore été mesurée. Donut la vérifiera au démarrage et s'arrêtera si elle ne correspond pas.",
    "launchAnyway": "Lancer quand même",
    "dontBlockAgain": "Ne plus bloquer pour cette incohérence exacte",
    "dontWarnExtensions": "Ne plus m'avertir à propos de ces extensions",
    "applyToRemaining": "Appliquer ce choix aux profils restants",
    "cancelledSummary": "{{cancelled}} lancements sur {{total}} annulés",
    "vpnExtensionEntry": " {{version}} — {{capability}}, {{source}}",
    "vpnExtensionEntryNoVersion": " — {{capability}}, {{source}}",
    "scanIncompleteMissing": "Ce profil n'a jamais été lancé : seules les extensions gérées par Donut ont pu être vérifiées."
  }
}
