{
  "tor": {
    "status": {
      "disabled": "Désactivé",
      "connecting": "Connexion…",
      "connected": "Connecté",
      "failed": "Échec de la connexion"
    },
    "banner": {
      "connecting": "Connexion à Tor en cours — le contenu ne se chargera pas avant qu'il soit prêt.",
      "failed": "Impossible de se connecter à Tor — le contenu est bloqué jusqu'à ce qu'il se connecte.",
      "retry": "Réessayer"
    }
  },
  "common": {
    "loading": "Chargement…",
    "error": "Erreur",
    "success": "Succès",
    "cancel": "Annuler",
    "save": "Enregistrer",
    "delete": "Supprimer",
    "edit": "Modifier",
    "close": "Fermer",
    "back": "Retour",
    "next": "Suivant",
    "refresh": "Actualiser",
    "search": "Rechercher",
    "filter": "Filtrer",
    "clear": "Effacer",
    "submit": "Envoyer",
    "confirm": "Confirmer",
    "copied": "Copié",
    "goBack": "Retour",
    "tryAgain": "Veuillez réessayer.",
    "showLess": "Réduire",
    "readMore": "Lire plus",
    "byAuthor": "par <0>{{name}}</0>",
    "clearSearch": "Effacer la recherche",
    "searching": "Recherche…",
    "searchResultsCount_one": "{{count}} résultat",
    "searchResultsCount_other": "{{count}} résultats",
    "sortAriaLabel": "Ordre de tri",
    "sortTop": "Populaires",
    "sortNew": "Récentes",
    "showHidden": "Afficher les masquées",
    "filtersAriaLabel": "Filtres de recherche",
    "countryFilterAriaLabel": "Filtrer par pays",
    "countrySearchPlaceholder": "Rechercher des pays…",
    "countryNoResults": "Aucun pays trouvé.",
    "countryGlobal": "Mondial",
    "continue": "Continuer",
    "sortDefault": "Par défaut"
  },
  "imageCrop": {
    "title": "Recadrer l’image",
    "reset": "Réinitialiser",
    "hint": "Faites glisser pour repositionner · Pincez ou faites défiler pour zoomer",
    "cancel": "Annuler",
    "processing": "Traitement…",
    "apply": "Appliquer le recadrage"
  },
  "translate": {
    "translate": "Traduire",
    "translating": "Traduction…",
    "showOriginal": "Afficher l'original",
    "error": "Échec de la traduction"
  },
  "nav": {
    "openMenu": "Ouvrir le menu",
    "closeMenu": "Fermer le menu",
    "brandHome": "Accueil de {{appName}}",
    "activity": "Activité",
    "campaigns": "Campagnes",
    "groups": "Groupes",
    "pledge": "Promesse",
    "search": "Rechercher",
    "language": "Langue",
    "dashboard": "Tableau de bord",
    "myDashboard": "Mon tableau de bord",
    "notifications": "Notifications",
    "messages": "Messages",
    "profile": "Profil",
    "settings": "Paramètres",
    "about": "À propos",
    "verify": "Vérifier",
    "privacy": "Confidentialité",
    "safety": "Sécurité",
    "changelog": "Journal des modifications",
    "sourceCode": "Code source",
    "getApp": "Télécharger l'application"
  },
  "messages": {
    "title": "Messages",
    "subtitle": "Vos messages directs privés et chiffrés.",
    "conversations": "Conversations",
    "empty": "Aucun message pour le moment. Les conversations que vous aurez apparaîtront ici.",
    "selectPrompt": "Sélectionnez une conversation pour lire vos messages.",
    "composePlaceholder": "Écrire un message…",
    "send": "Envoyer",
    "sendFailed": "Échec de l'envoi du message",
    "youPrefix": "Vous :",
    "encryptedSent": "Message chiffré",
    "encryptedReceived": "Message chiffré",
    "decryptFailed": "Impossible de déchiffrer ce message.",
    "unsupported": "Votre méthode de connexion actuelle ne prend pas en charge les messages directs chiffrés.",
    "searchConversation": "Rechercher dans la conversation",
    "searchPlaceholder": "Rechercher des messages",
    "noSearchResults": "Aucun message correspondant.",
    "visitProfile": "Voir le profil de {{name}}",
    "muteUser": "Masquer {{name}}",
    "muteDialogTitle": "Masquer {{name}} ?",
    "muteDialogDescription": "Cela ajoutera {{name}} à votre liste de comptes masqués et supprimera cette conversation des Messages. Vous pourrez le retirer de cette liste plus tard.",
    "confirmMute": "Masquer l'utilisateur",
    "mutedToastTitle": "Utilisateur masqué",
    "mutedToastDescription": "{{name}} a été masqué et la conversation a été supprimée.",
    "muteFailed": "Échec du masquage de l'utilisateur",
    "showFriendsOnly": "Afficher les messages des personnes que vous suivez",
    "showAllConversations": "Afficher toutes les conversations",
    "friendsEmpty": "Aucun message des personnes que vous suivez.",
    "translateDialogTitle": "Traduire les messages privés ?",
    "translateDialogDescription": "Les messages reçus seront envoyés au service de traduction configuré. Les messages envoyés ne seront pas traduits. Eranos mémorisera ce choix sur cet appareil.",
    "confirmTranslate": "Traduire les messages",
    "newMessage": "Nouveau message",
    "newMessageTitle": "Nouveau message",
    "recipientLabel": "À",
    "recipientPlaceholder": "Rechercher par nom, NIP-05 ou npub…",
    "recipientHint": "Recherchez quelqu'un pour démarrer une nouvelle conversation.",
    "recipientSearching": "Recherche en cours…",
    "noRecipientResults": "Aucune personne trouvée. Essayez un autre nom, NIP-05 ou npub.",
    "recipientFollowed": "Vous suivez cette personne"
  },
  "auth": {
    "join": "Rejoindre",
    "login": "Se connecter",
    "signup": "S'inscrire",
    "logout": "Se déconnecter",
    "addAccount": "Ajouter un autre compte",
    "createNewAccount": "Créer un compte",
    "loginExisting": "Se connecter avec un compte existant",
    "loginTitle": "Se connecter",
    "connectSignerTitle": "Connecter le signataire",
    "back": "Retour",
    "secretKeyLabel": "Utiliser la clé secrète",
    "nsecPlaceholder": "nsec1…",
    "uploadKeyFile": "Importer un fichier de clé",
    "loggingIn": "Connexion…",
    "loginWithExtension": "Se connecter avec l'extension",
    "useRemoteSigner": "Utiliser un signataire distant",
    "tryAgain": "Réessayer",
    "cancel": "Annuler",
    "openSignerApp": "Ouvrir l'application de signature",
    "enterBunkerManually": "Saisir l'URI bunker manuellement",
    "bunkerPlaceholder": "bunker://…",
    "invalidBunkerFormat": "Format d'URI bunker invalide.",
    "connecting": "Connexion…",
    "connect": "Connecter",
    "waitingForSigner": "En attente de la connexion du signataire…",
    "gettingPublicKey": "Récupération de la clé publique…",
    "errorEnterSecretKey": "Saisissez votre clé secrète.",
    "errorInvalidSecretKey": "Clé secrète invalide. Elle doit commencer par nsec1.",
    "errorLoginFailed": "Impossible de se connecter avec cette clé.",
    "errorFileNoKey": "Le fichier ne contient pas de clé secrète valide.",
    "errorFileRead": "Échec de la lecture du fichier.",
    "errorExtensionFailed": "Échec de la connexion par extension.",
    "errorBunkerConnect": "Échec de la connexion. Vérifiez l'URI bunker.",
    "extensionErrorTitle": "Échec de la connexion par extension"
  },
  "onboarding": {
    "ariaLabel": "Configuration du compte",
    "close": "Fermer",
    "back": "Retour",
    "role": {
      "title": "Qu'est-ce qui vous amène ?",
      "subtitle": "Vous pouvez faire les deux plus tard. Cela nous aide simplement à adapter les prochaines étapes.",
      "creator": {
        "title": "Lancer une campagne",
        "description": "Récoltez du Grin pour une cause qui vous tient à cœur.",
        "finderNote": "Les donateurs envoient du GRIN directement dans votre portefeuille."
      },
      "donor": {
        "title": "Soutenir des campagnes",
        "description": "Soutenez des causes avec du Grin.",
        "finderNote": "Votre don va directement dans le portefeuille de l'organisateur."
      },
      "verifier": {
        "title": "Vérifier des campagnes",
        "description": "Portez-vous garant de campagnes en tant qu'organisation.",
        "finderNote": "Les donateurs voient un badge sur les campagnes en lesquelles vous avez confiance."
      }
    },
    "keygen": {
      "title": "Votre clé est votre identité",
      "description": "Nous allons générer une clé secrète rien que pour vous. C'est le seul moyen de se connecter — pas d'e-mail, pas de mot de passe.",
      "generatingTitle": "Création de votre clé…",
      "generatingDescription": "Cela ne prend qu'un instant.",
      "button": "Générer ma clé"
    },
    "secure": {
      "title": "Sauvegardez votre clé",
      "subtitle": "Téléchargez le fichier et conservez-le en lieu sûr. Un gestionnaire de mots de passe fait l'affaire.",
      "couplingNote": "Cette clé est votre identité sur Eranos. Elle signe vos publications Nostr, vos campagnes et les reçus de don qui comptent dans les totaux des campagnes.",
      "permanenceHeadline": "Cette clé est irrécupérable si vous la perdez.",
      "permanenceBody": "Aucune réinitialisation, aucun service d'assistance, aucune récupération par e-mail. Enregistrez-la avant de continuer.",
      "button": "Télécharger et continuer",
      "downloadFailedTitle": "Échec du téléchargement",
      "downloadFailedDescription": "Impossible de télécharger le fichier de clé. Veuillez le copier manuellement.",
      "secretKeyAriaLabel": "Clé secrète"
    },
    "profile": {
      "title": "Personnalisez-le",
      "subtitle": "Présentez-vous brièvement aux autres. Tout est facultatif, modifiable à tout moment.",
      "campaignTitle": "Mettez un visage sur votre campagne",
      "campaignSubtitle": "Un nom et une photo aident les gens à se connecter à votre campagne.",
      "nameLabel": "Nom affiché",
      "namePlaceholder": "Votre nom",
      "campaignNamePlaceholder": "Titre de la campagne",
      "aboutLabel": "Bio",
      "aboutPlaceholder": "Un mot sur vous…",
      "avatarLabel": "Avatar",
      "uploadAvatar": "Téléverser un avatar",
      "advanced": "Plus",
      "finish": "Terminer",
      "saving": "Enregistrement…",
      "skip": "Passer pour l'instant",
      "imageOnly": "Veuillez sélectionner une image.",
      "imageTooLarge": "Image trop volumineuse (5 Mo max).",
      "uploadFailed": "Échec du téléversement.",
      "publishFailedTitle": "Échec de la configuration du profil",
      "publishFailedDescription": "Votre compte a été créé mais le profil n'a pas pu être enregistré. Vous pourrez le mettre à jour plus tard."
    },
    "verifier": {
      "identity": {
        "title": "Configurez votre organisation",
        "subtitle": "Le nom et le logo sont obligatoires. Le site web et la bannière sont facultatifs.",
        "websiteInvalid": "Saisissez un site web valide commençant par https://",
        "cropAvatar": "Recadrer le logo",
        "cropBanner": "Recadrer la bannière",
        "uploading": "Téléversement de l'image…",
        "clipboardFailed": "Impossible de lire le presse-papiers.",
        "pasteUrlInvalid": "Le presse-papiers ne contient pas d'URL https valide.",
        "pasteUrlFetchFailed": "Impossible de charger cette image. Vérifiez l'URL et réessayez."
      },
      "bio": {
        "title": "Parlez-nous de votre organisation",
        "subtitle": "Une courte description pour votre profil.",
        "label": "À propos de votre organisation",
        "placeholder": "Nous sommes une association à but non lucratif qui…",
        "publishing": "Enregistrement de votre profil…"
      },
      "publishFailedTitle": "Profil non enregistré",
      "publishFailedDescription": "Votre compte est prêt, mais le profil de l'organisation n'a pas pu être publié. Vous pourrez le terminer plus tard depuis les paramètres.",
      "statement": {
        "title": "Publiez votre déclaration de vérificateur",
        "subtitle": "Décrivez comment vous examinez les campagnes avant de vous en porter garant. Publiée publiquement afin que les donateurs puissent faire confiance à votre badge."
      },
      "howto": {
        "title": "Comment vérifier une campagne",
        "subtitle": "Tout est prêt. Voici comment vous porter garant d'une campagne une fois que vous l'avez examinée.",
        "finish": "Voir les campagnes"
      }
    }
  },
  "feed": {
    "indexTagline": "Votre contenu. Votre ambiance. Vos règles.",
    "getApp": {
      "eyebrow": "Télécharger l'application",
      "title": "{{appName}} pour Android",
      "subtitle": "L'expérience {{appName}} complète",
      "download": "Télécharger"
    },
    "compose": {
      "placeholder": "Que se passe-t-il ?"
    },
    "tabs": {
      "follows": "Abonnements",
      "following": "Abonné",
      "global": "Global"
    },
    "empty": {
      "homeAgora": "Moment calme sur Eranos. Les nouvelles campagnes, promesses, dons et publications apparaîtront ici au fur et à mesure.",
      "homeFollowingLoggedIn": "Votre fil d'abonnements est vide. Suivez quelques personnes pour voir ce qu'elles font, ou passez sur Eranos ou Global.",
      "homeFollowingLoggedOut": "Connectez-vous pour voir les publications des personnes que vous suivez.",
      "homeOther": "Rien à afficher. Vérifiez vos connexions aux relais ou réessayez dans un instant.",
      "follows": "Votre fil est vide. Suivez quelques personnes pour voir leurs publications ici.",
      "global": "Aucune publication trouvée. Vérifiez vos connexions aux relais ou revenez bientôt.",
      "browseAgora": "Parcourir le fil Eranos",
      "browseGlobal": "Parcourir le fil Global",
      "discoverPeople": "Découvrir des personnes à suivre",
      "logIn": "Se connecter"
    },
    "modeSwitcher": {
      "agora": "Eranos",
      "allNostr": "Global",
      "following": "Abonnements",
      "ariaLabel": "Mode du fil : {{label}}. Cliquez pour changer.",
      "loginRequired": "Connectez-vous pour voir les publications des personnes que vous suivez"
    },
    "replyContext": {
      "replyingTo": "En réponse à",
      "and": "et",
      "andOthers_one": "et {{count}} autre",
      "andOthers_other": "et {{count}} autres"
    },
    "actions": {
      "reply": "Répondre",
      "repost": "Republier",
      "undoRepost": "Annuler la republication",
      "react": "Réagir",
      "share": "Partager",
      "more": "Plus",
      "linkCopied": "Lien copié dans le presse-papiers"
    }
  },
  "compose": {
    "placeholderDefault": "Quoi de neuf ?",
    "placeholderPoll": "Posez une question…",
    "placeholderCountry": "Que se passe-t-il en {{country}} ?",
    "placeholderCwReason": "Raison de l'avertissement (facultatif)",
    "submitDefault": "Publier !",
    "preview": {
      "edit": "Modifier",
      "previewMode": "Aperçu"
    },
    "poll": {
      "addOption": "Ajouter une option",
      "optionLabel": "Option {{number}}",
      "singleChoice": "Choix unique",
      "multipleChoice": "Choix multiple",
      "backToPost": "Retour à la publication",
      "publishing": "Publication...",
      "publish": "Publier le sondage",
      "published": "Sondage publié !",
      "publishFailed": "Échec de la publication du sondage."
    },
    "voice": {
      "cancel": "Annuler",
      "send": "Envoyer",
      "sending": "Envoi...",
      "sentTitle": "Message vocal envoyé !",
      "sentBody": "Votre message vocal a été publié.",
      "sendFailed": "Échec de l'envoi du message vocal.",
      "micDeniedTitle": "Accès au microphone refusé",
      "micDeniedBody": "Veuillez autoriser l'accès au microphone pour enregistrer des messages vocaux.",
      "voiceMessage": "Message vocal"
    },
    "toolbar": {
      "attachFile": "Joindre un fichier",
      "emojiGif": "Emoji / GIF",
      "more": "Plus",
      "poll": "Sondage",
      "spoiler": "Spoiler",
      "emoji": "Emoji",
      "stickers": "Autocollants"
    },
    "submit": {
      "posting": "Publication...",
      "uploadFailed": "Échec du téléversement",
      "uploadFailedBody": "Impossible de téléverser le fichier.",
      "publishFailed": "Échec de la publication.",
      "posted": "Publié !",
      "replyPublished": "Votre réponse a été publiée.",
      "quotePublished": "Votre citation a été publiée.",
      "notePublished": "Votre note a été publiée."
    },
    "destination": {
      "ariaHelp": "Quelle est la différence entre une publication globale et communautaire ?",
      "ariaTrigger": "Destination de la publication",
      "global": "Global",
      "globalExplainer": "Une publication normale visible par tous sur Nostr. N'importe qui, n'importe où peut la voir.",
      "community": "Votre communauté nationale",
      "communityExplainer": "Affichée dans le fil local du pays aux côtés des publications des voisins. Idéal pour les actualités communautaires.",
      "chooseAnother": "Choisir un autre pays…",
      "searchPlaceholder": "Rechercher des pays...",
      "noResults": "Aucun pays trouvé.",
      "isDefault": "{{name}} est votre destination par défaut",
      "globalIsDefault": "Global est votre destination par défaut",
      "thisIsDefault": "C'est votre destination par défaut",
      "setAsDefault": "Définir par défaut",
      "defaultUpdated": "Destination par défaut mise à jour",
      "defaultUpdatedCountry": "Les nouvelles publications iront vers {{name}} par défaut.",
      "defaultUpdatedGlobal": "Les nouvelles publications seront globales par défaut.",
      "label": "Publier vers"
    }
  },
  "replyModal": {
    "title": {
      "newPoll": "Nouveau sondage",
      "newComment": "Nouveau commentaire",
      "commentOnProfile": "Commenter le profil",
      "replyToPost": "Répondre à la publication",
      "quotePost": "Citer la publication",
      "newPost": "Nouvelle publication"
    },
    "placeholder": {
      "writeComment": "Écrire un commentaire...",
      "writeReply": "Écrire une réponse...",
      "addComment": "Ajouter un commentaire...",
      "whatsHappening": "Que se passe-t-il ?"
    },
    "blueskyDisclaimer": "Les utilisateurs de Bluesky ne peuvent pas vous voir car ils ne sont pas vraiment décentralisés."
  },
  "postDetail": {
    "repliesHeading": "Réponses",
    "commentsHeading": "Commentaires",
    "replyCount_one": "réponse",
    "replyCount_other": "réponses",
    "commentCount_one": "commentaire",
    "commentCount_other": "commentaires"
  },
  "noteCard": {
    "botAccount": "Compte bot",
    "showLess": "Réduire",
    "readMore": "Lire plus",
    "reacted": "a réagi",
    "reposted": "a republié",
    "voted": "a voté",
    "stream": {
      "untitled": "Diffusion sans titre",
      "live": "EN DIRECT",
      "ended": "TERMINÉ",
      "planned": "PRÉVU",
      "unknown": "INCONNU"
    },
    "kindHeader": {
      "photo": {
        "action": "a partagé une",
        "noun": "photo"
      },
      "encryptedMessage": {
        "action": "a envoyé un",
        "noun": "message chiffré"
      },
      "letter": {
        "action": "a envoyé une",
        "noun": "lettre"
      },
      "treasureHidCreated": "a caché un",
      "treasureHidUpdated": "a mis à jour un",
      "treasureNoun": "trésor",
      "treasureFound": "a trouvé un",
      "deckCreated": "a créé un",
      "deckUpdated": "a mis à jour un",
      "deckFallback": "a partagé un",
      "deckNoun": "jeu",
      "emojiPackCreated": "a créé un",
      "emojiPackUpdated": "a mis à jour un",
      "emojiPackFallback": "a partagé un",
      "emojiPackNoun": "pack d'emojis",
      "groupCreated": "a créé un",
      "groupUpdated": "a mis à jour un",
      "groupFallback": "a partagé un",
      "groupNoun": "groupe",
      "campaignLaunched": "a lancé une",
      "campaignUpdated": "a mis à jour une",
      "campaignFallback": "a partagé une",
      "campaignNoun": "campagne",
      "badgeAwarded": "a décerné un",
      "badgeNoun": "badge",
      "badgeCreated": "a créé un",
      "badgeDefUpdated": "a mis à jour un",
      "badgesNoun": "badges",
      "badgesCreatedTheir": "a créé ses",
      "badgesUpdatedTheir": "a mis à jour ses",
      "streamingLive": "est en direct",
      "streamed": "a diffusé",
      "zapstoreAppPublished": "a publié une application Zapstore",
      "zapstoreAppUpdated": "a mis à jour une application Zapstore",
      "zapstoreReleasePublished": "a publié une sortie Zapstore",
      "zapstoreReleaseUpdated": "a mis à jour une sortie Zapstore",
      "zapstoreAssetPublished": "a publié un actif Zapstore",
      "appPublished": "a publié une application",
      "appUpdated": "a mis à jour une application",
      "repoCreated": "a créé un",
      "repoUpdated": "a mis à jour un",
      "repoFallback": "a partagé un",
      "repoNoun": "dépôt",
      "patchSubmitted": "a soumis un",
      "patchNoun": "correctif",
      "prOpened": "a ouvert une",
      "prNoun": "pull request",
      "nipProposed": "a proposé un",
      "nipUpdated": "a mis à jour un",
      "nipNoun": "NIP",
      "nsiteDeployed": "a déployé un",
      "nsiteRedeployed": "a redéployé un",
      "nsiteNoun": "nsite",
      "pledgeCreated": "a créé une",
      "pledgeUpdated": "a mis à jour une",
      "pledgeNoun": "promesse",
      "followPackCreated": "a créé un",
      "followPackUpdated": "a mis à jour un",
      "followPackFallback": "a partagé un",
      "followPackNoun": "pack de suivis",
      "followSetCreated": "a créé un",
      "followSetUpdated": "a mis à jour un",
      "followSetFallback": "a partagé un",
      "followSetNoun": "ensemble de suivis"
    }
  },
  "noteMoreMenu": {
    "title": "Options de la publication",
    "viewPost": "Voir les détails",
    "viewEventJson": "Voir le JSON de l'événement",
    "bookmark": "Mettre en favori",
    "removeBookmark": "Retirer des favoris",
    "addToList": "Ajouter à une liste",
    "addToSidebar": "Ajouter à la barre latérale",
    "removeFromSidebar": "Retirer de la barre latérale",
    "pinProfile": "Épingler au profil",
    "unpinProfile": "Désépingler du profil",
    "pinCountry": "Épingler au fil du pays",
    "unpinCountry": "Désépingler du fil du pays",
    "muteConversation": "Mettre la conversation en sourdine",
    "muteCampaign": "Mettre la campagne en sourdine",
    "mute": "Mettre @{{name}} en sourdine",
    "unmute": "Réactiver @{{name}}",
    "report": "Signaler @{{name}}",
    "reportToGroup": "Signaler la publication au groupe",
    "removeFromGroup": "Retirer du groupe",
    "delete": "Supprimer la publication",
    "close": "Fermer",
    "encryptedContent": "Contenu chiffré",
    "toast": {
      "removedFromSidebar": "Retiré de la barre latérale",
      "addedToSidebar": "Ajouté à la barre latérale",
      "pinned": "Épinglé au profil",
      "unpinned": "Désépinglé du profil",
      "pinFailed": "Échec de la mise à jour des publications épinglées",
      "countryPinned": "Épinglé au fil du pays",
      "countryUnpinned": "Désépinglé du fil du pays",
      "countryPinFailed": "Échec de l'épinglage au fil du pays",
      "countryUnpinFailed": "Échec du désépinglage du fil du pays",
      "convoMuted": "Conversation en sourdine",
      "convoMuteFailed": "Échec de la mise en sourdine de la conversation",
      "muted": "@{{name}} en sourdine",
      "unmuted": "@{{name}} réactivé",
      "muteFailed": "Échec de la mise en sourdine de l'utilisateur",
      "unmuteFailed": "Échec de la réactivation de l'utilisateur",
      "postDeleted": "Publication supprimée",
      "deleteFailed": "Échec de la suppression de la publication",
      "eventBroadcast": "Événement diffusé aux relais",
      "broadcastFailed": "Échec de la diffusion de l'événement",
      "copied": "{{label}} copié dans le presse-papiers"
    },
    "deleteDialog": {
      "title": "Supprimer la publication ?",
      "description": "Cela demandera la suppression aux relais. Certains relais peuvent encore conserver une copie de l'événement original. Cette action est irréversible.",
      "cancel": "Annuler",
      "delete": "Supprimer",
      "deleting": "Suppression..."
    },
    "jsonDialog": {
      "title": "Détails de l'événement",
      "eventId": "ID de l'événement",
      "eventIdLabel": "ID de l'événement",
      "rawJson": "JSON brut",
      "eventJsonLabel": "JSON de l'événement",
      "broadcast": "Diffuser l'événement",
      "broadcasting": "Diffusion..."
    }
  },
  "policyPages": {
    "privacy": {
      "seoTitle": "Politique de confidentialité",
      "seoDescription": "Politique de confidentialité de {{appName}} — comment vos données sont gérées sur le réseau Nostr",
      "title": "Politique de confidentialité"
    },
    "csae": {
      "seoTitle": "Politique de protection de l'enfance",
      "seoDescription": "Politique de {{appName}} sur l'exploitation et les abus sexuels d'enfants (CSAE) — notre engagement pour la sécurité des enfants sur le réseau Nostr",
      "title": "Politique de protection de l'enfance"
    },
    "donorGuide": {
      "seoTitle": "Guide du donateur",
      "seoDescription": "Comment fonctionnent les dons sur {{appName}} et comment protéger votre vie privée.",
      "title": "Guide du donateur",
      "subtitle": "Du vrai Grin, envoyé directement. Tout le parcours en une courte page."
    },
    "recipientGuide": {
      "seoTitle": "Guide du bénéficiaire",
      "seoDescription": "Comment recevoir des dons sur {{appName}} et retirer des fonds en privé.",
      "title": "Guide du bénéficiaire",
      "subtitle": "Choisissez ce que vous acceptez, recevez des dons, retirez."
    },
    "changelog": {
      "seoTitle": "Journal des modifications",
      "seoDescription": "Quoi de neuf dans {{appName}}",
      "title": "Journal des modifications",
      "loadError": "Échec du chargement du journal.",
      "empty": "Aucune version pour l'instant.",
      "pastReleases": "Versions précédentes",
      "showLess": "Réduire",
      "readMore": "Lire plus",
      "preReleaseLabel": "Version préliminaire",
      "preReleaseBody": "Cette version contient des modifications non incluses dans une publication officielle.",
      "viewUnreleased": "Voir les modifications non publiées",
      "categories": {
        "Added": "Ajouté",
        "Changed": "Modifié",
        "Deprecated": "Déprécié",
        "Removed": "Supprimé",
        "Fixed": "Corrigé",
        "Security": "Sécurité"
      }
    }
  },
  "about": {
    "seoTitle": "À propos",
    "seoDescription": "Comment fonctionne {{appName}} : connecter les bénéficiaires à un financement inarrêtable grâce à Grin et Nostr.",
    "hero": {
      "eyebrow": "À propos de {{appName}}",
      "headlinePart1": "Comment",
      "headlineAppName": "{{appName}}",
      "headlinePart2": "fonctionne.",
      "body": "{{appName}} est une plateforme de dons résistante à la censure construite sur Nostr et Grin. Pas de comptes bancaires gelés. Pas de fermetures décidées par une entreprise. Juste un soutien direct de personnes qui croient en votre cause.",
      "trustChips": {
        "decentralized": "Décentralisée",
        "openSource": "Code ouvert",
        "censorshipResistant": "Résistante à la censure"
      },
      "ctaDonor": "Lire le Guide du donateur",
      "ctaRecipient": "Lire le Guide du bénéficiaire",
      "sampleCard": {
        "countryName": "Venezuela",
        "public": "Public",
        "imageAlt": "Vénézuéliens lors d'une veillée aux chandelles tenant une pancarte « Liberen a todos los presos políticos · ¡Cese la represión! »",
        "orgName": "Venezolanos Libres",
        "title": "Libérer les prisonniers politiques du Venezuela",
        "description": "Défense juridique et soutien familial pour plus de 800 prisonniers politiques détenus par le régime Maduro.",
        "raised": "récoltés",
        "ofGoal": "sur 10 000 $",
        "donorsLine": "247 donateurs · 12 pays",
        "donate": "Donner du Grin"
      }
    },
    "howItWorks": {
      "eyebrow": "Comment ça marche",
      "title": "Trois étapes. Aucun intermédiaire.",
      "lede": "Pas de banques, pas de frontières, pas d'autorisation.",
      "step1": {
        "imageAlt": "Une clé cryptographique orange lumineuse flottant dans l'espace sombre, symbolisant l'identité auto-souveraine",
        "title": "Les bénéficiaires s'inscrivent en quelques secondes.",
        "body": "Pas de banque. Pas de paperasse. Pas d'approbation. Un bénéficiaire crée un compte sur {{appName}}, ajoute à sa campagne l'adresse de réception de son propre portefeuille Grin et peut accepter du soutien depuis n'importe où dans le monde."
      },
      "step2": {
        "imageAlt": "Une pièce Grin lumineuse volant dans les airs au-dessus d'une carte du monde sombre, symbolisant un paiement transfrontalier instantané",
        "title": "Les donateurs envoient du Grin directement.",
        "body": "Les donateurs paient depuis n'importe quel portefeuille Grin, soit via la page de paiement GoblinPay de la campagne, soit directement à son adresse Slatepack grin1. {{appName}} ne touche jamais à l'argent. La transaction va du portefeuille du donateur au portefeuille du bénéficiaire."
      },
      "step3": {
        "imageAlt": "Une main ouverte avec une lumière orange chaleureuse rayonnant de la paume, symbolisant la réception et l'autonomie",
        "title": "Le soutien arrive là où il compte.",
        "body": "Les fonds arrivent directement au bénéficiaire. Il garde la garde, il garde le contrôle. Déplacez-les, échangez-les ou dépensez-les ; les guides ci-dessous expliquent comment le faire en privé et en toute sécurité."
      }
    },
    "faq": {
      "eyebrow": "Questions",
      "title": "Foire aux questions.",
      "chapter1": {
        "label": "Pour commencer",
        "description": "Ce qu'est Eranos, qui l'a construit et ce qu'il coûte."
      },
      "chapter2": {
        "label": "Dons en Grin",
        "description": "Comment fonctionnent les paiements, pourquoi Grin, ce qui reste privé et les compromis."
      },
      "chapter3": {
        "label": "À propos de Nostr",
        "description": "Le protocole ouvert sur lequel Eranos est bâti, et comment fonctionne votre compte."
      }
    },
    "guides": {
      "eyebrow": "Guides",
      "title": "Choisissez votre camp.",
      "lede": "Que vous envoyiez ou receviez, apprenez à le faire en sécurité et en privé.",
      "donor": {
        "imageAlt": "Manifestants encapuchonnés marchant dans une rue de ville européenne au crépuscule, tenant des fusées rouges allumées et des banderoles « FREEDOM » et « LIBERTAD »",
        "role": "Pour les donateurs",
        "title": "Soutenez les causes que les banques ne soutiennent pas.",
        "description": "Envoyez du Grin directement à des bénéficiaires et à des mouvements partout dans le monde, sans demander la permission à un processeur de paiement.",
        "bullet1": "Payez depuis n'importe quel portefeuille Grin, comme Goblin ou grin-wallet.",
        "bullet2": "Les dons arrivent directement au bénéficiaire. Pas de dépositaire, pas d'intermédiaire.",
        "cta": "Lire le Guide du donateur"
      },
      "recipient": {
        "imageAlt": "Vue aérienne de milliers de manifestants rassemblés la nuit sur une place de ville avec des fusées rouges allumées, sous une banderole « UNITY IN DARKNESS » projetée sur les bâtiments environnants",
        "role": "Pour les bénéficiaires",
        "title": "Obtenez un financement sans autorisation.",
        "description": "Recevez un soutien direct de personnes qui croient en votre cause. Pas de compte bancaire, pas de formulaire de demande, pas d'entreprise au milieu.",
        "bullet1": "Commencez à recevoir des dons dès votre inscription.",
        "cta": "Lire le Guide du bénéficiaire"
      },
      "stillStuck": "Toujours bloqué ?",
      "followTeam": "Suivez Team Soapbox sur Nostr",
      "stillStuckSuffix": ". Nous y traitons les questions."
    }
  },
  "forms": {
    "required": "Obligatoire",
    "recommended": "Recommandé",
    "optional": "Facultatif",
    "title": "Titre",
    "country": "Pays",
    "tags": "Étiquettes",
    "coverImage": "Image de couverture",
    "description": "Description",
    "timezone": "Fuseau horaire",
    "countrySearchPlaceholder": "Rechercher des pays",
    "imageDropzone": "Cliquez ou faites glisser une image ici",
    "countryClearAria": "Effacer le pays",
    "flagOfAria": "Drapeau de {{name}}",
    "countryHint": "Publie <0>i: iso3166:{{code}}</0> pour le tri par pays.",
    "publishing": "Publication…",
    "uploadingCover": "Téléversement de la couverture…"
  },
  "organizationContext": {
    "attachedToGroup": "Attaché au groupe",
    "groupFallback": "Groupe",
    "editSubtext": "Les modifications resteront liées à l'activité officielle de ce groupe.",
    "malformedParam": "Impossible de lire le groupe dans le lien. Publication sous votre compte.",
    "checkingPermissions": "Vérification des autorisations du groupe…",
    "unauthorized": "Vous n'êtes ni fondateur ni modérateur de ce groupe. Publication sous votre compte.",
    "publishingAsGroup": "Publication en tant que groupe"
  },
  "notFound": {
    "title": "404 - Page introuvable",
    "description": "La page que vous cherchez est introuvable.",
    "heading": "Cette page n'existe pas.",
    "goHome": "Accueil"
  },
  "pledges": {
    "list": {
      "seoTitle": "Promesses",
      "seoTitleWithCountry": "Promesses — {{country}}",
      "seoDescription": "Financez des actions, des preuves ou des résultats que vous voulez inspirer.",
      "heroKicker": "Promesse",
      "heroHeading": "Inspirez le changement",
      "heroHeadingLine2": "que vous voulez voir.",
      "heroBody": "Financez des actions concrètes, des preuves et des résultats. Les gens répondent par des soumissions, et la communauté récompense le travail qui fait avancer l'objectif.",
      "openCount_one": "promesse ouverte maintenant",
      "openCount_other": "promesses ouvertes maintenant",
      "createPledge": "Créer une promesse",
      "loginToCreate": "Connectez-vous pour créer une promesse",
      "myPledges": "Mes promesses",
      "myPledgesTagline": "Les promesses que vous avez créées.",
      "featuredPledges": "Promesses en vedette",
      "featuredPledgesTagline": "Promesses mises en avant par l'équipe {{appName}}.",
      "allPledges": "Promesses",
      "allPledgesTagline": "Sélectionnées par les modérateurs. Recherchez ou triez pour parcourir toutes les promesses.",
      "sectionActive": "Promesses actives",
      "sectionUpcoming": "Promesses à venir",
      "sectionPast": "Promesses passées",
      "sectionDefault": "Promesses",
      "sectionTagline": "Aidez à financer les actions qui valent la peine d'être menées.",
      "sortAriaLabel": "Trier",
      "sortBy": "Trier par",
      "sortRecent": "Plus récent",
      "sortBounty": "Plus grosse promesse",
      "sortDeadline": "Échéance proche",
      "sortDeadlinePast": "Récemment terminée",
      "filterAriaLabel": "Filtrer par pays",
      "countrySearchPlaceholder": "Rechercher…",
      "noResults": "Aucun résultat trouvé.",
      "global": "Global",
      "dividerUpcoming": "À venir",
      "dividerPast": "Passées",
      "showLess": "Réduire",
      "showMore": "Afficher plus ({{count}} de plus)",
      "emptyTitle": "Aucune promesse pour l'instant",
      "emptyHint": "Soyez le premier à créer une promesse.",
      "emptyHintCountry": "Soyez le premier à créer une promesse pour {{country}}.",
      "searchPlaceholder": "Rechercher des promesses…",
      "searchAriaLabel": "Rechercher des promesses",
      "noMatch": "Aucune promesse ne correspond à « {{query}} »",
      "noMatchHint": "Essayez un autre terme de recherche, ou effacez la recherche.",
      "needsReview": "À examiner",
      "needsReviewDesc": "Promesses {{appName}} qui n'ont pas encore été mises en avant ou masquées. Élevez-en une dans la sélection Mises en avant ou masquez-la.",
      "needsReviewEmpty": "Rien en attente d'examen.",
      "hidden": "Masquées",
      "hiddenDesc": "Promesses supprimées de la découverte publique. Utilisez le menu en kebab d'une carte pour les démasquer.",
      "hiddenEmpty": "Aucune promesse n'est actuellement masquée."
    },
    "card": {
      "ended": "Terminée",
      "pledged": "Promis",
      "byAuthor": "par <0>{{name}}</0>",
      "actionsAriaLabel": "Actions de la promesse",
      "deletePledge": "Supprimer la promesse",
      "copyLink": "Copier le lien",
      "linkCopied": "Lien copié",
      "linkCopyFailed": "Échec de la copie du lien",
      "confirmDelete": "Supprimer cette promesse ? Cette action est irréversible.",
      "deleted": "Promesse supprimée",
      "deletedContent": "Promesse supprimée",
      "deleteFailed": "Échec de la suppression de la promesse"
    },
    "create": {
      "seoTitle": "Créer une promesse",
      "seoDescription": "Créez une promesse de donateur pour inspirer des actions concrètes sur {{appName}}.",
      "loginGateTitle": "Connectez-vous pour créer une promesse",
      "loginGateBody": "Les promesses sont des événements Nostr signés. Vous avez besoin d'une connexion Nostr pour en publier une.",
      "heading": "Créer une promesse",
      "title": "Titre",
      "titlePlaceholder": "Documenter un nettoyage de plage",
      "country": "Pays",
      "countryPlaceholder": "Rechercher des pays",
      "tags": "Étiquettes",
      "coverImage": "Image de couverture",
      "description": "Description",
      "descriptionPlaceholder": "Expliquez l'action, la preuve ou le résultat que vous souhaitez inspirer, ce que les soumissions devraient inclure, et comment vous prévoyez de les évaluer...",
      "pledge": "Promesse",
      "pledgeAmountPlaceholder": "100",
      "deadline": "Échéance",
      "timezone": "Fuseau horaire",
      "timezoneNote": "Les heures de début et d'échéance seront interprétées dans ce fuseau horaire.",
      "submit": "Créer la promesse",
      "altText": "Promesse {{appName}} : {{title}}",
      "successToast": "Promesse créée",
      "errorToast": "Impossible de créer la promesse",
      "errorLoginRequired": "Vous devez être connecté pour créer une promesse.",
      "errorTitleRequired": "Le titre est obligatoire.",
      "errorDescriptionRequired": "La description est obligatoire.",
      "errorPledgeRequired": "Le montant de la promesse est obligatoire.",
      "errorPledgeInvalid": "Le montant de la promesse doit être un montant positif en USD.",
      "errorPriceUnavailable": "En attente du taux de change pour calculer le montant de la promesse.",
      "errorCoverInvalid": "L'image de couverture doit être une URL https:// valide.",
      "errorDeadlinePast": "L'échéance ne peut pas être dans le passé.",
      "wizard": {
        "titleStepTitle": "Nommez votre promesse",
        "titleStepSubtitle": "Une demande claire et une courte explication de ce que vous financerez.",
        "pledgeStepTitle": "Définissez votre promesse",
        "pledgeStepSubtitle": "Combien vous paierez, en USD, et une échéance facultative.",
        "coverStepTitle": "Ajoutez une image de couverture",
        "coverStepSubtitle": "Une image porte la promesse sur chaque carte.",
        "tagsStepTitle": "Pays et catégories",
        "tagsStepSubtitle": "Aidez les bonnes personnes à trouver votre promesse.",
        "launchNow": "Passer et lancer"
      }
    },
    "detail": {
      "seoTitle": "{{title}} | Promesse {{appName}}",
      "seoFallbackTitle": "Promesse | {{appName}}",
      "deadlineEndedOn": "Terminée le {{date}}",
      "deadlineEndsToday": "Se termine aujourd'hui",
      "deadlineDaysLeft_one": "{{count}} jour restant",
      "deadlineDaysLeft_other": "{{count}} jours restants",
      "deadlineEndsOn": "Se termine le {{date}}",
      "openEnded": "Ouverte sans limite",
      "back": "Retour",
      "backToPledges": "Retour aux promesses",
      "loadingPledge": "Chargement de la promesse…",
      "pledge": "Promesse",
      "byAuthor": "par <0>{{name}}</0>",
      "submitLabel": "Soumettre",
      "linkCopied": "Lien copié dans le presse-papiers",
      "pinnedToast": "Épinglé à la promesse",
      "unpinnedToast": "Désépinglé de la promesse",
      "pinFailed": "Échec de la mise à jour des épingles de la promesse",
      "submissions": "Soumissions",
      "submissionCount_one": "{{count}} soumission",
      "submissionCount_other": "{{count}} soumissions",
      "submissionPlaceholder": "Partagez des preuves, des justificatifs ou un travail terminé...",
      "noSubmissionsTitle": "Aucune soumission pour l'instant",
      "noSubmissionsHint": "Soyez le premier à répondre avec des preuves, des justificatifs ou un travail terminé.",
      "funded": "financé",
      "ofPledged": "sur {{amount}} promis",
      "share": "Partager",
      "storyHeading": "La promesse",
      "storyEmpty": "Le promettant n'a pas encore écrit de détails pour cette promesse."
    }
  },
  "groups": {
    "list": {
      "seoTitle": "Groupes",
      "seoDescription": "Découvrez et rejoignez des groupes sur Nostr",
      "heroKicker": "Groupes",
      "heroHeading": "La force",
      "heroHeadingLine2": "du nombre.",
      "heroBody": "Créez des groupes, rassemblez des membres et suivez ce que font vos espaces.",
      "createGroup": "Créer un groupe",
      "createGroupLoginTitle": "Connectez-vous pour créer un groupe",
      "createGroupLoginBody": "Créer un groupe publie un événement Nostr depuis votre compte.",
      "myGroups": "Mes groupes",
      "myGroupsTagline": "Les groupes que vous avez fondés, modérez ou suivez.",
      "featuredGroups": "Groupes mis en avant",
      "featuredGroupsTagline": "Des groupes remarquables qui méritent votre attention.",
      "allGroups": "Groupes",
      "allGroupsTagline": "Sélectionnés par les modérateurs. Recherchez ou triez pour parcourir tous les groupes.",
      "loginToSeeTitle": "Connectez-vous pour voir vos groupes",
      "loginToSeeBody": "Les groupes que vous avez fondés ou modérés apparaîtront ici.",
      "noGroupsTitle": "Aucun groupe pour l'instant",
      "noGroupsBody": "Créez votre propre groupe pour commencer à coordonner des campagnes, des promesses et des événements avec vos proches.",
      "noFeaturedTitle": "Aucun groupe mis en avant pour l'instant",
      "noFeaturedBody": "Les modérateurs de {{appName}} mettent en avant les groupes remarquables ici. Revenez bientôt.",
      "connectingRelays": "Connexion aux relais…",
      "showLess": "Réduire",
      "showMore": "Afficher {{count}} de plus",
      "needsReview": "À examiner",
      "needsReviewDesc": "Groupes {{appName}} qui n'ont pas encore été mis en avant ou masqués. Élevez-en un dans la sélection Mis en avant ou masquez-le.",
      "needsReviewEmpty": "Rien en attente d'examen.",
      "hidden": "Masqués",
      "hiddenDesc": "Groupes supprimés de la découverte publique. Utilisez le menu en kebab d'une carte pour les démasquer.",
      "hiddenEmpty": "Aucun groupe n'est actuellement masqué.",
      "tickerCampaignsRaised_one": "récolté sur la chaîne dans {{count}} campagne",
      "tickerCampaignsRaised_other": "récolté sur la chaîne dans {{count}} campagnes",
      "tickerFeaturedGroups_one": "groupe mis en avant sur Nostr",
      "tickerFeaturedGroups_other": "groupes mis en avant sur Nostr",
      "tickerCountries_one": "pays publiant aujourd'hui",
      "tickerCountries_other": "pays publiant aujourd'hui",
      "searchPlaceholder": "Rechercher des groupes…",
      "searchAriaLabel": "Rechercher des groupes",
      "noMatch": "Aucun groupe ne correspond à « {{query}} »",
      "noMatchHint": "Essayez un autre terme de recherche, ou effacez la recherche."
    },
    "create": {
      "seoTitleCreate": "Créer un groupe",
      "seoTitleEdit": "Modifier le groupe",
      "seoDescriptionCreate": "Démarrez un nouveau groupe sur {{appName}}.",
      "seoDescriptionEdit": "Mettez à jour votre groupe sur {{appName}}.",
      "loginGateTitle": "Connectez-vous pour démarrer un groupe",
      "loginGateBody": "Les groupes sont des événements Nostr signés. Vous avez besoin d'une connexion Nostr pour en publier un.",
      "invalidEditTitle": "Lien d'édition invalide",
      "invalidEditBody": "Ce lien d'édition de groupe ne contient pas d'adresse de groupe valide.",
      "startNewGroup": "Démarrer un nouveau groupe",
      "loadingGroup": "Chargement du groupe…",
      "cannotEditTitle": "Le groupe ne peut pas être modifié",
      "cannotEditBody": "Seul le fondateur de ce groupe peut le mettre à jour.",
      "headingCreate": "Créer un groupe",
      "headingEdit": "Modifier le groupe",
      "name": "Nom",
      "namePlaceholder": "ex. La Garde de l'Arbitre",
      "urlPreview": "Aperçu de l'URL :",
      "urlPlaceholder": "nom-de-votre-groupe",
      "urlKeptOriginal": "(conservé de l'original)",
      "description": "Description",
      "descriptionPlaceholder": "De quoi parle ce groupe ?",
      "country": "Pays",
      "countryPlaceholder": "Rechercher des pays",
      "tags": "Étiquettes",
      "tagsPlaceholder": "entraide, actus-locales, droits-numériques",
      "coverImage": "Image de couverture",
      "moderators": "Modérateurs",
      "moderatorsCount": "Modérateurs ({{count}})",
      "removeModeratorAria": "Retirer {{name}}",
      "submitCreate": "Créer le groupe",
      "submitEdit": "Mettre à jour le groupe",
      "creating": "Création…",
      "updating": "Mise à jour…",
      "uploadingCover": "Téléversement de la couverture…",
      "altText": "Groupe : {{name}}",
      "successCreate": "Groupe créé !",
      "successEdit": "Groupe mis à jour !",
      "errorTitleCreate": "Impossible de créer le groupe",
      "errorTitleEdit": "Impossible de mettre à jour le groupe",
      "errorLoginRequired": "Vous devez être connecté pour créer un groupe.",
      "errorEditLoadFailed": "Impossible de charger le groupe pour modification.",
      "errorEditNotOwner": "Seul le fondateur du groupe peut le modifier.",
      "errorNameRequired": "Le nom est obligatoire.",
      "errorNameInvalid": "Le nom doit contenir des lettres ou des chiffres pour qu'une URL de groupe puisse être créée.",
      "errorEditLatestMissing": "Impossible de trouver la dernière version de ce groupe à mettre à jour.",
      "errorCoverInvalid": "L'image de couverture doit être une URL https:// valide.",
      "errorSlugCollision": "Vous avez déjà un groupe avec l'identifiant « {{slug}} ». Choisissez un autre nom.",
      "wizard": {
        "nameStepTitle": "Nommez votre groupe",
        "nameStepSubtitle": "Un nom court et clair que les membres reconnaîtront.",
        "coverStepTitle": "Ajoutez une image de couverture",
        "coverStepSubtitle": "Une image porte le groupe sur chaque carte.",
        "moderatorsStepTitle": "Invitez des modérateurs",
        "moderatorsStepSubtitle": "Facultatif — ils peuvent approuver le contenu et retirer des membres à vos côtés.",
        "tagsStepTitle": "Pays et catégories",
        "tagsStepSubtitle": "Aidez les bonnes personnes à trouver votre groupe.",
        "launchNow": "Passer et lancer"
      }
    },
    "detail": {
      "by": "par",
      "byAuthor": "par {{name}}",
      "members": "Membres",
      "viewMembers": "Voir les membres",
      "moreMembers": "+{{count}} de plus",
      "about": "À propos",
      "comments": "Commentaires",
      "comment": "Commentaire",
      "commentNoun_one": "commentaire",
      "commentNoun_other": "commentaires",
      "noCommentsTitle": "Aucun commentaire pour l'instant",
      "noCommentsHint": "Soyez le premier à lancer une discussion.",
      "noMembersFound": "Aucun membre trouvé.",
      "founder": "Fondateur",
      "moderator": "Modérateur",
      "moreActions": "Plus d'actions",
      "editGroup": "Modifier le groupe",
      "deleteGroup": "Supprimer le groupe",
      "officialActivity": "Activité officielle",
      "officialTools": "Outils officiels",
      "startSomething": "Lancer quelque chose",
      "officialToolsDescription": "Donnez à {{name}} une prochaine étape concrète.",
      "launchCampaign": "Lancer une campagne",
      "launchCampaignDescription": "Récolter des fonds avec une page de groupe officielle.",
      "campaign": "Campagne",
      "pledge": "Promesse",
      "pledgeDescription": "Offrir de l'aide sur laquelle on peut agir.",
      "event": "Événement",
      "eventDescription": "Rassembler des soutiens.",
      "untitledEvent": "Événement sans titre",
      "interestedCount_one": "{{count}} personne intéressée",
      "interestedCount_other": "{{count}} personnes intéressées",
      "allDay": "Toute la journée"
    }
  },
  "campaignsCreate": {
    "seoTitleCreate": "Démarrer une campagne",
    "seoTitleEdit": "Modifier la campagne",
    "seoDescriptionCreate": "Lancez une campagne de collecte de fonds sur {{appName}}.",
    "seoDescriptionEdit": "Mettez à jour votre campagne de collecte de fonds sur {{appName}}.",
    "loginGateTitle": "Connectez-vous pour démarrer une campagne",
    "loginGateBody": "Les campagnes sont des événements Nostr signés. Vous avez besoin d'une connexion Nostr pour en publier une.",
    "invalidEditTitle": "Lien d'édition invalide",
    "invalidEditBody": "Ce lien d'édition de campagne ne contient pas d'adresse de campagne valide.",
    "startNewCampaign": "Démarrer une nouvelle campagne",
    "loadingCampaign": "Chargement de la campagne…",
    "cannotEditTitle": "La campagne ne peut pas être modifiée",
    "cannotEditBody": "Seul l'auteur de cette campagne peut la mettre à jour.",
    "headingCreate": "Démarrer une campagne",
    "headingEdit": "Modifier la campagne",
    "title": "Titre",
    "titlePlaceholder": "Sauver la dernière librairie",
    "country": "Pays",
    "countryPlaceholder": "Rechercher des pays",
    "tags": "Étiquettes",
    "tagsPlaceholder": "défense-juridique, entraide, actus-locales",
    "categories": {
      "humanRights": "Droits humains",
      "democracy": "Démocratie",
      "pressFreedom": "Liberté de la presse",
      "politicalPrisoners": "Prisonniers politiques",
      "humanitarianAid": "Aide humanitaire",
      "civilResistance": "Résistance civile",
      "digitalRights": "Droits numériques",
      "antiCorruption": "Lutte contre la corruption",
      "womenGirls": "Femmes et filles",
      "refugees": "Réfugiés et exilés",
      "legalAid": "Aide juridique",
      "emergencyRelief": "Aide d'urgence",
      "animalRights": "Droits des animaux",
      "education": "Éducation",
      "medical": "Médical",
      "community": "Communauté"
    },
    "banner": "Image de bannière",
    "story": "Histoire",
    "storyPlaceholder": "Partagez le contexte, qui en bénéficie et comment les fonds seront utilisés.",
    "goal": "Objectif",
    "goalPlaceholder": "25 000",
    "submitCreate": "Lancer la campagne",
    "submitEdit": "Mettre à jour la campagne",
    "publishing": "Publication…",
    "updating": "Mise à jour…",
    "uploadingBanner": "Téléversement de la bannière…",
    "altText": "Campagne de collecte de fonds : {{title}}",
    "successCreate": "Campagne lancée",
    "successCreateDesc": "Votre collecte de fonds est en ligne.",
    "successEdit": "Campagne mise à jour",
    "successEditDesc": "Vos modifications de campagne sont en ligne.",
    "errorTitleCreate": "Impossible de publier la campagne",
    "errorTitleEdit": "Impossible de mettre à jour la campagne",
    "errorLoginRequired": "Vous devez être connecté pour créer une campagne.",
    "errorEditLoadFailed": "Impossible de charger la campagne pour modification.",
    "errorEditNotOwner": "Seul l'auteur de la campagne peut la modifier.",
    "errorTitleRequired": "Le titre est obligatoire.",
    "errorTitleInvalid": "Le titre doit contenir des lettres ou des chiffres pour qu'une URL de campagne puisse être créée.",
    "errorSlugInvalid": "L'identifiant doit être composé de lettres minuscules, de chiffres et de traits d'union.",
    "errorGoalInvalid": "L'objectif doit être un montant entier positif en dollars.",
    "errorEditLatestMissing": "Impossible de trouver la dernière version de cette campagne à mettre à jour.",
    "errorSlugCollision": "Vous avez déjà une campagne avec l'identifiant « {{slug}} ». Choisissez-en une autre.",
    "errorBannerInvalid": "La bannière doit être une URL https:// valide.",
    "errorPublishedInvalid": "L'événement publié a échoué à la validation. Veuillez actualiser et réessayer.",
    "wizard": {
      "titleStepTitle": "Nommez votre campagne",
      "titleStepSubtitle": "Un nom court et clair que les donateurs reconnaîtront.",
      "bannerStepTitle": "Ajoutez une bannière",
      "bannerStepSubtitle": "Une image marquante porte la campagne sur chaque carte.",
      "storyStepTitle": "Racontez votre histoire",
      "storyStepSubtitle": "À qui profitent les fonds et comment ils seront utilisés.",
      "next": "Suivant",
      "back": "Retour",
      "skip": "Passer",
      "launchNow": "Passer et lancer",
      "goalStepTitle": "Objectif",
      "goalStepSubtitle": "Facultatif — laissez vide pour une campagne sans limite.",
      "tagsStepTitle": "Pays et catégories",
      "tagsStepSubtitle": "Aidez les bonnes personnes à trouver votre campagne."
    }
  },
  "campaignsDetail": {
    "seoTitle": "{{title}} | Collectes de fonds {{appName}}",
    "seoDescriptionFallback": "Soutenez {{title}} sur {{appName}}.",
    "back": "Retour",
    "edit": "Modifier",
    "delete": "Supprimer",
    "deleting": "Suppression…",
    "openCover": "Ouvrir l'image de couverture",
    "byAuthor": "par <0>{{name}}</0>",
    "commentLabel": "Commentaire",
    "linkCopied": "Lien copié dans le presse-papiers",
    "pinnedToast": "Épinglé à la campagne",
    "unpinnedToast": "Désépinglé de la campagne",
    "pinFailed": "Échec de la mise à jour des épingles de la campagne",
    "deletedToast": "Campagne supprimée",
    "deletedToastDesc": "Une demande de suppression a été publiée. Les relais bien intentionnés retireront la campagne des fils.",
    "deleteErrorTitle": "Impossible de supprimer la campagne",
    "campaigner": "Organisateur",
    "repost_one": "<0>{{formattedCount}}</0> Republication",
    "repost_other": "<0>{{formattedCount}}</0> Republications",
    "quote_one": "<0>{{formattedCount}}</0> Citation",
    "quote_other": "<0>{{formattedCount}}</0> Citations",
    "like_one": "<0>{{formattedCount}}</0> J'aime",
    "like_other": "<0>{{formattedCount}}</0> J'aime",
    "tabComments": "Commentaires et dons",
    "noCommentsTitle": "Aucun commentaire pour l'instant",
    "noCommentsHint": "Soyez le premier à laisser un message de soutien.",
    "deleteDialogTitle": "Supprimer cette campagne ?",
    "deleteDialogBody": "Cela publie une demande de suppression NIP-09. Les relais bien intentionnés retireront la campagne des fils et des liens directs. Les reçus de dons passés restent sur la chaîne quoi qu'il arrive. Cette action est irréversible — pour continuer à accepter les dons, modifiez la campagne à la place.",
    "storyHeading": "L'histoire",
    "share": "Partager",
    "target": "Objectif : {{amount}}",
    "raised": "récoltés",
    "ofGoal": "sur un objectif de {{amount}}"
  },
  "campaignVerification": {
    "verifiedBy": "Vérifié par",
    "verifiedLabel": "Vérifiée",
    "verifiedByCount_one": "Vérifié par {{count}} modérateur",
    "verifiedByCount_other": "Vérifié par {{count}} modérateurs",
    "verifyCampaign": "Vérifier cette campagne",
    "removeVerification": "Retirer ma vérification",
    "dialogTitle": "Vérifier cette campagne",
    "attestation": "En vérifiant cette campagne, vous attestez qu'elle est authentique et véridique. Vous connaissez personnellement l'organisateur de la campagne ou vous avez vérifié de manière sérieuse que ses affirmations sont vraies. Méfiez-vous des usurpateurs d'identité et des escrocs.",
    "verified": "Campagne vérifiée",
    "unverified": "Vérification retirée",
    "actionFailed": "Échec de l’action",
    "verifiedByCount_zero": "Vérifié par {{count}} modérateur",
    "verifiedByCount_two": "Vérifié par {{count}} modérateurs",
    "verifiedByCount_few": "Vérifié par {{count}} modérateurs",
    "verifiedByCount_many": "Vérifié par {{count}} modérateurs"
  },
  "calendarEvents": {
    "create": {
      "seoTitle": "Créer un événement",
      "seoDescription": "Créer un événement de calendrier sur {{appName}}.",
      "loginTitle": "Connectez-vous pour créer un événement",
      "loginBody": "Les événements sont des événements Nostr signés. Vous avez besoin d'une connexion Nostr pour en publier un.",
      "heading": "Créer un événement",
      "titlePlaceholder": "Nettoyage du quartier",
      "descriptionPlaceholder": "Dites aux gens à quoi s'attendre, ce qu'il faut apporter et qui devrait venir...",
      "schedule": "Calendrier",
      "allDay": "Événement toute la journée",
      "allDayHint": "Désactivez pour ajouter des heures de début et de fin.",
      "startDate": "Date de début",
      "endDate": "Date de fin",
      "startTime": "Heure de début",
      "endTime": "Heure de fin",
      "locationDetails": "Détails du lieu",
      "locationPlaceholder": "Adresse, lieu ou lien d'appel vidéo",
      "tagsPlaceholder": "entraide, atelier, actus-locales",
      "submit": "Créer l'événement",
      "successToast": "Événement créé",
      "errorToast": "Impossible de créer l'événement",
      "altCalendar": "Événement de calendrier : {{title}}",
      "altGroup": "Événement de groupe : {{title}}",
      "errorLoginRequired": "Vous devez être connecté pour créer un événement.",
      "errorTitleRequired": "Le titre est obligatoire.",
      "errorStartDateRequired": "La date de début est obligatoire.",
      "errorStartDatePast": "La date de début ne peut pas être dans le passé.",
      "errorStartTimeRequired": "L'heure de début est obligatoire pour les événements minutés.",
      "errorCoverInvalid": "L'image de couverture doit être une URL https:// valide.",
      "errorEndDateBeforeStart": "La date de fin doit être à ou après la date de début.",
      "errorStartDateTimeInvalid": "La date ou l'heure de début n'est pas valide.",
      "errorEndTimeAfterStart": "L'heure de fin doit être après l'heure de début."
    },
    "detail": {
      "untitledEvent": "Événement sans titre",
      "dateNotSpecified": "Date non précisée",
      "organizer": "Organisateur",
      "rsvpUpdated": "RSVP mis à jour",
      "rsvpFailed": "Échec de la mise à jour du RSVP",
      "rsvp": "RSVP",
      "youAreGoing": "Vous y allez",
      "youAreInterested": "Vous êtes intéressé(e)",
      "youCantGo": "Vous ne pouvez pas y aller",
      "chooseRsvp": "Choisissez votre RSVP",
      "going": "J'y vais",
      "interested": "Intéressé(e)",
      "cantGo": "Je ne peux pas",
      "attendees": "Participants",
      "links": "Liens",
      "participants": "Participants",
      "hostedBy": "organisé par",
      "attendingCount_one": "{{count}} participant",
      "attendingCount_other": "{{count}} participants",
      "interestedCount_one": "{{count}} intéressé",
      "interestedCount_other": "{{count}} intéressés",
      "comment": "Commentaire",
      "description": "Description",
      "emptyDescription": "L'organisateur n'a pas encore ajouté de description pour cet événement.",
      "comments": "Commentaires",
      "commentNoun_one": "commentaire",
      "commentNoun_other": "commentaires",
      "noCommentsTitle": "Aucun commentaire pour l'instant",
      "noCommentsHint": "Soyez le premier à commenter.",
      "pinnedToast": "Épinglé à l'événement",
      "unpinnedToast": "Désépinglé de l'événement",
      "pinFailed": "Échec de la mise à jour des épingles de l'événement"
    }
  },
  "follow": {
    "follow": "Suivre",
    "following": "Abonné",
    "unfollow": "Se désabonner",
    "followed": "Suivi",
    "unfollowed": "Désabonné",
    "updateFailed": "Échec de la mise à jour de la liste d'abonnements"
  },
  "campaigns": {
    "home": {
      "seoTitle": "Collectes de fonds",
      "seoDescription": "Connecter le monde à un financement inarrêtable.",
      "heroTagline": "Connecter le monde à un financement<1></1><0>inarrêtable</0>.",
      "heroBody": "Récoltez du Grin directement auprès de soutiens du monde entier. Chaque don est réglé directement dans votre portefeuille, sans intermédiaires, sans rétrofacturations et sans plateforme qui retient vos fonds.",
      "startCampaign": "Démarrer une campagne",
      "howItWorks": "Comment ça marche",
      "featuredTitle": "Campagnes en vedette",
      "featuredDesc": "Campagnes sélectionnées par l'équipe {{appName}}.",
      "allCampaigns": "Toutes les campagnes",
      "allCampaignsDesc": "Toutes les campagnes du réseau, par ordre chronologique.",
      "browseAll": "Parcourir toutes les campagnes",
      "hidden": "Masquées",
      "hiddenDesc": "Campagnes supprimées de la page d'accueil publique. Utilisez le menu en kebab d'une carte pour les démasquer.",
      "hiddenEmpty": "Aucune campagne n'est actuellement masquée.",
      "yourCampaigns": "Vos campagnes",
      "yourCampaignsDesc": "Vos campagnes sont en ligne sur Nostr et les dons fonctionnent via le lien de la campagne. Parcourez toutes les campagnes sur /campaigns ; l'équipe de {{appName}} met en avant une sélection sur la page d'accueil.",
      "empty": "Aucune campagne pour l'instant",
      "emptyHint": "Soyez le premier à démarrer une collecte de fonds sur {{appName}}. Racontez votre histoire, choisissez vos bénéficiaires et partagez le lien.",
      "whyDifferent": {
        "eyebrow": "Pourquoi {{appName}}",
        "title": "Conçu différemment.",
        "lede": "Du Grin en direct du donateur au bénéficiaire. Aucune plateforme sur le chemin, aucun dépositaire qui garde la caisse, aucune permission requise.",
        "block1": {
          "heading": "Contrairement à GoFundMe",
          "body": "Aucune plateforme ne peut geler vos dons, exiger des remboursements ou mettre fin à votre campagne pour des désaccords politiques. Ni Stripe, ni Visa, ni banque ne se trouve au milieu et ne peut vous couper en pleine campagne.",
          "bullet1": "Ingelable — aucun veto de plateforme",
          "bullet2": "Aucun processeur de paiement ne peut tirer la prise",
          "bullet3": "Zéro frais de plateforme"
        },
        "block2": {
          "heading": "Contrairement aux autres plateformes crypto",
          "body": "Pas de portefeuille dépositaire, de nœud hébergé ou de processeur de paiement qui puisse tomber en panne ou disparaître. Les fonds sont réglés sur la chaîne Grin vers un portefeuille que vous contrôlez. Si {{appName}} disparaissait demain, chaque campagne continuerait de fonctionner.",
          "bullet1": "Pas de portefeuille dépositaire à vider ou à geler",
          "bullet2": "Règlement sur la chaîne vers un portefeuille que vous possédez",
          "bullet3": "Fonctionne même si {{appName}} disparaît"
        },
        "readMore": "Lire l'analyse complète"
      },
      "searchPlaceholder": "Rechercher des campagnes…",
      "searchAriaLabel": "Rechercher des campagnes",
      "noMatch": "Aucune campagne ne correspond à « {{query}} »",
      "noMatchHint": "Essayez un autre terme de recherche, ou effacez la recherche.",
      "verifyCampaigns": "Vérifier des campagnes"
    },
    "all": {
      "title": "Campagnes",
      "seoTitle": "Toutes les campagnes",
      "description": "Parcourez toutes les campagnes publiées sur Eranos.",
      "sectionTagline": "Les campagnes mises en avant d'abord, puis le reste du réseau. Recherchez ou triez pour affiner.",
      "heroKicker": "Campagnes",
      "heroHeading": "Chaque cause,",
      "heroHeadingLine2": "au même endroit.",
      "heroBody": "Chaque collecte publiée sur Nostr, rassemblée en un seul endroit. Parcourez tout le réseau, trouvez une cause qui compte pour vous et soutenez-la directement avec du Grin.",
      "campaignsCount_one": "campagne sur le réseau",
      "campaignsCount_other": "campagnes sur le réseau",
      "searchAriaLabel": "Rechercher des campagnes",
      "searchPlaceholder": "Rechercher des campagnes…",
      "clearSearch": "Effacer la recherche",
      "sortAriaLabel": "Ordre de tri",
      "sortTop": "Top",
      "sortNew": "Nouvelles",
      "showHidden": "Afficher les masquées",
      "startCampaign": "Démarrer une campagne",
      "noMatch": "Aucune campagne ne correspond à « {{query}} »",
      "noMatchHint": "Essayez un autre terme de recherche, ou effacez la recherche pour voir toutes les campagnes.",
      "allHidden": "Aucune campagne à afficher",
      "allHiddenHint": "Toutes les campagnes du réseau ont été masquées par les modérateurs. Activez « Afficher les masquées » pour les voir.",
      "empty": "Aucune campagne pour l'instant",
      "emptyHint": "Aucune campagne n'a encore été publiée. Soyez le premier.",
      "verifyCampaigns": "Vérifier des campagnes"
    },
    "lists": {
      "stripAria": "Listes thématiques de campagnes",
      "create": "Nouvelle liste",
      "showMore": "Afficher {{count}} de plus",
      "showLess": "Afficher moins",
      "createDesc": "Créez une nouvelle liste thématique. Ajoutez-y des campagnes depuis n'importe quelle page de campagne.",
      "createSubmit": "Créer la liste",
      "createFailed": "Échec de la création de la liste",
      "edit": "Modifier la liste",
      "editDesc": "Mettez à jour le titre, la description ou l'icône de la liste.",
      "editSubmit": "Enregistrer les modifications",
      "updateFailed": "Échec de la mise à jour de la liste",
      "delete": "Supprimer la liste",
      "deleteFailed": "Échec de la suppression de la liste",
      "deleteConfirmTitle": "Supprimer cette liste ?",
      "deleteConfirmDesc": "« {{title}} » sera retirée de la barre des thèmes. Les campagnes elles-mêmes ne sont pas affectées.",
      "titleField": "Titre",
      "titlePlaceholder": "ex. Liberté de la presse",
      "descriptionField": "Description",
      "descriptionPlaceholder": "Un court résumé expliquant ce qui appartient à cette liste.",
      "iconField": "Icône",
      "menuAria": "Options de la liste {{title}}",
      "listActions": "Actions de la liste",
      "memberMenuAria": "Options de la liste de campagnes",
      "backToCampaigns": "Retour aux campagnes",
      "detailTitle": "Liste de campagnes",
      "campaignsCount_one": "{{count}} campagne",
      "campaignsCount_other": "{{count}} campagnes",
      "addCampaign": "Ajouter une campagne",
      "addCampaignDesc": "Recherchez sur le réseau et choisissez une campagne à ajouter à cette liste.",
      "addFailed": "Échec de l'ajout à la liste",
      "addToList": "Ajouter",
      "alreadyAdded": "Ajoutée",
      "added": "Ajoutée",
      "membershipTitle": "Ajouter aux listes",
      "membershipDesc": "Choisissez les listes dans lesquelles \"{{title}}\" doit apparaître.",
      "membershipEmpty": "Aucune liste pour le moment. Créez-en une pour commencer la curation.",
      "searchPlaceholder": "Rechercher des campagnes…",
      "searchEmpty": "Aucune campagne ne correspond à cette recherche.",
      "removeFromList": "Retirer de la liste",
      "removeFailed": "Échec du retrait de la liste",
      "empty": "Cette liste est vide.",
      "emptyMod": "Cette liste est vide. Ajoutez des campagnes pour commencer à la composer.",
      "iconPicker": {
        "title": "Choisir une icône",
        "description": "Choisissez n'importe quelle icône de la bibliothèque Lucide.",
        "search": "Rechercher des icônes…",
        "empty": "Aucune icône ne correspond à cette recherche."
      }
    }
  },
  "moderation": {
    "hiddenBadge": "Masquée",
    "menu": {
      "label": "Actions de modération",
      "ariaCampaign": "Modérer la campagne",
      "ariaPledge": "Modérer la promesse",
      "ariaGroup": "Modérer le groupe",
      "failedAction": "Échec de l'action {{action}}",
      "failedReorder": "Échec de la réorganisation",
      "hide": "Masquer",
      "unhide": "Démasquer",
      "hiddenState": "Masquée",
      "feature": "Mettre en avant",
      "unfeature": "Retirer de la sélection",
      "featuredState": "Mise en avant",
      "moveToTop": "Déplacer en haut",
      "moveUp": "Déplacer vers le haut",
      "moveDown": "Déplacer vers le bas",
      "addToList": "Ajouter à la liste…",
      "dragHandle": "Glisser pour réorganiser (position {{index}})",
      "toastHidden": "Masquée",
      "toastUnhidden": "Démasquée",
      "toastFeatured": "Mise en avant",
      "toastUnfeatured": "Retirée de la sélection",
      "toast": {
        "movedToTop": "Déplacée en haut",
        "movedUp": "Déplacée vers le haut",
        "movedDown": "Déplacée vers le bas"
      }
    }
  },
  "settings": {
    "title": "Paramètres",
    "description": "Gérez vos paramètres {{appName}}",
    "deleteAccount": "Supprimer le compte",
    "groups": {
      "account": "Compte",
      "app": "Application",
      "system": "Système"
    },
    "sections": {
      "profile": "Profil",
      "profileDesc": "Nom d'affichage, biographie, avatar et vérification.",
      "appearance": "Apparence",
      "appearanceDesc": "Mode système, clair ou sombre.",
      "language": "Langue",
      "languageDesc": "Choisissez la langue utilisée dans toute l'application.",
      "network": "Réseau",
      "networkDesc": "Utilisation des données, relais et serveurs de téléversement.",
      "notifications": "Notifications",
      "notificationsDesc": "Préférences de notifications push.",
      "advanced": "Avancé",
      "advancedDesc": "Options système et pour utilisateurs avancés.",
      "organizers": "Organisateurs",
      "organizersDesc": "Désignez des organisateurs nationaux qui peuvent épingler des publications aux fils nationaux."
    },
    "organizers": "Organisateurs",
    "signInToManage": "Connectez-vous pour gérer",
    "loginRequired": "Vous devez être connecté pour gérer les organisateurs.",
    "appearance": {
      "title": "Apparence",
      "subtitle": "Choisissez l'apparence de l'application.",
      "colorMode": "Mode de couleur",
      "system": "Système",
      "systemDesc": "Suit le réglage de votre appareil",
      "light": "Clair",
      "lightDesc": "Utiliser toujours le mode clair",
      "dark": "Sombre",
      "darkDesc": "Utiliser toujours le mode sombre"
    },
    "network": {
      "title": "Réseau",
      "subtitle": "Gérez l'utilisation des données, les relais et les serveurs de téléversement.",
      "lowBandwidthHeading": "Mode faible bande passante",
      "reduceDataUsage": "Réduire l'utilisation des données",
      "reduceDataUsageDesc": "Pour les connexions mesurées ou lentes. Les vidéos ne se lisent pas automatiquement, les aperçus vidéo en arrière-plan sont ignorés, et les images attendent une pression avant de charger.",
      "useImageProxy": "Utiliser un proxy d'images",
      "useImageProxyDesc": "Récupère des versions WebP plus petites des images au lieu des originaux pleine résolution.",
      "proxyUrl": "URL du proxy",
      "proxyApiDesc": "Doit utiliser l'API <0>wsrv.nl / weserv</0>. Les auto-hébergeurs peuvent pointer ceci vers leur propre instance.",
      "reset": "Réinitialiser",
      "relays": "Relais",
      "blossomServers": "Serveurs Blossom",
      "imageUploads": "Téléversement d'images",
      "uploadQuality": "Qualité de téléversement",
      "uploadQualityDesc": "Compressé redimensionne les grandes images et choisit le format le plus petit. Original téléverse les images telles quelles.",
      "compressed": "Compressé",
      "original": "Original"
    },
    "advanced": {
      "title": "Avancé",
      "subtitle": "Configuration du système et autres options avancées pour les utilisateurs expérimentés.",
      "intro": "Configuration du système et autres options avancées.",
      "torHeading": "Tor",
      "torToggle": "Acheminer le trafic via Tor",
      "torToggleDesc": "Se connecte à des relais et charge les médias via le réseau Tor pour une meilleure confidentialité. Attendez-vous à des performances réduites et un court délai le temps que Tor se connecte.",
      "torApplyNote": "Activer cette option achemine tout le trafic via Tor. Pendant la connexion, les autres contenus ne se chargeront pas (une bannière indique l'état) — rien n'est envoyé en dehors de Tor. La désactiver rétablit une connexion directe.",
      "torStatusLabel": "État :",
      "torExitIp": "IP de sortie Tor :",
      "torCheckAgain": "Vérifier à nouveau"
    }
  },
  "language": {
    "title": "Langue",
    "subtitle": "Choisissez la langue utilisée dans toute l'application.",
    "translationNote": "Les traductions sont en cours. Le texte non traduit revient à l'anglais."
  },
  "verifier": {
    "title": "Vérificateur",
    "subtitle": "Devenez vérificateur en décrivant comment vous examinez les campagnes.",
    "promptLabel": "Votre processus de vérification",
    "prompt": "Dites-nous quelles étapes vous suivez pour vérifier les campagnes. Donnez le plus de détails possible afin que les donateurs sachent qu'ils peuvent faire confiance à votre jugement.",
    "placeholder": "Décrivez comment vous vérifiez les campagnes — les contrôles que vous effectuez, les preuves que vous exigez, comment vous confirmez l'identité d'un organisateur, et tout ce qui aide les donateurs à faire confiance à votre jugement.",
    "previewLabel": "Aperçu",
    "publish": "Devenir vérificateur",
    "update": "Mettre à jour la déclaration",
    "withdraw": "Retirer",
    "loading": "Chargement de votre déclaration…",
    "publishedToast": "Votre déclaration de vérificateur est en ligne.",
    "withdrawnToast": "Votre déclaration de vérificateur a été retirée.",
    "errorToast": "Impossible d'enregistrer votre déclaration de vérificateur.",
    "disclaimer": "Tout le monde peut devenir vérificateur. Votre déclaration est publiée publiquement sur Nostr et affichée bien en évidence sur votre profil. Elle n'accorde aucune permission particulière — elle indique simplement aux donateurs comment vous examinez les campagnes.",
    "loginGateTitle": "Connectez-vous pour devenir vérificateur",
    "loginGateBody": "Vous devez être connecté pour publier une déclaration de vérificateur.",
    "howWeVerifyTitle": "Comment nous vérifions",
    "requestVerification": "Demander une vérification",
    "withdrawConfirmTitle": "Retirer votre déclaration de vérificateur ?",
    "withdrawConfirmBody": "Votre déclaration « Comment nous vérifions » sera retirée de votre profil. Vous pourrez en publier une nouvelle à tout moment."
  },
  "mdEditor": {
    "toolbar": {
      "bold": "Gras",
      "italic": "Italique",
      "strikethrough": "Barré",
      "inlineCode": "Code en ligne",
      "heading1": "Titre 1",
      "heading2": "Titre 2",
      "heading3": "Titre 3",
      "bulletList": "Liste à puces",
      "numberedList": "Liste numérotée",
      "blockquote": "Citation",
      "insertLink": "Insérer un lien",
      "insertImage": "Insérer une image",
      "horizontalRule": "Ligne horizontale"
    },
    "help": {
      "title": "Aide-mémoire Markdown",
      "bold": "gras",
      "italic": "italique",
      "bulletList": "puce",
      "numberedList": "numéroté",
      "link": "lien",
      "quote": "citation",
      "code": "code"
    },
    "link": {
      "title": "Insérer un lien",
      "textLabel": "Texte du lien",
      "textPlaceholder": "Saisissez le texte du lien…",
      "urlLabel": "URL",
      "cancel": "Annuler",
      "insert": "Insérer un lien"
    }
  },
  "organizations": {
    "seoTitle": "Pour les organisations",
    "seoDescription": "Intégrez votre organisation à {{appName}}, publiez une déclaration de vérification publique et gagnez la confiance des donateurs.",
    "hero": {
      "eyebrow": "Pour les organisations et les vérificateurs",
      "headlinePart1": "Aidez les donateurs à",
      "headlineHighlight": "faire confiance",
      "body": "Intégrez votre organisation à {{appName}} et publiez une déclaration publique décrivant comment vous évaluez les campagnes que vous soutenez. Pas de candidature, pas de gardiens — c'est votre réputation qui fait le travail.",
      "trustChips": {
        "noPermission": "Aucune permission requise",
        "ownIdentity": "Votre propre identité",
        "public": "Publique et vérifiable"
      },
      "cta": "Commencer"
    },
    "steps": {
      "eyebrow": "Comment ça marche",
      "title": "Intégration en trois étapes",
      "lede": "{{appName}} est bâti sur Nostr, votre organisation apporte donc sa propre identité. La configuration ne prend que quelques minutes.",
      "step1": {
        "title": "Apportez votre profil",
        "body": "Connectez-vous avec le profil Nostr de votre organisation — ou créez-en un en quelques secondes. Votre identité vous appartient, elle est portable sur toutes les applications Nostr et n'est pas contrôlée par {{appName}}."
      },
      "step2": {
        "title": "Décrivez votre processus",
        "body": "Rédigez une déclaration publique expliquant comment vous vérifiez les campagnes : les contrôles que vous effectuez, les preuves que vous exigez et la manière dont vous confirmez l'identité d'un organisateur."
      },
      "step3": {
        "title": "Publiez et gagnez la confiance",
        "body": "Votre déclaration apparaît sur votre profil et indique aux donateurs que vous soutenez les campagnes que vous vérifiez. Mettez-la à jour ou retirez-la à tout moment."
      }
    },
    "getStarted": {
      "eyebrow": "Commencer",
      "title": "Publiez votre déclaration",
      "lede": "Connectez-vous avec le profil de votre organisation pour publier, mettre à jour ou retirer votre déclaration de vérification."
    },
    "loginGateTitle": "Connectez-vous avec le profil de votre organisation",
    "loginGateBody": "Connectez-vous avec le profil Nostr de votre organisation, ou créez-en un, pour commencer. Une fois connecté, vous pourrez publier votre déclaration de vérification ici.",
    "tutorial": {
      "eyebrow": "Vous êtes désormais vérificateur",
      "title": "Comment vérifier une campagne",
      "lede": "Votre déclaration est en ligne. Voici comment vous porter garant d'une campagne en laquelle vous avez confiance — deux clics suffisent depuis n'importe quelle carte de campagne.",
      "steps": {
        "open": {
          "title": "Ouvrez le menu",
          "body": "Sur n'importe quelle carte de campagne, appuyez sur le bouton à trois points dans le coin supérieur droit de la bannière."
        },
        "verify": {
          "title": "Choisissez \"Vérifier cette campagne\"",
          "body": "Le menu révèle une action de vérification — visible uniquement par les modérateurs et les vérificateurs comme vous."
        },
        "confirm": {
          "title": "Confirmez, et c'est terminé",
          "body": "Attestez que la campagne est authentique. Votre badge rejoint la carte afin que les donateurs sachent que vous la soutenez."
        }
      },
      "demo": {
        "menuVerify": "Vérifier cette campagne"
      }
    },
    "getStartedCard": {
      "title": "Configurez votre organisation",
      "body": "Nous vous guiderons pour créer le profil de votre organisation, publier votre déclaration de vérification et vérifier votre première campagne.",
      "cta": "Commencer à vérifier"
    }
  },
  "organizers": {
    "appoint": "Désigner un organisateur",
    "appointDesc": "Accordez à un utilisateur la permission d'épingler des publications sur un fil de pays spécifique.",
    "appointing": "Désignation…",
    "appointed": "Organisateur désigné",
    "appointedSuccess": "Organisateur désigné pour {{country}}",
    "userNpub": "npub de l'utilisateur",
    "country": "Pays",
    "selectCountry": "Sélectionner un pays",
    "invalidNpub": "Format npub invalide",
    "alreadyOrganizer": "Cet utilisateur est déjà organisateur pour ce pays",
    "current": "Organisateurs actuels",
    "noOrganizers": "Aucun organisateur désigné pour l'instant.",
    "removed": "Organisateur retiré",
    "removedSuccess": "{{name}} retiré de {{country}}",
    "refreshed": "Actualisé",
    "refreshedDesc": "Liste des organisateurs actualisée depuis les relais.",
    "adminRequired": "Accès administrateur requis",
    "adminRequiredDesc": "Seuls les administrateurs de la plateforme peuvent désigner ou retirer des organisateurs."
  },
  "qrScanner": {
    "title": "Scanner le QR code",
    "close": "Fermer",
    "starting": "Démarrage de la caméra…",
    "aim": "Pointez votre caméra vers un QR code.",
    "flashOn": "Activer le flash",
    "flashOff": "Désactiver le flash",
    "errors": {
      "generic": "Impossible d'accéder à la caméra.",
      "insecure": "L'accès à la caméra nécessite une connexion sécurisée (HTTPS).",
      "unsupported": "Ce navigateur ne prend pas en charge l'accès à la caméra.",
      "notFound": "Aucune caméra n'a été trouvée sur cet appareil.",
      "denied": "L'autorisation de la caméra a été refusée. Activez-la dans vos paramètres pour scanner des QR codes.",
      "busy": "Une autre application utilise la caméra. Fermez-la et réessayez.",
      "overconstrained": "La caméra de cet appareil ne prend pas en charge les paramètres demandés.",
      "didntStart": "La caméra n'a pas démarré. Une autre application l'utilise peut-être, ou votre navigateur a peut-être bloqué le scanner."
    }
  },
  "notifications": {
    "seoTitle": "Notifications",
    "seoDescription": "Vos notifications Nostr",
    "title": "Notifications",
    "tabs": {
      "all": "Toutes",
      "mentions": "Mentions"
    },
    "loginPrompt": "Connectez-vous pour voir vos notifications.",
    "empty": "Aucune notification pour l'instant.",
    "subject": {
      "twoActors": "<0></0> et <1></1>",
      "andOthers_one": " et {{count}} autre",
      "andOthers_other": " et {{count}} autres"
    },
    "actorAvatars": {
      "moreCount": "+{{count}} de plus"
    },
    "actions": {
      "reactedToYour": "a réagi à votre {{noun}}",
      "repostedYour": "a republié votre {{noun}}",
      "repliedToYourNote": "a répondu à votre note",
      "mentionedYou": "vous a mentionné",
      "repliedToYourComment": "a répondu à votre commentaire",
      "commentedOnYour": "a commenté votre {{noun}}",
      "sentYouLetter": "vous a envoyé une lettre",
      "highlightedYour": "a mis en évidence votre {{noun}}",
      "awardedBadge": "vous a décerné un badge",
      "awardedBadges": "vous a décerné des badges"
    },
    "letter": {
      "viewAll": "Voir toutes les lettres",
      "reply": "Répondre"
    },
    "kinds": {
      "profile": "profil",
      "post": "publication",
      "encryptedMessage": "message chiffré",
      "repost": "republication",
      "reaction": "réaction",
      "badgeAward": "remise de badge",
      "photo": "photo",
      "video": "vidéo",
      "requestToVanish": "demande de disparition",
      "file": "fichier",
      "poll": "sondage",
      "comment": "commentaire",
      "voiceMessage": "message vocal",
      "patch": "correctif",
      "pullRequest": "pull request",
      "highlight": "mise en évidence",
      "birdDetection": "détection d'oiseau",
      "birdex": "Birdex",
      "colorMoment": "moment de couleur",
      "foundLog": "journal trouvé",
      "nsite": "nsite",
      "profileBadges": "badges de profil",
      "badge": "badge",
      "article": "article",
      "emojiPack": "pack d'emojis",
      "podcastEpisode": "épisode de podcast",
      "podcastTrailer": "bande-annonce de podcast",
      "stream": "diffusion",
      "status": "statut",
      "repository": "dépôt",
      "customNip": "NIP personnalisé",
      "calendarEvent": "événement de calendrier",
      "playlist": "liste de lecture",
      "divine": "divin",
      "community": "communauté",
      "goal": "objectif",
      "track": "piste",
      "magicDeck": "jeu magique",
      "treasure": "trésor",
      "constellation": "constellation",
      "followPack": "pack de suivis"
    }
  },
  "notifSettings": {
    "seoTitle": "Notifications",
    "seoDescription": "Configurez vos préférences de notification",
    "title": "Notifications",
    "pushHeading": "Notifications push",
    "enablePush": {
      "label": "Activer les notifications push",
      "description": "Recevez des notifications pour l'activité sur vos publications"
    },
    "unsupported": "Votre navigateur ne prend pas en charge les notifications push.",
    "denied": "Les notifications sont bloquées. Modifiez les paramètres de votre navigateur pour autoriser les notifications de ce site.",
    "deliveryMethod": {
      "heading": "Méthode de livraison",
      "intro": "Choisissez comment les notifications sont livrées sur votre appareil.",
      "push": {
        "label": "Push",
        "description": "Notifications standard. Pas d'icône persistante dans la barre d'état."
      },
      "persistent": {
        "label": "Persistante",
        "description": "Interroge directement les relais en arrière-plan pour les nouvelles notifications. À utiliser pour une livraison fiable sur les appareils sans prise en charge des notifications push."
      }
    },
    "notifyAbout": {
      "heading": "Me notifier des",
      "filterHeading": "Filtre",
      "typesHeading": "Types",
      "onlyFollowing": {
        "label": "Uniquement des personnes que je suis",
        "description": "Masquer les notifications des comptes que vous ne suivez pas"
      }
    },
    "types": {
      "reactions": {
        "label": "Réactions",
        "description": "Quand quelqu'un réagit à vos publications"
      },
      "reposts": {
        "label": "Republications",
        "description": "Quand quelqu'un republie vos notes"
      },
      "mentions": {
        "label": "Mentions",
        "description": "Quand quelqu'un vous mentionne dans une note"
      },
      "comments": {
        "label": "Commentaires et réponses",
        "description": "Quand quelqu'un commente ou répond à vos publications"
      },
      "badges": {
        "label": "Remises de badges",
        "description": "Quand quelqu'un vous décerne un badge"
      },
      "letters": {
        "label": "Lettres",
        "description": "Quand quelqu'un vous envoie une lettre"
      },
      "highlights": {
        "label": "Mises en évidence",
        "description": "Quand quelqu'un met en évidence votre contenu"
      }
    },
    "toast": {
      "enableFailedTitle": "Échec de l'activation des notifications",
      "enableFailedDesc": "Veuillez réessayer."
    }
  },
  "search": {
    "seoTitle": "Recherche",
    "seoDescription": "Rechercher sur Nostr",
    "title": "Recherche",
    "inputPlaceholder": "Rechercher",
    "filtersAria": "Filtres de recherche",
    "tabs": {
      "agora": "Eranos",
      "nostr": "Nostr",
      "accounts": "Utilisateurs"
    },
    "filters": {
      "title": "Filtres",
      "reset": "Réinitialiser",
      "from": "De",
      "sort": "Tri",
      "media": "Média",
      "protocol": "Protocole",
      "language": "Langue",
      "kind": "Type",
      "kindCustomPlaceholder": "ex. 1, 30023",
      "includeReplies": "Inclure les réponses",
      "authorScope": {
        "anyone": "N'importe qui",
        "follows": "Abonnements",
        "people": "Personnes"
      },
      "sortOptions": {
        "recent": "Récent",
        "hot": "Populaire",
        "trending": "Tendance"
      },
      "mediaOptions": {
        "all": "Tous",
        "images": "Images",
        "videos": "Vidéos",
        "shorts": "Shorts",
        "none": "Sans média"
      },
      "protocolOptions": {
        "nostr": "Nostr",
        "mastodon": "Mastodon",
        "bluesky": "Bluesky"
      },
      "langOptions": {
        "global": "Global",
        "en": "Anglais",
        "es": "Espagnol",
        "fr": "Français",
        "de": "Allemand",
        "ja": "Japonais",
        "zh": "Chinois"
      }
    },
    "chips": {
      "noReplies": "Sans réponses",
      "images": "Images",
      "videos": "Vidéos",
      "shortsAndDivines": "Shorts et Divines",
      "noMedia": "Sans média",
      "mastodon": "Mastodon",
      "bluesky": "Bluesky",
      "hot": "Populaire",
      "trending": "Tendance",
      "allKinds": "Tous les types",
      "customKind": "Type : {{kind}}",
      "kindNumber": "Type {{kind}}",
      "kindsCount_one": "{{count}} type",
      "kindsCount_other": "{{count}} types",
      "myFollows": "Mes abonnements",
      "authorsCount_one": "{{count}} auteur",
      "authorsCount_other": "{{count}} auteurs"
    },
    "clear": "Effacer",
    "searchLabel": "recherche :",
    "newPosts_one": "{{count}} nouvelle publication",
    "newPosts_other": "{{count}} nouvelles publications",
    "following": "Abonné",
    "botAccount": "Compte bot",
    "empty": {
      "posts": "Aucun résultat correspondant à votre recherche.",
      "postsPrompt": "Saisissez une requête pour trouver du contenu Nostr.",
      "accounts": "Aucun utilisateur correspondant à votre recherche.",
      "followsPrompt": "Recherchez des personnes par nom ou adresse NIP-05.",
      "agora": "Aucune campagne, promesse ou groupe Eranos correspondant à votre recherche.",
      "agoraPrompt": "Recherchez des campagnes, promesses et groupes Eranos, ou parcourez les dernières.",
      "activeFilters": "Filtres actifs :",
      "clearAll": "Tout effacer"
    }
  },
  "profile": {
    "seoDescriptionFallback": "Profil Nostr",
    "anonymous": "Anonyme",
    "namePlaceholder": "Votre nom",
    "userNotFound": "Utilisateur introuvable.",
    "userNotFoundNip05": "Utilisateur introuvable : {{handle}}",
    "couldNotResolveNip05": "Impossible de résoudre cet identifiant NIP-05.",
    "tabs": {
      "overview": "Aperçu",
      "verified": "Vérifiées",
      "activity": "Activité",
      "campaigns": "Campagnes",
      "groups": "Groupes",
      "pledges": "Promesses"
    },
    "header": {
      "editProfile": "Modifier",
      "shareFollowLink": "Partager le lien de suivi",
      "moreOptions": "Plus d'options",
      "campaignGoal": "Objectif {{amount}} $"
    },
    "stats": {
      "followers": "Abonnés",
      "following": "Abonnements",
      "raised": "Récoltés",
      "followersTitle_one": "{{count}} abonné",
      "followersTitle_other": "{{count}} abonnés",
      "followingTitle": "{{count}} abonnements"
    },
    "sections": {
      "profile": "Profil",
      "campaigns": "Campagnes",
      "latestPledge": "Dernière promesse",
      "groups": "Groupes",
      "seeAllCampaigns_one": "Voir toutes les {{count}} campagne →",
      "seeAllCampaigns_other": "Voir toutes les {{count}} campagnes →",
      "viewCampaignsTab": "Voir l'onglet campagnes →",
      "seeAllPledges_one": "Voir toutes les {{count}} promesse →",
      "seeAllPledges_other": "Voir toutes les {{count}} promesses →",
      "seeAllGroups": "Voir tous les {{count}} →"
    },
    "badges": {
      "founder": "Fondateur",
      "moderator": "Modérateur",
      "mod": "Mod",
      "ended": "Terminée",
      "pledged": "Promis"
    },
    "imageMenu": {
      "upload": "Téléverser un fichier",
      "pasteUrl": "Coller l'URL",
      "remove": "Supprimer"
    },
    "websitePlaceholder": "https://your-website.com",
    "moreMenu": {
      "title": "Options du profil",
      "copyPubkey": "Copier la clé publique",
      "copyLink": "Copier le lien du profil",
      "addToList": "Ajouter à une liste",
      "shareFollowLink": "Partager le lien de suivi",
      "profileRecovery": "Récupération du profil",
      "awardBadge": "Décerner un badge",
      "writeLetter": "Écrire une lettre",
      "mute": "Mettre @{{name}} en sourdine",
      "unmute": "Réactiver @{{name}}",
      "report": "Signaler @{{name}}",
      "close": "Fermer"
    },
    "toast": {
      "pubkeyCopied": "Clé publique copiée dans le presse-papiers",
      "linkCopied": "Lien du profil copié dans le presse-papiers",
      "muted": "@{{name}} en sourdine",
      "unmuted": "@{{name}} réactivé",
      "muteFailed": "Échec de la mise en sourdine de l'utilisateur",
      "unmuteFailed": "Échec de la réactivation de l'utilisateur",
      "followed": "Suivi de @{{name}}",
      "unfollowed": "Désabonné de @{{name}}",
      "followFailed": "Échec de la mise à jour de la liste d'abonnements",
      "btcAddressCopied": "Adresse Bitcoin copiée dans le presse-papiers"
    },
    "followingModal": {
      "title": "{{name}} suit",
      "empty": "Ne suit personne pour l'instant."
    },
    "followersModal": {
      "title": "Abonnés de {{name}}",
      "empty": "Aucun abonné trouvé."
    },
    "bitcoinModal": {
      "title": "Bitcoin",
      "qrAlt": "QR Bitcoin",
      "copyAddress": "Copier l'adresse",
      "showQr": "Afficher le QR code",
      "viewOnMempool": "Voir sur mempool.space"
    },
    "lightbox": {
      "openOriginal": "Ouvrir l'original",
      "close": "Fermer (Échap)",
      "imageAlt": "Image de profil"
    },
    "activity": {
      "empty": "Aucune activité de {{name}} pour l'instant. Publications, campagnes, promesses et dons apparaissent ici."
    },
    "campaigns": {
      "count_one": "{{count}} campagne",
      "count_other": "{{count}} campagnes",
      "sortNew": "Nouvelles",
      "sortTop": "Top",
      "showHidden": "Afficher les masquées",
      "hideHidden": "Masquer les masquées",
      "emptySelf": "Vous n'avez pas encore lancé de campagne.",
      "emptyOther": "{{name}} n'a pas encore lancé de campagne.",
      "startLink": "Démarrer une campagne →"
    },
    "verified": {
      "count_one": "{{count}} campagne vérifiée",
      "count_other": "{{count}} campagnes vérifiées",
      "empty": "{{name}} n'a encore vérifié aucune campagne."
    },
    "pledgesTab": {
      "active": "Active",
      "ended": "Terminée",
      "emptySelf": "Vous n'avez pas encore créé de promesse.",
      "emptyOther": "{{name}} n'a pas encore créé de promesse.",
      "createLink": "Créer une promesse →"
    },
    "groupsDialog": {
      "title": "Tous les groupes"
    }
  },
  "profileSettings": {
    "seoTitle": "Profil | Paramètres",
    "seoDescription": "Modifiez votre profil {{appName}}",
    "header": {
      "title": "Profil",
      "save": "Enregistrer"
    },
    "uploading": "Téléversement…",
    "fields": {
      "heading": "Champs du profil",
      "website": "Site web",
      "websitePlaceholder": "https://votresite.com",
      "labelPlaceholder": "Étiquette",
      "tickerPlaceholder": "Ticker",
      "addressPlaceholder": "Adresse",
      "valuePlaceholder": "Valeur ou URL",
      "mediaPlaceholder": "Téléverser un fichier ou coller un lien direct",
      "chooseFile": "Choisir un fichier à téléverser",
      "chooseMediaFile": "Choisir un fichier multimédia à téléverser"
    },
    "presets": {
      "music": {
        "label": "Musique",
        "description": "Téléverser une chanson ou un clip audio",
        "valuePlaceholder": "Téléverser un audio ou coller un lien direct"
      },
      "photo": {
        "label": "Photo",
        "description": "Téléverser une image",
        "valuePlaceholder": "Téléverser une image ou coller un lien direct"
      },
      "video": {
        "label": "Vidéo",
        "description": "Téléverser un clip vidéo",
        "valuePlaceholder": "Téléverser une vidéo ou coller un lien direct"
      },
      "email": {
        "label": "Email",
        "defaultLabel": "Email",
        "description": "Adresse e-mail de contact",
        "valuePlaceholder": "vous@example.com"
      },
      "link": {
        "label": "Lien",
        "description": "Lien vers n'importe quel site ou profil",
        "valuePlaceholder": "https://..."
      },
      "weather": {
        "label": "Météo",
        "defaultLabel": "Météo",
        "description": "Connecter une station météo Nostr",
        "valuePlaceholder": "npub1... ou naddr1... (#station-id facultatif)"
      },
      "custom": {
        "label": "Personnalisé",
        "description": "Créer un champ personnalisé",
        "valuePlaceholder": "Valeur ou URL"
      }
    },
    "warnings": {
      "audioWrongType": "Cette URL ne pointe pas vers un fichier audio. Téléversez un fichier audio ou utilisez un lien direct se terminant par .mp3, .ogg, .wav, etc.",
      "audioUnknown": "Cette URL peut ne pas fonctionner comme lecteur audio. Pour de meilleurs résultats, téléversez un fichier avec le bouton ou collez un lien direct vers un fichier audio.",
      "imageWrongType": "Cette URL ne pointe pas vers une image. Téléversez une image ou utilisez un lien direct se terminant par .jpg, .png, .webp, etc.",
      "imageUnknown": "Cette URL peut ne pas s'afficher comme une image. Pour de meilleurs résultats, téléversez un fichier avec le bouton ou collez un lien direct vers un fichier image.",
      "videoWrongType": "Cette URL ne pointe pas vers une vidéo. Téléversez une vidéo ou utilisez un lien direct se terminant par .mp4, .webm, .mov, etc.",
      "videoUnknown": "Cette URL peut ne pas s'afficher comme une vidéo. Pour de meilleurs résultats, téléversez un fichier avec le bouton ou collez un lien direct vers un fichier vidéo."
    },
    "crop": {
      "profile": "Recadrer la photo de profil",
      "banner": "Recadrer la bannière"
    },
    "mobilePreview": "Aperçu des champs du profil",
    "advanced": {
      "heading": "Avancé",
      "botLabel": "Compte bot",
      "botDescription": "Marquer ce compte comme automatisé"
    },
    "toast": {
      "uploaded": "Téléversé",
      "mediaUploaded": "Fichier multimédia téléversé",
      "uploadFailed": "Échec du téléversement",
      "tryAgain": "Veuillez réessayer.",
      "profilePictureUpdated": "Photo de profil mise à jour",
      "bannerUpdated": "Bannière mise à jour",
      "profileSaved": "Profil enregistré",
      "saveFailed": "Échec de l'enregistrement du profil."
    },
    "key": {
      "heading": "Votre clé",
      "extensionBody": "Vous êtes connecté avec une extension de navigateur (NIP-07). Votre clé secrète y est stockée — gérez-la ou exportez-la depuis l'extension elle-même.",
      "bunkerBody": "Vous êtes connecté avec un signataire à distance (NIP-46). Votre clé secrète est détenue par ce signataire et ne peut pas être exportée depuis {{appName}}.",
      "explainer": "Cette clé secrète contrôle votre compte sur {{appName}}. Quiconque la possède peut publier en votre nom, modifier vos campagnes et s'exprimer à votre place. Conservez-la dans un gestionnaire de mots de passe ou ailleurs où vous seul pouvez y accéder. Vos fonds en Grin sont à part : ils vivent dans votre propre portefeuille Grin et sa phrase de récupération, pas dans cette clé.",
      "warning": "Ne partagez JAMAIS votre clé secrète avec qui que ce soit. Évitez d'en faire une capture d'écran ou de la coller ailleurs que dans un gestionnaire de mots de passe. Si elle est partagée, d'autres pourront accéder à votre compte.",
      "aria": "Votre clé secrète",
      "copyAria": "Copier la clé secrète",
      "revealAria": "Révéler la clé secrète",
      "hideAria": "Masquer la clé secrète",
      "backupButton": "Sauvegarder la clé",
      "saving": "Enregistrement…",
      "saved": "Clé secrète enregistrée",
      "savedToFile": "Votre clé secrète a été enregistrée dans le dossier Documents de votre appareil.",
      "saveFailed": "Échec de l'enregistrement",
      "saveFailedDescription": "Impossible d'enregistrer la clé. Veuillez la copier manuellement.",
      "copyFailed": "Échec de la copie",
      "copyFailedDescription": "Impossible d'accéder au presse-papiers. Révélez la clé et copiez-la manuellement."
    }
  },
  "faq": {
    "categories": {
      "getting-started": {
        "label": "À propos d'Eranos"
      },
      "payments": {
        "label": "Dons en Grin sur Eranos"
      },
      "about-nostr": {
        "label": "À propos de Nostr"
      },
      "legacy": {
        "label": "Héritage"
      }
    },
    "items": {
      "what-is-ditto": {
        "question": "Qu'est-ce que {{appName}} ?",
        "answer": [
          "{{appName}} est une plateforme pour envoyer des dons en Grin directement aux bénéficiaires. Il n'y a pas d'intermédiaire, pas de processeur de paiement et pas de compte qui puisse être gelé.",
          "{{appName}} est bâtie sur Nostr, donc votre identité n'est pas verrouillée à ce site — elle vous appartient."
        ]
      },
      "cost-to-use": {
        "question": "Est-ce que {{appName}} coûte quelque chose ?",
        "answer": [
          "**Non.** {{appName}} ne prélève aucun frais de plateforme. Quand vous donnez, vous ne payez que les minuscules frais du réseau Grin, qui vont aux mineurs, pas à nous."
        ]
      },
      "who-made-this": {
        "question": "Qui a créé {{appName}} ?",
        "answer": [
          "{{appName}} est construite par [Soapbox](https://soapbox.pub), une équipe open-source qui développe des outils pour l'écosystème Nostr, en collaboration avec le [World Liberty Congress](https://worldlibertycongress.org/)."
        ]
      },
      "censorship-resistance": {
        "question": "Que signifie « résistant à la censure » ici ?",
        "answer": [
          "Aucune entreprise ne se place entre un donateur et un bénéficiaire. {{appName}} ne détient pas les fonds et ne peut pas geler l'adresse.",
          "Tant que le réseau Grin fonctionne, les dons peuvent être envoyés et reçus. Même si {{appName}} passait hors ligne, cela ne les arrêterait pas."
        ]
      },
      "why-onchain": {
        "question": "Pourquoi Grin ?",
        "answer": [
          "Grin est de l'argent numérique avec la confidentialité intégrée. Sa conception Mimblewimble ne met aucune adresse sur la chaîne et masque tous les montants, si bien que les dons ne laissent pas la trace publique que laissent la plupart des cryptomonnaies.",
          "Sur {{appName}}, les campagnes reçoivent du Grin de deux façons : via GoblinPay (scannez un QR et le paiement voyage vers la campagne sous forme de slatepack chiffré via Nostr) ou directement à l'adresse Slatepack grin1 de la campagne depuis n'importe quel portefeuille Grin. Dans les deux cas, les fonds arrivent dans un portefeuille contrôlé par la campagne.",
          "Les totaux des campagnes restent honnêtes sans renoncer à cette confidentialité : un donateur peut publier une preuve de paiement, et {{appName}} la vérifie auprès d'un nœud Grin pour confirmer que la transaction est bien sur la chaîne. La preuve révèle le montant et le kernel de la transaction, pas qui a payé. Les guides du donateur et du bénéficiaire détaillent tout cela."
        ]
      },
      "why-not-rotating-addresses": {
        "question": "Pourquoi {{appName}} ne traite-t-il pas les dons sur son propre serveur ?",
        "answer": [
          "Cela obligerait {{appName}} à agir comme un intermédiaire financier, en prenant d'abord la garde du Grin avant de le transmettre au bénéficiaire.",
          "Cela ferait de nous un transmetteur de fonds, soumis aux réglementations qui vont avec, et un point de défaillance unique : éteignez le serveur de {{appName}} et vous éteignez tous les dons qui y transitent.",
          "À la place, les dons voyagent du portefeuille Grin du donateur vers le portefeuille Grin de la campagne. Chaque campagne publie sa propre adresse Slatepack grin1 ou sa page de paiement GoblinPay, {{appName}} ne touche jamais aux fonds, et la plateforme elle-même ne peut pas être éteinte pour censurer qui que ce soit. Et comme Grin ne met aucune adresse sur la chaîne, les dons sont impossibles à relier par défaut, sans que personne ne détienne l'argent au milieu."
        ]
      },
      "why-not-other-crypto": {
        "question": "Pourquoi pas Bitcoin, Monero ou une autre cryptomonnaie ?",
        "answer": [
          "Bitcoin est la cryptomonnaie la plus adoptée, mais son registre est public : un don vers une adresse connue expose le montant, l'heure et le côté expéditeur, pour toujours. Rajouter de la confidentialité par-dessus signifie des outils en plus, des étapes en plus et davantage de façons de se tromper. Pour des dons à des causes sensibles, c'est le mauvais choix par défaut.",
          "Grin fait du chemin privé le seul chemin. Mimblewimble ne laisse aucune adresse sur la chaîne et masque tous les montants, si bien que les donateurs n'ont pas besoin d'outils particuliers pour être en sécurité. En même temps, les preuves de paiement de Grin permettent à une campagne d'afficher un total vérifié et contrôlé sur la chaîne sans exposer ses donateurs. Monero offre aussi une confidentialité solide, mais les preuves de paiement de Grin correspondent au modèle de dons vérifiés de {{appName}}, et sa chaîne légère garde la vérification simple."
        ]
      },
      "what-is-nostr": {
        "question": "Qu'est-ce que Nostr ?",
        "answer": [
          "Nostr est un réseau ouvert où **vous** possédez votre compte, pas une entreprise. Votre identité est une clé cryptographique que vous contrôlez, et non un nom d'utilisateur sur le serveur de quelqu'un d'autre.",
          "Sur {{appName}}, cette même clé signe vos campagnes et les reçus de don qui construisent votre total vérifié, c'est pourquoi votre identité et vos campagnes fonctionnent partout sur Nostr sans vous inscrire auprès de personne."
        ]
      },
      "why-login-different": {
        "question": "Pourquoi ma connexion est-elle si différente et longue ?",
        "answer": [
          "Au lieu d'un nom d'utilisateur et d'un mot de passe contrôlés par une entreprise, Nostr utilise une paire de clés cryptographiques.",
          "Votre « clé publique » (commence par **npub**) est votre nom d'utilisateur. Votre « clé secrète » (commence par **nsec**) est votre mot de passe. La longue chaîne est ce qui rend virtuellement impossible de la deviner."
        ]
      },
      "lose-secret-key": {
        "question": "Que se passe-t-il si je perds ma clé secrète ?",
        "answer": [
          "**Il n'y a pas de bouton « mot de passe oublié ».** Personne ne peut la réinitialiser pour vous. Si vous la perdez, votre compte et vos campagnes sont perdus pour toujours. (Vos fonds en Grin vivent dans votre propre portefeuille Grin et sa phrase de récupération, qui est distincte de cette clé.)",
          "**Enregistrez votre clé secrète en lieu sûr dès maintenant.** Pour des conseils, lisez [Gérer vos clés Nostr](https://soapbox.pub/blog/managing-nostr-keys)."
        ]
      },
      "manage-secret-key": {
        "question": "Puis-je enregistrer ma clé secrète dans le gestionnaire de mots de passe de mon téléphone ?",
        "answer": [
          "Oui. Vous pouvez l'enregistrer dans le gestionnaire de mots de passe de votre appareil (iCloud Keychain, 1Password, Bitwarden, etc.). Sur iPhone, l'enregistrer dans Mots de passe vous permet d'utiliser Face ID ou Touch ID pour vous connecter.",
          "Pour un guide complet, voir [Gérer vos clés Nostr](https://soapbox.pub/blog/managing-nostr-keys)."
        ]
      },
      "fyp": {
        "question": "Comment fonctionne le fil ?",
        "answer": [
          "Votre fil affiche les campagnes et les publications des personnes que vous suivez. Aucun algorithme ne décide de ce que vous voyez."
        ]
      },
      "what-are-relays": {
        "question": "Qu'est-ce que les relais ?",
        "answer": [
          "Les relais sont les serveurs qui stockent et livrent les événements Nostr — publications, reçus de dons, infos de profil. Les valeurs par défaut fonctionnent immédiatement ; vous pouvez ajouter ou retirer des relais dans Paramètres > Réseau."
        ]
      },
      "what-are-blossom": {
        "question": "Qu'est-ce que les serveurs Blossom ?",
        "answer": [
          "Les serveurs Blossom stockent les fichiers multimédias (images de campagnes, photos de profil) quand vous les téléversez. Vous pouvez gérer quels serveurs vous utilisez dans Paramètres > Réseau."
        ]
      },
      "report-content": {
        "question": "Comment signaler du contenu nuisible ?",
        "answer": [
          "Appuyez sur le menu à trois points (**...**) sur n'importe quelle publication et sélectionnez « Signaler ». Vous pouvez mettre en sourdine ou bloquer des utilisateurs depuis le même menu."
        ]
      },
      "vs-mastodon-bluesky": {
        "question": "En quoi Nostr est-il différent de Mastodon ou Bluesky ?",
        "answer": [
          "Sur Mastodon, votre compte vit sur un serveur précis. Sur Bluesky, la plupart des comptes dépendent d'une seule entreprise. Sur Nostr, votre identité est une clé que vous contrôlez, et votre profil et vos campagnes vous suivent dans n'importe quelle application Nostr."
        ]
      },
      "profile-fields": {
        "question": "Que sont les champs de profil ?",
        "answer": [
          "Les champs de profil vous permettent d'ajouter des infos supplémentaires à votre profil — liens, adresses de portefeuille, musique, photos, vidéos."
        ]
      }
    }
  },
  "guides": {
    "shared": {
      "tldrEyebrow": "La version courte"
    },
    "donor": {
      "tldr": {
        "lede": "Donnez depuis n'importe quel portefeuille Grin : scannez le QR GoblinPay de la campagne, ou payez à son adresse Slatepack grin1. Grin est privé par défaut, donc votre don ne laisse pas de trace publique.",
        "nextActions": [
          "Payez depuis n'importe quel portefeuille Grin",
          "Pas d'intermédiaire, pas de délai de rétention",
          "Privé par défaut"
        ]
      },
      "flow": {
        "heading": "Comment un don circule",
        "steps": {
          "openCampaign": {
            "title": "Ouvrez la campagne",
            "body": "Touchez Donner et choisissez un chemin. GoblinPay : saisissez un montant, scannez le QR avec un portefeuille Goblin, et le paiement voyage vers la campagne sous forme de slatepack chiffré via Nostr, avec confirmation automatique. Adresse Grin : payez à l'adresse Slatepack grin1 de la campagne depuis n'importe quel portefeuille Grin ; votre portefeuille s'occupe du transport, via Tor ou par échange de slatepacks."
          },
          "arrivesDirectly": {
            "title": "Il arrive directement",
            "body": "Les fonds sont réglés directement dans le portefeuille de la campagne. {{appName}} ne les détient pas et ne les fait pas transiter. Si vous voulez que votre don compte dans le total public de la campagne, publiez ensuite la preuve de paiement ou le reçu ; cela révèle le montant, pas votre identité."
          }
        }
      },
      "publicVisible": {
        "title": "Ce qui est public, et ce qui ne l'est pas",
        "body": "La chaîne Grin n'a pas d'adresses et masque tous les montants, donc les observateurs extérieurs ne peuvent pas voir qui a donné à une campagne ni combien. Le total de la campagne sur {{appName}} est construit uniquement à partir des preuves et des reçus que les donateurs choisissent de publier, et chacun ne révèle que le montant et le kernel de la transaction."
      },
      "privacy": {
        "heading": "Donner en toute confidentialité",
        "intro": "Sur la chaîne, Grin vous protège déjà : pas d'adresses, des montants masqués, pas de liste publique de donateurs. Ce qui peut encore vous identifier, c'est la façon dont vous avez acquis le Grin et ce que vous choisissez de publier. Si votre risque est élevé, ces étapes valent la peine. Choisissez-en une, ou cumulez-les.",
        "options": {
          "nonKyc": {
            "name": "Acquérez du Grin sans KYC",
            "purpose": "Minez-le, ou achetez-le de pair à pair, pour que les pièces ne soient pas liées à votre pièce d'identité dès le départ."
          },
          "coinjoin": {
            "name": "Sautez le reçu public",
            "purpose": "Publier une preuve de paiement lie le don à votre identité Nostr. Ne la publiez pas, et le don reste entre vous et la campagne."
          }
        }
      },
      "consumerApps": {
        "title": "Les plateformes d'échange savent qui vous êtes",
        "body": "Les plateformes d'échange qui listent le GRIN vérifient votre identité et gardent une trace de chaque retrait. La chaîne publique ne montrera pas votre don, mais la plateforme sait où son retrait est parti. Si cela compte dans votre situation, retirez d'abord vers un portefeuille que vous contrôlez et donnez depuis celui-ci."
      }
    },
    "recipient": {
      "tldr": {
        "lede": "Publiez une adresse Slatepack grin1 d'un portefeuille Grin que vous contrôlez, ou configurez une page de paiement GoblinPay. Les dons arrivent de portefeuille à portefeuille. {{appName}} ne détient jamais vos fonds.",
        "nextActions": [
          "Procurez-vous un portefeuille Grin et une adresse",
          "Ajoutez-la à votre campagne",
          "Sauvegardez la phrase de récupération de votre portefeuille"
        ]
      },
      "howReceiving": {
        "heading": "Comment fonctionne la réception",
        "paragraphs": [
          "Les dons sur {{appName}} vont directement du portefeuille Grin du donateur au vôtre. Quand vous créez une campagne, vous choisissez comment recevoir :",
          "**Une adresse Slatepack grin1.** N'importe quel portefeuille Grin (Goblin, grin-wallet) vous en donne une. Les donateurs la paient depuis n'importe quel portefeuille Grin, de manière interactive via Tor ou par échange de slatepacks ; les portefeuilles s'occupent du transport.",
          "**GoblinPay.** Une page de paiement qui permet aux donateurs de payer dans l'application : ils scannent un QR et le paiement voyage vers vous sous forme de slatepack chiffré et enveloppé (gift wrap) via Nostr, avec confirmation automatique et un reçu signé à la fin.",
          "**Les deux.** Les donateurs équipés d'un portefeuille Goblin profitent du parcours en un seul scan, et tous les autres paient votre adresse Slatepack depuis le portefeuille Grin qu'ils utilisent. Proposer les deux vous garde ouvert à tous les donateurs.",
          "La confidentialité est le défaut dans les deux cas. La conception Mimblewimble de Grin ne met aucune adresse sur la chaîne et masque tous les montants, donc vos dons n'apparaissent jamais dans un registre public que quiconque pourrait consulter.",
          "Le total vérifié de votre campagne compte un don une fois que sa preuve de paiement ou son reçu GoblinPay est publié et contrôlé : la signature du destinataire doit être vérifiée, et le kernel de la transaction doit être confirmé sur la chaîne auprès d'un nœud Grin. Chaque preuve publiée révèle le montant et le kernel, rien sur le donateur."
        ]
      },
      "whatEveryoneSees": {
        "heading": "Ce que tout le monde peut voir",
        "paragraphs": [
          "Les visiteurs voient la page de votre campagne, son objectif et le total vérifié construit à partir des preuves et des reçus que les donateurs ont choisi de publier. Chacun d'eux révèle un montant et un kernel de transaction, pas l'identité d'un donateur.",
          "Personne ne peut consulter votre solde ou votre historique de dons sur la chaîne. Il n'y a pas d'adresse à inspecter ni de montants à lire ; au-delà des reçus publiés, les gens ne voient que ce que vous partagez sur l'avancement de la campagne."
        ]
      },
      "movePromptly": {
        "heading": "Votre portefeuille, votre responsabilité",
        "steps": {
          "sweep": {
            "title": "Les dons arrivent dans un portefeuille que vous contrôlez",
            "body": "{{appName}} ne gère jamais de portefeuille pour vous. Les fonds arrivent dans le portefeuille Grin dont vous avez publié l'adresse ou la page de paiement GoblinPay, donc la garde est à vous dès le premier don. Cela signifie aussi que la responsabilité est la vôtre : quiconque possède la phrase de récupération de votre portefeuille possède les fonds, et sans elle les fonds sont irrécupérables."
          },
          "dontSit": {
            "title": "Sauvegardez la phrase de récupération hors ligne",
            "body": "Surtout pour les campagnes à forte valeur, conservez la phrase de récupération de votre portefeuille Grin hors ligne (papier, sauvegarde sur métal, ou gestionnaire de mots de passe sur un appareil dédié). La phrase est le portefeuille : sécurisez les mots et vous obtenez un stockage à froid."
          }
        }
      },
      "cashout": {
        "heading": "Convertir en argent",
        "intro": "La chaîne Grin n'exposera pas vos dons, donc la principale décision de confidentialité est la façon dont vous convertissez en monnaie locale. Tout service qui vérifie votre identité saura ce que vous convertissez par son intermédiaire. Les options ci-dessous présentent des compromis différents.",
        "options": {
          "coinjoin": {
            "name": "Plateformes d'échange",
            "purpose": "Le chemin le plus simple vers la monnaie fiat. Attendez-vous à du KYC : la plateforme connaît votre identité et le montant que vous convertissez par son intermédiaire."
          },
          "peerToPeer": {
            "name": "Pair-à-pair",
            "purpose": "Échangez du Grin contre de la monnaie fiat directement avec une autre personne ou via un courtier de gré à gré. Aucune plateforme au milieu."
          },
          "spendDirectly": {
            "name": "Dépensez-le directement",
            "purpose": "Dépensez le Grin comme de l'argent auprès des commerçants et services qui l'acceptent, sans le convertir d'abord en espèces."
          }
        }
      },
      "tumblers": {
        "title": "Pas besoin de mixeurs",
        "body": "Il n'y a pas de tumblers ni de services de mixage auxquels faire confiance sur Grin, et vous n'en avez pas besoin. Mimblewimble masque les montants et ne laisse aucune adresse sur la chaîne, donc les dons sont privés par défaut."
      }
    }
  }
}
