<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" version="1.1">
  <file original="NoName" source-language="en" datatype="plaintext" target-language="fr">
    <body>
      <trans-unit xml:space="preserve" approved="no" id="common.save">
        <source>Save</source>
        <target state="translated">Sauvegarder</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.cancel">
        <source>Cancel</source>
        <target state="translated">Annuler</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.close">
        <source>Close</source>
        <target state="translated">Fermer</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.delete">
        <source>Delete</source>
        <target state="translated">Supprimer</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.remove">
        <source>Remove</source>
        <target state="translated">Retirer</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.edit">
        <source>Edit</source>
        <target state="translated">Modifier</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.copy">
        <source>Copy</source>
        <target state="translated">Copie</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.copied">
        <source>Copied</source>
        <target state="translated">Copié</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.retry">
        <source>Retry</source>
        <target state="translated">Réessayer</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.back">
        <source>Back</source>
        <target state="translated">Dos</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.next">
        <source>Next</source>
        <target state="translated">Suivant</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.done">
        <source>Done</source>
        <target state="translated">Fait</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.confirm">
        <source>Confirm</source>
        <target state="translated">Confirmer</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.create">
        <source>Create</source>
        <target state="translated">Créer</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.add">
        <source>Add</source>
        <target state="translated">Ajouter</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.search">
        <source>Search</source>
        <target state="translated">Recherche</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.loading">
        <source>Loading…</source>
        <target state="translated">Chargement…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.saving">
        <source>Saving…</source>
        <target state="translated">Économie…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.error">
        <source>Something went wrong</source>
        <target state="translated">Quelque chose s'est mal passé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.enabled">
        <source>Enabled</source>
        <target state="translated">Activé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.disabled">
        <source>Disabled</source>
        <target state="translated">Désactivé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.on">
        <source>On</source>
        <target state="translated">Sur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.off">
        <source>Off</source>
        <target state="translated">Désactivé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.yes">
        <source>Yes</source>
        <target state="translated">Oui</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.no">
        <source>No</source>
        <target state="translated">Non</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.download">
        <source>Download</source>
        <target state="translated">Télécharger</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.upload">
        <source>Upload</source>
        <target state="translated">Télécharger</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="common.unknown">
        <source>Unknown</source>
        <target state="translated">Inconnu</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="language.title">
        <source>Language</source>
        <target state="translated">Langue</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="language.description">
        <source>The language this device shows the app in. It is not sent to the server, so each of your devices can differ.</source>
        <target state="translated">La langue dans laquelle cet appareil affiche l'application. Elle n'est pas envoyée au serveur, chacun de vos appareils peut donc différer.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="language.system">
        <source>Match my system</source>
        <target state="translated">Correspond à mon système</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="language.systemHint">
        <source>Currently {language}</source>
        <target state="translated">Actuellement {language}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="language.en">
        <source>English</source>
        <target state="translated">Anglais</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="language.lt">
        <source>Lithuanian</source>
        <target state="translated">lituanien</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="language.zh">
        <source>Chinese</source>
        <target state="translated">Chinois</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="language.hi">
        <source>Hindi</source>
        <target state="translated">hindi</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="language.es">
        <source>Spanish</source>
        <target state="translated">Espagnol</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="language.ar">
        <source>Arabic</source>
        <target state="translated">arabe</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="language.fr">
        <source>French</source>
        <target state="translated">Français</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="language.bn">
        <source>Bengali</source>
        <target state="translated">bengali</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="language.pt">
        <source>Portuguese</source>
        <target state="translated">portugais</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="language.ru">
        <source>Russian</source>
        <target state="translated">russe</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="language.ur">
        <source>Urdu</source>
        <target state="translated">Ourdou</target>
      </trans-unit>
      <trans-unit xml:space="preserve" id="language.pirate">
        <source>Pirate</source>
        <target></target>
      </trans-unit>
      <trans-unit xml:space="preserve" id="language.lolcat">
        <source>LOLCAT</source>
        <target></target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="language.incomplete">
        <source>This translation is not finished; anything missing is shown in English.</source>
        <target state="translated">Cette traduction n'est pas terminée ; tout ce qui manque est affiché en anglais.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="activityStatus.forDuration">
        <source>for {duration}</source>
        <target state="translated">pour {duration}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="aboutTab.aFastSelfHostedChatFor">
        <source>A fast, self-hosted chat for servers, DMs, and voice - part of the Oranges.LT family.</source>
        <target state="translated">Un chat rapide et auto-hébergé pour les serveurs, les DM et la voix - faisant partie de la famille Oranges.LT.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="aboutTab.build">
        <source>Build</source>
        <target state="translated">Construire</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="aboutTab.built">
        <source>Built</source>
        <target state="translated">Construit</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="aboutTab.client">
        <source>Client</source>
        <target state="translated">Client</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="aboutTab.copyrightMadeWith">
        <source>© {year} Oranges.LT · Made with 🍊</source>
        <target state="translated">© {year} Oranges.LT · Réalisé avec 🍊</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="aboutTab.links">
        <source>Links</source>
        <target state="translated">Links</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="aboutTab.orangchat">
        <source>OrangChat</source>
        <target state="translated">Chat Orangé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="aboutTab.orangesLt">
        <source>Oranges.LT</source>
        <target state="translated">Oranges.LT</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="aboutTab.platform">
        <source>Platform</source>
        <target state="translated">Plate-forme</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="aboutTab.version">
        <source>Version</source>
        <target state="translated">Version</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="aboutTab.versionNumber">
        <source>Version {version}</source>
        <target state="translated">Version{version}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.aLink">
        <source>A link</source>
        <target state="translated">Un lien</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.alwaysUnderlineLinksNotJustOn">
        <source>Always underline links, not just on hover.</source>
        <target state="translated">Soulignez toujours les liens, pas seulement au survol.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.chatInput">
        <source>Chat input</source>
        <target state="translated">Entrée dans le chat</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.chatPreview">
        <source>Chat preview</source>
        <target state="translated">Aperçu du chat</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.compactTightensTheSpacingBetweenMessages">
        <source>Compact tightens the spacing between messages. The preview above follows it.</source>
        <target state="translated">Compact resserre l’espacement entre les messages. L'aperçu ci-dessus le suit.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.increaseContrast">
        <source>Increase contrast</source>
        <target state="translated">Augmenter le contraste</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.larger">
        <source>Larger</source>
        <target state="translated">Plus grand</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.messageDensity">
        <source>Message density</source>
        <target state="translated">Densité des messages</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.minimizeAnimationsAndTransitionsAcrossThe">
        <source>Minimize animations and transitions across the app.</source>
        <target state="translated">Réduisez les animations et les transitions dans l’application.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.motionContrast">
        <source>Motion &amp; contrast</source>
        <target state="translated">Mouvement et contraste</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.readablePreview">
        <source>Looks readable at this size. {link} shows the underline setting.</source>
        <target state="translated">Cela semble lisible à cette taille. {link} affiche le paramètre de soulignement.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.reduceMotion">
        <source>Reduce motion</source>
        <target state="translated">Réduire les mouvements</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.resetToDefaults">
        <source>Reset to defaults</source>
        <target state="translated">Réinitialiser aux valeurs par défaut</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.scalesTheEntireInterfaceTheSample">
        <source>Scales the entire interface. The sample below updates as you drag.</source>
        <target state="translated">Met à l’échelle toute l’interface. L’exemple ci-dessous se met à jour à mesure que vous faites glisser.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.sendMessagesWithEnter">
        <source>Send messages with Enter</source>
        <target state="translated">Envoyer des messages avec Entrée</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.smaller">
        <source>Smaller</source>
        <target state="translated">Plus petit</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.strongerBordersAndHigherContrastText">
        <source>Stronger borders and higher-contrast text.</source>
        <target state="translated">Bordures plus fortes et texte plus contrasté.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.textSize">
        <source>Text size</source>
        <target state="translated">Taille du texte</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.theQuickBrownFoxJumpsOver">
        <source>The quick brown fox jumps over the lazy dog.</source>
        <target state="translated">Le renard brun rapide saute par-dessus le chien paresseux.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.thisSecondLineIsGroupedUnder">
        <source>This second line is grouped under the same author - it's the gap here that Cozy and Compact change.</source>
        <target state="translated">Cette deuxième ligne est regroupée sous le même auteur - c'est ici l'écart que Cosy et Compact changent.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.todayAt1403">
        <source>Today at 14:03</source>
        <target state="translated">Aujourd'hui à 14h03</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="accessibilityTab.underlineLinks">
        <source>Underline links</source>
        <target state="translated">Souligner les liens</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="activityTab.activity">
        <source>Activity</source>
        <target state="translated">Activité</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="activityTab.addGame">
        <source>Add game</source>
        <target state="translated">Ajouter un jeu</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="activityTab.allowARunningProcessAndChoose">
        <source>Allow a running process and choose the game name shown to others.</source>
        <target state="translated">Autorisez un processus en cours et choisissez le nom du jeu montré aux autres.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="activityTab.customGameDetectionIsAvailableIn">
        <source>Custom game detection is available in the desktop app.</source>
        <target state="translated">La détection de jeu personnalisée est disponible dans l'application de bureau.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="activityTab.displayTheGameYourePlaying">
        <source>Display the game you're playing</source>
        <target state="translated">Affichez le jeu auquel vous jouez</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="activityTab.gameName">
        <source>Game name</source>
        <target state="translated">Nom du jeu</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="activityTab.gameNotDetected">
        <source>Game not detected?</source>
        <target state="translated">Jeu non détecté ?</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="activityTab.noRunningProcessesWereFound">
        <source>No running processes were found.</source>
        <target state="translated">Aucun processus en cours d'exécution n'a été trouvé.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="activityTab.runningProcess">
        <source>Running process</source>
        <target state="translated">Processus en cours</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="activityTab.theDesktopAppChecksRunningProcess">
        <source>The desktop app checks running process names and shares a match with your friends. This is off by default.</source>
        <target state="translated">L'application de bureau vérifie les noms des processus en cours d'exécution et partage une correspondance avec vos amis. Ceci est désactivé par défaut.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="activityTab.theDesktopAppDetectsTheGames">
        <source>The desktop app detects the games you're playing and shares them with your friends.</source>
        <target state="translated">L'application de bureau détecte les jeux auxquels vous jouez et les partage avec vos amis.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="activityTab.turnActivitySharingOnToInspect">
        <source>Turn activity sharing on to inspect running processes.</source>
        <target state="translated">Activez le partage d'activités pour inspecter les processus en cours d'exécution.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="activityTab.whatShouldFriendsSee">
        <source>What should friends see?</source>
        <target state="translated">Que devraient voir les amis ?</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="addByCode.checkingTheirIdentity">
        <source>Checking their identity…</source>
        <target state="translated">Vérification de leur identité…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="addByCode.myContactCode">
        <source>My contact code</source>
        <target state="translated">Mon code de contact</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="addByCode.publicInformationOnlyBeingInThe">
        <source>Public information only. Being in the room is what makes it mean anything.</source>
        <target state="translated">Information publique uniquement. Être dans la pièce est ce qui lui donne un sens.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="addByCode.scanTheirCode">
        <source>Scan their code</source>
        <target state="translated">Scannez leur code</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="addByCode.showMyCode">
        <source>Show my code</source>
        <target state="translated">Montrer mon code</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="addByCode.togetherInPersonScanningTheirCode">
        <source>Together in person? Scanning their code adds them and confirms their encryption keys in one go.</source>
        <target state="translated">Ensemble en personne ? Scanner leur code les ajoute et confirme leurs clés de cryptage en une seule fois.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="addServerDialog.addServerMode">
        <source>Add server mode</source>
        <target state="translated">Ajouter le mode serveur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="addServerDialog.inviteLink">
        <source>Invite link</source>
        <target state="translated">Lien d'invitation</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="addServerDialog.myOrangeGrove">
        <source>My orange grove</source>
        <target state="translated">Mon orangeraie</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="addServerDialog.serverName">
        <source>Server name</source>
        <target state="translated">Nom du serveur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="androidAppBanner.dismissAndroidAppDownload">
        <source>Dismiss Android app download</source>
        <target state="translated">Ignorer le téléchargement de l'application Android</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="androidAppBanner.getOrangchatForAndroid">
        <source>Get OrangChat for Android</source>
        <target state="translated">Obtenez OrangChat pour Android</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="androidAppBanner.orangchatAndroidApp">
        <source>OrangChat Android app</source>
        <target state="translated">Application Android Chat OrangChat</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="androidAppBanner.versionAndSize">
        <source>Version {version} · {size}</source>
        <target state="translated">Version {version} · {size}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="auditLogTab.changed">
        <source>Changed: {list}</source>
        <target state="translated">Modifié : {list}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="auditLogTab.newer">
        <source>Newer</source>
        <target state="translated">Plus récent</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="auditLogTab.older">
        <source>Older</source>
        <target state="translated">Plus vieux</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="authLayout.chat">
        <source>Chat</source>
        <target state="translated">Chat</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="authLayout.cookies">
        <source>Cookies</source>
        <target state="translated">Cookies</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="authLayout.guidelines">
        <source>Guidelines</source>
        <target state="translated">Lignes directrices</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="authLayout.legal">
        <source>Legal</source>
        <target state="translated">Légal</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="authLayout.orang">
        <source>Orang</source>
        <target state="translated">Orangé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="authLayout.privacy">
        <source>Privacy</source>
        <target state="translated">Confidentialité</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="authLayout.terms">
        <source>Terms</source>
        <target state="translated">Termes</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="botTag.bot">
        <source>Bot</source>
        <target state="translated">Bot</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="botTag.botAccount">
        <source>Bot account</source>
        <target state="translated">Compte de robot</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callCard.audioCall">
        <source>Audio call</source>
        <target state="translated">Appel audio</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callCard.videoCall">
        <source>Video call</source>
        <target state="translated">Appel vidéo</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callErrorToast.dismiss">
        <source>Dismiss</source>
        <target state="translated">Rejeter</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.callConnected">
        <source>Call connected</source>
        <target state="translated">Appel connecté</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.calling">
        <source>Calling</source>
        <target state="translated">Appel</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.closeFullScreen">
        <source>Close full screen</source>
        <target state="translated">Fermer le plein écran</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.connectedInCall">
        <source>{count} in call</source>
        <target state="translated">{count} en appel</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.deafen">
        <source>Deafen</source>
        <target state="translated">Assourdir</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.deafened">
        <source>Deafened</source>
        <target state="translated">Assourdi</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.hangUp">
        <source>Hang up</source>
        <target state="translated">Raccrocher</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.inCall">
        <source>In call</source>
        <target state="translated">En appel</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.minimizeCall">
        <source>Minimize call</source>
        <target state="translated">Réduire l'appel</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.mute">
        <source>Mute</source>
        <target state="translated">Muet</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.muted">
        <source>Muted</source>
        <target state="translated">En sourdine</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.nameSScreen">
        <source>{name}'s screen</source>
        <target state="translated">L'écran de {name}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.notInCall">
        <source>Not in call</source>
        <target state="translated">Pas en appel</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.participantsSummary">
        <source>{connected} in call · {ringing} ringing</source>
        <target state="translated">{connected} en appel · {ringing} sonne</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.ringingStatus">
        <source>Ringing…</source>
        <target state="translated">Sonnerie…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.shareYourScreen">
        <source>Share your screen</source>
        <target state="translated">Partagez votre écran</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.speaking">
        <source>Speaking</source>
        <target state="translated">Parlant</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.stopSharingYourScreen">
        <source>Stop sharing your screen</source>
        <target state="translated">Arrêtez de partager votre écran</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.turnCameraOff">
        <source>Turn camera off</source>
        <target state="translated">Éteignez l'appareil photo</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.turnCameraOn">
        <source>Turn camera on</source>
        <target state="translated">Allumer la caméra</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.undeafen">
        <source>Undeafen</source>
        <target state="translated">Insourdissant</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.unmute">
        <source>Unmute</source>
        <target state="translated">Activer le son</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="callStage.yourScreen">
        <source>Your screen</source>
        <target state="translated">Votre écran</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="channelSidebar.channels">
        <source>Channels</source>
        <target state="translated">Canaux</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="channelSidebar.createChannel">
        <source>Create channel</source>
        <target state="translated">Créer une chaîne</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="channelSidebar.empty">
        <source>Empty</source>
        <target state="translated">Vide</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="channelSidebar.invitePeople">
        <source>Invite people</source>
        <target state="translated">Inviter des personnes</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="channelSidebar.live">
        <source>Live</source>
        <target state="translated">En direct</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="channelSidebar.noChannelsYet">
        <source>No channels yet.</source>
        <target state="translated">Aucune chaîne pour l'instant.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="channelSidebar.serverSettings">
        <source>Server settings</source>
        <target state="translated">Paramètres du serveur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="chatView.channelTopic">
        <source>Channel topic</source>
        <target state="translated">Sujet de la chaîne</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="chatView.couldntLoadMessagesCheckYourConnection">
        <source>Couldn't load messages. Check your connection and try again.</source>
        <target state="translated">Impossible de charger les messages. Vérifiez votre connexion et réessayez.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="chatView.encrypted">
        <source>Encrypted</source>
        <target state="translated">Crypté</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="chatView.messagesInThisConversationAreEnd">
        <source>Messages in this conversation are end-to-end encrypted</source>
        <target state="translated">Les messages de cette conversation sont chiffrés de bout en bout</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="chatView.more">
        <source>More</source>
        <target state="translated">Plus</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="chatView.openNavigation">
        <source>Open navigation</source>
        <target state="translated">Ouvrir la navigation</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="chatView.searchMessages">
        <source>Search messages</source>
        <target state="translated">Rechercher des messages</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="chatView.toggleMemberList">
        <source>Toggle member list</source>
        <target state="translated">Basculer la liste des membres</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="chatView.tryAgain">
        <source>Try again</source>
        <target state="translated">Essayer à nouveau</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="composer.aBotTokenIsThePassword">
        <source>A bot token is the password for a bot account: anyone with it can sign in as the bot, post in its servers and read its conversations. Pasting it here would hand that control to everyone who can read this conversation.</source>
        <target state="translated">Un jeton de bot est le mot de passe d'un compte de bot : toute personne possédant ce jeton peut se connecter en tant que bot, publier sur ses serveurs et lire ses conversations. Le coller ici donnerait ce contrôle à tous ceux qui peuvent lire cette conversation.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="composer.aLoginTokenLetsAnyoneWho">
        <source>A login token lets anyone who has it sign into an OrangChat account. Pasting it here would hand that account to everyone who can read this conversation.</source>
        <target state="translated">Un jeton de connexion permet à toute personne qui le possède de se connecter à un compte OrangChat. Le coller ici remettrait ce compte à tous ceux qui peuvent lire cette conversation.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="composer.attachFiles">
        <source>Attach files</source>
        <target state="translated">Joindre des fichiers</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="composer.cancelReply">
        <source>Cancel reply</source>
        <target state="translated">Annuler la réponse</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="composer.deleteRecording">
        <source>Delete recording</source>
        <target state="translated">Supprimer l'enregistrement</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="composer.dontPaste">
        <source>Don't paste</source>
        <target state="translated">Ne colle pas</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="composer.holdToRecordAVoiceMessage">
        <source>Hold to record a voice message</source>
        <target state="translated">Maintenez enfoncé pour enregistrer un message vocal</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="composer.lockedSendWhenYoureDone">
        <source>Locked - send when you're done</source>
        <target state="translated">Verrouillé - envoyez lorsque vous avez terminé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="composer.mentionSuggestions">
        <source>Mention suggestions</source>
        <target state="translated">Mentionner des suggestions</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="composer.pasteCutOff">
        <source>Paste cut off - {max} characters max</source>
        <target state="needs-translation">Coller coupé – {max} caractères maximum</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="composer.pasteItAnyway">
        <source>Paste it anyway</source>
        <target state="translated">Colle-le quand même</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="composer.replyingTo">
        <source>Replying to</source>
        <target state="translated">Répondre à</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="composer.sendMessage">
        <source>Send message</source>
        <target state="translated">Envoyer un message</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="composer.sendVoiceMessage">
        <source>Send voice message</source>
        <target state="translated">Envoyer un message vocal</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="composer.takeAPicture">
        <source>Take a picture</source>
        <target state="translated">Prendre une photo</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="composerAttachments.expiresIn1Hour">
        <source>Expires in 1 hour</source>
        <target state="translated">Expire dans 1 heure</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="confirmIdentityDialog.authenticationCode">
        <source>Authentication code</source>
        <target state="translated">Code d'authentification</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="confirmIdentityDialog.password">
        <source>Password</source>
        <target state="translated">Mot de passe</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="connectionCards.connections">
        <source>Connections</source>
        <target state="translated">Relations</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="connectionCards.verified">
        <source>Verified</source>
        <target state="translated">Vérifié</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="connectionsTab.addAnyWebsite">
        <source>Add any website</source>
        <target state="translated">Ajouter n'importe quel site Web</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="connectionsTab.connectAnAccount">
        <source>Connect an account</source>
        <target state="translated">Connecter un compte</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="connectionsTab.disconnect">
        <source>Disconnect</source>
        <target state="translated">Déconnecter</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="connectionsTab.itWillBeRemovedFromYour">
        <source>It will be removed from your profile. You can link it again at any time.</source>
        <target state="translated">Il sera supprimé de votre profil. Vous pouvez le lier à nouveau à tout moment.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="connectionsTab.label">
        <source>Label</source>
        <target state="translated">Étiquette</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="connectionsTab.link">
        <source>Link</source>
        <target state="translated">Lien</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="connectionsTab.linkedAccountsAppearOnYourProfile">
        <source>Linked accounts appear on your profile with a verified check. OrangChat only reads your username - it can never post as you.</source>
        <target state="translated">Les comptes liés apparaissent sur votre profil avec un chèque vérifié. OrangChat lit uniquement votre nom d'utilisateur - il ne peut jamais publier sous votre nom.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="connectionsTab.linksYouAddByHandShow">
        <source>Links you add by hand show without a verified check, since anyone could enter them.</source>
        <target state="translated">Les liens que vous ajoutez manuellement s’affichent sans vérification vérifiée, puisque n’importe qui peut les saisir.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="connectionsTab.myWebsite">
        <source>My website</source>
        <target state="translated">Mon site internet</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="connectionsTab.noProvidersAreConfiguredOnThis">
        <source>No providers are configured on this server yet.</source>
        <target state="translated">Aucun fournisseur n'est encore configuré sur ce serveur.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="connectionsTab.nothingLinkedYet">
        <source>Nothing linked yet.</source>
        <target state="translated">Rien de lié pour l'instant.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="connectionsTab.verified">
        <source>Verified</source>
        <target state="translated">Vérifié</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="connectionsTab.yourConnections">
        <source>Your connections</source>
        <target state="translated">Vos connexions</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="createChannelDialog.category">
        <source>Category</source>
        <target state="translated">Catégorie</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="createChannelDialog.channelType">
        <source>Channel type</source>
        <target state="translated">Type de canal</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="createChannelDialog.noCategory">
        <source>No category</source>
        <target state="translated">Aucune catégorie</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="developersPage.addToServer">
        <source>Add to server…</source>
        <target state="translated">Ajouter au serveur…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="developersPage.avatar">
        <source>Avatar</source>
        <target state="translated">Avatar</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="developersPage.bot">
        <source>Bot</source>
        <target state="translated">Bot</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="developersPage.bots">
        <source>Bots</source>
        <target state="translated">Bots</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="developersPage.botsIntro">
        <source>Build on OrangChat with the {js} package for JavaScript or {py} for Python. A bot is a real account: invite it to a server and give it roles like anyone else. Bots cannot read DMs - those are end-to-end encrypted.</source>
        <target state="needs-translation">Développez sur OrangChat avec le package {js} pour JavaScript ou {py} pour Python. Un bot est un vrai compte : invitez-le sur un serveur et donnez-lui des rôles comme n'importe qui d'autre. Les robots ne peuvent pas lire les DM – ceux-ci sont cryptés de bout en bout.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="developersPage.copyThisTokenNow">
        <source>Copy this token now</source>
        <target state="translated">Copiez ce jeton maintenant</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="developersPage.developers">
        <source>Developers</source>
        <target state="translated">Développeurs</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="developersPage.displayName">
        <source>Display name</source>
        <target state="translated">Nom d'affichage</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="developersPage.helper">
        <source>Helper</source>
        <target state="translated">Auxiliaire</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="developersPage.itIsStoredHashedAndCannot">
        <source>It is stored hashed and cannot be shown again. If you lose it, mint a new one.</source>
        <target state="translated">Il est stocké haché et ne peut plus être affiché. Si vous le perdez, créez-en un nouveau.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="developersPage.iveSavedIt">
        <source>I've saved it</source>
        <target state="translated">je l'ai sauvegardé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="developersPage.newBot">
        <source>New bot</source>
        <target state="translated">Nouveau robot</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="developersPage.newToken">
        <source>New token</source>
        <target state="translated">Nouveau jeton</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="developersPage.noTokensThisBotCannotSign">
        <source>No tokens. This bot cannot sign in until you mint one.</source>
        <target state="translated">Aucun jeton. Ce bot ne peut pas se connecter tant que vous n’en avez pas créé un.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="developersPage.openNavigation">
        <source>Open navigation</source>
        <target state="translated">Ouvrir la navigation</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="developersPage.revokeToken">
        <source>Revoke token</source>
        <target state="translated">Révoquer le jeton</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="developersPage.saveChanges">
        <source>Save changes</source>
        <target state="translated">Enregistrer les modifications</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="developersPage.tokens">
        <source>Tokens</source>
        <target state="translated">Jetons</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="developersPage.username">
        <source>Username</source>
        <target state="translated">Nom d'utilisateur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="developersPage.youHaventMadeAnyBotsYet">
        <source>You haven't made any bots yet.</source>
        <target state="translated">Vous n'avez pas encore créé de robots.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="devicesTab.eachEntryIsADeviceWith">
        <source>Each entry is a device with a live sign-in. Revoking one stops it renewing; it loses access within a few minutes.</source>
        <target state="translated">Chaque entrée est un appareil avec une connexion en direct. La révocation empêche le renouvellement ; il perd l'accès au bout de quelques minutes.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="devicesTab.signedInAt">
        <source>Signed in {time}</source>
        <target state="translated">Signé dans {time}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="devicesTab.signOutOtherDevices_one">
        <source>Sign out {count} other device</source>
        <target state="translated">Se déconnecter {count} autre appareil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="devicesTab.signOutOtherDevices_other">
        <source>Sign out {count} other devices</source>
        <target state="translated">Se déconnecter des autres appareils {count}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="devicesTab.thisDevice">
        <source>This device</source>
        <target state="translated">Cet appareil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="devicesTab.whereYoureSignedIn">
        <source>Where you're signed in</source>
        <target state="translated">Où êtes-vous connecté</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmIntro.dmBeginning">
        <source>This is the beginning of your direct message history with {name}.</source>
        <target state="translated">C'est le début de l'historique de vos messages directs avec {name}.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmIntro.groupBeginning_one">
        <source>This is the beginning of this group, with {count} other person.</source>
        <target state="translated">C'est le début de ce groupe, avec une autre personne {count}.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmIntro.groupBeginning_other">
        <source>This is the beginning of this group, with {count} other people.</source>
        <target state="translated">C'est le début de ce groupe, avec d'autres personnes {count}.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmIntro.justYouHere">
        <source>Just you here</source>
        <target state="translated">Juste toi ici</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmIntro.messagesHereAreLockedOnYour">
        <source>Messages here are locked on your device, so only the people in this conversation can read them.</source>
        <target state="translated">Les messages ici sont verrouillés sur votre appareil, donc seules les personnes participant à cette conversation peuvent les lire.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmIntro.messagesYouSendInThisConversation">
        <source>Messages you send in this conversation are only visible to you.</source>
        <target state="translated">Les messages que vous envoyez dans cette conversation ne sont visibles que par vous.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmSidebar.conversations">
        <source>Conversations</source>
        <target state="translated">Conversations</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmSidebar.copyChannelId">
        <source>Copy Channel ID</source>
        <target state="translated">Copier l'ID de la chaîne</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmSidebar.copyUserId">
        <source>Copy User ID</source>
        <target state="translated">Copier l'ID utilisateur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmSidebar.developers">
        <source>Developers</source>
        <target state="translated">Développeurs</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmSidebar.directMessages">
        <source>Direct Messages</source>
        <target state="translated">Messages directs</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmSidebar.friends">
        <source>Friends</source>
        <target state="translated">Amis</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmSidebar.markAsRead">
        <source>Mark As Read</source>
        <target state="translated">Marquer comme lu</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmSidebar.newDirectMessage">
        <source>New direct message</source>
        <target state="translated">Nouveau message direct</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmSidebar.newGroup">
        <source>New group</source>
        <target state="translated">Nouveau groupe</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmSidebar.noConversationsYetHitToMessage">
        <source>No conversations yet - hit + to message someone.</source>
        <target state="translated">Aucune conversation pour l'instant - appuyez sur + pour envoyer un message à quelqu'un.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmSidebar.profile">
        <source>Profile</source>
        <target state="translated">Profil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmSidebar.removeFriend">
        <source>Remove Friend</source>
        <target state="translated">Supprimer un ami</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmSidebar.startACall">
        <source>Start a Call</source>
        <target state="translated">Démarrer un appel</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmSidebar.theyllBeRemovedFromYourFriends">
        <source>They'll be removed from your friends, and you'll need a new request to reconnect. Your message history stays.</source>
        <target state="translated">Ils seront supprimés de vos amis et vous aurez besoin d'une nouvelle demande pour vous reconnecter. L’historique de vos messages reste.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dmSidebar.unreadMessages">
        <source>unread messages</source>
        <target state="translated">messages non lus</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="downloadTab.getTheApp">
        <source>Get the app</source>
        <target state="translated">Obtenez l'application</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="downloadTab.macosIosArentAvailableYet">
        <source>macOS/iOS aren't available yet.</source>
        <target state="translated">macOS/iOS ne sont pas encore disponibles.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="downloadTab.orangchatRunsInYourBrowserBut">
        <source>OrangChat runs in your browser, but the native apps add tray, notifications, and screen sharing.</source>
        <target state="translated">OrangChat s'exécute dans votre navigateur, mais les applications natives ajoutent une barre d'état, des notifications et un partage d'écran.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="emojiTab.customEmoji">
        <source>Custom emoji</source>
        <target state="translated">Émoji personnalisé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="emojiTab.gif">
        <source>GIF</source>
        <target state="translated">GIF</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="emojiTab.noCustomEmojiYetUploadOne">
        <source>No custom emoji yet. Upload one to use it anywhere in this server.</source>
        <target state="translated">Pas encore d'emoji personnalisé. Téléchargez-en un pour l'utiliser n'importe où sur ce serveur.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="emojiTab.pngJpegOrGifUpTo">
        <source>PNG, JPEG or GIF up to 256 kB. Resized to 128px; GIFs keep their animation.</source>
        <target state="translated">PNG, JPEG ou GIF jusqu'à 256 Ko. Redimensionné à 128px ; Les GIF conservent leur animation.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionModeChoice.beforeAMessageLeavesThisDevice">
        <source>Before a message leaves this device</source>
        <target state="translated">Avant qu'un message ne quitte cet appareil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionModeChoice.bothOptionsEncryptEverythingTheDifference">
        <source>Both options encrypt everything. The difference is whether a swapped lock is stopped before it can be used, or caught afterwards.</source>
        <target state="translated">Les deux options chiffrent tout. La différence est de savoir si un verrou échangé est arrêté avant de pouvoir être utilisé ou intercepté par la suite.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionModeChoice.checkingSomeonesCodeIsAOne">
        <source>Checking someone's code is a one-to-one thing, so it happens in your direct message with them - and anyone you have checked there shows as checked here too. Waiting on everyone in a group to be checked would hold up people who never asked for it.</source>
        <target state="translated">Vérifier le code de quelqu'un est une chose individuelle, cela se produit donc dans votre message direct avec cette personne - et toute personne que vous avez cochée ici apparaît également comme cochée ici. Attendre que tous les membres d'un groupe soient contrôlés retiendrait des personnes qui ne l'ont jamais demandé.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionModeChoice.encryptionModeForThisConversation">
        <source>Encryption mode for this conversation</source>
        <target state="translated">Mode de cryptage pour cette conversation</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionModeChoice.groupConversationsSendStraightAway">
        <source>Group conversations send straight away</source>
        <target state="translated">Les conversations de groupe sont envoyées immédiatement</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionTab.addAnotherDevice">
        <source>Add another device</source>
        <target state="translated">Ajouter un autre appareil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionTab.addedAt">
        <source>Added {time}</source>
        <target state="translated">{time} ajouté</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionTab.addedByAnotherOfYourDevices">
        <source>Added by another of your devices</source>
        <target state="translated">Ajouté par un autre de vos appareils</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionTab.addThisDevice">
        <source>Add this device</source>
        <target state="translated">Ajouter cet appareil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionTab.devicesWithYourKeys">
        <source>Devices with your keys</source>
        <target state="translated">Appareils avec vos clés</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionTab.endToEndEncryption">
        <source>End-to-end encryption</source>
        <target state="translated">Chiffrement de bout en bout</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionTab.entriesHead_one">
        <source>{count} entry · head {hash}…</source>
        <target state="translated">Entrée {count} · tête {hash}…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionTab.entriesHead_other">
        <source>{count} entries · head {hash}…</source>
        <target state="translated">Entrées {count} · tête {hash}…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionTab.everyDeviceAddedOrRemovedIs">
        <source>Every device added or removed is written into a logbook that can only be added to, never edited or erased. Your devices read it on every start, so a device you did not add cannot appear here quietly - you get told, and the entry stays in the book.</source>
        <target state="translated">Chaque appareil ajouté ou supprimé est inscrit dans un journal de bord qui ne peut être ajouté, jamais modifié ou effacé. Vos appareils le lisent à chaque démarrage, donc un appareil que vous n'avez pas ajouté ne peut pas apparaître ici tranquillement - on vous le dit, et l'entrée reste dans le livre.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionTab.firstDeviceOnThisAccount">
        <source>First device on this account</source>
        <target state="translated">Premier appareil sur ce compte</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionTab.lastSeenAt">
        <source>Last seen {time}</source>
        <target state="translated">Vu pour la dernière fois {time}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionTab.noDevicesAreEnrolledOnThis">
        <source>No devices are enrolled on this account.</source>
        <target state="translated">Aucun appareil n'est inscrit sur ce compte.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionTab.revoke">
        <source>Revoke</source>
        <target state="translated">Révoquer</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionTab.revoked">
        <source>Revoked</source>
        <target state="translated">Révoqué</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionTab.showAOneTimeCodeOn">
        <source>Show a one-time code on this PC, then use OrangChat’s scanner on the phone. The phone makes its own protected identity; this device authorizes it and sends the encrypted history keys after you compare six digits and enter a fresh security code. The system Camera app remains a fallback.</source>
        <target state="translated">Affichez un code à usage unique sur ce PC, puis utilisez le scanner d'OrangChat sur le téléphone. Le téléphone crée sa propre identité protégée ; cet appareil l'autorise et envoie les clés d'historique cryptées après avoir comparé six chiffres et saisi un nouveau code de sécurité. L’application Appareil photo du système reste une solution de secours.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionTab.showCodeForMyPhone">
        <source>Show code for my phone</source>
        <target state="translated">Afficher le code de mon téléphone</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionTab.theLogbook">
        <source>The logbook</source>
        <target state="translated">Le journal de bord</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionTab.thisDevice">
        <source>This device</source>
        <target state="translated">Cet appareil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionTab.thisDeviceHasNoEncryptionIdentity">
        <source>This device has no encryption identity yet</source>
        <target state="translated">Cet appareil n'a pas encore d'identité de chiffrement</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="encryptionTab.yourDirectMessagesAreLockedOn">
        <source>Your direct messages are locked on your own devices before they are sent. The key is made here and cannot be copied off this device, so nobody running OrangChat - and nobody who gets hold of our database - can read them.</source>
        <target state="translated">Vos messages directs sont verrouillés sur vos propres appareils avant d'être envoyés. La clé est créée ici et ne peut pas être copiée sur cet appareil, donc personne n'exécutant OrangChat - et personne ne mettant la main sur notre base de données - ne peut la lire.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="errorBoundary.orangchatHitAnUnexpectedErrorAnd">
        <source>OrangChat hit an unexpected error and could not keep showing this page. Your messages are safe - reload to try again.</source>
        <target state="needs-translation">OrangChat a rencontré une erreur inattendue et n'a pas pu continuer à afficher cette page. Vos messages sont en sécurité : rechargez pour réessayer.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="errorBoundary.reloadOrangchat">
        <source>Reload OrangChat</source>
        <target state="translated">Recharger OrangChat</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="errorBoundary.somethingWentWrong">
        <source>Something went wrong</source>
        <target state="translated">Quelque chose s'est mal passé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="eventsDialog.aLinkAnAddressAnywhere">
        <source>A link, an address, anywhere</source>
        <target state="translated">Un lien, une adresse, n'importe où</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="eventsDialog.createEvent">
        <source>Create event</source>
        <target state="translated">Créer un événement</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="eventsDialog.description">
        <source>Description</source>
        <target state="translated">Description</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="eventsDialog.endsOptional">
        <source>Ends (optional)</source>
        <target state="translated">Se termine (facultatif)</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="eventsDialog.eventName">
        <source>Event name</source>
        <target state="translated">Nom de l'événement</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="eventsDialog.gameNight">
        <source>Game night</source>
        <target state="translated">Soirée de jeu</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="eventsDialog.loadingEvents">
        <source>Loading events…</source>
        <target state="translated">Chargement des événements…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="eventsDialog.location">
        <source>Location</source>
        <target state="translated">Emplacement</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="eventsDialog.nothingScheduledYet">
        <source>Nothing scheduled yet.</source>
        <target state="translated">Rien de prévu pour l'instant.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="eventsDialog.somewhereElse">
        <source>Somewhere else</source>
        <target state="translated">Ailleurs</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="eventsDialog.starts">
        <source>Starts</source>
        <target state="translated">Commence</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="eventsDialog.whatsHappening">
        <source>What's happening?</source>
        <target state="translated">Ce qui se passe?</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="eventsDialog.where">
        <source>Where</source>
        <target state="translated">Où</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="expressionPicker.addEmojiOrGif">
        <source>Add emoji or GIF</source>
        <target state="translated">Ajouter un emoji ou un GIF</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="expressionPicker.favourites">
        <source>Favourites</source>
        <target state="translated">Favoris</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="expressionPicker.loadingGifs">
        <source>Loading GIFs…</source>
        <target state="translated">Chargement des GIF…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="expressionPicker.noGifsFound">
        <source>No GIFs found</source>
        <target state="translated">Aucun GIF trouvé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="expressionPicker.poweredByKlipy">
        <source>Powered by KLIPY</source>
        <target state="translated">Propulsé par KLIPY</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="expressionPicker.searchKlipy">
        <source>Search KLIPY</source>
        <target state="translated">Rechercher</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="expressionPicker.searchKlipyGifs">
        <source>Search KLIPY GIFs</source>
        <target state="translated">Rechercher des GIF KLIPY</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="forwardDialog.directMessages">
        <source>Direct messages</source>
        <target state="translated">Messages directs</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="forwardDialog.forwardMessage">
        <source>Forward message</source>
        <target state="translated">Transférer le message</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="forwardDialog.nowhereToForwardThisToYet">
        <source>Nowhere to forward this to yet.</source>
        <target state="translated">Nulle part où transmettre cela pour l'instant.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="forwardDialog.searchChannelsAndDms">
        <source>Search channels and DMs</source>
        <target state="translated">Rechercher des chaînes et des DM</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="forwardDialog.searchForwardTargets">
        <source>Search forward targets</source>
        <target state="translated">Rechercher des cibles vers l'avant</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="friendsPage.accept">
        <source>Accept</source>
        <target state="translated">Accepter</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="friendsPage.addAFriendByTheirUsername">
        <source>Add a friend by their username.</source>
        <target state="translated">Ajoutez un ami par son nom d'utilisateur.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="friendsPage.addFriend">
        <source>Add Friend</source>
        <target state="translated">Ajouter un ami</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="friendsPage.all">
        <source>All</source>
        <target state="translated">Tous</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="friendsPage.cancelRequest">
        <source>Cancel request</source>
        <target state="translated">Annuler la demande</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="friendsPage.decline">
        <source>Decline</source>
        <target state="translated">Déclin</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="friendsPage.friends">
        <source>Friends</source>
        <target state="translated">Amis</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="friendsPage.incomingCount">
        <source>Incoming - {count}</source>
        <target state="translated">Entrant - {count}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="friendsPage.message">
        <source>Message</source>
        <target state="translated">Message</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="friendsPage.noFriendsYet">
        <source>No friends yet.</source>
        <target state="translated">Pas encore d'amis.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="friendsPage.noPendingRequests">
        <source>No pending requests.</source>
        <target state="translated">Aucune demande en attente.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="friendsPage.openNavigation">
        <source>Open navigation</source>
        <target state="translated">Ouvrir la navigation</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="friendsPage.outgoingCount">
        <source>Outgoing - {count}</source>
        <target state="translated">Sortant - {count}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="friendsPage.pending">
        <source>Pending</source>
        <target state="translated">En attente</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="friendsPage.removeFriend">
        <source>Remove friend</source>
        <target state="translated">Supprimer un ami</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="friendsPage.send">
        <source>Send</source>
        <target state="translated">Envoyer</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="friendsPage.username">
        <source>Username</source>
        <target state="translated">Nom d'utilisateur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="homePane.chat">
        <source>Chat</source>
        <target state="translated">Chat</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="homePane.openNavigation">
        <source>Open navigation</source>
        <target state="translated">Ouvrir la navigation</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="homePane.orang">
        <source>Orang</source>
        <target state="translated">Orangé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.addingASecondDeviceBeforeYou">
        <source>Adding a second device before you need one is the whole answer. That is also why two-factor authentication has to be on first: a spare device is a spare set of keys, and it should take more than a password to make one.</source>
        <target state="translated">Ajouter un deuxième appareil avant d’en avoir besoin est toute la réponse. C'est également la raison pour laquelle l'authentification à deux facteurs doit être activée en premier : un appareil de rechange est un jeu de clés de rechange, et il faut plus qu'un mot de passe pour en créer un.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.anythingOnADeviceThatIs">
        <source>Anything on a device that is already unlocked and in someone else's hands. At that point they are reading it the same way you do.</source>
        <target state="translated">Tout ce qui se trouve sur un appareil déjà déverrouillé et entre les mains de quelqu'un d'autre. À ce stade, ils le lisent de la même manière que vous.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.bothOfYouOpenTheConversation">
        <source>Both of you open the conversation, tap the lock at the top, and one of you scans the other's code. Then swap and do it the other way round - one scan only proves one direction. It takes about ten seconds while you are stood together.</source>
        <target state="translated">Vous ouvrez tous les deux la conversation, appuyez sur le cadenas en haut et l'un de vous scanne le code de l'autre. Ensuite, échangez et faites l'inverse - un scan ne prouve qu'une seule direction. Cela prend environ dix secondes pendant que vous êtes ensemble.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.everyDeviceCutsItsOwnKey">
        <source>Every device cuts its own key</source>
        <target state="translated">Chaque appareil coupe sa propre clé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.everyLockAnyonePublishesIsWritten">
        <source>Every lock anyone publishes is written into a logbook that can only be added to, never edited or erased. Your own devices read the page about your account every time they start. If a lock is ever published in your name that your devices did not make, they tell you, and the entry stays in the book where anyone can point at it. A swap can be attempted; it cannot be attempted quietly.</source>
        <target state="translated">Chaque verrou publié est inscrit dans un journal de bord qui ne peut être ajouté, jamais modifié ou effacé. Vos propres appareils lisent la page concernant votre compte à chaque démarrage. Si jamais un cadenas est publié à votre nom alors que vos appareils n'ont pas créé, ils vous le disent, et l'entrée reste dans le livre où tout le monde peut la pointer. Un échange peut être tenté ; cela ne peut pas être tenté tranquillement.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.howDoesThisWork">
        <source>How does this work?</source>
        <target state="translated">Comment cela marche-t-il?</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.howYourMessagesAreProtected">
        <source>How your messages are protected</source>
        <target state="translated">Comment vos messages sont protégés</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.howYouVerifySomeone">
        <source>How you verify someone</source>
        <target state="translated">Comment vérifier quelqu'un</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.ifASafetyCodeChangesOr">
        <source>If a safety code changes, or a device you did not add appears on your account, OrangChat stops and takes over the screen instead of showing a notification you might swipe away.</source>
        <target state="translated">Si un code de sécurité change ou si un appareil que vous n'avez pas ajouté apparaît sur votre compte, OrangChat s'arrête et prend le contrôle de l'écran au lieu d'afficher une notification que vous pourriez faire glisser.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.ifSomethingEverLooksWrong">
        <source>If something ever looks wrong</source>
        <target state="translated">Si jamais quelque chose ne va pas</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.ifYouLoseYourOnlyDevice">
        <source>If you lose your only device</source>
        <target state="translated">Si vous perdez votre seul appareil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.inPlainLanguageWithNoJargon">
        <source>In plain language, with no jargon to get past first.</source>
        <target state="translated">Dans un langage simple, sans jargon à contourner en premier.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.itIsNotAlwaysAnAttack">
        <source>It is not always an attack - it is also what happens when somebody loses every device and has to start over. There is no way to tell those apart from inside the app, which is why it asks you to check with the person directly before you send anything else.</source>
        <target state="translated">Il ne s’agit pas toujours d’une attaque : c’est aussi ce qui arrive lorsque quelqu’un perd tous ses appareils et doit recommencer. Il n'y a aucun moyen de les distinguer depuis l'intérieur de l'application, c'est pourquoi elle vous demande de vérifier directement auprès de la personne avant d'envoyer quoi que ce soit d'autre.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.notInTheSameRoomYou">
        <source>Not in the same room? You will each see the same short row of numbers, called a safety code. Have them read it out on a phone call, or send it over another app you already trust, and type it into the box under the code - the app compares all sixty digits, which is more than anyone manages by eye. If it matches, nobody is in the middle. The one thing that does not count is an OrangChat voice call - that audio goes through the same servers this check exists to test.</source>
        <target state="translated">Pas dans la même pièce ? Vous verrez chacun la même courte rangée de chiffres, appelée code de sécurité. Demandez-leur de le lire lors d'un appel téléphonique, ou de l'envoyer via une autre application en laquelle vous avez déjà confiance, et de le saisir dans la case sous le code - l'application compare les soixante chiffres, ce qui est plus que ce que quiconque peut gérer à l'œil nu. Si cela correspond, personne n’est au milieu. La seule chose qui ne compte pas est un appel vocal OrangChat - cet audio passe par les mêmes serveurs que cette vérification existe pour tester.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.onlyThePeopleInTheConversation">
        <source>Only the people in the conversation can open them. Not OrangChat, not somebody who steals our database, not somebody who turns up with a court order - we do not hold a key we could hand over. This is on for every direct message and there is no way to switch it off.</source>
        <target state="translated">Seules les personnes participant à la conversation peuvent les ouvrir. Ni OrangChat, ni quelqu'un qui vole notre base de données, ni quelqu'un qui se présente avec une ordonnance du tribunal - nous ne détenons pas de clé que nous pourrions remettre. Ceci est activé pour chaque message direct et il n’y a aucun moyen de le désactiver.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.serverChannelsThoseHaveSharedHistory">
        <source>Server channels. Those have shared history, moderation and search, all of which need the server to read them. Only direct messages and group DMs are encrypted this way.</source>
        <target state="translated">Canaux du serveur. Ceux-ci ont partagé un historique, une modération et une recherche, qui ont tous besoin du serveur pour les lire. Seuls les messages directs et les DM de groupe sont cryptés de cette façon.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.standardASwapGetsCaught">
        <source>Standard - a swap gets caught.</source>
        <target state="translated">Standard - un échange est intercepté.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.standardIsWhatEveryConversationGets">
        <source>Standard is what every conversation gets. Verify first is the extra step, and it is only worth turning on for people you can realistically meet or ring.</source>
        <target state="translated">La norme est ce que chaque conversation obtient. Vérifiez d’abord que c’est une étape supplémentaire, et cela ne vaut la peine de s’activer que pour les personnes que vous pouvez rencontrer ou appeler de manière réaliste.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.thatIsAlsoWhyAddingA">
        <source>That is also why adding a second device is a small ceremony instead of a copy and paste. Your old device has to see the new one - a code on the screen, a camera pointed at it - before anything moves.</source>
        <target state="translated">C'est aussi pourquoi l'ajout d'un deuxième appareil est une petite cérémonie au lieu d'un copier-coller. Votre ancien appareil doit voir le nouveau – un code sur l’écran, une caméra pointée vers lui – avant que quoi que ce soit ne bouge.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.theHardPartIsItReally">
        <source>The hard part: is it really their lock?</source>
        <target state="translated">Le plus dur : est-ce vraiment leur serrure ?</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.theMessagesOnlyThatDeviceCould">
        <source>The messages only that device could open stay locked, permanently. We cannot recover them for you - if we could, none of the above would be true.</source>
        <target state="translated">Les messages que seul cet appareil peut ouvrir restent verrouillés en permanence. Nous ne pouvons pas les récupérer pour vous. Si nous le pouvions, rien de ce qui précède ne serait vrai.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.toLockABoxForSomeone">
        <source>To lock a box for someone, your device needs their lock, and it asks our servers for it. So the fair question is: what if we handed you a lock we had made ourselves, kept the key, and passed your messages along afterwards?</source>
        <target state="translated">Pour verrouiller une boîte pour quelqu'un, votre appareil a besoin de son verrou et il le demande à nos serveurs. La bonne question est donc la suivante : et si nous vous remettions une serrure que nous avions fabriquée nous-mêmes, gardions la clé et transmettions ensuite vos messages ?</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.twoAnswersAndYouPickHow">
        <source>Two answers, and you pick how much you want.</source>
        <target state="translated">Deux réponses, et vous choisissez combien vous voulez.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.verifyFirstASwapCannotHappen">
        <source>Verify first - a swap cannot happen.</source>
        <target state="translated">Vérifiez d'abord - un échange ne peut pas avoir lieu.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.weCanStillSeeTheOutside">
        <source>We can still see the outside of it: who sent it, who it went to, how big it was and when. We cannot see what is inside.</source>
        <target state="translated">Nous pouvons encore voir l’extérieur : qui l’a envoyé, à qui il est allé, quelle était sa taille et quand. Nous ne pouvons pas voir ce qu’il y a à l’intérieur.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.whateverTheOtherPersonDoesWith">
        <source>Whatever the other person does with the message. They can screenshot it, save it, or show someone. Encryption stops strangers, not recipients.</source>
        <target state="translated">Quoi que l’autre personne fasse avec le message. Ils peuvent en faire une capture d'écran, l'enregistrer ou le montrer à quelqu'un. Le chiffrement arrête les étrangers, pas les destinataires.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.whatHappensWhenYouPressSend">
        <source>What happens when you press send</source>
        <target state="translated">Que se passe-t-il lorsque vous appuyez sur Envoyer</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.whatThisDoesNotHide">
        <source>What this does not hide</source>
        <target state="translated">Ce que cela ne cache pas</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.whoYouTalkToWhenAnd">
        <source>Who you talk to, when, and how often. Locked boxes still have to be addressed to somebody.</source>
        <target state="translated">À qui parlez-vous, quand et à quelle fréquence. Les cartons verrouillés doivent toujours être adressés à quelqu'un.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.youCheckTheOtherPersonsLock">
        <source>You check the other person's lock yourself, in person or on a call, before anything is sent to them. Until you have, messages you type stay on your device, still locked, and go nowhere. There is nothing for a swapped lock to open.</source>
        <target state="translated">Vous vérifiez vous-même la serrure de l'autre personne, en personne ou lors d'un appel, avant que quoi que ce soit ne lui soit envoyé. Jusqu'à ce que vous l'ayez fait, les messages que vous tapez restent sur votre appareil, toujours verrouillés, et ne mènent nulle part. Il n’y a rien à ouvrir pour une serrure échangée.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.yourDevicePutsTheMessageIn">
        <source>Your device puts the message in a box and locks it. Every device in the conversation, and only those, holds a key to that box. Our servers store and pass along the locked box.</source>
        <target state="translated">Votre appareil place le message dans une boîte et le verrouille. Chaque appareil participant à la conversation, et uniquement ceux-là, détient la clé de cette boîte. Nos serveurs stockent et transmettent le coffret verrouillé.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.yourDirectMessagesAreLockedBefore">
        <source>Your direct messages are locked before they leave your device</source>
        <target state="translated">Vos messages directs sont verrouillés avant qu'ils ne quittent votre appareil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="howEncryptionWorks.yourPhoneAndYourComputerEach">
        <source>Your phone and your computer each make their own key, on the device itself, the first time you use encryption there. It goes into the part of the device built to guard keys, and it is made so that it cannot be read back out - not by OrangChat, not by another app, not by you. There is nothing to leak and nothing to hand over.</source>
        <target state="translated">Votre téléphone et votre ordinateur créent chacun leur propre clé, sur l'appareil lui-même, la première fois que vous y utilisez le cryptage. Il entre dans la partie de l'appareil conçue pour protéger les clés, et il est conçu de telle sorte qu'il ne puisse pas être relu - ni par OrangChat, ni par une autre application, ni par vous. Il n’y a rien à divulguer ni rien à céder.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="imageContextMenu.copyImage">
        <source>Copy image</source>
        <target state="translated">Copier l'image</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="imageContextMenu.copyImageAddress">
        <source>Copy image address</source>
        <target state="translated">Copier l'adresse de l'image</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="imageContextMenu.saveImageAs">
        <source>Save image as…</source>
        <target state="translated">Enregistrer l'image sous…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="imageLightbox.resetZoom">
        <source>Reset zoom</source>
        <target state="translated">Réinitialiser le zoom</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="imageLightbox.zoomIn">
        <source>Zoom in</source>
        <target state="translated">Zoomer</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="imageLightbox.zoomOut">
        <source>Zoom out</source>
        <target state="translated">Zoom arrière</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="incomingCallDialog.accept">
        <source>Accept</source>
        <target state="translated">Accepter</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="incomingCallDialog.acceptWithCamera">
        <source>Accept with camera</source>
        <target state="translated">Accepter avec l'appareil photo</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="incomingCallDialog.decline">
        <source>Decline</source>
        <target state="translated">Déclin</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="inviteCard.inviteInvalid">
        <source>Invite invalid</source>
        <target state="translated">Invitation invalide</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="inviteCard.join">
        <source>Join</source>
        <target state="translated">Rejoindre</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="inviteCard.joined">
        <source>Joined</source>
        <target state="translated">Rejoint</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="inviteCard.resolvingInvite">
        <source>Resolving invite…</source>
        <target state="translated">Résolution de l'invitation…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="inviteCard.signInToJoin">
        <source>Sign in to join</source>
        <target state="translated">Connectez-vous pour rejoindre</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="inviteCard.thisInviteIsExpiredRevokedOr">
        <source>This invite is expired, revoked, or never existed.</source>
        <target state="translated">Cette invitation est expirée, révoquée ou n'a jamais existé.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="inviteDialog.invitePeople">
        <source>Invite people</source>
        <target state="translated">Inviter des personnes</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="inviteDialog.shareThisLinkItUnfurlsInto">
        <source>Share this link - it unfurls into a join card when posted in chat, and opens the app on phones that have it. Expires in 7 days.</source>
        <target state="translated">Partagez ce lien : il se déploie sous la forme d'une carte de participation lorsqu'il est publié dans le chat et ouvre l'application sur les téléphones qui en sont équipés. Expire dans 7 jours.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="invitePage.thatInviteLinkIsMissingA">
        <source>That invite link is missing a code.</source>
        <target state="translated">Il manque un code dans ce lien d'invitation.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="keyErasureSection.eraseMyEncryptionKeys">
        <source>Erase my encryption keys</source>
        <target state="translated">Effacer mes clés de cryptage</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="keyErasureSection.everyMessageAlreadyInYourEncrypted">
        <source>Every message already in your encrypted conversations becomes permanently unreadable - by you, by us, by anyone. Nothing brings them back.</source>
        <target state="translated">Chaque message déjà présent dans vos conversations cryptées devient définitivement illisible - par vous, par nous, par quiconque. Rien ne les ramène.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="keyErasureSection.hasNotHappenedYet">
        <source>It has not happened yet.</source>
        <target state="translated">Cela n’est pas encore arrivé.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="keyErasureSection.happensAfter">
        <source>This happens after {time}, unless a device that still holds your keys opens OrangChat before then.</source>
        <target state="translated">Cela se produit après {time}, à moins qu'un appareil qui détient toujours vos clés n'ouvre OrangChat avant cette date.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="keyErasureSection.ifYouDidNotAskForThis">
        <source>If you did not ask for this, cancel it now and change your password - somebody else is signed in to your account.</source>
        <target state="translated">Si vous ne l'avez pas demandé, annulez-le maintenant et changez votre mot de passe - quelqu'un d'autre est connecté à votre compte.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="keyErasureSection.leaveThisEmptyIfYouDo">
        <source>Leave this empty if you do not have two-factor turned on. It just makes the wait shorter - three hours instead of a day.</source>
        <target state="translated">Laissez ce champ vide si vous n’avez pas activé la fonction à deux facteurs. Cela raccourcit simplement l’attente – trois heures au lieu d’une journée.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="keyErasureSection.neverMind">
        <source>Never mind</source>
        <target state="translated">Pas grave</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="keyErasureSection.stoppedYourEncryptionKeysAreStaying">
        <source>Stopped. Your encryption keys are staying where they are. If you did not ask for the erasure in the first place, change your password now - somebody else was signed in.</source>
        <target state="translated">Arrêté. Vos clés de chiffrement restent là où elles se trouvent. Si vous n'avez pas demandé l'effacement au départ, changez votre mot de passe maintenant - quelqu'un d'autre était connecté.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="keyErasureSection.twoFactorCode">
        <source>Two-factor code</source>
        <target state="translated">Code à deux facteurs</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="keyErasureSection.yourEncryptionKeysAreScheduledTo">
        <source>Your encryption keys are scheduled to be erased</source>
        <target state="translated">Vos clés de chiffrement sont programmées pour être effacées</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.10DisclaimersAndLiability">
        <source>10. Disclaimers and liability</source>
        <target state="translated">10. Avis de non-responsabilité et responsabilité</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.10Security">
        <source>10. Security</source>
        <target state="translated">10. Sécurité</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.11Changes">
        <source>11. Changes</source>
        <target state="translated">11. Modifications</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.11GoverningLawAndDisputes">
        <source>11. Governing law and disputes</source>
        <target state="translated">11. Droit applicable et litiges</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.12ChangesToTheseTerms">
        <source>12. Changes to these terms</source>
        <target state="translated">12. Modifications de ces conditions</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.1ControllerAndContact">
        <source>1. Controller and contact</source>
        <target state="translated">1. Contrôleur et contact</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.1WhoProvidesOrangchat">
        <source>1. Who provides OrangChat</source>
        <target state="translated">1. Qui fournit OrangChat</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.2026OrangesLt">
        <source>© 2026 Oranges.LT</source>
        <target state="translated">© 2026 Oranges.LT</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.2AcceptingTheseTerms">
        <source>2. Accepting these terms</source>
        <target state="translated">2. Acceptation de ces conditions</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.2DataWeProcess">
        <source>2. Data we process</source>
        <target state="translated">2. Données que nous traitons</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.3WhyWeProcessData">
        <source>3. Why we process data</source>
        <target state="translated">3. Pourquoi nous traitons les données</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.3YourAccount">
        <source>3. Your account</source>
        <target state="translated">3. Votre compte</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.4HowContentIsShared">
        <source>4. How content is shared</source>
        <target state="translated">4. Comment le contenu est partagé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.4YourContent">
        <source>4. Your content</source>
        <target state="translated">4. Votre contenu</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.5RulesForUsingTheService">
        <source>5. Rules for using the service</source>
        <target state="translated">5. Règles d'utilisation du service</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.5ServiceProvidersAndExternalRecipients">
        <source>5. Service providers and external recipients</source>
        <target state="translated">5. Prestataires de services et destinataires externes</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.6InternationalTransfers">
        <source>6. International transfers</source>
        <target state="translated">6. Virements internationaux</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.6ServersAndModeration">
        <source>6. Servers and moderation</source>
        <target state="translated">6. Serveurs et modération</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.7Retention">
        <source>7. Retention</source>
        <target state="translated">7. Rétention</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.7SoftwareAndThirdPartyServices">
        <source>7. Software and third-party services</source>
        <target state="translated">7. Logiciels et services tiers</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.8AvailabilityAndChanges">
        <source>8. Availability and changes</source>
        <target state="translated">8. Disponibilité et modifications</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.8YourRights">
        <source>8. Your rights</source>
        <target state="translated">8. Vos droits</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.9Children">
        <source>9. Children</source>
        <target state="translated">9. Enfants</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.9SuspensionAndTermination">
        <source>9. Suspension and termination</source>
        <target state="translated">9. Suspension et résiliation</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.about10Minutes">
        <source>About 10 minutes</source>
        <target state="translated">Environ 10 minutes</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.accountAndServiceContentRemainWhile">
        <source>Account and service content remain while your account or the relevant content exists.</source>
        <target state="translated">Le contenu du compte et du service reste conservé tant que votre compte ou le contenu correspondant existe.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.accountData">
        <source>Account data:</source>
        <target state="translated">Données du compte :</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.appeals">
        <source>Appeals</source>
        <target state="translated">Appels</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.backToOrangchat">
        <source>Back to OrangChat</source>
        <target state="translated">Retour à OrangChat</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.backupsMayRetainDeletedDataFor">
        <source>Backups may retain deleted data for a limited recovery and security period.</source>
        <target state="translated">Les sauvegardes peuvent conserver les données supprimées pendant une période de récupération et de sécurité limitée.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.byCreatingAnAccountAccessingOrangchat">
        <source>By creating an account, accessing OrangChat, or continuing to use it after being told about an updated version of these terms, you agree to these terms and the Community Guidelines. If you do not agree, do not use the service.</source>
        <target state="translated">En créant un compte, en accédant à OrangChat ou en continuant à l'utiliser après avoir été informé d'une version mise à jour de ces conditions, vous acceptez ces conditions et les directives de la communauté. Si vous n'êtes pas d'accord, n'utilisez pas le service.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.callParticipationOnlineStatusDeviceType">
        <source>call participation, online status, device type, and short-lived credentials used to connect calls.</source>
        <target state="translated">la participation aux appels, l'état en ligne, le type d'appareil et les informations d'identification de courte durée utilisées pour connecter les appels.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.chat">
        <source>Chat</source>
        <target state="translated">Chat</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.cloudinaryForEncryptedAttachmentsAndProfile">
        <source>Cloudinary for encrypted attachments and profile media storage.</source>
        <target state="translated">Cloudinary pour les pièces jointes cryptées et le stockage des médias de profil.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.communityGuidelines">
        <source>Community Guidelines</source>
        <target state="translated">Lignes directrices de la communauté</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.connectionsToOrangchatUseEncryptedHttps">
        <source>Connections to OrangChat use encrypted HTTPS or WSS transport. Passwords are hashed with Argon2id rather than stored as readable passwords. Cloud-hosted message attachments and stored OAuth credentials are encrypted before storage. We also use access controls, short-lived access tokens, refresh-token rotation, optional two-factor authentication, rate limits, and restricted service permissions.</source>
        <target state="translated">Les connexions à OrangChat utilisent un transport HTTPS ou WSS crypté. Les mots de passe sont hachés avec Argon2id plutôt que stockés sous forme de mots de passe lisibles. Les pièces jointes des messages hébergés dans le cloud et les informations d'identification OAuth stockées sont chiffrées avant le stockage. Nous utilisons également des contrôles d'accès, des jetons d'accès de courte durée, une rotation des jetons d'actualisation, une authentification facultative à deux facteurs, des limites de débit et des autorisations de service restreintes.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.consent">
        <source>Consent:</source>
        <target state="translated">Consentement:</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.contentAndSocialData">
        <source>Content and social data:</source>
        <target state="translated">Contenu et données sociales :</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.contract">
        <source>Contract:</source>
        <target state="translated">Contracter:</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.controllerContactParagraph">
        <source>Oranges.LT, Lithuania, is the controller for personal data processed to provide OrangChat. For privacy questions or to exercise your rights, email {email}.</source>
        <target state="translated">Oranges.LT, Lituanie, est le responsable du traitement des données personnelles traitées pour fournir OrangChat. Pour des questions de confidentialité ou pour exercer vos droits, envoyez un e-mail à {email}.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.cookieAndLocalStoragePolicy">
        <source>Cookie and Local Storage Policy</source>
        <target state="translated">Politique de cookies et de stockage local</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.cookiesWeUse">
        <source>Cookies we use</source>
        <target state="translated">Cookies que nous utilisons</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.copyright">
        <source>Copyright</source>
        <target state="translated">Droit d'auteur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.deletingAnAccountScrubsIdentifyingAccount">
        <source>Deleting an account scrubs identifying account and profile fields and removes personal side records. Messages and necessary moderation records may remain under a deleted identity. You can delete all messages separately before deleting the account.</source>
        <target state="translated">La suppression d'un compte nettoie les champs d'identification du compte et du profil et supprime les enregistrements personnels. Les messages et les enregistrements de modération nécessaires peuvent rester sous une identité supprimée. Vous pouvez supprimer tous les messages séparément avant de supprimer le compte.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.dependingOnTheFeatureAndDeployment">
        <source>Depending on the feature and deployment configuration, data may be handled by:</source>
        <target state="translated">En fonction de la fonctionnalité et de la configuration du déploiement, les données peuvent être traitées par :</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.deviceData">
        <source>Device data:</source>
        <target state="translated">Données de l'appareil :</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.directMessagesAndGroupDirectMessages">
        <source>Direct messages and group direct messages are end-to-end encrypted once every participant has enrolled an encryption-capable device. Until then, the conversation is clearly labelled as plaintext. Server channels remain readable by OrangChat so their public history, search, moderation, and role-based access controls can work. Encrypted conversations keep message bodies, attachment keys, drafts, and search data on participating devices; OrangChat still processes delivery metadata such as participants, timestamps, and ciphertext sizes. No system is perfectly secure, so users should also protect their credentials and devices.</source>
        <target state="translated">Les messages directs et les messages directs de groupe sont chiffrés de bout en bout une fois que chaque participant a inscrit un appareil compatible avec le chiffrement. En attendant, la conversation est clairement étiquetée comme étant du texte brut. Les canaux du serveur restent lisibles par OrangChat afin que leur historique public, leur recherche, leur modération et leurs contrôles d'accès basés sur les rôles puissent fonctionner. Les conversations cryptées conservent le corps des messages, les clés des pièces jointes, les brouillons et les données de recherche sur les appareils participants ; OrangChat traite toujours les métadonnées de livraison telles que les participants, les horodatages et la taille du texte chiffré. Aucun système n'est parfaitement sécurisé, les utilisateurs doivent donc également protéger leurs informations d'identification et leurs appareils.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.distributeMalwareStealCredentialsEvadeAccess">
        <source>Distribute malware, steal credentials, evade access controls, or disrupt the service.</source>
        <target state="translated">Distribuez des logiciels malveillants, volez des informations d'identification, échappez aux contrôles d'accès ou perturbez le service.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.doNotSellTransferShareOr">
        <source>Do not sell, transfer, share, or impersonate another person through an account.</source>
        <target state="translated">Ne vendez pas, ne transférez pas, ne partagez pas et ne vous faites pas passer pour une autre personne via un compte.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.effectiveDate">
        <source>Effective {date}</source>
        <target state="translated">Efficace {date}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.email">
        <source>Email</source>
        <target state="translated">E-mail</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.emailAddressUsernameDisplayNamePassword">
        <source>email address, username, display name, password hash, OAuth login identifiers, profile fields, privacy preferences, and security settings.</source>
        <target state="translated">adresse e-mail, nom d'utilisateur, nom d'affichage, hachage de mot de passe, identifiants de connexion OAuth, champs de profil, préférences de confidentialité et paramètres de sécurité.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.enforcementMayIncludeWarningsContentRestrictions">
        <source>Enforcement may include warnings, content restrictions, content removal, feature limits, suspension, termination, evidence preservation, or referral to authorities. We consider context, severity, intent, harm, history, and the risk of repetition.</source>
        <target state="translated">L'application peut inclure des avertissements, des restrictions de contenu, la suppression de contenu, des limites de fonctionnalités, une suspension, une résiliation, la préservation des preuves ou un renvoi aux autorités. Nous prenons en compte le contexte, la gravité, l’intention, le préjudice, l’historique et le risque de répétition.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.evadeASuspensionBanRateLimit">
        <source>Evade a suspension, ban, rate limit, moderation action, or technical restriction.</source>
        <target state="translated">Éviter une suspension, une interdiction, une limite de débit, une mesure de modération ou une restriction technique.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.exploitGroomEndangerOrSexualiseA">
        <source>Exploit, groom, endanger, or sexualise a minor.</source>
        <target state="translated">Exploiter, soigner, mettre en danger ou sexualiser un mineur.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.googleFirebaseCloudMessagingAndWeb">
        <source>Google Firebase Cloud Messaging and Web Push providers for notifications.</source>
        <target state="translated">Fournisseurs Google Firebase Cloud Messaging et Web Push pour les notifications.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.identifiersNamesProfileLinksAndOauth">
        <source>identifiers, names, profile links, and OAuth tokens needed for account connections you choose to enable.</source>
        <target state="translated">identifiants, noms, liens de profil et jetons OAuth nécessaires aux connexions de compte que vous choisissez d'activer.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.infrastructureDatabaseCachingAndSecurityProviders">
        <source>Infrastructure, database, caching, and security providers needed to host OrangChat.</source>
        <target state="translated">Fournisseurs d’infrastructure, de base de données, de mise en cache et de sécurité nécessaires pour héberger OrangChat.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.integrationData">
        <source>Integration data:</source>
        <target state="translated">Données d'intégration :</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.ipAddressUserAgentSessionRecords">
        <source>IP address, user agent, session records, authentication tokens, rate-limit records, audit logs, push subscriptions, error details, and request metadata.</source>
        <target state="translated">Adresse IP, agent utilisateur, enregistrements de session, jetons d'authentification, enregistrements de limite de débit, journaux d'audit, abonnements push, détails d'erreur et métadonnées de demande.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.keepsYourAccountSignedInAnd">
        <source>Keeps your account signed in and rotates sessions securely.</source>
        <target state="translated">Maintient votre compte connecté et alterne les sessions en toute sécurité.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.keepTheServiceTrustworthy">
        <source>Keep the service trustworthy</source>
        <target state="translated">Gardez le service digne de confiance</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.keepYourPasswordBackupCodesDevices">
        <source>Keep your password, backup codes, devices, and authentication methods secure.</source>
        <target state="translated">Gardez votre mot de passe, vos codes de sauvegarde, vos appareils et vos méthodes d'authentification en sécurité.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.largeOrangmoveAttachmentsNormallyExpireWithin">
        <source>Large OrangMove attachments normally expire within one hour.</source>
        <target state="translated">Les grosses pièces jointes OrangMove expirent normalement dans un délai d’une heure.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.legalAndSafetyRequests">
        <source>Legal and safety requests</source>
        <target state="translated">Demandes juridiques et de sécurité</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.legalDocuments">
        <source>Legal documents</source>
        <target state="translated">Documents juridiques</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.legalNotice">
        <source>Legal Notice</source>
        <target state="translated">Mentions légales</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.legalObligations">
        <source>Legal obligations:</source>
        <target state="translated">Obligations légales :</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.legitimateInterests">
        <source>Legitimate interests:</source>
        <target state="translated">Intérêts légitimes :</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.lithuania">
        <source>Lithuania</source>
        <target state="translated">Lituanie</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.lithuanianLawGovernsTheseTermsWithout">
        <source>Lithuanian law governs these terms, without taking away mandatory protections available to consumers in their country of residence. Please contact us first so we can try to resolve a concern. Consumers may bring a claim before any court that has jurisdiction under applicable consumer law. Other claims are subject to the courts of Lithuania.</source>
        <target state="translated">La loi lituanienne régit ces conditions, sans supprimer les protections obligatoires dont disposent les consommateurs dans leur pays de résidence. Veuillez d'abord nous contacter afin que nous puissions essayer de résoudre un problème. Les consommateurs peuvent déposer une réclamation devant tout tribunal compétent en vertu du droit de la consommation applicable. Les autres réclamations sont soumises aux tribunaux lituaniens.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.livekitInfrastructureForRealTimeVoice">
        <source>LiveKit infrastructure for real-time voice, video, and screen sharing.</source>
        <target state="translated">Infrastructure LiveKit pour le partage de voix, de vidéo et d'écran en temps réel.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.localDeviceStorage">
        <source>Local device storage</source>
        <target state="translated">Stockage sur appareil local</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.locallyStoredThemeAccessibilityNotificationDownload">
        <source>locally stored theme, accessibility, notification, download, plugin, and interface preferences.</source>
        <target state="translated">Thèmes stockés localement, accessibilité, notification, téléchargement, plug-in et préférences d'interface.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.location">
        <source>Location</source>
        <target state="translated">Emplacement</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.loginAndProfileConnectionProvidersYou">
        <source>Login and profile connection providers you select, such as Google, Discord, GitHub, GitLab, Twitch, YouTube, Reddit, X, or Steam.</source>
        <target state="translated">Fournisseurs de connexion de connexion et de profil que vous sélectionnez, tels que Google, Discord, GitHub, GitLab, Twitch, YouTube, Reddit, X ou Steam.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.managingStorage">
        <source>Managing storage</source>
        <target state="translated">Gestion du stockage</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.messagesAndProfileInformationAreShared">
        <source>Messages and profile information are shared with the people and communities you choose, according to channel permissions, membership, and privacy settings. Server owners and moderators can access moderation and audit information for communities they manage. Public or invite-accessible spaces may expose content to a wider audience.</source>
        <target state="translated">Les messages et les informations de profil sont partagés avec les personnes et les communautés que vous choisissez, en fonction des autorisations de la chaîne, de l'adhésion et des paramètres de confidentialité. Les propriétaires et modérateurs de serveurs peuvent accéder aux informations de modération et d'audit des communautés qu'ils gèrent. Les espaces publics ou accessibles sur invitation peuvent exposer le contenu à un public plus large.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.messagesAttachmentsReactionsDraftsFriendshipsMemberships">
        <source>messages, attachments, reactions, drafts, friendships, memberships, roles, bans, events, server settings, and linked profiles.</source>
        <target state="translated">messages, pièces jointes, réactions, brouillons, amitiés, adhésions, rôles, interdictions, événements, paramètres du serveur et profils liés.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.name">
        <source>Name</source>
        <target state="translated">Nom</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.navCookies">
        <source>Cookies</source>
        <target state="translated">Cookies</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.navGuidelines">
        <source>Guidelines</source>
        <target state="translated">Lignes directrices</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.navLegalNotice">
        <source>Legal notice</source>
        <target state="translated">Mentions légales</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.navPrivacy">
        <source>Privacy</source>
        <target state="translated">Confidentialité</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.navTerms">
        <source>Terms</source>
        <target state="translated">Termes</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.noCredibleThreatsEncouragementOfViolence">
        <source>No credible threats, encouragement of violence, or celebration of violent harm.</source>
        <target state="translated">Aucune menace crédible, aucun encouragement à la violence ou célébration de préjudices violents.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.noEvasionOfBansModerationRate">
        <source>No evasion of bans, moderation, rate limits, or security controls.</source>
        <target state="translated">Aucune évasion des interdictions, de la modération, des limites de débit ou des contrôles de sécurité.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.noHarassmentStalkingTargetedHumiliationOr">
        <source>No harassment, stalking, targeted humiliation, or coordinated abuse.</source>
        <target state="translated">Pas de harcèlement, de traque, d’humiliation ciblée ou d’abus coordonné.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.noHatefulConductBasedOnProtected">
        <source>No hateful conduct based on protected characteristics.</source>
        <target state="translated">Aucun comportement haineux basé sur des caractéristiques protégées.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.noImpersonationIntendedToDeceiveOr">
        <source>No impersonation intended to deceive or defraud.</source>
        <target state="translated">Aucune usurpation d’identité destinée à tromper ou frauder.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.noInfringementOfCopyrightTrademarkPrivacy">
        <source>No infringement of copyright, trademark, privacy, or other rights.</source>
        <target state="translated">Aucune violation du droit d'auteur, de la marque, de la vie privée ou d'autres droits.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.noNonConsensualIntimateContentOr">
        <source>No non-consensual intimate content or sexual content involving minors.</source>
        <target state="translated">Pas de contenu intime non consensuel ni de contenu sexuel mettant en scène des mineurs.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.noPromotionOrCoordinationOfUnlawful">
        <source>No promotion or coordination of unlawful goods, services, or conduct.</source>
        <target state="translated">Aucune promotion ou coordination de biens, services ou comportements illégaux.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.noScamsPhishingMalwareCredentialTheft">
        <source>No scams, phishing, malware, credential theft, or malicious links.</source>
        <target state="translated">Pas d'escroquerie, de phishing, de malware, de vol d'identifiants ou de liens malveillants.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.noSexualExploitationGroomingOrEndangerment">
        <source>No sexual exploitation, grooming, or endangerment of minors.</source>
        <target state="translated">Pas d’exploitation sexuelle, de toilettage ou de mise en danger de mineurs.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.noSharingPrivateOrIntimateInformation">
        <source>No sharing private or intimate information without permission.</source>
        <target state="translated">Pas de partage d'informations privées ou intimes sans autorisation.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.noSpamUnsolicitedBulkMessagingArtificial">
        <source>No spam, unsolicited bulk messaging, artificial engagement, or abusive bots.</source>
        <target state="translated">Pas de spam, de messages massifs non sollicités, d'engagement artificiel ou de robots abusifs.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.nothingInTheseTermsExcludesLiability">
        <source>Nothing in these terms excludes liability that cannot lawfully be excluded, including liability for intentional misconduct, gross negligence, or mandatory consumer rights. If you are a consumer, you keep all protections given to you by the law of your country.</source>
        <target state="translated">Rien dans ces conditions n'exclut la responsabilité qui ne peut légalement être exclue, y compris la responsabilité en cas de faute intentionnelle, de négligence grave ou de droits impératifs des consommateurs. Si vous êtes consommateur, vous conservez toutes les protections qui vous sont accordées par la loi de votre pays.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.openaiForAutomatedSafetyClassificationOf">
        <source>OpenAI for automated safety classification of uploaded images.</source>
        <target state="translated">OpenAI pour la classification automatisée de sécurité des images téléchargées.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.operatedByOrangesLt">
        <source>OrangChat is operated by Oranges.LT in Lithuania. Contact us at {email}. More operator information is available in our {legalNotice}.</source>
        <target state="translated">OrangChat est exploité par Oranges.LT en Lituanie. Contactez-nous à {email}. Plus d’informations sur l’opérateur sont disponibles dans notre {legalNotice}.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.operationalSecurityAndModerationRecordsAre">
        <source>Operational, security, and moderation records are kept only as long as reasonably needed.</source>
        <target state="translated">Les enregistrements opérationnels, de sécurité et de modération ne sont conservés que le temps raisonnablement nécessaire.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.operator">
        <source>Operator</source>
        <target state="translated">Opérateur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.orang">
        <source>Orang</source>
        <target state="translated">Orangé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.orangchat">
        <source>OrangChat</source>
        <target state="translated">Chat Orangé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.orangchatCanConnectToOrDisplay">
        <source>OrangChat can connect to or display third-party services. Those services have their own terms and privacy practices. We do not control and are not responsible for third-party content, availability, or conduct.</source>
        <target state="translated">OrangChat peut se connecter ou afficher des services tiers. Ces services ont leurs propres conditions et pratiques de confidentialité. Nous ne contrôlons pas et ne sommes pas responsables du contenu, de la disponibilité ou du comportement de tiers.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.orangchatHasNoAdvertisingAnalyticsSdk">
        <source>OrangChat has no advertising, analytics SDK, cross-site tracker, or data broker relationship. We do not sell personal data, use behavioural advertising, or create profiles for marketing.</source>
        <target state="translated">OrangChat n'a aucune relation de publicité, de SDK d'analyse, de suivi intersites ou de courtier de données. Nous ne vendons pas de données personnelles, n'utilisons pas de publicité comportementale et ne créons pas de profils à des fins de marketing.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.orangchatIsBuiltForConversationAnd">
        <source>OrangChat is built for conversation and community. These rules apply to accounts, profiles, messages, calls, files, servers, links, and every other part of the service.</source>
        <target state="translated">OrangChat est conçu pour la conversation et la communauté. Ces règles s'appliquent aux comptes, profils, messages, appels, fichiers, serveurs, liens et à toute autre partie du service.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.orangchatIsCurrentlyProvidedWithoutA">
        <source>OrangChat is currently provided without a paid subscription. We may change, add, limit, or discontinue features and may perform maintenance. We do not promise uninterrupted, error-free, or permanently available service. We will provide reasonable notice when a material change is likely to significantly affect users, where practical.</source>
        <target state="translated">OrangChat est actuellement fourni sans abonnement payant. Nous pouvons modifier, ajouter, limiter ou interrompre des fonctionnalités et effectuer une maintenance. Nous ne promettons pas un service ininterrompu, sans erreur ou disponible en permanence. Nous fournirons un préavis raisonnable lorsqu'un changement important est susceptible d'affecter de manière significative les utilisateurs, lorsque cela est possible.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.orangchatIsNotAvailableToChildren">
        <source>OrangChat is not available to children under 14. We do not knowingly collect personal data from a child below the applicable minimum age. Contact us if you believe a child has provided data in breach of this rule.</source>
        <target state="translated">OrangChat n'est pas disponible pour les enfants de moins de 14 ans. Nous ne collectons pas sciemment les données personnelles d'un enfant en dessous de l'âge minimum applicable. Contactez-nous si vous pensez qu'un enfant a fourni des données en violation de cette règle.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.orangchatIsPrivacyFocusedWeDo">
        <source>OrangChat is privacy-focused. We do not track you across the web, build advertising profiles, run product analytics, sell personal data, or collect information simply because it might be useful later. This policy explains the limited information that must be processed to provide the web, desktop, and Android service you request.</source>
        <target state="translated">OrangChat est axé sur la confidentialité. Nous ne vous suivons pas sur le Web, ne créons pas de profils publicitaires, n'exécutons pas d'analyses de produits, ne vendons pas de données personnelles et ne collectons pas d'informations simplement parce qu'elles pourraient être utiles ultérieurement. Cette politique explique les informations limitées qui doivent être traitées pour fournir le service Web, de bureau et Android que vous demandez.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.orangchatUsesOnlyStorageNeededTo">
        <source>OrangChat uses only storage needed to sign you in, secure account linking, remember your choices, and provide requested features. We do not use advertising or analytics cookies.</source>
        <target state="translated">OrangChat utilise uniquement l'espace de stockage nécessaire pour vous connecter, sécuriser la liaison de compte, mémoriser vos choix et fournir les fonctionnalités demandées. Nous n'utilisons pas de cookies publicitaires ou analytiques.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.orangesLt">
        <source>Oranges.LT</source>
        <target state="translated">Oranges.LT</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.orangmoveForTemporaryStorageOfLarge">
        <source>OrangMove for temporary storage of large files, normally for up to one hour.</source>
        <target state="translated">OrangMove pour le stockage temporaire de fichiers volumineux, normalement pendant une heure maximum.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.preventsForgeryDuringGoogleOrDiscord">
        <source>Prevents forgery during Google or Discord login.</source>
        <target state="translated">Empêche la contrefaçon lors de la connexion à Google ou Discord.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.privacyPolicy">
        <source>Privacy Policy</source>
        <target state="translated">politique de confidentialité</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.protectPeople">
        <source>Protect people</source>
        <target state="translated">Protéger les gens</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.provideAccurateRegistrationInformationAndKeep">
        <source>Provide accurate registration information and keep it current.</source>
        <target state="translated">Fournissez des informations d’inscription précises et tenez-les à jour.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.purpose">
        <source>Purpose</source>
        <target state="translated">But</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.refreshSessionsNormallyExpireAfter30">
        <source>Refresh sessions normally expire after 30 days and are rotated or revoked on logout.</source>
        <target state="translated">Les sessions d'actualisation expirent normalement après 30 jours et sont alternées ou révoquées lors de la déconnexion.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.reportingAndEnforcement">
        <source>Reporting and enforcement</source>
        <target state="translated">Déclaration et application</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.reportSeriousViolations">
        <source>Report serious violations to server moderators and to {email}. Include relevant message links, user or server identifiers, timestamps, and a concise explanation. Do not redistribute harmful material merely to document a report.</source>
        <target state="translated">Signalez les violations graves aux modérateurs du serveur et à {email}. Incluez des liens de message pertinents, des identifiants d'utilisateur ou de serveur, des horodatages et une explication concise. Ne redistribuez pas de matériel nuisible simplement pour documenter un rapport.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.securityAndTechnicalData">
        <source>Security and technical data:</source>
        <target state="translated">Données de sécurité et techniques :</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.sendPrivacyRequestsContentNoticesIntellectual">
        <source>Send privacy requests, content notices, intellectual property notices, safety reports, and lawful authority requests to the email above. Clearly identify the request, the relevant content or account, your authority or rights, and reliable contact details. We may request additional information needed to verify and process the request.</source>
        <target state="translated">Envoyez des demandes de confidentialité, des avis de contenu, des avis de propriété intellectuelle, des rapports de sécurité et des demandes d'autorité légale à l'adresse e-mail ci-dessus. Identifiez clairement la demande, le contenu ou le compte concerné, votre autorité ou vos droits et vos coordonnées fiables. Nous pouvons demander des informations supplémentaires nécessaires pour vérifier et traiter la demande.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.sendSpamRunAbusiveAutomationScrape">
        <source>Send spam, run abusive automation, scrape users, or manipulate platform features.</source>
        <target state="translated">Envoyez du spam, exécutez une automatisation abusive, supprimez les utilisateurs ou manipulez les fonctionnalités de la plate-forme.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.serverOwnersAndModeratorsMaySet">
        <source>Server owners and moderators may set additional rules and may remove content or members from their communities. Their actions are their own. OrangChat may investigate reports, restrict visibility, remove content, disable features, suspend accounts, preserve evidence, or contact competent authorities when reasonably necessary.</source>
        <target state="translated">Les propriétaires de serveurs et les modérateurs peuvent définir des règles supplémentaires et supprimer du contenu ou des membres de leurs communautés. Leurs actions leur appartiennent. OrangChat peut enquêter sur les rapports, restreindre la visibilité, supprimer du contenu, désactiver des fonctionnalités, suspendre des comptes, conserver des preuves ou contacter les autorités compétentes lorsque cela est raisonnablement nécessaire.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.serverOwnersShouldPublishClearLocal">
        <source>Server owners should publish clear local rules, choose trustworthy moderators, use permissions carefully, respond to reports, and protect younger members. Local rules may be stricter than these guidelines but may not authorise conduct prohibited by them.</source>
        <target state="translated">Les propriétaires de serveurs doivent publier des règles locales claires, choisir des modérateurs dignes de confiance, utiliser les autorisations avec précaution, répondre aux rapports et protéger les jeunes membres. Les règles locales peuvent être plus strictes que ces directives mais ne peuvent pas autoriser une conduite interdite par celles-ci.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.serverResponsibilities">
        <source>Server responsibilities</source>
        <target state="translated">Responsabilités du serveur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.service">
        <source>Service</source>
        <target state="translated">Service</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.serviceOperator">
        <source>Service operator</source>
        <target state="translated">Opérateur de services</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.someProvidersMayProcessDataOutside">
        <source>Some providers may process data outside Lithuania or the European Economic Area. Where required, we rely on an adequacy decision, approved standard contractual clauses, or another lawful transfer safeguard. You may ask us for information about the safeguard relevant to a particular provider.</source>
        <target state="translated">Certains fournisseurs peuvent traiter des données en dehors de la Lituanie ou de l'Espace économique européen. Lorsque cela est nécessaire, nous nous appuyons sur une décision d'adéquation, des clauses contractuelles types approuvées ou une autre garantie légale de transfert. Vous pouvez nous demander des informations sur les garanties applicables à un fournisseur particulier.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.subjectToApplicableLawYouMay">
        <source>Subject to applicable law, you may request access, correction, deletion, restriction, portability, or a copy of your data. You may object to processing based on legitimate interests and withdraw consent where processing relies on consent. You may also complain to the Lithuanian State Data Protection Inspectorate or your local supervisory authority.</source>
        <target state="translated">Sous réserve de la loi applicable, vous pouvez demander l'accès, la rectification, la suppression, la restriction, la portabilité ou une copie de vos données. Vous pouvez vous opposer au traitement sur la base d’intérêts légitimes et retirer votre consentement lorsque le traitement repose sur le consentement. Vous pouvez également porter plainte auprès de l'Inspection nationale lituanienne de la protection des données ou de votre autorité de contrôle locale.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.tellUsPromptlyIfYouBelieve">
        <source>Tell us promptly if you believe your account or the service has been compromised.</source>
        <target state="translated">Dites-nous rapidement si vous pensez que votre compte ou le service a été compromis.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.temporaryOauthAndQrLoginState">
        <source>Temporary OAuth and QR login state normally expires within minutes.</source>
        <target state="translated">L’état de connexion temporaire OAuth et QR expire normalement en quelques minutes.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.termsOfService">
        <source>Terms of Service</source>
        <target state="translated">Conditions d'utilisation</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.theOrangchatNameSoftwareInterfaceGraphics">
        <source>The OrangChat name, software, interface, graphics, and original materials are protected by applicable intellectual property law. User content remains the responsibility and property of its respective owner, subject to the licence in the Terms of Service.</source>
        <target state="translated">Le nom, le logiciel, l'interface, les graphiques et les éléments originaux d'OrangChat sont protégés par les lois applicables en matière de propriété intellectuelle. Le contenu utilisateur reste sous la responsabilité et la propriété de son propriétaire respectif, sous réserve de la licence stipulée dans les Conditions de service.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.theseCookiesAreStrictlyNecessaryTo">
        <source>These cookies are strictly necessary to provide authentication that you request. They are Secure in production, and authentication cookies are not available to page scripts.</source>
        <target state="translated">Ces cookies sont strictement nécessaires pour fournir l'authentification que vous demandez. Ils sont sécurisés en production et les cookies d'authentification ne sont pas disponibles pour les scripts de page.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.theseTermsGovernYourUseOf">
        <source>These terms govern your use of OrangChat, including its website, desktop application, Android application, messaging, calls, servers, integrations, and related services.</source>
        <target state="translated">Ces conditions régissent votre utilisation d'OrangChat, y compris son site Web, son application de bureau, son application Android, sa messagerie, ses appels, ses serveurs, ses intégrations et ses services associés.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.theWebAndDesktopAppsStore">
        <source>The web and desktop apps store interface preferences on your device, including theme, accessibility, message density, notification choices, plugin settings, GIF favourites, download prompts, and dismissed notices. The Android app stores equivalent settings and encrypted sign-in credentials in app storage. This information stays on your device unless a feature explicitly synchronises it with your account.</source>
        <target state="translated">Les applications Web et de bureau stockent les préférences d'interface sur votre appareil, notamment le thème, l'accessibilité, la densité des messages, les choix de notification, les paramètres des plug-ins, les favoris GIF, les invites de téléchargement et les avis rejetés. L'application Android stocke les paramètres équivalents et les informations de connexion cryptées dans le stockage de l'application. Ces informations restent sur votre appareil à moins qu'une fonctionnalité ne les synchronise explicitement avec votre compte.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.threatenViolenceHarassPeoplePublishPrivate">
        <source>Threaten violence, harass people, publish private information, or promote hatred.</source>
        <target state="translated">Menacer de violence, harceler des personnes, publier des informations privées ou promouvoir la haine.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.toCreateAccountsDeliverMessagesAnd">
        <source>to create accounts, deliver messages and calls, store content, manage communities, authenticate sessions, and provide requested features.</source>
        <target state="translated">pour créer des comptes, envoyer des messages et des appels, stocker du contenu, gérer des communautés, authentifier des sessions et fournir les fonctionnalités demandées.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.toRequestReviewOfAPlatform">
        <source>To request review of a platform-level action, email us from the address associated with your account. Explain the action, why you believe it should change, and any relevant context. Another review does not guarantee reversal.</source>
        <target state="translated">Pour demander l'examen d'une action au niveau de la plateforme, envoyez-nous un e-mail à partir de l'adresse associée à votre compte. Expliquez l'action, pourquoi vous pensez qu'elle devrait changer et tout contexte pertinent. Un autre examen ne garantit pas l’inversion.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.toRespondToValidLegalRequests">
        <source>to respond to valid legal requests, protect rights, retain required records, and meet regulatory duties.</source>
        <target state="translated">pour répondre aux demandes légales valides, protéger les droits, conserver les dossiers requis et respecter les obligations réglementaires.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.toSecureTheServicePreventAbuse">
        <source>to secure the service, prevent abuse, debug failures, moderate content, maintain reliability, and understand operational usage.</source>
        <target state="translated">pour sécuriser le service, prévenir les abus, déboguer les échecs, modérer le contenu, maintenir la fiabilité et comprendre l'utilisation opérationnelle.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.toTheFullestExtentPermittedBy">
        <source>To the fullest extent permitted by law, OrangChat is provided as available and without warranties beyond those that cannot legally be excluded. We are not responsible for user content or for indirect, incidental, special, consequential, or punitive losses arising from use of the service.</source>
        <target state="translated">Dans toute la mesure permise par la loi, OrangChat est fourni tel que disponible et sans garanties au-delà de celles qui ne peuvent légalement être exclues. Nous ne sommes pas responsables du contenu des utilisateurs ni des pertes indirectes, accessoires, spéciales, consécutives ou punitives résultant de l'utilisation du service.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.typicalDuration">
        <source>Typical duration</source>
        <target state="translated">Durée typique</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.updatedDate">
        <source>Updated {date}</source>
        <target state="translated">{date} mis à jour</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.uploadContentYouDoNotHave">
        <source>Upload content you do not have permission to use.</source>
        <target state="translated">Téléchargez du contenu que vous n’êtes pas autorisé à utiliser.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.upTo30Days">
        <source>Up to 30 days</source>
        <target state="translated">Jusqu'à 30 jours</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.useAccountAndSecuritySettingsWhere">
        <source>Use account and security settings where possible, or email us. We may need to verify your identity before completing a request.</source>
        <target state="translated">Utilisez les paramètres de compte et de sécurité lorsque cela est possible, ou envoyez-nous un e-mail. Nous devrons peut-être vérifier votre identité avant de compléter une demande.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.useOrangchatForIllegalFraudulentDeceptive">
        <source>Use OrangChat for illegal, fraudulent, deceptive, or harmful activity.</source>
        <target state="translated">Utilisez OrangChat pour des activités illégales, frauduleuses, trompeuses ou nuisibles.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.voiceAndPresenceData">
        <source>Voice and presence data:</source>
        <target state="translated">Données de voix et de présence :</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.weAimToApplyRestrictionsDiligently">
        <source>We aim to apply restrictions diligently, objectively, and proportionately. If we take a platform-level action against your account or content, you may ask for a review by emailing us with the relevant account and content details.</source>
        <target state="translated">Nous visons à appliquer les restrictions avec diligence, objectivité et proportionnalité. Si nous prenons une mesure au niveau de la plateforme contre votre compte ou votre contenu, vous pouvez demander un examen en nous envoyant un e-mail avec les détails pertinents du compte et du contenu.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.website">
        <source>Website</source>
        <target state="translated">Site web</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.weDiscloseInformationToAuthoritiesOr">
        <source>We disclose information to authorities or other parties when required by law or reasonably necessary to protect users, rights, safety, and service security.</source>
        <target state="translated">Nous divulguons des informations aux autorités ou à d'autres parties lorsque la loi l'exige ou lorsque cela est raisonnablement nécessaire pour protéger les utilisateurs, leurs droits, leur sûreté et la sécurité des services.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.weGiveYouAPersonalLimited">
        <source>We give you a personal, limited, revocable, non-transferable right to use OrangChat software for its intended purpose. You may not bypass security measures, misuse private interfaces, or reverse engineer the software where law permits us to restrict that activity.</source>
        <target state="translated">Nous vous accordons un droit personnel, limité, révocable et non transférable d'utiliser le logiciel OrangChat aux fins prévues. Vous ne pouvez pas contourner les mesures de sécurité, utiliser à mauvais escient les interfaces privées ou procéder à une ingénierie inverse du logiciel là où la loi nous permet de restreindre cette activité.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.weMaySuspendOrTerminateAccess">
        <source>We may suspend or terminate access for a serious or repeated breach, legal requirement, security risk, or material harm to users or the service. Immediate action may be taken where delay would create risk. Otherwise, we will use reasonable efforts to explain the action and available review process.</source>
        <target state="translated">Nous pouvons suspendre ou résilier l'accès en cas de violation grave ou répétée, d'exigence légale, de risque de sécurité ou de préjudice matériel aux utilisateurs ou au service. Des mesures immédiates peuvent être prises lorsqu'un retard entraînerait un risque. Dans le cas contraire, nous ferons des efforts raisonnables pour expliquer l’action et le processus d’examen disponible.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.weMayUpdateTheseTermsFor">
        <source>We may update these terms for legal, security, operational, or product reasons. We will provide notice of significant changes through the service or another appropriate channel. The effective date at the top identifies the current version.</source>
        <target state="translated">Nous pouvons mettre à jour ces conditions pour des raisons juridiques, de sécurité, opérationnelles ou liées au produit. Nous vous informerons des changements importants via le service ou un autre canal approprié. La date d'entrée en vigueur en haut identifie la version actuelle.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.weMayUpdateThisPolicyWhen">
        <source>We may update this policy when our service or legal obligations change. Significant changes will be communicated through the service or another appropriate channel.</source>
        <target state="translated">Nous pouvons mettre à jour cette politique lorsque notre service ou nos obligations légales changent. Les changements importants seront communiqués via le service ou un autre canal approprié.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.weMinimiseDataCollectionIfInformation">
        <source>We minimise data collection. If information is not needed to provide a feature, protect the service, or meet a legal duty, we do not ask for or intentionally retain it.</source>
        <target state="translated">Nous minimisons la collecte de données. Si les informations ne sont pas nécessaires pour fournir une fonctionnalité, protéger le service ou répondre à une obligation légale, nous ne les demandons pas et ne les conservons pas intentionnellement.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.whereYouChooseOptionalDevicePermissions">
        <source>where you choose optional device permissions, push notifications, or an optional connection that legally requires consent. You may withdraw consent without affecting earlier processing.</source>
        <target state="translated">où vous choisissez des autorisations facultatives sur l'appareil, des notifications push ou une connexion facultative qui nécessite légalement le consentement. Vous pouvez retirer votre consentement sans affecter le traitement antérieur.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.youAreResponsibleForActivityPerformed">
        <source>You are responsible for activity performed through your account until you notify us.</source>
        <target state="translated">Vous êtes responsable de l'activité effectuée via votre compte jusqu'à ce que vous nous en informiez.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.youCanClearOrangchatSiteData">
        <source>You can clear OrangChat site data through your browser or app settings. Blocking the necessary authentication cookie prevents persistent sign-in. Clearing local storage resets device preferences but does not delete your OrangChat account or server content. Because we do not set optional advertising or analytics cookies, OrangChat does not display a consent banner.</source>
        <target state="translated">Vous pouvez effacer les données du site OrangChat via les paramètres de votre navigateur ou de votre application. Le blocage du cookie d'authentification nécessaire empêche la connexion persistante. La suppression du stockage local réinitialise les préférences de l'appareil mais ne supprime pas votre compte OrangChat ou le contenu du serveur. Parce que nous ne définissons pas de cookies publicitaires ou analytiques facultatifs, OrangChat n'affiche pas de bannière de consentement.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.youConfirmThatYouHaveThe">
        <source>You confirm that you have the rights needed to submit your content and that its use on OrangChat does not violate law, privacy, intellectual property, or these terms.</source>
        <target state="translated">Vous confirmez que vous disposez des droits nécessaires pour soumettre votre contenu et que son utilisation sur OrangChat ne viole pas la loi, la confidentialité, la propriété intellectuelle ou les présentes conditions.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.youKeepOwnershipOfMessagesFiles">
        <source>You keep ownership of messages, files, profile information, server content, custom emoji, sounds, events, and other material you submit. You give OrangChat a worldwide, non-exclusive, royalty-free licence to host, store, reproduce, process, transmit, display, and adapt that content only as needed to operate, secure, improve, and provide the service. This licence ends when the content is deleted, except for copies that must remain temporarily in backups, security records, or material shared with others.</source>
        <target state="translated">Vous conservez la propriété des messages, fichiers, informations de profil, contenu du serveur, emoji personnalisés, sons, événements et autres éléments que vous soumettez. Vous accordez à OrangChat une licence mondiale, non exclusive et libre de droits pour héberger, stocker, reproduire, traiter, transmettre, afficher et adapter ce contenu uniquement dans la mesure nécessaire pour exploiter, sécuriser, améliorer et fournir le service. Cette licence prend fin lorsque le contenu est supprimé, à l'exception des copies qui doivent rester temporairement dans les sauvegardes, les enregistrements de sécurité ou le matériel partagé avec d'autres.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.youMayStopUsingOrangchatAt">
        <source>You may stop using OrangChat at any time and may delete your account in Security settings. You must transfer or delete servers you own first. Account deletion removes identifying profile and account data, but messages may remain under a Deleted User identity so other participants retain their conversation history. You can separately delete your message history before deleting your account.</source>
        <target state="translated">Vous pouvez arrêter d'utiliser OrangChat à tout moment et supprimer votre compte dans les paramètres de sécurité. Vous devez d'abord transférer ou supprimer les serveurs que vous possédez. La suppression du compte supprime les données d'identification du profil et du compte, mais les messages peuvent rester sous une identité d'utilisateur supprimé afin que les autres participants conservent leur historique de conversation. Vous pouvez supprimer séparément l'historique de vos messages avant de supprimer votre compte.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.youMustBeAtLeast14">
        <source>You must be at least 14 years old. If the law where you live requires parental or guardian permission, you may use OrangChat only after obtaining that permission. A parent or guardian who permits a minor to use OrangChat should help them understand these terms and use the service safely.</source>
        <target state="translated">Vous devez avoir au moins 14 ans. Si la loi dans laquelle vous vivez exige l'autorisation d'un parent ou d'un tuteur, vous ne pouvez utiliser OrangChat qu'après avoir obtenu cette autorisation. Un parent ou tuteur qui autorise un mineur à utiliser OrangChat doit l'aider à comprendre ces conditions et à utiliser le service en toute sécurité.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="legalPage.youMustFollowTheCommunityGuidelines">
        <source>You must follow the Community Guidelines. You must not:</source>
        <target state="translated">Vous devez suivre les directives de la communauté. Vous ne devez pas :</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="loginPage.authenticatorCode">
        <source>Authenticator code</source>
        <target state="translated">Code d'authentification</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="loginPage.confirmWithYourPasskeyToFinish">
        <source>Confirm with your passkey to finish signing in.</source>
        <target state="translated">Confirmez avec votre mot de passe pour terminer la connexion.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="loginPage.createAnAccount">
        <source>Create an account</source>
        <target state="translated">Créer un compte</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="loginPage.email">
        <source>Email</source>
        <target state="translated">E-mail</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="loginPage.emailCode">
        <source>Email code</source>
        <target state="translated">Code de courrier électronique</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="loginPage.emailMeACodeInstead">
        <source>Email me a code instead</source>
        <target state="translated">Envoyez-moi plutôt un code</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="loginPage.enterThe6DigitCodeFrom">
        <source>Enter the 6-digit code from your app, or a recovery code.</source>
        <target state="translated">Saisissez le code à 6 chiffres de votre application ou un code de récupération.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="loginPage.logIn">
        <source>Log in</source>
        <target state="translated">Se connecter</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="loginPage.logInToKeepTheConversation">
        <source>Log in to keep the conversation going.</source>
        <target state="translated">Connectez-vous pour poursuivre la conversation.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="loginPage.lostYourAuthenticator">
        <source>Lost your authenticator?</source>
        <target state="translated">Vous avez perdu votre authentifiant ?</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="loginPage.newToOrangchat">
        <source>New to OrangChat?</source>
        <target state="translated">Nouveau sur OrangChat ?</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="loginPage.password">
        <source>Password</source>
        <target state="translated">Mot de passe</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="loginPage.sendANewCode">
        <source>Send a new code</source>
        <target state="translated">Envoyer un nouveau code</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="loginPage.signIn">
        <source>Sign in</source>
        <target state="translated">Se connecter</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="loginPage.signInWithAPasskey">
        <source>Sign in with a passkey</source>
        <target state="translated">Connectez-vous avec un mot de passe</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="loginPage.signInWithYourPhone">
        <source>Sign in with your phone</source>
        <target state="translated">Connectez-vous avec votre téléphone</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="loginPage.usePasskey">
        <source>Use passkey</source>
        <target state="translated">Utiliser le mot de passe</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="loginPage.verify">
        <source>Verify</source>
        <target state="translated">Vérifier</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="loginPage.weEmailedYouASignIn">
        <source>We emailed you a sign-in code. It expires in 10 minutes.</source>
        <target state="translated">Nous vous avons envoyé par e-mail un code de connexion. Il expire dans 10 minutes.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="loginPage.welcomeBack">
        <source>Welcome back</source>
        <target state="translated">Content de te revoir</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="markdown.spoilerClickToReveal">
        <source>Spoiler, click to reveal</source>
        <target state="translated">Spoiler, cliquez pour révéler</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="marketplaceThemes.install">
        <source>Install</source>
        <target state="translated">Installer</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="marketplaceThemes.installed">
        <source>Installed</source>
        <target state="translated">Installé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="marketplaceThemes.intro">
        <source>App themes override OrangChat color variables. Every entry is reviewed through a pull request and bundled with the client. Want to contribute? {repo}.</source>
        <target state="translated">Les thèmes d'application remplacent les variables de couleur OrangChat. Chaque entrée est examinée via une pull request et regroupée avec le client. Vous voulez contribuer ? {repo}.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="marketplaceThemes.noThemesMatch">
        <source>No themes match "{query}".</source>
        <target state="translated">Aucun thème ne correspond à "{query}".</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="marketplaceThemes.searchThemes">
        <source>Search themes</source>
        <target state="translated">Thèmes de recherche</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="marketplaceThemes.seeTheMarketplaceRepo">
        <source>See the marketplace repo</source>
        <target state="translated">Voir le dépôt du marché</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="memberList.ban">
        <source>Ban</source>
        <target state="translated">Interdire</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="memberList.banName">
        <source>Ban {name}</source>
        <target state="translated">Interdire {name}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="memberList.changeNickname">
        <source>Change nickname</source>
        <target state="translated">Changer de pseudo</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="memberList.kick">
        <source>Kick</source>
        <target state="translated">Coup</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="memberList.kickName">
        <source>Kick {name}</source>
        <target state="translated">Coup de pied {name}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="memberList.members">
        <source>Members</source>
        <target state="translated">Membres</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="memberList.message">
        <source>Message</source>
        <target state="translated">Message</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="memberList.nickname">
        <source>Nickname</source>
        <target state="translated">Surnom</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="memberList.offlineCount">
        <source>Offline - {count}</source>
        <target state="translated">Hors ligne - {count}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="memberList.onlineCount">
        <source>Online - {count}</source>
        <target state="translated">En ligne - {count}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="memberList.reasonOptional">
        <source>Reason (optional)</source>
        <target state="translated">Raison (facultatif)</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="memberList.roles">
        <source>Roles</source>
        <target state="translated">Rôles</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="memberList.serverOwner">
        <source>Server owner</source>
        <target state="translated">Propriétaire du serveur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="memberList.theyCanRejoinWithANew">
        <source>They can rejoin with a new invite.</source>
        <target state="translated">Ils peuvent rejoindre avec une nouvelle invitation.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="memberList.theyWontBeAbleToRejoin">
        <source>They won't be able to rejoin unless unbanned.</source>
        <target state="translated">Ils ne pourront pas rejoindre le groupe à moins d'être réactivés.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="memberList.viewProfile">
        <source>View profile</source>
        <target state="translated">Voir le profil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageAttachments.decrypt">
        <source>Decrypt</source>
        <target state="translated">Décrypter</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageAttachments.decryptingFile">
        <source>Decrypting {filename}…</source>
        <target state="translated">Décryptage de {filename}…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageAttachments.expiredLargeFilesAreOnlyKept">
        <source>Expired - large files are only kept for an hour</source>
        <target state="translated">Expiré : les fichiers volumineux ne sont conservés que pendant une heure</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageAttachments.hiddenByModeration">
        <source>This image was hidden by automatic moderation</source>
        <target state="translated">Cette image a été masquée par la modération automatique</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageAttachments.inappropriateContent">
        <source>Inappropriate content</source>
        <target state="translated">Contenu inapproprié</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageAttachments.show">
        <source>Show</source>
        <target state="translated">Montrer</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageAttachments.sizeEncrypted">
        <source>{size} · encrypted</source>
        <target state="translated">{size} · crypté</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageAttachments.spoiler">
        <source>Spoiler</source>
        <target state="translated">Becquet</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageAttachments.thisFileCouldNotBeDecrypted">
        <source>This file could not be decrypted on this device</source>
        <target state="translated">Ce fichier n'a pas pu être déchiffré sur cet appareil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageContextMenu.addReaction">
        <source>Add Reaction</source>
        <target state="translated">Ajouter une réaction</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageContextMenu.apps">
        <source>Apps</source>
        <target state="translated">Applications</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageContextMenu.copyMessageId">
        <source>Copy Message ID</source>
        <target state="translated">Copier l'ID du message</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageContextMenu.copyMessageLink">
        <source>Copy Message Link</source>
        <target state="translated">Copier le lien du message</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageContextMenu.copyText">
        <source>Copy Text</source>
        <target state="translated">Copier le texte</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageContextMenu.deleteMessage">
        <source>Delete Message</source>
        <target state="translated">Supprimer le message</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageContextMenu.editMessage">
        <source>Edit Message</source>
        <target state="translated">Modifier le message</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageContextMenu.forward">
        <source>Forward</source>
        <target state="translated">Avant</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageContextMenu.markUnread">
        <source>Mark Unread</source>
        <target state="translated">Marquer comme non lu</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageContextMenu.pinMessage">
        <source>Pin Message</source>
        <target state="translated">Message épinglé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageContextMenu.reply">
        <source>Reply</source>
        <target state="translated">Répondre</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageContextMenu.reportMessage">
        <source>Report Message</source>
        <target state="translated">Message de rapport</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageContextMenu.speakMessage">
        <source>Speak Message</source>
        <target state="translated">Parler du message</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageContextMenu.unpinMessage">
        <source>Unpin Message</source>
        <target state="translated">Supprimer le message</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageItem.deleteMessage">
        <source>Delete message</source>
        <target state="translated">Supprimer le message</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageItem.edited">
        <source>(edited)</source>
        <target state="translated">(édité)</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageItem.editMessage">
        <source>Edit message</source>
        <target state="translated">Modifier le message</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageItem.enterToSaveEscToCancel">
        <source>Enter to save · Esc to cancel</source>
        <target state="translated">Entrez pour enregistrer · Echap pour annuler</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageItem.jumpToTheRepliedMessage">
        <source>Jump to the replied message</source>
        <target state="translated">Accéder au message répondu</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageItem.originalMessage">
        <source>Original message</source>
        <target state="translated">Message original</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageItem.pinned">
        <source>Pinned</source>
        <target state="translated">Épinglé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageItem.reply">
        <source>Reply</source>
        <target state="translated">Répondre</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageList.couldntFindThatMessageItMay">
        <source>Couldn't find that message - it may have been deleted.</source>
        <target state="translated">Je n'ai pas trouvé ce message : il a peut-être été supprimé.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageList.loadEarlierMessages">
        <source>Load earlier messages</source>
        <target state="translated">Charger les messages précédents</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageList.newMessages">
        <source>New messages</source>
        <target state="translated">Nouveaux messages</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageList.newMessagesStartHere">
        <source>New messages start here</source>
        <target state="translated">Les nouveaux messages commencent ici</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageList.thisIsTheStartOfThe">
        <source>This is the start of the channel. Say something!</source>
        <target state="translated">C'est le début de la chaîne. Dire quelque chose!</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="messageList.welcomeToChannel">
        <source>Welcome to #{channel}</source>
        <target state="translated">Bienvenue sur #{channel}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="newDmDialog.findFriends">
        <source>Find friends</source>
        <target state="translated">Trouver des amis</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="newDmDialog.searchByNameOrUsername">
        <source>Search by name or username</source>
        <target state="translated">Rechercher par nom ou nom d'utilisateur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="passkeysSection.addAPasskey">
        <source>Add a passkey</source>
        <target state="translated">Ajouter un mot de passe</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="passkeysSection.addedLastUsed">
        <source>Added {added} · last used {lastUsed}</source>
        <target state="translated">{added} ajouté · dernière utilisation {lastUsed}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="passkeysSection.addedNeverUsed">
        <source>Added {added} · never used</source>
        <target state="translated">Ajouté {added} · jamais utilisé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="passkeysSection.authenticatorCode">
        <source>Authenticator code</source>
        <target state="translated">Code d'authentification</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="passkeysSection.createPasskey">
        <source>Create passkey</source>
        <target state="translated">Créer un mot de passe</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="passkeysSection.currentPassword">
        <source>Current password</source>
        <target state="translated">Mot de passe actuel</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="passkeysSection.name">
        <source>Name</source>
        <target state="translated">Nom</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="passkeysSection.noPasskeysYet">
        <source>No passkeys yet.</source>
        <target state="translated">Pas encore de mot de passe.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="passkeysSection.passkeys">
        <source>Passkeys</source>
        <target state="translated">Mots-clés</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="passkeysSection.personalLaptop">
        <source>Personal laptop</source>
        <target state="translated">Ordinateur portable personnel</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="passkeysSection.reachedTheLimit">
        <source>You've reached the limit of {max} passkeys. Remove one to add another.</source>
        <target state="translated">Vous avez atteint la limite de mots de passe {max}. Supprimez-en un pour en ajouter un autre.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="passkeysSection.removeName">
        <source>Remove {name}</source>
        <target state="translated">Supprimer {name}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="passkeysSection.removePasskey">
        <source>Remove passkey</source>
        <target state="translated">Supprimer le mot de passe</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="passkeysSection.removingThisOnlyAffectsOrangchatDelete">
        <source>Removing this only affects OrangChat. Delete it from the device's own passkey settings too, or it will keep showing up there.</source>
        <target state="translated">La suppression de cela n’affecte qu’OrangChat. Supprimez-le également des paramètres de clé d'accès de l'appareil, sinon il continuera à y apparaître.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="passkeysSection.renameName">
        <source>Rename {name}</source>
        <target state="translated">Renommer {name}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="passkeysSection.signInWithYourFingerprintFace">
        <source>Sign in with your fingerprint, face or device PIN instead of a password. A passkey only works on the site that created it, so it can't be phished - which is why we ask for one instead of an emailed code when your account has one.</source>
        <target state="translated">Connectez-vous avec votre empreinte digitale, votre visage ou le code PIN de votre appareil au lieu d'un mot de passe. Un mot de passe ne fonctionne que sur le site qui l'a créé, il ne peut donc pas être hameçonné. C'est pourquoi nous en demandons un au lieu d'un code envoyé par e-mail lorsque votre compte en possède un.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="passkeysSection.soYouCanTellItApart">
        <source>So you can tell it apart from your other devices later.</source>
        <target state="translated">Vous pourrez ainsi le distinguer de vos autres appareils plus tard.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="passkeysSection.syncedToYourDevicesKeychain">
        <source>Synced to your device's keychain.</source>
        <target state="translated">Synchronisé avec le trousseau de votre appareil.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="passkeysSection.thisBrowserDoesntSupportPasskeysPasskeys">
        <source>This browser doesn't support passkeys. Passkeys you add elsewhere will still work on your other devices.</source>
        <target state="translated">Ce navigateur ne prend pas en charge les mots de passe. Les clés d'accès que vous ajoutez ailleurs fonctionneront toujours sur vos autres appareils.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="plaintextNotice.thisConversationIsNotEncryptedYet">
        <source>This conversation is not encrypted yet</source>
        <target state="translated">Cette conversation n'est pas encore cryptée</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="plaintextNotice.waitingOn_one">
        <source>{who} has not set up encryption on any device, and a locked message needs a key on their side to open it. Messages here are stored the ordinary way until then - it switches on by itself the moment they open OrangChat on a phone or computer.</source>
        <target state="translated">{who} n'a configuré le cryptage sur aucun appareil et un message verrouillé a besoin d'une clé de son côté pour l'ouvrir. Les messages ici sont stockés de la manière habituelle jusque-là - ils s'allument tout seuls dès qu'ils ouvrent OrangChat sur un téléphone ou un ordinateur.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="plaintextNotice.waitingOn_other">
        <source>{who} have not set up encryption on any device, and a locked message needs a key on each of their side to open it. Messages here are stored the ordinary way until then - it switches on by itself the moment they all open OrangChat on a phone or computer.</source>
        <target state="translated">{who} n'a configuré le cryptage sur aucun appareil et un message verrouillé nécessite une clé de chacun de ses côtés pour l'ouvrir. Les messages ici sont stockés de la manière habituelle jusque-là - il s'allume tout seul dès qu'ils ouvrent tous OrangChat sur un téléphone ou un ordinateur.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="pluginsTab.enable">
        <source>Enable</source>
        <target state="translated">Activer</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="pluginsTab.enabled">
        <source>Enabled</source>
        <target state="translated">Activé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="pluginsTab.intro">
        <source>Built-in plugins tweak how this browser shows OrangChat. They ship with the app - nothing is downloaded or run from elsewhere - and each choice is stored on this device only. {count} enabled. Want to contribute? {repo}.</source>
        <target state="translated">Les plugins intégrés modifient la façon dont ce navigateur affiche OrangChat. Ils sont livrés avec l'application - rien n'est téléchargé ou exécuté ailleurs - et chaque choix est stocké sur cet appareil uniquement. {count} activé. Vous voulez contribuer ? {repo}.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="pluginsTab.noPluginsMatch">
        <source>No plugins match "{query}".</source>
        <target state="translated">Aucun plugin ne correspond à "{query}".</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="pluginsTab.searchPlugins">
        <source>Search plugins</source>
        <target state="translated">Plugins de recherche</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="pluginsTab.seeTheMarketplaceRepo">
        <source>See the marketplace repo</source>
        <target state="translated">Voir le dépôt du marché</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="privacyTab.checkPeopleBeforeMessagingThem">
        <source>Check people before messaging them</source>
        <target state="translated">Vérifiez les gens avant de leur envoyer un message</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="privacyTab.directMessages">
        <source>Direct messages</source>
        <target state="translated">Messages directs</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="privacyTab.encryption">
        <source>Encryption</source>
        <target state="translated">Cryptage</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="privacyTab.everyDirectMessageIsEncryptedAlways">
        <source>Every direct message is encrypted, always, and that part cannot be switched off. This setting is about how carefully the other person's lock is checked before your messages are sent to it.</source>
        <target state="translated">Chaque message direct est toujours crypté et cette partie ne peut pas être désactivée. Ce paramètre concerne le soin avec lequel le verrouillage de l'autre personne est vérifié avant que vos messages ne lui soient envoyés.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="privacyTab.friendNotifications">
        <source>Friend notifications</source>
        <target state="translated">Notifications d'amis</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="privacyTab.friendRequests">
        <source>Friend requests</source>
        <target state="translated">Demandes d'amis</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="privacyTab.friendsComingOnline">
        <source>Friends coming online</source>
        <target state="translated">Des amis se connectent</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="privacyTab.leavingItOffIsNotUnprotected">
        <source>Leaving it off is not "unprotected". Every lock is still checked against a logbook that can only be added to, which your own devices read on every start. The difference is whether a swapped lock is stopped before it can be used, or caught right after. Group conversations always send straight away, either way.</source>
        <target state="translated">Le laisser de côté n'est pas "sans protection". Chaque serrure est toujours vérifiée par rapport à un journal de bord qui ne peut être complété que par des ajouts et que vos propres appareils lisent à chaque démarrage. La différence est de savoir si un verrou échangé est arrêté avant de pouvoir être utilisé ou intercepté juste après. Les conversations de groupe sont toujours envoyées immédiatement, dans tous les cas.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="privacyTab.letPeopleSeeIsTypingWhile">
        <source>Let people see “is typing…” while you write.</source>
        <target state="translated">Laissez les gens voir « est en train d'écrire… » pendant que vous écrivez.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="privacyTab.notifyMeWhenSomeoneAcceptsMy">
        <source>Notify me when someone accepts my friend request.</source>
        <target state="translated">Prévenez-moi lorsque quelqu'un accepte ma demande d'ami.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="privacyTab.notifyMeWhenSomeoneSendsMe">
        <source>Notify me when someone sends me a friend request.</source>
        <target state="translated">Prévenez-moi lorsque quelqu'un m'envoie une demande d'ami.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="privacyTab.offByDefaultThisFiresFor">
        <source>Off by default - this fires for every friend each time they open the app.</source>
        <target state="translated">Désactivé par défaut - cela se déclenche pour chaque ami chaque fois qu'il ouvre l'application.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="privacyTab.requestsAccepted">
        <source>Requests accepted</source>
        <target state="translated">Demandes acceptées</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="privacyTab.sendTypingIndicators">
        <source>Send typing indicators</source>
        <target state="translated">Envoyer des indicateurs de saisie</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="privacyTab.stopRequiringVerification">
        <source>Stop requiring verification</source>
        <target state="translated">Arrêtez d'exiger une vérification</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="privacyTab.whatYouShare">
        <source>What you share</source>
        <target state="translated">Ce que vous partagez</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="privacyTab.whoCanOpenANewConversation">
        <source>Who can open a new conversation with you. Conversations you're already in stay open either way.</source>
        <target state="translated">Qui peut ouvrir une nouvelle conversation avec vous. Les conversations dans lesquelles vous êtes déjà restent ouvertes dans tous les cas.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="privacyTab.whoCanSendYouAFriend">
        <source>Who can send you a friend request.</source>
        <target state="translated">Qui peut vous envoyer une demande d'amitié.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="privacyTab.withSomeoneNewYourMessagesWait">
        <source>With someone new, your messages wait on this device - locked, sent nowhere - until you have seen their code in person or read the numbers to each other on a call. Worth turning on only if you can realistically meet or ring the people you message.</source>
        <target state="translated">Avec quelqu'un de nouveau, vos messages attendent sur cet appareil - verrouillé, envoyé nulle part - jusqu'à ce que vous ayez vu son code en personne ou que vous vous lisiez les numéros lors d'un appel. Cela ne vaut la peine de l'activer que si vous pouvez rencontrer ou appeler de manière réaliste les personnes à qui vous envoyez un message.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="profileCard.aboutMe">
        <source>About me</source>
        <target state="translated">Sur moi</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="profileCard.memberSince">
        <source>Member since</source>
        <target state="translated">Membre depuis</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="profileDialog.accept">
        <source>Accept</source>
        <target state="translated">Accepter</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="profileDialog.message">
        <source>Message</source>
        <target state="translated">Message</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="profileThemesTab.install">
        <source>Install</source>
        <target state="translated">Installer</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="profileThemesTab.installed">
        <source>Installed</source>
        <target state="translated">Installé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="profileThemesTab.intro">
        <source>Profile themes style your public profile card - each preview below is your own card with that theme applied. Every entry is reviewed through a pull request, bundled with the client, and sanitized before it renders. Want to contribute? {repo}.</source>
        <target state="translated">Les thèmes de profil donnent du style à votre carte de profil public - chaque aperçu ci-dessous est votre propre carte avec ce thème appliqué. Chaque entrée est examinée via une pull request, groupée avec le client et nettoyée avant son rendu. Vous voulez contribuer ? {repo}.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="profileThemesTab.noProfileThemesMatch">
        <source>No profile themes match "{query}".</source>
        <target state="translated">Aucun thème de profil ne correspond à « {query} ».</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="profileThemesTab.searchProfileThemes">
        <source>Search profile themes</source>
        <target state="translated">Rechercher des thèmes de profil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="profileThemesTab.seeTheMarketplaceRepo">
        <source>See the marketplace repo</source>
        <target state="translated">Voir le dépôt du marché</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="profileThemesTab.thisIsHowYourAboutMe">
        <source>This is how your About me reads with this theme applied.</source>
        <target state="translated">C’est ainsi que se lit votre À propos de moi avec ce thème appliqué.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="profileThemesTab.username">
        <source>username</source>
        <target state="translated">nom d'utilisateur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="profileThemesTab.yourName">
        <source>Your name</source>
        <target state="translated">Votre nom</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrLogin.codeExpired">
        <source>Code expired</source>
        <target state="translated">Code expiré</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrLogin.confirmOnYourPhone">
        <source>Confirm on your phone</source>
        <target state="translated">Confirmez sur votre téléphone</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrLogin.couldNotStartQrSignIn">
        <source>Could not start QR sign-in.</source>
        <target state="translated">Impossible de démarrer la connexion QR.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrLogin.newCode">
        <source>New code</source>
        <target state="translated">Nouveau code</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrLogin.openOrangchatOnYourPhoneAnd">
        <source>Open OrangChat on your phone, and point it at this code to sign in here.</source>
        <target state="translated">Ouvrez OrangChat sur votre téléphone et pointez-le sur ce code pour vous connecter ici.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrLogin.scanWithTheOrangchatApp">
        <source>Scan with the OrangChat app</source>
        <target state="translated">Scannez avec l'application OrangChat</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrLogin.signInQrCode">
        <source>Sign-in QR code</source>
        <target state="translated">Code QR de connexion</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrLogin.tryAgain">
        <source>Try again</source>
        <target state="translated">Essayer à nouveau</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrLogin.useEmailAndPasswordInstead">
        <source>Use email and password instead</source>
        <target state="translated">Utilisez plutôt l'e-mail et le mot de passe</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrScanner.cameraPreviewForScanningACode">
        <source>Camera preview for scanning a code</source>
        <target state="translated">Aperçu de la caméra pour scanner un code</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrScanner.pasteInstead">
        <source>Paste instead</source>
        <target state="translated">Coller à la place</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrScanner.pasteTheCodeTextInsteadIt">
        <source>Paste the code text instead. It starts with</source>
        <target state="translated">Collez plutôt le texte du code. Cela commence par</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrScanner.useTheCamera">
        <source>Use the camera</source>
        <target state="translated">Utilisez l'appareil photo</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrScanner.useThisCode">
        <source>Use this code</source>
        <target state="translated">Utilisez ce code</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrSignInTab.approveSignIn">
        <source>Approve sign-in</source>
        <target state="translated">Approuver la connexion</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrSignInTab.approveThisSignIn">
        <source>Approve this sign-in?</source>
        <target state="translated">Approuver cette connexion ?</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrSignInTab.checkingSignInCode">
        <source>Checking sign-in code…</source>
        <target state="translated">Vérification du code de connexion…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrSignInTab.onlyApproveACodeShownOn">
        <source>Only approve a code shown on a device you trust. This will sign that device into your OrangChat account.</source>
        <target state="translated">Approuvez uniquement un code affiché sur un appareil en qui vous avez confiance. Cela connectera cet appareil à votre compte OrangChat.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrSignInTab.pointYourCameraAtTheQr">
        <source>Point your camera at the QR code on the device you want to sign in. You will review and approve the request before it is allowed.</source>
        <target state="translated">Pointez votre appareil photo sur le code QR de l'appareil auquel vous souhaitez vous connecter. Vous examinerez et approuverez la demande avant qu'elle ne soit autorisée.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrSignInTab.scanAnotherCode">
        <source>Scan another code</source>
        <target state="translated">Scanner un autre code</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrSignInTab.scanASignInCode">
        <source>Scan a sign-in code</source>
        <target state="translated">Scanner un code de connexion</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrSignInTab.signInApproved">
        <source>Sign-in approved</source>
        <target state="translated">Connexion approuvée</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="qrSignInTab.theOtherDeviceCanNowFinish">
        <source>The other device can now finish signing in.</source>
        <target state="translated">L'autre appareil peut maintenant terminer sa connexion.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="reactions.addReaction">
        <source>Add reaction</source>
        <target state="translated">Ajouter une réaction</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="reportMessageDialog.addContextThatWillHelpReview">
        <source>Add context that will help review this report</source>
        <target state="translated">Ajouter un contexte qui aidera à examiner ce rapport</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="reportMessageDialog.reportingDeliberatelyRevealsThisOneDecrypted">
        <source>Reporting deliberately reveals this one decrypted message and a one-message key. It does not reveal the conversation key, earlier messages, or later messages.</source>
        <target state="translated">Les rapports révèlent délibérément ce message déchiffré et une clé de message unique. Il ne révèle pas la clé de conversation, les messages antérieurs ou ultérieurs.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="reportMessageDialog.sendReport">
        <source>Send report</source>
        <target state="translated">Envoyer le rapport</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="reportMessageDialog.whatHappenedOptional">
        <source>What happened? (optional)</source>
        <target state="translated">Ce qui s'est passé? (facultatif)</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="safetyNumberCheck.checkingThemHereIsSaferThan">
        <source>Checking them here is safer than reading along - sixty digits is more than anyone actually compares by eye.</source>
        <target state="translated">Les vérifier ici est plus sûr que de lire - soixante chiffres, c'est plus que ce que quiconque peut comparer à l'œil nu.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="safetyNumberCheck.digitsOf60">
        <source>That is {digits} of 60 digits. Nothing is compared until the whole code is there, so a partial one is never called a mismatch.</source>
        <target state="translated">C'est {digits} de 60 chiffres. Rien n'est comparé jusqu'à ce que l'intégralité du code soit là, donc un code partiel n'est jamais appelé une incompatibilité.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="safetyNumberCheck.notInTheSameRoom">
        <source>Not in the same room?</source>
        <target state="translated">Pas dans la même pièce ?</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="safetyNumberCheck.theseDoNotMatchMostOften">
        <source>These do not match. Most often that is a digit misheard or mistyped, so check it once more. If it still differs, somebody is standing between you - do not send anything here until you know which.</source>
        <target state="translated">Ceux-ci ne correspondent pas. Le plus souvent, il s’agit d’un chiffre mal entendu ou mal saisi, alors vérifiez-le une fois de plus. Si la différence persiste, c'est que quelqu'un se tient entre vous - n'envoyez rien ici tant que vous ne savez pas lequel.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="safetyNumberCheck.theseNumbersAppearOnceBothAccounts">
        <source>These numbers appear once both accounts have set up encryption on a device.</source>
        <target state="translated">Ces numéros apparaissent une fois que les deux comptes ont configuré le cryptage sur un appareil.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="safetyNumberCheck.workingItOut">
        <source>Working it out…</source>
        <target state="translated">Travailler dessus…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="searchDialog.noMessagesFoundFor">
        <source>No messages found for “{query}”.</source>
        <target state="translated">Aucun message trouvé pour « {query} ».</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="searchDialog.onlyThisChannel">
        <source>Only this channel</source>
        <target state="translated">Seulement cette chaîne</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="searchDialog.searchedOnThisDeviceEncryptedMessages">
        <source>Searched on this device. Encrypted messages this device has never opened are not in these results.</source>
        <target state="translated">Recherché sur cet appareil. Les messages cryptés que cet appareil n'a jamais ouverts ne figurent pas dans ces résultats.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="searchDialog.searchMessages">
        <source>Search messages</source>
        <target state="translated">Rechercher des messages</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="searchDialog.searchThisConversation">
        <source>Search this conversation…</source>
        <target state="translated">Rechercher cette conversation…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="searchDialog.searchThisServer">
        <source>Search this server…</source>
        <target state="translated">Rechercher sur ce serveur…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="searchDialog.serverSearchHint">
        <source>Server search matches whole words. Try {phrase} or {exclude} a word.</source>
        <target state="translated">La recherche sur le serveur correspond à des mots entiers. Essayez {phrase} ou {exclude} un mot.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="searchDialog.typeToSearchMessages">
        <source>Type to search messages.</source>
        <target state="translated">Tapez pour rechercher des messages.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityAlertOverlay.account">
        <source>Account {subject}</source>
        <target state="translated">Compte {subject}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityAlertOverlay.acceptingStartsThisContactOverAs">
        <source>Accepting starts this contact over as unverified and lets messages flow again. Anything they sent before they started over stays unreadable, and it does not confirm who they are - compare safety numbers once you can.</source>
        <target state="translated">L'acceptation relance ce contact comme non vérifié et permet aux messages de circuler à nouveau. Tout ce qu'ils ont envoyé avant de recommencer reste illisible et ne confirme pas qui ils sont - comparez les numéros de sécurité dès que vous le pouvez.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityAlertOverlay.iUnderstand">
        <source>I understand</source>
        <target state="translated">Je comprends</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.1ScanThisCode">
        <source>1. Scan this code</source>
        <target state="translated">1. Scannez ce code</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.2EnterThe6DigitCode">
        <source>2. Enter the 6-digit code</source>
        <target state="translated">2. Entrez le code à 6 chiffres</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.accountStanding">
        <source>Account standing</source>
        <target state="translated">Statut du compte</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.askForACodeFromYour">
        <source>Ask for a code from your phone in addition to your password when you sign in.</source>
        <target state="translated">Demandez un code sur votre téléphone en plus de votre mot de passe lorsque vous vous connectez.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.atLeast8Characters">
        <source>At least 8 characters.</source>
        <target state="translated">Au moins 8 caractères.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.bannedFromServer">
        <source>Banned from {server}</source>
        <target state="translated">Banni de {server}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.cantScan">
        <source>Can't scan?</source>
        <target state="translated">Vous ne parvenez pas à numériser ?</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.changeEmail">
        <source>Change email</source>
        <target state="translated">Changer d'e-mail</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.changePassword">
        <source>Change password</source>
        <target state="translated">Changer le mot de passe</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.changingYourPasswordSignsOutEvery">
        <source>Changing your password signs out every other session.</source>
        <target state="translated">Changer votre mot de passe déconnecte toutes les deux sessions.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.codeFromYourApp">
        <source>Code from your app</source>
        <target state="translated">Codez depuis votre application</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.codeFromYourAppOrA">
        <source>Code from your app (or a recovery code)</source>
        <target state="translated">Code de votre application (ou un code de récupération)</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.confirmNewPassword">
        <source>Confirm new password</source>
        <target state="translated">Confirmer le nouveau mot de passe</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.confirmYourPassword">
        <source>Confirm your password</source>
        <target state="translated">Confirmez votre mot de passe</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.considerGeneratingANewSet">
        <source>Consider generating a new set.</source>
        <target state="translated">Pensez à générer un nouvel ensemble.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.continue">
        <source>Continue</source>
        <target state="translated">Continuer</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.copied">
        <source>Copied</source>
        <target state="translated">Copié</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.copy">
        <source>Copy</source>
        <target state="translated">Copie</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.deleteAccount">
        <source>Delete account</source>
        <target state="translated">Supprimer le compte</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.deleteAllMyMessages">
        <source>Delete all my messages</source>
        <target state="translated">Supprimer tous mes messages</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.deleteAllYourMessages">
        <source>Delete all your messages</source>
        <target state="translated">Supprimez tous vos messages</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.deletedMessages_one">
        <source>Deleted {count} message.</source>
        <target state="translated">Message {count} supprimé.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.deletedMessages_other">
        <source>Deleted {count} messages.</source>
        <target state="translated">Messages {count} supprimés.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.deleteMyAccount">
        <source>Delete my account</source>
        <target state="translated">Supprimer mon compte</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.deleteThemAll">
        <source>Delete them all</source>
        <target state="translated">Supprimez-les tous</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.emailAndPassword">
        <source>Email &amp; password</source>
        <target state="translated">E-mail et mot de passe</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.emailChangedTo">
        <source>Email changed to {email}.</source>
        <target state="translated">L'e-mail a été remplacé par {email}.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.enterThisKeyManually">
        <source>Enter this key manually:</source>
        <target state="translated">Saisissez cette clé manuellement :</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.freezesTheAccountIfYouThink">
        <source>Freezes the account if you think someone else is in it: signs out every other device, blocks new sign-ins, and closes new DMs and friend requests until you lift it.</source>
        <target state="translated">Gèle le compte si vous pensez que quelqu'un d'autre s'y trouve : déconnectez tous les autres appareils, bloquez les nouvelles connexions et fermez les nouveaux DM et les demandes d'amis jusqu'à ce que vous le supprimiez.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.generateCodes">
        <source>Generate codes</source>
        <target state="translated">Générer des codes</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.iveSavedThem">
        <source>I've saved them</source>
        <target state="translated">je les ai sauvés</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.leaveAllServers">
        <source>Leave all servers</source>
        <target state="translated">Quitter tous les serveurs</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.leavesEveryServerYoureInExcept">
        <source>Leaves every server you're in except the ones you own. You'll need a new invite to get back into any of them.</source>
        <target state="translated">Quitte tous les serveurs sur lesquels vous vous trouvez, à l'exception de ceux que vous possédez. Vous aurez besoin d’une nouvelle invitation pour revenir dans l’un d’entre eux.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.leftServers_one">
        <source>Left {count} server.</source>
        <target state="translated">A quitté le serveur {count}.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.leftServers_other">
        <source>Left {count} servers.</source>
        <target state="translated">A quitté les serveurs {count}.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.liftLockdown">
        <source>Lift lockdown</source>
        <target state="translated">Lever le confinement</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.lockdown">
        <source>Lockdown</source>
        <target state="translated">Confinement</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.lockDownMyAccount">
        <source>Lock down my account</source>
        <target state="translated">Verrouiller mon compte</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.newEmail">
        <source>New email</source>
        <target state="translated">Nouvel e-mail</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.newPassword">
        <source>New password</source>
        <target state="translated">Nouveau mot de passe</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.newRecoveryCodes">
        <source>New recovery codes</source>
        <target state="translated">Nouveaux codes de récupération</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.noServerIsCurrentlyRestrictingYou">
        <source>No server is currently restricting you.</source>
        <target state="translated">Aucun serveur ne vous restreint actuellement.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.nothingCanSignInAndNo">
        <source>Nothing can sign in, and no new DMs or friend requests reach you. This device stays signed in.</source>
        <target state="translated">Rien ne peut se connecter et aucun nouveau DM ou demande d'ami ne vous parvient. Cet appareil reste connecté.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.passwordChanged">
        <source>Password changed.</source>
        <target state="translated">Mot de passe modifié.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.passwordChangedSessionsRevoked_one">
        <source>Password changed. {count} other session was signed out.</source>
        <target state="translated">Mot de passe modifié. {count} une autre session a été déconnectée.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.passwordChangedSessionsRevoked_other">
        <source>Password changed. {count} other sessions were signed out.</source>
        <target state="translated">Mot de passe modifié. {count} d'autres sessions ont été fermées.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.permanentlyDelete">
        <source>Permanently delete</source>
        <target state="translated">Supprimer définitivement</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.reasonColon">
        <source>Reason: {reason}</source>
        <target state="translated">Raison : {reason}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.recoveryCodes">
        <source>Recovery codes</source>
        <target state="translated">Codes de récupération</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.recoveryCodesLeft_one">
        <source>{count} recovery code left.</source>
        <target state="translated">Code de récupération {count} restant.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.recoveryCodesLeft_other">
        <source>{count} recovery codes left.</source>
        <target state="translated">Codes de récupération {count} restants.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.removesEveryMessageYouveSentIn">
        <source>Removes every message you've sent, in every server and group - including the ones you've left. Attachments you uploaded aren't removed from storage. This can't be undone.</source>
        <target state="translated">Supprime tous les messages que vous avez envoyés, sur chaque serveur et groupe, y compris ceux que vous avez laissés. Les pièces jointes que vous avez téléchargées ne sont pas supprimées du stockage. Cela ne peut pas être annulé.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.saveTheseNowEachWorksOnce">
        <source>Save these now - each works once if you lose your phone, and this is the only time they're shown.</source>
        <target state="translated">Enregistrez-les maintenant : chacun fonctionne une fois si vous perdez votre téléphone, et c'est la seule fois où ils sont affichés.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.setAPassword">
        <source>Set a password</source>
        <target state="translated">Définir un mot de passe</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.setPassword">
        <source>Set password</source>
        <target state="translated">Définir le mot de passe</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.signedInAs">
        <source>Signed in as</source>
        <target state="translated">Connecté en tant que</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.signedOutOtherSessions_one">
        <source>Signed out {count} other session.</source>
        <target state="translated">Déconnecté {count} autre session.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.signedOutOtherSessions_other">
        <source>Signed out {count} other sessions.</source>
        <target state="translated">Déconnecté {count} d'autres sessions.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.stillYours">
        <source>Still yours: {names}.</source>
        <target state="translated">Toujours à vous : {names}.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.thisReplacesEveryExistingRecovery">
        <source>This replaces every existing recovery code.</source>
        <target state="translated">Cela remplace tous les codes de récupération existants.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.thoseDontMatch">
        <source>Those don't match.</source>
        <target state="translated">Ceux-là ne correspondent pas.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.timedOutInServer">
        <source>Timed out in {server}</source>
        <target state="translated">Délai expiré dans {server}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.turnOff">
        <source>Turn off</source>
        <target state="translated">Éteindre</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.turnOffTwoFactor">
        <source>Turn off two-factor</source>
        <target state="translated">Désactivez deux facteurs</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.turnOnTwoFactor">
        <source>Turn on two-factor</source>
        <target state="translated">Activer deux facteurs</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.twoFactorAuthentication">
        <source>Two-factor authentication</source>
        <target state="translated">Authentification à deux facteurs</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.twoFactorAuthenticationIsOn">
        <source>Two-factor authentication is on</source>
        <target state="translated">L'authentification à deux facteurs est activée</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.twoFactorQrCode">
        <source>Two-factor QR code</source>
        <target state="translated">Code QR à deux facteurs</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.typeUsernameToConfirm">
        <source>Type {username} to confirm</source>
        <target state="translated">Tapez {username} pour confirmer</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.untilTime">
        <source>Until {time}</source>
        <target state="translated">Jusqu'à {time}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.usedToSignInTheresNo">
        <source>Used to sign in. There's no confirmation email, so double-check it.</source>
        <target state="translated">Utilisé pour se connecter. Il n’y a pas d’e-mail de confirmation, alors vérifiez-le.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.turningOffTwoFactorMakes">
        <source>Turning off two-factor makes your password the only thing protecting your account.</source>
        <target state="translated">La désactivation de deux facteurs fait de votre mot de passe la seule chose qui protège votre compte.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.yesLeaveThemAll">
        <source>Yes, leave them all</source>
        <target state="translated">Oui, laisse-les tous</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.youllNeedAnAuthenticatorAppGoogle">
        <source>You'll need an authenticator app - Google Authenticator, 1Password, Aegis, or any other TOTP app.</source>
        <target state="translated">Vous aurez besoin d'une application d'authentification - Google Authenticator, 1Password, Aegis ou toute autre application TOTP.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.yourAccountIsInGoodStanding">
        <source>Your account is in good standing</source>
        <target state="translated">Votre compte est en règle</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.yourAccountIsLockedDown">
        <source>Your account is locked down</source>
        <target state="translated">Votre compte est verrouillé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.yourCurrentPassword">
        <source>Your current password</source>
        <target state="translated">Votre mot de passe actuel</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.yourMessagesStayInTheConversations">
        <source>Your messages stay in the conversations they're part of, shown as from a deleted user. Everything else - profile, connections, friends, server memberships - is erased. This can't be undone.</source>
        <target state="translated">Vos messages restent dans les conversations dont ils font partie, affichés comme provenant d'un utilisateur supprimé. Tout le reste – profil, connexions, amis, adhésions au serveur – est effacé. Cela ne peut pas être annulé.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="securityTab.yourPassword">
        <source>Your password</source>
        <target state="translated">Votre mot de passe</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverContextMenu.copyServerId">
        <source>Copy Server ID</source>
        <target state="translated">Copier l'ID du serveur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverContextMenu.createCategory">
        <source>Create Category</source>
        <target state="translated">Créer une catégorie</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverContextMenu.createChannel">
        <source>Create Channel</source>
        <target state="translated">Créer une chaîne</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverContextMenu.editPerServerProfile">
        <source>Edit Per-server Profile</source>
        <target state="translated">Modifier le profil par serveur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverContextMenu.inviteToServer">
        <source>Invite to Server</source>
        <target state="translated">Inviter au serveur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverContextMenu.leaveServer">
        <source>Leave Server</source>
        <target state="translated">Quitter le serveur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverContextMenu.markAsRead">
        <source>Mark As Read</source>
        <target state="translated">Marquer comme lu</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverContextMenu.muteServer">
        <source>Mute Server</source>
        <target state="translated">Serveur muet</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverContextMenu.notificationSettings">
        <source>Notification Settings</source>
        <target state="translated">Paramètres de notification</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverContextMenu.privacySettings">
        <source>Privacy Settings</source>
        <target state="translated">Paramètres de confidentialité</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverContextMenu.serverSettings">
        <source>Server Settings</source>
        <target state="translated">Paramètres du serveur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverContextMenu.unmuteServer">
        <source>Unmute Server</source>
        <target state="translated">Activer le serveur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverRail.addAServer">
        <source>Add a server</source>
        <target state="translated">Ajouter un serveur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverRail.home">
        <source>Home</source>
        <target state="translated">Maison</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverRail.leaveServer">
        <source>Leave server</source>
        <target state="translated">Quitter le serveur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverRail.membersOfThisServerSeeThis">
        <source>Members of this server see this nickname instead of your display name. Leave it empty to use your display name.</source>
        <target state="translated">Les membres de ce serveur voient ce pseudo au lieu de votre nom d'affichage. Laissez-le vide pour utiliser votre nom d'affichage.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverRail.nickname">
        <source>Nickname</source>
        <target state="translated">Surnom</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverRail.servers">
        <source>Servers</source>
        <target state="translated">Serveurs</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverRail.unreadDirectMessages">
        <source>unread direct messages</source>
        <target state="translated">messages directs non lus</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverRail.youllNeedANewInviteTo">
        <source>You'll need a new invite to get back in.</source>
        <target state="translated">Vous aurez besoin d'une nouvelle invitation pour revenir.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.auditLog">
        <source>Audit log</source>
        <target state="translated">Journal d'audit</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.bans">
        <source>Bans</source>
        <target state="translated">Interdictions</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.color">
        <source>Color</source>
        <target state="translated">Couleur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.dangerZone">
        <source>Danger zone</source>
        <target state="translated">Zone dangereuse</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.deleteForever">
        <source>Delete forever</source>
        <target state="translated">Supprimer pour toujours</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.deleteRole">
        <source>Delete role</source>
        <target state="translated">Supprimer le rôle</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.deleteServer">
        <source>Delete server</source>
        <target state="translated">Supprimer le serveur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.deletingAServerRemovesAllIts">
        <source>Deleting a server removes all its channels and messages. This cannot be undone.</source>
        <target state="translated">La suppression d'un serveur supprime tous ses canaux et messages. Cela ne peut pas être annulé.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.description">
        <source>Description</source>
        <target state="translated">Description</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.emoji">
        <source>Emoji</source>
        <target state="translated">Émoji</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.leaveEmptyForInitials">
        <source>Leave empty for initials.</source>
        <target state="translated">Laisser vide pour les initiales.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.loadingBans">
        <source>Loading bans…</source>
        <target state="translated">Interdictions de chargement…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.membersLoseThisRoleImmediately">
        <source>Members lose this role immediately.</source>
        <target state="translated">Les membres perdent immédiatement ce rôle.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.newRole">
        <source>New role</source>
        <target state="translated">Nouveau rôle</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.noBannedUsers">
        <source>No banned users.</source>
        <target state="translated">Aucun utilisateur banni.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.noRolesYet">
        <source>No roles yet.</source>
        <target state="translated">Aucun rôle pour l'instant.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.overview">
        <source>Overview</source>
        <target state="translated">Aperçu</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.roleName">
        <source>Role name</source>
        <target state="translated">Nom du rôle</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.roles">
        <source>Roles</source>
        <target state="translated">Rôles</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.shownOnInvitePage">
        <source>Shown on the invite page. {count}/1024</source>
        <target state="translated">Affiché sur la page d'invitation. {count}/1024</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.saveChanges">
        <source>Save changes</source>
        <target state="translated">Enregistrer les modifications</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.saveRole">
        <source>Save role</source>
        <target state="translated">Enregistrer le rôle</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.serverIcon">
        <source>Server icon</source>
        <target state="translated">Icône du serveur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.serverName">
        <source>Server name</source>
        <target state="translated">Nom du serveur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.serverSettings">
        <source>Server settings</source>
        <target state="translated">Paramètres du serveur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.sounds">
        <source>Sounds</source>
        <target state="translated">Des sons</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.thisPermanentlyDeletesTheServerIts">
        <source>This permanently deletes the server, its channels, and every message.</source>
        <target state="translated">Cela supprime définitivement le serveur, ses canaux et chaque message.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.unban">
        <source>Unban</source>
        <target state="translated">Annuler le bannissement</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverSettingsDialog.whatIsThisServerAbout">
        <source>What is this server about?</source>
        <target state="translated">De quoi parle ce serveur ?</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverView.couldntLoadThisServer">
        <source>Couldn't load this server</source>
        <target state="translated">Impossible de charger ce serveur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="serverView.noTextChannelsYetCreateOne">
        <source>No text channels yet - create one from the server menu.</source>
        <target state="translated">Pas encore de canaux de texte - créez-en un à partir du menu du serveur.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="sharingTab.allowCameraMicrophone">
        <source>Allow camera &amp; microphone</source>
        <target state="translated">Autoriser la caméra et le microphone</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="sharingTab.appliesTheNextTimeYouJoin">
        <source>Applies the next time you join a call.</source>
        <target state="translated">S'applique la prochaine fois que vous rejoignez un appel.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="sharingTab.camera">
        <source>Camera</source>
        <target state="translated">Caméra</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="sharingTab.cameraAndMicrophoneAccessIsGranted">
        <source>Camera and microphone access is granted.</source>
        <target state="translated">L’accès à la caméra et au microphone est accordé.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="sharingTab.cameraAndMicrophoneAreBlockedRe">
        <source>Camera and microphone are blocked. Re-allow them for this site in your browser's address bar, then reload.</source>
        <target state="translated">La caméra et le microphone sont bloqués. Réactivez-les pour ce site dans la barre d'adresse de votre navigateur, puis rechargez.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="sharingTab.chromeAndEdgeOnlyOtherBrowsers">
        <source>Chrome and Edge only - other browsers always use the system default.</source>
        <target state="translated">Chrome et Edge uniquement : les autres navigateurs utilisent toujours la valeur par défaut du système.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="sharingTab.inputDevice">
        <source>Input device</source>
        <target state="translated">Périphérique d'entrée</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="sharingTab.joinMuted">
        <source>Join muted</source>
        <target state="translated">Rejoindre en mode silencieux</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="sharingTab.joinWithCameraOn">
        <source>Join with camera on</source>
        <target state="translated">Rejoignez-nous avec la caméra allumée</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="sharingTab.microphone">
        <source>Microphone</source>
        <target state="translated">Microphone</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="sharingTab.orangchatOnlyOpensYourCameraAnd">
        <source>OrangChat only opens your camera and microphone during a call, and while you're testing them here.</source>
        <target state="translated">OrangChat n'ouvre votre caméra et votre microphone que pendant un appel et pendant que vous les testez ici.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="sharingTab.output">
        <source>Output</source>
        <target state="translated">Sortir</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="sharingTab.permissions">
        <source>Permissions</source>
        <target state="translated">Autorisations</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="sharingTab.speaker">
        <source>Speaker</source>
        <target state="translated">Conférencier</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="sharingTab.startEveryCallWithYourMicrophone">
        <source>Start every call with your microphone off.</source>
        <target state="translated">Commencez chaque appel avec votre microphone éteint.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="sharingTab.startVoiceChannelsWithVideoAlready">
        <source>Start voice channels with video already publishing.</source>
        <target state="translated">Démarrez des chaînes vocales avec une vidéo déjà publiée.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="sharingTab.theseChoicesAreStoredOnThis">
        <source>These choices are stored on this device only - they're never sent to the server.</source>
        <target state="translated">Ces choix sont stockés uniquement sur cet appareil : ils ne sont jamais envoyés au serveur.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="sharingTab.thisBrowserDoesntExposeCameraOr">
        <source>This browser doesn't expose camera or microphone controls.</source>
        <target state="translated">Ce navigateur n'expose pas les commandes de la caméra ou du microphone.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="sharingTab.videoDevice">
        <source>Video device</source>
        <target state="translated">Appareil vidéo</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="sharingTab.whenJoiningACall">
        <source>When joining a call</source>
        <target state="translated">Lorsque vous rejoignez un appel</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="signupPage.alreadyHaveAnAccount">
        <source>Already have an account?</source>
        <target state="translated">Vous avez déjà un compte ?</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="signupPage.checkYourEmailForAVerification">
        <source>Check your email for a verification link. You must verify it before signing in.</source>
        <target state="translated">Vérifiez votre courrier électronique pour un lien de vérification. Vous devez le vérifier avant de vous connecter.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="signupPage.claimYourUsernameAndStartChatting">
        <source>Claim your username and start chatting.</source>
        <target state="translated">Réclamez votre nom d'utilisateur et commencez à discuter.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="signupPage.communityGuidelines">
        <source>Community Guidelines</source>
        <target state="translated">Lignes directrices de la communauté</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="signupPage.createAccount">
        <source>Create account</source>
        <target state="translated">Créer un compte</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="signupPage.createYourAccount">
        <source>Create your account</source>
        <target state="translated">Créez votre compte</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="signupPage.displayNameOptional">
        <source>Display name (optional)</source>
        <target state="translated">Nom d'affichage (facultatif)</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="signupPage.email">
        <source>Email</source>
        <target state="translated">E-mail</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="signupPage.legalConsent">
        <source>By creating an account, you agree to the {terms} and {guidelines}, and acknowledge the {privacy}.</source>
        <target state="translated">En créant un compte, vous acceptez les {terms} et {guidelines}, et reconnaissez les {privacy}.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="signupPage.logIn">
        <source>Log in</source>
        <target state="translated">Se connecter</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="signupPage.lowercaseLettersNumbersUnderscoresAndDots">
        <source>Lowercase letters, numbers, underscores, and dots.</source>
        <target state="translated">Lettres minuscules, chiffres, traits de soulignement et points.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="signupPage.password">
        <source>Password</source>
        <target state="translated">Mot de passe</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="signupPage.privacyPolicy">
        <source>Privacy Policy</source>
        <target state="translated">politique de confidentialité</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="signupPage.termsOfService">
        <source>Terms of Service</source>
        <target state="translated">Conditions d'utilisation</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="signupPage.username">
        <source>Username</source>
        <target state="translated">Nom d'utilisateur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="soundTab.deleteName">
        <source>Delete {name}</source>
        <target state="translated">Supprimer {name}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="soundTab.maxSizeMb">
        <source>Sound must be 1 MB or smaller.</source>
        <target state="translated">Le son doit faire 1 Mo ou moins.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="soundTab.mp3OggWavOrFlacUpTo">
        <source>MP3, OGG, WAV or FLAC up to 1 MB and {seconds} seconds.</source>
        <target state="translated">MP3, OGG, WAV ou FLAC jusqu'à 1 Mo et {seconds} secondes.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="soundTab.noSoundsYetUploadOneTo">
        <source>No sounds yet. Upload one to play it in this server's voice channels.</source>
        <target state="translated">Aucun son pour l'instant. Téléchargez-en un pour le lire sur les canaux vocaux de ce serveur.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="soundTab.previewName">
        <source>Preview {name}</source>
        <target state="translated">Aperçu de {name}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="soundTab.renameName">
        <source>Rename {name}</source>
        <target state="translated">Renommer {name}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="soundTab.soundboard">
        <source>Soundboard</source>
        <target state="translated">Table d'harmonie</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="soundTab.soundsMustBeSecondsOrShorter">
        <source>Sounds must be {max} seconds or shorter (that one is {actual}s).</source>
        <target state="translated">Les sons doivent durer {max} secondes ou moins (celui-ci est {actual}s).</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="soundTab.upload">
        <source>Upload</source>
        <target state="translated">Télécharger</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="soundTab.uploading">
        <source>Uploading…</source>
        <target state="translated">Téléchargement…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="soundTab.volumeForName">
        <source>Volume for {name}</source>
        <target state="translated">Volume pour {name}</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="soundboardPanel.noSoundsYetAddSomeIn">
        <source>No sounds yet. Add some in Server settings → Sounds.</source>
        <target state="translated">Aucun son pour l'instant. Ajoutez-en dans Paramètres du serveur → Sons.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="soundboardPanel.soundboard">
        <source>Soundboard</source>
        <target state="translated">Table d'harmonie</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="splashScreen.loadingOrangchat">
        <source>Loading OrangChat</source>
        <target state="translated">Chargement d'OrangChat</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.appUpdates">
        <source>App updates</source>
        <target state="translated">Mises à jour de l'application</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.cachedDataOnThisDevice">
        <source>Cached data on this device.</source>
        <target state="translated">Données mises en cache sur cet appareil.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.cachedDataOnThisDeviceUsage">
        <source>Cached data on this device: ~{usage}.</source>
        <target state="translated">Données mises en cache sur cet appareil : ~{usage}.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.checkForUpdates">
        <source>Check for updates</source>
        <target state="translated">Vérifier les mises à jour</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.checkingForUpdates">
        <source>Checking for updates…</source>
        <target state="translated">Vérification des mises à jour…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.clearCacheReload">
        <source>Clear cache &amp; reload</source>
        <target state="translated">Vider le cache et recharger</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.connected">
        <source>Connected</source>
        <target state="translated">Connecté</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.connecting">
        <source>Connecting…</source>
        <target state="translated">De liaison…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.couldntCheckRightNow">
        <source>Couldn't check right now. Try again later.</source>
        <target state="translated">Je n'ai pas pu vérifier pour le moment. Réessayez plus tard.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.couldntCheckRightNowWithMessage">
        <source>Couldn't check right now. Try again later. ({message})</source>
        <target state="translated">Je n'ai pas pu vérifier pour le moment. Réessayez plus tard. ({message})</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.desktopNotifications">
        <source>Desktop notifications</source>
        <target state="translated">Notifications sur le bureau</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.disconnected">
        <source>Disconnected</source>
        <target state="translated">Déconnecté</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.enableNotifications">
        <source>Enable notifications</source>
        <target state="translated">Activer les notifications</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.notifications">
        <source>Notifications</source>
        <target state="translated">Notifications</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.notificationsAreBlockedEnableThemFor">
        <source>Notifications are blocked. Enable them for this site in your browser settings.</source>
        <target state="translated">Les notifications sont bloquées. Activez-les pour ce site dans les paramètres de votre navigateur.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.offNotificationsShowWhoWroteAnd">
        <source>Off, notifications show who wrote and nothing more. Encrypted messages are then never unlocked to make a notification at all. This browser only.</source>
        <target state="translated">Désactivé, les notifications indiquent qui a écrit et rien de plus. Les messages cryptés ne sont alors jamais déverrouillés pour effectuer une notification. Ce navigateur uniquement.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.onLatestVersion">
        <source>You're on the latest version.</source>
        <target state="translated">Vous êtes sur la dernière version.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.onLatestVersionNumbered">
        <source>You're on the latest version ({version}).</source>
        <target state="translated">Vous utilisez la dernière version ({version}).</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.orangchatForPlatform">
        <source>OrangChat for {platform}.</source>
        <target state="translated">OrangChat pour {platform}.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.orangchatVersionForPlatform">
        <source>OrangChat {version} for {platform}.</source>
        <target state="translated">OrangChat {version} pour {platform}.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.pushAlertsForDirectMessagesAnd">
        <source>Push alerts for direct messages and @mentions, even when OrangChat is closed.</source>
        <target state="translated">Alertes push pour les messages directs et les @mentions, même lorsque OrangChat est fermé.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.realtimeConnection">
        <source>Realtime connection</source>
        <target state="translated">Connexion en temps réel</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.showMessageText">
        <source>Show message text</source>
        <target state="translated">Afficher le texte du message</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.status">
        <source>Status</source>
        <target state="translated">Statut</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.storage">
        <source>Storage</source>
        <target state="translated">Stockage</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.thisAppBuildCantCheckFrom">
        <source>This app build can't check from here - use Help → Check for Updates… in the window menu, or the tray icon.</source>
        <target state="translated">Cette version d'application ne peut pas vérifier à partir d'ici - utilisez Aide → Rechercher les mises à jour… dans le menu de la fenêtre ou sur l'icône de la barre d'état.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.thisBrowserDoesntSupportNotifications">
        <source>This browser doesn't support notifications.</source>
        <target state="translated">Ce navigateur ne prend pas en charge les notifications.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.updateChecksOnlyRunInThe">
        <source>Update checks only run in the installed app.</source>
        <target state="translated">Les vérifications de mise à jour s'exécutent uniquement dans l'application installée.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="systemTab.updateFoundDownloading">
        <source>Update {version} found - downloading. You'll be asked to restart.</source>
        <target state="translated">Mise à jour {version} trouvée - téléchargement. Il vous sera demandé de redémarrer.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="toaster.dismissNotification">
        <source>Dismiss notification</source>
        <target state="translated">Rejeter la notification</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.addingADeviceIsASecurity">
        <source>Adding a device is a security event, so it takes a fresh second-factor code. Every other device on your account will be told about it.</source>
        <target state="translated">L'ajout d'un appareil est un événement de sécurité, il nécessite donc un nouveau code de deuxième facteur. Tous les autres appareils de votre compte en seront informés.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.addPhoneToThisAccount">
        <source>Add phone to this account</source>
        <target state="translated">Ajouter un téléphone à ce compte</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.addThisDevice">
        <source>Add this device</source>
        <target state="translated">Ajouter cet appareil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.aOneTimeCodeIsOn">
        <source>A one-time code is on its way to your email - it expires in 10 minutes.</source>
        <target state="translated">Un code à usage unique est en route vers votre courrier électronique – il expire dans 10 minutes.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.authorizingYourPhone">
        <source>Authorizing your phone</source>
        <target state="translated">Autoriser votre téléphone</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.bothScreensShouldShowTheSame">
        <source>Both screens should show the same six digits. If they differ, something is between your two devices - stop here.</source>
        <target state="translated">Les deux écrans doivent afficher les mêmes six chiffres. S'ils diffèrent, il y a quelque chose entre vos deux appareils - arrêtez-vous ici.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.connectingToTheOtherDevice">
        <source>Connecting to the other device…</source>
        <target state="translated">Connexion à l’autre appareil…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.creatingOneTimeCode">
        <source>Creating one-time code…</source>
        <target state="translated">Création de code à usage unique…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.deviceTransferCode">
        <source>Device transfer code</source>
        <target state="translated">Code de transfert d'appareil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.digitsConfirmed">
        <source>Digits confirmed</source>
        <target state="translated">Chiffres confirmés</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.emailMeACode">
        <source>Email me a code</source>
        <target state="translated">Envoyez-moi un code</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.encryptingConversationHistoryKeysSigningThe">
        <source>Encrypting conversation-history keys, signing the new device, and waiting for the phone to store them securely…</source>
        <target state="translated">Chiffrer les clés de l'historique des conversations, signer le nouvel appareil et attendre que le téléphone les stocke en toute sécurité…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.enterTheSecurityCodeOnThe">
        <source>Enter the security code on the authorized device. This device is waiting for the encrypted history and signed authorization.</source>
        <target state="translated">Entrez le code de sécurité sur l'appareil autorisé. Cet appareil attend l'historique crypté et l'autorisation signée.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.onADeviceYoureAlreadySigned">
        <source>On a device you're already signed in on, open Settings → Encryption and choose "Add another device", then point it at this code. Keep them close together - the transfer only goes over your local network.</source>
        <target state="translated">Sur un appareil sur lequel vous êtes déjà connecté, ouvrez Paramètres → Cryptage et choisissez « Ajouter un autre appareil », puis pointez-le sur ce code. Gardez-les proches les uns des autres - le transfert passe uniquement par votre réseau local.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.openSettingsEncryptionAddThisPhone">
        <source>Open Settings → Encryption → Add this phone.</source>
        <target state="translated">Ouvrez Paramètres → Cryptage → Ajouter ce téléphone.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.resendEmailCode">
        <source>Resend email code</source>
        <target state="translated">Renvoyer le code e-mail</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.scanTheCodeShownOnThe">
        <source>Scan the code shown on the new device, or use the paste option if this PC has no camera.</source>
        <target state="translated">Scannez le code affiché sur le nouvel appareil ou utilisez l'option Coller si ce PC n'a pas de caméra.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.scanThisWithYourPhone">
        <source>Scan this with your phone</source>
        <target state="translated">Scannez ceci avec votre téléphone</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.showACodeForMyPhone">
        <source>Show a code for my phone to scan</source>
        <target state="translated">Afficher un code à scanner pour mon téléphone</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.tapScanCodeFromPcAnd">
        <source>Tap “Scan code from PC” and point OrangChat at this code.</source>
        <target state="translated">Appuyez sur « Scanner le code depuis le PC » et pointez OrangChat sur ce code.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.theyDont">
        <source>They don't</source>
        <target state="translated">Ils ne le font pas</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.theyMatch">
        <source>They match</source>
        <target state="translated">Ils correspondent</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.thisAccountHasNoAuthenticatorApp">
        <source>This account has no authenticator app set up, so OrangChat will email a one-time code to the address on your account. Check your email before entering it here.</source>
        <target state="translated">Ce compte n'a pas d'application d'authentification configurée, donc OrangChat enverra un code à usage unique à l'adresse de votre compte. Vérifiez votre email avant de le saisir ici.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.transferProgress">
        <source>Transfer progress</source>
        <target state="translated">Progression du transfert</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.tryAgain">
        <source>Try again</source>
        <target state="translated">Essayer à nouveau</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.updateThePhoneToOrangchat0">
        <source>Update the phone to OrangChat 0.5.4 and sign in to this account.</source>
        <target state="translated">Mettez à jour le téléphone vers OrangChat 0.5.4 et connectez-vous à ce compte.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.useACodeShownByThe">
        <source>Use a code shown by the new device instead</source>
        <target state="translated">Utilisez plutôt un code affiché par le nouvel appareil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.useAnEmailCodeInstead">
        <source>Use an email code instead</source>
        <target state="translated">Utilisez plutôt un code e-mail</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.waitingForTheOtherDevice">
        <source>Waiting for the other device…</source>
        <target state="translated">En attendant l'autre appareil…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="transferDialog.waitingForYourPhoneToScan">
        <source>Waiting for your phone to scan…</source>
        <target state="translated">En attendant que votre téléphone scanne…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="updateGate.dismissUpdateNotice">
        <source>Dismiss update notice</source>
        <target state="translated">Ignorer l'avis de mise à jour</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="updateGate.fixesProblemsInTheVersion">
        <source>OrangChat {latest} fixes problems in the version you are running.</source>
        <target state="translated">OrangChat {latest} résout les problèmes dans la version que vous utilisez.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="updateGate.isAvailable">
        <source>OrangChat {latest} is available.</source>
        <target state="translated">OrangChat {latest} est disponible.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="updateGate.notSupportedUpdateToContinue">
        <source>This version of OrangChat is no longer supported and can no longer connect. Update to continue.</source>
        <target state="translated">Cette version d'OrangChat n'est plus supportée et ne permet plus de se connecter. Mettez à jour pour continuer.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="updateGate.notSupportedUpdateToVersion">
        <source>This version of OrangChat is no longer supported and can no longer connect. Update to {latest} to continue.</source>
        <target state="translated">Cette version d'OrangChat n'est plus supportée et ne permet plus de se connecter. Mettez à jour vers {latest} pour continuer.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="updateGate.reload">
        <source>Reload</source>
        <target state="translated">Recharger</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="updateGate.update">
        <source>Update</source>
        <target state="translated">Mise à jour</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="updateGate.updateRequired">
        <source>Update required</source>
        <target state="translated">Mise à jour requise</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userFooter.userSettings">
        <source>User settings</source>
        <target state="translated">Paramètres utilisateur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.about">
        <source>About</source>
        <target state="translated">À propos</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.aboutMe">
        <source>About me</source>
        <target state="translated">Sur moi</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.accentColor">
        <source>Accent color</source>
        <target state="translated">Couleur d'accentuation</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.appIcon">
        <source>App icon</source>
        <target state="translated">Icône de l'application</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.applied">
        <source>Applied</source>
        <target state="translated">Appliqué</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.applyCss">
        <source>Apply CSS</source>
        <target state="translated">Appliquer CSS</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.avatar">
        <source>Avatar</source>
        <target state="translated">Avatar</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.banner">
        <source>Banner</source>
        <target state="translated">Bannière</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.browseAppThemes">
        <source>Browse app themes</source>
        <target state="translated">Parcourir les thèmes d'applications</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.browseProfileThemes">
        <source>Browse profile themes</source>
        <target state="translated">Parcourir les thèmes de profil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.clear">
        <source>Clear</source>
        <target state="translated">Clair</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.closeSettings">
        <source>Close settings</source>
        <target state="translated">Fermer les paramètres</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.communityThemes">
        <source>Community themes</source>
        <target state="translated">Thèmes communautaires</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.couldNotSaveTheIcon">
        <source>Could not save the icon</source>
        <target state="translated">Impossible d'enregistrer l'icône</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.cssFileIsTooLarge">
        <source>CSS file is too large (max 100 KB).</source>
        <target state="translated">Le fichier CSS est trop volumineux (max 100 Ko).</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.customCss">
        <source>Custom CSS</source>
        <target state="translated">CSS personnalisé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.customCssIsActive">
        <source>Custom CSS is active.</source>
        <target state="translated">Le CSS personnalisé est actif.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.customCssTheme">
        <source>Custom CSS theme</source>
        <target state="translated">Thème CSS personnalisé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.dark">
        <source>Dark</source>
        <target state="translated">Sombre</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.displayName">
        <source>Display name</source>
        <target state="translated">Nom d'affichage</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.downloadDefault">
        <source>Download default</source>
        <target state="translated">Télécharger par défaut</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.downloadTemplate">
        <source>Download template</source>
        <target state="translated">Télécharger le modèle</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.icon">
        <source>Icon</source>
        <target state="translated">Icône</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.identity">
        <source>Identity</source>
        <target state="translated">Identité</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.leaveEmptyToUseYourAccent">
        <source>Leave empty to use your accent color.</source>
        <target state="translated">Laissez vide pour utiliser votre couleur d’accent.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.light">
        <source>Light</source>
        <target state="translated">Lumière</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.loadExample">
        <source>Load example</source>
        <target state="translated">Charger un exemple</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.loadStarter">
        <source>Load starter</source>
        <target state="translated">Démarreur de charge</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.lowercaseLettersNumbersUnderscoresAndDots">
        <source>Lowercase letters, numbers, underscores, and dots.</source>
        <target state="translated">Lettres minuscules, chiffres, traits de soulignement et points.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navAbout">
        <source>About</source>
        <target state="translated">À propos</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navAccessibility">
        <source>Accessibility</source>
        <target state="translated">Accessibilité</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navActivity">
        <source>Activity</source>
        <target state="translated">Activité</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navAppearance">
        <source>Appearance</source>
        <target state="translated">Apparence</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navCameraMic">
        <source>Camera &amp; Mic</source>
        <target state="translated">Caméra et micro</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navConnections">
        <source>Connections</source>
        <target state="translated">Relations</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navDevices">
        <source>Devices</source>
        <target state="translated">Appareils</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navDownloadApp">
        <source>Download app</source>
        <target state="translated">Télécharger l'application</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navEncryption">
        <source>Encryption</source>
        <target state="translated">Cryptage</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navGroupAccount">
        <source>Account</source>
        <target state="translated">Compte</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navGroupApp">
        <source>App</source>
        <target state="translated">Application</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navGroupAppearance">
        <source>Appearance</source>
        <target state="translated">Apparence</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navGroupPrivacySecurity">
        <source>Privacy &amp; Security</source>
        <target state="translated">Confidentialité et sécurité</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navPlugins">
        <source>Plugins</source>
        <target state="translated">Plugins</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navPrivacy">
        <source>Privacy</source>
        <target state="translated">Confidentialité</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navProfile">
        <source>Profile</source>
        <target state="translated">Profil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navProfileTheme">
        <source>Profile theme</source>
        <target state="translated">Thème du profil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navScanSignInQr">
        <source>Scan sign-in QR</source>
        <target state="translated">Scanner le QR de connexion</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navSecurity">
        <source>Security</source>
        <target state="translated">Sécurité</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navSystem">
        <source>System</source>
        <target state="translated">Système</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.navTheme">
        <source>Theme</source>
        <target state="translated">Thème</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.ocPfBodyBackground1a1030">
        <source>.oc-pf-body { background: #1a1030; }</source>
        <target state="translated">.oc-pf-body { arrière-plan : #1a1030 ; }</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.pngJpegWebpOrAnimatedGif">
        <source>PNG, JPEG, WebP, or animated GIF.</source>
        <target state="translated">PNG, JPEG, WebP ou GIF animé.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.prebuiltColourThemesAndProfileCard">
        <source>Prebuilt colour themes and profile-card themes, reviewed and bundled with the app. Installing one recolours everything without writing any CSS.</source>
        <target state="translated">Thèmes de couleurs et thèmes de cartes de profil prédéfinis, révisés et intégrés à l'application. En installer un recolore tout sans écrire de CSS.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.preview">
        <source>Preview</source>
        <target state="translated">Aperçu</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.profileThemeCss">
        <source>Profile theme (CSS)</source>
        <target state="translated">Thème de profil (CSS)</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.pronouns">
        <source>Pronouns</source>
        <target state="translated">Pronoms</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.replacesTheOrangchatMarkForYou">
        <source>Replaces the OrangChat mark for you everywhere you are signed in - browser tab, in-app branding, and the desktop window and tray. Nobody else sees it.</source>
        <target state="translated">Remplace la marque OrangChat pour vous partout où vous êtes connecté : onglet du navigateur, marque dans l'application, fenêtre et barre d'état du bureau. Personne d'autre ne le voit.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.restyleTheAppForYourselfPaste">
        <source>Restyle the app for yourself - paste CSS below or upload a .css file. It applies the moment you save, and it outranks the built-in theme, so overriding a design token (the --oc-* variables) is enough to recolour everything. Download the default stylesheet to see the full list.</source>
        <target state="translated">Changez le style de l'application par vous-même : collez le CSS ci-dessous ou téléchargez un fichier .css. Il s'applique au moment où vous enregistrez et surpasse le thème intégré, donc remplacer un jeton de conception (les variables --oc-*) suffit pour tout recolorer. Téléchargez la feuille de style par défaut pour voir la liste complète.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.rootOcPrimary22c55e">
        <source>:root { --oc-primary: #22c55e; }</source>
        <target state="translated">:root { --oc-primary: #22c55e; }</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.savedExclamation">
        <source>Saved!</source>
        <target state="translated">Sauvé !</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.saveProfile">
        <source>Save profile</source>
        <target state="translated">Enregistrer le profil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.sectionTitleAbout">
        <source>About</source>
        <target state="translated">À propos</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.sectionTitleAccessibility">
        <source>Accessibility</source>
        <target state="translated">Accessibilité</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.sectionTitleActivity">
        <source>Activity</source>
        <target state="translated">Activité</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.sectionTitleAppearance">
        <source>Appearance</source>
        <target state="translated">Apparence</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.sectionTitleCameraMicrophone">
        <source>Camera &amp; Microphone</source>
        <target state="translated">Caméra et micro</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.sectionTitleConnections">
        <source>Connections</source>
        <target state="translated">Relations</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.sectionTitleDevices">
        <source>Devices</source>
        <target state="translated">Appareils</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.sectionTitleDownloadApp">
        <source>Download app</source>
        <target state="translated">Télécharger l'application</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.sectionTitleEncryption">
        <source>Encryption</source>
        <target state="translated">Cryptage</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.sectionTitlePlugins">
        <source>Plugins</source>
        <target state="translated">Plugins</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.sectionTitlePrivacy">
        <source>Privacy</source>
        <target state="translated">Confidentialité</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.sectionTitleProfile">
        <source>Profile</source>
        <target state="translated">Profil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.sectionTitleProfileTheme">
        <source>Profile theme</source>
        <target state="translated">Thème du profil</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.sectionTitleScanSignInQr">
        <source>Scan sign-in QR</source>
        <target state="translated">Scanner le QR de connexion</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.sectionTitleSecurity">
        <source>Security</source>
        <target state="translated">Sécurité</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.sectionTitleSystem">
        <source>System</source>
        <target state="translated">Système</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.sectionTitleTheme">
        <source>Theme</source>
        <target state="translated">Thème</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.settingsSections">
        <source>Settings sections</source>
        <target state="translated">Sections de paramètres</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.signedInAs">
        <source>Signed in as</source>
        <target state="translated">Connecté en tant que</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.signOut">
        <source>Sign out</source>
        <target state="translated">se déconnecter</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.squareImagesWorkBestLeaveEmpty">
        <source>Square images work best. Leave empty for the OrangChat mark.</source>
        <target state="translated">Les images carrées fonctionnent mieux. Laissez vide pour la marque OrangChat.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.status">
        <source>Status</source>
        <target state="translated">Statut</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.styleYourProfileCardHoweverYou">
        <source>Style your profile card however you like - everyone sees it. It's sandboxed: scoped to your card only, no external URLs, and it can't cover or escape the card. The preview above updates live.</source>
        <target state="translated">Personnalisez votre carte de profil comme bon vous semble – tout le monde la voit. Il est en mode bac à sable : limité à votre carte uniquement, sans URL externe, et il ne peut pas couvrir ou échapper à la carte. L'aperçu ci-dessus est mis à jour en direct.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.tellPeopleAboutYourself">
        <source>Tell people about yourself…</source>
        <target state="translated">Parlez de vous aux gens…</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.theme">
        <source>Theme</source>
        <target state="translated">Thème</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.themeNameIsInstalled">
        <source>“{name}” is installed.</source>
        <target state="translated">« {name} » est installé.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.theyThem">
        <source>they/them</source>
        <target state="translated">ils/eux</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.uploadCss">
        <source>Upload CSS</source>
        <target state="translated">Télécharger du CSS</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="userSettingsDialog.username">
        <source>Username</source>
        <target state="translated">Nom d'utilisateur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="verificationNotice.check_one">
        <source>Check them</source>
        <target state="translated">Vérifiez-les</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="verificationNotice.check_other">
        <source>Check people</source>
        <target state="translated">Vérifier les gens</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="verificationNotice.notCheckedYet">
        <source>You asked to check people before messaging them, and you have not checked {who} yet. The message is sitting on this device, locked - it has not been sent anywhere. Scan their code, or compare numbers on a call, and it goes.</source>
        <target state="translated">Vous avez demandé à vérifier les personnes avant de leur envoyer un message et vous n'avez pas encore vérifié {who}. Le message est stocké sur cet appareil, verrouillé – il n’a été envoyé nulle part. Scannez leur code ou comparez les numéros lors d'un appel, et c'est parti.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="verificationNotice.yourMessageIsWaitingNotLost">
        <source>Your message is waiting, not lost</source>
        <target state="translated">Votre message attend, pas perdu</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="verifyDialog.doneEverythingFromHereOnUses">
        <source>Done. Everything from here on uses the new key.</source>
        <target state="translated">Fait. À partir de maintenant, tout utilise la nouvelle clé.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="verifyDialog.everythingSentFromNowOnUses">
        <source>Everything sent from now on uses a new key. Existing messages stay readable, and everyone still in the conversation keeps access.</source>
        <target state="translated">Tout ce qui est envoyé utilise désormais une nouvelle clé. Les messages existants restent lisibles et toutes les personnes encore impliquées dans la conversation conservent leur accès.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="verifyDialog.forgetThatICheckedThem">
        <source>Forget that I checked them</source>
        <target state="translated">Oublie que je les ai vérifiés</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="verifyDialog.makeANewKey">
        <source>Make a new key</source>
        <target state="translated">Créer une nouvelle clé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="verifyDialog.myVerificationCode">
        <source>My verification code</source>
        <target state="translated">Mon code de vérification</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="verifyDialog.pointAtTheirCode">
        <source>Point this at the code on {name} screen. They will find it under the lock at the top of this conversation, or in Settings → Encryption.</source>
        <target state="translated">Pointez-le vers le code sur l'écran {name}. Ils le trouveront sous le cadenas en haut de cette conversation, ou dans Paramètres → Cryptage.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="verifyDialog.replacesTheKeyUsedFromNow">
        <source>Replaces the key used from now on, so a device that has since been removed cannot read anything new. Messages already here stay readable, and nobody is locked out.</source>
        <target state="translated">Remplace la clé utilisée désormais, de sorte qu'un appareil qui a depuis été supprimé ne peut rien lire de nouveau. Les messages déjà présents restent lisibles et personne n'est exclu.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="verifyDialog.scanTheirCode">
        <source>Scan their code</source>
        <target state="translated">Scannez leur code</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="verifyDialog.sendWithoutCheckingThemFirst">
        <source>Send without checking them first</source>
        <target state="translated">Envoyez sans les vérifier au préalable</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="verifyDialog.showMyCode">
        <source>Show my code</source>
        <target state="translated">Montrer mon code</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="verifyDialog.youHaveCheckedName">
        <source>You have checked {name}. They have not checked you yet - have them scan this code now, so it works both ways.</source>
        <target state="translated">Vous avez vérifié {name}. Ils ne vous ont pas encore vérifié - demandez-leur de scanner ce code maintenant, pour qu'il fonctionne dans les deux sens.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="verifyDialog.standingTogetherScanEachOthersCodes">
        <source>Standing together? Scan each other's codes - one scan proves one direction, so do both. Apart, compare the numbers below instead.</source>
        <target state="translated">Être ensemble ? Scannez les codes de chacun - un scan prouve une direction, alors faites les deux. À part, comparez plutôt les chiffres ci-dessous.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="verifyDialog.startAFreshKey">
        <source>Start a fresh key</source>
        <target state="translated">Démarrer une nouvelle clé</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="verifyDialog.startAFreshKeyHere">
        <source>Start a fresh key here</source>
        <target state="translated">Commencez une nouvelle clé ici</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="verifyDialog.their">
        <source>their</source>
        <target state="translated">leur</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="verifyDialog.thisCodeHoldsNothingSecretIt">
        <source>This code holds nothing secret. It is safe for anyone to see; being in the room is what makes scanning it mean something.</source>
        <target state="translated">Ce code n'a rien de secret. Il est sécuritaire pour quiconque de le voir ; être dans la pièce est ce qui donne un sens à la numérisation.</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="videoLightbox.seekVideo">
        <source>Seek video</source>
        <target state="translated">Rechercher une vidéo</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="whatsNewDialog.gotIt">
        <source>Got it</source>
        <target state="translated">J'ai compris</target>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="whatsNewDialog.whatsNew">
        <source>What's new</source>
        <target state="translated">Quoi de neuf</target>
      </trans-unit>
    </body>
  </file>
</xliff>
