{
  "common": {
    "help": "Comment jouer",
    "settings": "Préférences",
    "close": "Fermer",
    "retry": "Réessayer",
    "today": "Aujourd’hui",
    "playCollection": "Jouer dans la Collection",
    "share": "Partager",
    "point": "Point",
    "cross": "Croix",
    "undo": "Annuler",
    "redo": "Rétablir",
    "resetBoard": "Vider la grille",
    "resetConfirmTitle": "Vider cette grille ?",
    "resetConfirmMessage": "Toutes les marques de ce puzzle seront effacées. Vous pourrez les récupérer avec Annuler.",
    "resetConfirmCancel": "Annuler",
    "resetConfirmAction": "Vider la grille",
    "backToBoard": "Retour à la grille",
    "previous": "Précédent",
    "next": "Suivant",
    "all": "Tous",
    "language": "Langue",
    "chooseLanguage": "Choisir la langue",
    "found": "Résolu",
    "loadingDaily": "Chargement du puzzle du jour…",
    "dailyWaiting": "Le puzzle du jour n’a pas pu se charger.",
    "dailyEveryone": "La même grille pour tous. Un nouveau défi chaque jour.",
    "dailyAvailable": "Le puzzle du jour est prêt.",
    "playIt": "Jouer",
    "collectionAlways": "La Collection reste ouverte.",
    "statusStart": "Les nombres comptent les points. Chaque point touche exactement un autre point par un côté.",
    "statusLines": "{{matched}} lignes sur {{total}} correspondent",
    "statusExcess": "Une ligne a trop de points. Retirez-en un ou annulez.",
    "statusCrowd": "Un point touche plus d’un autre point. Séparez les paires.",
    "statusPairs": "Les nombres correspondent. Trouvez une paire pour chaque point.",
    "statusWon": "Tous les nombres. Toutes les pièces. Vous avez trouvé.",
    "victory": "Tout s’emboîte.",
    "anotherPuzzle": "Puzzle suivant",
    "playToday": "Jouer au puzzle du jour",
    "shareResult": "Partager le résultat",
    "tool": "Outil",
    "soundOn": "Couper le son",
    "soundOff": "Activer le son",
    "zoom": "Agrandir",
    "seeAll": "Grille entière",
    "sharePuzzle": "Partager ce puzzle",
    "skipToBoard": "Aller à la grille",
    "boardGame": "Partie de Puntokus",
    "errorTitle": "Un problème est survenu.",
    "errorBody": "Votre progression est en sécurité. Rechargez la page pour revenir à la grille.",
    "retryPage": "Réessayer",
    "undoShortcut": "Ctrl / ⌘ Z",
    "redoShortcut": "Ctrl / ⌘ Maj Z"
  },
  "notices": {
    "saveFailed": "La dernière modification n’a pas pu être enregistrée. Votre partie reste disponible dans cet onglet.",
    "dailyLoadFailed": "Le puzzle quotidien n’a pas pu être chargé. Vérifiez votre connexion et réessayez.",
    "choiceNotSaved": "Votre choix s’applique à cette visite, mais n’a pas pu être enregistré.",
    "soundNotSaved": "Votre préférence sonore s’applique à cette visite.",
    "dailyUnavailable": "Le puzzle du jour est inaccessible. La Collection reste disponible.",
    "dailyMissing": "Aucun Puntokus n’a encore été publié pour cette date.",
    "dailyFuture": "Ce Puntokus n’est pas encore disponible. Vous pouvez jouer à celui du jour.",
    "dailyInvalid": "Impossible d’ouvrir ce puzzle quotidien. Réessayez ou revenez à la Collection.",
    "dailySaveFailed": "Ce puzzle quotidien n’a pas pu être enregistré dans ce navigateur. Vous pouvez continuer dans cet onglet.",
    "dailyVersionMismatch": "Des données d’une autre version sont enregistrées pour ce puzzle quotidien. Vous pouvez jouer ; nous les conserverons sans les modifier.",
    "dailyContentMismatch": "Ce puzzle quotidien ne correspond pas à la partie enregistrée. Nous avons conservé les anciennes données, et vous pouvez jouer dans cet onglet.",
    "dailyRecoveryPartial": "Toutes les données de ce puzzle quotidien n’ont pas pu être restaurées. Nous avons conservé tout ce qui pouvait être lu.",
    "unknownPuzzle": "Nous n’avons pas trouvé la grille de ce lien. Vous pouvez commencer par celle-ci.",
    "progressUnavailable": "Votre navigateur ne peut pas enregistrer cette partie. Vous pouvez continuer dans cet onglet.",
    "progressVersionMismatch": "Ces parties ont été enregistrées avec une version plus récente. Vous pouvez jouer ; nous conserverons ces données sans les modifier.",
    "progressRecoveryPartial": "Toutes les données enregistrées n’ont pas pu être restaurées. Nous avons conservé les parties qui pouvaient être lues.",
    "padHidden": "Commandes de direction retirées. Vous pouvez les réactiver dans Préférences.",
    "hintLoadFailed": "L’indice n’a pas pu être chargé. Vérifiez votre connexion et réessayez."
  },
  "board": {
    "rowClue_one": "Ligne {{index}} : {{placed}} sur {{count}} point{{state}}",
    "rowClue_other": "Ligne {{index}} : {{placed}} sur {{count}} points{{state}}",
    "columnClue_one": "Colonne {{index}} : {{placed}} sur {{count}} point{{state}}",
    "columnClue_other": "Colonne {{index}} : {{placed}} sur {{count}} points{{state}}",
    "separator": ", ",
    "countComplete": "compte atteint",
    "tooMany": "trop de points",
    "empty": "vide",
    "paired": "en paire",
    "unpaired": "sans paire",
    "crowded": "touche plusieurs voisins",
    "group": "Grille de {{rows}} lignes et {{columns}} colonnes. Chaque point doit avoir exactement un voisin sur un côté. Utilisez les flèches pour vous déplacer, D pour un point, X pour une croix et Suppr pour effacer.",
    "cell": "Ligne {{row}}, colonne {{column}} : {{mark}}{{state}}",
    "hinted": "signalée par l’indice",
    "suggestDot": "l’indice propose un point",
    "suggestCross": "l’indice propose une croix",
    "suggestRemove": "l’indice propose de l’effacer",
    "supposedDot": "l’indice suppose un point",
    "supposedEmpty": "l’indice la suppose vide",
    "supposedStepDot": "étape {{step}} de la supposition : un point",
    "supposedStepEmpty": "étape {{step}} de la supposition : vide",
    "impliedEmpty": "vide d’après vos points"
  },
  "meta": {
    "dailyTitle": "Puntokus quotidien · {{date}}"
  },
  "share": {
    "pairs_one": "{{count}} paire",
    "pairs_other": "{{count}} paires",
    "dailyTitle": "Puntokus quotidien · {{date}} · {{size}}",
    "puzzleTitle": "Puntokus n° {{number}} · {{size}}",
    "solvedResult": "{{quantity}}. Puzzle résolu.",
    "challengeResult": "🟡🟡 {{quantity}} à trouver.",
    "yourTurn": "À vous ↓",
    "canYouSolve": "Envie d’essayer ? ↓",
    "description": "{{title}}. {{result}} Le message contient un lien vers le même puzzle.",
    "preview": "Aperçu du message",
    "copied": "Copié",
    "copyResult": "Copier le résultat",
    "copyChallenge": "Copier le défi",
    "native": "Partager…",
    "nativeLabel": "Partager dans une autre application",
    "reaction": "Ajouter votre réaction",
    "optional": "facultatif",
    "manual": "Sélectionner le texte manuellement",
    "fullMessage": "Message complet",
    "copiedMessage": "Copié. Collez-le dans une conversation, un groupe ou où vous le souhaitez.",
    "copyFailed": "La copie automatique a échoué. Sélectionnez le texte et copiez-le.",
    "nativeDone": "Vous pourrez recopier le message quand vous le souhaitez.",
    "nativeCancelled": "Votre message est toujours ici.",
    "nativeFailed": "Impossible d’ouvrir le menu de partage. Vous pouvez copier le message.",
    "solvedExplainer": "Chaque 🟡🟡 est une paire. Leur ordre ne révèle pas la grille.",
    "challengeExplainer": "Le lien ouvre ce même puzzle. Chaque point a besoin d’un partenaire.",
    "solutionPrivate": "Votre solution reste secrète.",
    "reactionCalm": "😌 Une pause bien agréable.",
    "reactionThinking": "🧠 Il m’a donné à réfléchir.",
    "reactionChallenge": "😈 Voici un défi pour vous.",
    "copyText": "Copier le texte"
  },
  "app": {
    "shortcuts": "Raccourcis clavier",
    "eraseKey": "effacer",
    "deleteKey": "Suppr",
    "dailyUnplayed": "Le puzzle du jour vous attend",
    "dailyLabel": "Quotidien",
    "introLabel": "Intro {{current}}/{{total}}",
    "puzzleLabel": "Puzzle",
    "soundEnabled": "Son activé",
    "soundDisabled": "Son coupé",
    "dailyOverline": "Puntokus du jour",
    "openToday": "Ouvrir le puzzle du jour",
    "practiceAtYourPace": "Entraînez-vous à votre rythme.",
    "returnToDaily": "Revenir au puzzle du jour",
    "sameChallenge": "Le même défi pour tout le monde. Prenez votre temps.",
    "dailySolved": "Puzzle du jour résolu",
    "dailyCaption": "Une grille par jour",
    "fitComplete": "Puzzle résolu",
    "logicCaption": "Sans chrono. Juste de la logique.",
    "dailyDeckNote": "Un jour. Une grille. Sans pression.",
    "dailyChanges": "Un nouveau puzzle quotidien arrive à 00:00 UTC.",
    "tomorrowCollection": "Un nouveau puzzle demain. Continuer dans la Collection →",
    "continueCollection": "Continuer dans la Collection →",
    "enjoyedPrompt": "Avez-vous aimé jouer ?",
    "smallChallenge": "Un petit défi. Le plaisir de tout agencer.",
    "panBoard": "Faites glisser la grille pour voir les autres cases.",
    "markHint": "Marquez une case. Marquez-la à nouveau pour effacer.",
    "zoomOutTitle": "Afficher toute la grille",
    "zoomInTitle": "Agrandir ; faites glisser pour parcourir la grille"
  },
  "feedback": {
    "inviteLabel": "Statistiques facultatives",
    "inviteTitle": "Envie de nous aider à améliorer Puntokus ?",
    "inviteBody": "Avec votre accord, nous utilisons des cookies Google Analytics pour mesurer les visites et l’utilisation du jeu. Vous pouvez modifier votre choix dans Préférences.",
    "localPreview": "Aperçu de test · aucune donnée n’est envoyée.",
    "reject": "Refuser",
    "accept": "Accepter",
    "privacyLink": "Confidentialité et cookies",
    "title": "Dites-moi ce que vous en pensez",
    "kicker": "Écrivez-moi",
    "intro": "Un bug, une idée, ou simplement envie de me dire ce que vous pensez de Puntokus ? Votre message me fera très plaisir.",
    "write": "M’écrire un e-mail",
    "writeNote": "Votre messagerie s’ouvre avec le puzzle et la langue déjà indiqués, ce qui aide pour les bugs. Vous pouvez les effacer.",
    "mailSubject": "Puntokus : mon avis",
    "mailContext": "Informations utiles (vous pouvez les effacer) :",
    "supportNote": "Puntokus est gratuit et sans publicité, mais le faire vivre demande du temps et de l’argent. Si vous le souhaitez, vous pouvez le soutenir avec un café sur Ko‑fi.",
    "quickTitle": "Ou, si vous préférez, une réponse rapide :",
    "thanks": "Merci pour votre avis.",
    "localThanks": "La réponse a été enregistrée uniquement dans ce test local.",
    "continuePlaying": "Vous pouvez continuer à jouer.",
    "unavailable": "Vous pourrez donner votre avis lorsque les statistiques seront activées sur ce site.",
    "consentBody": "Pour envoyer votre avis, nous avons besoin de votre accord pour les statistiques (Google Analytics, avec des cookies). Nous n’envoyons jamais vos marques.",
    "allow": "Autoriser les statistiques",
    "details": "Voir les détails",
    "yes": "Oui, j’ai aimé",
    "mixed": "Moyennement",
    "no": "Pas pour moi"
  },
  "settings": {
    "appearanceTitle": "Apparence",
    "appearanceBody": "Auto suit le mode clair ou sombre de votre appareil.",
    "themeAuto": "Auto",
    "themeLight": "Clair",
    "themeDark": "Sombre",
    "title": "Apparence, son et statistiques.",
    "kicker": "Préférences",
    "soundTitle": "Sons du jeu",
    "soundBody": "De brefs sons quand vous marquez, formez une paire ou résolvez, avec une légère vibration sur les téléphones compatibles.",
    "soundLabel": "Son",
    "mascotTitle": "Mascotte",
    "mascotBody": "Toku vous tient compagnie à côté de la grille et fête vos paires. Il n’apparaît que s’il y a de la place.",
    "mascotLabel": "Mascotte",
    "mascotNoRoom": "Pour l’instant, il n’y a pas de place à côté de la grille sur cet écran. Toku apparaîtra dès qu’il y en aura.",
    "mascotZoomed": "Toku s’efface pendant que la grille est agrandie.",
    "hintsTitle": "Indices",
    "hintsBody": "Toku ne vous aide que si vous le demandez : d’abord où regarder, puis pourquoi, et il peut vous montrer l’étape. Indisponibles dans le Quotidien.",
    "hintsLabel": "Indices",
    "hintsNeedMascot": "Activez la mascotte pour utiliser les indices.",
    "analyticsTitle": "Statistiques facultatives",
    "analyticsBody": "Des cookies Google Analytics pour mesurer les visites et l’utilisation du jeu.",
    "analyticsLabel": "Autoriser les statistiques",
    "analyticsOff": "Les statistiques d’utilisation sont désactivées.",
    "localAnalytics": "Aperçu de test · aucune donnée n’est envoyée à Google.",
    "privacy": "Confidentialité et cookies",
    "feedback": "M’écrire",
    "padTitle": "Commandes de direction",
    "padBody": "Des flèches pour déplacer un curseur et marquer sans toucher les cases. Auto les affiche sur les grandes grilles des écrans tactiles.",
    "padAuto": "Auto",
    "padAlways": "Toujours",
    "padNever": "Jamais"
  },
  "hints": {
    "button": "Indice",
    "buttonTitle": "Demander un indice à Toku",
    "tokuRightClick": "Clic droit sur Toku pour un indice",
    "title": "Indice de Toku",
    "mistakeTitle": "Quelque chose cloche",
    "why": "Pourquoi ?",
    "show": "Montrez-moi",
    "place": "Placer",
    "point": "Montrer où",
    "remove": "Effacer",
    "close": "Compris",
    "look_row": "Regardez la ligne {{n}}.",
    "look_column": "Regardez la colonne {{n}}.",
    "lookPair": "Regardez cette paire.",
    "lookDot": "Regardez ce point.",
    "lookCell": "Regardez la case entourée.",
    "mistakeLine_row": "Quelque chose cloche dans la ligne {{n}}.",
    "mistakeLine_column": "Quelque chose cloche dans la colonne {{n}}.",
    "mistakeDot": "Ce point ne fait pas partie de la solution.",
    "mistakeCross": "Cette croix recouvre un point de la solution.",
    "mistakeMany_one": "{{count}} marque ne convient pas.",
    "mistakeMany_other": "Ces {{count}} marques ne conviennent pas.",
    "completeLine_row_one": "La ligne {{n}} demande {{count}} point et l’a déjà : ses autres cases restent vides.",
    "completeLine_row_other": "La ligne {{n}} demande {{count}} points et les a déjà : ses autres cases restent vides.",
    "completeLine_column_one": "La colonne {{n}} demande {{count}} point et l’a déjà : ses autres cases restent vides.",
    "completeLine_column_other": "La colonne {{n}} demande {{count}} points et les a déjà : ses autres cases restent vides.",
    "countRemaining_row_one": "Il manque {{count}} point à la ligne {{n}} et il ne lui reste que {{count}} case libre : elle reçoit un point.",
    "countRemaining_row_other": "Il manque {{count}} points à la ligne {{n}} et il ne lui reste que {{count}} cases libres : chacune reçoit un point.",
    "countRemaining_column_one": "Il manque {{count}} point à la colonne {{n}} et il ne lui reste que {{count}} case libre : elle reçoit un point.",
    "countRemaining_column_other": "Il manque {{count}} points à la colonne {{n}} et il ne lui reste que {{count}} cases libres : chacune reçoit un point.",
    "linePatterns_row_one": "Seule {{count}} façon de placer les points de la ligne {{n}} correspond à ce que vous savez : elle fixe les cases entourées.",
    "linePatterns_row_other": "Seules {{count}} façons de placer les points de la ligne {{n}} correspondent à ce que vous savez, et toutes s’accordent sur les cases entourées.",
    "linePatterns_column_one": "Seule {{count}} façon de placer les points de la colonne {{n}} correspond à ce que vous savez : elle fixe les cases entourées.",
    "linePatterns_column_other": "Seules {{count}} façons de placer les points de la colonne {{n}} correspondent à ce que vous savez, et toutes s’accordent sur les cases entourées.",
    "neighborLines_row": "Lisez la ligne {{n}} avec ses voisines : chaque point a besoin d’un seul partenaire, et toutes les façons qui le permettent s’accordent sur les cases entourées.",
    "neighborLines_column": "Lisez la colonne {{n}} avec ses voisines : chaque point a besoin d’un seul partenaire, et toutes les façons qui le permettent s’accordent sur les cases entourées.",
    "linePatternsWhy_row_one": "Seule {{count}} façon de placer les points de la ligne {{n}} correspond à ce que vous savez. Laquelle ?",
    "linePatternsWhy_row_other": "Seules {{count}} façons de placer les points de la ligne {{n}} correspondent à ce que vous savez. Sur quelles cases s’accordent-elles toutes ?",
    "linePatternsWhy_column_one": "Seule {{count}} façon de placer les points de la colonne {{n}} correspond à ce que vous savez. Laquelle ?",
    "linePatternsWhy_column_other": "Seules {{count}} façons de placer les points de la colonne {{n}} correspondent à ce que vous savez. Sur quelles cases s’accordent-elles toutes ?",
    "neighborLinesWhy_row": "Lisez la ligne {{n}} avec ses voisines : chaque point a besoin d’un seul partenaire. Sur quelles cases s’accordent toutes les façons qui le permettent ?",
    "neighborLinesWhy_column": "Lisez la colonne {{n}} avec ses voisines : chaque point a besoin d’un seul partenaire. Sur quelles cases s’accordent toutes les façons qui le permettent ?",
    "protectPair": "Cette paire est complète : les cases qui touchent ses côtés restent vides. Les diagonales ne comptent pas.",
    "onlyPartner": "Ce point cherche encore un partenaire et il ne lui reste qu’un côté libre : son partenaire va là.",
    "noPartner": "Un point ici n’aurait aucun partenaire : toutes les cases à ses côtés sont exclues. Elle reste vide.",
    "trialDot_row": "Si cette case avait un point, la ligne {{n}} ne pourrait plus être complétée. Elle reste vide.",
    "trialDot_column": "Si cette case avait un point, la colonne {{n}} ne pourrait plus être complétée. Elle reste vide.",
    "trialEmpty_row": "Si cette case restait vide, la ligne {{n}} ne pourrait plus être complétée. Elle reçoit un point.",
    "trialEmpty_column": "Si cette case restait vide, la colonne {{n}} ne pourrait plus être complétée. Elle reçoit un point.",
    "trialAlone": "Si cette case avait un point, ce point resterait sans partenaire. Elle reste vide.",
    "trialDotLeavesAlone": "Si cette case avait un point, le point entouré resterait sans partenaire. Elle reste vide.",
    "trialEmptyLeavesAlone": "Si cette case restait vide, le point entouré resterait sans partenaire. Elle reçoit un point.",
    "mistakeAround": "Quelque chose ne va pas autour de ce point.",
    "mistakeOver_row_one": "La ligne {{n}} demande {{count}} point et en a {{placed}}.",
    "mistakeOver_column_one": "La colonne {{n}} demande {{count}} point et en a {{placed}}.",
    "mistakeOver_row_other": "La ligne {{n}} demande {{count}} points et en a {{placed}}.",
    "mistakeOver_column_other": "La colonne {{n}} demande {{count}} points et en a {{placed}}.",
    "mistakeShort_row_one": "La ligne {{n}} demande {{count}} point et n’a plus de place pour lui : il y a des croix là où il devrait aller.",
    "mistakeShort_column_one": "La colonne {{n}} demande {{count}} point et n’a plus de place pour lui : il y a des croix là où il devrait aller.",
    "mistakeShort_row_other": "La ligne {{n}} demande {{count}} points et n’a plus de place pour eux : il y a des croix là où ils devraient aller.",
    "mistakeShort_column_other": "La colonne {{n}} demande {{count}} points et n’a plus de place pour eux : il y a des croix là où ils devraient aller.",
    "mistakeCrowded": "Ce point en touche deux autres, alors que chaque point doit en toucher exactement un.",
    "mistakeAlone": "Ce point a des croix de tous les côtés : il ne peut plus avoir de partenaire.",
    "mistakeHidden_one": "{{count}} marque ne correspond pas à la solution, même si elle n’enfreint encore aucune règle. Je vous montre laquelle ?",
    "mistakeHidden_other": "{{count}} marques ne correspondent pas à la solution, même si elles n’enfreignent encore aucune règle. Je vous en montre une ?",
    "rewind_one": "Revenir au moment où tout allait ({{count}} changement)",
    "rewind_other": "Revenir au moment où tout allait ({{count}} changements)",
    "another": "Un autre indice",
    "patternsTotal_row_one": "Avec ce que vous savez, les points de la ligne {{n}} peuvent se placer de {{count}} façon.",
    "patternsTotal_column_one": "Avec ce que vous savez, les points de la colonne {{n}} peuvent se placer de {{count}} façon.",
    "patternsTotal_row_other": "Avec ce que vous savez, les points de la ligne {{n}} peuvent se placer de {{count}} façons.",
    "patternsTotal_column_other": "Avec ce que vous savez, les points de la colonne {{n}} peuvent se placer de {{count}} façons.",
    "patternsTriple_one": "{{count}} mettrait trois points d’affilée.",
    "patternsTriple_other": "{{count}} mettraient trois points d’affilée.",
    "patternsCrowded_one": "{{count}} ferait qu’un point en touche deux.",
    "patternsCrowded_other": "{{count}} feraient qu’un point en touche deux.",
    "patternsAlone_one": "{{count}} laisserait un point sans partenaire.",
    "patternsAlone_other": "{{count}} laisseraient un point sans partenaire.",
    "patternsLeft_one": "Il n’en reste que {{count}} : laquelle ?",
    "patternsLeft_other": "Il en reste {{count}} : sur quelles cases s’accordent-elles ?",
    "sentenceSeparator": " ",
    "storyStart_dot": "Supposition, un point : {{cell}}.",
    "storyStart_empty": "Supposition, vide : {{cell}}.",
    "storyStep_dot_one": "Étape {{step}}, un point : {{cells}}.",
    "storyStep_dot_other": "Étape {{step}}, des points : {{cells}}.",
    "storyStep_empty_one": "Étape {{step}}, vide : {{cells}}.",
    "storyStep_empty_other": "Étape {{step}}, vides : {{cells}}.",
    "revealAsk": "Celle-ci est difficile à déduire d’ici. Voulez-vous que je vous montre une case ?",
    "reveal": "Un point va ici.",
    "unavailable": "Je ne trouve aucun indice pour l’instant.",
    "impliedLead": "Comptez comme vides les cases que vos points excluent déjà, avec ou sans croix. {{text}}",
    "cells": "Cases : {{cells}}.",
    "cell": "ligne {{row}}, colonne {{column}}",
    "cellSeparator": " ; "
  },
  "library": {
    "title": "Choisissez un puzzle",
    "kicker": "COLLECTION · {{solved, number}} SUR {{total, number}} RÉSOLUS",
    "pickerTitle": "Choisir un puzzle",
    "pickerLabel": "Puntokus {{number}}, {{width}} sur {{height}}{{difficulty}}. Choisir un puzzle",
    "currentState": ", en jeu",
    "search": "Rechercher des puzzles",
    "searchLabel": "Rechercher des puzzles par numéro ou code",
    "searchPlaceholder": "Numéro ou code",
    "size": "Taille",
    "puzzles_one": "{{count, number}} puzzle",
    "puzzles_other": "{{count, number}} puzzles",
    "unfinished": "Non résolus",
    "itemLabel": "Puntokus {{number}}, {{width}} sur {{height}}{{difficulty}}, code {{code}}{{state}}",
    "solvedState": ", résolu par vous",
    "inProgress": "En cours",
    "empty": "Aucun puzzle ne correspond à ces filtres. Essayez une autre taille ou un autre code.",
    "page": "Page {{current}} sur {{total}}"
  },
  "difficulty": {
    "title": "Difficulté estimée",
    "levels": {
      "intro": "Initiation",
      "normal": "Normal",
      "advanced": "Avancé",
      "hard": "Difficile"
    },
    "spoken": ", difficulté estimée : {{level}}",
    "all": "Toutes",
    "what": "Qu’est-ce que cela signifie ?",
    "estimate": "Nous estimons le raisonnement qu’une grille demande en général. C’est un repère, pas une mesure exacte : chacun bloque sur des choses différentes.",
    "size": "La taille compte, mais elle ne fait pas tout.",
    "sizeExample": "Une grille 6×6 peut être {{hard}} et une 10×10, {{normal}}."
  },
  "panels": {
    "helpTitle": "Voici comment jouer.",
    "welcomeKicker": "Bienvenue dans Puntokus",
    "helpKicker": "Comment jouer",
    "shareSolvedTitle": "Puzzle résolu. Partagez-le.",
    "shareChallengeTitle": "Transmettez le défi.",
    "resultKicker": "Votre résultat",
    "challengeKicker": "Partager",
    "privacyTitle": "Vos données, en bref.",
    "privacyKicker": "Confidentialité et stockage"
  },
  "tutorial": {
    "figureLabel": "Une grille, étape par étape",
    "boardLabel": "Grille d’exemple de 3 lignes sur 3 colonnes. Nombres des lignes : {{rows}}. Nombres des colonnes : {{columns}}. {{summary}}",
    "solvedNoCrosses": "Résolu, sans croix",
    "stillSolved": "Toujours résolu",
    "diagonalCaption": "Le contact en diagonale est permis. Les paires partagent un côté.",
    "fitCaption": "Les nombres et les points doivent coïncider.",
    "step": "Étape {{current}} sur {{total}}",
    "navigation": "Étapes de la règle du jeu",
    "previous": "Étape précédente",
    "replay": "Revoir",
    "next": "Suivant",
    "pauseAuto": "Mettre la lecture automatique en pause",
    "replayAuto": "Relancer automatiquement",
    "playAuto": "Lire automatiquement",
    "pause": "Pause",
    "nextIn": "suite dans {{seconds}} s",
    "autoDescription": "Démarre sur demande et avance toutes les six secondes. Mettez en pause ou choisissez Suivant quand vous le souhaitez.",
    "controlsTitle": "Ajouter et effacer des marques",
    "controlsTouch": "Choisissez Point ou Croix, puis touchez une case. Touchez-la à nouveau pour effacer. Annuler restaure une marque.",
    "controlsKeyboard": "Clavier : les flèches déplacent, D ajoute un point, X une croix, Suppr efface, Espace utilise l’outil choisi et Ctrl / ⌘ Z annule. Le clic droit utilise l’autre outil ; Maj+clic ajoute une croix.",
    "playDaily": "Jouer ce puzzle du jour",
    "yourTurn": "À vous · 4×4",
    "playPuzzle": "Jouer ce puzzle",
    "returnGame": "Revenir à ma partie",
    "practice": "S’entraîner d’abord · 4×4",
    "dailyNote": "Un nouveau puzzle quotidien arrive chaque jour à 00:00 UTC.",
    "introNote": "Deux grilles 4×4 pour bien commencer.",
    "returnNote": "Vous pouvez rouvrir ce guide à tout moment.",
    "rowsSummary": "Points par ligne : {{rows}}. Points par colonne : {{columns}}.",
    "steps": {
      "counts": {
        "title": "Les nombres comptent les points.",
        "description": "Chaque ligne et chaque colonne doit contenir autant de points que le nombre l’indique. Cette ligne en demande {{count}}.",
        "summary": "Grille vide. Les nombres indiquent des points, pas des paires."
      },
      "pair": {
        "title": "Chaque point a besoin d’un partenaire.",
        "description": "Placez deux points côte à côte. Ils partagent un côté et forment une paire.",
        "summary": "Les deux premiers points de la ligne du haut forment une paire horizontale. Chacun touche exactement un point. La grille n’est pas encore terminée."
      },
      "triple": {
        "title": "Trois, c’est un de trop.",
        "description": "Le point du milieu en touche deux autres. Chaque point doit en toucher exactement un.",
        "summary": "La ligne du haut contient trois points. Celui du milieu a deux voisins : la paire n’est donc pas valide. La ligne compte aussi un point de trop."
      },
      "diagonal": {
        "title": "Le contact en diagonale est permis.",
        "description": "Ces points peuvent se toucher par un coin. Cela ne forme pas une paire : le nouveau point a encore besoin d’un voisin sur un côté.",
        "summary": "Le contact diagonal est permis. La paire horizontale reste liée, tandis que le nouveau point n’a aucun voisin latéral et doit encore trouver son partenaire."
      },
      "complete": {
        "title": "Tout s’emboîte.",
        "description": "Le contact diagonal reste en place. Ajoutez un partenaire en dessous : tous les points et les nombres coïncident. Résolu !",
        "summary": "Grille résolue : une paire horizontale en haut et une paire verticale à droite. Tous les comptes correspondent et chaque point a exactement un voisin."
      },
      "notes": {
        "title": "Les croix servent de notes.",
        "description": "Utilisez-les pour repérer les cases que vous avez écartées. Elles ne sont pas nécessaires pour gagner : le puzzle était déjà résolu.",
        "summary": "La même grille résolue, avec des croix dans les cases vides. Elles n’ajoutent aucun point et ne changent ni les paires ni la victoire."
      },
      "toku": {
        "title": "Vous bloquez ? Toku vous donne un coup de main.",
        "description": "Il vit à côté de la grille. Activez ses indices et, quand vous le lui demandez, il vous dit où regarder, puis pourquoi et, si vous voulez, il vous montre.",
        "summary": "La ligne du haut est mise en évidence : c’est là que pointe l’indice de Toku. Ses deux points forment déjà une paire."
      }
    },
    "tokuEnable": "Activer Toku",
    "hintsEnable": "Activer ses indices",
    "tokuOn": "Toku vous tient compagnie",
    "tokuNote": "Vous pouvez changer cela à tout moment dans les Préférences.",
    "tokuCaption": "Toku : « {{line}} »"
  },
  "privacy": {
    "controllerLabel": "Responsable du traitement",
    "purposesLabel": "Finalités",
    "purposes": "Fournir le jeu et, avec votre accord, mesurer son utilisation pour l’améliorer.",
    "basisLabel": "Base légale",
    "basis": "Intérêt légitime pour fournir le site et le puzzle du jour ; votre consentement pour les statistiques, que vous pouvez retirer dans Préférences.",
    "recipientsLabel": "Destinataires",
    "recipients": "Google, en tant que sous-traitant (Firebase et Google Analytics). Google peut traiter des données aux États-Unis avec des garanties appropriées. Nous ne communiquons les données à personne d’autre.",
    "contactLabel": "Contact",
    "contact": "<contact>{{email}}</contact>, pour toute question ou pour exercer vos droits.",
    "more": "En savoir plus",
    "localPreview": "Aperçu de test : les statistiques apparaissent uniquement dans la console locale et ne sont pas envoyées à Google.",
    "remoteOff": "Les statistiques distantes sont désactivées dans cet aperçu.",
    "deviceTitle": "Dans votre navigateur",
    "deviceBody": "Votre partie, l’historique et vos préférences (son, langue, section, aide déjà vue, mascotte et indices, et choix concernant les statistiques) sont enregistrés uniquement dans ce navigateur pour que vous puissiez continuer. Il n’y a pas de compte et rien n’est envoyé à un serveur. Effacer les données du site les supprime.",
    "serviceTitle": "À l’ouverture du site et du puzzle du jour",
    "serviceBody": "Firebase Hosting fournit le site et Firestore le puzzle du jour et les petites phrases de Toku pour les dates spéciales. Comme pour tout site web, Google reçoit votre adresse IP et des données techniques du navigateur pour répondre et protéger le service, et conserve les journaux d’hébergement quelques mois. Aucun cookie ni identifiant de joueur n’est utilisé. Le puzzle est conservé jusqu’à six heures dans votre navigateur pour éviter de le télécharger à nouveau.",
    "analyticsTitle": "Statistiques (facultatives)",
    "analyticsBody": "Uniquement si vous l’acceptez, Google Analytics enregistre les visites, les parties commencées et résolues, le temps de jeu approximatif, les coups, l’utilisation de l’aide, de Toku, des indices et du partage, votre avis si vous le donnez et des codes d’erreur. Nous n’envoyons jamais vos marques, solutions ni texte libre. Il utilise des cookies (jusqu’à 90 jours) et des identifiants du navigateur : les données ne sont donc pas anonymes. Les fonctions publicitaires sont désactivées.",
    "retention": "Google Analytics conserve les événements {{eventCount}} mois et les données utilisateur {{userCount}} mois. La durée des données utilisateur est renouvelée en cas de nouvelle activité. Ces durées ne s’appliquent pas aux rapports agrégés standards. Votre choix est conservé {{renewMonths}} mois ; nous vous le redemanderons ensuite.",
    "withdrawal": "Vous pouvez retirer votre accord dans Préférences. Cela arrête les nouveaux envois ; les données déjà reçues par Google ne sont pas effacées.",
    "sharingTitle": "Lorsque vous partagez",
    "sharingBody": "Le message est préparé sur votre appareil. Il peut inclure la grille ou le numéro du Défi du jour, les paires et, si le Défi est résolu, une carte tournée de l’ordre de résolution, votre style, si aucun point n’a été retiré et les jours d’affilée avec le Défi résolu. Nous ne le recevons pas ; les conditions du service utilisé pour l’envoyer s’appliquent.",
    "transfersTitle": "Transferts et droits",
    "transfersBody": "Google peut traiter des données hors de l’Espace économique européen ; ces transferts reposent sur le cadre de protection des données UE–États-Unis (Data Privacy Framework) et sur des clauses contractuelles types. Pour en savoir plus, consultez les <firebase>informations de confidentialité de Firebase</firebase>.",
    "rightsDetail": "Vous pouvez demander l’accès, la rectification, l’effacement, la limitation et la portabilité, ou vous opposer au traitement, en écrivant au contact indiqué. Vous pouvez aussi introduire une réclamation auprès de l’<authority>Agence espagnole de protection des données (AEPD)</authority>. Le retrait du consentement n’affecte pas la licéité des traitements antérieurs. Vous pouvez jouer sans accepter les statistiques."
  },
  "toku": {
    "greet": {
      "title": "Toku",
      "hello": "Bonjour ! Je suis Toku. Je reste dans les parages pendant que vous jouez, sans jamais prendre la place de la grille.",
      "more": "Dis-m’en plus",
      "howMouse": "Cliquez sur moi quand vous voulez, j’adore ça. Et si vous bloquez, faites un clic droit sur moi : je vous donnerai un indice.",
      "howTouch": "Touchez-moi quand vous voulez, j’adore ça. Et si vous bloquez, appuyez longuement sur moi : je vous donnerai un indice.",
      "petMouse": "Cliquez sur moi quand vous voulez, j’adore ça.",
      "petTouch": "Touchez-moi quand vous voulez, j’adore ça.",
      "noHints": "Si vous bloquez, je peux vous donner des indices. Ils sont désactivés pour l’instant : activez-les ici, ou quand vous voulez dans les Préférences.",
      "daily": "Mais pas d’indice dans le Quotidien : là, c’est à vous de jouer.",
      "done": "Compris !",
      "enableHints": "Activer les indices",
      "remove": "Jouer sans Toku",
      "bye": "D’accord ! Si vous changez d’avis, vous me trouverez dans les Préférences.",
      "byeClose": "À bientôt !"
    },
    "support": {
      "ask": "Bien joué ! Si Puntokus vous plaît, un café sur Ko‑fi aide à le faire vivre… et me permet de rester à vos côtés.",
      "accept": "Offrir un café",
      "decline": "Pas maintenant"
    }
  },
  "pad": {
    "group": "Déplacer le curseur",
    "up": "Haut",
    "down": "Bas",
    "left": "Gauche",
    "right": "Droite",
    "apply": "{{mark}} en ligne {{row}}, colonne {{column}}",
    "notice": "Ces flèches déplacent un curseur pour marquer les petites cases sans les toucher. Vous pouvez les retirer à tout moment.",
    "remove": "Retirer",
    "keep": "Compris"
  },
  "dock": {
    "hint": "Indice",
    "reset": "Vider",
    "seeAll": "Tout voir"
  },
  "header": {
    "expand": "Afficher la navigation",
    "collapse": "Masquer la navigation"
  },
  "iosApp": {
    "kicker": "Disponible sur l’App Store",
    "title": "Un moment pour vous.",
    "titleAccent": "Maintenant sur iOS.",
    "lead": "Plus de puzzles, des défis différents et une progression par niveaux. Découvrez de nouveaux thèmes et choisissez votre compagnon dans l’app.",
    "download": "Télécharger sur l’App Store",
    "playWeb": "Jouer sur le Web",
    "proof": "Sans publicité · Hors connexion · À votre rythme",
    "heroLabel": "La logique en bonne compagnie.",
    "heroNote": "Un petit rituel chaque jour.",
    "homeAlt": "Accueil de l’app Puntokus avec le puzzle du jour et la progression par niveaux",
    "boardAlt": "Un puzzle dans l’app Puntokus pour iOS",
    "levelsKicker": "Encore plus de défis",
    "levelsTitle": "Votre logique passe au niveau supérieur.",
    "levelsBody": "L’app propose plus de puzzles et des défis différents de ceux du Web, avec une progression du niveau facile au niveau expert.",
    "companionsKicker": "Choisissez votre compagnon",
    "companionsTitle": "Toku a de la compagnie.",
    "companionsBody": "Rencontrez Orbi, Daru, Bip, Haru et Rizo. Choisissez le compagnon qui vous ressemble.",
    "themesKicker": "À votre image",
    "themesTitle": "Un thème pour chaque moment.",
    "themesBody": "Constellations, Sakura ou Arcade : changez l’ambiance de vos puzzles.",
    "discoverKicker": "Découvrez l’app",
    "discoverTitle": "Plus de chemins. Plus de façons de jouer à votre image.",
    "discoverBody": "Le puzzle du jour n’est qu’un début. Explorez les niveaux, les thèmes et vos nouveaux compagnons.",
    "levelsNote": "De facile à expert · Apprendre et s’entraîner",
    "progressAlt": "Puzzles de l’app classés par difficulté, du niveau 1 au niveau 14",
    "companionsAlt": "Collection de compagnons de l’app : Toku, Orbi, Daru, Bip, Haru et Rizo",
    "themesAlt": "Une sélection des thèmes visuels de l’app",
    "closingTitle": "Votre prochaine pause commence ici.",
    "closingBody": "Puntokus est disponible pour iOS.",
    "qrHint": "Scannez avec votre iPhone ou iPad pour ouvrir l’App Store.",
    "qrAlt": "Code QR vers Puntokus sur l’App Store",
    "storeBadgeSmall": "Télécharger dans l’",
    "webNote": "Sans installation : jouez dans votre navigateur.",
    "appChoiceTitle": "L’expérience complète, dans l’app.",
    "webChoiceTitle": "Essayez d’abord sur le web.",
    "webChoiceBody": "Rien à télécharger : ouvrez votre navigateur et jouez au puzzle du jour.",
    "dailyAlt": "L’écran du puzzle du jour dans l’app, un nouveau chaque jour",
    "hintsAlt": "L’écran d’indice dans l’app, qui explique l’étape suivante",
    "themeMesa": "Classique",
    "themeConstellations": "Constellations",
    "themeSakura": "Sakura",
    "themeArcade": "Arcade",
    "themeInk": "Encre",
    "themeNeon": "Néon",
    "themeSnowyChristmas": "Noël enneigé",
    "themeAlchemy": "Alchimie",
    "themeSevilla": "Séville",
    "themeMedina": "Iulia",
    "themeXian": "Xi’an",
    "achievementsAlt": "Les succès de l’app, débloqués en jouant",
    "stampsAlt": "Les tampons du puzzle du jour dans l’app, un à collectionner chaque mois"
  },
  "iosBeta": {
    "label": "Bêta de Puntokus pour iOS",
    "eyebrow": "iOS · Bêta ouverte",
    "title": "Tu m’aides à tester l’app ?",
    "body": "Essaie Puntokus sur ton iPhone ou iPad et dis-nous ce qu’on peut améliorer.",
    "action": "Rejoindre la bêta · TestFlight",
    "close": "Me le rappeler dans 7 jours",
    "qrAlt": "Code QR de la bêta de Puntokus sur TestFlight",
    "qrHint": "Scanne avec ton iPhone ou iPad"
  },
  "footprint.clean": "Net",
  "footprint.eyebrow": "Votre style du jour",
  "footprint.legend": "🔵 ce que vous avez résolu en premier, 🔴 en dernier. La carte est tournée au hasard à chaque partage, elle ne révèle rien.",
  "footprint.message.eyebrow": "Voici ce qui est envoyé",
  "footprint.share.header": "Puntokus #{{number}} · {{style}}",
  "footprint.spoken": "Puntokus {{number}}, style {{style}}. Une carte de l’ordre dans lequel vous avez résolu la grille.",
  "footprint.spoken.clean": "Net : aucun point retiré.",
  "footprint.spoken.run": "Jours d’affilée : {{count}}.",
  "footprint.style.burst": "Explosion",
  "footprint.style.burst.detail": "Vous avez commencé au centre et fini sur les bords.",
  "footprint.style.knot": "Nœud",
  "footprint.style.knot.detail": "Tout a convergé vers un dernier nœud bien serré.",
  "footprint.style.lines": "Lignes",
  "footprint.style.lines.detail": "Vous avez avancé ligne par ligne, colonne par colonne.",
  "footprint.style.spiral": "Spirale",
  "footprint.style.spiral.detail": "Vous avez commencé par les bords et fini au centre.",
  "footprint.style.wave": "Vague",
  "footprint.style.wave.detail": "Vous êtes allé d’un côté de la grille à l’autre.",
  "footprint.style.zigzag": "Zigzag",
  "footprint.style.zigzag.detail": "Vous avez sauté de zone en zone."
}
