{
  "nav": {
    "home": "Accueil",
    "settings": "Réglages",
    "profile": "Mon profil",
    "friends": "Amis",
    "explore": "Explorer les salons",
    "newDM": "Nouvelle discussion",
    "away": "Absence",
    "quit": "Quitter le tchat",
    "tabRooms": "Salons"
  },
  "sidebar": {
    "all": "Tous",
    "channels": "Salons",
    "dms": "Privés",
    "search": "Rechercher",
    "noChannel": "Choisis un salon pour commencer à discuter.",
    "publicRoom": "Salon public",
    "system": "Système",
    "privateMessage": "Message privé",
    "leaveRoom": "Quitter le salon",
    "closeConversation": "Fermer la conversation",
    "privateMessages": "Messages privés",
    "noResults": "Aucun résultat",
    "viewProfile": "Voir mon profil",
    "online": "En ligne",
    "away": "Absent",
    "status": "Statut",
    "awayDefault": "Absent pour le moment",
    "awayReason": "Raison de votre absence",
    "awaySet": "Définir",
    "markPresent": "Marquer présent",
    "markAway": "Marquer absent",
    "presence": "Absence",
    "newChat": "Nouvelle discussion",
    "profileTip": "{{nick}} — voir mon profil"
  },
  "topbar": {
    "search": "Rechercher",
    "members": "Voir les membres",
    "manage": "Gérer le salon",
    "modes": "Modes du salon",
    "notifications": "Notifications",
    "closeSearch": "Fermer la recherche",
    "membersCount": "Membres · {{n}}",
    "publicChannel": "Salon public · {{n}} membres",
    "commonChannels": "Salons communs",
    "searchIn": "Rechercher dans {{label}}…",
    "serverTerminal": "Terminal serveur · tape une commande IRC (/list, /whois, /join…)",
    "muteOn": "Couper les notifications",
    "muteOff": "Réactiver les notifications",
    "membersTitle": "Membres"
  },
  "connect": {
    "onlineBadge": "{{n}} personnes en ligne",
    "pseudoPlaceholder": "Écris ton pseudo pour entrer…",
    "enter": "Entrer",
    "connecting": "Connexion au tchat…",
    "joinHint": "Tu entres dans",
    "registered": "Pseudo déjà enregistré ?",
    "hidePassword": "Masquer le mot de passe",
    "passwordPlaceholder": "Mot de passe (si ton pseudo est enregistré)",
    "passwordLabel": "Mot de passe",
    "passkeyButton": "Se connecter avec une clé d'accès",
    "passkeyHint": "Touch ID, Face ID, Windows Hello ou une clé de sécurité — sans mot de passe.",
    "noData": "Aucune inscription",
    "encrypted": "Chiffré (TLS)",
    "tagline": "Le tchat français,",
    "taglineEm": "en direct.",
    "subtitle": "Salons publics, messages privés, modération. Choisis un pseudo, ou crée un compte, et rejoins la conversation, avec toute la France.",
    "channelAria": "Salon à rejoindre",
    "nickHint": "2 à 30 caractères, sans espaces",
    "sexF": "Femme",
    "sexH": "Homme",
    "sexAria": "Genre",
    "agePlaceholder": "Âge",
    "ageAria": "Ton âge",
    "ageYears": "{{age}} ans",
    "cityPlaceholder": "Ville",
    "cityAria": "Ta ville",
    "wantLabel": "J'ai envie de…",
    "wantChat": "Tchatter",
    "wantLove": "Rencontres",
    "wantPlay": "Jouer",
    "ircv3": "IRCv3",
    "helpButton": "Aide & FAQ",
    "forgotButton": "Mot de passe oublié ?",
    "createButton": "Créer un compte",
    "faqTitle": "Aide & FAQ",
    "error_error": "Connexion impossible. Réessaie dans un instant.",
    "error_closed": "La connexion a été fermée.",
    "error_sasl": "Pseudo ou mot de passe incorrect.",
    "live": "en direct",
    "typing": "{{who}} écrit",
    "joinLine": "{{who}} a rejoint {{chan}}",
    "nickAria": "Pseudo",
    "ambient": {
      "0": "coucou tout le monde 👋",
      "1": "quelqu’un dans le coin ce soir ?",
      "2": "j’adore l’ambiance ici 🥰",
      "3": "salut Marina !",
      "4": "bonsoir la compagnie 🌙",
      "5": "on parle de quoi ce soir ?",
      "6": "haha excellent 😂",
      "7": "bienvenue Jade 🙌",
      "8": "quelqu’un pour papoter ?",
      "9": "cette playlist envoie 🎶",
      "10": "première fois ici, c’est sympa !",
      "11": "oui carrément 😌",
      "12": "on est nombreux ce soir 😮",
      "13": "bonsoir tout le monde ✨"
    }
  },
  "recover": {
    "title": "Mot de passe oublié",
    "startLead": "Saisis ton pseudo et l'e-mail de ton compte. Si les deux correspondent, on t'envoie un code.",
    "account": "Ton pseudo",
    "email": "Ton e-mail",
    "sendCode": "Envoyer le code",
    "codeLead": "Entre le code à 6 chiffres reçu par e-mail.",
    "code": "Code de vérification",
    "verify": "Valider",
    "resend": "Renvoyer un code",
    "resetLead": "Choisis un nouveau mot de passe (8 caractères minimum).",
    "newPassword": "Nouveau mot de passe",
    "confirmPassword": "Confirme le mot de passe",
    "finish": "Changer et se connecter",
    "errNet": "Une erreur est survenue. Réessaie.",
    "errCode": "Code invalide ou expiré.",
    "errWeak": "Mot de passe trop court (8 caractères minimum).",
    "errMatch": "Les deux mots de passe ne correspondent pas."
  },
  "messages": {
    "reply": "En réponse à",
    "react": "Réagir",
    "respond": "Répondre",
    "delete": "Supprimer",
    "hideJoins": "Masquer les entrées/sorties",
    "unread": "Nouveaux messages",
    "jumpUnread": "Nouveaux messages",
    "loadHistory": "Charger l'historique",
    "copyLink": "Copier le lien",
    "copyText": "Copier le texte",
    "info": "Info",
    "notice": "NOTICE",
    "guest": "Invité",
    "poweredBy": "Propulsé par Orbit",
    "deleted": "message supprimé",
    "dmStarted": "Cette discussion privée a démarré dans le salon {{chan}}",
    "profileOf": "Profil de {{nick}}",
    "fromChannel": "Depuis le salon",
    "searchResults_one": "{{count}} résultat pour « {{q}} »",
    "searchResults_other": "{{count}} résultats pour « {{q}} »",
    "newMessages": "Nouveaux messages",
    "loadingHistory": "Chargement de l'historique…"
  },
  "modals": {
    "closeButton": "Fermer",
    "join": {
      "title": "Explorer les salons",
      "search": "Rechercher ou créer #salon…",
      "loading": "Chargement des salons…",
      "noResults": "Aucun résultat",
      "sub": "Rejoins un salon (commence par #) ou démarre un message privé avec un pseudo.",
      "placeholder": "#salon ou pseudo",
      "joinRoom": "Rejoindre le salon",
      "startDM": "Démarrer le message privé",
      "joinBtn": "Rejoindre",
      "emptyNone": "Aucun salon. Tape un nom pour en créer un.",
      "emptyFound": "Aucun salon trouvé. Tape un nom pour en créer un.",
      "refresh": "Actualiser",
      "rooms": "salons",
      "online": "en ligne",
      "sortPop": "Populaires",
      "noTopic": "Pas de sujet",
      "createRow": "Créer et rejoindre"
    },
    "dm": {
      "title": "Nouvelle discussion",
      "search": "Ajouter un pseudo…",
      "noResults": "Aucun résultat"
    },
    "friends": {
      "title": "Amis",
      "noFriends": "Aucun ami pour l'instant.",
      "sub": "Ajoute des pseudos pour être prévenu quand ils se connectent. 🔔",
      "add": "Ajouter",
      "online": "en ligne",
      "offline": "hors ligne",
      "dm": "Message privé",
      "profile": "Profil",
      "remove": "Retirer"
    },
    "report": {
      "title": "Signaler un problème",
      "sub": "Votre signalement est transmis directement à l’équipe de modération. Restez factuel.",
      "targetLabel": "Qui ou où",
      "targetPlaceholder": "pseudo ou #salon",
      "reasonLabel": "Que se passe-t-il ?",
      "reasonPlaceholder": "Décrivez le problème (spam, harcèlement, etc.)",
      "submit": "Envoyer le signalement"
    },
    "chanadmin": {
      "title": "Gérer le salon",
      "topic": "Sujet du salon…",
      "bans": "Bannissements ({{n}})",
      "noBans": "Aucun bannissement.",
      "ban": "Bannir",
      "unban": "Lever le bannissement",
      "kick": "Retirer",
      "maskPlaceholder": "*!*@masque ou pseudo…",
      "channelSearch": "#salon ou pseudo",
      "setTopic": "Définir",
      "editTopic": "Cliquez pour modifier le sujet",
      "noTopicYet": "Aucun sujet — cliquez pour en définir un",
      "info": "Informations",
      "modes": "Modes du salon",
      "subject": "Sujet",
      "manage": "Gérer {{chan}}",
      "settings": "Réglages",
      "by": "par {{by}}",
      "members": "Membres",
      "ops": "Opérateurs",
      "created": "Créé le",
      "access": "Accès & mot de passe",
      "key": "Mot de passe",
      "keyPlaceholder": "Clé du salon…",
      "limit": "Limite",
      "limitPlaceholder": "Nombre max…",
      "apply": "Appliquer",
      "clear": "Retirer",
      "topicBy": "Défini par",
      "tabOverview": "Aperçu",
      "tabModes": "Modes",
      "extbans": "Bans étendus",
      "extbanType": "Type de ban étendu",
      "noExtbans": "Aucun ban étendu",
      "filter": "Filtrer…",
      "extRestrict": "Restrictions",
      "extMatch": "Bannir par",
      "example": "Exemple :",
      "exempt": "Exempter",
      "allow": "Autoriser",
      "plainMask": "(masque)"
    }
  },
  "settings": {
    "title": "Réglages",
    "sections": {
      "account": "Compte",
      "appearance": "Apparence",
      "notifications": "Notifications"
    },
    "account": {
      "login": "Se connecter",
      "register": "Créer un compte",
      "logout": "Se déconnecter du compte",
      "accountName": "Nom du compte",
      "password": "Mot de passe",
      "currentPassword": "Mot de passe actuel",
      "newPassword": "Nouveau mot de passe",
      "minPassword": "Min. 6 caractères",
      "changeNick": "Changer de pseudo",
      "nickHint": "Change le pseudo affiché dans les salons.",
      "emailPlaceholder": "toi@exemple.fr",
      "totpCode": "Ex : 123456",
      "verificationCode": "Code de vérification",
      "resend": "Renvoyer le code",
      "restart": "Recommencer",
      "connecting": "Connexion…",
      "validating": "Validation…",
      "security": "Sécurité",
      "status": "Statut",
      "loggedIn": "Connecté",
      "loggedInAs": "Connecté · {{nick}}",
      "identifiedAs": "Tu es identifié comme {{nick}}",
      "unknownError": "Compte inconnu ou mot de passe incorrect.",
      "saslFailed": "Pseudo ou mot de passe incorrect.",
      "antiBot": "Vérification anti-robot",
      "wrongPassword": "Mot de passe incorrect.",
      "join": "Rejoindre",
      "channelHint": "Rejoins un salon (commence par #)",
      "channelPlaceholder": "ex : tchatou, rdv, urgent",
      "fromChannel": "Depuis le salon",
      "accountPlaceholder": "Nom du compte",
      "passwordPlaceholder": "Mot de passe",
      "loginIntro": "Identifie-toi à ton compte enregistré, quel que soit ton pseudo actuel — on te renomme automatiquement.",
      "update": "Mettre à jour",
      "updating": "Maj…",
      "leaveChat": "Quitter le tchat",
      "logoutAccount": "Se déconnecter du compte",
      "changeBtn": "Changer",
      "guestNotConnected": "Invité — non connecté",
      "identifiedPre": "Tu es identifié comme",
      "signin": "Se connecter",
      "verifyTitle": "Vérification",
      "verify": "Valider",
      "antiBotDesc": "Valide ce rapide défi. Ton code te sera ensuite envoyé par e-mail.",
      "challengeLoadError": "Le défi anti-robot n’a pas pu se charger. Réessaie.",
      "challengeOpen": "Ouvrir la page de vérification →",
      "codeSentHtml": "📧 Un code a été envoyé à <strong>{{email}}</strong>. Saisis-le pour activer <strong>{{account}}</strong>.",
      "yourEmail": "ton e-mail",
      "createTitle": "Créer un compte",
      "creating": "Création…",
      "createCta": "Créer mon compte",
      "registerIntro": "Choisis un pseudo, ton e-mail et un mot de passe. Tu recevras un code pour valider.",
      "nickLabel": "Pseudo",
      "nickPlaceholder": "Pseudo",
      "emailLabel": "E-mail",
      "loginTitle": "Se connecter",
      "leaveConfirm": "Vous serez déconnecté du tchat. Quitter maintenant ?"
    },
    "appearance": {
      "theme": "Thème",
      "language": "Langue",
      "timeFormat": "Format de l'heure",
      "compact": "Messages compacts",
      "textSize": "Taille du texte",
      "compactHint": "Messages plus denses, plus d’infos à l’écran.",
      "hoverActions": "Actions au survol",
      "hoverActionsHint": "Boutons de réaction, réponse et épingle au survol d'un message."
    },
    "notifications": {
      "browser": "Notifications navigateur",
      "push": "Notifications push",
      "browserLabel": "Notifications navigateur",
      "browserGranted": "Tu seras alerté hors de l’onglet.",
      "browserDenied": "Bloquées dans ton navigateur.",
      "browserDefault": "Reçois une alerte même hors de l’onglet.",
      "enabled": "Activées",
      "enable": "Activer",
      "pushLabel": "Notifications push",
      "pushUnsupported": "Non pris en charge par ce navigateur.",
      "pushUnavailable": "Indisponible sur ce serveur.",
      "pushDenied": "Autorisation refusée.",
      "pushFailed": "Échec de l’activation.",
      "pushActive": "Actif — alertes même app fermée (au mieux si connecté à ton compte).",
      "pushHint": "Reçois les MP et mentions même quand l’app est fermée.",
      "sounds": "Sons",
      "soundsHint": "Un bip sur mention ou message privé.",
      "hideJoins": "Masquer entrées / sorties",
      "hideJoinsHint": "Cache les « a rejoint / a quitté ».",
      "linkPreviews": "Aperçus de liens",
      "linkPreviewsHint": "Affiche des aperçus pour les liens, images, audio et vidéos.",
      "highlightLabel": "Mots-clés de surbrillance",
      "highlightPlaceholder": "ex : tchatou, rdv, urgent",
      "highlightHint": "En plus de ton pseudo, ces mots déclenchent une alerte (séparés par des virgules).",
      "confirmClose": "Confirmer avant de fermer",
      "confirmCloseHint": "Afficher la confirmation propre à votre navigateur avant de fermer ou recharger quand vous êtes connecté."
    },
    "misc": {
      "back": "Retour",
      "poweredBy": "Propulsé par Orbit",
      "aboutSub": "client IRCv3 · code & projet ↗"
    },
    "sectionDesc": {
      "profile": "Pseudo & avatar",
      "appearance": "Thème & affichage",
      "notifications": "Alertes & sons",
      "account": "Connexion & sécurité"
    }
  },
  "profile": {
    "refresh": "Actualiser",
    "close": "Fermer",
    "away": "Absent",
    "noInfo": "Aucune information publique disponible.",
    "noMembers": "Aucun membre",
    "filterMembers": "Filtrer les membres",
    "openDM": "Message privé",
    "openProfile": "Profil",
    "cancel": "Annuler"
  },
  "language": {
    "label": "Langue",
    "en": "English",
    "fr": "Français",
    "de": "Deutsch",
    "tr": "Türkçe",
    "ne": "नेपाली",
    "es": "Español",
    "ru": "Русский",
    "it": "Italiano",
    "pt-PT": "Português (Portugal)",
    "pt-BR": "Português (Brasil)"
  },
  "whois": {
    "section": "Informations",
    "realname": "Nom affiché",
    "identifier": "Identifiant",
    "server": "Serveur",
    "channels": "Salons en commun",
    "signon": "Connecté depuis",
    "idle": "Inactif depuis",
    "connection": "Connexion",
    "secureTls": "Sécurisée (TLS)",
    "umodes": "Modes utilisateur",
    "certfp": "Empreinte du certificat",
    "verified": "Compte vérifié",
    "groups": "Groupes",
    "score": "Score",
    "info": "Info",
    "statStatus": "Statut",
    "statCommon": "Salons communs",
    "statSecure": "Sécurisé",
    "loading": "chargement du profil…",
    "visitor": "visiteur",
    "registeredTitle": "Enregistré : {{account}}",
    "badgeOp": "Opérateur",
    "badgeRegistered": "Enregistré",
    "badgeGuest": "Invité",
    "friend": "Ami",
    "friendAdd": "Ajouter en ami",
    "ignore": "Ignorer",
    "unignore": "Ne plus ignorer",
    "report": "Signaler",
    "moderation": "Modération",
    "kick": "Expulser",
    "ban": "Bannir",
    "opAdd": "Op",
    "opRemove": "Retirer op",
    "voice": "Voix",
    "dm": "Message privé",
    "online": "en ligne",
    "away": "absent",
    "offline": "hors ligne"
  },
  "security": {
    "tag": "Sécurité",
    "leakGuard": "On a intercepté ta commande d’identification : envoyée telle quelle ici, ton mot de passe aurait été visible par tout le monde dans {{channel}}. Pas d’inquiétude — on l’a transmise à {{service}} en privé, rien n’a été divulgué. La prochaine fois, connecte-toi depuis Réglages › Compte."
  },
  "system": {
    "join": "{{nick}} a rejoint le salon",
    "part": "{{nick}} a quitté le salon",
    "quit": "{{nick}} s'est déconnecté",
    "kick": "{{target}} a été expulsé par {{by}}",
    "nick": "{{nick}} est désormais {{newnick}}",
    "modes": "{{nick}} a changé les modes : {{modes}}",
    "invitePending": "Invitation en attente : {{chan}}",
    "inviteSent": "Invitation envoyée à {{nick}} pour {{chan}}",
    "awayOff": "Tu n’es plus absent.",
    "awayOn": "Tu es maintenant marqué absent.",
    "cantWriteHere": "Tu ne peux pas écrire ici — tu es banni ou le salon est modéré.",
    "cantWriteTitle": "Impossible d’écrire dans {{ch}}",
    "cantWriteBody": "Tu es banni ou le salon est modéré.",
    "bannedFrom": "Tu es banni de {{ch}} — accès refusé",
    "bannedTitle": "Banni de {{ch}}",
    "bannedBody": "Tu ne peux pas entrer dans ce salon.",
    "kickedFrom": "Tu as été expulsé de {{ch}} par {{by}}",
    "kickedTitle": "Expulsé de {{ch}}",
    "kickedByNotif": "par {{by}}",
    "hostChange": "{{nick}} a changé d’hôte : {{old}} → {{new}}",
    "netsplit": "Coupure réseau (netsplit) en cours…",
    "netjoin": "Reconnexion réseau (netjoin)…",
    "serverErrorDefault": "Connexion fermée par le serveur.",
    "serverError": "Erreur serveur : {{reason}}",
    "wallops": "WALLOPS de {{nick}} : {{msg}}",
    "killed": "Tu as été déconnecté (KILL) par {{nick}}",
    "killedTitle": "Déconnecté",
    "killedBody": "KILL par {{nick}}",
    "inviteYou": "{{nick}} t’invite à rejoindre {{chan}}",
    "inviteTitle": "Invitation",
    "inviteOther": "{{nick}} a invité {{target}}",
    "banned": "{{nick}} a banni {{mask}}",
    "unbanned": "{{nick}} a retiré le ban {{mask}}",
    "bansAdded": "Bannis : {{list}}",
    "bansRemoved": "Débannis : {{list}}",
    "reportSent": "Signalement de {{nick}} envoyé à l’équipe ({{target}}).",
    "reportFiled": "Votre signalement concernant {{target}} a été transmis à l’équipe.",
    "onlyImages": "Seules les images sont acceptées.",
    "imageTooLarge": "Image trop volumineuse (max 16 Mo).",
    "sendingImage": "Envoi de « {{name}} »…",
    "sendingVoice": "Envoi du message vocal…",
    "uploadNeedAccount": "Tu dois être connecté à un compte pour envoyer des images (/msg NickServ IDENTIFY).",
    "uploadTimeout": "Le serveur de fichiers ne répond pas.",
    "uploadViolent": "Contenu violent détecté — envoi bloqué. Les opérateurs ont été notifiés.",
    "uploadNsfw": "Contenu explicite détecté — envoi bloqué. Les opérateurs ont été notifiés.",
    "uploadInfected": "Fichier malveillant détecté — envoi bloqué. Les opérateurs ont été notifiés.",
    "uploadAvDown": "L'analyse antivirus est momentanément indisponible. Réessaie dans un instant.",
    "uploadFailed": "Échec de l’envoi ({{msg}}).",
    "shareImage": "partage une image : {{url}}",
    "shareVoice": "message vocal : {{url}}",
    "yourModes": "Tes modes : +{{modes}} ({{change}})",
    "yourModesNamed": "Tes modes : +{{modes}} ({{change}} — {{names}})",
    "pmNotif": "{{nick}} (privé)",
    "userAway": "💤 {{who}} est absent{{reason}}",
    "reconnecting": "🔌 Connexion perdue — nouvelle tentative dans {{secs}}s…"
  },
  "modeline": {
    "modeTag": "mode",
    "modeVerb": "applique",
    "topicTag": "sujet",
    "topicChanged": "a changé le sujet",
    "topicRemoved": "a retiré le sujet"
  },
  "banners": {
    "reconnecting": "Reconnexion…",
    "lostRetry": "Connexion perdue — nouvelle tentative dans {{n}} s",
    "lostReconnecting": "Connexion perdue — reconnexion…",
    "kickedTitle": "Tu as été expulsé de {{channel}}",
    "bannedTitle": "Tu es banni de {{channel}}",
    "cantWriteTitle": "Tu ne peux pas écrire dans {{channel}}",
    "kickedBy": "par {{by}}",
    "banRefused": "Accès au salon refusé.",
    "bannedOrModerated": "Tu es banni ou le salon est modéré.",
    "rejoin": "Rejoindre"
  },
  "themes": {
    "light": "Light",
    "dark": "Night",
    "orbit": "Night-green",
    "orbitDark": "Night-orange",
    "yomirc": "yomirc",
    "yomircDark": "yomirc-Night"
  },
  "chanFlags": {
    "invite": {
      "label": "Sur invitation",
      "desc": "Il faut être invité pour entrer (+i)"
    },
    "moderated": {
      "label": "Modéré",
      "desc": "Seuls les voix et ops peuvent parler (+m)"
    },
    "noExternal": {
      "label": "Pas de messages externes",
      "desc": "Seuls les membres peuvent écrire (+n)"
    },
    "topicLock": {
      "label": "Sujet protégé",
      "desc": "Seuls les ops changent le sujet (+t)"
    },
    "secret": {
      "label": "Secret",
      "desc": "Caché des listes publiques (+s)"
    },
    "private": {
      "label": "Privé",
      "desc": "Absent des listes, /whois masqué (+p)"
    },
    "blockColor": {
      "label": "Sans couleurs",
      "desc": "Bloque les codes couleur/format (+c)"
    },
    "noCtcp": {
      "label": "Sans CTCP",
      "desc": "Bloque les requêtes CTCP (+C)"
    },
    "stripColor": {
      "label": "Couleurs retirées",
      "desc": "Retire les codes couleur des messages (+S)"
    },
    "regOnly": {
      "label": "Comptes uniquement",
      "desc": "Il faut être enregistré pour entrer (+R)"
    },
    "regModerated": {
      "label": "Enregistrés pour parler",
      "desc": "Seuls les comptes enregistrés parlent (+M)"
    },
    "operOnly": {
      "label": "Opérateurs uniquement",
      "desc": "Réservé aux opérateurs IRC (+O)"
    },
    "tlsOnly": {
      "label": "TLS uniquement",
      "desc": "Connexion sécurisée obligatoire (+z)"
    },
    "noNickChange": {
      "label": "Pseudo verrouillé",
      "desc": "Interdit de changer de pseudo (+N)"
    },
    "noKnock": {
      "label": "Sans toc-toc",
      "desc": "Désactive la commande KNOCK (+K)"
    },
    "permanent": {
      "label": "Permanent",
      "desc": "Le salon persiste sans membres (+P)"
    }
  },
  "reg": {
    "needAccount": "Tu dois être connecté à un compte.",
    "passwordUpdated": "Mot de passe mis à jour (IRC + site).",
    "passwordChangeFailed": "Échec du changement de mot de passe.",
    "serviceUnavailable": "Service indisponible, réessaie plus tard.",
    "codeResent": "Un nouveau code a été demandé.",
    "antibotInfo": "Validez le défi anti-robot, puis saisissez le code reçu par e-mail.",
    "challengeOkSent": "Défi validé — un code de vérification vient de t’être envoyé par e-mail.",
    "challengeOkCheck": "Défi validé — regarde tes e-mails pour le code de vérification.",
    "challengeFail": "Échec du défi anti-robot. Réessaie.",
    "challengeUnreachable": "Impossible de contacter le service de vérification."
  },
  "numerics": {
    "401": "Aucun utilisateur de ce nom.",
    "402": "Ce serveur n’existe pas.",
    "403": "Ce salon n’existe pas.",
    "404": "Impossible d’écrire dans ce salon (banni ou modéré).",
    "405": "Tu as rejoint trop de salons.",
    "406": "Ce pseudo n’a jamais existé.",
    "412": "Aucun texte à envoyer.",
    "417": "Message trop long.",
    "421": "Commande inconnue.",
    "432": "Pseudo invalide.",
    "433": "Ce pseudo est déjà utilisé.",
    "441": "Cet utilisateur n’est pas sur le salon.",
    "442": "Tu n’es pas sur ce salon.",
    "443": "Cet utilisateur est déjà sur le salon.",
    "451": "Tu dois d’abord t’enregistrer.",
    "461": "Paramètres manquants.",
    "462": "Tu es déjà enregistré.",
    "464": "Mot de passe incorrect.",
    "465": "Tu es banni de ce serveur.",
    "471": "Salon plein.",
    "472": "Mode inconnu.",
    "473": "Salon sur invitation uniquement.",
    "474": "Tu es banni de ce salon.",
    "475": "Clé de salon incorrecte.",
    "476": "Masque de salon invalide.",
    "481": "Privilèges insuffisants.",
    "482": "Tu dois être opérateur du salon.",
    "491": "Aucun accès opérateur.",
    "524": "Aide introuvable.",
    "525": "Clé invalide."
  },
  "faq": {
    "title": "Aide & FAQ",
    "aria": "Aide et FAQ",
    "close": "Fermer",
    "register": {
      "q": "Comment créer un compte ?",
      "a": "Pas besoin de t’inscrire pour discuter — mais un compte <b>réserve ton pseudo</b> et garde ton avatar, ton 2FA et tes réglages.<ol class=\"cfaq__steps\"><li>Entre d’abord avec le pseudo que tu veux garder.</li><li>Ouvre les <b>Réglages</b> (⚙, en bas à gauche) → onglet <b>Compte</b>.</li><li>Choisis <b>« Créer un compte »</b>, indique ton e-mail et un mot de passe.</li><li>Saisis le code reçu par e-mail — ton pseudo est protégé ✅</li></ol>"
    },
    "forgot": {
      "q": "J’ai oublié mon mot de passe",
      "a": "Si tu es <b>encore connecté</b> à ton compte, change-le dans <b>Réglages → Compte → Sécurité</b>.<br>Sinon, demande de l’aide à un modérateur dans le salon, ou via <a href=\"{{url}}\" target=\"_blank\" rel=\"noopener\">{{site}}</a> — la réinitialisation par e-mail arrive bientôt."
    },
    "free": {
      "q": "C’est vraiment gratuit ?",
      "a": "Oui, entièrement. Aucun paiement, aucune publicité. {{name}} est un service ouvert."
    },
    "noaccount": {
      "q": "Suis-je obligé de m’inscrire ?",
      "a": "Non. Choisis un pseudo et tu es dans le salon. Le compte est <b>optionnel</b> : il sert à protéger ton identité."
    },
    "taken": {
      "q": "Mon pseudo est déjà pris",
      "a": "Un pseudo protégé appartient à un compte. Si c’est le tien, clique <b>« Pseudo déjà enregistré ? »</b> pour t’identifier. Sinon, choisis-en un autre."
    },
    "privacy": {
      "q": "Mes conversations sont-elles privées ?",
      "a": "La connexion est <b>chiffrée</b> (TLS) et il n’y a aucune revente de données. Les messages privés ne circulent qu’entre toi et ton interlocuteur."
    },
    "mobile": {
      "q": "Ça marche sur mobile ?",
      "a": "Oui — c’est une appli installable (PWA). Depuis ton navigateur, « Ajouter à l’écran d’accueil » et tu l’as comme une vraie appli, notifications comprises."
    },
    "what": {
      "q": "C’est quoi {{name}} ?",
      "a": "Un tchat français en direct, bâti sur le protocole ouvert <b>IRCv3</b> et propulsé par <a href=\"{{project}}\" target=\"_blank\" rel=\"noopener\">Orbit</a>, un client web libre."
    }
  },
  "members": {
    "roles": {
      "owner": "Fondateurs",
      "admin": "Administrateurs",
      "proprietors": "Propriétaires",
      "op": "Opérateurs",
      "halfop": "Modérateurs",
      "voice": "Voix",
      "member": "Membres",
      "privileged": "Privilégiés"
    },
    "away": "{{nick}} — absent",
    "operTitle": "{{nick}} — Opérateur réseau (IRCop)",
    "viewProfile": "Voir le profil de {{nick}}",
    "whoisAction": "Whois",
    "banKick": "Bannir + éjecter",
    "kickReasonTitle": "Éjecter {{nick}}",
    "banKickReasonTitle": "Bannir + éjecter {{nick}}",
    "reasonPlaceholder": "Raison (facultatif)",
    "cancel": "Annuler"
  },
  "composer": {
    "typingOne": "{{nick}} est en train d’écrire",
    "typingTwo": "{{a}} et {{b}} écrivent",
    "typingMany": "{{n}} personnes écrivent",
    "consolePlaceholder": "Commande IRC — ex : /list, /whois pseudo, /join #salon",
    "placeholder": "Envoyer un message dans {{chan}}",
    "dropImage": "Dépose ton image ici…",
    "color": "Couleur {{i}}",
    "clearFormat": "Effacer le format",
    "sendImage": "Envoyer une image",
    "recordVoice": "Message vocal",
    "recording": "Enregistrement…",
    "cancel": "Annuler",
    "micDenied": "Micro indisponible (autorisation refusée ?).",
    "bold": "Gras",
    "italic": "Italique",
    "underline": "Souligné",
    "colorBtn": "Couleur",
    "emoji": "Emoji",
    "send": "Envoyer",
    "replyTo": "Réponse à",
    "cancelReply": "Annuler la réponse"
  },
  "media": {
    "image": "Image",
    "open": "Ouvrir",
    "show": "Afficher",
    "hide": "Masquer",
    "enlarge": "Agrandir",
    "sharedImage": "image partagée",
    "openOriginal": "Ouvrir l’original ↗",
    "playVideo": "Lire la vidéo",
    "ytPreview": "Aperçu YouTube"
  },
  "umodes": {
    "i": "invisible",
    "o": "opérateur",
    "O": "opérateur local",
    "r": "enregistré",
    "w": "wallops",
    "s": "notices serveur",
    "B": "bot",
    "Z": "connexion sécurisée",
    "x": "hôte masqué",
    "g": "messages filtrés",
    "R": "messages des enregistrés uniquement",
    "d": "sourd",
    "H": "oper masqué",
    "I": "invisible aux salons",
    "T": "pas de CTCP"
  },
  "units": {
    "sec": "{{n}} s",
    "min": "{{n}} min",
    "hourMin": "{{h}} h {{m}} min",
    "day": "{{n}} j"
  },
  "caps": {
    "navLabel": "IRCv3",
    "navDesc": "Capacités du protocole",
    "title": "Capacités IRCv3",
    "intro": "Fonctionnalités du protocole utilisées par Orbit, et leur prise en charge par ton serveur.",
    "status": {
      "enabled": "Active",
      "available": "Disponible",
      "unavailable": "Indisponible",
      "offline": "Non connecté"
    },
    "desc": {
      "multiPrefix": "Affiche tous les rôles d’un membre à la fois",
      "awayNotify": "Statut absent/présent en temps réel",
      "accountNotify": "Sait quand un membre se connecte ou se déconnecte",
      "extendedJoin": "Voit les comptes dès l’arrivée des membres",
      "chghost": "Suit les changements d’hôte sans reconnexion",
      "accountTag": "Associe chaque message à son compte",
      "serverTime": "Horodatage précis fourni par le serveur",
      "echoMessage": "Confirme tes propres messages envoyés",
      "batch": "Regroupe les messages liés",
      "labeledResponse": "Associe les réponses à tes requêtes",
      "messageTags": "Transporte réactions, réponses et métadonnées",
      "sasl": "Connexion sécurisée pendant la connexion",
      "inviteNotify": "Voit les invitations de salon en direct",
      "setname": "Changement de nom affiché en direct",
      "userhostInNames": "user@host complet dans la liste des membres",
      "chathistory": "Charge les anciens messages à l’arrivée",
      "eventPlayback": "Rejoue entrées/sorties dans l’historique",
      "messageRedaction": "Supprime ou modifie les messages envoyés",
      "readMarker": "Synchronise ta position de lecture entre appareils",
      "multiline": "Envoie de vrais messages multi-lignes",
      "metadata": "Avatars et métadonnées de profil",
      "standardReplies": "Messages d’erreur clairs et structurés",
      "accountRegistration": "Crée un compte dans l’app",
      "preAway": "Marqué absent dès la connexion",
      "webpush": "Notifications push quand l’app est fermée"
    },
    "server": {
      "title": "Serveur",
      "network": "Réseau",
      "software": "Logiciel",
      "connection": "Connexion",
      "secure": "Chiffrée (TLS)",
      "users": "Utilisateurs en ligne",
      "casemapping": "Casse des noms",
      "channelTypes": "Types de salons",
      "roles": "Rôles",
      "limits": "Limites",
      "limitsValue": "pseudo {{nick}} · salon {{chan}} · sujet {{topic}}",
      "navDesc": "Réseau & connexion",
      "maxChannels": "Salons max",
      "advanced": "Avancé · ISUPPORT brut"
    }
  },
  "about": {
    "navLabel": "À propos",
    "navDesc": "Version & licence",
    "tagline": "Client web IRCv3 libre",
    "version": "Version",
    "build": "Build",
    "license": "Licence",
    "source": "Code source",
    "project": "Page du projet",
    "running": "Déploiement",
    "madeWith": "Conçu avec React · IRCv3"
  },
  "switcher": {
    "title": "Accès rapide",
    "placeholder": "Aller à un salon, un MP ou une personne…",
    "empty": "Aucun résultat",
    "join": "Rejoindre {{chan}}",
    "hint": "↑↓ naviguer · ↵ ouvrir · échap fermer",
    "kind_channel": "salon",
    "kind_dm": "message privé",
    "kind_person": "personne",
    "kind_join": "rejoindre"
  },
  "shortcuts": {
    "title": "Raccourcis clavier",
    "switcher": "Navigateur rapide",
    "prev": "Conversation précédente",
    "next": "Conversation suivante",
    "markRead": "Tout marquer comme lu",
    "help": "Cette aide",
    "close": "Fermer",
    "send": "Envoyer le message",
    "newline": "Nouvelle ligne",
    "complete": "Autocomplétion",
    "history": "Historique des messages"
  },
  "notify": {
    "title": "Notifications",
    "aria": "Notifications : {{level}}",
    "all": "Tous les messages",
    "allDesc": "Notifier à chaque message",
    "mentions": "Mentions uniquement",
    "mentionsDesc": "Seulement votre nom et alertes",
    "mute": "En sourdine",
    "muteDesc": "Aucune alerte ni son"
  },
  "pins": {
    "pin": "Épingler",
    "unpin": "Désépingler",
    "title": "Épinglés",
    "jump": "Aller au message",
    "aria": "Messages épinglés ({{count}})"
  },
  "a11y": {
    "skip": "Aller aux messages",
    "messages": "Messages",
    "conversations": "Conversations",
    "members": "Membres"
  },
  "error": {
    "title": "Une erreur est survenue",
    "body": "L'application a rencontré une erreur inattendue. Recharger règle généralement le problème.",
    "reload": "Recharger"
  },
  "plugins": {
    "copy": {
      "title": "Copier le message",
      "copied": "Copié !",
      "copiedShort": "Copié"
    },
    "clock": {
      "title": "Heure locale"
    },
    "invite": {
      "panelTitle": "Inviter",
      "tip": "Inviter des amis",
      "inRoom": "Inviter des amis dans {{chan}}",
      "inRoomSub": "Un lien à partager (WhatsApp, Discord…). Aucun compte requis.",
      "duel": "Défier un ami aux échecs",
      "duelSub": "Il clique, il joue contre toi — arbitré par GameServ, sans inscription.",
      "shared": "Lien partagé ✓",
      "copied": "Lien copié ✓ — colle-le où tu veux",
      "copyThis": "Copie ce lien :",
      "roomShare": "Rejoins-moi sur {{chan}} · {{brand}}",
      "duelShare": "Défi aux échecs sur {{brand}}"
    },
    "games": {
      "title": "Jeux",
      "name": {
        "ttt": "Morpion",
        "c4": "Puissance 4",
        "chess": "Échecs"
      },
      "promotion": "Promotion :",
      "toastTurn": "{{game}} : à toi contre {{opp}}",
      "titleTurn": "À toi · {{game}} · {{opp}}",
      "toastOffer": "{{opp}} te défie · {{game}}",
      "stOffer": "{{opp}} te défie",
      "stPending": "En attente de {{opp}}…",
      "stDraw": "Match nul.",
      "stWin": "Tu gagnes !",
      "stLoss": "Tu perds.",
      "stYourTurn": "À toi",
      "stTheirTurn": "Au tour de {{opp}}",
      "accept": "Accepter",
      "decline": "Refuser",
      "newGame": "Nouvelle partie",
      "rematch": "Revanche",
      "resign": "Abandonner",
      "leaderboard": "Classement",
      "loading": "Chargement…",
      "empty": "Personne au classement. Gagne une partie !",
      "challengeIntro": "Défie n'importe qui de connecté. GameServ arbitre chaque coup. Avec un compte la partie est classée ; en invité, elle est amicale.",
      "oppPlaceholder": "Pseudo de l'adversaire",
      "bestRank": "Meilleur classement : {{game}}",
      "challengeAction": "Défier à un jeu",
      "rank": {
        "Bronze": "Bronze",
        "Silver": "Argent",
        "Gold": "Or",
        "Master": "Maître"
      }
    }
  },
  "pwa": {
    "description": "Le tchat, en direct. Salons publics, messages privés, sans inscription."
  },
  "networks": {
    "add": "Ajouter un réseau",
    "name": "Nom (facultatif)",
    "password": "Mot de passe (facultatif)",
    "connect": "Se connecter"
  },
  "consent": {
    "manageLabel": "Cookies de statistiques",
    "manageOn": "Activé — Google Analytics est actif",
    "manageOff": "Désactivé — rien n'est envoyé à Google"
  },
  "extbans": {
    "mute": "Muet",
    "blockcolor": "Bloquer les couleurs",
    "noctcp": "Bloquer CTCP",
    "nonick": "Pseudo figé",
    "nonotice": "Pas de notices",
    "stripcolor": "Retirer les couleurs",
    "nokick": "Pas de kick",
    "opmoderated": "Modéré par les ops",
    "blockinvite": "Bloquer les invitations",
    "redirect": "Rediriger",
    "account": "Compte",
    "unauthed": "Non authentifié",
    "securitygroup": "Groupe de sécurité",
    "score": "Score de réputation",
    "country": "Pays",
    "server": "Serveur",
    "class": "Classe de connexion",
    "realname": "Nom réel",
    "realmask": "Masque + nom réel",
    "fingerprint": "Empreinte TLS",
    "oper": "Compte oper",
    "opertype": "Type d'oper",
    "channel": "Sur un salon",
    "share": "Banni ailleurs",
    "gateway": "Passerelle WebIRC"
  }
}
