{
  "app": {
    "name": "Jàng Kaamil",
    "tagline": "Lisons ensemble",
    "skipToContent": "Aller au contenu",
    "login": "Se connecter",
    "back": "Retour"
  },
  "nav": {
    "label": "Navigation principale",
    "home": "Accueil",
    "seances": "Séances",
    "create": "Créer",
    "notifications": "Notifications",
    "profile": "Profil"
  },
  "screens": {
    "publicHome": "Bienvenue",
    "login": "Connexion",
    "loginWhatsapp": "Connexion par WhatsApp",
    "welcome": "Bienvenue",
    "myParts": "Mes parties",
    "mySeances": "Mes séances",
    "seance": "Séance",
    "reader": "Lecture",
    "notifications": "Notifications",
    "profile": "Profil",
    "history": "Historique",
    "createSeance": "Créer une séance",
    "share": "Partager",
    "manage": "Gérer la séance",
    "edit": "Modifier la séance",
    "closure": "Kaamil accompli",
    "templates": "Séances récurrentes",
    "template": "Séance récurrente",
    "sources": "Sources et licences",
    "about": "À propos",
    "privacy": "Confidentialité",
    "notFound": "Page introuvable",
    "terms": "Conditions d'utilisation",
    "loginEmail": "Connexion par e-mail",
    "createChoice": "Organiser une lecture",
    "createTally": "Lectures à compter",
    "tallyRecap": "Récapitulatif",
    "tallyProgramme": "Modifier le programme",
    "chapelet": "Chapelet"
  },
  "notFound": {
    "message": "Cette page n'existe pas ou a été déplacée.",
    "backHome": "Retour à l'accueil"
  },
  "common": {
    "loading": "Chargement…",
    "loadError": "Impossible de charger les données. Vérifiez votre connexion et réessayez.",
    "cancel": "Annuler",
    "confirm": "Valider",
    "save": "Enregistrer",
    "ok": "OK"
  },
  "sources": {
    "intro": "Jàng Kaamil affiche le texte du Saint Coran à partir de sources reconnues, sans aucune modification. Voici leur provenance et leurs conditions d'utilisation.",
    "texts": "Textes",
    "fonts": "Polices",
    "origin": "Source",
    "license": "Licence",
    "fontKfgqpc": "Police du Complexe du Roi Fahd pour l'impression du Saint Coran (Médine). Usage, copie et diffusion gratuits ; la police ne peut être ni vendue ni modifiée.",
    "fontIndopak": "Police de Ayman Siddiqui (QuranWBW), d'après Al Qalam Quran Majeed, utilisée par Quran.com. Licence à confirmer avant la mise en production."
  },
  "home": {
    "kicker": "Bismillah",
    "headline": "Lisons le Coran ensemble, partie par partie",
    "lead": "Créez une séance, partagez-la dans votre groupe WhatsApp : chacun prend son izib, et la séance se termine d'elle-même quand le kaamil est accompli.",
    "features": {
      "share": {
        "title": "Partagez en un message",
        "text": "Un lien ou un QR code suffit. Chacun choisit sa partie en trois appuis, sans créer de compte."
      },
      "read": {
        "title": "Lisez où vous voulez",
        "text": "Dans l'application, en Hafs, Warsh ou IndoPak, ou sur votre mushaf papier."
      },
      "free": {
        "title": "Gratuit, pour tous",
        "text": "Pas de mot de passe, pas de SMS payant : WhatsApp ou Google suffisent pour organiser."
      }
    },
    "read": "Lire le Coran",
    "publicSeances": "Séances publiques",
    "publicProgress": "{{ read }}/{{ total }} parties lues · {{ free }} à prendre",
    "more": "Pour aller plus loin",
    "publicTally": "Ensemble : {{ percent }} %",
    "publicCount": "{{ count }} en cours ou à venir",
    "publicSearch": "Rechercher une séance",
    "publicSearchHint": "Titre, intention, organisateur…",
    "publicFilter": "Type de séance",
    "publicKinds": {
      "ALL": "Toutes",
      "KHATM": "Kaamil",
      "TALLY": "Lectures à compter",
      "DAY": "Journées de lecture"
    },
    "publicBy": "par {{ name }}",
    "publicOpen": "Participer",
    "publicNone": "Aucune séance publique ne correspond à votre recherche.",
    "publicReset": "Voir toutes les séances"
  },
  "login": {
    "intro": "Connectez-vous pour créer des séances et retrouver vos parties sur tous vos appareils. Aucun mot de passe.",
    "verifyToCreate": "Pour créer une séance, vérifiez d'abord votre compte. Cela ne prend que quelques secondes.",
    "withWhatsapp": "Continuer avec WhatsApp",
    "whatsappHint": "Vous envoyez un message pré-rempli à Jàng Kaamil depuis votre WhatsApp. Gratuit, sans code à recopier.",
    "or": "ou",
    "guestHint": "Vous voulez seulement lire une partie ?",
    "guest": "Participer avec mon prénom",
    "withEmail": "Continuer avec mon e-mail",
    "emailHint": "Vous recevez un code à 6 chiffres. Aucun mot de passe.",
    "unavailable": "La connexion n'est pas encore disponible. Vous pouvez participer avec votre prénom.",
    "notNow": "Pas maintenant"
  },
  "whatsapp": {
    "step1": "Appuyez sur « Ouvrir WhatsApp ».",
    "step2": "Envoyez le message déjà rédigé, sans le modifier.",
    "step3": "Revenez ici : la connexion se fait toute seule.",
    "open": "Ouvrir WhatsApp",
    "yourCode": "Votre code de connexion",
    "waiting": "En attente de votre message…",
    "completing": "Message reçu, connexion en cours…",
    "expired": "Ce code a expiré (10 minutes). Recommencez pour en obtenir un nouveau.",
    "restart": "Recommencer",
    "simulatorTitle": "Mode développement : simuler l'envoi du message",
    "simulatorPhone": "Numéro de l'expéditeur",
    "simulatorName": "Nom du profil WhatsApp",
    "simulate": "Simuler l'envoi WhatsApp",
    "helpTitle": "Le message ne part pas ?",
    "help1": "Vérifiez que WhatsApp est installé sur ce téléphone et que vous êtes connecté à Internet.",
    "help2": "Sur ordinateur, le lien ouvre WhatsApp Web ou l'application WhatsApp.",
    "help3": "Vous n'avez pas WhatsApp ?",
    "otherMethod": "Utiliser une autre méthode"
  },
  "welcome": {
    "title": "Bienvenue sur Jàng Kaamil",
    "intro": "Choisissez comment vous apparaîtrez aux autres lecteurs. Votre identifiant permet à un organisateur de vous confier des parties.",
    "name": "Votre nom",
    "handle": "Identifiant public",
    "handleHint": "3 à 20 caractères : lettres, chiffres et « _ »",
    "available": "Disponible",
    "skip": "Plus tard",
    "phone": "Numéro WhatsApp (facultatif)",
    "phoneHint": "Pour que l'organisateur puisse vous envoyer un rappel sur WhatsApp.",
    "phoneHintEmail": "Pour recevoir les rappels sur WhatsApp. Sans numéro, ils vous arrivent par e-mail."
  },
  "guest": {
    "title": "Comment vous appelez-vous ?",
    "name": "Votre nom",
    "phone": "Numéro WhatsApp (facultatif)",
    "phoneHint": "Pour que l'organisateur puisse vous envoyer un rappel.",
    "nameHint": "Ou laissez vide et donnez seulement votre numéro."
  },
  "profile": {
    "unverified": "Vous participez avec votre seul nom, sur cet appareil. Vérifiez votre compte pour retrouver vos parties sur tous vos appareils.",
    "editIdentity": "Modifier mon nom et mon identifiant",
    "linkedAccounts": "Comptes liés",
    "link": "Lier",
    "linked": "Lié",
    "devices": "Appareils connectés",
    "thisDevice": "cet appareil",
    "disconnect": "Déconnecter",
    "logout": "Se déconnecter",
    "verified": "Compte vérifié",
    "edit": "Modifier",
    "notifications": "Notifications",
    "reminders": "Me rappeler mes parties avant l'échéance",
    "emailNotifications": "Recevoir aussi un email ({{ email }})",
    "history": "Historique et statistiques",
    "dangerZone": "Supprimer mon compte",
    "delete": "Supprimer mon compte",
    "confirmDelete": {
      "title": "Supprimer votre compte ?",
      "message": "Cette action est définitive. Vous serez déconnecté de tous vos appareils.",
      "confirm": "Supprimer définitivement"
    },
    "deleted": "Votre compte a été supprimé.",
    "verify": "Vérifier mon compte",
    "email": "E-mail",
    "deleteFinal": "Action définitive",
    "deleteIntro": "Si vous supprimez votre compte :",
    "deleteList": {
      "erased": "Votre nom, votre numéro, votre e-mail et vos appareils sont effacés.",
      "kept": "Les parties déjà lues restent comptées, sous le nom « Lecteur anonyme ».",
      "released": "Vos parties à lire sont libérées pour d'autres lecteurs."
    },
    "deleteChecking": "Vérification de vos séances…",
    "deleteCheckFailed": "Impossible de vérifier vos séances pour le moment. Réessayez plus tard.",
    "deleteBlocked": "{{ count }} séance(s) que vous organisez sont encore ouvertes. Clôturez-les ou annulez-les avant de supprimer votre compte.",
    "deleteBlockedHint": "Sinon, leurs lecteurs resteraient sans organisateur. Ouvrez chaque séance, puis menu ⋮ → « Clôturer maintenant » ou « Annuler la séance »."
  },
  "intention": {
    "DECEASED": "Pour un défunt",
    "EVENT": "Pour un événement",
    "MAGAL": "Magal",
    "RAMADAN": "Ramadan",
    "BARAKA": "Baraka",
    "OTHER": "Autre"
  },
  "slot": {
    "status": {
      "FREE": "Libre",
      "ASSIGNED": "Affectée",
      "IN_PROGRESS": "En cours",
      "READ": "Lue"
    },
    "you": "vous",
    "me": "Moi",
    "claim": "Je prends cette partie",
    "readNow": "Lire maintenant",
    "readOnPaper": "J'ai lu sur mon mushaf",
    "start": "Je commence",
    "release": "Libérer cette partie",
    "markForReader": "Marquer comme lue pour ce lecteur",
    "revoke": "Retirer la partie",
    "unmark": "Annuler le marquage « lue »",
    "assignTo": "Affecter à (@identifiant)",
    "assign": "Affecter",
    "confirmRelease": {
      "title": "Libérer cette partie ?",
      "message": "Elle redeviendra disponible pour les autres lecteurs.",
      "confirm": "Libérer"
    },
    "confirmRevoke": {
      "title": "Retirer cette partie ?",
      "message": "Le lecteur ne l'aura plus et elle redeviendra libre.",
      "confirm": "Retirer"
    },
    "confirmUnmark": {
      "title": "Annuler le marquage ?",
      "message": "La partie repassera « en cours » pour son lecteur.",
      "confirm": "Annuler le marquage"
    },
    "done": {
      "release": "Partie libérée.",
      "start": "Bonne lecture !",
      "mark-read": "Qu'Allah accepte votre lecture 🤲",
      "unmark": "Marquage annulé.",
      "revoke": "Partie retirée.",
      "assign": "Partie affectée."
    }
  },
  "claim": {
    "success": "{{ part }} est à vous. Retrouvez-la dans « Accueil ».",
    "taken": "Cette partie vient d'être prise par quelqu'un d'autre.",
    "takeSuggested": "Prendre {{ part }}"
  },
  "seance": {
    "notFound": "Séance introuvable, ou réservée à ses membres.",
    "round": "Tour",
    "allRounds": "Tous",
    "progress": "Progression",
    "deadline": "Échéance",
    "seanceTime": "Heure de la séance",
    "organizedBy": "Organisée par",
    "claimNext": "Prendre une partie",
    "manualMode": "Dans cette séance, l'organisateur affecte lui-même les parties.",
    "filter": "Filtre",
    "filters": {
      "all": "Toutes",
      "free": "Libres",
      "mine": "Mes parties"
    },
    "noMatch": "Aucune partie ne correspond à ce filtre.",
    "activity": "Activité récente",
    "noActivity": "Pas encore d'activité.",
    "manage": "Gérer la séance",
    "extend": "Prolonger l'échéance",
    "newDeadline": "Nouvelle échéance",
    "close": "Clôturer maintenant",
    "cancel": "Annuler la séance",
    "confirmClose": {
      "title": "Clôturer la séance ?",
      "message": "{{ unread }} partie(s) ne sont pas encore lues. La clôture est définitive.",
      "confirm": "Clôturer"
    },
    "confirmCancel": {
      "title": "Annuler la séance ?",
      "message": "Plus personne ne pourra prendre ni marquer de partie.",
      "confirm": "Annuler la séance"
    },
    "done": {
      "close": "Séance clôturée.",
      "cancel": "Séance annulée.",
      "extend": "Échéance prolongée."
    },
    "banner": {
      "SCHEDULED": "À venir : vous pouvez déjà prendre votre partie.",
      "EXPIRED": "L'échéance est passée, mais la lecture reste possible.",
      "CLOSED": "Séance clôturée. Qu'Allah accepte ces lectures.",
      "CANCELLED": "Cette séance a été annulée."
    },
    "status": {
      "SCHEDULED": "À venir",
      "OPEN": "En cours",
      "EXPIRED": "Échue",
      "CLOSED": "Clôturée",
      "CANCELLED": "Annulée"
    },
    "legend": "Légende des statuts",
    "partsRead": "Parties lues",
    "edit": "Modifier la séance",
    "manageShort": "Gérer",
    "seeClosure": "Voir le récapitulatif"
  },
  "event": {
    "someone": "Quelqu'un",
    "SEANCE_PUBLISHED": "Séance publiée",
    "SEANCE_EXPIRED": "Échéance atteinte",
    "SEANCE_EXTENDED": "Échéance prolongée",
    "SEANCE_CLOSED": "Séance clôturée",
    "SEANCE_CANCELLED": "Séance annulée",
    "MEMBER_JOINED": "{{ who }} a rejoint la séance",
    "SLOT_CLAIMED": "{{ who }} a pris {{ part }}",
    "SLOT_ASSIGNED": "{{ part }} confiée à {{ who }}",
    "SLOT_RELEASED": "{{ who }} a libéré {{ part }}",
    "SLOT_REVOKED": "{{ part }} retirée à {{ who }}",
    "SLOT_STARTED": "{{ who }} a commencé {{ part }}",
    "SLOT_READ": "{{ who }} a terminé {{ part }}",
    "SLOT_UNREAD": "Marquage annulé pour {{ part }}",
    "SEANCE_UPDATED": "Séance modifiée",
    "NUDGE_SENT": "{{ actor }} a relancé {{ who }} pour {{ part }}",
    "TALLY_ADDED": "{{ who }} a lu {{ count }} {{ item }}",
    "TALLY_UPDATED": "{{ who }} a corrigé sa lecture : {{ count }} {{ item }}",
    "TALLY_DELETED": "Lecture retirée : {{ count }} {{ item }}",
    "TALLY_REACHED": "Objectif atteint : {{ item }} ✓",
    "ITEMS_UPDATED": "Programme modifié"
  },
  "tally": {
    "kind": {
      "KHATM": "Kaamil",
      "TALLY": "Lectures à compter",
      "DAY": "Journée de lecture"
    },
    "together": "Ensemble",
    "readers": "{{ count }} lecteur(s)",
    "readersTitle": "Ont déjà lu",
    "allReached": "Tous les objectifs sont atteints. Qu'Allah accepte !",
    "declare": "J'ai lu…",
    "mine": "Vous : {{ count }}",
    "remaining": "Reste {{ count }} {{ unit }}",
    "myEntriesBlock": {
      "title": "Mes lectures",
      "summary": "{{ count }} saisie(s) · dernière {{ when }}",
      "today": "Aujourd'hui",
      "yesterday": "Hier",
      "byOrganizer": "Saisie par l'organisateur"
    },
    "setEnd": "Fixer une date de fin",
    "state": {
      "done": "Complet",
      "progress": "En cours",
      "open": "Sans objectif"
    },
    "board": {
      "search": "Rechercher une lecture",
      "clearSearch": "Effacer la recherche",
      "categories": "Catégories",
      "hideDone": "Masquer les lectures terminées",
      "noResult": "Aucune lecture ne correspond."
    },
    "units": {
      "TIMES": "fois",
      "KHATM": "kaamil",
      "JUZ": "juz",
      "HIZB": "hizb"
    },
    "entry": {
      "title": "J'ai lu",
      "editTitle": "Corriger ma lecture",
      "which": "Qu'avez-vous lu ?",
      "howMany": "Combien de {{ unit }} ?",
      "less": "Un de moins",
      "more": "Un de plus",
      "quick": "Nombres rapides",
      "submit": "Valider",
      "thanks": "Qu'Allah accepte votre lecture 🤲",
      "updated": "Lecture corrigée.",
      "deleted": "Lecture retirée.",
      "edit": "Corriger",
      "delete": "Retirer",
      "deleteTitle": "Retirer cette lecture ?",
      "deleteMessage": "{{ count }} {{ item }} sera retiré du total.",
      "largeTitle": "Confirmez-vous ce nombre ?",
      "largeMessage": "Vous allez ajouter {{ count }} {{ item }}.",
      "fix": "Corriger"
    },
    "editor": {
      "pick": "Ajouter une lecture",
      "add": "Ajouter",
      "other": "Autre",
      "programme": "Programme ({{ count }})",
      "name": "Nom de la lecture",
      "nameAr": "Nom en arabe (facultatif)",
      "target": "Objectif",
      "noTarget": "Sans objectif",
      "up": "Monter",
      "down": "Descendre",
      "remove": "Retirer",
      "locked": "Des lectures ont déjà été saisies : on ne peut plus la retirer.",
      "empty": "Touchez une lecture ci-dessous pour l'ajouter au programme.",
      "search": "Rechercher une lecture",
      "searchHint": "Yassine, Istighfar, Jazbul…",
      "clearSearch": "Effacer la recherche",
      "categories": "Catégories",
      "popular": "Les plus utilisées",
      "noResult": "Aucune lecture ne correspond à « {{ query }} ».",
      "addCustom": "Ajouter « {{ query }} »",
      "added": "Déjà au programme :",
      "duplicate": "Cette lecture est déjà dans le programme : modifiez plutôt son objectif.",
      "which": "Quelle {{ name }} ?",
      "learnHint": "Pas dans la liste ? Tapez son nom : il pourra être proposé à d'autres.",
      "detailResults": "Sourates et xassida",
      "surahNumber": "Sourate {{ n }}",
      "change": "Changer de {{ name }}"
    },
    "recap": {
      "button": "Récapitulatif",
      "back": "Retour à la séance",
      "together": "ensemble {{ percent }} %",
      "generatedAt": "Récapitulatif du {{ date }}",
      "byItem": "Par lecture",
      "item": "Lecture",
      "planned": "Prévu",
      "done": "Lu",
      "left": "Reste",
      "byPerson": "Par participant",
      "entries": "{{ count }} saisie(s)",
      "nobody": "Personne n'a encore lu.",
      "shareTitle": "Partager le récapitulatif",
      "withNames": "Inclure le détail par lecteur",
      "preview": "Aperçu du message",
      "whatsapp": "WhatsApp",
      "image": "Image",
      "pdf": "PDF / imprimer",
      "copy": "Copier le texte",
      "copied": "Texte copié.",
      "copyFailed": "Impossible de copier : sélectionnez le texte à la main.",
      "imageHeading": "Récapitulatif",
      "imageClosed": "Lecture accomplie",
      "imageMore": "+ {{ count }} autre(s) lecture(s)",
      "blessing": "Qu'Allah accepte nos lectures",
      "confirmClose": {
        "title": "Clôturer la séance ?",
        "message": "Tous les objectifs sont atteints. Plus personne ne pourra ajouter ni corriger de lecture.",
        "confirm": "Clôturer"
      },
      "confirmCloseIncomplete": {
        "title": "Clôturer la séance ?",
        "message": "Il reste : {{ remaining }}. Plus personne ne pourra ajouter ni corriger de lecture.",
        "confirm": "Clôturer quand même"
      }
    },
    "programme": {
      "button": "Modifier le programme",
      "intro": "Ajoutez une lecture, changez un objectif ou l'ordre. Une lecture qui a déjà des saisies ne peut plus être retirée.",
      "saved": "Programme enregistré."
    },
    "closure": {
      "heading": "Lecture accomplie",
      "totals": "Ce que nous avons lu ensemble"
    },
    "forSomeone": {
      "button": "Saisir pour quelqu'un",
      "title": "Saisir pour quelqu'un",
      "who": "Pour qui ?",
      "new": "Nouveau lecteur (sans téléphone)",
      "newHint": "Facultatif : pour lui envoyer un rappel.",
      "sheetTitle": "Lecture de {{ name }}",
      "done": "Lecture enregistrée pour {{ name }}."
    },
    "categories": {
      "ALL": "Tout",
      "DHIKR": "Dhikr",
      "SALAWAT": "Salawat",
      "QURAN": "Coran",
      "XASSIDA": "Xassida",
      "WIRD": "Wird et recueils",
      "DUA": "Du'a",
      "OTHER": "Autres"
    },
    "chapelet": {
      "title": "Chapelet",
      "start": "Prendre le chapelet",
      "resume": "Reprendre le chapelet ({{ count }})",
      "alreadyCounted": "J'ai déjà compté",
      "paused": "En pause · {{ count }}",
      "pausedResume": "Chapelet en pause · {{ count }} · Reprendre",
      "pausedToast": "Chapelet en pause : {{ count }} {{ item }}. Reprenez-le quand vous voulez.",
      "abandonButton": "Oublier ce chapelet",
      "abandon": "Oublier",
      "abandonTitle": "Oublier ce chapelet ?",
      "abandonMessage": "Les {{ count }} {{ item }} comptés ne seront pas ajoutés au total.",
      "abandoned": "Chapelet oublié.",
      "finishTitle": "Terminer le chapelet",
      "back": "Mettre en pause et revenir",
      "backToBoard": "Revenir au tableau",
      "vibrate": "Vibration à chaque perle",
      "tap": "Compter une perle. {{ count }} comptées.",
      "roundLine": "Tour {{ round }} · {{ done }} / {{ size }}",
      "roundDone": "Tour {{ round }} terminé",
      "roundOf": "Tour de",
      "hint": "Touchez l'écran pour compter une perle",
      "undo": "Une perle de moins",
      "pause": "Pause",
      "finish": "Terminer",
      "unavailable": "Ce chapelet n'est plus disponible : la séance est clôturée, ou cette lecture ne se compte pas au chapelet.",
      "loadError": "Le chapelet n'a pas pu être chargé. Vérifiez votre connexion.",
      "roundTag": "Tour {{ round }}",
      "settings": "Réglages du chapelet",
      "hand": "Main",
      "together": "Déjà déclaré : {{ total }} au total · {{ mine }} par vous",
      "left": "Gauche",
      "right": "Droite"
    }
  },
  "myParts": {
    "hello": "Salam {{ name }} 👋",
    "toRead": "À lire",
    "resume": "Reprendre la lecture",
    "seeSeance": "Voir la séance",
    "empty": "Aucune partie à lire. Rejoignez une séance par son lien, ou créez la vôtre.",
    "recentlyRead": "Récemment lues",
    "summary": "{{ count }} partie(s) à lire",
    "summaryNone": "Rien à lire pour l'instant",
    "quick": {
      "label": "Raccourcis",
      "create": "Créer une séance",
      "read": "Lire le Coran",
      "seances": "Mes séances"
    },
    "progress": "{{ percent }} % lu",
    "tallies": "Lectures en cours",
    "publicTitle": "Séances publiques",
    "publicHint": "Ouvertes à tous : rejoignez-en une et prenez votre part.",
    "publicSeeAll": "Voir tout"
  },
  "mySeances": {
    "targetsReached": "objectif(s) atteint(s)",
    "organized": "J'organise",
    "joined": "Je participe",
    "public": "Publiques",
    "emptyPublic": "Aucune séance publique en cours ou à venir pour le moment.",
    "read": "lues",
    "myActive": "{{ count }} à lire pour vous",
    "empty": "Aucune séance pour l'instant.",
    "filterLabel": "Filtrer par statut",
    "filters": {
      "all": "Toutes",
      "active": "En cours",
      "upcoming": "À venir",
      "archived": "Clôturées"
    },
    "groups": {
      "active": "En cours",
      "upcoming": "À venir",
      "archived": "Archives"
    },
    "none": {
      "active": "Aucune séance en cours.",
      "upcoming": "Aucune séance à venir.",
      "archived": "Aucune séance clôturée."
    },
    "startsAt": "Commence {{ date }}",
    "closedAt": "Clôturée le {{ date }}",
    "open": "Ouvrir",
    "searchHint": "Titre, intention…",
    "noMatch": "Aucune de vos séances ne correspond à votre recherche."
  },
  "create": {
    "progress": "Étapes de création",
    "steps": {
      "why": "Pourquoi ?",
      "what": "Quoi ?",
      "when": "Quand ?",
      "who": "Qui ?",
      "summary": "Récapitulatif"
    },
    "intention": "Intention",
    "intentionDetail": "Précision (facultatif)",
    "intentionDetailHint": "Ex. « pour feu Mamadou Diop », « pour la réussite de nos enfants »",
    "title": "Titre",
    "description": "Description (facultatif)",
    "titles": {
      "DECEASED": "Kaamil pour un défunt",
      "EVENT": "Kaamil pour un événement",
      "MAGAL": "Kaamil du Magal",
      "RAMADAN": "Kaamil du Ramadan",
      "BARAKA": "Kaamil de baraka",
      "OTHER": "Kaamil collectif"
    },
    "division": "Découpage",
    "khatm": "Nombre de kaamil",
    "less": "Un kaamil de moins",
    "more": "Un kaamil de plus",
    "partsToShare": "parties à distribuer",
    "parts": "parties",
    "startNow": "Commencer maintenant",
    "start": "Début",
    "deadline": "Échéance",
    "deadlineCustom": "Autre date et heure",
    "presets": {
      "tonight": "Ce soir",
      "thursday": "Jeudi soir",
      "week": "Dans 7 jours"
    },
    "timezone": "Fuseau horaire de la séance",
    "errors": {
      "deadlinePast": "L'échéance doit être dans le futur.",
      "deadlineBeforeStart": "L'échéance doit être après le début.",
      "noDate": "Aucune date à venir pour cette règle."
    },
    "type": "Type de séance",
    "types": {
      "GROUP": "En groupe",
      "INDIVIDUAL": "Individuelle"
    },
    "visibility": "Qui peut voir la séance ?",
    "visibilities": {
      "LINK": "Toute personne qui a le lien",
      "PRIVATE": "Seulement les participants",
      "PUBLIC": "Tout le monde (séance publique)"
    },
    "visibilityHints": {
      "LINK": "Idéal pour partager dans un groupe WhatsApp.",
      "PRIVATE": "Les parties sont affectées par vous.",
      "PUBLIC": "La séance apparaît dans les séances publiques."
    },
    "mode": "Qui choisit les parties ?",
    "modes": {
      "SELF_SERVICE": "Chacun choisit sa partie",
      "MANUAL": "J'affecte moi-même les parties",
      "MIXED": "Mixte"
    },
    "modeHints": {
      "SELF_SERVICE": "Les participants prennent les parties libres.",
      "MANUAL": "Vous confiez chaque partie à un lecteur.",
      "MIXED": "Vous affectez certaines parties, le reste est en libre-service."
    },
    "maxActive": "Parties non lues par personne (max.)",
    "maxActiveHint": "Vide : pas de limite.",
    "hideNames": "Masquer les noms des lecteurs aux visiteurs",
    "back": "Retour",
    "next": "Continuer",
    "publish": "Publier la séance",
    "stepOf": "Étape {{ current }} sur {{ total }}",
    "stepLabels": {
      "why": "Intention",
      "what": "Lecture",
      "when": "Date",
      "who": "Participants",
      "summary": "Valider"
    },
    "typeHints": {
      "GROUP": "Plusieurs lecteurs se partagent les parties.",
      "INDIVIDUAL": "Toutes les parties vous sont confiées."
    },
    "options": "Réglages avancés",
    "partsDetail": "{{ khatm }} kaamil × {{ division }}"
  },
  "createChoice": {
    "title": "Que voulez-vous organiser ?",
    "subtitle": "Choisissez la façon de lire ensemble.",
    "khatm": {
      "title": "Kaamil",
      "hint": "Répartir les 30 izib entre plusieurs lecteurs"
    },
    "tally": {
      "title": "Lectures à compter",
      "hint": "Istighfar, Yassine, Xassida… Chacun dit combien il a lu"
    },
    "day": {
      "title": "Journée de lecture",
      "hint": "Un jour, un programme (Coran, xassida, Istighfar…)"
    }
  },
  "createTally": {
    "stepLabels": {
      "what": "Lectures",
      "when": "Date",
      "who": "Intention",
      "summary": "Valider"
    },
    "steps": {
      "what": "Que faut-il lire ?",
      "when": "Jusqu'à quand ?",
      "who": "Pour qui ?",
      "summary": "Récapitulatif"
    },
    "titleMulti": "Lectures",
    "end": "Date de fin",
    "noEnd": "Sans date de fin",
    "noEndHint": "Vous clôturez quand vous voulez.",
    "withEnd": "Avec une date de fin",
    "withEndHint": "La séance passe en « échue » après cette date.",
    "endCustom": "Date et heure de fin",
    "errors": {
      "endPast": "La date de fin doit être dans le futur.",
      "endBeforeStart": "La date de fin doit être après le début.",
      "dayPast": "La date ne peut pas être dans le passé.",
      "noDay": "Choisissez une date."
    },
    "target": "Objectif :",
    "until": "Jusqu'au {{ date }}",
    "titleDay": "Journée de lecture du {{ date }}",
    "dayStep": "Quel jour ?",
    "dayQuestion": "Date de la journée de lecture",
    "dayPresets": {
      "today": "Aujourd'hui",
      "tomorrow": "Demain",
      "friday": "Vendredi"
    },
    "dayCustom": "Autre date",
    "dayHint": "De 0 h à minuit, dans le fuseau de la séance. Les lectures tardives restent possibles.",
    "dayOf": "Journée du {{ date }}"
  },
  "share": {
    "button": "Partager",
    "intro": "Envoyez le message dans vos groupes WhatsApp, ou partagez l'affiche avec son QR code (à imprimer pour la mosquée ou le daara).",
    "notAllowed": "Seul l'organisateur peut gérer le partage de cette séance.",
    "whatsapp": "Partager sur WhatsApp",
    "native": "Autres applications",
    "copy": "Copier le lien",
    "copied": "Lien copié.",
    "qrAlt": "QR code de la séance « {{ title }} »",
    "downloadQr": "Télécharger le QR code (image)",
    "qrHint": "À imprimer : il suffit de le scanner avec l'appareil photo du téléphone.",
    "opens": "Lien ouvert {{ count }} fois",
    "regenerate": "Régénérer le lien",
    "regenerated": "Nouveau lien créé. L'ancien ne fonctionne plus.",
    "confirmRegenerate": {
      "title": "Régénérer le lien ?",
      "message": "L'ancien lien et son QR code cesseront de fonctionner pour ceux qui ne participent pas encore.",
      "confirm": "Régénérer"
    },
    "viewOnlyTitle": "Lien en consultation seule",
    "viewOnlyHint": "Pour suivre la progression sans pouvoir prendre de partie (famille, invités).",
    "toSeance": "Aller à la séance",
    "permanentTitle": "Lien permanent de la séance récurrente",
    "permanentHint": "Le même lien chaque semaine : il ouvre toujours la séance en cours.",
    "messageTitle": "Le message",
    "messageHint": "Il part avec le lien de participation.",
    "copyMessage": "Copier le message",
    "messageCopied": "Message copié.",
    "linkTitle": "Lien de participation",
    "posterTitle": "L'affiche avec le QR code",
    "posterHint": "Les informations de la séance et le QR code sur une seule image : à envoyer dans un groupe, en statut, ou à imprimer.",
    "posterAlt": "Affiche de « {{ title }} » avec son QR code",
    "sharePoster": "Partager l'affiche",
    "downloadPoster": "Télécharger l'affiche",
    "poster": {
      "scan": "Scannez avec l'appareil photo pour participer",
      "target": "{{ label }} — objectif {{ target }}",
      "free": "{{ free }} partie(s) à prendre sur {{ total }}",
      "downloaded": "Affiche téléchargée : partagez-la depuis votre galerie ou imprimez-la.",
      "failed": "L'affiche n'a pas pu être préparée. Le QR code seul reste disponible."
    },
    "more": "Autres options",
    "moreHint": "Lien en consultation seule, QR code seul, nouveau lien",
    "qrOnlyTitle": "QR code seul",
    "regenerateHint": "Un nouveau lien remplace l'actuel, qui cessera de fonctionner."
  },
  "reader": {
    "back": "Retour",
    "freeReading": "Lecture libre",
    "settings": "Réglages de lecture",
    "script": "Écriture",
    "scripts": {
      "quran-hafs-uthmani": "Hafs",
      "quran-warsh": "Warsh",
      "quran-indopak": "IndoPak"
    },
    "translit": "Translittération",
    "translation": "Traduction française",
    "size": "Taille du texte",
    "theme": "Thème",
    "themes": {
      "light": "Clair",
      "sepia": "Sépia",
      "night": "Nuit"
    },
    "reciter": "Récitateur",
    "autoscroll": "Suivre le verset récité",
    "division": "Découpage",
    "part": "Partie",
    "progress": "Lecture : {{ percent }} %",
    "resumed": "Reprise au verset {{ verse }} de {{ sura }}",
    "backToStart": "Revenir au début",
    "notFound": "Cette partie n'est pas à vous, ou n'existe plus.",
    "endReached": "Vous avez atteint la fin de {{ part }}.",
    "finish": "J'ai terminé",
    "almost": "Encore quelques versets à parcourir ({{ percent }} % lus).",
    "accepted": "Qu'Allah accepte votre lecture",
    "toSeance": "Voir la séance",
    "another": "Prendre une autre partie",
    "listen": "Écouter",
    "pause": "Pause",
    "previous": "Verset précédent",
    "next": "Verset suivant",
    "closeAudio": "Fermer l'audio",
    "audio": "Lecture audio",
    "ready": "Appuyez sur lecture",
    "track": "Verset {{ current }} sur {{ total }}",
    "audioError": "Audio indisponible (connexion ?)",
    "zoom": "Taille du texte",
    "zoomIn": "Agrandir le texte",
    "zoomOut": "Réduire le texte",
    "layout": "Affichage",
    "layouts": {
      "continuous": "Continu",
      "verses": "Verset par verset"
    },
    "layoutHint": "La translittération et la traduction s'affichent en mode verset par verset.",
    "verseCount": "{{ count }} versets"
  },
  "notifications": {
    "unread": "{{ count }} non lue(s)",
    "allRead": "Vous êtes à jour.",
    "readAll": "Tout marquer comme lu",
    "readAllShort": "Tout lu",
    "new": "Nouvelle",
    "empty": "Aucune notification pour l'instant. Vous serez prévenu ici quand on vous confie une partie, avant l'échéance et à la fin du kaamil.",
    "more": "Voir les plus anciennes"
  },
  "push": {
    "title": "Être prévenu sur ce téléphone",
    "why": "Un rappel avant l'échéance, une partie qu'on vous confie, le kaamil accompli : recevez-le même quand Jàng Kaamil est fermé. Gratuit, et désactivable à tout moment.",
    "enable": "Activer les notifications",
    "later": "Plus tard",
    "toggle": "Notifications sur cet appareil",
    "test": "Envoyer un test",
    "testSent": "Notification de test envoyée.",
    "testFailed": "Envoi impossible pour le moment.",
    "enabled": "Notifications activées sur cet appareil.",
    "notEnabled": "Les notifications n'ont pas été activées.",
    "disabled": "Notifications désactivées sur cet appareil.",
    "iosInstall": "Sur iPhone : touchez « Partager » puis « Sur l'écran d'accueil », et ouvrez Jàng Kaamil depuis l'icône pour recevoir les notifications.",
    "denied": "Les notifications sont bloquées pour ce site. Autorisez-les dans les réglages du navigateur.",
    "unsupported": "Ce navigateur ne permet pas les notifications push. Vos notifications restent visibles ici, dans l'onglet 🔔."
  },
  "manage": {
    "notAllowed": "Seul l'organisateur peut gérer cette séance.",
    "backToSeance": "Retour à la séance",
    "menu": "Actions sur la séance",
    "read": "lues",
    "expired": "L'échéance est passée : prolongez-la, relancez les retardataires ou clôturez la séance.",
    "tabs": "Sections",
    "tab": {
      "people": "Participants",
      "grid": "Grille",
      "activity": "Activité"
    },
    "late": "Retardataires ({{ count }})",
    "lateReason": {
      "OVERDUE": "échéance passée",
      "DEADLINE_SOON": "échéance dans moins de 24 h",
      "IDLE": "pas commencée depuis 48 h"
    },
    "nudge": "Relancer",
    "nudgedAgo": "relancé {{ when }}",
    "nudged": "Relance envoyée dans l'application. Envoyez aussi le message WhatsApp.",
    "nudgedNoNotif": "Déjà relancé récemment dans l'application : seul le message WhatsApp part.",
    "assign": "Affecter des parties",
    "newManaged": "Lecteur géré",
    "free": "Libres : {{ count }} partie(s)",
    "seeGrid": "Voir la grille",
    "groupNudge": "Relance groupée (à coller dans le groupe)",
    "sendToGroup": "Envoyer sur WhatsApp",
    "copied": "Message copié.",
    "participants": "Participants ({{ count }})",
    "managed": "géré",
    "you": "vous",
    "summary": "{{ total }} partie(s) · {{ read }} lue(s) · {{ active }} à lire",
    "partActions": "Actions sur",
    "markedByYou": "marquée par vous",
    "noParts": "Aucune partie en cours.",
    "noParticipants": "Personne n'a encore rejoint la séance. Partagez le lien !",
    "selectFree": "Sélectionner les libres",
    "gridHint": "Touchez les parties libres pour les sélectionner, puis « Affecter ».",
    "selected": "sélectionnée",
    "selectedCount": "{{ count }} sélectionnée(s)",
    "clear": "Effacer",
    "assignSelected": "Affecter",
    "copyMessage": "Copier le message",
    "round": "tour",
    "markedDone": "Partie marquée comme lue.",
    "nudgedEmail": "Rappel envoyé par e-mail et dans l'application.",
    "nudgeByEmail": "Relancer par e-mail",
    "nudgedRecently": "Déjà relancé il y a moins de 6 heures : rien n'a été renvoyé."
  },
  "assign": {
    "title": "Affecter des parties",
    "reader": "Lecteur",
    "search": "Nom ou @identifiant",
    "guest": "participant sans compte vérifié",
    "byHandle": "Affecter à @{{ handle }}",
    "noMatch": "Personne ne correspond. Tapez un @identifiant, ou ajoutez un lecteur géré.",
    "managedHint": "Pour une personne sans smartphone (une grand-mère, un enfant…) : vous marquerez ses lectures pour elle.",
    "managedName": "Nom du lecteur",
    "managedPhone": "Numéro WhatsApp d'un proche (facultatif)",
    "managedPhoneHint": "Pour lui envoyer un rappel. Jamais affiché aux autres participants.",
    "backToList": "Choisir un participant",
    "parts": "Parties",
    "selected": "{{ count }} sélectionnée(s)",
    "all": "Tout le tour",
    "noFree": "Aucune partie libre.",
    "submit": "Affecter ({{ count }})",
    "done": "{{ count }} partie(s) affectée(s)."
  },
  "edit": {
    "divisionLocked": "Verrouillé : des parties ont déjà été prises.",
    "khatmHint": "Peut seulement augmenter (minimum {{ min }}).",
    "deadlineHint": "Les rappels seront recalculés et les lecteurs prévenus.",
    "reminders": "Rappels avant l'échéance",
    "remindersHint": "Jusqu'à 4 rappels. Chaque lecteur reçoit un seul message, même s'il a plusieurs parties.",
    "reminderDays": "{{ n }} j avant",
    "reminderHours": "{{ n }} h avant",
    "reminderMinutes": "{{ n }} min avant",
    "saved": "Modifications enregistrées.",
    "errors": {
      "title": "Indiquez un titre d'au moins 3 caractères.",
      "khatmDown": "Le nombre de kaamil peut seulement augmenter."
    }
  },
  "closure": {
    "accomplished": "Kaamil accompli",
    "closed": "Séance clôturée",
    "closedAt": "Clôturée le {{ when }}",
    "notYet": "La séance n'est pas encore clôturée",
    "notYetProgress": "{{ read }} partie(s) lue(s) sur {{ total }}.",
    "parts": "Parties lues",
    "readers": "Lecteurs",
    "khatm": "Kaamil complets",
    "duration": "Durée",
    "mine": "Vous avez lu {{ count }} partie(s). Qu'Allah vous récompense.",
    "shareImage": "Partager l'image",
    "shareWhatsapp": "Partager le récapitulatif sur WhatsApp",
    "shareStats": "{{ read }}/{{ total }} parties lues par {{ readers }} lecteur(s), en {{ duration }}.",
    "blessing": "Qu'Allah accepte 🤲",
    "shareSee": "Voir la séance",
    "imageParts": "{{ read }}/{{ total }} parties lues",
    "imageReaders": "{{ count }} lecteur(s) · {{ duration }}",
    "downloaded": "Image téléchargée : partagez-la depuis votre galerie.",
    "shareFailed": "Partage impossible pour le moment."
  },
  "repeat": {
    "toggle": "Répéter cette séance",
    "frequency": "Fréquence",
    "calendar": "Calendrier",
    "frequencies": {
      "WEEKLY": "Chaque semaine",
      "MONTHLY": "Chaque mois",
      "YEARLY": "Chaque année"
    },
    "calendars": {
      "GREGORIAN": "Grégorien",
      "HIJRI": "Hégirien"
    },
    "presets": "Dates religieuses",
    "hijriPresets": {
      "magal": "Magal · 18 Safar",
      "gamou": "Gamou · 12 Rabi al-Awwal",
      "tamkharit": "Tamkharit · 10 Mouharram",
      "ramadan": "1er Ramadan",
      "laylatAlQadr": "Nuit du destin · 27 Ramadan"
    },
    "weekdays": "Jours de la semaine",
    "days": {
      "0": "lundi",
      "1": "mardi",
      "2": "mercredi",
      "3": "jeudi",
      "4": "vendredi",
      "5": "samedi",
      "6": "dimanche"
    },
    "daysShort": {
      "0": "Lu",
      "1": "Ma",
      "2": "Me",
      "3": "Je",
      "4": "Ve",
      "5": "Sa",
      "6": "Di"
    },
    "day": "Jour",
    "lastDay": "Dernier jour",
    "month": "Mois",
    "time": "Heure",
    "duration": "Durée de lecture",
    "durations": {
      "24": "1 jour avant",
      "72": "3 jours avant",
      "168": "7 jours avant",
      "336": "14 jours avant",
      "720": "30 jours avant"
    },
    "deadlineHint": "La date choisie est l'échéance : le kaamil doit être terminé à ce moment (la réunion, le Magal…). La lecture commence la durée choisie avant.",
    "firstSeance": "cette séance",
    "strategy": "Pour les séances suivantes",
    "strategies": {
      "SELF_SERVICE": "Libre-service à chaque fois",
      "CARRY_OVER": "Mêmes affectations",
      "ROTATE": "Rotation : chacun avance d'une partie"
    },
    "strategyHints": {
      "SELF_SERVICE": "Chaque nouvelle séance repart de zéro ; les lecteurs précédents sont prévenus.",
      "CARRY_OVER": "Chacun garde sa partie d'une séance à l'autre.",
      "ROTATE": "Celui qui lisait l'Izib 5 lira l'Izib 6 la fois suivante."
    },
    "summary": "Répétition",
    "next": "Ensuite :"
  },
  "templates": {
    "intro": "Les séances qui reviennent : dahira du jeudi, Magal, Ramadan…",
    "notFound": "Séance récurrente introuvable.",
    "empty": "Aucune séance récurrente. Choisissez « Répéter cette séance » en créant une séance.",
    "paused": "En pause",
    "active": "Active (les prochaines séances sont créées)",
    "next": "Prochaine :",
    "permanentLink": "Lien permanent",
    "permanentLinkHint": "Partagez-le une fois dans le groupe : il ouvre toujours la séance en cours.",
    "shareLine": "Le lien pour chaque séance : {{ url }}",
    "upcoming": "Prochaines séances",
    "noUpcoming": "Aucune séance à venir (règle terminée ou en pause).",
    "status": {
      "PLANNED": "Prévue",
      "GENERATED": "Créée",
      "CANCELLED": "Annulée"
    },
    "createsAt": "Sera créée le {{ when }}",
    "offset": "Correction (lune observée)",
    "dayEarlier": "Un jour plus tôt",
    "dayLater": "Un jour plus tard",
    "days": "j",
    "generateNow": "Créer maintenant",
    "cancel": "Annuler cette date",
    "restore": "Rétablir",
    "seeSeance": "Voir la séance",
    "confirmCancel": {
      "title": "Annuler cette date ?",
      "message": "Seule cette séance est annulée ; les suivantes ne changent pas.",
      "confirm": "Annuler cette date"
    },
    "roster": "Affectations de base",
    "rosterFor": "Pour la séance du {{ when }}.",
    "rosterHint": {
      "CARRY_OVER": "Chacun gardera sa partie ensuite.",
      "ROTATE": "Ensuite, chacun avancera d'une partie à chaque séance.",
      "SELF_SERVICE": ""
    },
    "assigned": "{{ count }} partie(s) sur {{ total }} affectée(s)",
    "copyLast": "Reprendre la dernière séance",
    "free": "— libre —",
    "settings": "Réglages",
    "leadDays": "Création de la séance",
    "leadDaysValue": "{{ n }} jour(s) avant l'ouverture",
    "leadDaysHint": "Les lecteurs sont prévenus à ce moment et peuvent déjà prendre leur partie.",
    "past": "Séances passées",
    "done": {
      "cancel": "Date annulée.",
      "restore": "Date rétablie.",
      "generate": "Séance créée.",
      "shift": "Date corrigée.",
      "roster": "Affectations enregistrées.",
      "copy": "Affectations reprises de la dernière séance.",
      "saved": "Réglages enregistrés.",
      "paused": "Séance récurrente en pause.",
      "resumed": "Séance récurrente réactivée."
    },
    "recurring": "Récurrente",
    "manageTemplate": "Séance récurrente",
    "seeAll": "Séances récurrentes",
    "rosterAuto": "Reprises de la dernière séance : modifiez-les si besoin."
  },
  "history": {
    "intro": "Vos lectures, sans classement ni comparaison : seulement votre régularité.",
    "partsRead": "Parties lues",
    "khatm": "Kaamil accomplis",
    "seances": "Séances",
    "regularity": "Régularité",
    "streak": "{{ count }} semaine(s) de suite avec au moins une lecture. Qu'Allah vous accorde la constance.",
    "noStreak": "Pas de lecture la semaine dernière : une partie suffit pour reprendre le fil.",
    "lastWeeks": "Les 12 dernières semaines",
    "thisWeek": "Cette semaine",
    "weeksAgo": "Il y a {{ n }} semaine(s)",
    "activeWeek": "Au moins une lecture",
    "weeksHint": "Chaque case est une semaine ; la dernière (bordure dorée) est la semaine en cours.",
    "onPaper": "sur mushaf",
    "empty": "Aucune partie lue pour l'instant.",
    "monthSummary": "{{ parts }} partie(s) lue(s) · {{ seances }} séance(s)",
    "partsShort": "partie(s)",
    "lastRead": "Dernière lecture le {{ date }}",
    "onPaperCount": "{{ count }} sur mushaf"
  },
  "offline": {
    "banner": "Hors connexion : les textes déjà ouverts restent lisibles. Les actions reprendront avec le réseau."
  },
  "install": {
    "title": "Installer Jàng Kaamil sur votre téléphone",
    "why": "Une icône sur l'écran d'accueil, l'ouverture en plein écran et les rappels, même hors de WhatsApp.",
    "button": "Installer",
    "later": "Plus tard",
    "ios": "Sur iPhone : touchez « Partager » puis « Sur l'écran d'accueil ». Les notifications n'y fonctionnent qu'une fois l'app installée.",
    "gotIt": "J'ai compris"
  },
  "email": {
    "intro": "Saisissez votre adresse : nous vous envoyons un code à 6 chiffres.",
    "address": "Adresse e-mail",
    "send": "Recevoir mon code",
    "sending": "Envoi en cours…",
    "sentTo": "Code envoyé à",
    "code": "Code à 6 chiffres",
    "codeHint": "Valable 15 minutes.",
    "verify": "Me connecter",
    "checking": "Vérification…",
    "resend": "Renvoyer le code",
    "resendIn": "Renvoyer dans {{ seconds }} s",
    "changeAddress": "Changer d'adresse",
    "spamHint": "Pas de message ? Regardez dans les courriers indésirables (spam).",
    "otherMethod": "Autres méthodes",
    "devTitle": "Mode développement : l'e-mail n'est pas envoyé, voici le code",
    "useCode": "Utiliser ce code"
  }
}
