{
  "common": {
    "loading": "Un instant...",
    "cancel": "Annuler",
    "continue": "Continuer",
    "back": "Retour",
    "error": "Erreur",
    "success": "Succès",
    "ok": "OK",
    "confirm": "Confirmer",
    "retry": "Réessayer",
    "unknown_error": "Erreur inconnue"
  },
  "auth": {
    "welcomeBack": "Bon retour",
    "signinSubtitle": "Connectez-vous pour continuer.",
    "signin": "Se connecter",
    "signingIn": "Un instant...",
    "signup": "S'inscrire",
    "signupTitle": "Créer un compte",
    "signupSubtitle": "Rejoignez la communauté.",
    "signOut": "Se déconnecter",
    "email": "E-mail",
    "emailPlaceholder": "E-mail",
    "emailRequired": "E-mail *",
    "password": "Mot de passe",
    "passwordPlaceholder": "Mot de passe",
    "passwordRequired": "Mot de passe * (min. 8 caractères)",
    "passwordMin8": "Le mot de passe doit comporter au moins 8 caractères.",
    "newPassword": "Nouveau mot de passe",
    "nickname": "Pseudo",
    "nicknamePlaceholder": "Pseudo * (visible par les autres)",
    "noAccount": "Pas encore de compte ?",
    "alreadyRegistered": "Déjà inscrit ?",
    "fillRequired": "Veuillez remplir tous les champs obligatoires.",
    "googleSignin": "Se connecter avec Google",
    "appleSignin": "Se connecter avec Apple",
    "googleSignup": "S'inscrire avec Google",
    "appleSignup": "S'inscrire avec Apple",
    "orWithEmail": "ou avec e-mail",
    "forgotPassword": "Mot de passe oublié ?",
    "resetPasswordTitle": "Réinitialiser le mot de passe",
    "resetPasswordSubtitle": "Saisissez votre e-mail et nous vous enverrons un lien de réinitialisation.",
    "resetPasswordSend": "Envoyer le lien",
    "resetPasswordSent": "E-mail envoyé",
    "resetPasswordSentDesc": "Vérifiez votre boîte de réception. Le lien est valable 60 minutes.",
    "resetPasswordSentDescPrefix": "Vérifiez votre boîte de réception pour ",
    "resetPasswordSentDescSuffix": ". Le lien est valable 60 minutes.",
    "backToLogin": "← Retour à la connexion",
    "backToLoginPlain": "Retour à la connexion",
    "backToSignup": "← Retour à l'inscription",
    "chooseAvatar": "Choisir un avatar",
    "privacyNotice": "Vos données sont stockées en toute sécurité sur des serveurs en Allemagne. Nous ne vendons jamais vos données à des tiers.",
    "acceptTerms": "J'accepte les",
    "acceptTermsSuffix": " et j'ai lu la politique de confidentialité.",
    "termsLink": "Conditions d'utilisation",
    "pleaseAcceptTerms": "Veuillez accepter les conditions d'utilisation.",
    "confirmEmailTitle": "Confirmer l'e-mail",
    "confirmEmailDesc": "Nous avons envoyé un code à 6 chiffres à %{email}.",
    "confirmEmailLine1": "Nous avons envoyé un code à 6 chiffres à",
    "confirmEmailLine2": "",
    "confirmBtn": "Confirmer",
    "confirmed": "Confirmé ! Redirection en cours...",
    "confirming": "Confirmation de la connexion...",
    "confirmSuccess": "Connexion réussie !",
    "confirmTimeout": "Délai dépassé – veuillez réessayer.",
    "confirmFailed": "La confirmation a échoué.",
    "resend": "Renvoyer",
    "resendCooldown": "Renvoyer (%{seconds}s)",
    "noCode": "Vous n'avez pas reçu de code ?",
    "deviceLimitTitle": "Limite d'appareils atteinte",
    "deviceLimitDesc": "Votre abonnement actuel ne permet pas d'ajouter d'autres appareils. Libérez un appareil ou passez à un abonnement supérieur pour continuer sur cet appareil.",
    "deviceLimitUpgrade": "Améliorer l'abonnement",
    "toLogin": "Retour à la connexion",
    "oauthFailed": "Connexion échouée",
    "loginFailed": "Connexion échouée",
    "registerFailed": "Inscription échouée",
    "device_locked_headline": "Cet appareil est verrouillé",
    "device_locked_body": "Vous avez tenté de vous connecter sur cet appareil. Il est lié à un autre compte Rebreak. Ce verrou vous protège contre le contournement de votre propre configuration de protection.",
    "device_locked_countdown": "Libération en cours — encore %{remaining}",
    "device_locked_email_hint": "Si vous ne connaissez plus votre compte d'origine : vérifiez votre boîte e-mail pour 'Rebreak appareil verrouillé' — nous vous avons envoyé un message.",
    "device_locked_use_original": "Se connecter avec le compte d'origine",
    "device_locked_back": "Retour à la connexion"
  },
  "landing": {
    "appName": "Rebreak",
    "tagline": "Vous n'avancez pas seul.",
    "start": "S'inscrire"
  },
  "splash": {
    "tagline": "You will never walk alone!",
    "subtitle": "Ensemble, nous y arriverons.",
    "madeInGermany": "Made in Germany"
  },
  "applock": {
    "title": "Rebreak est verrouillé",
    "subtitle": "Déverrouillez l'application pour continuer.",
    "unlock": "Déverrouiller",
    "prompt": "Déverrouiller Rebreak",
    "signOut_title": "Se déconnecter ?",
    "signOut_body": "Vous pourrez vous reconnecter avec votre e-mail et mot de passe."
  },
  "appHeader": {
    "appName": "ReBreak",
    "sosLabel": "SOS",
    "sosTagline": "nous sommes là pour vous",
    "sosSubtitle": "Appuyez ici si vous avez besoin d'aide",
    "editProfile": "Modifier le profil",
    "settings": "Paramètres",
    "signOut": "Se déconnecter"
  },
  "headerMenu": {
    "profile": "Profil",
    "settings": "Paramètres",
    "games": "ReBreak Games",
    "debug": "Debug",
    "logout": "Se déconnecter"
  },
  "tabs": {
    "home": "Accueil",
    "chat": "Chat",
    "coach": "Coach",
    "blocker": "Bloqueur",
    "mail": "Mail",
    "profile": "Profil"
  },
  "games": {
    "title": "ReBreak Games",
    "subtitle": "Jouer librement hors SOS — Memory, Snake, Tetris et Tic-Tac-Toe.",
    "back_to_picker": "Jeux",
    "last_score": "Score : %{score}",
    "skeleton_footer": "Skeleton — classement des meilleurs scores à venir en phase C"
  },
  "home": {
    "tagline": "Vous n'avancez pas seul.",
    "start": "Commencer",
    "greeting_morning": "Bonjour",
    "greeting_day": "Bon après-midi",
    "greeting_evening": "Bonsoir",
    "streak_days_one": "jour sans jouer",
    "streak_days_other": "jours sans jouer",
    "streak_start": "Commencez votre premier jour",
    "quote_of_day": "Pensée du jour",
    "quick_access": "Accès rapide",
    "stats_urges": "Envies",
    "stats_chats": "Conversations",
    "stats_mails": "Mails bloqués"
  },
  "coach": {
    "title": "Lyra",
    "subtitle": "Votre accompagnatrice",
    "welcome": "Salut, c'est Lyra. Contente que tu sois là — qu'est-ce qui te préoccupe en ce moment ?",
    "input_placeholder": "Écrivez-moi...",
    "new_chat": "Nouvelle conversation",
    "lyra": "Lyra",
    "modeBadge": {
      "coach": "Coach",
      "sos": "SOS"
    },
    "placeholder": "Qu'est-ce qui vous préoccupe ?",
    "speaking": "Lyra parle...",
    "recording": "Enregistrement en cours...",
    "transcribing": "Traitement en cours...",
    "feedback_saved": "Avis enregistré",
    "welcome_back": "Bon retour",
    "online": "en ligne",
    "thinking": "écrit …",
    "error": "Une erreur est survenue. Veuillez réessayer."
  },
  "blocker": {
    "title": "Bloqueur",
    "subtitle": "300 000+ domaines bloqués",
    "status_active": "Actif",
    "status_inactive": "Inactif",
    "filter_label": "Filtre jeux d'argent",
    "filter_active_desc": "Tous les sites de jeux d'argent sont bloqués",
    "filter_inactive_desc": "Le filtre est désactivé",
    "tamper_title": "Protection contre la manipulation",
    "tamper_desc": "Le filtre est sécurisé contre toute désactivation facile. Le déverrouillage nécessite une période de blocage de 6 heures.",
    "custom_domains": "Domaines personnalisés",
    "add_domain": "Ajouter",
    "help_link": "Aide & FAQ sur le bloqueur",
    "status_approved": "Approuvé",
    "status_rejected": "Refusé",
    "status_pending": "En attente",
    "add_sheet_title": "Ajouter un filtre",
    "add_sheet_label": "Domaine ou adresse e-mail",
    "add_sheet_placeholder": "ex. casino.com ou info@casino.com",
    "add_sheet_invalid": "Veuillez saisir un domaine ou une adresse e-mail valide",
    "add_sheet_help": "Nous détectons automatiquement s'il s'agit d'un site web ou d'un expéditeur d'e-mails.",
    "preview_web": "Filtre domaine : %{value}",
    "preview_mail": "Filtre e-mail : %{value}",
    "preview_invalid": "Format invalide",
    "custom_filter_overview_title": "Mes filtres",
    "custom_filter_overview_count": "%{count} sur %{max}",
    "add_sheet_warning_free": "Ce domaine reste définitivement dans votre liste — vous ne pourrez pas le supprimer plus tard.",
    "add_sheet_warning_pro": "Ce domaine est permanent. Vous pouvez le proposer à la liste de blocage globale — le slot sera libéré et protégera tous les utilisateurs ReBreak.",
    "add_sheet_confirm_permanent": "Je comprends que ce domaine est permanent.",
    "add_sheet_add_failed": "Échec de l'ajout.",
    "add_sheet_already_global": "%{domain} est déjà dans la liste de blocage globale — aucun slot nécessaire.",
    "cooldown_banner_title": "Pause de sécurité en cours",
    "deactivation_actionsheet_title": "Démarrer une pause de sécurité de 24h ?",
    "deactivation_actionsheet_message": "La protection reste active pendant cette période. Vous pouvez annuler à tout moment.",
    "deactivation_start_cta": "Démarrer la pause de sécurité",
    "deactivation_failed_msg": "Impossible de démarrer la pause de sécurité.",
    "deactivation_heading": "Avant de désactiver",
    "deactivation_title": "Nous comprenons.",
    "deactivation_intro": "Avant de désactiver la protection, voici ce que vous devez savoir :",
    "deactivation_bullet1_title": "24 heures de pause de sécurité",
    "deactivation_bullet1_text": "La protection reste active pendant 24h même après le démarrage de la pause. Ce temps vous permet de laisser passer l'envie.",
    "deactivation_bullet2_title": "Vous pouvez annuler à tout moment",
    "deactivation_bullet2_text": "Si l'envie passe : un seul appui et la pause est annulée. La protection reste simplement activée.",
    "deactivation_bullet3_title": "D'autres outils sont disponibles",
    "deactivation_bullet3_text": "Exercice de respiration, Lyra, votre série — tout reste disponible pendant que vous attendez.",
    "deactivation_breathe_cta": "Respirer 3 min maintenant",
    "deactivation_start_anyway": "Démarrer la pause quand même",
    "deactivation_starting": "Démarrage de la pause de sécurité…",
    "deactivation_cancel_failed": "Impossible d'annuler la pause de sécurité.",
    "domain_section_title": "Domaines personnalisés",
    "domain_add_a11y": "Ajouter un domaine",
    "domain_limit_title": "Limite atteinte",
    "domain_limit_desc": "Pro : 300k+ domaines, rechargement à la libération — appuyez pour les détails",
    "domain_empty": "Aucun domaine personnalisé.\nAppuyez sur + pour en ajouter un.",
    "domain_badge_voting": "Vote",
    "domain_badge_pruefung": "Vérification",
    "domain_badge_rejected": "Refusé",
    "domain_badge_active": "Actif",
    "domain_btn_freigeben": "Proposer",
    "domain_btn_erneut": "Réessayer",
    "domain_btn_in_abstimmung": "En cours de vote",
    "domain_btn_rebreak_prueft": "ReBreak vérifie",
    "domain_confirm_legend_resubmit": "Soumettre à nouveau à ReBreak ?",
    "domain_confirm_legend_first": "Envoyer le domaine à ReBreak ?",
    "domain_confirm_community_resubmit": "Soumettre à nouveau au vote communautaire ?",
    "domain_confirm_community_first": "Proposer le domaine au vote communautaire ?",
    "domain_confirm_legend_message": "%{domain} sera transmis directement à l'équipe ReBreak pour une vérification manuelle.",
    "domain_confirm_community_message": "%{domain} sera soumis au vote communautaire (vote oui/non).",
    "domain_success_legend_title": "Domaine soumis",
    "domain_success_community_title": "Domaine en cours de vote",
    "domain_success_legend_message": "L'équipe ReBreak vérifie ce domaine manuellement. Vous recevrez une notification avec le résultat.",
    "domain_success_community_message": "La communauté peut maintenant voter. Vous serez notifié dès le résultat.",
    "upgrade_alert_title": "Passer à Pro",
    "upgrade_alert_desc": "Le paiement Stripe arrive à l'étape 11.",
    "protection_card_title": "Protection ReBreak",
    "protection_card_locked_title": "Protection ReBreak active",
    "protection_subtitle_inactive": "Appuyez pour activer la protection",
    "protection_subtitle_cooldown": "Pause de sécurité en cours — protection toujours active",
    "protection_subtitle_free": "Filtre actif — %{count} domaines personnalisés",
    "protection_subtitle_legend": "Protégé contre 300 000+ domaines + jusqu'à 10 personnalisés",
    "protection_subtitle_pro": "Protégé contre 300 000+ domaines + 5 personnalisés",
    "protection_settings_a11y": "Paramètres de protection",
    "protection_stat_domains": "Domaines",
    "protection_stat_method": "Méthode",
    "protection_stat_method_dns": "DNS",
    "protection_stat_method_native": "Natif",
    "protection_stat_status": "Statut",
    "protection_stat_status_live": "En direct",
    "activate_url_failed_title": "Impossible d'activer le filtre URL",
    "activate_url_failed_msg": "Erreur inconnue.\nVous pouvez réessayer ou vérifier les réglages système.",
    "activate_settings_btn": "Paramètres",
    "permission_denied": {
      "title": "Protection refusée",
      "body": "iOS n'a pas installé le filtre car « Refuser » a été touché dans la fenêtre système. On peut réessayer — cette fois, touche « Autoriser ».",
      "retry_cta": "Réessayer",
      "retry_loading": "Un instant...",
      "settings_cta": "Ouvrir les Réglages",
      "fallback_label": "Si la fenêtre n'apparaît plus",
      "fallback_body": "Réglages → Temps d'écran → Contenu et confidentialité — VPN/Filtre doivent être autorisés. En dernier recours : supprime l'app et réinstalle via TestFlight."
    },
    "family_controls_error": {
      "title": "App-Lock n'a pas pu être activé",
      "body": "iOS n'arrive pas à communiquer avec le service Temps d'écran. Cela arrive parfois après « Refuser » ou quand le service en arrière-plan est bloqué.",
      "retry_cta": "Réessayer",
      "retry_loading": "Un instant...",
      "settings_cta": "Ouvrir les Réglages",
      "fallback_label": "Si ça ne marche toujours pas",
      "fallback_body": "1. Redémarre ton iPhone. 2. Dans Réglages, vérifie que tu es connecté avec ton Apple ID et que Temps d'écran est activé. 3. En dernier recours : supprime l'app et réinstalle via TestFlight."
    },
    "protection_off_title": "La protection est désactivée",
    "protection_off_message": "Le filtre ne fonctionne pas alors qu'il devrait être actif. Voulez-vous le réactiver ?",
    "reactivate_btn": "Réactiver la protection",
    "protection_off_later": "Plus tard",
    "activate_app_lock_failed_title": "Impossible d'activer le verrouillage",
    "activate_app_lock_failed_msg": "L'autorisation requise a été refusée. Vous pouvez réessayer.",
    "sync_list_failed_title": "Impossible de charger la liste de filtrage",
    "sync_list_failed_msg": "Veuillez réessayer plus tard.",
    "activation_failed_title": "Échec de l'activation",
    "details_done": "Terminé",
    "details_title": "Détails de la protection",
    "details_active_title": "Protection active",
    "details_domains_blocked": "%{value} domaines bloqués",
    "details_layers_heading": "Couches actives",
    "details_layer_url_label": "Filtre réseau",
    "details_layer_url_desc": "Bloque les domaines de jeux d'argent à l'échelle du système (extension NEFilter)",
    "details_layer_applock_label": "Verrouillage de l'app",
    "details_layer_applock_desc": "ReBreak ne peut pas être supprimé impulsivement",
    "details_layer_vpn_label": "Filtre VPN",
    "details_layer_vpn_desc": "Filtre DNS local via VpnService",
    "details_layer_a11y_label": "Filtre navigateur",
    "details_layer_a11y_desc": "Détecte les saisies d'URL dans les navigateurs",
    "details_layer_tamper_label": "Verrou anti-manipulation",
    "details_layer_tamper_desc": "Surveillance contre la désactivation externe",
    "details_lyra_cta_title": "Vous n'avez plus besoin de la protection ?",
    "details_lyra_cta_subtitle": "Parlez-en à Lyra — elle vous écoute.",
    "details_deactivate_link": "Désactiver quand même",
    "layers_url_filter_title": "Filtre URL",
    "layers_url_filter_subtitle_active": "Filtre système actif",
    "layers_url_filter_subtitle_inactive": "Bloque les sites de jeux d'argent dans Safari et les apps",
    "layers_app_lock_title": "Verrouillage de l'app",
    "layers_app_lock_subtitle_active": "Verrouillé — désactivation uniquement via la pause de sécurité",
    "layers_app_lock_subtitle_inactive": "Vous empêche de désactiver ReBreak ou le filtre sous l'impulsion",
    "layers_app_lock_warning": "Une fois actif, vous ne pouvez désactiver la protection que via une pause de sécurité de 24 heures. C'est voulu.",
    "layers_app_lock_locked_hint": "Verrouillé par le système. Désactivation uniquement via Réglages iOS → Temps d'écran → Gestion par ReBreak.",
    "screentime_title": "Verrouiller le temps d'écran (Layer 3)",
    "screentime_desc": "Définis un code que seul ReBreak connaît — personne ne pourra désactiver le temps d'écran pour contourner la protection.",
    "screentime_generate_cta": "Générer un code",
    "screentime_code_label": "Ton code — retiens-le",
    "screentime_step1": "① Appuie sur « Ouvrir Temps d'écran » ci-dessous",
    "screentime_step2": "② Appuie sur « Code temps d'écran »",
    "screentime_step3": "③ Saisis le code affiché ci-dessus",
    "screentime_step_note": "Pas encore activé ? Appuie d'abord sur « Activer Temps d'écran ».",
    "screentime_open_settings_cta": "Ouvrir Temps d'écran ↗",
    "screentime_confirm_cta": "J'ai défini le code ✓",
    "screentime_confirmed_title": "Temps d'écran verrouillé ✓",
    "screentime_confirmed_desc": "Ta protection est maintenant triple. ReBreak ne peut plus être désinstallé sans passer par la période de refroidissement.",
    "kpi_global_label": "Domaines bloqués dans le monde",
    "kpi_global_subtitle": "Entrées actives dans la liste de blocage globale",
    "delta_week": "cette semaine",
    "delta_month": "ce mois-ci",
    "kpi_submissions_title": "Vos domaines soumis",
    "kpi_submissions_subtitle": "Statut de vos contributions à la liste globale",
    "kpi_my_submissions": "au total",
    "kpi_status_active": "actif",
    "kpi_status_vote": "en vote",
    "kpi_status_review": "en vérification",
    "kpi_in_vote": "En vote",
    "kpi_in_review": "En vérification",
    "kpi_avg_per_user": "Moy. domaines par utilisateur",
    "kpi_avg_wait": "Délai moyen",
    "kpi_days_suffix": "jours",
    "faq_heading": "Questions fréquentes",
    "faq1_q": "Comment fonctionne la protection ?",
    "faq1_a": "La protection comporte deux couches. La couche 1 est un filtre URL qui bloque environ 330 000 sites de jeux d'argent directement sur votre iPhone — aucun trafic ne quitte votre appareil. La couche 2 est une liste VIP curatée des principaux sites de jeux d'argent de votre pays, ainsi que vos propres domaines ajoutés — un second filet de sécurité si la couche 1 a une lacune.",
    "faq2_q": "Combien de sites sont bloqués ?",
    "faq2_a": "La couche 1 (filtre URL) couvre environ 330 000 domaines — casinos en ligne, paris sportifs, plateformes de jeux d'argent et sites associés. La couche 2 ajoute les principaux sites de jeux de votre pays et vos propres domaines personnalisés. Les listes sont mises à jour régulièrement.",
    "faq3_q": "Puis-je ajouter mes propres domaines ?",
    "faq3_a": "Oui. Sur la page du bloqueur, vous pouvez ajouter vos propres sites déclencheurs — ils seront bloqués sur les deux couches de protection. Une fois ajoutés, vous ne pouvez pas les supprimer vous-même. C'est intentionnel : cela vous protège des décisions impulsives dans un moment de tentation.",
    "faq4_q": "Pourquoi ne puis-je pas désactiver la protection immédiatement ?",
    "faq4_a": "Dans un moment d'impulsion, on veut souvent désactiver rapidement — pour le regretter ensuite. La pause de sécurité de 24 heures vous laisse le temps de laisser passer l'envie. Vous pouvez annuler la pause à tout moment — la protection reste alors simplement active.",
    "faq5_q": "Qu'est-ce que le mode Lock ?",
    "faq5_a": "Le mode Lock est l'option de protection la plus forte. ReBreak est installé de manière à ce que vous ne puissiez plus supprimer l'application vous-même ni désactiver le filtre seul. Idéal pour les phases où vous sentez que vous ne pouvez pas vous faire confiance et que le risque de contournement est élevé. Activation via RebreakMagic — une petite application Mac qui réalise la configuration en ~2 minutes.",
    "faq6_q": "Comment savoir si mon iPhone est en mode Lock ?",
    "faq6_a": "Allez dans Réglages → Général → Informations. Si en haut il est écrit \"Cet iPhone est supervisé et géré par Rebreak GmbH\" — le mode Lock est actif. Si rien n'est affiché : vous utilisez le mode normal (via VPN).",
    "faq7_q": "Comment activer le mode Lock ?",
    "faq7_a": "Vous avez besoin une fois d'un Mac avec l'outil RebreakMagic. Téléchargez-le, branchez votre iPhone en USB, ouvrez RebreakMagic et suivez la configuration — en ~2 minutes votre iPhone est en mode Lock. Important : une fois activé, seul votre trustee (ou RebreakMagic à nouveau sur le Mac) peut lever le verrou.",
    "faq8_q": "Comment désactiver le mode Lock ?",
    "faq8_a": "Pas depuis l'iPhone seul — c'est le principe de conception. Options : 1) Votre trustee. 2) Mac + câble USB + RebreakMagic (flux de réinitialisation dans l'outil). 3) Mode de récupération iPhone + réinitialisation d'usine (toutes les données perdues). Avant de faire cela : parlez à Lyra. Parfois un recadrage suffit.",
    "faq9_q": "Que se passe-t-il si je perds mon iPhone ou en change ?",
    "faq9_a": "Une réinitialisation d'usine ou un wipe supprime le mode Lock avec tout le reste. Sur un nouvel iPhone, vous devrez reconfigurer le mode Lock — à nouveau avec RebreakMagic. En cas de perte puis de retrouvaille, tout continue comme avant.",
    "more_info_title": "Désactiver la protection",
    "cooldown_elapsed_title": "La protection est désactivée",
    "cooldown_elapsed_message": "La pause de sécurité est terminée — la protection a été désactivée. Vous pouvez maintenant désactiver le service d'accessibilité ReBreak dans les Réglages.",
    "cooldown_elapsed_message_ios": "La pause de sécurité est terminée — la protection a été désactivée.",
    "cooldown_elapsed_open_settings": "Ouvrir les Réglages",
    "app_lock_coming_soon_badge": "Bientôt",
    "app_lock_coming_soon_desc": "Verrouillage de l'app bientôt disponible — la protection par filtre est déjà active.",
    "type_web": "Site web",
    "type_mail": "E-mail",
    "add_web_label": "Domaine",
    "add_web_placeholder": "ex. casino.com",
    "add_web_help": "Ce site sera bloqué sur tous vos appareils protégés.",
    "add_mail_label": "Adresse e-mail ou domaine",
    "add_mail_placeholder": "ex. newsletter@casino.com ou casino.com",
    "add_mail_help": "Adresse e-mail ou domaine mail. Nous bloquons tous les mails de cet expéditeur.",
    "add_mail_invalid": "Veuillez saisir un modèle.",
    "add_sheet_cta": "Ajouter",
    "section_domains": "Mes domaines",
    "section_mails": "Mes filtres mail",
    "count_label": "%{count}/%{max}",
    "error_web_limit_reached": "Vous avez utilisé tous vos emplacements de domaines. Supprimez un domaine ou passez à Pro/Legend.",
    "error_mail_limit_reached": "Vous avez utilisé tous vos emplacements e-mail. Supprimez un modèle ou passez à Pro/Legend.",
    "error_invalid_mail": "Veuillez saisir une adresse e-mail complète ou un domaine mail (ex. info@only4-subscribers.com).",
    "error_invalid_input": "Veuillez saisir un domaine ou une adresse e-mail valide.",
    "error_public_domain": "C'est un fournisseur d'e-mail public (p. ex. icloud.com, gmail.com) — on ne peut pas le bloquer sans toucher tous tes e-mails. Bloque plutôt le domaine du casino depuis le lien dans l'e-mail.",
    "error_duplicate": "Vous avez déjà ajouté cette entrée — elle est dans votre liste de filtres.",
    "kind_override_label": "C'est une adresse e-mail / expéditeur mail",
    "empty_web": "Aucun domaine personnalisé.\nAppuyez sur + pour en ajouter un.",
    "empty_mail": "Aucun domaine mail. Appuyez sur + pour bloquer une adresse ou un domaine.",
    "protection_subtitle_mdm": "NEFilter actif via profil système — pas de VPN nécessaire",
    "protection_stat_method_nefilter": "NEFilter",
    "protection_stat_method_mdm": "MDM",
    "mdm_info_hint": "En mode MDM, la protection est permanente. Pour la désactiver, contactez votre trustee ou utilisez Apple Configurator (USB).",
    "mdm_deactivate_title": "Mode MDM : désactivation externe",
    "mdm_deactivate_body": "En mode MDM, la protection ne peut être désactivée que par votre trustee ou via Apple Configurator (USB). Le flux de délai de refroidissement n'est pas disponible dans ce mode."
  },
  "onboarding": {
    "lyra": {
      "welcome": {
        "body": "Salut, je suis Lyra. Contente que tu sois là — le premier pas est souvent le plus dur, et tu l'as déjà fait."
      },
      "privacy": {
        "body": "Avant de commencer — une promesse. On te connaît uniquement par ton alias. Pas de vrai nom, pas de trackers, pas de pub. Tu es en sécurité ici."
      },
      "nickname": {
        "body": "Comment je t'appelle ? Choisis un alias — seule la communauté le voit, pas de vrai nom nécessaire."
      },
      "diga_choice": {
        "body": "Tu as un code d'ordonnance de ta caisse d'assurance ? Alors tout est débloqué pour toi."
      },
      "diga_code": {
        "body": "Tape ton code — je le vérifie pour toi."
      },
      "plan": {
        "body": "Pour faire tourner la protection sur ton appareil, il nous faut un plan — les 14 premiers jours sont offerts. Qu'est-ce qui te convient ?"
      },
      "payment": {
        "body": "Étape rapide : confirme ton essai. Tu peux annuler à tout moment — tout passe par Apple."
      },
      "protection": {
        "body": "Maintenant la partie importante — la protection sur ton appareil. Prêt ?"
      },
      "protection_url": {
        "body": "Une fenêtre iOS va apparaître. Touche « Autoriser » — le bouton du bas (pas le grand bleu en haut — c'est le piège)."
      },
      "protection_lock": {
        "body": "Maintenant le verrou d'app. iOS demande l'accès à Temps d'écran — touche « Continuer », encore le bouton du bas (pas le bleu)."
      },
      "protection_url_android": {
        "body": "Android va demander la permission VPN. Touche « OK » — ce n'est pas un vrai VPN, le filtre tourne localement sur ton téléphone."
      },
      "protection_lock_android": {
        "body": "Dernière étape : j'ouvre les paramètres d'Accessibilité. Trouve « ReBreak » et active l'interrupteur — puis reviens dans l'app."
      },
      "done": {
        "body": "Voilà. Jour 1 de ta nouvelle série — et tu n'es pas seul."
      },
      "audio_play": "Activer la voix",
      "audio_loading": "Chargement de la voix...",
      "audio_stop": "Arrêter la lecture",
      "audio_disable": "Désactiver la voix"
    },
    "welcome": {
      "cta_primary": "On y va",
      "bullet_anon": "Anonyme — pas de vrai nom",
      "bullet_protect": "Sites de jeu bloqués",
      "bullet_community": "D'autres sur le même chemin"
    },
    "privacy": {
      "cta_primary": "Compris",
      "promise_alias": "Seul ton alias est visible",
      "promise_minimal": "On stocke le minimum",
      "promise_no_ads": "Pas de trackers, pas de pub",
      "promise_germany": "Serveurs en Allemagne · RGPD"
    },
    "nickname": {
      "cta_primary": "Enregistrer",
      "label": "TON ALIAS",
      "placeholder": "ex. wanderer84",
      "hint": "3 à 32 caractères. Modifiable à tout moment.",
      "error_too_short": "Minimum 3 caractères.",
      "error_too_long": "Maximum 32 caractères.",
      "error_profanity": "Choisis un alias neutre.",
      "error_taken": "Cet alias est déjà pris."
    },
    "diga_choice": {
      "cta_yes": "Oui, j'ai un code",
      "cta_no": "Non, montre les plans",
      "hint": "Un code DiGA est émis par ta caisse d'assurance et te donne l'accès complet sans paiement."
    },
    "diga_code": {
      "cta_primary": "Valider",
      "cta_secondary": "Pas de code finalement — retour",
      "label": "CODE D'ORDONNANCE",
      "hint": "Codes de test internes : REBREAK-TEST-001 à -010",
      "error_not_found": "Ce code n'existe pas. Vérifie l'orthographe.",
      "error_already_used": "Ce code a déjà été utilisé.",
      "error_expired": "Ce code a expiré.",
      "error_invalid_input": "Entre un code valide."
    },
    "plan": {
      "cta_trial": "14 jours gratuits",
      "cta_legend": "Choisir Legend",
      "billing_monthly": "Mensuel",
      "billing_yearly": "Annuel",
      "billing_savings": "2 mois offerts",
      "tier_pro_badge": "Recommandé",
      "tier_pro_price_monthly": "3,99 € / mois",
      "tier_pro_price_yearly": "3,33 € / mois",
      "tier_pro_anchor_yearly": "47,88 €",
      "tier_pro_total_yearly": "39,90 € / an",
      "tier_pro_subline_monthly": "14 premiers jours gratuits",
      "tier_pro_subline_yearly": "14 jours gratuits + 2 mois offerts",
      "tier_legend_price_monthly": "7,99 € / mois",
      "tier_legend_price_yearly": "6,66 € / mois",
      "tier_legend_anchor_yearly": "95,88 €",
      "tier_legend_total_yearly": "79,90 € / an",
      "tier_legend_subline_monthly": "Pour protection multi-appareils",
      "tier_legend_subline_yearly": "2 mois offerts · multi-appareils",
      "feat_blocklist": "300 000+ domaines de jeu bloqués",
      "feat_lyra": "Coach Lyra illimité",
      "feat_mail": "Filtre mail anti-spam casino",
      "feat_community": "Communauté + séries",
      "feat_legend_all_pro": "Tout Pro inclus",
      "feat_legend_multi_device": "Protection sur Mac + Windows",
      "feat_legend_voice": "Voix premium de Lyra",
      "disclaimer": "Renouvellement auto. Annulation à tout moment dans Réglages iOS.",
      "hardship_link": "Budget serré ? Écris-nous."
    },
    "payment": {
      "cta_dev_skip": "Continuer (dev skip)",
      "dev_label": "Dev stub",
      "dev_body": "La vraie feuille de paiement (RevenueCat / StoreKit) arrive à la prochaine phase. Pour l'instant on passe step='pre_protection' et on continue."
    },
    "protection": {
      "cta_primary": "Activer la protection",
      "cta_open_a11y": "Ouvrir les paramètres d'Accessibilité",
      "cta_check_a11y": "J'ai activé ReBreak",
      "url_title": "Étape 1 sur 2 — Filtre de contenu",
      "lock_title": "Étape 2 sur 2 — Verrou d'app",
      "url_title_android": "Étape 1 sur 2 — Filtre DNS",
      "lock_title_android": "Étape 2 sur 2 — Protection anti-altération",
      "tap_marker_hint": "Apple place le grand bouton bleu en haut (« Refuser ») — touche le bouton du BAS, pas celui du haut.",
      "tap_marker_hint_android_vpn": "Android va afficher une demande de permission VPN. Touche « OK » — nous utilisons l'API VPN uniquement localement comme filtre DNS, aucun trafic ne quitte ton appareil.",
      "tap_marker_hint_android_a11y": "Une fois l'interrupteur ReBreak activé, le service protège tes paramètres contre toute désactivation accidentelle. Puis reviens dans l'app.",
      "android_a11y_pending_title": "En attente de l'activation Accessibilité",
      "android_a11y_pending_body": "Si tu n'as pas activé l'Accessibilité, rouvre-la et active ReBreak.",
      "dialog_button_allow": "Touche « Autoriser »",
      "dialog_button_continue": "Touche « Continuer »",
      "dialog_button_vpn_ok": "Touche « OK »",
      "dialog_button_a11y_toggle": "Activer l'interrupteur",
      "android_restart_title": "Redémarrage rapide recommandé",
      "android_restart_body": "Sur certains appareils Samsung, la protection complète ne s'applique de façon fiable qu'après un redémarrage. Redémarre ton appareil maintenant.",
      "android_restart_now": "Redémarrer maintenant",
      "android_restart_later": "Plus tard",
      "applock_failed_title": "Échec du verrou d'app",
      "applock_failed_msg": "Tu peux réessayer ou ignorer cette étape — le filtre URL est déjà actif.",
      "applock_skip": "Ignorer",
      "error_title": "Impossible d'activer la protection",
      "error_unknown": "Erreur inconnue. Réessaie.",
      "feat_blocklist_title": "Filtre global",
      "feat_blocklist_desc": "Domaines de jeu bloqués dans navigateurs + apps.",
      "feat_ios_title": "iOS NEFilter",
      "feat_ios_desc": "Network Extension d'Apple — sûr et profond.",
      "feat_android_title": "Filtre VPN Android",
      "feat_android_desc": "Filtre DNS local — pas de serveur externe.",
      "feat_cooldown_title": "Cooldown 24h",
      "feat_cooldown_desc": "24h de friction avant de pouvoir désactiver.",
      "permission_note": "Dans la fenêtre iOS / Android : touche \"Autoriser\"."
    },
    "done": {
      "cta_primary": "Entrer dans l'app",
      "headline": "Tu es dedans.",
      "subhead": "Jour 1 de ta série. Tu n'es pas seul·e — la communauté est là, Lyra aussi.",
      "faq_section_title": "Questions fréquentes"
    },
    "step_progress": "Étape %{current} sur %{total}",
    "block_spotlight": {
      "body": "Active la protection maintenant. Touche ici — iOS te demandera si ReBreak peut bloquer les sites de jeux."
    },
    "nickname_spotlight": {
      "title": "Choisis ton alias",
      "body": "C'est ton seul nom sur rebreak. Personne ne voit ton e-mail ni ton vrai nom.",
      "finish": "Compris"
    },
    "protection_confirm": {
      "checkbox": "J’ai compris",
      "cta": "Continuer",
      "vpn_title": "Autorisation VPN",
      "vpn_body": "Android va demander l’autorisation VPN. Touche « Autoriser/OK » dans la boîte de dialogue — ce n’est pas un vrai VPN, le filtre tourne localement sur ton appareil.",
      "deviceadmin_title": "Protection de l’appareil",
      "deviceadmin_body": "Touche « Activer » dans la boîte de dialogue suivante. La protection reste active dès le redémarrage — aucun autre droit n’est demandé.",
      "applock_title": "Verrou d’app",
      "applock_body": "Attention dans la boîte suivante : touche le bouton du BAS — pas le bleu. C’est la seule façon d’activer le verrou.",
      "urlfilter_title": "Filtre de contenu",
      "urlfilter_body": "iOS va demander l’autorisation pour le filtre. Touche « Autoriser ».",
      "a11y_title": "Accessibilité",
      "a11y_body": "Suis simplement l’indication ReBreak — elle te guide pas à pas jusqu’à l’interrupteur. Rien à retenir.",
      "a11y_step1": "Touche « Services installés ».",
      "a11y_step2": "Touche ReBreak (reconnaissable au logo).",
      "a11y_indicator": "ReBreak te guide pas à pas",
      "a11y_step3": "Active l’interrupteur, confirme la boîte de dialogue — puis reviens dans l’app.",
      "usage_title": "Une fois : activer le guidage pas à pas",
      "usage_body": "Le menu d’accessibilité est parfois pénible. Pour te guider étape par étape, donne à ReBreak l’« accès aux données d’usage » une fois — j’ouvre la page. Active ReBreak là, reviens et touche à nouveau la protection.",
      "overlay_title": "Une fois : autoriser l’overlay d’aide",
      "overlay_body": "Pour que mon indication s’affiche devant les Réglages (au lieu d’être cachée dans le tiroir), donne à ReBreak « Superposition à d’autres applis » une fois — j’ouvre la page. Active ReBreak là, reviens et touche à nouveau la protection."
    },
    "protection_skip": {
      "label": "Ça ne marche pas ? Configurer plus tard",
      "title": "Configurer la protection plus tard ?",
      "body": "La protection n’est pas encore active. Tu peux continuer et la configurer à tout moment sous « Protection ».",
      "confirm": "Plus tard"
    }
  },
  "mail": {
    "title": "Protection Mail",
    "subtitle": "Bloquer automatiquement les mails de jeux d'argent",
    "plan_free": "Gratuit",
    "stat_accounts": "Boîte mail",
    "stat_domains": "Domaines",
    "stat_interval": "Intervalle de scan",
    "connect_title": "Connectez votre boîte mail",
    "connect_desc": "Rebreak scanne automatiquement les mails de jeux d'argent et les bloque — sans lire vos e-mails.",
    "connect_cta": "Connecter maintenant",
    "privacy_1": "Seuls l'objet et l'expéditeur sont vérifiés",
    "privacy_2": "Aucun accès au contenu des mails",
    "privacy_3": "Conforme au RGPD, serveurs en Allemagne",
    "providers_title": "Fournisseurs pris en charge",
    "provider_other": "Autres fournisseurs",
    "empty_title": "Aucun mail bloqué pour l'instant",
    "empty_subtitle": "Connectez votre boîte mail pour que Rebreak vous protège automatiquement.",
    "connect_sheet_title": "Connecter une boîte mail",
    "connect_sheet_subtitle": "Choisissez votre fournisseur de messagerie. Rebreak supprime automatiquement les mails de jeux d'argent — le contenu de vos messages n'est jamais lu.",
    "provider_gmail": "Gmail",
    "provider_icloud": "iCloud Mail",
    "provider_outlook": "Outlook",
    "provider_outlook_disabled_badge": "Bientôt disponible",
    "provider_outlook_disabled_hint": "Les comptes Microsoft nécessitent une nouvelle méthode de connexion, nous y travaillons.",
    "provider_yahoo": "Yahoo Mail",
    "provider_gmx": "GMX / Web.de",
    "app_password_required_title": "Mot de passe d'application requis",
    "app_password_guide_gmail": "Gmail exige un mot de passe d'application spécifique (pas votre mot de passe Google habituel). Activez la validation en 2 étapes et créez un mot de passe d'application sur myaccount.google.com/apppasswords.",
    "app_password_guide_icloud": "iCloud exige un mot de passe d'application spécifique. Rendez-vous sur appleid.apple.com → Connexion → Mots de passe spécifiques aux apps.",
    "app_password_guide_outlook": "Outlook avec compte Microsoft : activez la validation en 2 étapes et créez un mot de passe d'application sur account.microsoft.com/security.",
    "app_password_guide_yahoo": "Yahoo exige un mot de passe d'application. Activez la validation en 2 étapes et créez-en un sur login.yahoo.com/account/security.",
    "app_password_guide_gmx": "GMX / Web.de : activez IMAP dans les paramètres et utilisez votre mot de passe habituel ou un mot de passe d'application si la validation en 2 étapes est active.",
    "app_password_guide_other": "Saisissez votre adresse e-mail et votre mot de passe d'application. Rebreak détecte automatiquement votre fournisseur d'après le domaine (ex. IONOS, Strato, 1&1). Un mot de passe d'application est recommandé si disponible.",
    "app_password_open_link": "Créer un mot de passe d'application maintenant",
    "form_email_label": "Adresse e-mail",
    "form_email_placeholder": "votre@email.fr",
    "form_password_label": "Mot de passe d'application",
    "form_password_placeholder": "Mot de passe d'application (pas votre mot de passe de connexion)",
    "form_privacy_note": "Votre mot de passe est stocké avec chiffrement AES. Le contenu de vos mails n'est jamais lu — seuls l'objet et l'expéditeur sont traités.",
    "form_connect_btn": "Connecter la boîte mail",
    "form_fields_required": "L'e-mail et le mot de passe sont requis.",
    "connect_failed": "Connexion échouée. Vérifiez vos identifiants.",
    "section_accounts": "Boîtes mail",
    "add_account_a11y": "Ajouter une boîte mail",
    "empty_state_title": "Aucune boîte mail connectée",
    "empty_state_subtitle": "Connectez votre première boîte mail — Rebreak supprimera automatiquement les mails de jeux d'argent avant que vous les voyiez.",
    "empty_state_cta": "Connecter la première boîte mail",
    "account_active": "Active",
    "account_inactive": "Inactive",
    "account_last_scan": "Il y a %{time}",
    "account_never_scanned": "Pas encore scanné",
    "account_just_now": "à l'instant",
    "account_stat_blocked": "Bloqués",
    "account_stat_scanned": "Scannés",
    "account_stat_block_rate": "Taux de blocage",
    "account_disconnect_confirm_title": "Déconnecter la boîte mail ?",
    "account_disconnect_confirm_message": "%{email} sera déconnecté et toutes les données de scan seront supprimées.",
    "account_disconnect_confirm_btn": "Déconnecter",
    "stats_blocked": "Bloqués",
    "stats_accounts": "Boîtes mail",
    "stats_next_scan": "Prochain scan",
    "stats_next_scan_soon": "bientôt",
    "stats_mode": "Mode",
    "stats_account_summary": "sur %{count} boîte(s) mail",
    "scheduled": "Planifié",
    "account_of_scanned": "sur %{scanned} scannés",
    "activity_log_count": "%{count} mail(s) bloqué(s)",
    "connect_success_title": "Boîte mail connectée",
    "connect_success_message": "Rebreak va maintenant scanner automatiquement les mails de jeux d'argent.",
    "upgrade_alert_title": "Plus de boîtes mail",
    "upgrade_alert_desc": "Passez à Pro pour jusqu'à 3 boîtes mail, ou Legend pour un nombre illimité.",
    "add_account": "Ajouter une boîte mail",
    "section_accounts_count": "%{used} sur %{max} connectées",
    "section_accounts_count_unlimited": "%{used} connectées · illimité",
    "live": "En direct",
    "disconnect": "Déconnecter",
    "loading": "Chargement…",
    "app_password_placeholder": "Mot de passe d'application",
    "scan_interval_label": "Intervalle de scan",
    "realtime_desc": "Blocage en temps réel via IMAP IDLE",
    "free_scan_interval_hint": "Plan gratuit : intervalle fixe de 4h. Passez à Pro pour 1h.",
    "account_change_password": "Changer le mot de passe",
    "edit_account_title": "Mettre à jour le mot de passe",
    "edit_account_subtitle": "Saisissez le nouveau mot de passe d'application pour %{email}. L'ancien mot de passe sera remplacé.",
    "edit_account_save": "Enregistrer",
    "activity_log_title": "Récemment bloqués",
    "activity_log_subtitle": "Mails bloqués dans les dernières 24h",
    "activity_log_empty": "Aucun mail bloqué dans les dernières 24h",
    "activity_log_more": "+ %{count} de plus",
    "activity_no_subject": "(sans objet)",
    "chart_title": "7 derniers jours",
    "chart_week_total": "%{count} cette semaine",
    "status_auth_error": "Erreur d'authentification",
    "status_connect_error": "Erreur de connexion",
    "status_error_tap_hint": "Appuyez pour corriger",
    "status_stale": "Obsolète",
    "status_stale_last_scan": "dernier scan %{rel}",
    "status_live_idle": "IDLE actif depuis %{rel}",
    "status_live_no_new_mail": "connecté · aucun nouveau mail depuis %{rel}",
    "status_waiting_first_connect": "En attente de la première connexion",
    "auth_error_title": "Mot de passe d'application invalide",
    "auth_error_subtitle": "Le mot de passe d'application pour %{email} a expiré ou est incorrect. Veuillez le renouveler et le saisir ici.",
    "auth_error_renew_link": "Créer un nouveau mot de passe d'application",
    "errors": {
      "auth_failed": "Le mot de passe d'application est incorrect. Veuillez le renouveler auprès de votre fournisseur de messagerie et le saisir ici.",
      "app_password_required": "Votre fournisseur de messagerie exige un mot de passe d'application spécifique. Créez-en un dans les paramètres de votre compte.",
      "connection_failed": "Impossible de se connecter au serveur de messagerie. Veuillez réessayer plus tard.",
      "host_unreachable": "Serveur de messagerie inaccessible. Vérifiez votre connexion Internet — ou votre fournisseur n'est peut-être pas encore pris en charge. Écrivez-nous : support@rebreak.org",
      "tls_error": "Impossible d'établir une connexion sécurisée au serveur de messagerie. Contactez votre fournisseur.",
      "rate_limited": "Trop de tentatives de connexion. Veuillez patienter quelques minutes et réessayer.",
      "unknown": "Connexion échouée. Vérifiez le mot de passe d'application ou écrivez-nous à support@rebreak.org — nous ajouterons volontiers votre fournisseur."
    },
    "consent": {
      "title": "Avant de connecter votre boîte mail",
      "intro": "Rebreak recherche spécifiquement dans votre boîte mail les e-mails publicitaires de jeux d'argent et les supprime automatiquement. Ce traitement peut permettre de déduire l'existence d'une addiction au jeu — nous le traitons comme une catégorie particulière de données au sens de l'Art. 9 du RGPD.",
      "legal_text": "En connectant ma boîte mail, je consens expressément à ce que Rebreak recherche dans ma boîte mail les e-mails publicitaires de jeux d'argent et les supprime. Je suis conscient(e) que ce traitement peut permettre de déduire l'existence d'une addiction au jeu, et je consens expressément à ce traitement de données de santé conformément à l'Art. 9, al. 2, lit. a du RGPD. Je peux révoquer ce consentement à tout moment pour l'avenir en déconnectant la connexion mail dans les paramètres de l'application.",
      "checkbox_label": "Je consens expressément",
      "cta_next": "Continuer",
      "more_link": "En savoir plus sur ce traitement",
      "reminder_title": "Information importante sur la confidentialité",
      "reminder_body_one": "Pour votre connexion mail existante, nous avons besoin de votre consentement explicite renouvelé — sinon nous suspendrons la suppression automatique.",
      "reminder_body_other": "Pour vos %{count} connexions mail existantes, nous avons besoin de votre consentement explicite renouvelé — sinon nous suspendrons la suppression automatique.",
      "reminder_legal_short": "Je consens au traitement du contenu de ma boîte mail conformément à l'Art. 9, al. 2, lit. a du RGPD.",
      "reminder_cta_consent": "Je consens",
      "reminder_cta_later": "Plus tard",
      "reminder_cta_disconnect": "Déconnecter maintenant",
      "reminder_consent_error": "Impossible d'enregistrer le consentement. Veuillez réessayer."
    },
    "title_label": "Libellé",
    "title_placeholder": "ex. Gmail personnel, Travail",
    "title_edit_title": "Modifier le libellé",
    "title_save": "Enregistrer",
    "settings_section_label": "Paramètres",
    "row_title": "Libellé",
    "row_email": "E-mail",
    "row_password": "Mot de passe",
    "row_disconnect": "Déconnecter",
    "account_chart_unavailable": "Graphique quotidien en chargement …",
    "disconnect_confirm_title": "Déconnecter la boîte mail ?",
    "disconnect_confirm_body": "%{email} sera déconnecté et toutes les données de scan seront supprimées.",
    "more_infos_title": "Plus d'informations",
    "more_infos_subtitle": "Bloqués — 30 derniers jours",
    "stats": {
      "blocked_per_day_heading": "Bloqués",
      "blocked_per_day_sublabel": "%{total} mails bloqués · %{avg} la semaine dernière",
      "blocked_per_week_heading": "Bloqués — semaines récentes",
      "blocked_per_month_heading": "Bloqués — mois récents",
      "distribution_heading": "Répartition par boîte mail",
      "distribution_center_label": "au total",
      "distribution_other": "Autres",
      "distribution_other_n": "+%{n} de plus",
      "empty_title": "Aucun mail bloqué pour l'instant",
      "empty_body": "Dès que des mails sont bloqués, un aperçu apparaîtra ici."
    },
    "filter": {
      "all": "Tous"
    },
    "oauth": {
      "warning_title": "Note sur la visibilité dans votre compte Microsoft",
      "warning_body": "Microsoft va vous afficher une boîte de dialogue d'autorisation. Le nom de l'application \"Rebreak\" y apparaîtra et sera visible dans l'aperçu de votre compte Microsoft sous Autorisations des apps. Si votre compte Microsoft est partagé avec d'autres personnes, veuillez en tenir compte.",
      "warning_continue": "Compris, se connecter avec Microsoft",
      "warning_cancel": "Retour à la sélection",
      "pending_label": "Connexion Microsoft en cours…",
      "pending_hint": "Finalisez l'étape dans votre navigateur puis revenez ici.",
      "error_aborted": "Connexion annulée.",
      "error_no_code": "OAuth échoué — aucun code d'autorisation reçu.",
      "error_callback_failed": "La connexion n'a pas pu être finalisée. Veuillez réessayer.",
      "disconnect_hint_title": "Connexion supprimée",
      "disconnect_hint_body": "Les tokens ont été supprimés de notre base de données. Microsoft ne prend malheureusement pas en charge la révocation côté serveur par des applications tierces. Pour supprimer complètement l'autorisation Rebreak dans votre compte Microsoft : account.microsoft.com → Sécurité → Autorisations des apps → rechercher Rebreak → Supprimer.",
      "disconnect_hint_open_ms": "Ouvrir Microsoft",
      "google_warning_title": "Note sur la visibilité dans votre compte Google",
      "google_warning_body": "Google va vous afficher une boîte de dialogue d'autorisation. Le nom de l'application \"Rebreak\" y apparaîtra et sera visible dans l'aperçu de votre compte Google sous Applications tierces. Si votre compte Google est partagé avec d'autres personnes, veuillez en tenir compte.",
      "google_warning_continue": "Compris, se connecter avec Google",
      "google_pending_label": "Connexion Google en cours…"
    },
    "account_chart_collecting_title": "Collecte des données",
    "account_chart_collecting_body": "Analyse disponible après 24h",
    "scan_now": "Scanner maintenant",
    "scan_running": "Scan en cours…",
    "scan_done": "%{count} bloqué(s)",
    "scan_error": "Scan échoué",
    "email_change_not_supported": "La modification de l'e-mail arrive bientôt"
  },
  "settings": {
    "title": "Paramètres",
    "account_section": "Compte",
    "prefs_section": "Préférences",
    "danger_section": "Zone de danger",
    "edit_profile": "Modifier le profil",
    "devices": "Appareils",
    "devices_desc": "Gérer les appareils enregistrés",
    "subscription": "Abonnement",
    "subscription_desc": "Plan & voie d'amélioration",
    "subscription_plan_free": "Gratuit",
    "subscription_plan_pro": "Pro",
    "subscription_plan_legend": "Legend",
    "subscription_sheet_title": "Votre abonnement",
    "subscription_sheet_body": "Gérez votre abonnement sur rebreak.org — vous pouvez y monter en gamme, descendre ou résilier.",
    "subscription_sheet_cta": "Aller sur rebreak.org/account",
    "plan_free": "Gratuit",
    "push_notifications": "Notifications push",
    "streak_reminders": "Rappels de série",
    "language": "Langue",
    "language_desc": "Allemand / Anglais / Français / Arabe",
    "language_current": "Français",
    "upgrade_cta": "Passer à Pro — 29 €/an",
    "delete_account": "Supprimer le compte",
    "delete_desc": "Toutes les données seront définitivement supprimées.",
    "sign_out": "Se déconnecter",
    "coming_soon_title": "Bientôt disponible",
    "coming_soon_desc": "Les paramètres seront configurés en phase 3. Actuellement en version squelette uniquement.",
    "soon_badge": "Bientôt",
    "skeleton_footer": "Squelette des paramètres — voir ops/UI_MIGRATION_PLAN.md",
    "section_profile": "Profil",
    "profile_edit": "Pseudo & avatar",
    "profile_edit_desc": "Pseudo, avatar, données personnelles",
    "profile_avatar": "Choisir un avatar",
    "profile_avatar_desc": "Bibliothèque de préréglages ou votre propre photo",
    "section_theme": "Thème & langue",
    "theme": "Thème",
    "theme_desc": "Clair / Sombre / Système",
    "section_notifications": "Notifications",
    "notifications_push": "Notifications push",
    "notifications_push_desc": "Activer/désactiver par catégorie",
    "notifications_streak": "Rappels de série",
    "notifications_streak_desc": "Rappels quotidiens pour rester sur la bonne voie",
    "section_devices": "Appareils & abonnement",
    "section_lyra": "Lyra (Legend)",
    "lyra_voice": "Voix de Lyra",
    "lyra_voice_desc": "Sélecteur de voix — réservé au plan Legend",
    "lyra_voice_only_legend": "Réservé au plan Legend",
    "theme_picker_title": "Choisir le thème",
    "theme_system": "Système",
    "theme_light": "Clair",
    "theme_dark": "Sombre",
    "language_picker_title": "Choisir la langue",
    "language_de": "Deutsch",
    "language_en": "English",
    "language_fr": "Français",
    "language_ar": "العربية",
    "lyra_voice_default": "Par défaut",
    "lyra_voice_1": "Voix 1",
    "lyra_voice_2": "Voix 2",
    "lyra_voice_picker_title": "Choisir la voix de Lyra",
    "lyra_voice_sarah": "Sarah (chaleureuse)",
    "lyra_voice_aria": "Aria (apaisante)",
    "lyra_voice_charlotte": "Charlotte (claire)",
    "lyra_voice_alice": "Alice (sobre)",
    "lyra_voice_bill": "Bill (grave)",
    "section_debug": "Debug",
    "debug_llm": "Fournisseur LLM",
    "debug_llm_desc": "Modèle & réglage des prompts (DEV)",
    "debug_tts": "Fournisseur TTS",
    "debug_tts_desc": "Cartesia / ElevenLabs / Gemini (DEV)",
    "debug_plan": "Remplacer le plan (DEV)",
    "debug_plan_desc": "POST /api/dev/set-plan — staging uniquement",
    "debug_realtime": "Connexion temps réel (DEV)",
    "debug_realtime_desc": "État de la connexion, canaux, journal des événements",
    "devices_page_title": "Appareils enregistrés",
    "devices_slots": "Emplacements d'appareils",
    "devices_slots_desc": "Votre plan %{plan} permet ce nombre d'appareils simultanés.",
    "devices_this_device": "Cet appareil",
    "devices_since": "depuis",
    "devices_just_now": "actif à l'instant",
    "devices_mins_ago": "il y a %{count}min",
    "devices_hours_ago": "il y a %{count}h",
    "devices_days_ago": "il y a %{count}j",
    "devices_empty": "Aucun appareil enregistré",
    "devices_hint": "Les appareils que vous supprimez se réenregistreront à la prochaine connexion. Cet appareil ne peut pas être supprimé tant que vous êtes connecté.",
    "devices_remove_title": "Supprimer l'appareil",
    "devices_remove_desc": "L'emplacement de l'appareil sera libéré. Il pourra se réenregistrer à la prochaine connexion.",
    "devices_remove_confirm": "Supprimer",
    "section_security": "Sécurité",
    "app_lock": "Verrouillage de l'app",
    "app_lock_desc": "Déverrouiller avec Face ID, Touch ID ou code à l'ouverture",
    "app_lock_unavailable": "Non disponible sur cet appareil",
    "app_lock_desc_android": "Déverrouiller avec empreinte digitale, déverrouillage facial ou PIN à l'ouverture",
    "notifications_push_sublabel": "Rappels, messages Lyra, mises à jour de série",
    "notifications_streak_time": "Heure de rappel",
    "notifications_streak_time_desc": "À quelle heure le rappel quotidien doit-il apparaître ?",
    "notifications_streak_time_picker_title": "Choisir l'heure de rappel",
    "notifications_streak_time_picker_desc": "Sélectionnez l'heure et les minutes pour votre rappel quotidien.",
    "notifications_hour": "Heure",
    "notifications_minute": "Minute",
    "section_help": "Aide & Support",
    "help_faq": "FAQ",
    "help_faq_desc": "Questions fréquentes sur l'application",
    "help_contact": "Contact",
    "help_contact_desc": "Écrivez-nous — réponse sous 24–48h",
    "help_about": "À propos de Rebreak",
    "help_about_desc": "Mission, confidentialité, parcours DiGA",
    "help_crisis": "Aide en crise",
    "help_crisis_desc": "Services d'écoute & numéros d'urgence",
    "rtl_restart_title": "Redémarrage requis",
    "rtl_restart_body": "Veuillez fermer l'application et la rouvrir pour appliquer le nouveau sens de lecture."
  },
  "device_limit": {
    "title": "Limite d'appareils atteinte",
    "subtitle": "%{count} sur %{max} emplacements utilisés (%{plan}) — supprimez un appareil pour continuer",
    "hint": "Les appareils supprimés peuvent se réenregistrer à la prochaine connexion.",
    "remove_cta": "Supprimer un appareil",
    "this_device": "Cet appareil",
    "approve_on_other": "Approuver sur un autre appareil"
  },
  "device_approval": {
    "incoming_title": "Approuver le nouvel appareil ?",
    "incoming_subtitle": "%{device} essaie de se connecter à votre compte ReBreak.",
    "code_label": "Code de vérification",
    "compare_hint": "Comparez ce code avec celui affiché sur le nouvel appareil. S'ils correspondent, appuyez sur Autoriser.",
    "replace_which": "Quel appareil remplacer ?",
    "all_devices_locked": "Tous les appareils sont verrouillés par le plan — libérez-en un d'abord.",
    "approve": "Autoriser",
    "reject": "Refuser",
    "pick_to_replace": "Choisissez un appareil à remplacer.",
    "pending_title": "Approbation requise",
    "pending_subtitle": "Confirmez ce code sur un autre appareil connecté, ou par e-mail.",
    "pending_approved_title": "Approuvé",
    "pending_approved_subtitle": "Votre appareil est maintenant lié. Vous pouvez continuer.",
    "pending_rejected_title": "Refusé",
    "pending_rejected_subtitle": "La connexion a été refusée sur un autre appareil.",
    "pending_expired_title": "Expiré",
    "pending_expired_subtitle": "Le code a expiré. Veuillez réessayer.",
    "waiting": "En attente d'approbation…",
    "send_email": "Envoyer par e-mail",
    "email_already_sent": "E-mail déjà envoyé",
    "continue": "Continuer",
    "close": "Fermer",
    "cancel": "Annuler"
  },
  "urge": {
    "title": "SOS — Exercice de respiration",
    "step_dashboard": "Début",
    "step_emotion": "Émotion",
    "step_breathing": "Respiration",
    "step_games": "Lyra Games",
    "step_result": "Réflexion",
    "step_done": "Terminé",
    "feel_urge": "Ressentez-vous une forte envie en ce moment ?",
    "feel_urge_desc": "Nous vous guidons pas à pas vers un retour au calme.",
    "yes_urge": "Oui, j'ai besoin d'aide",
    "just_play": "Juste jouer",
    "this_week": "Cette semaine",
    "total_urges": "Envies",
    "overcome_count": "Surmontées",
    "breathing_exercises": "Exercices de respiration",
    "having_urge": "Vous n'êtes pas seul.",
    "how_feeling": "Comment vous sentez-vous en ce moment ?",
    "emotion_stress": "Stress",
    "emotion_sadness": "Tristesse",
    "emotion_anger": "Colère",
    "emotion_empty": "Vide",
    "emotion_boredom": "Ennui",
    "emotion_other": "Autre",
    "lets_breathe": "Respirons un moment",
    "breathing_desc": "Seulement 3 cycles. Votre esprit se calme généralement après.",
    "round": "Cycle %{current} / %{total}",
    "round_simple": "Cycle %{current} / %{total}",
    "intro": "Respirer profondément aide à surmonter l'envie.",
    "inhale": "Inspirez",
    "hold": "Retenez",
    "exhale": "Expirez",
    "start": "Démarrer l'exercice",
    "start_exercise": "Démarrer la respiration",
    "skip": "Passer",
    "game_offer_title": "Lyra Games",
    "game_offer_text": "Choisissez un jeu rapide. 2-3 minutes suffisent souvent pour briser l'envie.",
    "just_play_lyra": "Besoin d'un rapide retour au focus ? Choisissez un jeu.",
    "game_memory": "Memory",
    "game_tictactoe": "Tic-Tac-Toe",
    "game_snake": "Snake",
    "game_tetris": "Tetris",
    "game_memory_desc": "Trouver des paires et retrouver la concentration",
    "game_tictactoe_desc": "Duel rapide pour des décisions claires",
    "game_snake_desc": "Le rythme plutôt que la rumination",
    "game_tetris_desc": "Organiser des motifs, apaiser l'esprit",
    "skip_games": "Passer les jeux",
    "back": "Retour",
    "open_lyra": "Ouvrir avec Lyra",
    "game_start_title": "Démarrer le jeu",
    "game_start_desc": "%{game} va démarrer avec Lyra.",
    "how_overcome": "Comment s'est passé la suite ?",
    "answer_helps": "Votre réponse vous aide à repérer des schémas et à vous renforcer.",
    "i_overcame": "J'ai surmonté l'envie",
    "i_gave_in": "J'ai cédé",
    "overcame_msg": "Courageux. Chaque envie surmontée reconfigure votre cerveau.",
    "gave_in_msg": "Sans jugement. L'honnêteté est le point de départ de la prochaine victoire.",
    "save": "Enregistrer",
    "done_title": "Très bien !",
    "done_desc": "Vous avez terminé l'exercice de respiration. Votre système nerveux s'est apaisé.",
    "done_back": "Retour",
    "well_done": "Bravo",
    "chin_up": "Courage",
    "overcame_result": "Vous avez brisé le cycle de l'envie. Restez proche de ce qui vous fait du bien.",
    "gave_in_result": "Un recul n'est pas une fin. Respirez et recommencez.",
    "back_to_dashboard": "Retour au tableau de bord"
  },
  "notifications": {
    "title": "Notifications",
    "empty_title": "Aucune notification",
    "empty_subtitle": "Vous êtes à jour.",
    "mark_all_read": "Tout marquer comme lu",
    "liked_post": "a aimé votre publication",
    "commented_post": "a commenté votre publication",
    "voted_domain": "a voté pour votre domaine",
    "domain_accepted": "est maintenant dans la liste de blocage globale",
    "domain_accepted_sub": "Appuyez pour ouvrir votre liste de blocage",
    "domain_rejected": "a été refusé et supprimé de votre liste",
    "new_follower": "vous suit maintenant",
    "generic": "vous a envoyé une notification",
    "just_now": "à l'instant",
    "min_ago": "il y a %{n} min",
    "hours_ago": "il y a %{n} h",
    "days_ago": "il y a %{n} j"
  },
  "chat": {
    "title": "Chat",
    "dms": "Messages directs",
    "rooms": "Groupes",
    "groups": "Groupes",
    "direct": "Direct",
    "no_chats": "Aucune conversation pour l'instant",
    "no_rooms": "Aucun groupe pour l'instant",
    "start_dm": "Démarrer un nouveau message direct",
    "placeholder": "Écrire un message…",
    "you": "Vous : ",
    "just_now": "à l'instant",
    "voice_message": "Message vocal",
    "call_audio": "Appel audio",
    "call_missed": "Appel manqué",
    "call_no_answer": "Pas de réponse",
    "call_declined": "Appel refusé",
    "call_failed": "Échec de l'appel",
    "photo": "Photo",
    "media_sent": "Média",
    "new_conversation": "Nouvelle conversation",
    "no_users_found": "Aucun utilisateur trouvé",
    "start_conversation": "Envoyer un premier message",
    "loading": "Chargement…",
    "send_failed": "Impossible d'envoyer le message.",
    "create_group": "Créer un groupe",
    "create": "Créer",
    "room_name": "Nom du groupe",
    "room_description": "Description (facultatif)",
    "public_room": "Groupe public",
    "join_mode": "Mode d'adhésion",
    "join_mode_approval": "Avec approbation",
    "join_mode_invite": "Sur invitation uniquement",
    "join": "Rejoindre",
    "join_pending": "Demande d'adhésion en cours…",
    "join_required": "Rejoignez le groupe pour participer.",
    "members": "Membres",
    "settings": "Paramètres",
    "info": "Info",
    "leave_room": "Quitter le groupe",
    "reply": "Répondre",
    "reply_to": "Réponse à",
    "like": "J'aime",
    "unlike": "Retirer le j'aime",
    "copy": "Copier",
    "delete": "Supprimer",
    "message_deleted": "Message supprimé",
    "delete_confirm_title": "Supprimer le message ?",
    "delete_confirm_msg": "Ce message sera supprimé pour tout le monde — c'est irréversible.",
    "image_attachment": "Image",
    "file_attachment": "Fichier",
    "upload_failed": "Échec du téléversement",
    "save": "Enregistrer",
    "image_saved": "Image enregistrée dans Photos",
    "save_failed": "Impossible d'enregistrer l'image",
    "save_needs_rebuild": "L'enregistrement nécessite une mise à jour de l'app — réessaie après la prochaine build.",
    "call": "Appel",
    "call_coming_soon": "Les appels vocaux arrivent bientôt — nous développons cette fonction.",
    "member_count": "%{n} membres",
    "member_count_online": "%{n} membres · %{online} en ligne",
    "pending_request": "Demandes d'adhésion",
    "approve": "Accepter",
    "reject": "Refuser",
    "avatar_updated": "Photo du groupe mise à jour",
    "send": "Envoyer",
    "search_placeholder": "Rechercher des conversations…",
    "photo_access_title": "Accès aux photos",
    "photo_access_body": "Veuillez autoriser l'accès aux photos dans les paramètres.",
    "mic_access_title": "Accès au microphone",
    "mic_access_body": "Veuillez autoriser l'accès au microphone dans les paramètres."
  },
  "dm": {
    "view_profile": "Voir le profil",
    "shared_media": "Médias partagés",
    "no_shared_media": "Aucun média partagé"
  },
  "community": {
    "compose_placeholder": "Qu'est-ce qui vous préoccupe en ce moment ?",
    "compose_default_user": "Vous",
    "compose_photo_perm_title": "Accès aux photos",
    "compose_photo_perm_desc": "Veuillez autoriser l'accès à vos photos dans les Réglages iOS.",
    "image": "Image",
    "cancel": "Annuler",
    "share": "Partager",
    "no_posts": "Soyez le premier à partager quelque chose",
    "cat_all": "Tous",
    "cat_games": "Jeux",
    "cat_domain": "Votes de domaines",
    "cat_lyra": "Lyra",
    "cat_rebreak": "ReBreak",
    "like": "J'aime",
    "comment": "Commenter",
    "comments_title": "Commentaires",
    "comments_empty": "Aucun commentaire pour l'instant — soyez le premier !",
    "reply": "Répondre",
    "reply_to": "Réponse à",
    "send": "Envoyer",
    "comment_placeholder": "Écrire un commentaire…",
    "filter": "Filtrer",
    "published": "Publié",
    "post_failed": "Impossible de publier la publication.",
    "anonymous_label": "Anonyme",
    "tier_starter": "Starter",
    "tier_pro": "Pro",
    "tier_legend": "Legend",
    "bot_admin": "Admin",
    "bot_ai": "IA",
    "reposted_suffix": "a repartagé",
    "domain_proposal_label": "Proposition de liste de blocage",
    "domain_added_to_blocklist": "Ajouté à la liste de blocage globale",
    "domain_added": "Dans la liste de blocage globale",
    "domain_proposed": "Proposé pour inclusion",
    "domain_vote_own": "Vous ne pouvez pas voter pour votre propre proposition.",
    "vote_yes": "Oui",
    "vote_no": "Non",
    "vote_rejected": "Refusé",
    "vote_in_review": "En vérification",
    "voted_thanks": "Merci pour votre vote !"
  },
  "streak": {
    "label_one": "jour",
    "label_other": "jours",
    "label_suffix": "sans jouer"
  },
  "profile": {
    "edit_title": "Modifier le profil",
    "edit_save": "Enregistrer",
    "edit_photo_cta": "Choisir votre propre photo",
    "edit_photo_perm_title": "Accès aux photos",
    "edit_photo_perm_desc": "Veuillez autoriser l'accès à vos photos dans les Réglages iOS.",
    "edit_preset_label": "Choisir un avatar",
    "edit_nickname_label": "Pseudo",
    "edit_nickname_hint": "Visible par les autres membres — max. 32 caractères.",
    "crop_title": "Choisir le recadrage",
    "crop_confirm": "Appliquer",
    "crop_hint": "Déplacez et zoomez l'image pour sélectionner la zone de recadrage souhaitée.",
    "crop_reset": "Réinitialiser",
    "streak_section_label": "SÉRIE",
    "streak_days_protected": "jours protégés",
    "streak_since": "depuis %{date}",
    "streak_longest": "Série la plus longue : %{days} jours",
    "cooldown": {
      "heading": "HISTORIQUE DES PAUSES",
      "window_label": "%{weeks} dernières sem.",
      "week_label": "S%{n}",
      "none": "Aucune pause dans les 8 dernières semaines",
      "count_one": "1 pause sur %{weeks} semaines",
      "count_other": "%{n} pauses sur %{weeks} semaines",
      "avg_last": "Ø 1 toutes les %{avg} semaines · dernière %{date}",
      "patterns": {
        "toggle_label": "Plus d'infos",
        "hour_heading": "Quand démarrez-vous des pauses ?",
        "day_heading": "Quels jours ?",
        "reason_heading": "Termes fréquents",
        "cancel_rate": "Pauses annulées : %{pct}%",
        "not_enough": "Pas encore assez de données",
        "weekday_mon": "Lun",
        "weekday_tue": "Mar",
        "weekday_wed": "Mer",
        "weekday_thu": "Jeu",
        "weekday_fri": "Ven",
        "weekday_sat": "Sam",
        "weekday_sun": "Dim",
        "hour_morning": "Matin",
        "hour_afternoon": "Après-midi",
        "hour_evening": "Soir",
        "hour_night": "Nuit"
      }
    },
    "privacy_section_title": "Confidentialité",
    "show_online_status": "Afficher le statut en ligne",
    "show_online_status_hint": "Seules les personnes que vous suivez voient si vous êtes en ligne",
    "allow_calls": "Autoriser les appels",
    "allow_calls_hint": "Seules les personnes que vous suivez en retour peuvent vous appeler. Désactivé = aucun appel"
  },
  "demographics": {
    "employment_status_employed": "salarié",
    "employment_status_self_employed": "indépendant",
    "employment_status_in_training": "en formation / études",
    "employment_status_unemployed": "sans emploi / en recherche d'emploi",
    "employment_status_retired": "retraité",
    "employment_status_homemaking": "travaux domestiques / aide à la personne",
    "employment_status_other": "autre",
    "industry_it_software": "IT / Logiciel",
    "industry_healthcare": "Santé / Médecine",
    "industry_education": "Éducation / Enseignement",
    "industry_hospitality": "Restauration / Hôtellerie",
    "industry_construction": "Construction / Artisanat",
    "industry_banking_finance": "Banque / Finance",
    "industry_sales_marketing": "Vente / Marketing",
    "industry_public_admin": "Administration publique",
    "industry_logistics": "Logistique / Transport",
    "industry_creative_media": "Créatif / Médias",
    "industry_other": "autre",
    "tenure_less_1y": "moins d'1 an",
    "tenure_1_3y": "1-3 ans",
    "tenure_3_5y": "3-5 ans",
    "tenure_5_10y": "5-10 ans",
    "tenure_more_10y": "plus de 10 ans",
    "shift_work_yes": "Oui",
    "shift_work_no": "Non",
    "shift_work_unknown": "n/a",
    "section_beruf": "EMPLOI",
    "section_wohnort": "LIEU DE RÉSIDENCE",
    "field_status": "Statut",
    "field_shift_work": "Travail en équipes",
    "field_industry": "Secteur",
    "field_job_tenure": "Dans ce poste depuis",
    "field_bundesland": "Région",
    "field_city": "Ville",
    "picker_employment_status": "Statut professionnel",
    "picker_industry": "Secteur d'activité",
    "picker_job_tenure": "Durée dans le poste actuel",
    "picker_bundesland": "Région"
  },
  "devices": {
    "section_title_this": "Cet appareil",
    "section_title_others": "Autres appareils protégés",
    "subtitle_legend": "Protection sans faille sur jusqu'à 5 appareils — 3 mobiles, 2 ordinateurs.",
    "subtitle_free": "Appareil actuel protégé.",
    "add_mac": "Ajouter un Mac",
    "add_windows": "Ajouter Windows (bientôt)",
    "upgrade_cta": "Passer à Legend",
    "status_pending": "Prêt à installer",
    "status_active": "Actif",
    "status_revoked": "Supprimé",
    "label_placeholder": "ex. MacBook Pro",
    "label_default": "MacBook Pro",
    "label_question": "Comment appeler ce Mac ?",
    "prepare_profile": "Préparer le profil",
    "lyra_intro": "Trois étapes. Je vous guide à travers chacune — si quelque chose ne va pas, appuyez sur Aide.",
    "step_1_title": "Télécharger le profil",
    "step_1_body": "Appuyez sur le bouton ci-dessous. Si vous êtes sur votre Mac, cela ouvre directement le fichier de profil. Sur votre téléphone ? Vous obtiendrez un QR code — à scanner sur votre Mac pour obtenir le fichier.",
    "step_2_title": "Installer le profil",
    "step_2_body": "Sur le Mac : double-cliquez sur le fichier téléchargé → Les Réglages système s'ouvrent → \"Installer le profil\" → saisir votre mot de passe Mac → terminé.",
    "step_3_title": "Utiliser un compte standard",
    "step_3_body": "Important : utilisez un compte standard sur le Mac, pas administrateur. Si vous avez besoin de supprimer le profil en urgence, vous aurez besoin du mot de passe administrateur — idéalement détenu par quelqu'un en qui vous avez confiance (partenaire, ami). C'est la vraie couche de protection.",
    "step_4_title": "Terminé",
    "step_4_body": "Une fois installé, appuyez sur \"Je l'ai installé\" — je comptabiliserai alors le Mac comme appareil protégé.",
    "download_button": "Télécharger le profil sur le Mac",
    "confirm_installed": "Je l'ai installé ✓",
    "need_help": "J'ai besoin d'aide",
    "success_title": "Mac protégé !",
    "success_body": "Vous pouvez ajouter d'autres appareils quand vous le souhaitez.",
    "remove_warning_title": "Supprimer le profil manuellement",
    "remove_warning_body": "Nous ne pouvons pas supprimer le profil à distance. Sur le Mac : Réglages système → Profils → ReBreak → Supprimer (mot de passe administrateur requis).",
    "add_device": "Ajouter un appareil",
    "progress_label": "%{count} sur %{max} appareils",
    "progress_at_limit": "Maximum atteint",
    "add_windows_enabled": "Ajouter un PC Windows",
    "windows_label_question": "Comment appeler ce PC Windows ?",
    "windows_label_default": "PC Windows",
    "windows_label_placeholder": "ex. PC de jeux",
    "windows_lyra_intro": "Cinq étapes rapides. Je vous guide à travers chacune — si quelque chose ne fonctionne pas, appuyez sur Aide.",
    "windows_step_1_title": "Télécharger le fichier",
    "windows_step_1_body": "Appuyez sur le bouton ci-dessous — sur votre PC Windows. Le fichier .reg sera téléchargé.",
    "windows_step_2_title": "Exécuter le fichier .reg",
    "windows_step_2_body": "Double-cliquez sur le fichier .reg téléchargé. Windows demande : 'Voulez-vous ajouter des clés au Registre ?' → Cliquez sur 'Oui'.",
    "windows_step_3_title": "Confirmer l'invite UAC",
    "windows_step_3_body": "Si une invite UAC bleue apparaît : cliquez sur 'Oui'. C'est la confirmation administrateur.",
    "windows_step_4_title": "Activer le DNS",
    "windows_step_4_body": "Ouvrez les Paramètres Windows → Réseau et Internet → cliquez sur votre Wi-Fi → Attribution du serveur DNS → 'Modifier' → choisissez 'Chiffré uniquement (DNS sur HTTPS)' → sélectionnez 'rebreak-...' dans la liste.",
    "windows_step_5_title": "Terminé",
    "windows_step_5_body": "Une fois la sélection DNS enregistrée, appuyez sur 'Je l'ai installé' et je comptabiliserai votre PC comme appareil protégé.",
    "windows_download_button": "Télécharger le fichier sur le PC Windows",
    "windows_success_title": "PC Windows protégé !",
    "windows_success_body": "Vous pouvez ajouter d'autres appareils quand vous le souhaitez.",
    "windows_remove_warning_body": "Nous ne pouvons pas supprimer l'entrée de registre à distance. Sur le PC : Regedit → HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\DoHSvc → supprimer la clé.",
    "bound_badge": "Lié",
    "release_request_title": "Libérer l'appareil ?",
    "release_request_body": "L'appareil sera libéré après 24 heures. Vous pouvez annuler la libération à tout moment avant cela.",
    "release_request_confirm": "Démarrer la libération",
    "release_countdown": "Libération dans %{remaining}",
    "release_cancel": "Annuler la libération",
    "release_cancel_confirm": "Vraiment annuler la libération ?",
    "release_cancel_body": "L'appareil restera lié à votre compte.",
    "release_cancel_cta": "Oui, annuler",
    "subtitle_pro": "Protection pour ton téléphone et ton ordinateur — là où ça compte vraiment.",
    "progress_mobile": "Mobile (iOS / Android)",
    "progress_desktop": "Ordinateur (Mac / Windows)"
  },
  "plan": {
    "change": {
      "header_upgrade": "Vous passez à {{to}}.",
      "header_downgrade": "Vous passez de {{from}} à {{to}}.",
      "section_gains": "Ce que vous obtenez",
      "section_keeps": "Ce qui reste pareil",
      "section_changes": "Ce qui change",
      "downgrade_reassurance": "Votre protection de base continue de fonctionner.",
      "downgrade_no_delete_title": "Rien n'est supprimé.",
      "downgrade_no_delete_body": "Tout ce qui est mis en pause revient immédiatement si vous repassez à un plan supérieur.",
      "downgrade_recovery_note": "Si ce changement affaiblit votre protection à un moment où vous vous sentez incertain — écrivez à Lyra. Ou écrivez-nous. Nous trouverons une solution.",
      "billing_hint": "Gérez votre abonnement sur rebreak.org.",
      "grace_days_one": "expire dans {{count}} jour",
      "grace_days_other": "expire dans {{count}} jours",
      "cta_confirm_upgrade": "C'est parti",
      "cta_confirm_downgrade": "Compris, continuer",
      "cta_stay": "Rester sur {{plan}}",
      "action_keep": "reste",
      "action_limited": "sera limité",
      "action_paused": "sera mis en pause",
      "action_grace": "Période de grâce",
      "action_degraded": "protection en cours d'expiration",
      "action_unlocked": "déverrouillé"
    }
  },
  "plan_limit": {
    "mail_banner_title": "Boîtes mail au-dessus de la limite du plan",
    "mail_banner_body_one": "Vous avez {{used}} boîte mail, {{plan}} en protège {{max}} — {{over}} est en pause.",
    "mail_banner_body_other": "Vous avez {{used}} boîtes mail, {{plan}} en protège {{max}} — {{over}} sont en pause.",
    "mail_account_paused": "En pause (passage à un plan inférieur)",
    "mail_add_disabled_hint": "Supprimez d'abord une boîte mail ou passez à un plan supérieur.",
    "blocker_domain_over_limit": "Vous avez {{used}} domaines personnalisés, {{plan}} en autorise {{max}} — tous restent actifs, vous ne pouvez pas en ajouter de nouveaux avant d'être sous {{max}}.",
    "blocker_add_disabled_hint": "Supprimez d'abord un domaine ou passez à un plan supérieur.",
    "blocker_basic_protection": "Protection de base active — protection complète contre tous les sites de jeux d'argent connus : Pro/Legend.",
    "device_degraded_title": "Protection expirée",
    "device_degraded_body": "Le profil est toujours installé sur l'appareil. Supprimez-le manuellement ou repassez à Legend.",
    "device_add_limit_hint": "Tous les {{max}} emplacements d'appareils sont occupés. Supprimez un appareil ou passez à un plan supérieur.",
    "device_add_limit_short": "Limite atteinte"
  },
  "gameOver": {
    "title": "Partie terminée",
    "score": "Score",
    "best": "Record",
    "newBest": "Nouveau record",
    "retry": "Rejouer",
    "exit": "Quitter",
    "motivational_0": "Vous vous êtes accordé une courte pause. Ça compte.",
    "motivational_1": "Chaque minute de concentration est une minute pour vous.",
    "motivational_2": "Entraîner votre attention — c'est exactement ce que vous venez de faire.",
    "motivational_3": "Bien joué. Et bien que vous soyez là.",
    "motivational_4": "Petites pauses, grand impact.",
    "lyra_title_record": "Nouveau record !",
    "lyra_body_record": "Vous vous êtes surpassé. Impressionnant.",
    "lyra_title_good": "Excellent !",
    "lyra_body_good": "Vous étiez pleinement dans le flux — l'envie n'avait aucune chance.",
    "lyra_title_ok": "Continuez",
    "lyra_body_ok": "Chaque partie vous fait avancer. Restez-y.",
    "lyra_title_low": "La prochaine fois",
    "lyra_body_low": "Être là compte déjà. Vous y arriverez.",
    "rating_saved": "Avis enregistré",
    "save_rating": "Enregistrer l'avis",
    "feedback_placeholder": "Qu'avez-vous aimé ou trouvé manquant ?",
    "share_result": "Partager dans la communauté",
    "share_to_community": "Partager votre résultat",
    "share_challenge": "Pouvez-vous faire mieux ?",
    "share_loading": "Lyra rédige...",
    "post_to_community": "Publier",
    "posted": "Publié dans le fil communautaire",
    "post_error": "Publication échouée, veuillez réessayer",
    "regen_suggestion": "Nouvelle suggestion",
    "regen_confirm_title": "Effacer le texte ?",
    "regen_confirm_body": "Effacer votre texte actuel et obtenir une nouvelle suggestion ?",
    "regen_confirm_ok": "Effacer"
  },
  "alert": {
    "error_generic": "Une erreur est survenue — veuillez réessayer.",
    "error_file_too_large": "L'image est trop grande.",
    "details_label": "Détails",
    "compress_error_title": "Impossible de traiter l'image"
  },
  "help": {
    "faq_title": "FAQ",
    "faq_q1": "Was ist Rebreak?",
    "faq_a1": "Rebreak ist eine deutsche App, die Menschen mit problematischem Glücksspielverhalten dabei unterstützt, clean zu bleiben. Sie kombiniert einen technischen Sperr-Mechanismus (Blocker) mit einem KI-Coach (Lyra), Community-Support und einem Mail-Schutz — alles DSGVO-konform auf deutschen Servern.",
    "faq_q2": "Comment fonctionne le bloqueur ?",
    "faq_a2": "Le bloqueur utilise deux couches de protection. La couche 1 est un filtre URL qui bloque environ 330 000 domaines de jeux d'argent directement sur votre iPhone — aucun trafic ne quitte votre appareil. La couche 2 est un second filet avec une liste curatée des principaux sites de jeux de votre pays et vos propres domaines personnalisés. Désactiver la protection nécessite une pause de 24 heures.",
    "faq_q3": "Wie funktioniert das Mac-DNS-Profil?",
    "faq_a3": "Du lädst ein Konfigurationsprofil herunter, das auf deinem Mac einen DNS-over-HTTPS-Filter aktiviert. Glücksspiel-Domains werden dadurch systemweit auf dem Mac geblockt. Das Profil entfernen erfordert das Admin-Passwort.",
    "faq_q4": "Kann ich mein Abo kündigen?",
    "faq_a4": "Ja. Du verwaltest dein Abo unter rebreak.org/account — dort kannst du kündigen, downgraden oder upgraden.",
    "faq_q5": "Was passiert mit meinen Daten?",
    "faq_a5": "Deine Daten werden ausschließlich auf Servern in Deutschland (Hetzner) gespeichert. Wir verkaufen keine Daten an Dritte.",
    "faq_q6": "Wie melde ich Bugs oder Feedback?",
    "faq_a6": "Schreib uns direkt an hilfe@rebreak.org. Wir antworten innerhalb von 24–48h an Werktagen.",
    "faq_q7": "Et si j'ai ajouté un domaine par erreur ?",
    "faq_a7": "Les domaines personnalisés sont permanents — vous ne pouvez pas les supprimer vous-même. Cela vous protège des décisions impulsives. Si vous en avez vraiment ajouté un par erreur, écrivez-nous à hilfe@rebreak.org et nous le corrigerons manuellement.",
    "faq_q8": "Was ist DiGA?",
    "faq_a8": "DiGA steht für Digitale Gesundheitsanwendung — eine Zertifizierung des BfArM. DiGA-zertifizierte Apps können von Ärzten verschrieben und von Krankenkassen erstattet werden.",
    "faq_q9": "Qu'est-ce que le mode Lock ?",
    "faq_a9": "Le mode Lock est l'option de protection la plus forte. ReBreak est installé de manière à ce que vous ne puissiez plus supprimer l'application vous-même ni désactiver le filtre seul. Idéal pour les phases où vous sentez que vous ne pouvez pas vous faire confiance et que le risque de contournement est élevé. Activation via une courte étape de configuration dans les Réglages iPhone.",
    "faq_q10": "Comment savoir si mon iPhone est en mode Lock ?",
    "faq_a10": "Allez dans Réglages → Général → Informations. Si en haut il est écrit \"Cet iPhone est supervisé et géré par Rebreak GmbH\" — le mode Lock est actif. Si rien n'est affiché : vous utilisez le mode normal (via VPN).",
    "faq_q11": "Comment activer le mode Lock ?",
    "faq_a11": "Vous avez besoin de Safari et de quelques minutes. Nous vous enverrons les instructions par notification push — dites-le simplement à Lyra quand vous êtes prêt. Important : une fois activé, seul votre trustee (ou un câble USB + Mac) peut lever le verrou. C'est voulu — la protection fonctionne parce qu'elle résiste aux impulsions de contournement.",
    "faq_q12": "Comment désactiver le mode Lock ?",
    "faq_a12": "Pas depuis l'iPhone seul — c'est le principe de conception. Options : 1) Votre trustee a les instructions. 2) Mac + câble USB + Apple Configurator. 3) Mode de récupération iPhone + réinitialisation d'usine (toutes les données perdues). Avant de faire cela : parlez à Lyra. Parfois un recadrage suffit.",
    "faq_q13": "Que se passe-t-il si je perds mon iPhone ou en change ?",
    "faq_a13": "Une réinitialisation d'usine ou un wipe supprime le mode Lock avec tout le reste. Sur un nouvel iPhone, vous devrez reconfigurer le mode Lock. En cas de perte puis de retrouvaille, tout continue comme avant.",
    "contact_title": "Contact",
    "contact_email_label": "Support par e-mail",
    "contact_email_desc": "Écrivez-nous pour toute aide technique, retour ou demande liée à la confidentialité. Nous répondons sous 24–48h les jours ouvrés.",
    "contact_email_cta": "Envoyer un e-mail",
    "contact_address_label": "Adresse",
    "contact_address_block": "Rebreak\nhilfe@rebreak.org\n\nAllemagne",
    "about_title": "À propos de Rebreak",
    "about_headline": "Rebreak",
    "about_body": "Rebreak est une application allemande contre l'addiction aux jeux d'argent — nous construisons le premier accompagnateur certifié DiGA pour le jeu problématique.\n\nNotre approche combine une protection technique (bloqueur, filtre e-mail, profils DNS) avec un coach IA basé sur les méthodes de thérapie cognitivo-comportementale. Tout fonctionne sur des serveurs allemands chez Hetzner, conformément au RGPD.\n\nRebreak ne remplace pas une thérapie professionnelle. Nous nous voyons comme un complément — un outil disponible 24h/7j pour les moments où vous êtes seul face à l'envie.",
    "about_fact_diga": "Parcours de certification DiGA actif",
    "about_fact_servers": "Serveurs exclusivement en Allemagne (Hetzner)",
    "about_fact_privacy": "Conforme au RGPD — aucune transmission de données à des tiers",
    "crisis_title": "Aide en crise",
    "crisis_section_gambling": "Conseil en addiction aux jeux",
    "crisis_section_general": "Soutien en crise générale",
    "crisis_bzga_label": "BZgA Spielsucht-Hotline",
    "crisis_bzga_sublabel": "0800 1 372 700 · gratuit · 24h/24",
    "crisis_checkdein_label": "check-dein-spiel.de",
    "crisis_checkdein_sublabel": "Conseil en ligne & autotest",
    "crisis_anonyme_label": "Anonyme Spieler",
    "crisis_anonyme_sublabel": "www.anonyme-spieler.org · groupes d'entraide",
    "crisis_seelsorge_label": "Telefonseelsorge",
    "crisis_seelsorge_sublabel": "0800 111 0 111 · gratuit · 24h/24",
    "crisis_emergency_label": "Pensées suicidaires aiguës ?",
    "crisis_emergency_desc": "Si vous ou quelqu'un près de vous est en danger immédiat, appelez immédiatement les secours.",
    "crisis_emergency_cta": "112 — Urgences",
    "crisis_disclaimer": "Ces services sont indépendants de Rebreak. Nous vous orientons mais n'assurons pas de conseil nous-mêmes."
  },
  "call": {
    "title": "Appel",
    "calling": "Appel sortant…",
    "incoming": "Appel entrant",
    "connecting": "Connexion…",
    "declined": "Refusé",
    "no_answer": "Pas de réponse",
    "failed": "Échec de l'appel",
    "ended": "Appel terminé",
    "decline": "Refuser",
    "accept": "Accepter",
    "mute": "Muet",
    "unmute": "Son",
    "speaker_on": "Haut-parleur",
    "speaker_off": "Écouteur",
    "hang_up": "Raccrocher",
    "needs_rebuild": "Les appels nécessitent une mise à jour — disponibles après la prochaine build."
  },
  "presence": {
    "online": "En ligne",
    "typing": "écrit",
    "just_now": "à l'instant",
    "minutes_ago": "il y a %{minutes} min",
    "hours_ago": "il y a %{hours} h",
    "days_ago": "il y a %{days} j"
  },
  "diga_milestone": {
    "badge": "Jour %{days} sans jeu",
    "title": "%{days} jours sans jeux d'argent",
    "body": "C'est extraordinaire — et tu nous aides à faire certifier ReBreak comme DiGA (Application de Santé Numérique). Nous avons besoin de données démographiques anonymes. Volontaire, 2 minutes.",
    "cta": "Remplir les données",
    "later": "Peut-être plus tard"
  },
  "magic": {
    "tagline_mac": "Lie ton iPhone et protège ton Mac — en 30 secondes.",
    "tagline_windows": "Protection anti-jeu pour ton PC Windows — en 2 minutes.",
    "platform_question": "Quel ordinateur veux-tu protéger ?",
    "step1_title": "1. Télécharger %{app}",
    "step1_body_mac": "Ouvre-le sur ton Mac (min. macOS %{version}).",
    "step1_body_windows": "Ouvre-le sur ton PC Windows (min. Windows %{version}).",
    "open_download": "Ouvrir le téléchargement",
    "send_link_mac": "Envoyer le lien à mon Mac",
    "send_link_windows": "Envoyer le lien à mon PC",
    "step2_title": "2. Générer le code d'appairage",
    "limit_reached": "Limite d'ordinateurs atteinte (%{count}/%{max}).",
    "limit_hint_legend": "Retire d'abord un ordinateur connecté.",
    "limit_hint_pro": "Retire d'abord un ordinateur — ou passe à Legend pour 2 ordinateurs.",
    "code_explainer": "Génère un code à 6 chiffres et saisis-le dans %{app}. Valable 10 minutes, à usage unique.",
    "generating": "Génération…",
    "generate_new": "Générer un nouveau code",
    "generate": "Générer le code",
    "enter_in_app": "À saisir dans %{app} :",
    "expires_in": "Expire dans %{time}",
    "copy": "Copier",
    "discard_code": "Abandonner le code",
    "connected_title": "Ordinateurs connectés",
    "connected_empty": "Aucun ordinateur connecté pour l'instant. Dès que tu utilises un code d'appairage dans l'app Mac ou Windows, il apparaît ici.",
    "generate_error": "Échec de la génération",
    "app_mac": "l'app Mac",
    "app_windows": "l'app Windows",
    "manual_fallback": "Sans app ? Installer le profil DNS manuellement"
  }
}
