{
  "meta": {
    "product": "Henri Family 2.0",
    "artifact": "ui_dictionary",
    "generated_by": "scripts/generate_i18n.py",
    "generated_at": "2026-04-26T15:03:43Z",
    "notes": "UI chrome only. Do not translate English lesson exercise content unless a string is intentionally listed here.",
    "language": "fr",
    "source": "app/i18n-source.en.json"
  },
  "provenance": {
    "provider": "mistral",
    "model": "mistral-large-2512",
    "transport_profile": "direct",
    "completion_id": "d0253027a038420ba7dfb3aada635b68",
    "calls": [
      {
        "call_index": 0,
        "string_count": 254,
        "completion_id": "d0253027a038420ba7dfb3aada635b68",
        "elapsed_ms": 73723,
        "missing_keys": []
      }
    ],
    "missing_keys": []
  },
  "strings": {
    "LIVE": "EN DIRECT",
    "ON AIR": "À L'ANTENNE",
    "Air timer deck": "Deck minuteur direct",
    "AIR timer deck": "Deck minuteur DIRECT",
    "Time left": "Temps restant",
    "Start or pause the timer": "Démarrer ou mettre en pause",
    "Time adjustment": "Ajustement temps",
    "Tap clock to start / pause": "Touchez l'horloge pour démarrer / pause",
    "Move stack": "Déplacer la pile",
    "Student board": "Tableau élève",
    "Teacher cue": "Indication enseignant",
    "Look for": "À observer",
    "Student action": "Action élève",
    "Teacher line": "Réplique enseignant",
    "Support line": "Aide",
    "Preview and move stack": "Aperçu et déplacer la pile",
    "Support panel": "Panneau d'aide",
    "Production switcher controls": "Commandes de diffusion",
    "Compact timing controls": "Commandes temps compactes",
    "Support panels": "Panneaux d'aide",
    "Control groups": "Groupes de contrôle",
    "Lesson steps": "Étapes de la leçon",
    "Now": "MAINTENANT",
    "Say": "DIRE",
    "Help": "AIDE",
    "Run": "Lancer",
    "More": "Plus",
    "Back": "Retour",
    "Start": "Démarrer",
    "Pause": "Pause",
    "Resume": "Reprendre",
    "Next move": "Prochaine étape",
    "Next": "Suivant",
    "Move on": "Passer à",
    "Wrap": "Terminer",
    "Board": "Tableau",
    "Watch": "Observer",
    "Watch for": "Observer",
    "Materials": "Matériel",
    "Demo": "Démonstration",
    "Copy link": "Copier le lien",
    "Copied": "Copié",
    "Student": "Élève",
    "Settings": "Paramètres",
    "Other": "Autre",
    "Reset": "Réinitialiser",
    "Reset defaults": "Réinitialiser par défaut",
    "Save": "Enregistrer",
    "Saving": "Enregistrement",
    "Saved": "Enregistré",
    "Try again": "Réessayer",
    "-1 min": "-1 min",
    "+1 min": "+1 min",
    "Sync": "Synchroniser",
    "Local only": "Local uniquement",
    "Waiting": "En attente",
    "Waiting for teacher": "En attente de l'enseignant",
    "Live from teacher view": "En direct depuis l'enseignant",
    "Synced from teacher view": "Synchronisé depuis l'enseignant",
    "Class board": "Tableau de classe",
    "Sentence frame": "Cadre de phrase",
    "Next round": "Tour suivant",
    "Next step": "Étape suivante",
    "Step {{current}} of {{total}}": "Étape {{current}} sur {{total}}",
    "Step {{current}}: {{title}}": "Étape {{current}} : {{title}}",
    "Tap to continue": "Touchez pour continuer",
    "Tap anywhere to begin - auto starts in {{seconds}} seconds": "Touchez n'importe où pour commencer - démarrage auto dans {{seconds}} secondes",
    "Wrap now": "Terminer maintenant",
    "Ask one pair, then move.": "Interroger une paire, puis passer.",
    "Timer": "Minuteur",
    "Time check": "Vérification temps",
    "Paused": "En pause",
    "Start when the room is ready.": "Démarrer quand la salle est prête.",
    "Overtime {{time}}": "Dépassement {{time}}",
    "Borrowing from the next step. Move on or compress.": "Emprunt à l'étape suivante. Passer ou condenser.",
    "Finish in 10s": "Terminer dans 10s",
    "This appears early. When it clears, 10 seconds remain. Say the final line and tap Next.": "Apparaît tôt. Quand il disparaît, 10 secondes restent. Dire la dernière réplique et toucher Suivant.",
    "Wrap soon": "Terminer bientôt",
    "Wrap in 30s": "Terminer dans 30s",
    "This appears early. When it clears, 30 seconds remain. Ask one pair, then move.": "Apparaît tôt. Quand il disparaît, 30 secondes restent. Interroger une paire, puis passer.",
    "Next move soon": "Prochaine étape bientôt",
    "Check pace": "Vérifier le rythme",
    "This stays for {{seconds}} seconds. If most students have spoken, tap Move.": "Reste {{seconds}} secondes. Si la plupart des élèves ont parlé, toucher Passer.",
    "This stays for {{durationSeconds}} seconds. If most students have spoken, tap Move.": "Reste {{durationSeconds}} secondes. Si la plupart des élèves ont parlé, toucher Passer.",
    "On pace": "Rythme respecté",
    "Keep rhythm": "Maintenir le rythme",
    "Short prompt. Student talk. Move.": "Courte consigne. Parole élève. Passer.",
    "{{time}} lesson": "Leçon de {{time}}",
    "{{time}} planned lesson time": "Durée prévue de la leçon : {{time}}",
    "{{time}} to class": "{{time}} avant le cours",
    "{{time}} class": "Cours de {{time}}",
    "Class period {{start}}-{{end}}; inferred {{status}} from the wall clock.": "Créneau {{start}}-{{end}} ; déduit {{status}} de l'horloge murale.",
    "{{count}} screen": "{{count}} écran",
    "{{count}} screens": "{{count}} écrans",
    "Finish": "Terminer",
    "Finish and collect evidence": "Terminer et collecter les preuves",
    "Finish and collect evidence.": "Terminer et collecter les preuves.",
    "Collect evidence and close the loop.": "Collecter les preuves et clore la boucle.",
    "Student screen link": "Lien écran élève",
    "Next section: {{text}}": "Section suivante : {{text}}",
    "Frame: {{text}}": "Cadre : {{text}}",
    "Recovery: {{text}}": "Récupération : {{text}}",
    "Check room and screens": "Vérifier salle et écrans",
    "Confirm the room code and connected screen count before class starts.": "Confirmer le code de salle et le nombre d'écrans connectés avant le cours.",
    "Start the section": "Démarrer la section",
    "Start shows the section card first, then begins the countdown when Henri taps through.": "Démarrer affiche d'abord la carte de section, puis lance le compte à rebours quand Henri touche l'écran.",
    "Watch the clock": "Surveiller l'horloge",
    "The broadcast clock and dot rings keep urgency visible without asking Henri to calculate time.": "L'horloge de diffusion et les anneaux de points rendent l'urgence visible sans calcul de temps.",
    "Teach from NOW": "Enseigner depuis MAINTENANT",
    "Use the NOW, SAY, and HELP rails as the live classroom script.": "Utiliser les rails MAINTENANT, DIRE et AIDE comme script de classe en direct.",
    "Swap weak content": "Remplacer le contenu faible",
    "Other moves to the next labelled suggestion; the small left button goes back.": "Autre passe à la suggestion étiquetée suivante ; le petit bouton gauche revient en arrière.",
    "Next move inside the section": "Prochaine étape dans la section",
    "Next move advances Write to Pair to Ask without leaving the current lesson section.": "Prochaine étape fait passer de Écrire à Par paire à Demander sans quitter la section en cours.",
    "Jump inside the move stack": "Sauter dans la pile d'étapes",
    "When paused, tap a move row to jump back or forward inside this section.": "En pause, toucher une ligne d'étape pour sauter en avant ou en arrière dans cette section.",
    "Open teacher notes": "Ouvrir les notes enseignant",
    "Board, Watch, and Materials open the big support panel. Tap the same button again to hide it.": "Tableau, Observer et Matériel ouvrent le grand panneau d'aide. Toucher à nouveau pour le masquer.",
    "Close or advance": "Fermer ou avancer",
    "Wrap closes the current section quickly. Next starts the next section card.": "Terminer ferme rapidement la section en cours. Suivant démarre la carte de la section suivante.",
    "Timeline is for pauses": "La timeline est pour les pauses",
    "While running, future sections are locked. Pause first when Henri needs to jump ahead.": "En cours, les sections futures sont verrouillées. Mettre en pause d'abord si Henri doit sauter une étape.",
    "More tools and settings": "Plus d'outils et paramètres",
    "More holds Demo, copy link, Student, and Settings. Student mirrors the classroom screen.": "Plus contient Démonstration, copier le lien, Élève et Paramètres. Élève reflète l'écran de classe.",
    "Demo {{current}} of {{total}}": "Démo {{current}} sur {{total}}",
    "Teacher Settings": "Paramètres enseignant",
    "Family 2.0 Controls": "Contrôles Famille 2.0",
    "Family 2.0 controls": "Contrôles Famille 2.0",
    "Back to teacher": "Retour à l'enseignant",
    "Full-screen Messages": "Messages plein écran",
    "Choose which broadcast-style classroom cards appear, and how long they stay on screen.": "Choisir quelles cartes de classe en style diffusion apparaissent et leur durée d'affichage.",
    "Messages": "Messages",
    "Display": "Affichage",
    "Language": "Langue",
    "Timing": "Minutage",
    "Buttons": "Boutons",
    "Section start cards": "Cartes de début de section",
    "Show a full-screen card before each new lesson section.": "Afficher une carte plein écran avant chaque nouvelle section de leçon.",
    "Auto-start after": "Démarrage auto après",
    "Auto-start delay": "Délai de démarrage auto",
    "A full-screen phrase card appears before the timer starts.": "Une carte de phrase plein écran apparaît avant le démarrage du minuteur.",
    "Timer warnings": "Alertes minuteur",
    "Full-screen warning cards appear before a timer cue. The warning lasts this long, so an 8 sec warning begins with 8 sec remaining.": "Des cartes d'alerte plein écran apparaissent avant un signal du minuteur. L'alerte dure aussi longtemps, donc une alerte de 8s commence avec 8s restantes.",
    "Wrap, move-on, pace-check, and overtime warnings appear early enough to clear before the named time remains.": "Les alertes Terminer, Passer, Vérifier le rythme et Dépassement apparaissent assez tôt pour disparaître avant le temps indiqué.",
    "Automatic warning cards": "Cartes d'alerte automatiques",
    "Show all automatic warning cards": "Afficher toutes les cartes d'alerte automatiques",
    "Each warning can also be tuned below. Cards start early enough that the full message clears before the named time remains.": "Chaque alerte peut aussi être ajustée ci-dessous. Les cartes démarrent assez tôt pour que le message complet disparaisse avant le temps indiqué.",
    "Default card length": "Durée par défaut des cartes",
    "Changing this sets the fallback length for every warning card.": "Modifier ceci définit la durée de repli pour chaque carte d'alerte.",
    "Overtime": "Dépassement",
    "Show": "Afficher",
    "Card length": "Durée carte",
    "Title template": "Modèle de titre",
    "Message template": "Modèle de message",
    "Move soon": "Passer bientôt",
    "When this much remains": "Quand il reste",
    "Pace check": "Vérifier le rythme",
    "After this much of the step": "Après cette partie de l'étape",
    "Warning length": "Durée alerte",
    "Warning card length": "Durée carte alerte",
    "Next move flashes": "Flash prochaine étape",
    "Flash a full-screen nudge when Henri advances inside a section.": "Flash d'incitation plein écran quand Henri avance dans une section.",
    "Flash length": "Durée flash",
    "Wrap flashes": "Flash terminer",
    "Flash a full-screen wrap-up nudge when Henri taps Wrap.": "Flash d'incitation plein écran pour terminer quand Henri touche Terminer.",
    "Pace pulse": "Pulsation rythme",
    "Optional full-screen urgency pulse every few minutes. Default is off.": "Pulsation d'urgence plein écran optionnelle toutes les quelques minutes. Désactivé par défaut.",
    "Default is off. When enabled, it flashes the remaining time at a chosen interval.": "Désactivé par défaut. Quand activé, affiche le temps restant à intervalles choisis.",
    "Pulse every": "Pulsation toutes les",
    "Every 1 minute": "Toutes les 1 minute",
    "Pulse length": "Durée pulsation",
    "Pace message": "Message rythme",
    "Keep the room moving": "Faire avancer la classe",
    "Good for iPad use when the teacher naturally reaches for the clock.": "Pratique pour l'iPad quand l'enseignant consulte naturellement l'horloge.",
    "Student screen theme": "Thème écran élève",
    "Dark studio": "Studio sombre",
    "Light classroom": "Classe claire",
    "Saved on the server for the room; any open student board refreshes its theme automatically.": "Enregistré sur le serveur pour la salle ; tout tableau élève ouvert actualise son thème automatiquement.",
    "Interface language": "Langue de l'interface",
    "Browser language": "Langue du navigateur",
    "English": "Anglais",
    "French": "Français",
    "Defaults to the browser language. Use this to force Henri's controls to English or French on any device.": "Par défaut, utilise la langue du navigateur. Utiliser ceci pour forcer les contrôles d'Henri en anglais ou français sur tout appareil.",
    "Language and dictionaries": "Langue et dictionnaires",
    "UI chrome dictionaries": "Dictionnaires UI",
    "Inspectable JSON files for English and French UI chrome. Lesson exercises stay in English unless we intentionally add them here.": "Fichiers JSON inspectables pour l'UI en anglais et français. Les exercices de leçon restent en anglais sauf ajout intentionnel ici.",
    "English dictionary": "Dictionnaire anglais",
    "French dictionary": "Dictionnaire français",
    "Lesson timing": "Minutage de la leçon",
    "Show lesson-period countdown": "Afficher le compte à rebours de la période",
    "Default is on. The teacher header uses the school period clock while the big clock stays on the current activity.": "Activé par défaut. L'en-tête enseignant utilise l'horloge de la période scolaire tandis que la grande horloge reste sur l'activité en cours.",
    "Lesson length": "Durée de la leçon",
    "Starts at": "Commence à",
    "Top of the hour": "Pile de l'heure",
    "5 past": "5 après",
    "10 past": "10 après",
    "15 past": "15 après",
    "Early setup window": "Fenêtre de préparation anticipée",
    "No early window": "Pas de fenêtre anticipée",
    "5 minutes before": "5 minutes avant",
    "10 minutes before": "10 minutes avant",
    "Late iPad pickup": "Récupération tardive iPad",
    "15 minutes after": "15 minutes après",
    "30 minutes after": "30 minutes après",
    "Until class ends": "Jusqu'à la fin du cours",
    "With the defaults, opening at 2:25 infers a 2:00-2:45 class period. Opening at 1:57 prepares the 2:00 period.": "Avec les valeurs par défaut, une ouverture à 2:25 déduit une période de cours 2:00-2:45. Une ouverture à 1:57 prépare la période de 2:00.",
    "Run deck": "Deck de lancement",
    "Run deck button labels": "Libellés boutons deck de lancement",
    "Rename the visible button text without changing what each control does.": "Renommer le texte visible des boutons sans changer leur fonction.",
    "Utility buttons": "Boutons utilitaires",
    "Utility button labels": "Libellés boutons utilitaires",
    "Timer buttons": "Boutons minuteur",
    "Timer button labels": "Libellés boutons minuteur",
    "Button preview": "Aperçu boutons",
    "Current State": "État actuel",
    "These settings save to the room so the teacher screen can load them on any device.": "Ces paramètres sont enregistrés dans la salle pour que l'écran enseignant puisse les charger sur tout appareil.",
    "Pace messages off": "Messages rythme désactivés",
    "Full-screen pace messages are disabled.": "Les messages de rythme plein écran sont désactivés.",
    "Saved on server for room {{room}}. Open teacher view in the same room to use these settings.": "Enregistré sur le serveur pour la salle {{room}}. Ouvrir la vue enseignant dans la même salle pour utiliser ces paramètres.",
    "Server settings unavailable for room {{room}}. Showing defaults; changes will save only when the server accepts them.": "Paramètres serveur indisponibles pour la salle {{room}}. Affichage des valeurs par défaut ; les modifications ne seront enregistrées que si le serveur les accepte.",
    "Saved on server for room {{room}}.": "Enregistré sur le serveur pour la salle {{room}}.",
    "Could not reach the server. Nothing was saved in this browser; try again when sync is back.": "Impossible de joindre le serveur. Rien n'a été enregistré dans ce navigateur ; réessayer quand la synchronisation est rétablie.",
    "{{enabled}}/5 message groups on": "{{enabled}}/5 groupes de messages activés",
    "Pace pulse every {{minutes}} min for {{seconds}} sec.": "Pulsation rythme toutes les {{minutes}} min pendant {{seconds}} sec.",
    "Pace pulse off.": "Pulsation rythme désactivée.",
    "{{duration}} min classes from :{{minute}}; late pickup {{late}} min.": "Cours de {{duration}} min à partir de :{{minute}} ; récupération tardive {{late}} min.",
    "Class-period clock off.": "Horloge période de cours désactivée.",
    "Section cards {{section}} ({{seconds}}s). Timer warnings {{timer}} ({{warningSeconds}}s). Next move {{move}}, Wrap {{wrap}}. Student board {{theme}}. {{pace}} {{period}}": "Cartes section {{section}} ({{seconds}}s). Alertes minuteur {{timer}} ({{warningSeconds}}s). Prochaine étape {{move}}, Terminer {{wrap}}. Tableau élève {{theme}}. {{pace}} {{period}}",
    "Section cards {{section}} ({{seconds}}s). Automatic warnings {{timer}} ({{warningCount}}/4 cards). Next move {{move}}, Wrap {{wrap}}. Student board {{theme}}. {{pace}} {{period}}": "Cartes section {{section}} ({{seconds}}s). Alertes automatiques {{timer}} ({{warningCount}}/4 cartes). Prochaine étape {{move}}, Terminer {{wrap}}. Tableau élève {{theme}}. {{pace}} {{period}}",
    "on": "activé",
    "off": "désactivé",
    "dark": "sombre",
    "light": "clair",
    "Replays": "Relectures",
    "Prior lesson replays": "Relectures des leçons précédentes",
    "Recorded lesson runs for this room. No student names or typed student answers are stored.": "Enregistrements des leçons pour cette salle. Aucun nom d'élève ou réponse saisie n'est stocké.",
    "Refresh replays": "Actualiser les relectures",
    "No replays yet": "Aucune relecture pour l'instant",
    "Open replay": "Ouvrir la relecture",
    "Replay": "Relecture",
    "Lesson replay": "Relecture de la leçon",
    "Event timeline": "Timeline des événements",
    "Manual extensions": "Extensions manuelles",
    "Pauses": "Pauses",
    "Late pickup": "Récupération tardive",
    "Events": "Événements",
    "Telemetry": "Télémétrie",
    "Record lesson telemetry": "Enregistrer la télémétrie de la leçon",
    "Operational replay only: controls, timing, section and cue changes. Student names and typed answers are not recorded.": "Relecture opérationnelle uniquement : contrôles, minutage, changements de section et d'indication. Les noms d'élèves et réponses saisies ne sont pas enregistrés.",
    "Keep replays for": "Conserver les relectures pendant",
    "60 days": "60 jours",
    "90 days": "90 jours",
    "180 days": "180 jours",
    "365 days": "365 jours",
    "Show HENRI core + buffer": "Afficher le cœur HENRI + marge",
    "Shows the planned HENRI runtime inside the bell-to-bell period, leaving the difference for settling, copying, homework, transitions, and tech.": "Affiche le temps HENRI prévu dans le créneau complet du cours ; le reste sert à l'installation, la copie, les devoirs, les transitions et la technique.",
    "Class period length": "Durée du créneau de cours",
    "{{core}} HENRI + {{buffer}} buffer": "{{core}} HENRI + {{buffer}} marge",
    "{{core}} HENRI / {{class}} class": "{{core}} HENRI / {{class}} cours",
    "Class period {{start}}-{{end}}; {{clock}}": "Créneau {{start}}-{{end}} ; {{clock}}",
    "{{duration}} min classes from :{{minute}}; header shows HENRI core plus buffer. Late pickup {{late}} min.": "Cours de {{duration}} min à partir de :{{minute}} ; l'en-tête montre le cœur HENRI plus la marge. Récupération tardive {{late}} min.",
    "{{time}} left in class": "{{time}} restant dans le cours"
  }
}
