{
  "nativePushBlocked": "Les notifications de BabyParty sont désactivées sur l'appareil. Pour les activer, ouvrez les Paramètres du téléphone, touchez Applications, puis BabyParty et Notifications.",
  "topbar": {
    "shower": "La baby shower",
    "gifts": "Cadeaux",
    "messages": "Chat de la baby shower",
    "profile": "Mon profil",
    "ranking": "Classement",
    "profileOther": "Profil",
    "shop": "Boutique",
    "avatar": "Ton avatar",
    "names": "Prénoms pour bébé"
  },
  "onb": {
    "step1": "À propos de bébé",
    "step2": "La famille et la fête",
    "step3": "L'allure de la fête",
    "step4": "Il ne manque que vous",
    "step5": "Tout est prêt",
    "stepOf": "Étape {{n}} sur {{total}}",
    "back": "Retour",
    "next": "Continuer",
    "defaultTitle": "Baby shower",
    "namedTitle": "Baby shower de {{name}}",
    "babyName": "Quel est le prénom du bébé ?",
    "babyNameHint": "Si ce n'est pas encore choisi, laissez vide et voyez plus tard.",
    "babyNamePh": "ex. : Mel",
    "motherPh": "ex. : Anna",
    "fatherPh": "ex. : Jean",
    "gender": "Vous connaissez déjà le sexe ?",
    "girl": "Fille",
    "boy": "Garçon",
    "surprise": "Surprise",
    "twins": "Ce sont des jumeaux ?",
    "yes": "Oui",
    "no": "Non",
    "due": "Quand bébé doit-il naître ?",
    "byWeek": "Je connais les semaines",
    "byDate": "Je connais la date",
    "dueHint": "La date indiquée sur l'échographie.",
    "week": "La grossesse en est à combien de semaines ?",
    "weeks": "semaines",
    "weekHint": "C'est le chiffre que le médecin donne en consultation. Il sert à suivre la grossesse avec les invités.",
    "weekDue": "Date prévue vers le {{date}}.",
    "weekMinus": "Une semaine de moins",
    "weekPlus": "Une semaine de plus",
    "mother": "Prénom de la maman",
    "father": "Prénom du papa",
    "fatherHint": "Facultatif.",
    "when": "Quand aura lieu la baby shower ?",
    "whenHint": "Vous pourrez changer plus tard, et les invités sont prévenus.",
    "dateUnknown": "Je ne connais pas encore la date",
    "color": "Choisissez la couleur de la fête",
    "colorHint": "Elle colore l'invitation, le site et les e-mails.",
    "cover": "Photo de couverture",
    "coverHint": "Facultatif. Une écho ou une photo du ventre rend déjà très bien.",
    "coverPick": "Choisir une photo",
    "coverBusy": "Préparation de la photo…",
    "coverRemove": "Retirer la photo",
    "coverTooBig": "Cette photo est trop lourde. Essayez-en une autre.",
    "coverFailed": "Je n'ai pas pu lire cette photo. Essayez-en une autre.",
    "phone": "Votre téléphone",
    "phoneHint": "C'est seulement pour vous joindre si quelque chose cloche. Les invités ne le voient pas.",
    "phoneInvalid": "Ce numéro ne semble pas valide. Vérifiez le pays et les chiffres.",
    "missingList": "Il manque encore : {{items}}. Retour.",
    "missingPhoneItem": "un numéro de téléphone valide",
    "missingSourceItem": "comment vous avez connu BabyParty",
    "missingTermsItem": "accepter les conditions",
    "missingMotherName": "le prénom de la mère",
    "listAnd": "et",
    "source": "Comment avez-vous connu BabyParty ?",
    "source_instagram": "Instagram",
    "source_tiktok": "TikTok",
    "source_google": "Google",
    "source_friend": "Par une connaissance",
    "source_whatsapp": "WhatsApp",
    "source_other": "Autre",
    "terms": "J'ai lu et j'accepte les conditions de service",
    "termsLink": "(lire)",
    "yourShower": "Votre baby shower",
    "readyTitle": "Déjà prêt :",
    "readyGifts": "Une liste de {{n}} cadeaux que les invités achètent directement dans l'app",
    "readyGiftsPlain": "Une liste de cadeaux prête, que les invités achètent directement dans l'app",
    "readyRest": "Pile de couches, jeux, album du jour et invitation prête à partager",
    "freeNote": "Créer est gratuit. La plateforme ne gagne que lorsqu'on offre un cadeau.",
    "publish": "Créer ma baby shower",
    "loginAndPublish": "Publier et se connecter avec Google",
    "loginKeeps": "Vos réponses sont enregistrées. Vous revenez ici après la connexion.",
    "finishYouStep": "Il manque votre téléphone, comment vous nous avez connus et l'acceptation des conditions. Revenir.",
    "missingPhone": "Votre téléphone manque. C'est ainsi qu'on vous joint en cas de souci.",
    "missingTerms": "Acceptez les conditions pour créer la baby shower.",
    "missingSource": "Dites-nous comment vous nous avez connus.",
    "missingMother": "Le prénom de la maman manque.",
    "slugTaken": "Une baby shower existe déjà à cette adresse. Changez le prénom du bébé et réessayez.",
    "createFailed": "Je n'ai pas pu créer la baby shower maintenant. Réessayez dans un instant.",
    "babyNameShort": "Prénom du bébé",
    "genderShort": "Garçon ou fille ?",
    "gestationWeek": "Semaine de grossesse",
    "weekOrdinal": "{{n}}e",
    "weekOrdinalLong": "{{n}}e semaine",
    "bornAround": "naissance vers {{when}}",
    "knowDate": "Je connais la date prévue",
    "twinsToggle": "Ce sont des jumeaux",
    "motherShort": "Maman",
    "fatherShort": "Papa",
    "whenShort": "Quand a lieu la fête ?",
    "whenHintNew": "Vous pourrez l'ajouter plus tard. Les invités voient \"date à définir\".",
    "eventDate": "Date de la fête",
    "eventTime": "Heure de la fête",
    "colorShort": "Couleur",
    "moreColors": "Plus de couleurs et de fonds",
    "lessColors": "Moins d'options",
    "coverPickOptional": "Choisir une photo (facultatif)",
    "whatsapp": "Votre téléphone",
    "termsLead": "J'ai lu et j'accepte les",
    "termsOfUse": "conditions d'utilisation",
    "termsAnd": "et la",
    "privacyPolicy": "politique de confidentialité",
    "dateTbd": "date à définir",
    "seeMyShower": "Voir ma fête",
    "takingShape": "Votre fête prend forme",
    "step5Bang": "Tout est prêt !",
    "bornWith": "Votre fête démarre avec :",
    "readyGames": "Parcours de jeux et tir à la corde",
    "readyGiftsEdit": "Une liste de cadeaux prête à modifier",
    "readyDiapers": "Un objectif de couches et l'invitation avec lien",
    "freeLogin": "Créer est gratuit. Vous vous connectez avec Google seulement pour garder la fête dans votre compte.",
    "moreColorsOnly": "Plus de couleurs",
    "pattern": "Fond",
    "patternHint": "Le motif derrière les écrans de la fête.",
    "dueOn": "terme prévu : {{date}}",
    "twinsHint": "L’objectif de couches démarre doublé.",
    "planPickerLabel": "Combien de temps votre baby shower reste en ligne",
    "planBestValue": "Meilleur prix",
    "plan6": "6 mois",
    "plan12": "12 mois",
    "planPerMonth": "{{price}} par mois",
    "paidLead": "Choisissez combien de temps votre baby shower reste en ligne :",
    "paidNote": "Vous vous connectez avec Google pour garder la fête dans votre compte, puis vous payez sur la page sécurisée de Stripe. À la fin de la période, la baby shower est figée.",
    "payNow": "Payer et créer ma baby shower",
    "loginAndPay": "Se connecter avec Google et payer",
    "checkoutCancelled": "Paiement annulé. Rien n'a été débité. Appuyez sur payer quand vous voulez.",
    "payPriceChanged": "Le prix a été mis à jour. Vérifiez le montant et appuyez de nouveau sur payer. Rien n'a été débité.",
    "payCurrencyUnsupported": "Nous n'acceptons pas encore les paiements dans cette devise. Rien n'a été débité.",
    "payCouponInvalid": "Ce code de réduction n'est plus valable. Rien n'a été débité.",
    "paySessionExpired": "Votre session a expiré. Reconnectez-vous pour payer. Rien n'a été débité.",
    "payPaidNotActive": "Votre paiement a été accepté, mais la baby shower n'est pas encore active. Ne payez pas à nouveau : contactez le support et nous l'activerons pour vous.",
    "payFailed": "Je n'ai pas pu ouvrir le paiement maintenant. Rien n'a été débité. Réessayez dans un instant.",
    "disclosure": {
      "trial6": "7 jours gratuits, puis {{price}} tous les 6 mois, renouvellement automatique, annulable à tout moment.",
      "trial12": "7 jours gratuits, puis {{price}} par an, renouvellement automatique, annulable à tout moment.",
      "charge6": "Débit aujourd'hui de {{price}}, renouvellement automatique tous les 6 mois. Annulable à tout moment.",
      "charge12": "Débit aujourd'hui de {{price}}, renouvellement automatique chaque année. Annulable à tout moment."
    },
    "inAppSoon": "L'abonnement dans l'app arrive bientôt.",
    "paidNoteSubscription": "Vous vous connectez avec Google pour garder la fête dans votre compte, puis vous enregistrez votre carte sur la page sécurisée de Stripe."
  },
  "nav": {
    "home": "Accueil",
    "shower": "Baby shower",
    "cameraDay": "Appareil",
    "games": "Jeux",
    "messages": "Messages",
    "gifts": "Cadeaux",
    "today": "Aujourd'hui"
  },
  "messages": {
    "title": "Messages",
    "subtitle": "Chat de la baby shower",
    "send": "Envoyer",
    "sendFailed": "Impossible d'envoyer le message. Réessayez.",
    "deleteFailed": "Impossible de supprimer le message. Réessayez.",
    "placeholder": "Écrivez un message...",
    "today": "Aujourd'hui",
    "yesterday": "Hier",
    "deleteTooltip": "Supprimer le message",
    "attachImage": "Joindre une image",
    "removeImage": "Retirer",
    "imageTooLarge": "Cette image est trop lourde. Choisis-en une autre.",
    "imageUnreadable": "Impossible d'ouvrir cette image. Réessaie ou choisis-en une autre.",
    "imageHeic": "Cette photo est au format HEIC, que l'app ne sait pas encore ouvrir. Choisis une autre photo ou règle l'appareil photo en JPG.",
    "imageOnly": "📷 Image",
    "react": "Réagir",
    "mention": {
      "headerPeople": "Personnes",
      "headerGames": "Jeux",
      "headerScoreboard": "Score",
      "placarKeyword": "score",
      "placarLabel": "Score",
      "girlsWinning": "Filles gagnantes",
      "boysWinning": "Garçons gagnants",
      "tie": "Égalité",
      "headerTeams": "Équipes",
      "teamHeadcount_one": "{{count}} dans l'équipe",
      "teamHeadcount_other": "{{count}} dans l'équipe",
      "teamGirlsLabel": "Filles",
      "teamBoysLabel": "Garçons",
      "teamMomLabel": "Mamans",
      "teamDadLabel": "Papas",
      "teamGirlsKeyword": "filles",
      "teamBoysKeyword": "garcons",
      "teamMomKeyword": "maman",
      "teamDadKeyword": "papa"
    },
    "chatTitle": "Chat de la fête",
    "onlineNow_one": "{{count}} en ligne",
    "onlineNow_other": "{{count}} en ligne",
    "typing": "{{name}} écrit",
    "placeholderChat": "Écris à la fête",
    "fieldLabel": "Message",
    "quick": {
      "congrats": "Félicitations aux parents !",
      "party": "Quelle jolie fête",
      "goTeam": "Allez, {{team}} !"
    },
    "unmuteHint": "Réactiver les notifications du chat",
    "muteHint": "Couper les notifications du chat",
    "muteFailed": "Impossible de modifier.",
    "muted": "Notifications du chat coupées.",
    "unmuted": "Notifications du chat activées."
  },
  "leaderboard": {
    "title": "Classement",
    "subtitle": "Qui mène ?",
    "tabs": {
      "individual": "Individuel",
      "teams": "Équipes",
      "individualShort": "Individuel",
      "teamsShort": "Équipes"
    },
    "teams": {
      "girls": "Filles",
      "boys": "Garçons"
    },
    "teamScores": "Score des équipes",
    "vs": "VS",
    "excludedGames": "Jeux non encore comptabilisés (une seule équipe a joué) : ",
    "gameByGame": "Jeu par jeu",
    "notYetCounted": "Pas encore compté : {{games}}, car une seule équipe a joué.",
    "you": "Vous",
    "youLead": "vous menez",
    "gapToNext": "encore {{count}} pour la {{place}} place"
  },
  "gifts": {
    "title": "Cadeaux",
    "donateDiapers": "Offrir des couches",
    "diaperLineLabel": "Couches Taille {{size}}",
    "diaperLineStore_one": "{{count}} paquet de couches",
    "diaperLineStore_other": "{{count}} paquets de couches",
    "editTitle": "Modifier le cadeau",
    "newTitle": "Nouveau cadeau",
    "save": "Enregistrer",
    "add": "Ajouter",
    "cancel": "Annuler",
    "created": "Cadeau ajouté !",
    "admin": {
      "add": "Nouveau cadeau",
      "edit": "Modifier",
      "confirm": "Confirmer la livraison",
      "reset": "Libérer",
      "delete": "Supprimer",
      "confirmDelete": "Supprimer",
      "cancel": "Annuler",
      "markPurchased": "Marquer comme acheté par…"
    },
    "fields": {
      "name": "Nom du cadeau",
      "description": "Description (ex. : Poussette bleue)",
      "price": "Prix (ex. : 50 €)",
      "link": "Lien du produit (facultatif)",
      "image": "URL de l'image (facultatif)",
      "virtualOnly": "Virtuel uniquement (pas de remise en main propre)",
      "virtualOnlyHelp": "L'invité ne verra que l'option PIX pour ce cadeau, même si la baby shower autorise la remise en personne.",
      "externalOnly": "Achat externe (Amazon, etc.)",
      "externalOnlyHelp": "Le lien du cadeau emmène l'invité directement vers la boutique externe, qui livre à l'hôte. L'invité joint le reçu de l'achat (pas un reçu de paiement).",
      "priceLabel": "Prix"
    },
    "errors": {
      "profileRequired": "Vous devez compléter votre profil avant de donner.",
      "donationFailed": "Erreur lors du don",
      "unexpected": "Erreur inattendue",
      "saveFailed": "Échec de l'enregistrement",
      "noShower": "Baby shower introuvable.",
      "createFailed": "Impossible de créer le cadeau",
      "reserveFailed": "Impossible de réserver ce cadeau. Quelqu'un l'a peut-être réservé avant vous."
    },
    "goals": {
      "title": "Façons de participer",
      "diapers": "Offrir des couches",
      "gift": "Choisir un cadeau",
      "donatedDiapers_one": "{{count}} un",
      "donatedDiapers_other": "{{count}} un",
      "reservedGift": "réservé",
      "hintGift": "Et si vous choisissiez aussi un petit cadeau ? Sans pression 💛",
      "hintDiapers": "Vous pourriez aussi offrir quelques couches ? Chaque geste compte 💛",
      "allDone": "Merci d'avoir participé des deux façons ! 💝"
    },
    "diaperDialog": {
      "title": "Offrir des couches",
      "packSize": "1 paquet = {{count}} couches",
      "minusPack": "-1 pqt",
      "minusOne": "-1",
      "plusOne": "+1",
      "plusPack": "+1 pqt",
      "donatePix": "Donner via PIX",
      "donateInPerson": "Je vais l'apporter en personne",
      "confirm": "Confirmer le don",
      "unit": "Unitaire",
      "total": "Total",
      "donateNow": "Donner maintenant",
      "donateHint": "Vous choisirez à l'écran suivant si vous l'apportez vous-même ou si vous payez et envoyez la preuve.",
      "paymentInstructions": "Instructions de paiement",
      "packs_one": "{{count}} pqt",
      "packs_other": "{{count}} pqts",
      "plusUnits": " + {{count}} u",
      "units_one": "{{count}} unité",
      "units_other": "{{count}} unités",
      "itemLabel": "{{packs}} paquet(s) de couches ({{count}} u)",
      "donateHintDigital": "À l’étape suivante, envoyez le reçu de votre PIX ou virement.",
      "donateHintPlatform": "À l’étape suivante, vous payez avec PIX dans l’app. Les couches rejoignent la pile dès la confirmation du paiement.",
      "lessPack": "Un paquet de moins",
      "morePack": "Un paquet de plus",
      "packsLine_one": "{{count}} paquet · {{diapers}} couches",
      "packsLine_other": "{{count}} paquets · {{diapers}} couches",
      "raceTitle": "Tableau des dons",
      "raceGain": "+{{count}} pour l'équipe {{team}}",
      "raceNeed_one": "Encore {{count}} paquet et l'équipe {{team}} passe devant dans les dons.",
      "raceNeed_other": "Encore {{count}} paquets et l'équipe {{team}} passe devant dans les dons.",
      "raceOvertake": "Avec votre don l'équipe {{team}} passe devant dans les dons !",
      "raceAhead": "L'équipe {{team}} reste devant dans les dons.",
      "continueToPay": "Continuer vers le paiement",
      "payHintPlatform": "PIX ou carte jusqu'à 12x"
    },
    "methodPicker": {
      "title": "Comment voulez-vous faire un don ?",
      "subtitle": "Choisissez entre apporter en personne ou envoyer autrement.",
      "inPerson": "Donner en personne",
      "inPersonHint": "J'apporterai les couches à la fête. Je choisis la taille et la marque.",
      "remote": "Envoyer autrement",
      "remoteHint": "Virement, ou envoi postal. J'enverrai un justificatif.",
      "bringTitle": "Je les apporte le jour J",
      "bringHint": "Choisissez taille et quantité",
      "pixTitle": "J'envoie par PIX",
      "pixHint": "Directement aux parents, avec reçu"
    },
    "inPerson": {
      "title": "Donner en personne",
      "subtitle": "Choisissez la taille et la quantité.",
      "sizeLabel": "Taille",
      "brandLabel": "Marque acceptée",
      "qtyLabel": "Quantité",
      "noGoals": "Les hôtes n'ont pas encore défini d'objectifs par taille. Choisissez librement.",
      "confirm": "Confirmer le don",
      "remainingHint_one": "{{count}} couche restante pour atteindre l'objectif de cette taille.",
      "remainingHint_other": "{{count}} couches restantes pour atteindre l'objectif de cette taille.",
      "confirmBring": "C'est noté, je les apporte",
      "whichSize": "Quelle taille apportez-vous ?",
      "sizeDone": "complet",
      "sizeLeft_one": "reste {{count}}",
      "sizeLeft_other": "reste {{count}}",
      "sizeHelp": "Les chiffres en dessous indiquent ce qui manque encore de chaque taille dans l'objectif des parents.",
      "packs_one": "{{count}} paquet",
      "packs_other": "{{count}} paquets",
      "zoomImage": "Agrandir l'image",
      "openBrandLink": "Ouvrir le lien de la marque",
      "exceedsCap": "Cette taille est presque à l'objectif : il ne manque que {{count}} couches. Réduisez la quantité.",
      "atCap": "Vous avez atteint le maximum pour cette taille ({{count}} couches restantes). Pour donner plus, choisissez une autre taille."
    },
    "status": {
      "available": "disponibles",
      "reserved": "réservés",
      "bought": "achetés",
      "reserve": "Offrir",
      "reservedBy": "Réservé par {{name}}",
      "bought_status": "Acheté",
      "boughtBy": "Acheté par {{name}}"
    },
    "viewProduct": "Voir le produit",
    "emptyState": "Aucun cadeau enregistré pour l'instant",
    "donorRanking": {
      "title": "Classement des donateurs",
      "inDiapers": "en couches",
      "you": " (vous)",
      "moreDonors": "+{{count}} invités ont donné",
      "noUnitPriceHint": "Définissez un prix par couche dans les réglages de la baby shower pour convertir les cadeaux en couches."
    },
    "celebrations": {
      "tier1": [
        "Chaque couche compte ! 💛",
        "Un geste plein de tendresse ! 🍼",
        "Toute aide est la bienvenue ! ✨",
        "On part du bon pied ! 👣",
        "Le bébé vous remercie ! 🥰",
        "Petit geste, grand amour ! 💕",
        "Un joli début ! 🌱",
        "Le petit popotin du bébé vous remercie ! 🍑",
        "Une couche pleine d'amour ! 💝",
        "Couche après couche, on y arrive ! 🐾"
      ],
      "tier2": [
        "Waouh, ça fait déjà la différence ! 🌟",
        "Bébé sera bien au chaud et au sec ! 🧸",
        "De la générosité en couches ! 💕",
        "Maman et papa vous remercient ! 🤗",
        "Voilà ce qu'on appelle de l'amitié ! 💪",
        "Vous êtes incroyable, vous savez ? ✨",
        "Quelle belle contribution ! 👏",
        "Des nuits plus paisibles arrivent ! 🌙",
        "La pile grandit ! 📦",
        "Quel grand cœur ! 💖",
        "Le stock prend forme ! 🏗️",
        "Don 10/10 ! ⭐"
      ],
      "tier3": [
        "Mince, quelle générosité ! 🎉",
        "Bébé aura des couches pour des jours ! 🥳",
        "Vous assurez à fond ! 🔥",
        "Don de niveau pro ! 🏆",
        "Le stock prend une belle forme ! 📦",
        "Cette pile devient impressionnante ! 🗼",
        "Les parents n'en croiront pas leurs yeux ! 😍",
        "Des couches à n'en plus finir ! 🎊",
        "Vous êtes une bénédiction ! 🙏",
        "Ça c'est un super cadeau ! 🎁",
        "Changes garantis pour des semaines ! 📅",
        "Super contribution ! Merci infiniment ! 🦸"
      ],
      "tier4": [
        "Eh bien, ça fait beaucoup de couches ! 😱💕",
        "Super don ! Bébé a droit au luxe ! 👑",
        "Vous êtes l'ange des couches ! 😇",
        "Bébé n'aura aucun souci ! 💎",
        "Des nuits paisibles grâce à vous ! 🌙",
        "Stock PREMIUM activé ! 🚀",
        "Il pleut des couches ! ☔🍼",
        "Une montagne de couches en construction ! 🏔️",
        "Bébé vit son rêve ! 💫",
        "Don monumental ! 🗿",
        "Vous méritez une statue ! 🏛️",
        "Niveau de générosité : absurde ! 🤩"
      ],
      "tier5": [
        "LÉGENDAIRE ! Vous êtes au top ! 🏅✨",
        "Bébé est paré pour toute l'année ! 🤯",
        "Don épique ! Vous entrez dans l'histoire ! 📜",
        "Pluie de couches ! Une vraie tempête ! 🌧️🍼",
        "Bébé vous aimera pour toujours ! 💗💗💗",
        "Niveau : parrain/marraine des couches ! 👼",
        "Il faudra un entrepôt pour autant de couches ! 🏭",
        "Ce n'est plus un don, c'est un empire ! 🏰",
        "Bébé n'a jamais vu autant d'abondance ! 👶💰",
        "Entrée au Hall of Fame des couches ! 🎖️",
        "Couches infinies débloquées ! ♾️",
        "Record du monde de générosité ! 🌍🏆"
      ]
    },
    "scheme": {
      "mother": "Maman",
      "father": "Papa"
    },
    "diaperPix": {
      "title": "Envoyer le reçu",
      "subtitle": "Payez via PIX/instructions et téléversez votre reçu.",
      "packsLabel_one": "paquet de couches",
      "packsLabel_other": "paquets de couches",
      "unitsLabel": "un."
    },
    "tabs": {
      "diapers": "Couches",
      "gifts": "Cadeaux",
      "giftList": "Liste de cadeaux"
    },
    "noDiaperGoal": "Les hôtes n'ont pas encore défini d'objectif de couches.",
    "adminShortcutDiapers": "Gérer les couches",
    "bringReminderTitle": "Pensez à les apporter le jour J",
    "bringReminderDialogSubtitle": "N'oubliez pas d'apporter ces articles le jour de la baby shower :",
    "bringReminderDiapersHeading": "Couches",
    "bringReminderGiftsHeading": "Cadeaux",
    "bringReminderPacks": "{{count}} paquet(s)",
    "bringReminderUnits": "{{count}} couche(s)",
    "bringReminderSizeLabel": "Taille",
    "bringReminderEmpty": "Vous n'avez pas encore indiqué d'articles à remettre en personne.",
    "adminShortcutGifts": "Gérer les cadeaux",
    "reserveDialog": {
      "title": "Réserver un cadeau",
      "subtitle": "Choisissez comment envoyer le cadeau.",
      "titleExternal": "Acheter sur la boutique externe"
    },
    "external": {
      "step1Title": "1. Achète sur la boutique de l'hôte",
      "step1Help": "Le lien ouvre le checkout de la boutique. L'hôte y a configuré l'adresse de livraison, donc le cadeau lui est envoyé directement.",
      "openStore": "Ouvrir la boutique et acheter",
      "missingLink": "L'hôte n'a pas encore défini le lien de la boutique. Préviens-le par message.",
      "step2Title": "2. Joins le reçu de l'achat (facultatif)",
      "step2Help": "Capture de la confirmation de commande ou e-mail. Aide l'hôte à marquer le cadeau comme reçu plus tard.",
      "uploadCta": "Choisir un fichier",
      "uploading": "Envoi…",
      "proofAttached": "Reçu joint",
      "proofChange": "Touche le X pour changer",
      "removeProof": "Retirer",
      "confirmCta": "Confirmer la réservation",
      "cancelCta": "Annuler",
      "theStore": "la boutique",
      "atStore": "chez {{store}}",
      "openIn": "Ouvrir {{store}}",
      "attachOptional": "Joindre le reçu (facultatif)",
      "alreadyBought": "Je l'ai déjà acheté",
      "howItWorks": "Vous achetez en boutique et elle livre à l'adresse des parents. Revenez ensuite ici le marquer, pour que personne ne l'achète en double."
    },
    "markPurchased": {
      "title": "Marquer comme acheté",
      "subtitle": "Choisis qui a acheté {{name}}. L'article sera marqué comme livré.",
      "searchPlaceholder": "Rechercher un invité…",
      "noMatches": "Aucun invité trouvé.",
      "unknownGuest": "Invité",
      "confirmCta": "Marquer comme acheté",
      "cancelCta": "Annuler",
      "adminMarked": "Marqué comme acheté par l'hôte."
    },
    "diaperBreakdown": {
      "pack_one": "paquet",
      "pack_other": "paquets",
      "unit": "u",
      "diaper_one": "couche",
      "diaper_other": "couches",
      "looseDiaper_one": "couche en vrac",
      "looseDiaper_other": "couches en vrac"
    },
    "donateDiapersCta": "Donner des couches",
    "classic": {
      "titleFor": "Cadeaux pour {{name}}",
      "subtitle": "Directement aux parents. L'app ne prend rien ici.",
      "titleFor_girl": "Cadeaux pour {{name}}"
    },
    "viewInStore": "Voir en boutique",
    "giveCta": "Offrir",
    "youBought": "Vous l'avez acheté",
    "done": {
      "pixTitle": "Reçu !",
      "bringTitle": "C'est noté !",
      "externalTitle": "Marqué !",
      "pixDiapers": "Les parents vérifient le reçu et votre don rejoint la pile.",
      "pixGift": "Les parents vérifient le reçu et le cadeau est marqué comme le vôtre.",
      "bringSized_one": "Vous apportez {{count}} paquet {{size}}. On vous le rappelle la veille de la fête.",
      "bringSized_other": "Vous apportez {{count}} paquets {{size}}. On vous le rappelle la veille de la fête.",
      "bring_one": "Vous apportez {{count}} paquet. On vous le rappelle la veille de la fête.",
      "bring_other": "Vous apportez {{count}} paquets. On vous le rappelle la veille de la fête.",
      "bringGift": "Vous apportez {{name}} le jour J. On vous le rappelle la veille de la fête.",
      "external": "{{name}} apparaît maintenant comme le vôtre. Personne ne l'achètera en double.",
      "back": "Retour aux cadeaux"
    },
    "adminShortcutShort": "Gérer",
    "openImage": "Agrandir l'image"
  },
  "profile": {
    "notCreated": "Vous n'avez pas encore créé votre profil !",
    "create": "Créer un profil",
    "language": "Langue",
    "settings": "Paramètres"
  },
  "guestProfile": {
    "myProfile": "Mon Profil",
    "profile": "Profil",
    "you": "Vous",
    "points": "Points",
    "tickets": "Tickets",
    "overallRank": "Classement Général",
    "teamRank": "Dans l'Équipe",
    "editAvatar": "Éditer l'Avatar",
    "logout": "Déconnexion",
    "superAdminPanel": "Panneau SuperAdmin",
    "myShowers": "Mes Baby Showers",
    "notFound": "Nous n'avons pas trouvé cet invité",
    "back": "Retour",
    "knowsMom": "Connaît",
    "knowsDad": "Connaît",
    "knowsBoth": "Connaît les deux",
    "theMom": "la maman",
    "theDad": "le papa",
    "ordinal": "{{n}}e",
    "knows": {
      "mom": "connaît la maman",
      "dad": "connaît le papa",
      "both": "connaît les deux"
    },
    "teamPill": "équipe {{team}}",
    "pointsLower": "points",
    "edit": "Modifier",
    "ticketsShop": "tickets · boutique",
    "inTeam": "{{place}} dans l'équipe",
    "inRanking": "au classement",
    "games": "jeux",
    "bestGames": "Meilleurs jeux",
    "record": "record de la fête",
    "onMural": "Sur le mur",
    "messageCta": "Envoyer un message dans le chat",
    "myShowersRow": "Mes baby showers",
    "adminPanel": "Panneau de la fête",
    "adminPanelSub": "vous aidez à organiser",
    "notFoundBody": "Il a peut-être quitté la fête, ou le lien est erroné.",
    "unknownGame": "Jeu supprimé",
    "invitedViaTitle": "Visible par les administrateurs uniquement",
    "invitedVia": "Invitation : {{label}}",
    "pointsBreakdownTitle": "D'où viennent les points",
    "pointsBreakdownDesc": "{{name}} a gagné des points en jouant à ces jeux.",
    "total": "Total",
    "breakdownHint": "Chaque ligne est une manche terminée. Les jeux rejouables additionnent toutes les tentatives.",
    "noPointsYet": "N'a encore joué à aucun jeu de la baby shower."
  },
  "settings": {
    "title": "Paramètres",
    "language": {
      "title": "Langue",
      "desc": "Change seulement pour vous, sur cet appareil",
      "thisDevice": "sur cet appareil seulement"
    },
    "theme": {
      "title": "Thème",
      "system": "Automatique",
      "light": "Clair",
      "dark": "Sombre"
    },
    "adminPanel": {
      "title": "Panneau admin",
      "desc": "Paramètres de la baby shower, invitations, cadeaux et plus"
    },
    "sound": {
      "title": "Effets sonores",
      "desc": "Sons 8 bits des jeux",
      "titleShort": "Effets sonores"
    },
    "music": {
      "title": "Musique de fond",
      "desc": "Musique d'ambiance de la baby shower",
      "titleShort": "Musique de fond"
    },
    "push": {
      "title": "Notifications",
      "descAdmin": "Paiements, nouveaux invités et plus",
      "descGuest": "Annonces, jeux et publications",
      "toastEnabled": "Notifications activées 🔔",
      "toastDeniedTitle": "Notifications non activées",
      "toastDeniedDesc": "Permission refusée ou non prise en charge dans ce navigateur."
    }
  },
  "babyNameGame": {
    "loading": "Chargement...",
    "guestFallback": "Invité",
    "headerTitle": "Suggérez des prénoms pour le bébé !",
    "headerHint": "Vous pouvez envoyer autant de suggestions que vous voulez, garçon et/ou fille.",
    "boyLabel": "Prénom masculin",
    "boyPlaceholder": "Ex : Miguel, Arthur...",
    "girlLabel": "Prénom féminin",
    "girlPlaceholder": "Ex : Helena, Alice...",
    "submit": "Envoyer la suggestion",
    "mySubmissions_one": "Vous avez envoyé {{count}} suggestion. Vous pouvez en envoyer plus !",
    "mySubmissions_other": "Vous avez envoyé {{count}} suggestions. Vous pouvez en envoyer plus !",
    "topNames": "Prénoms les plus votés",
    "boyShort": "Garçon",
    "girlShort": "Fille",
    "totalSuggestions_one": "{{count}} suggestion",
    "totalSuggestions_other": "{{count}} suggestions",
    "removeSuggestion": "Supprimer la suggestion"
  },
  "shower": {
    "adminTools": "Outils de l'hôte",
    "back": "◀ Retour",
    "detailsTitle": "Détails de la baby shower",
    "guestSearch": {
      "placeholder": "Rechercher un invité par nom",
      "clear": "Effacer la recherche",
      "noResults": "Aucun invité trouvé."
    },
    "babyLabel": "Bébé : {{name}}",
    "dateLabel": "Date",
    "moment": {
      "liveTitle": "C'est aujourd'hui la baby shower !",
      "live": "en direct",
      "afterTitle": "C'était magnifique !",
      "afterThanks": "Merci d'en avoir fait partie. Tout ce qui s'est passé est gardé ici.",
      "winner": "Victoire à la corde : {{team}}",
      "tie": "Égalité à la corde",
      "guests": "invités",
      "diapers": "couches",
      "presentAt": "Tu es à {{venue}}. Présence confirmée.",
      "present": "Présence confirmée.",
      "diapersGoal": "couches, objectif atteint",
      "media": "photos et vidéos",
      "teamWon": "{{team}} ont gagné la corde"
    },
    "howToGetThere": "Itinéraire",
    "venueLabel": "Lieu",
    "themeLabel": "Thème",
    "confirmRsvp": "Confirmez votre présence",
    "autoRsvpConfirmed": "Présence confirmée 🎉 vous êtes à la baby shower !",
    "rsvp": {
      "going": "J'y vais !",
      "maybe": "Peut-être",
      "declinedTitle": "Je ne viens pas",
      "cancelHint": "Touchez à nouveau le même bouton pour annuler",
      "thanks": "Merci !",
      "question": "Tu viens ?",
      "undoHint": "touche encore pour annuler",
      "hostsHint": "les hôtes le voient tout de suite"
    },
    "rsvpMessages": {
      "confirmed": {
        "title": "Quelle joie ! 🎉",
        "emoji": "🥳",
        "lines": [
          "Votre présence rendra cette journée encore plus spéciale !",
          "Nous avons hâte de fêter ça avec vous !",
          "La baby shower ne serait pas la même sans vous ! 💕"
        ]
      },
      "maybe": {
        "title": "On croise les doigts ! 🤞",
        "emoji": "💛",
        "lines": [
          "On espère que vous pourrez venir, ce serait formidable !",
          "Confirmez quand vous saurez, pas de souci !",
          "Quelle que soit votre décision, vous êtes très cher(ère) ! 💛"
        ]
      },
      "declined": {
        "title": "Vous allez nous manquer ! 💕",
        "emoji": "🥺",
        "lines": [
          "Même absent(e), sachez que vous comptez beaucoup pour nous.",
          "Votre énergie et votre tendresse arrivent même de loin ! ✨",
          "Vous pouvez toujours changer d'avis. La porte reste ouverte ! 💗"
        ]
      }
    },
    "summary": {
      "confirmed": "Confirmés",
      "maybe": "Peut-être",
      "declined": "Ne viennent pas",
      "noResponse": "Sans réponse"
    },
    "guestList": {
      "guests": "Invités",
      "noResponseSection": "Sans réponse",
      "empty": "Aucun invité pour l'instant",
      "noTeam": "Sans équipe"
    },
    "adminShortcut": "Gérer l'événement",
    "schedule": {
      "title": "Programme",
      "viewAll": "Voir tout",
      "empty": "Aucun élément pour le moment.",
      "eventTzHint": "(heure de l'événement: {{time}} · {{tz}})",
      "startsIn": "dans {{mins}} min",
      "startingNow": "commence maintenant",
      "ended": "terminé",
      "hiddenTag": "admins uniquement",
      "adminOnlyBanner": "Admins uniquement (la fenêtre n'est pas encore ouverte aux invités)",
      "startsInHours_one": "dans {{count}} h",
      "startsInHours_other": "dans {{count}} h",
      "startsInDays_one": "dans {{count}} jour",
      "startsInDays_other": "dans {{count}} jours",
      "startsInWeeks_one": "dans {{count}} semaine",
      "startsInWeeks_other": "dans {{count}} semaines",
      "startsInMonths_one": "dans {{count}} mois",
      "startsInMonths_other": "dans {{count}} mois",
      "beginsIn": "commence {{when}}",
      "todayTitle": "Programme du jour",
      "upNext": "ensuite",
      "durationLabel": "{{count}} min"
    },
    "scheduleShortcut": "Modifier le programme",
    "export": {
      "button": "Exporter les invités",
      "buttonTitle": "Copie la liste des invités (CSV) dans le presse-papiers",
      "copied_one": "Liste copiée : {{count}} invité",
      "copied_other": "Liste copiée : {{count}} invités",
      "empty": "Aucun invité à exporter",
      "error": "Impossible de copier. Réessayez.",
      "cols": {
        "name": "Nom",
        "phone": "Téléphone",
        "team": "Équipe",
        "rsvp": "Présence",
        "joined": "Date d'inscription"
      },
      "rsvp": {
        "confirmed": "Confirmé",
        "maybe": "Peut-être",
        "declined": "Refusé",
        "none": "Sans réponse"
      },
      "dialogTitle": "Exporter les invités",
      "dialogDesc": "Choisissez le format et les champs. La liste est copiée dans le presse-papiers.",
      "formatLabel": "Format",
      "formatText": "Texte",
      "formatCsv": "CSV",
      "fieldAlways": "toujours",
      "copying": "Copie…",
      "copyButton": "Copier la liste"
    },
    "presence": {
      "confirmed": "confirmés",
      "maybe": "{{count}} peut-être",
      "declined": "{{count}} ne viennent pas",
      "waiting": "{{count}} sans réponse",
      "afterTitle": "Ceux qui étaient là",
      "seeAll": "Tout voir",
      "more": "+{{count}}"
    },
    "now": {
      "label": "Maintenant",
      "at": "Maintenant · {{time}}",
      "happening": "en cours",
      "startsIn": "commence dans {{when}}",
      "quizTitle": "Quiz en direct",
      "joinQuiz": "Rejoindre le quiz",
      "quizStep": {
        "tv": "La question s'affiche sur la télé de la salle",
        "phone": "Tu réponds ici sur ton téléphone",
        "fast": "Réponds vite, plus de points pour ton équipe"
      }
    },
    "activity": {
      "title": "Ce qui s'est passé à la fête",
      "more": "Voir plus"
    }
  },
  "showerApp": {
    "loading": "Chargement...",
    "notFound": "Baby shower introuvable",
    "notFoundDesc": "Ce lien est peut-être incorrect ou la baby shower a été supprimée.",
    "backHome": "Retour à l'accueil",
    "labels": {
      "date": "Date",
      "venue": "Lieu",
      "theme": "Thème",
      "activities": "Activités"
    },
    "activitiesDesc": "Jeux, cadeaux et bien plus !",
    "acceptInvite": "Accepter l'invitation",
    "letsJoin": "Allons-y !",
    "loginDescription": "Connectez-vous pour créer votre avatar, participer aux jeux et interagir avec les autres invités !",
    "signInGoogle": "Se connecter avec Google",
    "loginHint": "La connexion permet de sauvegarder votre progression et de vous identifier sur la baby shower.",
    "backToShowers": "Retour à Mes Baby Showers",
    "login": {
      "prompt": "Connectez-vous avec Google pour accéder à la baby shower."
    },
    "access": {
      "checking": "Vérification de l'accès…"
    },
    "denied": {
      "title": "Pas d'accès à cette baby shower",
      "bodyWithEmail": "Vous êtes connecté en tant que {{email}}, mais ce compte n'a pas été invité à \"{{title}}\".",
      "bodyNoEmail": "Votre compte n'a pas été invité à \"{{title}}\".",
      "hint": "Acceptez un lien d'invitation de l'hôte, ou connectez-vous avec un autre compte invité.",
      "switchAccount": "Se déconnecter et changer de compte"
    }
  },
  "tv": {
    "raffle": {
      "title": "Tirage au sort !",
      "winner": "Gagnant !"
    },
    "live": "EN DIRECT",
    "coverTag": "Baby shower",
    "welcome": "Bienvenue à la baby shower de {{name}}",
    "welcomeTwins": "Bienvenue à la baby shower de {{name}}",
    "countdownDays": "dans {{count}} jours",
    "countdownTomorrow": "c'est demain !",
    "countdownToday": "c'est aujourd'hui !",
    "happening": "ça se passe maintenant",
    "winnerTeam": "{{team}} en tête !",
    "tie": "Égalité !",
    "rankingTitle": "Classement",
    "raceTitle": "Frise de la fête",
    "raceStart": "Début de la fête",
    "raceNow": "Maintenant",
    "leadTook": "{{team}} prennent la tête",
    "raceEmpty": "Les jeux écriront l'histoire ici.",
    "topGamesTitle": "Jeux les plus joués",
    "gamesPlays": "{{count}} parties",
    "feedTitle": "En direct de la fête",
    "postsTitle": "Mur de la fête",
    "albumTitle": "Album du jour",
    "chatTitle": "Messages",
    "goalsTitle": "Objectifs",
    "goalsDiapers": "Couches",
    "goalsGifts": "Cadeaux",
    "guestsTitle": "{{count}} à la fête",
    "scanTitle": "Rejoignez la fête",
    "scanToJoin": "Pointez la caméra pour entrer",
    "changeInvite": "changer l'invitation",
    "pickInvite": "Choisissez l'invitation que le QR affichera :",
    "noInvites": "Aucune invitation. Créez-en une dans /admin → Invitations.",
    "inviteHostOnly": "Demande à l'hôte de configurer l'invitation de l'écran.",
    "scanFooter": "scannez le QR pour entrer",
    "empty": "Rien à afficher pour l'instant.",
    "today": "c'est aujourd'hui !",
    "tickerLabel": "en ce moment",
    "joinByPhone": "rejoignez sur le téléphone",
    "ropeTie": "Égalité à la corde !",
    "ropeAhead": "{{team}} en tête !",
    "someone": "Quelqu'un",
    "donationCeleb": "{{name}} a donné {{count}} couches !",
    "newRecordLabel": "Nouveau record !",
    "newDonationLabel": "Nouveau don !",
    "welcome_girl": "Bienvenue à la baby shower de {{name}}",
    "controls": {
      "prev": "Précédent",
      "pause": "Pause",
      "play": "Reprendre",
      "next": "Suivant",
      "fullscreen": "Plein écran"
    }
  },
  "games": {
    "tugOfWar": "Tir à la corde",
    "howItWorks": "Comment ça marche",
    "howItWorksTitle": "Comment fonctionne le Tir à la corde",
    "explanation": "Le résultat est calculé <strong>jeu par jeu</strong> : pour chaque jeu, on additionne les points de chaque équipe et on divise par le nombre de joueurs. On additionne ensuite les moyennes de tous les jeux.",
    "perGameBreakdown": "🎮 Détail par jeu",
    "waitingOtherTeam": "EN ATTENTE DE L'AUTRE ÉQUIPE",
    "average": "Moyenne",
    "noGamesCompleted": "Aucun jeu terminé pour l'instant.",
    "excludedHint": "Les points de ce jeu ne comptent que lorsque quelqu'un de l'autre équipe joue aussi.",
    "finalResult": "📐 Résultat final",
    "topPlayers": "🏆 Meilleurs joueurs",
    "playMore": "Jouez plus pour faire gagner des points à votre équipe !",
    "tie": "⚔️ Égalité !",
    "girlsLeading": "{{emoji}} {{label}} sont en tête !",
    "boysLeading": "{{emoji}} {{label}} sont en tête !",
    "teamLeading": "{{emoji}} {{label}} en tête !",
    "girlTeamFallback": "Équipe Rose",
    "boyTeamFallback": "Équipe Bleue",
    "playersCountGirls_one": "👧 {{count}} joueuse",
    "playersCountGirls_other": "👧 {{count}} joueuses",
    "playersCountBoys_one": "👦 {{count}} joueur",
    "playersCountBoys_other": "👦 {{count}} joueurs",
    "list": {
      "title": "Parcours de jeux",
      "completedCount_one": "{{completed}} sur {{total}}",
      "completedCount_other": "{{completed}} sur {{total}}",
      "playForTeam": "Jouez pour faire gagner des points à votre équipe !",
      "alreadyPlayed": "déjà joué",
      "playAgain": "✓ Rejouer",
      "tapToPlay": "touche pour jouer",
      "start": "COMMENCER",
      "yourBest": "ton record : {{score}}",
      "record": "record : {{score}}",
      "tieChip": "Égalité"
    },
    "noActiveGames": "Aucun jeu actif pour le moment",
    "noActiveGamesHint": "L'organisateur n'a pas encore créé de jeux",
    "comingSoon": "Bientôt à la baby shower",
    "locked": "🔒 Verrouillé",
    "availableIn": "Disponible {{rel}}",
    "unlockedIn": "• débloqué {{rel}}",
    "relativeTime": {
      "minutes_one": "dans {{count}} min",
      "minutes_other": "dans {{count}} min",
      "hours_one": "dans {{count}}h",
      "hours_other": "dans {{count}}h",
      "hoursMinutes": "dans {{h}}h {{m}}min",
      "days_one": "dans {{count}} jour",
      "days_other": "dans {{count}} jours",
      "weeks": "dans {{count}} sem",
      "months_one": "dans {{count}} mois",
      "months_other": "dans {{count}} mois"
    },
    "pastGames": "Jeux passés",
    "tieShort": "Égalité",
    "noPlays": "Aucune partie",
    "playsLabel": "parties",
    "adminShortcut": "Gérer les jeux",
    "common": {
      "start": "Commencer",
      "startArrow": "Commencer",
      "seeResult": "Voir le résultat",
      "next": "Suivant",
      "nextRound": "Manche suivante",
      "nextBox": "Boîte suivante",
      "result": "Résultat",
      "congrats": "Bravo !"
    },
    "formula": {
      "sumAvg": "Somme des moyennes",
      "total": "Total",
      "donations": "Dons (paquets)",
      "donationWeight": "Poids des dons",
      "gamesTied": "jeux à égalité",
      "gamesClear": "vainqueur clair aux jeux",
      "gamesAndDonations": "jeux + dons",
      "pctFromGames": "% jeux",
      "pctFromDonations": "% dons",
      "pctFinal": "% final",
      "donationsFlipped": "Les dons ont renversé la tête à {{team}}",
      "donationsAmplified": "Les dons ne font qu'amplifier, ils n'ont pas renversé le résultat",
      "tiebreaker": "départage"
    },
    "top3Avg": "Moyenne top 3",
    "overallRanking": "Classement général",
    "quickAdd": "Ajouter des jeux",
    "noPlayersYet": "Pas encore de scores",
    "finalResultLabel": "Résultat final",
    "finalizedTie": "Les équipes ont fait match nul !",
    "finalizedWon": "a gagné la tire à la corde !",
    "freeModeBadge": "Mode libre",
    "freeModeHint": "Continuez à jouer ! Les scores ne servent plus qu'au plaisir et n'affectent plus le résultat.",
    "editGame": "Modifier le jeu",
    "bulkAddedToast_one": "{{count}} jeu ajouté.",
    "bulkAddedToast_other": "{{count}} jeux ajoutés.",
    "scoreboard": {
      "openTooltip": "Voir le tableau du jeu",
      "subtitle": "Tableau de ce jeu",
      "noPlays": "Personne n'a encore joué.",
      "unknownGuest": "Invité",
      "teamsTitle": "Top 3 par équipe",
      "allTitle": "Tous les scores",
      "youSuffix": "(vous)"
    },
    "strollerDash": {
      "title": "Course de Poussette",
      "intro": "Évitez pierres, flaques et chats ! Attrapez tétines, biberons et nounours. Utilisez les boutons ou glissez pour changer de voie.",
      "laneLeft": "Voie de gauche",
      "laneRight": "Voie de droite",
      "swipeHint": "ou glisse le doigt sur la piste"
    },
    "saveBaby": {
      "title": "Sauve le Bébé",
      "intro": "Amenez le bébé du sol jusqu'au berceau ! Évitez les jouets et les animaux. Chaque traversée rapporte des points.",
      "crossings": "Traversées : {{n}}",
      "move": {
        "up": "Monter",
        "down": "Descendre",
        "left": "Gauche",
        "right": "Droite"
      }
    },
    "diaperChange": {
      "title": "Change de Couche",
      "intro": "Chaque bébé montre une icône de ce dont il a besoin. Touchez le bouton avec la MÊME icône avant la fin du temps ! Le caca prend 2 touches : essuyer puis changer. Les combos rapportent plus.",
      "item": {
        "bottle": "Biberon",
        "pacifier": "Tétine",
        "wipe": "Lingette",
        "diaper": "Couche"
      }
    },
    "diaperToss": {
      "title": "Lance la Couche",
      "intro": "Tirez la couche en arrière pour viser et relâchez pour la lancer dans le panier ! Visez le centre pour le bonus « panier propre ». Ne ratez pas trop !",
      "hint": "Tirez la couche en arrière et relâchez 🧺"
    },
    "babyRhythm": {
      "title": "Rythme du Bébé",
      "intro": "Les notes tombent ! Touchez la bonne flèche quand elle entre dans la zone. Complétez le cycle ← ↑ ↓ → pour jouer une phrase musicale !",
      "combo": "Combo",
      "perfect": "Parfait !",
      "good": "Bien !",
      "miss": "Raté !",
      "phrases": "Phrases musicales : {{n}}",
      "lane": {
        "L": "Flèche gauche",
        "U": "Flèche haut",
        "D": "Flèche bas",
        "R": "Flèche droite"
      }
    },
    "dice": {
      "title": "Jeu de Dés",
      "intro": "Lancez 2 dés à chaque tour. La somme rapporte des points. Doublé ? Points doublés !",
      "sumLabel": "Somme",
      "doublesChip": "DOUBLÉ !",
      "rolling": "Lancement...",
      "firstRoll": "Lancer",
      "nextRoll": "Relancer",
      "finalLabel": "Total final"
    },
    "result": {
      "label": "Résultat",
      "firstPlay": "Première partie ! +{{score}} pts",
      "ticketsEarned": "+{{count}} tickets",
      "newRecord": "Nouveau record ! +{{bonus}} pts bonus",
      "previousRecord": "Record précédent : {{prev}} pts · nouveau : {{next}} pts",
      "noRecord": "Record non battu · 0 pt gagné",
      "recordStays": "Votre record reste : {{prev}} pts",
      "showerRanking": "Classement du Baby Shower",
      "youSuffix": "(vous)",
      "playAgain": "Rejouer",
      "backToGames": "Retour aux Jeux",
      "tugTitle": "Tir à la corde",
      "tugFlipped": "Vous avez fait basculer la corde pour votre équipe !",
      "tugLeading": "Votre équipe mène le tir à la corde !",
      "tugWinning": "Votre équipe tire la corde dans ce jeu !",
      "tugNeeds": "Marquez +{{points}} pts pour tirer la corde dans ce jeu",
      "tugOppNotPlayed": "L'autre équipe n'a pas encore joué à ce jeu.",
      "tugCantFlip": "Ce jeu seul ne fait pas basculer la corde. Attendez que l'autre équipe y joue aussi.",
      "headlineGreat": "Bien joué !",
      "headlineRecord": "Nouveau record !",
      "headlineTry": "Bel essai !",
      "completed": "{{game}} terminé",
      "tilePoints": "Points",
      "tileTickets": "Tickets",
      "tileBonus": "Bonus",
      "tileRecord": "Record",
      "continue": "Continuer",
      "calculating": "Calcul du résultat...",
      "pushTitle": "Tu veux savoir quand le prochain jeu commence ?",
      "pushBody": "On te prévient quand un nouveau jeu s'ouvre à la baby shower et quand quelqu'un te parle.",
      "pushEnable": "Activer les alertes",
      "pushLater": "Pas maintenant",
      "replay": "Revoir l'animation",
      "ropeTitle": "Ta part de la corde",
      "gameRanking": "Classement du jeu",
      "rankingAll": "tout voir",
      "rankingLess": "voir moins",
      "climbed_one": "gagne {{count}} place",
      "climbed_other": "gagne {{count}} places",
      "runTime": "Ton temps : {{time}}"
    },
    "balloonPop": {
      "intro": "Faites éclater un max de ballons en {{duration}}s ! Même couleur = combo !",
      "combo": "Combo x{{n}}",
      "popLabel": "Éclater le ballon"
    },
    "colorMatch": {
      "intro": "Quelle est la COULEUR DE L'ENCRE ? Ignorez le mot ! Plus vite = plus de points.",
      "ask": "De quelle couleur est l'encre ?",
      "right": "Oui !",
      "wrong": "C'était {{answer}}"
    },
    "emojiDecode": {
      "intro": "Décodez la séquence d'emojis ! Que signifie cette combinaison ?",
      "prompt": "Qu'est-ce que ça veut dire ?",
      "opts": {
        "feeding": "L'heure du biberon",
        "bath": "L'heure du bain",
        "sleep": "L'heure du dodo",
        "play": "L'heure du jeu",
        "nightSleep": "Sommeil de nuit",
        "nightParty": "Fête de nuit",
        "nightWalk": "Promenade nocturne",
        "familyDinner": "Dîner en famille",
        "firstTooth": "Première dent",
        "firstBirthday": "Premier anniversaire",
        "firstStep": "Premier pas",
        "firstWord": "Premier mot",
        "doctorVisit": "Visite chez le médecin",
        "birth": "Naissance",
        "vaccination": "Vaccination",
        "ultrasound": "Échographie",
        "firstBath": "Premier bain",
        "firstSmile": "Premier sourire",
        "firstDiaper": "Première couche",
        "colic": "Coliques",
        "teething": "Poussée dentaire",
        "hunger": "Faim",
        "sleepy": "Sommeil",
        "swimming": "Natation",
        "bathTime": "L'heure du bain",
        "playtime": "Récréation",
        "beach": "Plage",
        "familyAlbum": "Album de famille",
        "idPhoto": "Photo d'identité",
        "selfie": "Selfie",
        "videoCall": "Appel vidéo",
        "moving": "Déménagement",
        "firstTrip": "Premier voyage",
        "babyDream": "Rêve de bébé",
        "parentsVacation": "Vacances des parents",
        "christmas": "Noël",
        "babyShower": "Baby shower",
        "birthday": "Anniversaire",
        "baptism": "Baptême",
        "studying": "Étude",
        "bedtimeStory": "Histoire du soir",
        "prayer": "Prière",
        "music": "Musique",
        "concert": "Concert",
        "lullaby": "Berceuse",
        "musicClass": "Cours de musique",
        "podcast": "Podcast",
        "solidsIntro": "Diversification alimentaire",
        "daycareParty": "Fête à la crèche",
        "picnic": "Pique-nique",
        "groceries": "Courses",
        "running": "Course",
        "firstSteps": "Premiers pas",
        "park": "Parc",
        "dancing": "Danse",
        "peekaboo": "Coucou",
        "fear": "Peur",
        "surprise": "Surprise",
        "diaperChange": "Changement de couche",
        "mealtime": "L'heure de manger",
        "cold": "Rhume",
        "firstDayOfSchool": "Première rentrée",
        "fever": "Fièvre",
        "chilly": "Froid",
        "sadness": "Tristesse",
        "accident": "Accident",
        "hospitalization": "Hospitalisation",
        "emergency": "Urgence",
        "recognizesMom": "Reconnaître maman",
        "watchingTv": "Regarder la télé",
        "mirror": "Se regarder dans le miroir",
        "playing": "Jouer",
        "school": "École",
        "firstDoodle": "Premier gribouillage",
        "gift": "Cadeau",
        "book": "Livre"
      }
    },
    "emojiMatch": {
      "intro": "Mémorisez les cibles et trouvez-les sur le plateau !",
      "memorize": "Mémorise !",
      "find": "Trouve-les tous",
      "count_one": "{{count}} sur le plateau",
      "count_other": "{{count}} sur le plateau"
    },
    "mathBlitz": {
      "intro": "Résolvez vite les calculs ! Combo = bonus. Plus vite = plus de points."
    },
    "mirrorPattern": {
      "intro": "Mémorisez le motif et recréez-le en miroir !",
      "memorize": "Mémorise ! Puis fais-le en miroir.",
      "recreate": "Maintenant, en miroir !",
      "confirm": "Valider",
      "compare": "Le résultat",
      "expected": "Attendu",
      "yours": "Le tien"
    },
    "mysteryBox": {
      "intro": "Choisissez une boîte mystère ! Chacune cache une surprise.",
      "pick": "Choisis une boîte !",
      "points": "+{{points}} points"
    },
    "oddOneOut": {
      "intro": "Repérez l'intrus dans la grille ! La grille grandit à chaque tour.",
      "prompt": "Tape l'intrus !",
      "found": "Trouvé !",
      "missed": "Pas celui-là !"
    },
    "perfectStop": {
      "intro": "Arrêtez l'aiguille dans la zone verte ! Plus proche du centre = plus de points.",
      "prompt": "Arrête sur le vert !",
      "stop": "STOP !",
      "perfect": "PARFAIT !",
      "inZone": "Dans la zone !",
      "out": "Raté !"
    },
    "priceGuess": {
      "intro": "Est-ce le vrai prix du produit pour bébé ? Devinez !",
      "items": {
        "premiumStroller": "Poussette premium",
        "diaperPack": "Paquet de couches (100un)",
        "videoMonitor": "Babyphone vidéo",
        "carSeat": "Siège auto",
        "bottleKit": "Kit de biberons (6 pièces)",
        "portableCrib": "Lit parapluie pliable",
        "nasalAspirator": "Mouche-bébé électrique",
        "nursingPillow": "Coussin d'allaitement",
        "thermometer": "Thermomètre digital bébé",
        "foldingBathtub": "Baignoire pliable",
        "sleepMonitor": "Moniteur de sommeil connecté",
        "pacifierPack": "Sucette orthodontique (3un)",
        "highChair": "Chaise haute",
        "layetteKit": "Trousseau 20 pièces",
        "clothDiapers": "Couches lavables (lot de 6)",
        "musicalWalker": "Trotteur musical",
        "sensoryMat": "Tapis sensoriel",
        "humidifier": "Humidificateur",
        "infantCarSeat": "Coque auto 0-13kg",
        "hygieneKit": "Kit d'hygiène bébé",
        "musicalMobile": "Mobile musical",
        "organizer": "Panier de rangement",
        "newbornDiapers": "Couches naissance (80un)",
        "nursingKit": "Kit d'allaitement complet"
      },
      "ask": "C'est le vrai prix ?",
      "fake": "Faux",
      "real": "Vrai",
      "right": "Bien joué !",
      "wrong": "Raté !",
      "realPrice": "Vrai prix :"
    },
    "risingBlocks": {
      "intro": "Les couches tombent ! Bougez le bébé avec ◀ ▶ ou tapez sur les côtés. Couche dorée = bonus. {{lives}} vies."
    },
    "sequenceMemory": {
      "intro": "Mémorisez et répétez la séquence lumineuse !",
      "watch": "Observe...",
      "yourTurn": "À toi ! {{done}}/{{total}}"
    },
    "reactionTime": {
      "cappedOut": "{{count}}× râté. Partie terminée",
      "title": "Temps de Réaction",
      "average": "Moyenne",
      "best": "Meilleur",
      "tapToStart": "Touche pour\ncommencer",
      "waitGreen": "Attends le\nvert...",
      "now": "MAINTENANT !",
      "tooEarly": "Trop tôt !\nRetouche",
      "tapArrow": "Touche →"
    },
    "speedEmoji": {
      "intro": "Une séquence apparaît vite ! Mémorisez l'ordre et répétez.",
      "memorize": "Mémorise la suite !",
      "which": "Symbole {{n}} sur {{total}}",
      "right": "Bonne suite !",
      "wrong": "Mauvaise suite !"
    },
    "stackTower": {
      "intro": "Empilez les blocs parfaitement ! Empilements parfaits = bonus.",
      "tapAnywhere": "Touche n'importe où pour lâcher le bloc !"
    },
    "targetShoot": {
      "intro": "🎯 Touche les cibles rouges et dorées. 💖 Les cœurs donnent un bonus. 💣 Ne touche pas les bombes !"
    },
    "trueFalse": {
      "intro": "Anecdotes sur les bébés ! Vrai ou faux ? Séries = bonus.",
      "question": "Vrai ou faux ?",
      "true": "Vrai",
      "false": "Faux",
      "right": "Oui ! +{{points}} pour ton équipe",
      "wrong": "Presque ! C'est {{answer}}.",
      "continue": "Continuer"
    },
    "whackAMole": {
      "intro": "Tapez les taupes le plus vite possible ! Combo = bonus."
    },
    "wordScramble": {
      "intro": "Trouvez le mot mélangé ! {{roundTime}}s par tour.",
      "undo": "Annuler",
      "right": "Oui !",
      "timeout": "Temps écoulé ! C'était {{word}}",
      "wrong": "C'était {{word}}"
    },
    "wordSearch": {
      "intro": "Trouvez {{count}} mots du monde du bébé. Glissez de la première à la dernière lettre (sens de lecture). Plus vite = plus de points. Temps : {{time}}s.",
      "endNow": "Terminer"
    },
    "babyMaze": {
      "intro": "Le bébé veut son biberon ! Guidez-le dans le labyrinthe (flèches/WASD ou tactile). {{rounds}} tours, de plus en plus dur.",
      "won": "Le biberon est atteint !",
      "timeUp": "Temps écoulé",
      "time": "Temps",
      "points": "Points",
      "steps_one": "{{count}} pas",
      "steps_other": "{{count}} pas",
      "retry": "Réessayer",
      "playAgain": "Rejouer celle-ci",
      "skip": "Passer",
      "hint": "Certains chemins tournent en rond. Ouvre l'œil.",
      "hintWall": "Un mur ! Essaie une autre direction.",
      "hintNear": "Presque. Le biberon est dans le coin du bas."
    },
    "donationLead": "mène en dons",
    "noDonations": "Aucun don",
    "donationFlipHint_one": "{{team}} a besoin de {{count}} paquet pour prendre la tête des dons",
    "donationFlipHint_other": "{{team}} a besoin de {{count}} paquets pour prendre la tête des dons",
    "donationRanking": "Classement des dons",
    "donationsTitle": "Couches + cadeaux payés",
    "totalPacotes": "Total",
    "flipAdvice": {
      "exact_tie": {
        "neutral": "Égalité ! Chaque partie gagnée et chaque don peuvent faire pencher la corde.",
        "self_leading": "Égalité. Continuez à jouer et à donner pour rester devant.",
        "self_trailing": "Égalité ! Gagnez la prochaine partie ou donnez des couches pour faire pencher la balance."
      },
      "donations_decisive": {
        "neutral": "Match nul. {{trailing}} a besoin de +{{gamePoints}} points dans les jeux ou {{packs}} paquet(s) donné(s) pour renverser.",
        "self_leading": "Match nul. Attention : {{trailing}} renverse avec +{{gamePoints}} points ou {{packs}} paquet(s) donné(s).",
        "self_trailing": "Match nul. Marquez +{{gamePoints}} points dans les jeux ou donnez {{packs}} paquet(s) pour que votre équipe prenne la tête."
      },
      "game_can_flip": {
        "neutral": "{{leader}} en tête. {{trailing}} peut renverser la corde en gagnant {{game}}.",
        "self_leading": "{{leader}} en tête. Attention : {{trailing}} peut riposter en jouant à {{game}}.",
        "self_trailing": "{{leader}} en tête. Gagnez {{game}} pour renverser la corde !"
      },
      "donations_can_flip": {
        "neutral": "{{leader}} mène. {{trailing}} peut renverser avec +{{gamePoints}} points dans les jeux ou {{packs}} paquet(s) donné(s).",
        "self_leading": "{{leader}} en tête ! {{trailing}} peut encore renverser avec +{{gamePoints}} points ou {{packs}} paquet(s) donné(s).",
        "self_trailing": "{{leader}} en tête. Marquez +{{gamePoints}} points dans les jeux ou donnez {{packs}} paquet(s) pour renverser !"
      },
      "leading": {
        "neutral": "{{leader}} domine la corde !",
        "self_leading": "Votre équipe domine ! 🎉 Continuez !",
        "self_trailing": "{{leader}} en tête. Continuez à jouer et à offrir des couches pour riposter !"
      },
      "game_can_flip_with_donations": {
        "neutral": "{{leader}} en tête. {{trailing}} peut renverser en gagnant {{game}}, ou en donnant {{packs}} paquet(s) de couches.",
        "self_leading": "{{leader}} en tête. Attention : {{trailing}} peut riposter en jouant à {{game}}, ou en offrant {{packs}} paquet(s) de couches.",
        "self_trailing": "{{leader}} en tête. Gagnez {{game}} pour renverser, ou donnez {{packs}} paquet(s) pour mener les dons !"
      },
      "donations_decisive_with_game": {
        "neutral": "Match nul ! {{trailing}} peut renverser en gagnant {{game}}, ou en donnant {{packs}} paquet(s) pour mener les dons.",
        "self_leading": "Match nul ! Attention : {{trailing}} peut riposter en jouant à {{game}}, ou en offrant {{packs}} paquet(s) de couches.",
        "self_trailing": "Match nul ! Gagnez {{game}} pour mener les jeux, ou donnez {{packs}} paquet(s) pour renverser les dons."
      }
    },
    "scratch": {
      "scratchAria": "Gratter la carte",
      "noLuck": "Pas de chance cette fois…",
      "hint": "Gratte avec le doigt",
      "cover": "GRATTE ICI",
      "almost": "Presque !"
    },
    "memory": {
      "title": "Jeu de Mémoire",
      "intro": "Trouve toutes les paires en un minimum de coups !",
      "movesIn": "{{moves}} coups en {{elapsed}}s",
      "movesLabel": "Coups",
      "hidden": "Carte cachée"
    },
    "rope": {
      "tie": "Égalité à la corde",
      "ahead": "{{team}} en tête de {{lead}} %"
    },
    "intro": {
      "playFor": "Tu joues pour",
      "noTeam": "ton équipe",
      "record": "Record de la fête",
      "noRecord": "personne n'a encore joué"
    },
    "pad": {
      "up": "Haut",
      "down": "Bas",
      "left": "Gauche",
      "right": "Droite"
    },
    "introGate": {
      "quiz": "Des questions sur les parents et le bébé. Réponds avant la fin du temps : plus tu es rapide, plus tu marques.",
      "reaction": "Attends que l'écran devienne vert et touche le plus vite possible. Toucher trop tôt ne compte pas.",
      "roulette": "Fais tourner la roue et croise les doigts. Chaque tour rapporte des points à ton équipe.",
      "scratch": "Gratte la carte avec le doigt et découvre combien de points tu as gagnés.",
      "slots": "Tire le levier et essaie d'aligner trois symboles identiques."
    },
    "quiz": {
      "question": "Question {{n}}",
      "right": "Oui ! +{{points}} pour ton équipe",
      "wrong": "Presque ! C'était {{answer}}.",
      "timeout": "Temps écoulé ! C'était {{answer}}.",
      "continue": "Continuer",
      "empty": "Aucune question disponible",
      "back": "Retour"
    },
    "clickBattle": {
      "tap": "TAPE !",
      "intro": "Tape le plus vite possible pendant {{seconds}} s !",
      "timeUp": "Temps écoulé !",
      "clicks_one": "{{count}} tape",
      "clicks_other": "{{count}} tapes"
    },
    "roulette": {
      "spin": "Tourner",
      "spinning": "Ça tourne…",
      "points": "{{n}} pts"
    },
    "slots": {
      "jackpot": "JACKPOT !",
      "total": "Total : {{points}} pts !",
      "pull": "Tirer"
    },
    "introDemo": {
      "blue": "Bleu",
      "pink": "Rose",
      "scratch": "GRATTE",
      "word": "BÉBÉ",
      "milestone": "Sourit pour la première fois",
      "months": "2 mois"
    },
    "ranking": {
      "all": "Tous",
      "count_one": "{{count}} joueur",
      "count_other": "{{count}} joueurs"
    },
    "lobbyTitle": "Jeux",
    "controls": {
      "moveLeft": "Aller à gauche",
      "moveRight": "Aller à droite"
    },
    "outfitMatch": {
      "title": "Habille Pareil",
      "intro": "Cinq manches de mémoire, chacune avec plus de pièces. Voici comment jouer :",
      "memorize": "Mémorise :",
      "look": "Look",
      "you": "Toi",
      "hidden": "Caché",
      "pieces": "Pièces",
      "pick": "Choisis : {{piece}}",
      "allPicked": "Tout est choisi ! Vérifie ou change une pièce",
      "check": "Vérifier",
      "perfect": "Pareil !",
      "partial": "{{right}} sur {{total}} pièces",
      "totalTime": "Temps total",
      "slots": {
        "shirt": "T-shirt",
        "pants": "Pantalon",
        "shoes": "Chaussures",
        "eyes": "Yeux",
        "accessory": "Accessoire"
      },
      "steps": {
        "look": {
          "title": "Mémorise le look",
          "body": "Un bébé apparaît habillé quelques secondes. À côté, la liste de ce qu'il faut retenir."
        },
        "dress": {
          "title": "Habille le tien pareil",
          "body": "Le look se cache. Touche la bonne pièce pour chaque élément ; chaque toucher passe au suivant."
        },
        "fast": {
          "title": "Bats le chrono",
          "body": "Quand tout est choisi, touche Vérifier. Plus tu es rapide, plus tu gagnes de points."
        }
      }
    }
  },
  "appHeader": {
    "pauseMusic": "Mettre la musique en pause",
    "playMusic": "Jouer la musique",
    "adminPanel": "Panneau admin",
    "superadminReadOnly": "Superadmin : lecture seule"
  },
  "home": {
    "live": {
      "now": "en direct"
    },
    "hero": {
      "daysUnit_one": "jour",
      "daysUnit_other": "jours",
      "today": "C'est aujourd'hui !",
      "daysLeft_one": "1 jour",
      "daysLeft_other": "{{count}} jours",
      "musicPause": "Mettre la musique en pause",
      "musicPlay": "Lancer la musique",
      "adminPanel": "Panneau d'administration"
    },
    "stats": {
      "points": "tes points",
      "diapers": "sur {{goal}} couches",
      "rank": "au classement",
      "rankValue": "{{pos}}e"
    },
    "loading": "Chargement...",
    "defaultShowerTitle": "Baby shower",
    "fallbackGuestName": "Invité",
    "activities": "Activités",
    "details": "Détails",
    "personalizeBaby": "Personnaliser le bébé",
    "choose": "Choisir",
    "onboarding": {
      "next": "Suivant →",
      "start": "Commencer ! 🎉",
      "skip": "Passer l'intro",
      "back": "← Retour",
      "steps": {
        "home": {
          "label": "Accueil",
          "description": "Votre fil principal ! Voyez les activités, postez des photos, suivez ce qu'il se passe et suggérez des prénoms pour le bébé."
        },
        "shower": {
          "label": "Baby shower",
          "description": "Détails de l'événement : date, lieu, thème. Confirmez votre présence et voyez qui vient !"
        },
        "games": {
          "label": "Jeux",
          "description": "Des jeux amusants pour rivaliser ! Gagnez des points pour votre équipe au tir à la corde et grimpez au classement."
        },
        "messages": {
          "label": "Messages",
          "description": "Chat en temps réel avec tous les invités. Envoyez des messages, des memes et fêtez ensemble !"
        },
        "gifts": {
          "label": "Cadeaux",
          "description": "Liste de cadeaux et don de couches. Réservez un cadeau ou contribuez avec des couches pour le bébé !"
        }
      }
    },
    "feed": {
      "shareSomething": "Partagez quelque chose avec la baby shower...",
      "comment": "Commenter...",
      "unpin": "Détacher",
      "pin": "Épingler",
      "hide": "Masquer",
      "viewComments_one": "Voir {{count}} commentaire",
      "viewComments_other": "Voir {{count}} commentaires",
      "gallery": "Galerie",
      "pinned": "Épinglés",
      "photo": "Photo",
      "photoOrVideo": "Photo / vidéo",
      "publish": "Publier",
      "publishConfirm": {
        "title": "Confirmer la publication",
        "description": "Vos publications sont vérifiées par l'organisateur avant d'apparaître.",
        "body": "Après envoi, votre publication reste en attente jusqu'à la validation de l'organisateur. Inutile de la renvoyer.",
        "cancel": "Annuler",
        "confirm": "Envoyer pour validation"
      },
      "noPosts": "Aucune publication pour l'instant",
      "beFirst": "Soyez le premier à partager !",
      "viewDetails": "Voir les détails →",
      "addBanner": "Ajouter une bannière",
      "sending": "Envoi… {{pct}}%",
      "sendingBanner": "Envoi de la bannière… {{pct}}%",
      "imageTooLargeAlert": "Image supérieure à 5 Mo. Choisissez-en une autre.",
      "imageTooLargeTitle": "Image trop grande",
      "imageTooLargeDesc": "Max 5 Mo. Essayez une image plus petite.",
      "invalidFileTitle": "Fichier invalide",
      "invalidFileDesc": "Choisissez une image.",
      "loginRequiredTitle": "Connectez-vous",
      "loginRequiredDesc": "Vous devez être connecté.",
      "saveFailedTitle": "Échec de l'enregistrement",
      "saveFailedDesc": "L'image a été envoyée mais n'a pas pu être associée à la baby shower.",
      "bannerUpdatedTitle": "Bannière mise à jour",
      "bannerUpdatedDesc": "Votre nouvelle couverture est visible.",
      "uploadFailedTitle": "Échec de l'envoi",
      "uploadFailedDesc": "Vérifiez votre connexion et réessayez.",
      "leaveNoteFor": "Laisse un mot pour {{name}}",
      "leaveNote": "Laisse un mot pour la baby shower",
      "postPhoto": "Publier une photo",
      "pinnedOn": "épinglé · {{date}}",
      "like": "J'aime",
      "commentAction": "Commenter",
      "roleMother": "Maman",
      "roleFather": "Papa",
      "removeImage": "Retirer l'image",
      "send": "Envoyer",
      "statusPending": "En attente de l'approbation de l'hôte",
      "statusRejected": "Publication refusée par l'hôte",
      "approve": "Approuver",
      "approveShort": "Approuver",
      "reject": "Refuser",
      "rejectShort": "Refuser",
      "edit": "Modifier",
      "deletePostConfirmTitle": "Supprimer la publication ?",
      "deletePostConfirmBody": "La publication sera retirée du mur. Cette action est irréversible.",
      "editPlaceholder": "Modifiez le texte…",
      "replacePhoto": "Remplacer / recadrer la photo",
      "addPhoto": "Ajouter une photo",
      "cancel": "Annuler",
      "save": "Enregistrer",
      "deleteCommentConfirmTitle": "Supprimer le commentaire ?",
      "publishFailed": "Impossible de publier.",
      "approveFailed": "Impossible d'approuver la publication.",
      "moderatePermDenied": "Essayez d'ouvrir la publication dans /admin si le problème persiste.",
      "rejectFailed": "Impossible de refuser la publication.",
      "rejectTitle": "Refuser la publication",
      "rejectHint": "Dites à l'auteur pourquoi la publication n'est pas approuvée (facultatif, mais utile).",
      "rejectReasonPlaceholder": "Ex. : Photo sans rapport avec la baby shower",
      "confirmReject": "Refuser",
      "leaveNoteFor_girl": "Laisse un mot pour {{name}}",
      "carouselPrev": "Précédent",
      "carouselNext": "Suivant",
      "carouselGoTo": "Voir l'élément {{n}}",
      "mediaLimit": "Jusqu'à {{max}} photos et vidéos par publication.",
      "mediaSomeFailed": "{{n}} fichier(s) n'ont pas été envoyés.",
      "removeMedia": "Retirer l'élément {{n}}",
      "moveMediaLeft": "Déplacer à gauche",
      "moveMediaRight": "Déplacer à droite",
      "addMedia": "Ajouter des photos ou vidéos",
      "addMore": "Plus",
      "editFailed": "La modification n'a pas pu être enregistrée.",
      "videoPlay": "Lire la vidéo",
      "videoSoundOn": "Activer le son",
      "videoSoundOff": "Couper le son",
      "convertShort": "Au chat",
      "convertToMessage": "Déplacer vers les messages",
      "convertConfirmTitle": "Déplacer vers les messages ?",
      "convertConfirmBody": "La publication quitte le mur et devient un message du chat, au nom de {{name}}.",
      "convertConfirm": "Déplacer",
      "convertedToMessage": "La publication est devenue un message du chat.",
      "convertFailed": "Impossible de la déplacer vers les messages."
    },
    "wizard": {
      "nameQuestion": "Quel est votre prénom ?",
      "phoneLabel": "Numéro de téléphone",
      "phonePlaceholder": "06 12 34 56 78",
      "namePlaceholder": "Saisissez votre prénom",
      "boyNameExample": "Ex : Lucas, Louis...",
      "girlNameExample": "Ex : Léa, Emma...",
      "boyNamesLabel": "Prénoms de garçon",
      "girlNamesLabel": "Prénoms de fille",
      "knowsTitle": "Qui connaissez-vous ?",
      "knowsSubtitle": "Connaissez-vous la maman, le papa, ou les deux ?",
      "knowsMom": "Je connais la maman",
      "knowsDad": "Je connais le papa",
      "knowsBoth": "Je connais les deux",
      "back": "Retour",
      "continue": "Continuer",
      "whoAreYouTitle": "Qui êtes-vous ?",
      "whoAreYouSubtitle": "Donnez votre prénom et téléphone pour qu'on vous identifie à la baby shower.",
      "avatarIntro": "Créons votre avatar !",
      "avatarIntroSubtitle": "Choisissez cheveux, vêtements et tout ce qui vous correspond.",
      "missingPhoneTitle": "Téléphone manquant",
      "missingPhoneDesc": "Revenez et confirmez votre téléphone avant de continuer.",
      "howCalled": "Comment on vous appelle ?",
      "yourName": "Votre prénom",
      "namePlaceholderNew": "Ex. : Tata Carla",
      "whatsapp": "WhatsApp",
      "whatsappWhy": "(pour les nouvelles de la fête)",
      "theMom": "La maman, {{name}}",
      "theDad": "Le papa, {{name}}",
      "both": "Les deux",
      "knowsTitleNew": "Qui connaissez-vous ?",
      "yourAvatar": "Votre avatar",
      "avatarN": "Avatar {{n}}",
      "customize": "Le créer moi-même",
      "joinTeam": "Rejoindre l'équipe",
      "joinedTitle": "Vous êtes dans l'équipe !",
      "joinedBody": "À vous de jouer : chaque jeu terminé ajoute des points à l'équipe {{team}}.",
      "goToShower": "Aller à la fête",
      "phoneInvalid": "Saisissez le numéro complet avec l'indicatif du pays"
    },
    "nameSuggestion": {
      "title": "Suggérer des prénoms",
      "titleAlt": "Suggérez un prénom pour le bébé !",
      "description": "Ajoutez autant de prénoms que vous voulez, garçon et/ou fille.",
      "addAnother": "+ Ajouter un autre prénom",
      "touchToSuggest": "Touchez pour suggérer des prénoms",
      "sent": "Suggestion envoyée. Touchez pour modifier",
      "submitted": "Suggestions envoyées !",
      "submitButton_one": "Envoyer {{count}} suggestion",
      "submitButton_other": "Envoyer {{count}} suggestions",
      "submitButtonEmpty": "Envoyer la suggestion",
      "myList_one": "Vos suggestions ({{count}})",
      "myList_other": "Vos suggestions ({{count}})",
      "removeSuggestion": "Retirer la suggestion",
      "removeCard": "Retirer la carte",
      "reopen": "Proposer un prénom",
      "remove": "Retirer"
    },
    "activitiesFeed": {
      "joinedShower": "a rejoint la baby shower",
      "completedGames_one": "a terminé {{count}} jeu",
      "completedGames_other": "a terminé {{count}} jeux",
      "reservedGifts_one": "a réservé {{count}} cadeau",
      "reservedGifts_other": "a réservé {{count}} cadeaux",
      "teamUpdates_one": "{{count}} mise à jour d'équipe",
      "teamUpdates_other": "{{count}} mises à jour d'équipe",
      "actions_one": "{{count}} action",
      "actions_other": "{{count}} actions",
      "removeActivity": "Retirer l'activité",
      "removeActivities": "Retirer les activités",
      "viewAll": "Tout voir",
      "detailTitle": "Activité",
      "allDescription": "Tout ce qui s'est passé à la baby shower jusqu'à présent.",
      "empty": "Rien ici pour le moment.",
      "groupCount_one": "{{count}} activité",
      "groupCount_other": "{{count}} activités",
      "tugFlipGirl": "{{actor}} a fait basculer la corde pour les filles !",
      "tugFlipBoy": "{{actor}} a fait basculer la corde pour les garçons !",
      "completedGame": "{{actor}} a terminé {{game}} !",
      "reservedGift": "{{actor}} a réservé {{item}} !",
      "records": {
        "firstRecord": "🏆 {{actor}} a établi le premier record dans {{game}} : {{score}} points !",
        "beatSelf": "🏆 {{actor}} a battu son propre record dans {{game}} : {{score}} points (précédent : {{prev}}) !",
        "beatOther": "🏆 {{actor}} a battu le record de {{target}} dans {{game}} : {{score}} points (précédent : {{prev}}) !"
      }
    },
    "avatarTabs": {
      "skin": "Peau",
      "hair": "Cheveux",
      "shirt": "Haut",
      "pants": "Bas",
      "hat": "Chapeau",
      "accessory": "Access."
    },
    "gender": {
      "boy": "Garçon",
      "girl": "Fille"
    },
    "team": {
      "questionTitle": "Quelle équipe soutenez-vous ?",
      "greeting": "Salut, {{name}} ! {{prompt}}",
      "pickTitle": "Choisissez votre équipe",
      "pullTeam": "Chacun de vos points tire la corde pour l'équipe.",
      "pullSide": "Chacun de vos points tire la corde de votre côté.",
      "playingShare": "{{count}} joueurs · {{pct}} %"
    },
    "superadminView": {
      "title": "Vous êtes ici en tant que superadmin",
      "body": "Ceci est la vue invité, et vous n'êtes pas invité de cette baby shower. Rien ici ne vous est destiné. Ce qui peut être fait, faites-le depuis le panneau, où c'est enregistré à votre nom.",
      "cta": "Aller au panneau"
    },
    "notifPrompt": {
      "title": "Recevez les alertes de la baby shower",
      "subtitle": "On vous prévient quand un jeu commence, quand quelqu'un écrit et quand il se passe quelque chose d'important.",
      "body": "Activez les notifications pour ne rien manquer. Vous pouvez les couper à tout moment dans les réglages du navigateur.",
      "enable": "Activer les notifications"
    }
  },
  "teams": {
    "gender": {
      "boy": {
        "label": "Garçon",
        "short": "Garçons",
        "emoji": "👦"
      },
      "girl": {
        "label": "Fille",
        "short": "Filles",
        "emoji": "👧"
      }
    },
    "family": {
      "boy": {
        "label": "Équipe Papa",
        "short": "Papa",
        "emoji": "👨"
      },
      "girl": {
        "label": "Équipe Maman",
        "short": "Maman",
        "emoji": "👩"
      }
    }
  },
  "theme": {
    "colorLabel": "Couleur principale",
    "patternLabel": "Style de fond",
    "colors": {
      "orange": "Orange",
      "pink": "Rose",
      "rose": "Rose foncé",
      "blue": "Bleu",
      "sky": "Ciel",
      "teal": "Bleu-vert",
      "green": "Vert",
      "lime": "Citron vert",
      "yellow": "Jaune",
      "purple": "Violet",
      "lavender": "Lavande",
      "red": "Rouge",
      "brown": "Marron",
      "slate": "Ardoise"
    },
    "patterns": {
      "grid": "Grille",
      "dots": "Pois",
      "diagonal": "Rayures",
      "hearts": "Cœurs",
      "stars": "Étoiles",
      "waves": "Vagues",
      "confetti": "Confettis",
      "checker": "Damier",
      "none": "Aucun motif"
    }
  },
  "engagement": {
    "title": {
      "enjoyShower": "Profitez au max de la baby shower",
      "getAlerts": "Recevez les avis de la baby shower",
      "addShortcut": "Ajoutez un raccourci à l'écran d'accueil"
    },
    "desc": {
      "bothActions": "Activez les notifications et ajoutez un raccourci pour ne rien manquer.",
      "pushOnly": "On vous prévient des nouveaux jeux, messages et moments forts.",
      "installOnly": "Accédez à la baby shower en un toucher depuis l'écran d'accueil."
    },
    "cta": {
      "enableNotifications": "Activer les notifications",
      "installShortcut": "Ajouter le raccourci"
    },
    "install": {
      "iosInstructions": "Sur iPhone : touchez Partager puis Ajouter à l'écran d'accueil.",
      "iosOtherBrowserInstructions": "Ouvrez cette page dans Safari, touchez Partager puis Ajouter à l'écran d'accueil."
    },
    "toast": {
      "notificationsOn": "Notifications activées 🔔",
      "notificationsFailed": "Impossible d'activer",
      "notificationsFailedDesc": "Vous pouvez réessayer depuis les Paramètres.",
      "shortcutAdded": "Raccourci ajouté 🎉"
    }
  },
  "pix": {
    "copy": {
      "copied": "Copié",
      "copy": "Copier",
      "copiedBang": "Copié !"
    },
    "brCode": {
      "label": "Pix copier-coller",
      "copyButton": "Copier le code",
      "hint": "Collez dans le champ « Pix copia e cola » de votre banque. Le montant est pré-rempli.",
      "copyShort": "Code"
    },
    "chooseTitle": "Comment veux-tu offrir ?",
    "inPersonTitle": "Livrer en personne",
    "inPersonHint": "Je l'apporterai le jour de la baby shower.",
    "inPersonBody": "Super ! On réserve l'article pour toi. Apporte-le le jour de l'événement.",
    "sendTitle": "Envoyer autrement",
    "sendHintPix": "PIX, virement ou ce que tu as convenu avec l'hôte.",
    "sendHint": "Virement, app de paiement ou tout autre moyen convenu.",
    "confirm": "Confirmer",
    "submit": "Envoyer",
    "payAndSendReceipt": "Payer et envoyer le reçu",
    "keyLabel": "Clé PIX",
    "keyType": {
      "email": "E-mail",
      "phone": "Téléphone",
      "random": "Aléatoire"
    },
    "instructionsLabel": "Instructions de paiement",
    "noInstructions": "L'hôte n'a pas encore ajouté d'instructions de paiement. Coordonne directement avec l'organisateur et envoie le reçu ici.",
    "receiptLabel": "Reçu",
    "receiptHint": "(image ou PDF)",
    "clickToUpload": "Clique pour envoyer",
    "uploadFormats": "PNG, JPG, WEBP ou PDF (max 10 Mo)",
    "uploading": "Envoi de {{name}}…",
    "receiptSent": "Reçu envoyé",
    "bringTitle": "Je l'apporte le jour J",
    "bringHint": "Je le remets en main propre à la fête",
    "pixTitle": "J'envoie par PIX",
    "pixHint": "Directement aux parents, avec reçu",
    "bringConfirm": "C'est noté, je l'apporte",
    "toParentsTitle": "PIX aux parents",
    "amountLine": "Montant : {{amount}}",
    "attachReceipt": "Joindre le reçu du PIX",
    "receiptAttached": "{{name}} joint",
    "removeReceipt": "Retirer le reçu",
    "sendReceipt": "Envoyer le reçu",
    "errors": {
      "fileType": "Format non pris en charge. Utilisez PNG, JPG, WEBP ou PDF.",
      "fileTooBig": "Fichier trop volumineux. 10 Mo maximum.",
      "uploadFailed": "Impossible d'envoyer le justificatif. Réessayez."
    }
  },
  "event": {
    "back": "Retour",
    "loading": "Chargement du jeu...",
    "backToLobby": "Retour au lobby",
    "notFound": {
      "title": "Jeu introuvable"
    },
    "locked": {
      "scheduled": "Ce jeu est encore verrouillé. Retournez au lobby pour voir quand il se débloque.",
      "ended": "Ce jeu est terminé. Voyez votre résultat dans le lobby.",
      "completed": "Vous avez déjà joué à ce jeu. Pas de revanche. Voyez votre résultat dans le lobby.",
      "titleScheduled": "Ce jeu n'est pas encore ouvert",
      "titleEnded": "Ce jeu est terminé",
      "titleCompleted": "Tu as déjà joué à celui-ci",
      "yourScore": "Tu as fait {{score}} points et tu es {{rank}}e.",
      "nextGame": "Prochain jeu : {{game}}.",
      "playNext": "Jouer au suivant",
      "backToTrail": "Retour au parcours",
      "opensAt": "Il ouvre {{when}}.",
      "nextInSchedule": "Au programme, le suivant est {{game}}.",
      "viewResult": "Voir mon résultat"
    }
  },
  "footer": {
    "privacy": "Confidentialité",
    "terms": "Conditions"
  },
  "invites": {
    "title": "Liens d'invitation",
    "help": "Créez des liens d'invitation pour des personnes ou groupes. Le destinataire voit le nom auquel l'invitation est adressée, mais le code du lien reste opaque. Vous voyez qui a rejoint par chaque lien.",
    "labelLabel": "Nom (personne ou groupe)",
    "labelInput": "Nom ou groupe",
    "labelPlaceholder": "Ex. : Marie, Famille du papa…",
    "labelRequired": "Indiquez un nom.",
    "kindPerson": "Personne",
    "kindGroup": "Groupe",
    "create": "Créer l'invitation",
    "createNew": "Créer une nouvelle",
    "creating": "Création…",
    "created": "Invitation créée.",
    "createFailed": "Impossible de créer l'invitation.",
    "copy": "Copier",
    "copied": "Copié",
    "copyLink": "Copier le lien",
    "copyFailed": "Copiez manuellement.",
    "close": "Fermer",
    "delete": "Supprimer",
    "deleteConfirm": "Supprimer cette invitation ? Les invités déjà entrés restent dans la baby shower.",
    "deleteFailed": "Impossible de supprimer.",
    "empty": "Aucune invitation créée.",
    "loading": "Chargement…",
    "count_one": "{{count}} invitation",
    "count_other": "{{count}} invitations",
    "totalUsage_one": "{{count}} entrée enregistrée",
    "totalUsage_other": "{{count}} entrées enregistrées",
    "usedBy": "Entrés par ce lien",
    "notUsedYet": "Personne n'est encore entré par ce lien.",
    "existingTitle": "Invitations existantes",
    "quickCreate": "Créer une invitation",
    "quickCreateTitle": "Invitation rapide",
    "quickCreatedHint": "C'est prêt ! Partagez ce lien avec la personne ou le groupe :"
  },
  "common": {
    "cancel": "Annuler",
    "confirm": "Confirmer",
    "back": "Retour",
    "close": "Fermer"
  },
  "reactions": {
    "viewerTitle": "Réactions",
    "tabAll": "Toutes",
    "empty": "Personne n'a encore réagi.",
    "unknownGuest": "Invité supprimé",
    "tapToSeeWho": "Voir qui a réagi",
    "add": "Ajouter une réaction"
  },
  "guests": {
    "editor": {
      "rsvpLabel": "RSVP",
      "rsvpConfirmed": "Vient",
      "rsvpMaybe": "Peut-être",
      "rsvpDeclined": "Ne vient pas",
      "rsvpNone": "Sans réponse",
      "saveFailed": "Échec de l'enregistrement",
      "phoneFailed": "Le téléphone n'a pas été enregistré",
      "parentLabel": "Rôle dans la baby shower",
      "parentNone": "Invité",
      "parentMom": "Maman",
      "parentDad": "Papa",
      "knowsUnset": "Non renseigné",
      "title": "Modifier l'invité",
      "titleWithName": "Modifier {{name}}",
      "subtitle": "Ajustez les informations saisies par l'invité.",
      "save": "Enregistrer",
      "nameLabel": "Nom",
      "namePlaceholder": "Nom de l'invité",
      "phoneLabel": "Téléphone",
      "teamLabel": "Équipe",
      "knowsLabel": "Qui il connaît"
    },
    "parentBadge": {
      "mom": "Maman",
      "dad": "Papa"
    }
  },
  "avatarBuilder": {
    "tabs": {
      "companion": "Animaux",
      "skin": "Peau",
      "eyes": "Yeux",
      "hair": "Cheveux",
      "shirt": "Haut",
      "pants": "Pantalon",
      "shoes": "Chaussures",
      "hat": "Chapeau",
      "accessory": "Extra"
    },
    "companion": {
      "empty": "Achète des animaux dans la boutique pour les équiper ici."
    },
    "none": "Aucun",
    "surprise": "Surprise",
    "hairColor": "Couleur des cheveux",
    "pacifierColor": "Couleur de la tétine"
  },
  "shop": {
    "items": {
      "c5": {
        "name": "Chiot",
        "desc": "Un chiot fidèle à tes côtés"
      },
      "c6": {
        "name": "Hamster",
        "desc": "Un hamster tout doux sur la joue"
      }
    },
    "errors": {
      "unlockFailed": "Échec de l'achat"
    },
    "trying": "essai : {{name}}",
    "hint": "Chaque jeu terminé rapporte des tickets.",
    "tile": {
      "using": "porté",
      "yours": "à vous",
      "price": "{{price}} tickets"
    },
    "cta": {
      "pick": "Choisissez un article à essayer",
      "takeOff": "Retirer {{name}}",
      "wear": "Porter {{name}}",
      "buy": "Acheter pour {{price}} tickets",
      "missing_one": "Il manque {{count}} ticket",
      "missing_other": "Il manque {{count}} tickets"
    },
    "toast": {
      "wearing": "Vous portez maintenant {{name}}",
      "needTickets": "Jouez encore un peu pour gagner des tickets",
      "bought": "{{name}} est à vous !"
    },
    "filters": {
      "all": "Tout",
      "hat": "Chapeaux",
      "accessory": "Accessoires",
      "held": "En main",
      "back": "Dos",
      "aura": "Auras",
      "companion": "Animaux",
      "outfit": "Tenues",
      "special": "Spécial"
    },
    "takeOffWarn": {
      "title": "Retirer {{name}} ?",
      "body": "Seuls les animaux sont conservés. Retiré maintenant, tu peux le remettre gratuitement pendant cette visite ; ensuite, il faudra le racheter.",
      "confirm": "Retirer",
      "cancel": "Garder"
    }
  },
  "pendingShower": {
    "ownerTitle": "Confirmation de votre paiement",
    "guestTitle": "Cette baby shower n'est pas encore disponible",
    "ownerBody": "Dès que le paiement est confirmé, la baby shower s'ouvre toute seule et le lien devient disponible pour vos invités. Cela prend en général quelques secondes.",
    "guestBody": "L'organisateur n'a pas encore activé cette baby shower. Réessaie plus tard.",
    "backLink": "Retour à Mes Baby Showers",
    "ownerSlow": "La confirmation prend plus de temps que d'habitude. Si vous avez terminé le paiement, rechargez cette page dans quelques minutes. Sinon, revenez au paiement.",
    "retryPayment": "Revenir au paiement"
  },
  "header": {
    "referralProgram": "Programme de Parrainage"
  },
  "affiliate": {
    "pageTitle": "Programme de Parrainage",
    "seoTitle": "Programme de Parrainage · BabyParty",
    "seoDescription": "Recommande BabyParty à tes amis et gagne une commission sur chaque baby shower créée par ton lien.",
    "signedOut": {
      "title": "Connecte-toi pour participer",
      "body": "Connecte-toi pour postuler au programme de parrainage et commencer à gagner une commission.",
      "cta": "Se connecter"
    },
    "apply": {
      "bullet2": "Paiements via PIX à partir de R$50 / 10€",
      "bullet3": "Tableau de bord pour suivre tes ventes en temps réel",
      "formTitle": "Parle-nous de toi",
      "channelLabel": "Autres canaux",
      "channelPlaceholder": "TikTok, blog, groupe WhatsApp, YouTube…",
      "audienceLabel": "Taille approximative de l'audience",
      "audiencePlaceholder": "Ex : 10k abonnés Instagram",
      "payoutMethodLabel": "Mode de paiement",
      "payoutMethod": {
        "pix": "PIX",
        "stripe_connect": "International (Stripe)",
        "manual": "Autre"
      },
      "payoutDestinationLabel": {
        "pix": "Clé PIX",
        "stripe_connect": "Compte Stripe Connect",
        "manual": "Détails de paiement"
      },
      "payoutDestinationPlaceholder": {
        "pix": "CPF, email, téléphone ou clé aléatoire",
        "stripe_connect": "ID du compte Stripe Connect",
        "manual": "Décris comment tu souhaites être payé"
      },
      "taxIdLabel": "Numéro fiscal (CPF/CNPJ)",
      "taxIdPlaceholder": "Tu peux remplir plus tard. Requis seulement au premier retrait",
      "acceptTerms": "J'ai lu et j'accepte les conditions du programme d'affiliation.",
      "submitButton": "Envoyer la candidature",
      "bullet2Intl": "Paiements internationaux via Stripe Connect ou virement manuel",
      "eyebrow": "Candidature",
      "formSubtitle": "Chaque candidature est examinée manuellement. 2 minutes à remplir, jusqu'à 48h pour approuver.",
      "sections": {
        "channelTitle": "Ton canal",
        "channelHint": "Comment vas-tu toucher les couples qui utiliseront BabyParty ?",
        "motivationTitle": "Pourquoi veux-tu participer ?",
        "motivationHint": "Deux lignes sur pourquoi BabyParty correspond à ton audience accélèrent l'approbation.",
        "payoutTitle": "Comment souhaites-tu être payé(e) ?",
        "payoutHint": "Tu pourras modifier cela plus tard dans ton tableau de bord."
      },
      "instagramLabel": "Instagram",
      "instagramPlaceholder": "tonpseudo",
      "instagramHint": "On regardera ton profil public pour comprendre ta portée.",
      "audienceBucket": {
        "lt_1k": "< 1K",
        "1k_5k": "1K à 5K",
        "5k_20k": "5K à 20K",
        "20k_100k": "20K à 100K",
        "gt_100k": "100K+"
      },
      "motivationPlaceholder": "Parle-nous un peu de ton audience et de comment tu prévois de partager BabyParty…",
      "motivationMinHint": "Au moins 20 caractères.",
      "charactersLeft": "caractères restants",
      "acceptTermsPrefix": "J'ai lu et j'accepte les",
      "acceptTermsLink": "Conditions du Programme d'Affiliation",
      "reviewTime": "Chaque candidature est examinée manuellement, généralement sous 48 heures.",
      "payoutManualNotice": "À noter : le retrait automatique ne fonctionne aujourd'hui que par Pix (Brésil). Avec un autre moyen, votre commission est bien enregistrée, mais le virement est organisé manuellement avec nous. Dites-nous dans le message ci-dessous comment vous préférez être payé.",
      "channelOneOf": "Renseignez votre Instagram, d'autres canaux, ou les deux."
    },
    "pending": {
      "title": "Candidature en cours d'analyse",
      "body": "Nous avons reçu ta candidature et l'analysons. Tu recevras une réponse ici et par notification sous 48h.",
      "submittedAt": "Envoyée le {{date}}",
      "withdraw": "Annuler la candidature"
    },
    "rejected": {
      "title": "Candidature non approuvée",
      "cooldown": "Tu peux postuler à nouveau à partir du {{date}}."
    },
    "dashboard": {
      "codeTitle": "Ton code de parrainage",
      "copy": "Copier",
      "share": "Partager",
      "shareUrl": "Lien prêt : {{url}}",
      "brOnlyNote": "Le coupon n'est actuellement accepté qu'aux checkouts brésiliens (PIX/carte BR). Le support Stripe international arrive bientôt.",
      "redemptions": "Parrainages",
      "statusBanner": {
        "paused": "Ton compte d'affilié est en pause.",
        "revoked": "Ton compte d'affilié a été révoqué."
      },
      "attributionWindow": "Quiconque clique sur ton lien a 30 jours pour créer une baby shower et te faire gagner une commission, même s'il oublie de coller le coupon au paiement.",
      "swapCta": "Changer mon code (1× autorisé)",
      "swapAlreadyUsed": "Code déjà personnalisé. Pas d'autres changements possibles.",
      "swapTitle": "Personnalise ton code",
      "swapDescription": "Choisis un code mémorable (4 à 12 lettres/chiffres). Tu ne peux le faire qu'une seule fois.",
      "swapCurrent": "Code actuel",
      "swapNew": "Nouveau code",
      "swapHint": "5 à 12 caractères. Lettres A–Z et chiffres 0–9 uniquement. Pas de mots réservés.",
      "swapConfirm": "Changer le code",
      "swapSuccess": "Code modifié",
      "swapErrors": {
        "codeTaken": "Ce code est déjà pris.",
        "alreadyChanged": "Tu as déjà utilisé ton changement de code autorisé.",
        "invalid": "Code invalide : utilise 4 à 12 lettres ou chiffres.",
        "generic": "Impossible de changer le code.",
        "length": "Le code doit faire 5 à 12 caractères.",
        "chars": "Uniquement lettres A–Z et chiffres 0–9.",
        "numericOnly": "Le code ne peut pas être que des chiffres. Ajoute au moins une lettre.",
        "reserved": "Ce code semble trop générique ou réservé (admin, test, officiel, …). Essaie quelque chose de plus personnel."
      },
      "copied": "Copié !",
      "salesCount": "ventes",
      "toReceive": "à recevoir",
      "demoTitle": "Baby shower de démonstration",
      "demoDesc": "Une baby shower complète, déjà pleine de jeux, scores, cadeaux, dons de couches, mur et chat. Montrez les deux vues à vos clients. Vos modifications restent dans ce navigateur et peuvent être réinitialisées.",
      "demoAdmin": "Ouvrir en tant qu'hôte",
      "demoGuest": "Ouvrir en tant qu'invité",
      "demoReset": "Démo réinitialisée",
      "demoResetCta": "Réinitialiser les données de la démo"
    },
    "share": {
      "title": "BabyParty : baby shower gamifiée",
      "body": "Organisez votre baby shower sur BabyParty, c'est gratuit ! Utilisez mon code {{code}} en la créant."
    },
    "toast": {
      "applied": "Candidature envoyée ! Nous analysons et te répondrons bientôt.",
      "withdrawn": "Candidature annulée",
      "copied": "Lien copié"
    },
    "errors": {
      "channelTooShort": "Dis-en un peu plus sur comment tu vas partager",
      "payoutDestinationRequired": "Indique comment tu souhaites être payé",
      "acceptTerms": "Tu dois accepter les conditions",
      "alreadyAffiliate": "Tu es déjà affilié",
      "pendingExists": "Tu as déjà une candidature en cours",
      "cooldown": "Attends 30 jours après le refus pour postuler à nouveau",
      "generic": "Impossible d'envoyer la candidature",
      "invalidInstagram": "Pseudo Instagram invalide.",
      "motivationTooShort": "Écris au moins 20 caractères.",
      "motivationTooLong": "Texte trop long (max 1000 caractères).",
      "channelRequired": "Dites-nous où vous allez partager : renseignez votre Instagram ou un autre canal.",
      "invalidPixKey": "Clé Pix invalide. Utilisez un CPF, CNPJ, e-mail, numéro de mobile ou une clé aléatoire.",
      "invalidTaxId": "CPF ou CNPJ invalide. Vérifiez les chiffres."
    },
    "lp": {
      "eyebrow": "Programme de Parrainage",
      "heroTitle": "Gagnez une part de chaque cadeau offert aux baby showers que vous recommandez",
      "heroSubtitle": "Recommandez BabyParty à ceux qui organisent une baby shower. La créer est gratuit pour eux, et vous recevez une part de la marge de chaque cadeau acheté, par PIX.",
      "heroCta": "Je veux participer",
      "alreadyAffiliate": "Déjà ambassadeur ? Connecte-toi",
      "benefitsTitle": "Avantages exclusifs pour toi",
      "benefits": {
        "commissionTitle": "Commission sur chaque cadeau",
        "commissionBody": "Vous recevez une part de la marge de chaque cadeau payé aux baby showers venues par vous. Plus il y a de baby showers payées venues par vous, plus votre palier monte.",
        "payoutTitle": "Paiements rapides",
        "payoutBodyBR": "Paiement via PIX dès que ta commission est validée. Sans bureaucratie ni minimum élevé.",
        "payoutBodyIntl": "Paiements internationaux via Stripe Connect : rapide, sûr, sans surprise de change.",
        "dashboardTitle": "Tableau de bord en temps réel",
        "dashboardBody": "Suis tes ventes, commissions en attente et payées directement dans ton tableau de bord, mis à jour à chaque conversion.",
        "attributionTitle": "Attribution sur 30 jours",
        "attributionBody": "Qui clique sur votre lien a 30 jours pour créer sa baby shower, et elle reste liée à vous même sans saisir votre code.",
        "customerTitle": "Gratuit pour vos filleuls",
        "customerBody": "Créer la baby shower ne coûte rien à ceux que vous recommandez. Un argument facile.",
        "supportTitle": "Support direct",
        "supportBody": "Communauté d'ambassadeurs, supports prêts à partager et contact direct pour les questions."
      },
      "howItWorksTitle": "Comment ça marche : 3 étapes",
      "steps": {
        "applyTitle": "Inscris-toi",
        "applyBody": "Remplis un formulaire rapide (2 min) avec ton canal et ton mode de paiement préféré.",
        "approveTitle": "Approbation en 48h",
        "approveBody": "On analyse, on t'approuve et on génère un code unique rien que pour toi. On te notifie quand c'est prêt.",
        "shareTitle": "Partage et gagne",
        "shareBody": "Partagez votre lien, suivez vos commissions et retirez par PIX dès qu'elles sont libérées."
      },
      "whyTitle": "Pourquoi recommander BabyParty ?",
      "why": {
        "unique": "Produit unique : baby shower gamifiée avec avatars, mini-jeux et classement des dons",
        "usage": "Les invités utilisent le site pendant toute la baby shower : plus d'engagement, plus de bouche-à-oreille",
        "beautiful": "Produit beau et amusant : 'j'aurais aimé connaître ça avant !' devient le pitch naturel",
        "market": "Marché en croissance : des millions de bébés naissent chaque année dans le monde"
      },
      "faqTitle": "Questions fréquentes",
      "faq": {
        "cnpjQ": "Dois-je avoir une entreprise enregistrée ?",
        "cnpjA": "Non. On accepte particuliers et entreprises. La retenue fiscale est traitée au cas par cas. On explique avant ton premier retrait.",
        "approveQ": "Combien de temps prend l'approbation ?",
        "approveA": "Jusqu'à 48h en jours ouvrés. On analyse le canal de promotion indiqué et on te répond ici et par notification.",
        "payoutQ": "Comment et quand suis-je payé ?",
        "payoutA": "La commission de chaque cadeau est libérée avec l'argent du cadeau, une fois passée la fenêtre de rétrofacturation (les délais sont sur la page Tarifs et délais). Il suffit ensuite de demander le retrait depuis votre tableau de bord, par PIX.",
        "selfrefQ": "Puis-je utiliser mon propre code ?",
        "selfrefA": "Non. L'auto-parrainage est bloqué par conception. Mais amis et famille peuvent (et doivent) l'utiliser.",
        "noSalesQ": "Et si je ne fais pas de ventes ?",
        "noSalesA": "Pas de souci. Pas de frais ni d'objectif : si ça ne marche pas pour toi, aucun préjudice. Mais on aide avec des idées de contenu."
      },
      "finalCtaTitle": "Prêt à commencer ?",
      "finalCtaBody": "Inscription en 2 minutes. Approbation sous 48h. Commissions payées directement.",
      "tagline": "Pas d'abonnement. Pas d'objectif. Que de la commission.",
      "benefitsEyebrow": "Avantages",
      "howEyebrow": "Comment ça marche",
      "whyEyebrow": "Pourquoi recommander",
      "faqEyebrow": "FAQ",
      "whySubtitle": "Les couples utilisent la plateforme tous les jours jusqu'à la baby shower. Chaque recommandation devient engagement, bouche-à-oreille, et commission pour toi.",
      "quote": "La plateforme de baby shower la plus innovante du Brésil. J'ai recommandé à 3 amies et chacune est devenue une baby shower.",
      "quoteAttribution": "@renatakariny_ · 12k abonnés",
      "finalCtaSmall": "Inscription en 2 minutes. Sans carte. Sans petits caractères.",
      "stats": {
        "commission": "De chaque cadeau",
        "attribution": "Attribution",
        "approval": "Pour approuver",
        "entry": "Pour démarrer"
      }
    },
    "tier": {
      "current": "Votre niveau",
      "baseGross": "sur chaque cadeau et don de couches acheté via votre lien",
      "baseMargin": "sur la marge de la plateforme sur chaque cadeau et don de couches",
      "missingShowers": "Encore {{missing}} baby showers payées pour le niveau {{name}} ({{pct}})",
      "missingRevenue": "Encore {{missing}} de ventes pour le niveau {{name}} ({{pct}})",
      "progress": "Vous avez {{showers}} baby showers qui comptent pour votre palier, sur {{referred}} parrainées.",
      "top": "Vous êtes au niveau le plus élevé du programme.",
      "custom": "Votre commission a été convenue individuellement.",
      "baseMarkup": "de chaque cadeau et don de couches acheté via votre lien"
    },
    "wallet": {
      "available": "Disponible au retrait",
      "pending": "En route",
      "open": "{{value}} déjà demandé, en attente de paiement.",
      "nextPayable": "Débloqué le {{date}}",
      "rulesTitle": "Règles du retrait",
      "min": "Retrait minimum : {{value}}",
      "fee": "Frais de retrait : {{value}}, déduits du montant.",
      "feeFree": "Prochain retrait sans frais. Il vous reste {{count}} retrait(s) gratuit(s).",
      "sweepNote": "Le retrait emporte tout ce qui est disponible d'un coup.",
      "withdrawCta": "Retirer {{value}}",
      "belowMin": "Cumulez {{value}} pour pouvoir retirer.",
      "requested": "Retrait demandé !",
      "requestedDetail": "Vous recevrez {{value}} sur le compte enregistré.",
      "historyTitle": "Historique des commissions",
      "historyEmpty": "Dès que quelqu'un crée une baby shower via votre lien, chaque cadeau et chaque don de couches apparaît ici.",
      "kindSummary": "{{showers}} baby shower(s) · {{gift}} cadeau(x) · {{diaper}} don(s) de couches",
      "groupMeta": "{{count}} paiement(s) · dernier le {{date}}",
      "kindGift": "Cadeau",
      "kindDiaper": "Couches",
      "itemStatus": {
        "pending": "en route",
        "payable": "disponible",
        "reserved": "en retrait",
        "paid": "payé",
        "reversed": "annulé"
      },
      "error": {
        "belowMinimum": "Vous n'avez pas encore atteint le montant minimum de retrait.",
        "notActive": "Votre compte d'affilié n'est pas actif.",
        "generic": "Impossible de demander le retrait pour le moment.",
        "noPayout": "Ajoutez votre clé Pix avant de retirer."
      },
      "needsPayout": "Ajoutez votre clé Pix ci-dessus pour pouvoir retirer."
    },
    "payout": {
      "title": "Votre clé Pix",
      "placeholder": "CPF, e-mail, téléphone ou clé aléatoire",
      "keyTypePlaceholder": "Type de clé",
      "keyType": {
        "cpf": "CPF",
        "cnpj": "CNPJ",
        "email": "E-mail",
        "phone": "Téléphone",
        "random": "Clé aléatoire"
      },
      "hint": "C'est vers cette clé que part l'argent. Un retrait déjà demandé garde la clé utilisée au moment de la demande.",
      "save": "Enregistrer la clé",
      "saved": "Clé Pix enregistrée !",
      "errors": {
        "key_shape_mismatch": "La clé ne correspond pas au type choisi. Vérifiez les deux.",
        "key_type_required": "Choisissez le type de clé.",
        "destination_required": "Saisissez votre clé Pix.",
        "destination_too_long": "Clé trop longue.",
        "not_an_affiliate": "Compte d'affilié introuvable.",
        "generic": "Impossible d'enregistrer la clé."
      }
    },
    "topTitle": "Recommandez et gagnez",
    "panelEmpty": "Votre tableau de bord apparaît ici après votre candidature.",
    "panelEmptyCta": "Je veux participer",
    "tabs": {
      "how": "Comment ça marche",
      "panel": "Mon tableau"
    },
    "how": {
      "kicker": "programme de parrainage",
      "title": "Recommandez et gagnez",
      "titlePct": "Recommandez et gagnez {{pct}} %",
      "body": "Partagez votre code et gagnez une commission sur chaque fête venue par vous.",
      "benefitCommission": "Commission sur chaque cadeau des baby showers venues par vous",
      "benefitPix": "Retrait par PIX dès que la commission est libérée",
      "benefitPanel": "Un tableau de bord en temps réel"
    },
    "sim": {
      "eyebrow": "Simulation de gains",
      "title": "Combien vous pourriez gagner en un an",
      "subtitle": "Votre commission est un pourcentage de tout ce que les invités paient dans la boutique des baby showers venues de vous. Votre palier monte avec les baby showers payées que vous recommandez.",
      "tierRange": "de {{from}} à {{to}} baby showers",
      "tierFrom": "à partir de {{from}} baby showers",
      "tierRevenue": "à partir de {{amount}} de ventes",
      "tierExample": "{{amount}} par {{size}}",
      "showersLabel": "Baby showers payées recommandées dans l'année",
      "sizeLabel": "Ce que chaque baby shower fait dans la boutique",
      "size": {
        "small": "Petite baby shower",
        "medium": "Baby shower moyenne",
        "large": "Grande baby shower"
      },
      "resultLabel_one": "Avec 1 baby shower recommandée dans l'année, vous gagneriez",
      "resultLabel_other": "Avec {{count}} baby showers recommandées dans l'année, vous gagneriez",
      "perMonth": "par an, environ {{amount}} par mois",
      "line_one": "1 baby shower au palier {{name}} ({{pct}}) : {{amount}}",
      "line_other": "{{count}} baby showers au palier {{name}} ({{pct}}) : {{amount}}",
      "disclaimer": "Simulation, pas une promesse de gain. Le montant réel dépend de ce que les invités achètent dans la boutique de chaque baby shower. Seules les baby showers payées comptent pour votre palier : en mode classique, quand la formule est payée ; en mode boutique, quand les cadeaux et couches payés dépassent R$ 100,00. Votre palier s'applique aux baby showers créées après sa montée.",
      "decrease": "{{step}} baby showers de moins",
      "increase": "{{step}} baby showers de plus"
    }
  },
  "affiliateTerms": {
    "seoTitle": "Conditions du Programme d'Affiliation · BabyParty",
    "seoDescription": "Rules, commission policy and conduct guidelines for the BabyParty referral program (Français).",
    "navTitle": "Conditions du Programme d'Affiliation",
    "backToProgram": "Retour au programme",
    "eyebrow": "Mentions légales",
    "title": "Conditions du Programme d'Affiliation",
    "subtitle": "Ces conditions régissent ta participation au programme de parrainage de BabyParty. Lis attentivement : tu les acceptes en soumettant une candidature.",
    "lastUpdated": "Dernière mise à jour : 16 octobre 2026",
    "sections": {
      "eligibility": {
        "title": "Éligibilité",
        "body": "Pour participer, tu dois avoir au moins 18 ans, un compte BabyParty actif et un canal public (Instagram, TikTok, blog, YouTube, podcast, communauté WhatsApp/Telegram ou similaire). Les canaux qui promeuvent la haine, des contenus illégaux, des contenus pour adultes sans lien avec la maternité ou la parentalité, ou qui harcèlent des personnes ne sont pas éligibles. Nous nous réservons le droit de refuser toute candidature à notre discrétion."
      },
      "applicationProcess": {
        "title": "Candidature et approbation",
        "body": "L'envoi du formulaire ne crée pas à lui seul une relation d'affiliation. Chaque candidature est examinée manuellement en environ 48 heures, et la décision est communiquée via le tableau de bord du programme et par notification push. En cas de refus, vous pouvez repostuler après 30 jours. Une fois approuvé, vous recevez un code unique et un lien de recommandation."
      },
      "commission": {
        "title": "Commission",
        "body": "Pour les baby showers créées grâce à votre recommandation, le pourcentage de votre palier dans le programme s'ajoute au prix que l'invité paie pour chaque cadeau et don de couches dans la boutique de la baby shower, et cette part est votre commission : vous recevez ce pourcentage du prix catalogue de chaque article payé. Le pourcentage est fixé sur la baby shower à sa création, donc un changement de palier ultérieur ne vaut que pour les suivantes. Les frais de la plateforme plus votre pourcentage ne dépassent jamais 13 % du prix catalogue : sinon, c'est la part de la plateforme qui cède, et votre commission n'est réduite que si elle dépasse à elle seule ce plafond, car elle ne dépasse jamais la marge de BabyParty sur la vente. Les dons en argent faits hors de la boutique (PIX direct aux parents, remise en main propre) ne génèrent pas de commission. BabyParty peut modifier les paliers ou accorder un palier supérieur à certains affiliés ; cela ne crée pas de précédent pour les autres affiliés."
      },
      "tiers": {
        "title": "Paliers du programme",
        "body": "Votre palier dépend du nombre de baby showers que vous avez recommandées et qui ont été payées. Une baby shower compte quand, en mode classique, sa formule est payée, ou quand, en mode boutique, les cadeaux et couches payés dépassent R$ 100,00. Une baby shower seulement créée avec votre lien, en essai gratuit ou dont le paiement a été remboursé ne compte pas. Créer des baby showers avec votre propre lien ne change pas votre palier. Le pourcentage du palier est fixé sur chaque baby shower au moment de sa création."
      },
      "tracking": {
        "title": "Suivi et attribution",
        "body": "Une baby shower vous est attribuée lorsque la personne la crée dans les 30 jours suivant l'ouverture de votre lien de recommandation (?aff=CODE), dans le même navigateur. Le code est conservé dans le stockage local de ce navigateur, et c'est le dernier lien d'affilié ouvert qui compte. Les baby showers créées sur un autre appareil ou navigateur, ou après ce délai, ne sont pas attribuées. Recommander votre propre baby shower est bloqué par le système."
      },
      "discountCoupon": {
        "title": "Ce que reçoit la personne recommandée",
        "body": "Créer une baby shower sur BabyParty est gratuit : votre code ne donne donc pas de réduction, il vous identifie comme la personne qui a recommandé. Si la plateforme recommence à facturer la création d'une baby shower, tout avantage pour la personne recommandée sera indiqué dans ces conditions avant de s'appliquer."
      },
      "payouts": {
        "title": "Paiements",
        "body": "La commission de chaque cadeau reste en attente tant que l'argent du cadeau est retenu contre les rétrofacturations, et elle est libérée avec lui, selon les délais décrits dans Tarifs et délais. Une fois libérée, vous demandez le retrait depuis le tableau de bord. Les affiliés au Brésil sont payés par PIX sur une clé à leur nom ; ceux des autres pays, par Stripe Connect ou virement convenu. Le retrait minimum et les frais par retrait, le cas échéant, sont affichés dans le tableau de bord avant chaque demande. Nous pouvons exiger un CPF, un CNPJ ou un identifiant fiscal équivalent avant de payer, et la retenue d'impôts suit les lois de votre pays de résidence."
      },
      "refundsAndClawback": {
        "title": "Remboursements et récupération",
        "body": "Lorsque la vente sous-jacente est remboursée, fait l'objet d'une rétrofacturation ou est annulée de toute autre manière, la commission correspondante est annulée automatiquement. Si la commission a déjà été versée, le montant est récupéré sur ton prochain paiement. BabyParty peut retenir les commissions en attente en cas de soupçon raisonnable de fraude, d'auto-parrainage ou de violation des conditions, le temps de l'enquête."
      },
      "prohibitedConduct": {
        "title": "Conduites interdites",
        "body": "Vous ne pouvez pas : (a) recommander votre propre baby shower ou celle d'une personne de votre foyer ; (b) gérer plusieurs comptes d'affilié ; (c) enchérir sur la marque BabyParty en recherche payante ; (d) vous faire passer pour BabyParty dans une communication ; (e) faire de fausses déclarations sur la plateforme ou le programme, y compris promettre des réductions qui n'existent pas ; (f) recruter des clients par spam, messages non sollicités ou plateformes qui n'autorisent pas le marketing d'affiliation ; (g) utiliser du cookie-stuffing, des pop-unders, des logiciels malveillants ou toute autre méthode d'attribution trompeuse. Les violations entraînent la résiliation immédiate et la perte des commissions non payées."
      },
      "intellectualProperty": {
        "title": "Marques et supports",
        "body": "BabyParty t'accorde une licence limitée, révocable et non exclusive pour utiliser le nom, le logo, les captures d'écran et les supports marketing approuvés de BabyParty uniquement afin de promouvoir la plateforme dans le cadre de ce programme. Tu ne peux pas enregistrer de noms de domaine, de comptes sur les réseaux sociaux ou d'apps contenant la marque BabyParty. Tous les supports restent la propriété de BabyParty ; la licence prend fin lorsque tu quittes le programme."
      },
      "termination": {
        "title": "Résiliation",
        "body": "Chaque partie peut résilier cet accord à tout moment, avec ou sans motif, en prévenant l'autre via le tableau de bord du programme. Les commissions gagnées et validées avant la résiliation restent dues, sous réserve du délai de rétention habituel. Les commissions obtenues par une conduite interdite, ou générées après l'avis de résiliation, sont perdues."
      },
      "dataPrivacy": {
        "title": "Données et confidentialité",
        "body": "Nous traitons les données personnelles que tu fournis (compte Instagram, informations sur le canal, identifiant fiscal, destination des paiements) pour faire fonctionner le programme. Les données sont conservées conformément à la Politique de confidentialité de BabyParty et partagées avec les prestataires de paiement (Asaas, Stripe) uniquement dans la mesure nécessaire pour te payer. Tu peux demander l'accès, la rectification ou la suppression de tes données à tout moment via les canaux de la section Contact."
      },
      "modifications": {
        "title": "Modifications de ces conditions",
        "body": "Nous pouvons mettre à jour ces conditions quand le programme évolue (niveaux de commission, nouveaux moyens de paiement, nouvelles règles de conduite, etc.). Les changements importants sont annoncés par notification push et dans le tableau de bord du programme au moins 7 jours avant leur entrée en vigueur. Continuer à participer après cette date vaut acceptation."
      },
      "governingLaw": {
        "title": "Droit applicable",
        "body": "Ces conditions sont régies par les lois de la République fédérative du Brésil. Les litiges seront soumis aux tribunaux de São Paulo, SP, Brésil, avec renonciation expresse à toute autre juridiction, aussi privilégiée soit-elle."
      },
      "contact": {
        "title": "Contact",
        "body": "Pour toute question sur le programme, les paiements ou ces conditions, écris-nous à help@babyparty.app ou via le chat du tableau de bord. Nous répondons sous 2 jours ouvrés."
      }
    }
  },
  "store": {
    "demo": {
      "checkoutTitle": "Ceci est une démonstration",
      "checkoutBody": "Dans une vraie baby shower, le paiement par Pix ou carte s'ouvre ici et le cadeau va directement aux parents.",
      "checkoutNote": "Démonstration : rien n'est débité. Remplissez comme vous voulez."
    },
    "front": {
      "title": "Liste de Cadeaux",
      "subtitle": "Choisissez un cadeau. Les parents reçoivent le montant pour acheter ce dont le bébé a le plus besoin.",
      "empty": "La liste est encore en préparation. Revenez bientôt pour choisir un cadeau !",
      "giftCta": "Offrir",
      "viewCart": "Voir le panier",
      "openCart": "Ouvrir le panier",
      "added": "Ajouté au panier",
      "titleFor": "Cadeaux pour {{name}}",
      "paidHere": "Payé ici même, par PIX ou carte",
      "secure": "sécurisé",
      "splitBadge": "jusqu'à 12x",
      "inCart": "Dans le panier",
      "pay": "Payer",
      "installHint": "ou {{n}}x de {{amount}} par carte",
      "filters": {
        "label": "Filtrer les cadeaux",
        "all": "Tout",
        "cheap": "Jusqu'à R$ 150",
        "split": "À partager",
        "given": "Offerts ({{count}})"
      },
      "purchases_one": "1 l’a déjà offert",
      "purchases_other": "{{count}} l’ont déjà offert",
      "boughtByYou": "Vous l’avez offert",
      "giftAgain": "Offrir encore",
      "featured": "Super cadeau",
      "titleFor_girl": "Cadeaux pour {{name}}",
      "moreGivers": "+{{count}}"
    },
    "categories": {
      "divertidos": "Cadeaux Amusants",
      "fraldas": "Couches",
      "fraldas-marcas": "Couches par Marque",
      "kits": "Kits",
      "papinha": "Petits Pots",
      "banho": "Bain",
      "higiene": "Hygiène",
      "vestir": "Vêtements",
      "passeios": "Sorties",
      "brincar": "Jouer",
      "soninho": "Sommeil",
      "diversos": "Divers"
    },
    "cart": {
      "title": "Votre panier",
      "description": "Vérifiez les cadeaux avant de payer.",
      "total": "Total",
      "continue": "Continuer",
      "empty": "Votre panier est vide. Choisissez un cadeau dans la boutique !",
      "decrease": "Diminuer la quantité",
      "increase": "Augmenter la quantité",
      "remove": "Retirer du panier"
    },
    "checkout": {
      "title": "Presque fini !",
      "subtitle": "Vos données ne servent qu'à émettre le PIX.",
      "submitting": "Génération du PIX…",
      "submit": "Payer {{amount}} par PIX",
      "fields": {
        "name": "Nom complet",
        "email": "E-mail",
        "cpf": "CPF",
        "cpfHint": "Obligatoire pour émettre le PIX. Rien au-delà du montant affiché n'est facturé.",
        "phone": "Téléphone portable",
        "message": "Message pour les parents (facultatif)",
        "namePlaceholder": "Comme sur votre pièce d'identité",
        "emailReceipt": "E-mail pour le reçu",
        "messageShort": "Mot pour les parents",
        "optional": "(facultatif)",
        "messagePlaceholder": "Apparaît avec le cadeau sur le mur"
      },
      "errors": {
        "name": "Saisissez votre nom (jusqu'à 120 caractères).",
        "email": "Saisissez un e-mail valide.",
        "cpf": "Le CPF doit comporter 11 chiffres.",
        "phone": "Saisissez votre téléphone portable.",
        "message": "Le message peut contenir au maximum 500 caractères.",
        "generic": "Impossible de générer le paiement. Veuillez réessayer.",
        "pixLate": "Le PIX met du temps à arriver. Touchez générer à nouveau : c'est le même paiement, sans nouveau prélèvement.",
        "needGuest": "Rejoignez la fête en tant qu'invité pour offrir un cadeau.",
        "auth": "Connectez-vous pour offrir un cadeau.",
        "itemUnavailable": "Un article n'est plus disponible. Actualisez la page."
      },
      "pix": {
        "title": "Payez avec PIX",
        "subtitle": "Scannez le QR Code ou copiez le code ci-dessous.",
        "amount": "Montant : {{amount}}",
        "qrAlt": "QR Code PIX",
        "copy": "Copier le code PIX",
        "copied": "Code PIX copié !",
        "copyFailed": "Impossible de copier. Sélectionnez le code manuellement.",
        "closeNote": "Vous pouvez fermer. Le cadeau apparaît sur le mur dès que le paiement est confirmé.",
        "close": "Fermer",
        "payInBank": "Payez {{amount}} dans l'app de votre banque",
        "waiting": "En attente du paiement"
      },
      "card": {
        "methodLabel": "Mode de paiement",
        "methodPix": "PIX",
        "methodCard": "Carte",
        "number": "Numéro de carte",
        "expiry": "Expiration (MM/AA)",
        "cvv": "CVV",
        "holder": "Nom sur la carte",
        "cep": "CEP",
        "addressNumber": "Numéro",
        "cpfHint": "Utilisé comme CPF du titulaire de la carte.",
        "installmentsLabel": "Mensualités",
        "installmentOption": "{{n}}x de {{amount}}",
        "installmentOptionFree": "{{n}}× de {{amount}} sans intérêts",
        "installmentOptionInterest": "{{n}}× de {{amount}} avec intérêts (total {{total}})",
        "submit": "Payer {{amount}} par carte",
        "submitting": "Traitement du paiement…",
        "approvedTitle": "Paiement approuvé !",
        "approvedSubtitle": "Tout est bon avec votre carte.",
        "approvedNote": "Paiement approuvé. Le cadeau apparaît sur le mur dès qu'il est confirmé.",
        "close": "Fermer",
        "errors": {
          "number": "Numéro de carte invalide.",
          "expiryMonth": "Mois d'expiration invalide (01–12).",
          "expiry": "Date d'expiration invalide.",
          "expiryPast": "La carte est expirée.",
          "cvv": "CVV invalide (3 ou 4 chiffres).",
          "holder": "Indiquez le nom inscrit sur la carte.",
          "cep": "Le CEP doit comporter 8 chiffres.",
          "addressNumber": "Indiquez le numéro de l'adresse.",
          "installments": "Sélectionnez le nombre de mensualités.",
          "declined": "Paiement refusé. Vérifiez les informations ou essayez une autre carte."
        },
        "processingTitle": "Paiement en cours de vérification",
        "processingSubtitle": "Votre banque confirme le débit.",
        "processingNote": "Nous avons reçu votre paiement et la banque le vérifie. Inutile de payer à nouveau. Le cadeau apparaît sur le mur dès validation.",
        "installmentRow": "{{n}}x de {{amount}}",
        "noInterest": "sans intérêts",
        "financedTotal": "total {{total}}",
        "payInstallments": "Payer {{n}}x de {{amount}}",
        "chargedTotal": "Total sur la carte : {{total}}"
      },
      "total": "Total",
      "back": "Retour",
      "and": "et",
      "inYourName": "Le paiement est à votre nom",
      "toMethod": "Choisir comment payer",
      "makePix": "Générer le PIX de {{amount}}",
      "steps": {
        "data": "Vos informations",
        "method": "Comment payer",
        "pix": "PIX",
        "done": "Terminé"
      },
      "method": {
        "pixSub": "instantané",
        "cardSub": "jusqu'à 12x"
      },
      "done": {
        "title": "Cadeau envoyé !",
        "body": "La famille voit sur le mur que vous avez offert {{what}}. Le reçu part sur votre e-mail.",
        "you": "Vous",
        "gave": "avez offert {{what}}",
        "back": "Retour à la fête",
        "tickets": "+{{count}} tickets pour la boutique"
      },
      "upsell": {
        "giftsTitle": "Un cadeau en plus ?",
        "giftsSub": "Il passe dans le même paiement.",
        "diapersTitle": "Un paquet de couches en plus ?",
        "diapersSub": "Il rejoint la pile de couches, dans le même paiement.",
        "add": "Ajouter",
        "added": "Ajouté",
        "packName": "Paquet de couches",
        "packDetail": "{{n}} couches, {{price}} le paquet",
        "packsLine_one": "{{count}} paquet de couches",
        "packsLine_other": "{{count}} paquets de couches",
        "fewerPacks": "Un paquet de moins",
        "morePacks": "Un paquet de plus"
      }
    },
    "wizard": {
      "optionTitle": "Baby shower avec liste de cadeaux intégrée (bêta)",
      "optionDesc": "Les invités offrent en payant directement sur la plateforme. Vous recevez le montant par Pix.",
      "free": "Gratuit",
      "slugTaken": "Cette URL est déjà utilisée. Revenez en arrière et choisissez-en une autre.",
      "createFailed": "Impossible de créer le baby shower. Veuillez réessayer.",
      "recommended": "Recommandé"
    }
  },
  "tutorial": {
    "skip": "Passer",
    "tapForSound": "Touchez pour activer le son",
    "invalidVideo": "Vidéo indisponible.",
    "stepLabel": "Tutoriel rapide",
    "mute": "Muet",
    "unmute": "Son",
    "continue": "Continuer"
  },
  "dayAlbum": {
    "fabLabel": "Envoyer une photo ou une vidéo à l'album du jour",
    "title": "Album du Jour",
    "subtitle": "Immortalisez ce moment pour l'album de la fête 📸",
    "checkingLocation": "On vérifie que vous êtes bien à la fête...",
    "locationNeededTitle": "Nous avons besoin de votre position",
    "locationNeededBody": "C'est juste pour confirmer que vous êtes à la fête. Promis, c'est rapide !",
    "locationHint": "Astuce : activez le GPS et autorisez la localisation dans le navigateur.",
    "locationRetry": "Réessayer",
    "outOfRangeTitle": "Vous devez être à la fête",
    "outOfRangeBody": "L'envoi ne fonctionne que pour les invités présents sur le lieu de la fête, à environ 1km. Rejoignez-nous ! 🥳",
    "takePhoto": "Prendre une photo",
    "recordVideo": "Filmer une vidéo",
    "fromGallery": "Choisir dans la galerie",
    "photoTooBig": "Cette photo dépasse 25MB. Essayez-en une autre !",
    "videoTooBig": "Cette vidéo dépasse 200MB. Essayez-en une plus petite !",
    "videoTooLong": "Les vidéos ne peuvent pas dépasser 60 secondes.",
    "unsupportedFile": "Ce fichier n'est ni une photo ni une vidéo.",
    "confirm": "Envoyer",
    "cancel": "Annuler",
    "uploading": "Envoi en cours...",
    "queueRemaining_one": "Encore {{count}} dans la file",
    "queueRemaining_other": "Encore {{count}} dans la file",
    "successApproved": "Dans l'album ! 🎉",
    "successPending": "Bien reçu ! En attente d'approbation ✨",
    "errOutOfRange": "Vous devez être sur le lieu de la fête pour envoyer.",
    "errNotEventDay": "L'album n'ouvre que le jour de l'événement.",
    "errDisabled": "L'album du jour est désactivé pour cette fête.",
    "errVenueNotConfigured": "Le lieu de la fête n'est pas encore configuré.",
    "errMissingLocation": "Impossible de confirmer votre position. Réessayez !",
    "errUpload": "L'envoi a échoué. Vérifiez votre connexion et réessayez !",
    "errGeneric": "Une erreur est survenue. Réessayez !",
    "galleryTitle": "Album du jour",
    "galleryEmptyDay": "Les photos et vidéos de la fête apparaissent ici. Envoyez la première ! 📸",
    "pendingChip": "en attente",
    "delete": "Supprimer",
    "deleteAsk": "Supprimer ce souvenir ? C'est irréversible.",
    "deleted": "Supprimé.",
    "deleteFailed": "Impossible de supprimer. Réessayez !",
    "unknownGuest": "Invité",
    "mediaAlt": "Envoi de {{name}}",
    "captureCta": "Immortaliser la journée",
    "otherMoments": "Autres moments",
    "camera": {
      "back": "Retour",
      "photo": "Photo",
      "video": "Vidéo",
      "publish": "Publier",
      "publishing": "Publication...",
      "discard": "Supprimer",
      "hint": "APPUYEZ POUR PHOTO · MAINTENEZ POUR VIDÉO",
      "rec": "REC",
      "errorTitle": "Caméra indisponible",
      "errorBody": "Impossible d'accéder à votre caméra. Vérifiez les autorisations et réessayez.",
      "retry": "Réessayer",
      "close": "Fermer",
      "videoUnsupported": "Votre appareil ne peut pas filmer ici. Prenez une photo ou choisissez dans la galerie.",
      "a11y": {
        "close": "Fermer la caméra",
        "switchCamera": "Retourner la caméra",
        "gallery": "Choisir dans la galerie",
        "shutter": "Appuyez pour photo, maintenez pour vidéo",
        "lens": "Objectif {{n}}",
        "brightness": "Régler la luminosité",
        "zoom": "Zoom {{value}}",
        "mode": "Photo ou vidéo",
        "flash": "Flash",
        "shootPhoto": "Prendre une photo",
        "recordVideo": "Filmer",
        "stopRecording": "Arrêter l'enregistrement"
      },
      "onSite": "Album du jour · sur place",
      "inAlbum": "Dans l'album !",
      "sentForApproval": "Envoyé pour validation",
      "hintPhoto": "Touchez pour prendre une photo",
      "hintVideo": "Touchez pour filmer",
      "hintRecording": "Touchez pour arrêter. 60 secondes max.",
      "hintHolding": "Relâchez pour arrêter. 60 secondes max.",
      "opening": "Ouverture de la caméra",
      "leaveTitle": "Quitter la caméra ?",
      "leaveBody": "Les photos dont l'envoi n'a pas encore commencé seront abandonnées.",
      "leaveConfirm": "Quitter",
      "keepHere": "Rester"
    },
    "notice": {
      "title": "L'appareil photo de la fête est ici",
      "body": "Touchez pour capturer le moment.",
      "offerTitle": "Vous êtes déjà à la fête ?",
      "offerBody": "Partagez votre position et je garde l'appareil photo de l'album à portée de doigt, dans vos notifications.",
      "offerCta": "Partager ma position",
      "awayBody": "Vous ne semblez pas encore sur place. Réessayez à votre arrivée.",
      "failedBody": "Je n'ai pas pu obtenir votre position. Activez le GPS et réessayez.",
      "pinned": "C'est fait. Le raccourci de l'appareil photo est dans vos notifications."
    },
    "dayTitle": "Album du jour",
    "stripHint_one": "{{count}} photo · touche l'appareil pour envoyer la tienne",
    "stripHint_other": "{{count}} photos · touche l'appareil pour envoyer la tienne",
    "seeAll": "Voir tout l'album",
    "tabPhotos": "Photos",
    "tabVideos": "Vidéos",
    "photoBy": "Photo de {{name}}",
    "download": "Télécharger",
    "close": "Fermer"
  },
  "quiz": {
    "closedTitle": "Quiz terminé !",
    "closedBody": "Merci d'avoir joué.",
    "joinTitle": "Rejoignez la fête pour jouer !",
    "joinBody": "Vous devez rejoindre la fête pour participer au quiz.",
    "joinCta": "🎉 Quiz en direct · Rejoindre",
    "joinShower": "Rejoindre le shower",
    "noneTitle": "Aucun quiz actif",
    "noneBody": "L'hôte n'a pas encore lancé de quiz.",
    "back": "Retour",
    "progress": "Question {{n}}/{{total}}",
    "title": "Quiz du Bébé",
    "answered": "{{n}} ont répondu",
    "lobbyTitle": "Préparez-vous !",
    "lobbyWaiting": "En attente du lancement par l'hôte…",
    "sending": "Envoi...",
    "sent": "Envoyé ! En attente des autres",
    "failed": "Échec de l'envoi. Touchez pour renvoyer",
    "timeUp": "Temps écoulé",
    "revealMissed": "Trop tard",
    "revealCorrect": "Bravo ! +{{pts}}",
    "revealWrong": "Pas cette fois",
    "rankingTitle": "Classement du quiz",
    "rankingEmpty": "Personne n'a encore marqué",
    "myRank": "Vous êtes en Nº {{n}} !",
    "keepPlaying": "Continuez à jouer ! 💪",
    "endTitle": "Fin du quiz !",
    "tv": {
      "liveTitle": "Quiz en direct !",
      "joinPrompt": "Rejoignez sur",
      "waiting": "en attente des joueurs…",
      "inRoom": "dans la salle",
      "someone": "Quelqu'un",
      "newRecordLabel": "Nouveau record !",
      "newDonationLabel": "Nouveau don !",
      "donationCeleb": "{{name}} a offert {{count}} couches ! 🍼",
      "questionOf": "Question {{n}}",
      "correctAnswer": "Bonne réponse !",
      "answered": "ont répondu",
      "ranking": "Classement",
      "noScores": "Pas encore de points…",
      "champions": "Champions !"
    },
    "lobbyBody": "Regardez la TV. La question s'affiche là-bas et vous répondez ici.",
    "lobbyCount": "{{n}} dans la salle · en attente de l'hôte",
    "hurry": "Vite : répondre tôt rapporte plus",
    "answerWas": "La réponse était {{answer}}",
    "you": "Vous",
    "backToShower": "Retour à la fête",
    "progressOf": "question {{n}} sur {{total}}",
    "live": "en direct",
    "over": "fin"
  },
  "diaperPile": {
    "goalTitle": "Objectif de couches",
    "goalPacks_one": "{{count}} paquet",
    "goalPacks_other": "{{count}} paquets",
    "levelLeft_one": "Niveau {{level}} : encore {{count}} paquet",
    "levelLeft_other": "Niveau {{level}} : encore {{count}} paquets",
    "levelDone_one": "Niveau {{level}} atteint ! Encore {{count}} pour le suivant",
    "levelDone_other": "Niveau {{level}} atteint ! Encore {{count}} pour le suivant",
    "completeGoal": "Objectif atteint ! Merci à tous",
    "plusPacks_one": "+{{count}} paquet",
    "plusPacks_other": "+{{count}} paquets"
  },
  "names": {
    "suggestTitle": "Proposez un prénom",
    "suggestSub": "Envoyez-en autant que vous voulez, pour un garçon et pour une fille.",
    "boy": "Garçon",
    "girl": "Fille",
    "boyPlaceholder": "Ex. : Miguel",
    "girlPlaceholder": "Ex. : Helena",
    "send": "Envoyer la suggestion",
    "mineCount_one": "Vous avez envoyé {{count}} suggestion. Vous pouvez en envoyer plus !",
    "mineCount_other": "Vous avez envoyé {{count}} suggestions. Vous pouvez en envoyer plus !",
    "yours": "Vos suggestions",
    "remove": "Supprimer la suggestion",
    "mostVoted": "Les plus votés",
    "total_one": "{{count}} suggestion",
    "total_other": "{{count}} suggestions",
    "tagBoy": "garçon",
    "tagGirl": "fille",
    "voteFor": "Voter pour {{name}}",
    "toast": {
      "empty": "Écrivez au moins un prénom",
      "sent": "Suggestion envoyée",
      "sentMany": "Suggestions envoyées"
    }
  },
  "access": {
    "login": {
      "invited": "Vous êtes invité à",
      "title": "On participe !",
      "body": "Connectez-vous pour créer votre avatar et jouer pour votre équipe. Le compte garde vos points.",
      "note": "On l'utilise seulement pour garder votre progression et vous reconnaître à la fête."
    },
    "denied": {
      "title": "Vous n'êtes pas encore dans cette fête",
      "body": "Vous êtes connecté comme {{email}}, mais ce compte n'a pas été invité à {{title}}. Ouvrez le lien d'invitation envoyé par les parents, ou connectez-vous avec un autre compte.",
      "bodyNoEmail": "Ce compte n'a pas été invité à {{title}}. Ouvrez le lien d'invitation envoyé par les parents, ou connectez-vous avec un autre compte.",
      "switch": "Utiliser un autre compte",
      "home": "Retour à l'accueil"
    },
    "notFound": {
      "title": "On n'a pas trouvé cette fête",
      "body": "Le lien a peut-être une faute de frappe, ou la fête a été supprimée. Vérifiez avec la personne qui l'a envoyé.",
      "home": "Aller à l'accueil"
    }
  },
  "avatarEditor": {
    "saveAvatar": "Enregistrer l'avatar",
    "noProfile": "Créez d'abord votre profil !",
    "goHome": "Aller à l'accueil"
  },
  "web": {
    "babyFallback": "bébé",
    "hello": "Salut, {{name}} !",
    "homeSub": "Tout ce qui se passe à la fête de {{baby}}",
    "shower": "La fête",
    "showerSub": "Date, présence et programme",
    "games": "Jeux",
    "gamesSub": "Jouez pour tirer la corde pour votre équipe",
    "messages": "Messages",
    "messagesSub": "Discutez avec tout le monde à la fête",
    "gifts": "Cadeaux pour {{baby}}",
    "giftsSub": "Choisissez un cadeau ou offrez des couches",
    "daysLeft_zero": "c'est aujourd'hui !",
    "daysLeft_one": "encore {{count}} jour",
    "daysLeft_other": "encore {{count}} jours",
    "sound": "Son",
    "brandHome": "BabyParty, accueil",
    "navLabel": "Navigation de la fête",
    "teamLine": "équipe {{team}}",
    "points_one": "{{count}} point",
    "points_other": "{{count}} points",
    "nowTitle": "En ce moment à la fête",
    "live": "en direct",
    "nowEmpty": "Calme pour l'instant. Dès que quelqu'un joue ou fait un don, ça s'affiche ici.",
    "tugTitle": "Tir à la corde",
    "seeTrail": "Voir le parcours de jeux",
    "nextGame": "Prochain jeu",
    "start": "Commencer",
    "rankingTitle": "Classement de la fête",
    "seeAll": "tout voir",
    "recordTitle": "Votre record",
    "ordinal": "{{n}}e",
    "inTeam": "dans l'équipe {{team}}",
    "whoTitle": "Qui est à la fête",
    "online": "en ligne",
    "diaperPack": "Paquet de {{n}}.",
    "diaperPackPriced": "Paquet de {{n}} · {{price}}.",
    "diaperTeam": "Compte pour l'équipe {{team}}.",
    "whoMore": "Voir plus ({{count}})",
    "giftCardTitle": "Offrir un cadeau",
    "giftCardBodyFor": "Choisissez un cadeau dans la liste de {{name}}.",
    "giftCardBody": "Choisissez un cadeau dans la liste de la fête.",
    "giftCardCta": "Voir la liste de cadeaux",
    "gifts_girl": "Cadeaux pour {{baby}}",
    "homeSub_girl": "Tout ce qui se passe à la fête de {{baby}}",
    "giftCardBodyFor_girl": "Choisissez un cadeau dans la liste de {{name}}."
  },
  "invite": {
    "errorTitle": "Cette invitation ne s'est pas ouverte",
    "cover": {
      "for": "Pour : {{name}}",
      "accept": "Accepter l'invitation",
      "body": "Créez votre avatar, rejoignez une équipe et jouez depuis votre téléphone. Votre équipe tire la corde à chaque point.",
      "showDetails": "Voir les détails",
      "hideDetails": "Masquer les détails",
      "theme": "Thème : {{theme}}",
      "musicOn": "Lancer la musique",
      "musicOff": "Mettre la musique en pause"
    },
    "envelope": {
      "title": "Vous êtes invité !",
      "tap": "Touchez pour ouvrir l'invitation",
      "musicHint": "Touchez pour activer la musique",
      "leadNamed": "{{name}}, vous êtes invité(e) à",
      "lead": "Vous êtes invité(e) à",
      "baby": "Bébé {{name}}",
      "seeDetails": "Voir les détails",
      "detailsTitle": "Détails de l'événement"
    },
    "showerNotFound": "Baby shower introuvable.",
    "rateLimited": "Trop de tentatives avec un mauvais code. Attendez une heure et réessayez.",
    "invalid": "Invitation invalide ou expirée.",
    "loading": "Chargement de l'invitation…",
    "backHome": "Retour à l'accueil"
  },
  "tour": {
    "done": "Terminé",
    "next": "Suivant",
    "prev": "Retour",
    "progress": "{{current}} sur {{total}}"
  },
  "liveMeeting": {
    "titleVirtual": "Baby shower en direct",
    "titleHybrid": "Participez à distance",
    "subtitleProvider": "Réunion sur {{provider}}",
    "subtitleGeneric": "Réunion en ligne",
    "join": "Rejoindre la réunion",
    "fallback": "Ça n'a pas marché ? Essayez le lien de secours"
  },
  "superadminView": {
    "endFailed": "Impossible de terminer la session.",
    "banner": "Vous consultez cette baby shower en superadmin, lecture seule.",
    "panel": "Panneau de la baby shower",
    "end": "Terminer la session",
    "readOnly": "Lecture seule"
  },
  "teamConfirm": {
    "headlineFamily": "L'hôte est passé à Équipe Papa 💙 vs Équipe Maman 💗",
    "headlineGender": "L'hôte est passé à Garçon 💙 vs Fille 💗",
    "subtextFamily": "Les deux équipes mélangent désormais garçons et filles. Confirme à nouveau ton équipe ci-dessous.",
    "subtext": "Confirme à nouveau ton équipe ci-dessous.",
    "confirmed": "confirmé",
    "updateAvatar": "Mettre à jour mon avatar",
    "done": "C'est fait, continuer",
    "tapHint": "Touche l'une des équipes pour confirmer."
  },
  "payShower": {
    "title": "Votre baby shower est presque en ligne",
    "body": "Choisissez le forfait pour ouvrir la baby shower à vos invités.",
    "pay": "Passer au paiement"
  },
  "archived": {
    "title": "Cette baby shower est archivée",
    "guestTitle": "Cette baby shower est archivée.",
    "reason": {
      "payment_failed": "Le paiement n'est pas passé.",
      "period_ended": "Le forfait est arrivé à son terme.",
      "refunded": "L'argent a été remboursé."
    },
    "body": "Les invités ne voient plus la baby shower. Vous voyez encore tout : photos, mots, réactions et jeux.",
    "reactivate": "Réactiver la baby shower",
    "view": "Voir la baby shower",
    "coHost": "Seule la personne qui a créé la baby shower peut la réactiver.",
    "banner": "Baby shower archivée : lecture seule."
  },
  "play": {
    "subscribe": "S'abonner sur le Play Store",
    "slotsFull": "Vous avez déjà 3 baby showers avec un abonnement actif sur le Play Store avec ce compte Google.",
    "pending": "Le paiement est en attente. La baby shower s'ouvre dès que le Play Store le confirme.",
    "failed": "Cela n'a pas fonctionné. Réessayez."
  }
}
