"title":"SecureBit.chat - Messagerie privée et chiffrée",
"description":"SecureBit.chat est une messagerie pair-à-pair gratuite et chiffrée de bout en bout, qui fonctionne entièrement dans votre navigateur. Aucun compte, aucun serveur ne conserve vos messages : ECDH P-384, AES-256-GCM et vérification SAS en personne.",
"keywords":"messagerie chiffrée, chiffrement de bout en bout, chat pair-à-pair, messagerie P2P, ECDH, DTLS, vérification SAS, WebRTC, chat privé, chat sécurisé, sans serveur, sans compte, protection MITM, PFS",
"ogTitle":"SecureBit.chat - Chat pair-à-pair chiffré de bout en bout",
"ogDescription":"Une messagerie sécurisée qui fonctionne entièrement dans votre navigateur. Aucun compte, aucun serveur ne conserve vos messages. Utilisez vos propres serveurs STUN/TURN : nous ne vous imposons rien.",
"ogImageAlt":"SecureBit.chat - chat pair-à-pair chiffré de bout en bout",
"twitterTitle":"SecureBit.chat - Chat pair-à-pair chiffré de bout en bout",
"twitterDescription":"Une messagerie sécurisée qui fonctionne entièrement dans votre navigateur. Aucun compte, aucun serveur ne conserve vos messages.",
"twitterImageAlt":"SecureBit.chat - chat pair-à-pair chiffré de bout en bout"
},
"schema":{
"siteDescription":"Chat pair-à-pair chiffré de bout en bout, fonctionnant entièrement dans le navigateur.",
"appDescription":"Une messagerie pair-à-pair gratuite et chiffrée de bout en bout. Aucun compte, aucun serveur ne conserve les messages : ECDH P-384, AES-256-GCM et vérification SAS en personne.",
"operatingSystem":"Toute plateforme (navigateur web moderne)",
"browserRequirements":"Nécessite WebRTC et l'API Web Crypto",
"featureList":[
"Chiffrement de bout en bout (ECDH P-384, AES-256-GCM)",
"Connexion pair-à-pair par WebRTC, sans serveur de messages",
"Vérification SAS en personne contre les attaques de l'intercepteur",
"Serveurs STUN/TURN personnels et mode de confidentialité relais uniquement",
"Transfert de fichiers chiffré",
"Application web progressive installable, utilisable hors ligne"
"community.title":"Construisez l'avenir de la vie privée",
"community.description":"SecureBit grandit grâce à sa communauté. Vos idées et vos retours façonnent l'avenir des communications sécurisées, développées à ciel ouvert, avec une validation ASN.1 complète de bout en bout.",
"community.github":"Dépôt GitHub",
"community.feedback":"Vos retours",
"unique.eyebrow":"Ce qui nous distingue",
"unique.heading":"Pourquoi SecureBit est unique",
"unique.s1.titleTop":"Cœur de chiffrement",
"unique.s1.titleBottom":"en couches",
"unique.s1.collapsed":"Cœur de chiffrement",
"unique.s1.desc":"Échange de clés ECDH P-384, charges utiles en AES-256-GCM, signatures ECDSA et validation ASN.1 complète, réunis en une seule chaîne durcie.",
"unique.s1.tags":[
"ECDH P-384",
"AES-256-GCM",
"ECDSA",
"ASN.1"
],
"unique.s2.titleTop":"Pur P2P",
"unique.s2.titleBottom":"sur WebRTC",
"unique.s2.collapsed":"Pur P2P sur WebRTC",
"unique.s2.desc":"Les messages passent directement d'un appareil à l'autre par WebRTC. Aucun relais ne retient vos données : le serveur aide seulement deux pairs à se trouver.",
"unique.s3.desc":"Les clés de session tournent en continu et sont jetées après usage : une clé compromise n'ouvre jamais les conversations passées.",
"unique.s3.tags":[
"Clés éphémères",
"Rotation automatique"
],
"unique.s4.titleTop":"Brouillage",
"unique.s4.titleBottom":"du trafic",
"unique.s4.collapsed":"Brouillage du trafic",
"unique.s4.desc":"La taille des paquets et leur cadence sont complétées et rendues aléatoires, ce qui masque les motifs de métadonnées à quiconque observe la ligne.",
"unique.s4.tags":[
"Remplissage de paquets",
"Décalage temporel"
],
"unique.s5.titleTop":"Aucune collecte",
"unique.s5.titleBottom":"de données",
"unique.s5.collapsed":"Aucune collecte de données",
"unique.s5.desc":"Aucun compte, aucun journal, aucun message conservé. Il n'y a rien sur un serveur à faire fuiter, à saisir ou à vendre.",
"unique.s5.tags":[
"Sans compte",
"Sans journaux"
],
"partners.eyebrow":"Partenaires et écosystème",
"partners.heading":"Nos partenaires nous font confiance",
"partners.aegis.desc":"Partenaire financier qui protège les communications financières confidentielles de tout son portefeuille.",
"partners.aegis.role":"Investisseur stratégique",
"partners.furilabs.desc":"Téléphones Linux axés sur la vie privée, livrés avec SecureBit comme canal sécurisé par défaut.",
"hero.subheading":"Les clés sont créées sur votre appareil et échangées directement entre pairs. Aucun compte, aucun serveur ne conserve vos messages.",
"hero.diagramAlt":"Une ligne chiffrée directe vers un pair, rejointe par deux autres pairs",
"intro.createTitle":"Créer un canal",
"intro.createDesc":"Votre appareil génère les clés et une invitation à usage unique. Rien de tout cela ne passe par un serveur.",
"intro.createCta":"Générer les clés et l'invitation",
"intro.joinTitle":"Rejoindre un canal",
"intro.scanTitle":"Scanner le QR avec la caméra",
"intro.scanSubtitle":"Le plus rapide : visez l'écran de votre correspondant",
"intro.orPasteCode":"ou collez le code",
"intro.pastePlaceholder":"Collez ici le code d'invitation…",
"intro.connect":"Se connecter",
"intro.connecting":"Traitement…",
"roadmap.r1.title":"Début du développement",
"roadmap.r1.sub":"Idée, prototype et mise en place de l'infrastructure",
"roadmap.r1.date":"Début 2025",
"roadmap.r1.features":[
"Concept et exigences définis",
"Choix de la pile : WebRTC, P2P, cryptographie",
"Premiers prototypes de messagerie",
"Création du dépôt et de l'intégration continue",
"Architecture de chiffrement de base",
"Conception UX/UI"
],
"roadmap.r2.title":"Version alpha",
"roadmap.r2.sub":"Première alpha publique : chat simple et échange de clés",
"roadmap.r2.date":"Printemps 2025",
"roadmap.r2.features":[
"Messagerie P2P simple par WebRTC",
"Chiffrement de bout en bout simple (schéma de démonstration)",
"Signalisation et reconnexion stables",
"Interface minimale pour les tests",
"Retours des premiers testeurs"
],
"roadmap.r3.title":"Sécurité durcie",
"roadmap.r3.sub":"Renforcement de la sécurité et publication de la branche stable",
"roadmap.r3.date":"Été 2025",
"roadmap.r3.features":[
"ECDH/ECDSA en production",
"Confidentialité persistante et rotation des clés",
"Contrôles d'authentification améliorés",
"Chiffrement des fichiers et envoi de charges volumineuses",
"Audit des processus cryptographiques de base"
],
"roadmap.r4.title":"Montée en charge et stabilité",
"roadmap.r4.sub":"Mise à l'échelle du réseau et gains de stabilité",
"roadmap.r4.date":"Automne 2025",
"roadmap.r4.features":[
"Optimisation des connexions P2P et du passage de NAT",
"Mécanismes de reconnexion et files de messages",
"Consommation de batterie réduite sur mobile",
"Synchronisation entre plusieurs appareils",
"Outils de supervision et de journalisation pour les développeurs"
],
"roadmap.r5.title":"La vie privée d'abord",
"roadmap.r5.sub":"Priorité à la vie privée : réduire les métadonnées",
"roadmap.r5.date":"Hiver 2025",
"roadmap.r5.features":[
"Protection des métadonnées et empreinte réduite",
"Expériences de routage en oignon et de DHT",
"Options de connexion anonyme",
"Préparation de l'audit de code ouvert",
"Vérification des correspondants améliorée"
],
"roadmap.r6.title":"Enhanced Security Edition",
"roadmap.r6.sub":"Cryptographie de niveau militaire en 18 couches, avec validation ASN.1 complète",
"roadmap.r6.date":"Fin 2025",
"roadmap.r6.features":[
"Triple protection : ECDH + DTLS + SAS",
"Chiffrement ECDH P-384 et AES-GCM 256 bits",
"Vérification de l'empreinte DTLS",
"Vérification SAS (chaîne d'authentification courte)",
"Confidentialité persistante avec rotation des clés",
"Protection renforcée contre les attaques de l'intercepteur",
"Validation ASN.1 DER complète",
"Vérification des OID et des points EC",
"Validation de la structure SPKI",
"Architecture P2P sur WebRTC",
"Protection des métadonnées",
"Code ouvert à 100 %"
],
"roadmap.r7.title":"Desktop Edition",
"roadmap.r7.sub":"Applications de bureau natives pour Windows, macOS et Linux",
"roadmap.r7.date":"Début 2026",
"roadmap.r7.features":[
"Application Windows (Tauri v2)",
"Application macOS (Tauri v2)",
"AppImage Linux (Tauri v2)",
"Notifications en temps réel",
"Reconnexion automatique",
"Synchronisation entre appareils",
"Interface remaniée",
"Fichiers jusqu'à 100 Mo"
],
"roadmap.r8.title":"Voix et appels sécurisés",
"roadmap.r8.sub":"Messages vocaux, appels audio et vidéo chiffrés",
"roadmap.r8.date":"Début 2026",
"roadmap.r8.features":[
"Messages vocaux chiffrés de bout en bout",
"Appels audio chiffrés en tête-à-tête (WebRTC)",
"Appels vidéo chiffrés en tête-à-tête (WebRTC)",
"Confidentialité persistante pour le flux en direct",
"Flux média protégés par SRTP/DTLS",
"Vérification SAS pendant l'appel",
"Notifications d'appel et reconnexion automatique",
"Média P2P à faible latence"
],
"roadmap.r9.title":"Communication de groupe",
"roadmap.r9.sub":"Discussions de groupe sans renoncer à la vie privée",
"roadmap.r9.date":"Maintenant",
"roadmap.r9.features":[
"Groupes P2P jusqu'à 8 participants",
"Distribution en maillage, avec relais signé en secours",
"Un seul code de sécurité de groupe, comparé par tous",
"Cérémonie d'engagement puis de révélation, contre la recherche de codes",
"Clés d'identité propres au groupe, éphémères par conception",
"Composition signée, ordonnée par époques",
"Messages signés : une transcription divergente devient démontrable",
"Aucun serveur, aucune clé de groupe partagée, aucun historique"
],
"roadmap.r10.title":"Mobile Edition",
"roadmap.r10.sub":"Applications natives pour iOS et Android",
"handshake.shareDesc":"Montrez le QR ou envoyez le code à votre correspondant. Il est à usage unique et expire vite.",
"handshake.sendAnswerDesc":"Donnez cette réponse à la personne qui a créé le canal pour qu'elle termine la poignée de main.",
"handshake.establish":"Établir la connexion",
"handshake.thenReceive":"Recevez ensuite la réponse que votre correspondant renvoie",
"handshake.pasteAnswerPlaceholder":"Collez le code de réponse…",
"handshake.answerSentNote":"Envoyez cette réponse à la personne qui a créé le canal, puis patientez : la discussion s'ouvre dès qu'elle se connecte.",
"handshake.qrHint":"Gardez ceci ouvert jusqu'à ce que votre correspondant ait capturé le code.",
"handshake.qrHintFrames":"La poignée de main est répartie sur {frames} images : gardez ceci ouvert jusqu'à ce que votre correspondant les ait toutes capturées.",
"verify.title":"Vérification de sécurité",
"verify.desc":"Comparez ce code de sécurité avec votre correspondant par un autre canal (voix ou en personne), puis saisissez-le pour ouvrir la discussion.",
"verify.enterLabel":"Saisissez le code vérifié",
"verify.placeholder":"Tapez le code ici",
"verify.confirm":"Confirmer le code",
"verify.confirmed":"Confirmé",
"verify.mismatch":"Ne correspond pas",
"verify.yours":"Votre confirmation",
"verify.peer":"Confirmation du correspondant",
"verify.pending":"En attente",
"verify.waiting":"En attente du code…",
"verify.verified":"Canal vérifié",
"verify.bothConfirmed":"Les deux parties ont confirmé. Ouverture de la discussion sécurisée…",
"pwa.bannerTitle":"Installer SecureBit.chat",
"pwa.bannerDesc":"Profitez de l'expérience d'une application native, avec une sécurité renforcée",
"pwa.install":"Installer",
"pwa.dismiss":"Ignorer",
"pwa.close":"Fermer",
"pwa.iosTitle":"Installer sur iOS",
"pwa.iosStep1":"Touchez le bouton Partager",
"pwa.iosStep1Hint":"En général en bas de Safari",
"pwa.iosStep2":"Trouvez « Sur l'écran d'accueil »",
"pwa.iosStep2Hint":"Faites défiler le menu de partage",
"pwa.iosStep3":"Touchez « Ajouter »",
"pwa.iosStep3Hint":"Confirmez pour installer SecureBit.chat",
"pwa.genericTitle":"Installer SecureBit",
"pwa.genericDesc":"Chaque navigateur installe à sa manière. Choisissez les étapes qui correspondent au vôtre.",
"pwa.gotIt":"Compris",
"pwa.installedTitle":"Application installée !",
"pwa.installedIos":"Application iOS installée ! Ouvrez-la depuis l'écran d'accueil.",
"pwa.installedGeneric":"SecureBit.chat est maintenant sur votre appareil",
"pwa.anytimeTitle":"Installable à tout moment",
"pwa.anytimeDesc":"Vous pouvez installer SecureBit.chat depuis le menu de votre navigateur quand vous voulez, pour la meilleure expérience.",
"cred.reveal":"Cliquez pour afficher - gardez ce code privé",
"qr.title":"Scanner le QR",
"qr.subtitle":"Visez le QR de votre correspondant",
"qr.scanning":"Lecture…",
"qr.hint":"Restez stable jusqu'à ce que toutes les parties soient capturées. La caméra reste locale - rien n'est envoyé.",
"mesh.you":"vous",
"mesh.peer":"correspondant · session 1",
"mesh.joined2":"chloé a rejoint · +2",
"mesh.joined3":"hugo a rejoint · +3",
"ice.title":"Réglages réseau",
"ice.subtitle":"Configuré en local - jamais transmis à votre correspondant",
"ice.intro":"Par défaut, SecureBit utilise des serveurs STUN publics pour négocier le lien pair-à-pair. Indiquez vos propres STUN/TURN si vous les hébergez.",
"ice.turnNote":"Un relais TURN voit l'adresse IP des deux pairs et le rythme du trafic, mais jamais le contenu des messages, qui reste chiffré de bout en bout. Préférez ",
"ice.turnNoteTls":" (TLS).",
"ice.test":"Tester les serveurs",
"ice.testing":"Test en cours…",
"ice.relayTitle":"Mode relais uniquement",
"ice.relayBadge":"CONFIDENTIALITÉ MAXIMALE",
"ice.relayDesc":"Fait passer tout le trafic par TURN : votre correspondant ne voit jamais votre adresse IP. Nécessite un serveur TURN.",
"ice.relayWarning":"Le mode relais uniquement est activé mais aucun serveur TURN n'est configuré. La connexion ne pourra pas démarrer.",
"ice.persist":"Enregistrer sur cet appareil",
"ice.persistDesc":"Stocké chiffré dans ce navigateur. Laissez désactivé pour n'utiliser ces réglages que le temps de la session.",
"ice.forget":"Oublier l'enregistrement",
"ice.cancel":"Annuler",
"ice.apply":"Appliquer",
"ice.errUnavailable":"WebRTC n'est pas disponible dans ce navigateur",
"ice.errInvalid":"Configuration de serveur invalide",
"update.title":"Mise à jour disponible",
"update.desc":"Une version plus récente de SecureBit a été détectée.",
"update.currentVersion":"Version actuelle",
"update.newVersion":"Nouvelle version",
"update.now":"Mettre à jour",
"update.later":"Plus tard",
"update.unknown":"n/d",
"update.stepSaving":"Enregistrement des données…",
"update.stepSwCaches":"Vidage des caches du Service Worker…",
"update.stepSwUnregister":"Désinscription des Service Workers…",
"update.stepBrowserCache":"Vidage du cache du navigateur…",
"update.stepVersion":"Mise à jour de la version…",
"update.stepReload":"Rechargement de l'application…",
"update.error":"Erreur de mise à jour. Rechargez la page manuellement (Ctrl+F5 ou Cmd+Maj+R)",
"update.confirmSkip":"Une nouvelle version est disponible. La mise à jour est recommandée pour la sécurité et la stabilité. Continuer sans mettre à jour ?",
"offline.backOnline":"De nouveau en ligne",
"offline.mode":"Mode hors ligne",
"offline.dismiss":"Fermer",
"offline.lostTitle":"Connexion perdue",
"offline.lostDesc":"SecureBit est maintenant hors ligne. Certaines fonctions sont limitées, mais vos données restent en sécurité.",
"offline.point1":"Votre session et vos clés sont conservées",
"offline.point2":"Aucune donnée n'est stockée sur un serveur",
"offline.point3":"Messages et fichiers se synchronisent à la reconnexion",
"offline.continue":"Continuer hors ligne",
"offline.restoredTitle":"À la reconnexion",
"offline.restoredDesc":"Une coupure ne vous coûte rien. SecureBit met tout en file d'attente en local et reprend la session chiffrée dès que vous revenez en ligne.",
"offline.r1Title":"Vos messages sont remis",
"offline.r1Desc":"Tout ce que vous avez écrit hors ligne part automatiquement à votre correspondant.",
"offline.r2Title":"Les fichiers finissent de partir",
"offline.r2Desc":"Les envois reprennent là où ils s'étaient arrêtés - rien à renvoyer.",
"offline.r3Title":"Leurs messages et fichiers arrivent",
"offline.r3Desc":"Tout ce que votre correspondant a envoyé pendant la coupure vous parvient dans l'ordre.",
"offline.r4Title":"Rien n'est perdu",
"offline.r4Desc":"Après la reconnexion il n'y a aucun trou - la conversation reprend exactement là où elle s'était arrêtée.",
"qr.showSubtitleFrames":"Plein écran · laissez votre correspondant scanner les {frames} images",
"notify.enabledBody":"Notifications activées. Vous serez prévenu des nouveaux messages.",
"notify.workingBody":"Les notifications fonctionnent. Vous serez prévenu des nouveaux messages.",
"pw.label":"Champ du mot de passe",
"pw.placeholder":"Saisissez le mot de passe…",
"pw.decrypt":"Déchiffrer",
"pw.cancel":"Annuler",
"file.title":"Transferts de fichiers",
"file.drop":"Déposez les fichiers ici",
"file.dropHint":"Chiffrés de bout en bout avant l'envoi · jusqu'à 100 Mo",
"file.browse":"Parcourir l'appareil",
"file.incoming":"Fichier entrant",
"file.accept":"Accepter",
"file.reject":"Refuser",
"file.download":"Télécharger",
"file.notReady":"Connexion pas encore prête",
"file.tooLarge":"Fichier trop volumineux",
"file.typeNotAllowed":"Type de fichier non autorisé",
"file.maxConcurrent":"Nombre maximal de transferts simultanés atteint",
"file.gone":"Ce fichier n'est plus disponible au téléchargement.",
"call.incoming":"Appel entrant",
"call.incomingVideo":"Appel vidéo entrant",
"call.encrypted":"Appel chiffré",
"call.encryptedShort":"Chiffré",
"call.peer":"Pair sécurisé",
"call.connecting":"Connexion…",
"call.ringing":"Sonnerie…",
"call.accept":"Accepter",
"call.decline":"Refuser",
"call.end":"Raccrocher",
"call.camera":"Caméra",
"call.cameraOff":"Caméra éteinte",
"call.peerCameraOff":"La caméra de votre correspondant est éteinte",
"call.flipCamera":"Changer de caméra",
"call.addVideo":"Ajouter la vidéo",
"call.video":"Vidéo",
"call.muted":"Micro coupé",
"call.expand":"Agrandir",
"call.minimize":"Réduire",
"call.quality":"Qualité de la connexion",
"call.qualityExcellent":"Excellente",
"call.videoPrefix":"Vidéo · ",
"call.voicePrefix":"Voix · ",
"group.new":"Nouveau groupe",
"group.create":"Créer le groupe",
"group.join":"Rejoindre le groupe",
"group.name":"Nom du groupe",
"group.nameTooLong":"Le nom du groupe est trop long.",
"group.capacity":"Jusqu'à {max} personnes, en pair-à-pair. Tout le monde comparera un seul code de sécurité avant l'ouverture du groupe.",
"group.invite":"Inviter",
"group.inviteMore":"Inviter d'autres membres",
"group.invitePeople":"Inviter {count} personnes",
"group.invitation":"Invitation au groupe",
"group.addMembers":"Ajouter des membres",
"group.roomFor":"Encore de la place pour {remaining}. À leur arrivée, tout le monde comparera un nouveau code de groupe.",
"group.membersCount":"{count} membres",
"group.member":"Membre",
"group.members":"Membres",
"group.remove":"Retirer {name}",
"group.message":"Écrire à {name}",
"group.leave":"Quitter",
"group.leaveThis":"Quitter ce groupe",
"group.cancel":"Annuler le groupe",
"group.close":"Fermer",
"group.cancelBtn":"Annuler",
"group.decline":"Refuser",
"group.working":"En cours…",
"group.sasTitle":"Code de sécurité du groupe",
"group.sasEveryone":"Tout le monde voit ce code",
"group.sasCompare":"Comparez le code du groupe avec chaque membre pour ouvrir ce groupe.",
"group.sasReadAloud":"Lisez ces chiffres à voix haute à ",
"group.sasWarning":"Si ne serait-ce qu'un membre lit un code différent, quelqu'un se trouve entre vous. Annulez le groupe - ne confirmez pas.",
"group.confirmFirst":"Confirmez d'abord le code du groupe",
"group.codeSuffix":" · code {code}",
"group.exchangingNonces":"Échange des valeurs à usage unique…",
"group.waitingCommit":"En attente de l'engagement de chaque membre…",
"group.waitingJoin":"En attente des autres membres…",
"group.emptyChat":"Rien ici pour l'instant. Chaque message est signé par son expéditeur et passe par le lien chiffré propre à chaque membre.",
"group.noVerified":"Aucune discussion vérifiée pour l'instant. Ouvrez d'abord une discussion en tête-à-tête et comparez son code de sécurité - un groupe se construit à partir de connexions déjà vérifiées.",
"group.noMoreToAdd":"Aucune autre discussion vérifiée à ajouter. Ouvrez une discussion en tête-à-tête et comparez d'abord son code de sécurité.",
"group.directLink":"Lien pair-à-pair direct",
"group.noDirectLink":"Pas encore de lien direct - les messages passent par un autre membre pendant qu'il s'établit",
"group.relayNote":"Certains membres n'ont pas encore de lien direct avec vous. Leurs messages passent par un autre membre, qui voit que vous discutez mais ne peut ni lire au-delà de la signature ni modifier vos propos. Le groupe continue d'essayer de les connecter directement.",
"group.relayOnlyOff":"Le mode relais uniquement est désactivé : chaque membre se connecte directement à vous et apprend votre adresse IP, y compris ceux invités par quelqu'un d'autre. Activez-le dans les réglages réseau si cela compte ici.",
"group.memberOffline":"{name} est hors ligne et ne recevra pas les messages. Cette personne reste membre : la retirer régénère les clés du groupe.",
"group.joinNote":"Les autres membres sauront que vous êtes dans ce groupe. Il n'y a pas d'historique à rattraper - un groupe démarre vide.",
"group.inviteSentNote":"Le groupe continue de fonctionner jusqu'à leur acceptation. Il n'y a pas d'historique à rattraper pour eux : ils ne verront que ce qui sera envoyé à partir de maintenant.",
"group.errNotCreated":"Groupe non créé",
"group.errNobodyAccepted":"Personne n'a accepté l'invitation à temps.",
"group.errNothingSent":"Rien n'a été envoyé ni vérifié. Fermez cette fenêtre et réessayez une fois tout le monde connecté.",
"group.errNotFormed":"Ce groupe n'a pas pu être formé.",
"group.errFull":"Ce groupe est complet.",
"group.errInviteFailed":"L'invitation n'a pas pu être envoyée - cette discussion n'est pas connectée.",
"group.errNoMemberList":"La personne qui a créé le groupe n'a jamais envoyé la liste des membres.",
"group.errUnsignedList":"La liste des membres n'a pas été signée par la personne qui a créé le groupe. Ne réessayez pas - prévenez-la.",
"group.errNotOwner":"Quelqu'un d'autre que le propriétaire du groupe a tenté de modifier les membres.",
"flow.restoring":"Rétablissement de la connexion…",
"flow.invitationCaptured":"Invitation capturée.",
"err.needInvitation":"Vous devez coller le code d'invitation de votre correspondant.",
"err.needResponse":"Vous devez coller le code de réponse de votre correspondant.",
"err.responseFormat":"Format de réponse invalide - vérifiez le code",
"err.responseNoKey":"Code de réponse invalide - clé cryptographique manquante ou abîmée. Vérifiez le code et réessayez.",
"err.responseNoSignKey":"Code de réponse invalide - clé de vérification de signature manquante. Vérifiez le code et réessayez.",
"err.responseOutdated":"Les données de réponse sont périmées - utilisez une invitation récente",
"err.setupError":"Erreur lors de l'établissement de la connexion",
"err.notReady":"Connexion pas encore prête",
"err.securityBreach":"Faille de sécurité détectée - connexion refusée",
"err.securityValidation":"Échec du contrôle de sécurité - attaque possible",
"err.retiredQr":"Ce QR utilise un format abandonné qui n'a pas permis de transférer l'invitation. Demandez-en un nouveau, ou utilisez le copier-coller.",
"err.compressedQrNote":"Un QR compressé peut omettre le SDP par concision. Utilisez le copier-coller si la connexion échoue.",
"err.inviteNotConnected":"L'invitation n'a pas pu être envoyée. Cette discussion n'est pas connectée pour le moment.",
"err.inviteNotConnectedRetry":"L'invitation n'a pas pu être envoyée. Cette discussion n'est pas connectée pour le moment - rouvrez-la et réessayez.",
"err.nobodyAccepted":"Personne n'a accepté l'invitation. Le groupe est inchangé.",
"err.noAudio":"Aucun son enregistré - vérifiez l'autorisation du micro et réessayez.",
"err.voiceNeedsConnection":"Un message vocal demande une connexion sécurisée active. Reconnectez-vous et réessayez.",
"err.voiceRestoring":"Rétablissement de la connexion - réessayez d'envoyer le message vocal dans un instant.",
"err.fileTooLarge":"Fichier trop volumineux",
"sas.safetyNumber":"Numéro de sécurité",
"sas.incorrect":"Code incorrect. Vérifiez-le avec votre correspondant et réessayez.",
"sas.noMatch":"Les codes ne correspondent pas",
"sas.makeSure":"Assurez-vous que les codes correspondent exactement.",
"sas.tooManyAttempts":"Trop de tentatives incorrectes. La session a été réinitialisée par sécurité.",
"secDetail.Nested encryption failed":"Échec du chiffrement imbriqué",
"secDetail.Packet padding active":"Remplissage de paquets actif",
"secDetail.Packet padding failed":"Échec du remplissage de paquets",
"secDetail.Advanced features active":"Fonctions avancées actives",
"secDetail.Advanced features failed":"Échec des fonctions avancées",
"secDetail.No encryption key available":"Aucune clé de chiffrement disponible",
"secDetail.AES-GCM encryption/decryption working correctly":"Le chiffrement et le déchiffrement AES-GCM fonctionnent correctement",
"secDetail.No ECDH key pair available":"Aucune paire de clés ECDH disponible",
"secDetail.Key derivation failed":"Échec de la dérivation de clé",
"secDetail.No ECDSA key pair available":"Aucune paire de clés ECDSA disponible",
"secDetail.ECDSA digital signatures working correctly":"Les signatures numériques ECDSA fonctionnent correctement",
"secDetail.MAC key not available or invalid":"Clé MAC absente ou invalide",
"secDetail.Rate limiter did not block a message over the limit":"Le limiteur n'a pas bloqué un message au-delà de la limite",
"secDetail.Rate limiter is not available":"Le limiteur de débit n'est pas disponible",
"secDetail.Replay protection is working correctly":"La protection contre le rejeu fonctionne correctement",
"secDetail.Replay protection not enabled":"Protection contre le rejeu inactive",
"secDetail.SAS code not available":"Code SAS indisponible",
"secDetail.SAS verification code is valid and available":"Le code de vérification SAS est valide et disponible",
"secDetail.Traffic obfuscation is working correctly":"Le brouillage du trafic fonctionne correctement",
"secDetail.Traffic obfuscation not enabled":"Brouillage du trafic inactif",
"secDetail.No non-extractable ephemeral ECDH key pair for this session":"Aucune paire de clés ECDH éphémères non extractibles pour cette session",
"secDetail.Session-level PFS only: keys are ephemeral per session, but the Double Ratchet is not active for this connection (peer on an older version), so a compromised session key exposes the whole conversation":"Confidentialité persistante au niveau de la session seulement : les clés sont éphémères pour chaque session, mais le Double Ratchet n'est pas actif sur cette connexion (le correspondant utilise une version plus ancienne), donc une clé de session compromise expose toute la conversation.",
"msg.pause":"Pause",
"msg.failed":"Échec",
"groupErr.timeout":"Un membre a cessé de répondre avant que le code soit prêt.",
"groupErr.keyMismatch":"La clé d'un membre ne correspondait pas à l'identité annoncée.",
"groupErr.revealMismatch":"La valeur révélée par un membre ne correspondait pas à son engagement.",
"groupErr.commitChanged":"Un membre a changé son engagement en cours de route.",
"groupErr.missingKey":"Un membre figurait sur la liste alors que sa clé n'est jamais arrivée.",
"groupErr.outsider":"Une trame est arrivée de quelqu'un extérieur au groupe.",
"groupErr.limit":"Un groupe est limité à huit membres.",
"groupErr.tooLarge":"Un message était trop volumineux pour être envoyé au groupe.",
"groupCall.startVoice":"Démarrer un appel vocal de groupe",
"groupCall.startVideo":"Démarrer un appel vidéo de groupe",
"groupCall.join":"Rejoindre",
"groupCall.dismiss":"Pas maintenant",
"groupCall.leave":"Quitter l'appel",
"groupCall.you":"Vous",
"groupCall.connecting":"Connexion…",
"groupCall.waitingLink":"En attente d'un lien direct…",
"groupCall.legFailed":"Connexion impossible",
"groupCall.startedVoice":"{name} a démarré un appel vocal",
"groupCall.startedVideo":"{name} a démarré un appel vidéo",
"groupCall.inCall":"{count} dans l'appel",
"groupCall.err.permission_denied":"L'appel n'a pas pu démarrer - l'accès au micro et à la caméra est bloqué. Autorisez-le pour ce site, puis réessayez.",
"groupCall.err.device_not_found":"L'appel n'a pas pu démarrer - aucun micro n'a été trouvé sur cet appareil.",
"groupCall.err.device_busy":"L'appel n'a pas pu démarrer - votre micro est utilisé par une autre application. Fermez-la et réessayez.",
"groupCall.err.media_failed":"L'appel n'a pas pu démarrer - le micro n'a pas pu être ouvert.",
"groupCall.err.call_in_progress":"Un appel est déjà en cours dans ce groupe. Rejoignez-le plutôt que d'en démarrer un autre.",
"groupCall.err.not_ready":"Confirmez le code du groupe avant d'appeler.",
"desktop.chatCarriesCall":"Cette discussion porte un appel de groupe. Quittez l'appel de groupe avant de lancer un appel à deux.",
"desktop.err.permission_denied":"L'appel n'a pas pu démarrer - l'accès au micro et à la caméra est bloqué. Autorisez-le dans les réglages système, puis réessayez.",
"desktop.language":"Langue",
"desktop.languageHint":"S'applique immédiatement. Les messages déjà envoyés gardent leurs mots.",
"desktop.compareCode":"Comparez le code de vérification avec votre pair et confirmez s’il correspond.",
"desktop.verifyBeforeFiles":"Terminez la vérification avant d’envoyer des fichiers.",
"desktop.verifyBeforeSending":"Terminez la vérification avant d’envoyer des messages.",
"desktop.disconnectedByBackend":"Connexion fermée de façon sécurisée.",
"desktop.restoreFailed":"Impossible de rétablir la connexion. Fermeture de cette discussion.",
"desktop.channelNotReady":"Le canal de données n’est pas encore disponible. Attendez que la connexion soit établie.",
"desktop.enterCode":"Saisissez le code de vérification pour confirmer.",
"desktop.noOffer":"Aucune invitation trouvée. Créez-en une d’abord.",
"desktop.notInitiator":"Vous n’avez pas créé cette connexion, il n’y a donc aucune réponse à appliquer.",
"desktop.decryptFailed":"Un message n’a pas pu être déchiffré et a été écarté.",
"desktop.badMessageFormat":"Une trame mal formée est arrivée et a été écartée.",
"desktop.notSentNotReady":"Message non envoyé : le canal sécurisé n’est pas prêt. Attendez la fin de la vérification ou reconnectez-vous.",
"desktop.micDenied":"L’accès au micro a été refusé.",
"desktop.noChannelWait":"Aucun canal sécurisé ouvert - attendez que la connexion soit établie.",
"desktop.sasFailed":"Échec de la vérification. Un intermédiaire est peut-être présent : la connexion a été interrompue.",
"desktop.sasOk":"Vérification réussie. Ce canal est authentifié de bout en bout.",
"desktop.iceForgotten":"Serveurs enregistrés oubliés. Utilisation des serveurs ICE publics.",
"desktop.icePublic":"Utilisation des serveurs ICE publics.",
"desktop.verificationInProgress":"La vérification de sécurité est encore en cours. Attendez la fin.",
"desktop.fileGone":"Ce fichier n’est plus disponible au téléchargement.",
"desktop.codeMismatch":"Les codes de vérification ne correspondent pas. Déconnexion par sécurité.",
"desktop.noLocalCode":"Échec de la vérification : aucun code dérivé localement à comparer. Déconnexion par sécurité.",
"desktop.protocolViolation":"Le pair a affirmé que le code était confirmé avant que vous ne le confirmiez. Déconnexion par sécurité.",
"desktop.verificationRejected":"Vérification rejetée. La connexion a été interrompue par sécurité.",
"secLevel.HIGH":"ÉLEVÉ",
"secLevel.MEDIUM":"MOYEN",
"secLevel.LOW":"FAIBLE",
"desktop.rerun":"Relancer",
"desktop.ice.customDesc":"Jusqu'à {max} serveurs, une URL par ligne ou du JSON.",
"desktop.ice.persistDesc":"Enregistré localement sur cet appareil. Laissez désactivé pour ne l’utiliser que pendant cette session.",
"desktop.group.leaveNote":"Les autres membres sont informés de votre départ. Rien de ce groupe ne reste ensuite sur cet appareil - aucun serveur n’en garde de copie, il vous faudrait donc une nouvelle invitation.",
"desktop.sec.ecdsaOk":"Signature du paquet de clés du pair vérifiée pendant la poignée de main (ECDSA P-384 / SHA-384)",
"desktop.sec.ecdsaNone":"Aucune poignée de main achevée",
"desktop.sec.ecdhOk":"Clés de session dérivées d’un échange ECDH P-384 éphémère via HKDF-SHA-256",
"desktop.sec.ecdhNone":"Aucune clé de session dérivée",
"desktop.sec.encryptionOk":"Chiffrement et déchiffrement AES-GCM vérifiés dans le cœur",
"desktop.sec.encryptionNa":"L’autotest AES-GCM n’a pas pu être exécuté",
"desktop.sec.integrityOk":"Intégrité des messages vérifiée (authentification AES-GCM)",
"desktop.sec.integrityNa":"L’autotest d’intégrité n’a pas pu être exécuté",
"desktop.sec.pfsOk":"Double Ratchet actif - chaque message a sa propre clé",
"desktop.sec.pfsNa":"Non mesuré",
"desktop.sec.replayOk":"Les clés de message du ratchet sont détruites après usage : une trame capturée ne peut pas être rejouée",
"desktop.sec.replayNa":"Non mesuré",
"desktop.sec.dtlsPinned":"Empreinte DTLS du pair épinglée : {fp}",
"desktop.callsNotHere":"Les appels ne sont pas encore disponibles dans cette version. Les messages, les fichiers et les discussions de groupe fonctionnent normalement."