{
  "common": {
    "error_title": "Erreur",
    "no_data_title": "Aucune donnée",
    "access_denied_title": "Accès refusé",
    "access_denied_desc": "Ce serveur a été mis sur liste noire.",
    "no_players_selected": "Aucun joueur sélectionné. Veuillez sélectionner au moins un joueur.",
    "must_use_in_server": "Cette commande doit être utilisée dans un serveur.",
    "could_not_resolve_channel": "Impossible de résoudre le salon sélectionné.",
    "failed_update_setting": "❌ Échec de la mise à jour du paramètre.",
    "configuration_not_found": "Configuration introuvable.",
    "no_channel_selected": "Aucun salon sélectionné.",
    "no_selection_received": "Aucune sélection reçue.",
    "database_error": "❌ Erreur de base de données : {error}",
    "enabled": "Activé",
    "disabled": "Désactivé",
    "not_configured": "Non configuré",
    "unknown": "Inconnu",
    "rating_field": "Classement",
    "battles_field": "Batailles",
    "wins_field": "Victoires",
    "losses_field": "Défaites",
    "win_rate_field": "Taux de victoire",
    "kills_field": "Éliminations",
    "deaths_field": "Morts",
    "kd_field": "K/D",
    "members_field": "Membres",
    "placement_field": "Position",
    "points_field": "Points",
    "ground_kills_field": "Éliminations terrestres",
    "air_kills_field": "Éliminations aériennes",
    "total_kills_field": "Éliminations totales",
    "assists_field": "Assistances",
    "captures_field": "Captures",
    "none_option": "Aucun"
  },
  "buttons": {
    "skip": "Passer",
    "previous": "Précédent",
    "next": "Suivant",
    "prev": "Préc.",
    "prev_arrow": "◀ Précédent",
    "next_arrow": "Suivant ▶",
    "prev_arrow_only": "◀",
    "next_arrow_only": "▶",
    "generate_chart": "📊 Générer le graphique",
    "show_graph": "Afficher le graphique",
    "view_player_stats": "📊 Voir les stats des joueurs",
    "compare_nearby": "📈 Comparer les escadrons proches",
    "confirm_swap": "Oui, remplacer",
    "cancel_swap": "Non, garder l'ancien",
    "set_squadron": "Définir l'escadron",
    "same_as_logs": "Même que Logs",
    "require_password": "🔒 Exiger un mot de passe",
    "password_required": "🔒 Mot de passe requis",
    "lock_data": "🔐 Lier les données de l'escadron",
    "data_locked": "🔐 Données liées à ce serveur",
    "allow_public": "👥 Autoriser le meta public",
    "public_enabled": "👥 Meta public activé",
    "update_accounts": "📋 Mettre à jour les comptes meta",
    "change_password": "🔑 Changer le mot de passe",
    "help": "❓ Aide",
    "add_player": "➕ Ajouter un Joueur",
    "update_all": "🔄 Mettre à Jour Tous les Membres",
    "back_to_settings": "⬅ Retour aux Paramètres",
    "manage_notifications": "Gérer les notifications",
    "diagnose_permissions": "Diagnostiquer les permissions",
    "enable": "Activer",
    "disable": "Désactiver",
    "change_channel": "Changer de salon",
    "view_replay": "Voir le Replay",
    "view_website": "Voir sur le Site",
    "view_video": "Voir la Vidéo",
    "view_log": "Voir le Log",
    "view_chat": "Voir le Chat",
    "subscribe_website": "S'abonner via le Site",
    "yes_disband": "Oui, dissoudre",
    "cancel": "Annuler",
    "transfer_leave": "Transférer et quitter",
    "accept_selected": "Accepter la sélection",
    "accept_all": "Tout accepter",
    "decline_selected": "Refuser la sélection",
    "back": "Retour",
    "remove_all": "Tout retirer",
    "remove_active": "Retirer les actifs",
    "remove_queued": "Retirer en attente",
    "remove_selected": "Retirer la sélection",
    "ping_all": "Notifier tout le monde",
    "ping_active": "Notifier les actifs",
    "ping_queued": "Notifier en attente",
    "ping_selected": "Notifier la sélection",
    "accept_members": "Accepter des membres",
    "remove_members": "Retirer des membres",
    "ping_members": "Notifier les membres",
    "rename_stack": "Renommer le stack",
    "request_to_join": "Demander à rejoindre",
    "leave_withdraw": "Quitter / Se retirer",
    "manage_stack": "Gérer le stack ⚙️",
    "disband_stack": "Dissoudre le stack",
    "force_disband_create": "Forcer la dissolution et créer un nouveau"
  },
  "events": {
    "guild_join_title": "Merci de m'avoir ajouté !",
    "guild_join_desc": "Lancez `/setup` pour configurer le bot sur ce serveur."
  },
  "comp": {
    "not_found_title": "Comps introuvables",
    "not_found_desc": "Aucune donnée pour **{squadron}**, réessayez plus tard.",
    "error_loading_title": "Erreur de chargement des comps",
    "error_loading_desc": "Impossible de charger les données de comp : {error}",
    "title": "Comps pour {squadron}",
    "desc": "Comps vues dans les {minutes} dernières minutes",
    "no_recent_title": "Aucune comp récente",
    "no_recent_desc": "Aucune comp dans les {minutes} dernières minutes.",
    "comp_title": "COMP {index}",
    "last_seen_label": "**Vu pour la dernière fois** : {timestamp}{warning}",
    "comp_label": "**Comp** : {notation}",
    "no_players_recorded": "Aucun joueur enregistré.",
    "limit_reached_title": "Limite de comps atteinte",
    "limit_reached_desc": "Ce serveur a utilisé les {limit} recherches de comps pour ce créneau. Abonnez-vous (avec /unlock) pour un accès illimité ou attendez le prochain créneau.",
    "user_limit_reached_desc": "Tu as utilisé tes {limit} recherches de comps personnelles pour ce créneau sur les serveurs non-premium. Les autres membres ici peuvent encore utiliser le quota restant du serveur, et les serveurs premium (où /unlock a été utilisé) restent illimités — abonne-toi avec /unlock ou attends le prochain créneau.",
    "remaining_footer": "{remaining}/{limit} recherches de comps restantes pour ce créneau",
    "user_remaining_footer": "{remaining}/{limit} recherches de comps personnelles restantes pour ce créneau",
    "remaining_footer_combined": "{user_remaining}/{user_limit} personnelles · {server_remaining}/{server_limit} serveur recherches de comps restantes pour ce créneau"
  },
  "quick_log": {
    "invalid_type": "Le type ne peut être défini que sur Logs, Points, Classement, BR Hebdomadaire ou Les deux.",
    "squadron_required": "Vous devez fournir un nom d'escadron pour les alarmes Logs, Points ou les deux.",
    "wildcard_logs_only": "Seuls les Logs peuvent être définis sur un escadron générique.",
    "squadron_not_resolved": "L'escadron `{squadron}` n'a pas pu être résolu.",
    "save_failed": "Échec de la sauvegarde des préférences. Veuillez réessayer plus tard.",
    "premium_warning": "\n\n> ⚠️ **Les logs de partie nécessitent Premium.** Lancez `/unlock` pour vous abonner (2,99 $/mois) — les logs ne seront pas publiés avant cela.",
    "leaderboard_set": "L'alarme du Classement Global est définie sur ce salon.",
    "both_set": "Les alarmes Logs et Points pour {squadron} sont définies sur ce salon.{premium_note}",
    "alarm_set": "L'alarme {alarm_type} pour {squadron} est définie sur ce salon.{premium_note}",
    "weekly_br_wildcard_set": "Rapport BR hebdomadaire (top 20 escadrons) configuré pour ce salon. Envoyé à la fin de chaque rotation BR.",
    "weekly_br_squadron_set": "Rapport BR hebdomadaire pour {squadron} (top 15 joueurs) configuré pour ce salon. Envoyé à la fin de chaque rotation BR."
  },
  "diagnostics": {
    "title": "Diagnostics autolog",
    "channel_permissions_header": "**Permissions du salon** (<#{channel_id}>)",
    "perms_needed": "  ^ L'autologging a besoin de tout ce qui précède pour envoyer des tableaux de scores.",
    "server_squadron_header": "**Escadron du serveur** (`/set-squadron`)",
    "server_squadron_short": "  Court : `{short}`",
    "server_squadron_long": "  Long : `{long}`",
    "server_squadron_not_set": "  Non défini (la couleur de la barre du tableau de scores affichera 'not_set')",
    "autolog_prefs_header": "**Préférences Autolog** (`/quick-log`)",
    "autolog_none_configured": "  ❌ AUCUN configuré - l'autologging n'enverra RIEN à ce serveur.",
    "autolog_setup_hint": "  Utilisez `/quick-log <squadron_short> Logs` dans le salon cible pour configurer.",
    "autolog_no_logs_channels": "  ❌ Aucun salon Logs configuré. Seulement Points/Classement trouvés.",
    "autolog_enable_hint": "  Utilisez `/quick-log <squadron_short> Logs` pour activer l'autologging.",
    "selected_channel_tag": " **(salon sélectionné)**",
    "missing_send_attach": " (envoi/pièce jointe manquant)",
    "channel_not_found": " (salon introuvable)",
    "invalid_channel_id": " (ID de salon invalide)",
    "premium_status_header": "**Statut Premium** (`/unlock`)",
    "premium_active": "  ✅ Ce serveur dispose d'un abonnement Premium actif.",
    "premium_not_subscribed": "  ❌ Ce serveur n'a **pas** d'abonnement Premium.",
    "premium_autolog_required": "  L'autologging nécessite Premium. Utilisez `/unlock` pour vous abonner.",
    "premium_not_subscribed_free": "  ⚪ Non abonné — utilisez `/unlock` pour vous abonner (2,99 $/mois).",
    "premium_free_note": "  *(Les autologs sont gratuits pour tous les serveurs pour le moment.)*"
  },
  "sq_info": {
    "title": "Info escadron : {squadron}",
    "placement_field": "Position",
    "total_points_field": "Points totaux",
    "total_members_field": "Membres totaux",
    "members_field": "Membres",
    "fetch_failed": "Échec de la récupération des informations de l'escadron."
  },
  "sq_info_graph": {
    "title": "{squadron} — SQ-INFO (Saison {season})",
    "embed_title": "{squadron} — Composition de l'effectif",
    "embed_desc": "Saison **{season}** · Médiane de parties : **{median}** · Noyau : **{core}** · Actifs : **{active}** · Faibles : **{weak}**\nBarres triées par parties décr. ; hauteur = taux de victoire. Noyau = top 30 % de TV et parties ≥ médiane. Actifs = top 30–45 % de TV et parties ≈ médiane. Faibles = tous les autres.",
    "core_threshold_line": "NOYAU ≥ {wr} %",
    "weak_threshold_line": "FAIBLES < {wr} %",
    "y_label": "Taux de victoire",
    "core_header": "NOYAU — {count} · TV {avg}%",
    "active_header": "ACTIFS — {count} · TV {avg}%",
    "weak_header": "FAIBLES — {count} · TV {avg}%",
    "no_active_season": "Aucune saison active trouvée. Réessayez au début de la prochaine.",
    "no_members": "Aucun membre actuel trouvé pour {squadron}."
  },
  "recap_card": {
    "unknown_season": "Saison inconnue : `{season}`.",
    "no_clan_id": "Impossible de résoudre l'identifiant de l'escadron `{squadron}`.",
    "render_failed": "Échec de la génération de la carte récapitulative de saison. Réessayez plus tard."
  },
  "sq_stats": {
    "no_data_title": "Aucune donnée",
    "no_data_desc": "Aucune donnée historique trouvée pour l'escadron : {squadron}",
    "title": "{squadron} // ESCADRON",
    "desc": "Tendance du score total (Derniers {count} points de données)",
    "previous_score_field": "Score précédent",
    "current_score_field": "Score actuel",
    "change_field": "Variation",
    "player_title": "{squadron} // JOUEURS",
    "player_desc": "Tendances des points par joueur",
    "comparison_title": "{squadron} // COMPARAISON AU CLASSEMENT",
    "comparison_desc": "Comparaison avec les escadrons classés {range}",
    "current_position_field": "Position actuelle",
    "squadrons_shown_field": "Escadrons affichés",
    "squadron_not_found_error": "Escadron introuvable dans le classement",
    "no_nearby_error": "Aucun escadron proche trouvé",
    "no_historical_error": "Aucune donnée historique trouvée pour les escadrons proches",
    "comparison_chart_failed": "Échec de la génération du graphique de comparaison",
    "select_players_placeholder": "Sélectionner des joueurs (Page {page})"
  },
  "loss_calc": {
    "title": "Perte de points — {squadron}",
    "players_leaving_field": "Joueurs partant",
    "share_of_total_field": "% part du total",
    "points_lost_real_field": "Points perdus (réel)",
    "points_lost_raw_field": "Points perdus (brut)",
    "squadron_rating_field": "Classement de l'escadron",
    "squadron_position_field": "Position de l'escadron",
    "positions_lost_field": "Positions perdues",
    "not_found_footer": "Introuvable dans l'escadron : {players}",
    "fetch_failed": "Échec de la récupération des données de l'escadron : {error}",
    "no_point_data": "Aucune donnée de points disponible pour cet escadron.",
    "no_matching_players": "Aucun joueur correspondant trouvé dans **{squadron}**."
  },
  "player": {
    "select_player_placeholder": "Sélectionner un joueur",
    "no_stats_found": "❌ Aucune stat trouvée pour l'UID : {uid}",
    "no_vehicle_stats": "❌ Aucune stat de véhicule trouvée pour ce joueur.",
    "vehicles_found": "**{count}** véhicules trouvés pour **{nick}**\nSélectionnez un véhicule pour voir les stats détaillées :",
    "vehicle_select_placeholder": "Sélectionner un véhicule (Page {page}/{total})",
    "combat_stats_header": "**__STATS DE COMBAT__**",
    "ground_kills_label": "**Éliminations terrestres :** {value}",
    "air_kills_label": "**Éliminations aériennes :** {value}",
    "total_kills_label": "**Éliminations totales :** {value}",
    "assists_label": "**Assistances :** {value}",
    "deaths_label": "**Morts :** {value}",
    "kd_label": "**K/D :** {value}",
    "captures_label": "**Captures :** {value}",
    "battle_record_header": "**__BILAN DE BATAILLES__**",
    "total_battles_label": "**Batailles totales :** {value}",
    "wins_label": "**Victoires :** {value}",
    "losses_label": "**Défaites :** {value}",
    "win_rate_label": "**Taux de victoire :** {value}%",
    "stats_desc": "Stats pour **{nick}** (**{squadron}**)\nUID : `{uid}`",
    "not_found_title": "Joueur introuvable",
    "not_found_desc": "Aucun historique de partie trouvé pour `{player}`.",
    "no_players_found": "Aucun joueur trouvé correspondant à **{username}**\nEssayez d'utiliser `/website` pour rechercher sur le site.",
    "multiple_matches": "Plusieurs correspondances trouvées, choisissez la bonne ci-dessous :",
    "must_provide_input": "Vous devez fournir au moins un UID ou un nom d'utilisateur."
  },
  "player_games": {
    "no_recent_title": "Aucune partie récente",
    "no_recent_desc": "Aucune partie trouvée pour **{player}** dans les 8 dernières heures.",
    "squadron_label": "**Escadron :** {squadron}",
    "record_label": "**V :** {wins}  **D :** {losses}  **TV :** {wr}%",
    "comps_played_header": "\n\n**Comps Jouées**"
  },
  "match": {
    "missing_input_title": "Entrée manquante",
    "missing_input_desc": "Fournissez soit un `match_id` soit un `player_name`.",
    "not_found_title": "Match introuvable",
    "not_found_desc": "Impossible de trouver un match avec l'ID `{match_id}`.",
    "invalid_data_title": "Données de match invalides",
    "invalid_data_desc": "Les données de replay n'ont pas pu être analysées.",
    "scoreboard_error_title": "Erreur du tableau de scores",
    "scoreboard_error_desc": "Échec de la génération de l'image du tableau de scores.",
    "no_games_title": "Aucune partie trouvée",
    "no_games_desc": "Aucun historique de partie trouvé pour **{player}**.",
    "recent_matches_title": "Matchs récents pour {player}",
    "recent_matches_desc": "Affichage de jusqu'à {count} parties récentes. Sélectionnez-en une pour voir le tableau de scores complet.",
    "select_match_placeholder": "Sélectionner un match à voir..."
  },
  "compare": {
    "no_players_found": "Aucun joueur trouvé correspondant à **{name}**.",
    "multiple_matches": "Plusieurs correspondances pour **{name}** : {matches}\nVeuillez utiliser un nom plus précis (les suggestions de saisie automatique sont exactes).",
    "could_not_resolve": "Impossible de résoudre les joueurs.",
    "could_not_fetch": "❌ Impossible de récupérer les stats pour **{name}**.",
    "no_graph_data": "Aucune donnée disponible pour les 90 derniers jours.",
    "no_squadron_points_data": "Aucune donnée de points d'escadron pour {names} (joueur introuvable dans l'historique de l'escadron suivi).",
    "graph_title": "Points des joueurs — 90 derniers jours",
    "battles_label": "Batailles",
    "wins_label": "Victoires",
    "losses_label": "Défaites",
    "win_rate_label": "Taux de victoire",
    "ground_kills_label": "Éliminations terrestres",
    "air_kills_label": "Éliminations aériennes",
    "total_kills_label": "Éliminations totales",
    "assists_label": "Assistances",
    "deaths_label": "Morts",
    "kd_label": "K/D",
    "captures_label": "Captures"
  },
  "squadron": {
    "not_found_desc": "Escadron `{squadron}` introuvable.",
    "set_title": "✅ Escadron défini",
    "set_desc": "L'escadron **{squadron}** a été défini pour ce serveur.",
    "short_name_field": "Nom court",
    "long_name_field": "Nom long",
    "swap_title": "✅ Escadron remplacé",
    "swap_desc": "Remplacé **{old}** par **{new}** pour ce serveur.",
    "already_set_title": "⚠️ Escadron déjà défini",
    "already_set_desc": "Ce serveur est actuellement défini sur **{old}**.\nLe remplacer par **{new}** ?",
    "swap_cancelled": "❌ Changement d'escadron annulé."
  },
  "setup": {
    "step1_title": "Configuration du serveur — Étape 1 sur 3",
    "step1_desc": "Cet assistant vous guidera dans la configuration du bot pour votre serveur.\n\n**Étape 1** — Définir votre escadron\n**Étape 2** — Choisir un salon de logs\n**Étape 3** — Choisir un salon de points\n",
    "step1_current_sq": "\nEscadron actuellement configuré : **[{short}] {long}**",
    "step2_title": "Configuration du serveur — Étape 2 sur 3",
    "step2_desc": "Escadron défini sur **[{short}] {long}**.\n\nOù les **logs de batailles** doivent-ils être publiés ?\nSélectionnez un salon textuel ci-dessous, ou passez cette étape.",
    "step3_title": "Configuration du serveur — Étape 3 sur 3",
    "step3_desc": "Où les **notifications de points** doivent-elles être publiées ?\nSélectionnez un salon textuel ci-dessous, ou passez cette étape.",
    "step3_same_as_logs": "\n\nVous pouvez aussi cliquer sur \"Même que Logs\" pour réutiliser le salon des logs.",
    "summary_title": "Configuration terminée",
    "summary_desc": "Vous pouvez utiliser `/autolog-management` pour modifier ces paramètres plus tard.",
    "squadron_field": "Escadron",
    "logs_channel_field": "Salon des logs",
    "points_channel_field": "Salon des points",
    "premium_required_field": "⚠️ Les logs de partie nécessitent Premium",
    "premium_required_value": "Les tableaux de scores automatiques ne seront pas publiés tant que ce serveur n'aura pas un abonnement actif. Lancez `/unlock` pour vous abonner (2,99 $/mois).",
    "modal_title": "Définir l'escadron",
    "modal_label": "Nom court de l'escadron",
    "modal_placeholder": "ex. AXYS",
    "squadron_not_found": "Escadron `{squadron}` introuvable. Veuillez réessayer.",
    "logs_channel_placeholder": "Sélectionner un salon de logs...",
    "points_channel_placeholder": "Sélectionner un salon de points..."
  },
  "meta_management": {
    "squadron_not_found_title": "❌ Escadron introuvable",
    "squadron_not_found_desc": "Impossible de trouver l'ID de clan pour l'escadron : **{squadron}**",
    "access_denied_title": "❌ Accès Refusé",
    "access_denied_desc": "Mot de passe incorrect. Les données meta de cet escadron sont protégées.",
    "data_locked_title": "🔐 Données de l'escadron liées",
    "data_locked_desc": "**{squadron}** a la liaison des données activée et ne peut pas être transféré vers un autre serveur.\n\nLe propriétaire de l'escadron doit désactiver **Lier les données de l'escadron** avant de pouvoir le déplacer.",
    "error_retrieving_settings": "❌ Erreur lors de la récupération des paramètres du serveur après le transfert. Veuillez réessayer.",
    "error_retrieving_settings_retry": "❌ Erreur lors de la récupération des paramètres du serveur. Veuillez relancer la commande.",
    "authenticated_title": "✅ Authentifié",
    "authenticated_desc": "Mot de passe vérifié. Gestion des paramètres pour **{squadron}**.",
    "claimed_title": "✅ Escadron revendiqué",
    "claimed_desc": "**{squadron}** a été revendiqué avec succès pour ce serveur !",
    "password_requirement_field": "🔒 Exigence de mot de passe",
    "data_lock_field": "🔐 Liaison des données de l'escadron",
    "public_meta_field": "👥 Accès meta public",
    "access_password_field": "🔑 Mot de passe d'accès",
    "enabled_value": "✅ Activé",
    "disabled_value": "❌ Désactivé",
    "settings_title": "🔐 Paramètres de gestion meta",
    "settings_desc": "**Escadron :** {squadron}\n**ID de Clan :** {clan_id}",
    "first_time_title": "🔐 Gestion meta — Première configuration",
    "first_time_owner_desc": "**Escadron :** {squadron}\n**ID de Clan :** {clan_id}\n\n🔑 Votre mot de passe d'accès a été généré. **Sauvegardez ce mot de passe** — vous en aurez besoin pour authentifier l'accès aux données meta à l'avenir.\n\n**Mot de Passe :** `{password}`",
    "first_time_non_owner_desc": "**Escadron :** {squadron}\n**ID de Clan :** {clan_id}\n\nL'escadron a été configuré. Demandez le mot de passe d'accès au propriétaire du serveur.",
    "settings_field": "Paramètres",
    "settings_hint": "Utilisez les boutons ci-dessous pour configurer les paramètres d'accès.",
    "password_toggled": "✅ Exigence de mot de passe : **{state}**",
    "lock_toggled": "✅ Liaison des données de l'escadron : **{state}**",
    "public_meta_toggled": "✅ Accès meta public : **{state}**\n{detail}",
    "public_meta_enabled_detail": "Les non-administrateurs peuvent maintenant utiliser la commande `/meta`.",
    "public_meta_disabled_detail": "Seuls les administrateurs peuvent utiliser la commande `/meta`.",
    "owner_only_password": "❌ Seul le propriétaire du serveur peut changer le mot de passe de l'escadron.",
    "help_title": "📖 Aide de gestion meta",
    "help_desc": "Explication de chaque paramètre et fonctionnalité :",
    "help_password_field": "🔑 Mot de passe d'accès",
    "help_password_value": "Le mot de passe d'accès de votre escadron. Seul le **propriétaire du serveur** peut voir le mot de passe dans le panneau de paramètres. Toute personne ayant le mot de passe peut revendiquer les données meta de votre escadron sur son serveur, alors gardez-le sécurisé.",
    "help_require_field": "🔒 Exiger un mot de passe",
    "help_require_value": "Quand activé, même les administrateurs de ce serveur doivent saisir le mot de passe de l'escadron pour accéder à `/meta-management`. Ajoute une couche de sécurité supplémentaire pour prévenir les modifications accidentelles.",
    "help_lock_field": "🔐 Lier les données de l'escadron",
    "help_lock_value": "Quand activé, empêche le transfert de l'escadron vers d'autres serveurs, même avec le bon mot de passe. Doit être désactivé avant de pouvoir transférer l'escadron.",
    "help_public_field": "👥 Autoriser le meta public",
    "help_public_value": "Quand activé, permet aux membres non-administrateurs d'utiliser la commande `/meta` pour rechercher des véhicules d'escadron. Quand désactivé, seuls les administrateurs du serveur peuvent utiliser `/meta`.",
    "help_accounts_field": "📋 Mettre à jour les comptes meta",
    "help_accounts_value": "Ouvre le gestionnaire de liste de joueurs où vous pouvez ajouter ou supprimer des joueurs de la liste meta de votre escadron. Utilisez **Mettre à jour tous les membres** pour synchroniser tout votre escadron en une fois.",
    "help_change_pw_field": "🔑 Changer le mot de passe",
    "help_change_pw_value": "**Propriétaire du serveur uniquement.** Modifiez le mot de passe d'accès de l'escadron et définissez un indice optionnel. L'indice s'affiche dans l'invite de mot de passe pour aider à s'en souvenir.",
    "password_modal_title": "Mot de passe d'accès de l'escadron",
    "password_modal_label": "Entrez le mot de passe de l'escadron",
    "password_modal_placeholder": "XXXX-XXXX-XXXX",
    "change_pw_modal_title": "Changer le mot de passe de l'escadron",
    "current_password_label": "Mot de passe actuel",
    "current_password_placeholder": "Entrez votre mot de passe actuel",
    "new_password_label": "Nouveau mot de passe",
    "new_password_placeholder": "Entrez votre nouveau mot de passe",
    "confirm_password_label": "Confirmer le nouveau mot de passe",
    "confirm_password_placeholder": "Ressaisissez votre nouveau mot de passe",
    "hint_label": "Indice de mot de passe (optionnel)",
    "hint_placeholder": "Un indice pour se souvenir du mot de passe",
    "pw_incorrect": "❌ Le mot de passe actuel est incorrect.",
    "pw_mismatch": "❌ Les nouveaux mots de passe ne correspondent pas. Veuillez réessayer.",
    "pw_empty": "❌ Le nouveau mot de passe ne peut pas être vide.",
    "pw_changed": "✅ Mot de passe mis à jour avec succès pour **{squadron}**.\n**Nouveau mot de passe :** `{password}`",
    "pw_changed_hint": "\n**Indice :** {hint}",
    "player_add_modal_title": "Ajouter un Joueur à la Liste Meta",
    "player_add_label": "UID ou Pseudo du Joueur",
    "player_add_placeholder": "Entrez l'UID du joueur (ex. 12345678) ou son pseudo",
    "player_not_found": "❌ Joueur `{player}` introuvable dans la base de données Players_Global.\n",
    "roster_title": "📋 Gestion de la liste meta - {squadron}",
    "roster_desc": "**ID de Clan de l'Escadron :** {clan_id}\n**Joueurs Totaux :** {count}",
    "roster_page_field": "Joueurs (Page {page}/{total})",
    "no_players_field": "Aucun joueur",
    "no_players_hint": "Aucun joueur ajouté à la liste meta pour l'instant. Cliquez sur **Ajouter un Joueur** pour commencer.",
    "remove_player_placeholder": "Sélectionner le joueur à supprimer...",
    "fetch_members_failed": "❌ Échec de la récupération des membres de l'escadron : {error}",
    "no_members_found": "❌ Aucun membre trouvé dans l'escadron ou l'appel API a échoué.",
    "roster_synced": "✅ Liste synchronisée avec l'escadron.",
    "roster_added": "**+{count}** ajouté(s)",
    "roster_removed": "**-{count}** supprimé(s) (ont quitté l'escadron)",
    "roster_up_to_date": "**{count}** déjà à jour",
    "refreshing_vehicles": "Actualisation des données de véhicules en arrière-plan..."
  },
  "meta": {
    "not_configured": "❌ Données meta non configurées pour ce serveur. Lancez d'abord `/meta-management`.",
    "no_permission": "❌ Vous devez avoir les permissions d'administrateur pour utiliser cette commande.\nLes administrateurs peuvent activer l'accès public via `/meta-management`.",
    "no_results": "❌ Aucun joueur de votre liste d'escadron ne possède **{vehicle}**.",
    "no_results_admin_hint": "\n*Vous vous attendiez à ce que quelqu'un l'ait ? Cliquez sur le bouton de mise à jour des membres dans `/meta-management` et vérifiez.*",
    "search_title": "🔍 Résultats de Recherche - {vehicle}",
    "matches_found": "**Correspondances Trouvées :** {count} joueur(s)",
    "spawns_label": "Apparitions",
    "deaths_label": "Morts",
    "gk_label": "EL",
    "ak_label": "EA",
    "points_label": "Points",
    "kdr_label": "KDR",
    "games_label": "Parties",
    "no_points": "—"
  },
  "top": {
    "title": "**Top 20 escadrons**",
    "rating_label": "**Classement :** {value}",
    "air_kills_label": "**Éliminations aériennes :** {value}",
    "ground_kills_label": "**Éliminations terrestres :** {value}",
    "deaths_label": "**Morts :** {value}",
    "kd_label": "**K/D :** {value}",
    "win_rate_label": "**Taux de victoire :** {value}",
    "playtime_label": "**Temps de jeu :** {value}",
    "fetch_failed": "Échec de la récupération des données de l'escadron."
  },
  "analytics": {
    "no_data_title": "Aucune donnée",
    "no_matches_desc": "Aucun match trouvé.",
    "no_comp_desc": "Aucune donnée de composition trouvée.",
    "no_consistency_desc": "Pas assez de données de joueurs (minimum 50 matchs).",
    "no_time_desc": "Aucune donnée temporelle trouvée.",
    "unknown_view": "Vue inconnue.",
    "map_title": "Taux de victoire par carte : {squadron}",
    "comp_title": "Compositions d'équipe : {squadron}",
    "consistency_title": "Constance des joueurs : {squadron}",
    "consistency_desc": "Trié par ratio K/D",
    "time_title": "Performance par heure de la journée : {squadron}",
    "eu_timeslot": "\n**Plage Horaire EU**",
    "na_timeslot": "\n**Plage Horaire NA**",
    "off_peak": "\n**Hors Pic**",
    "matchups_title": "📜 {squadron} — Historique des Affrontements",
    "matchups_won_field": "🏆 Plus de Victoires Contre",
    "matchups_lost_field": "💀 Plus de Défaites Contre",
    "no_matchups_desc": "Aucun match enregistré contre d'autres escadrons."
  },
  "recent": {
    "title": "Matchs récents : {squadron}",
    "no_matches_desc": "Aucun match trouvé pour cet escadron."
  },
  "h2h": {
    "two_required_title": "Deux escadrons requis",
    "two_required_desc": "Fournissez au moins un escadron, ou utilisez `/set-squadron` et indiquez l'adversaire.",
    "provide_a_desc": "Fournissez `squadron_a` ou utilisez d'abord `/set-squadron`.",
    "provide_b_desc": "Fournissez `squadron_b` ou utilisez d'abord `/set-squadron`.",
    "squadron_not_found_title": "Escadron introuvable",
    "same_squadron_title": "Même escadron",
    "same_squadron_desc": "Vous ne pouvez pas vérifier les face-à-face contre vous-même.",
    "record_desc": "**Bilan :** {a_wins}V - {b_wins}D ({total} parties)",
    "no_matches_desc": "Aucun match enregistré entre **{a}** et **{b}**."
  },
  "autolog": {
    "premium_active_line": "✅ **Premium :** Actif — l'autologging est activé pour ce serveur.",
    "premium_not_subscribed_line": "❌ **Premium :** Non abonné — utilisez `/unlock` pour activer l'autologging.",
    "premium_free_line": "⚪ **Premium :** Non abonné — utilisez `/unlock` pour vous abonner (2,99 $/mois). *(Les autologs sont gratuits pour tous les serveurs pour le moment.)*",
    "what_to_do": "\n\nQue souhaitez-vous faire ?",
    "select_notif_type": "Sélectionnez le type de notification à gérer :",
    "select_notif_placeholder": "Sélectionner le type de notification",
    "logs_option": "Logs",
    "logs_option_desc": "Gérer les notifications de Logs",
    "points_option": "Points",
    "points_option_desc": "Gérer les notifications de Points",
    "leaderboard_option": "Classement",
    "leaderboard_option_desc": "Gérer les notifications de Classement",
    "selected_type": "**{type}** sélectionné. Choisissez maintenant l'escadron à gérer :",
    "select_squadron_placeholder": "Sélectionner un escadron",
    "select_squadron_page_placeholder": "Sélectionner un escadron (Page {page})",
    "no_squadrons_available": "Aucun escadron disponible pour ce type de notification.",
    "managing_global": "Gestion de **{type}** (global) dans le salon **{channel}**.",
    "managing_squadron": "Gestion de **{type}** pour l'escadron **{squadron}** dans le salon **{channel}**.",
    "select_channel": "Sélectionnez un nouveau salon :",
    "select_channel_placeholder": "Sélectionner un salon",
    "select_channel_page_placeholder": "Sélectionner un salon (Page {page})",
    "global_toggled": "{type} (global) est maintenant {state}.",
    "squadron_toggled": "{type} pour **{squadron}** est maintenant {state}.",
    "channel_updated_global": "{type} (global) mis à jour vers {channel}",
    "channel_updated_squadron": "{type} pour **{squadron}** mis à jour vers {channel}",
    "diagnose_channel_placeholder": "Sélectionner un salon à diagnostiquer...",
    "select_channel_diagnose": "Sélectionnez le salon à diagnostiquer :",
    "game_not_logged_title": "Partie non enregistrée",
    "game_not_logged_desc": "Utilisez `/unlock` pour souscrire au tier **Standard** (ou supérieur) et recevoir les tableaux de scores automatiques.",
    "server_not_upgraded_title": "⚠️ Serveur non mis à niveau",
    "server_not_upgraded_autolog_desc": "Ce serveur ne dispose pas d'un abonnement Premium actif.\n\n**Les tableaux de scores automatiques cesseront d'être envoyés aux serveurs non mis à niveau après le <t:{deadline}:D>.**\n\nUtilisez `/unlock` pour vous abonner et continuer à recevoir les logs de parties automatiques.",
    "replay_not_available": "Les données de replay ne sont pas encore disponibles — attendez un peu puis réessayez !",
    "too_many_videos": "Trop de vidéos en cours de rendu — veuillez réessayer dans un moment.",
    "video_gen_failed": "Erreur lors de la génération de la vidéo : `{error}`",
    "video_missing": "Échec de la génération de la vidéo de replay - fichier de sortie manquant ou vide.",
    "video_too_large": "Vidéo de replay trop grande pour être téléchargée ({file_mb:.1f} Mo). La limite du serveur est de {limit_mb:.0f} Mo.",
    "video_web_fallback": "Vous pouvez aussi voir ce match sur {url}",
    "video_upload_failed": "Vidéo trop grande pour être téléchargée — voyez-la sur le site :\n{url}",
    "video_unexpected_error": "Erreur inattendue lors de la génération de la vidéo de replay : `{error}`",
    "replay_not_found": "Données de replay introuvables pour la session `{session_id}` sur le disque.",
    "chat_log_title": "**Log de Chat pour la Partie [{session_id}]({url})**",
    "chat_log_part_title": "**Log de Chat pour la Partie [{session_id}]({url}) (Partie {part}/{total})**",
    "chat_log_part_only": "**Log de Chat (Partie {part}/{total})**",
    "no_chat_log": "Aucun log de chat trouvé pour la session `{session_id}`.",
    "chat_log_error": "Erreur inattendue lors du chargement du log de chat : `{error}`",
    "battle_log_title": "**Log de Bataille pour la Partie [{session_id}]({url})**",
    "battle_log_part_title": "**Log de Bataille pour la Partie [{session_id}]({url}) (Partie {part}/{total})**",
    "battle_log_part_only": "**Log de Bataille (Partie {part}/{total})**",
    "no_battle_log": "Aucun événement de combat trouvé pour la session `{session_id}`.",
    "battle_log_error": "Erreur inattendue lors du chargement du log de bataille : `{error}`",
    "points_update_title": "**{squadron} {region} Mise à jour des points**",
    "points_update_desc": "# {old_total} -> {new_total} {chart}{wl_line}{placement_line}\n\n**Changements des joueurs :**",
    "points_table_header": "Nom                Changement     Maintenant\n",
    "wl_line": "\n**{squadron}** a terminé **{wins}V-{losses}D** cette session",
    "placement_rose": "\n**{squadron}** est monté au **{new_place}** depuis le **{old_place}**",
    "placement_fell": "\n**{squadron}** est descendu au **{new_place}** depuis le **{old_place}**",
    "points_not_logged_title": "Points non enregistrés",
    "points_not_logged_desc": "Utilisez `/unlock` pour souscrire au tier **Standard** (ou supérieur) et recevoir les mises à jour automatiques des points.",
    "server_not_upgraded_points_desc": "Ce serveur ne dispose pas d'un abonnement Premium actif.\n\n**Les mises à jour automatiques cesseront d'être envoyées aux serveurs non mis à niveau après le <t:{deadline}:D>.**\n\nUtilisez `/unlock` pour vous abonner et continuer à recevoir les mises à jour automatiques.",
    "leave_title": "⚠️ Joueur ayant quitté {squadron}",
    "leave_desc": "**{nick}** ({uid}) a quitté l'escadron.\n\nDerniers points enregistrés : **{points}**",
    "no_squadrons_desc": "No squadrons configured",
    "no_channels_desc": "No channels available",
    "over_cap_title": "Escadron au-dessus de la limite du tier",
    "over_cap_desc": "Votre serveur est sur le tier **{tier}**, qui autorise **{cap} {notif}** escadrons. L'escadron **{squadron}** dépasse la limite et n'est pas enregistré. Passez à un tier supérieur pour le restaurer.",
    "over_cap_footer": "Mise à niveau sur sre.pawjob.us/premium ou via /unlock",
    "wildcard_blocked_title": "Le logging wildcard nécessite un tier supérieur",
    "wildcard_blocked_desc": "Les entrées wildcard (*, all, everything) ne sont disponibles que sur Pro ou Max. Votre serveur est sur **{tier}** pour {notif}. Mise à niveau requise.",
    "cap_header": "{used}/{cap} {notif} activés — tier {tier}"
  },
  "track": {
    "squadron_not_found": "Escadron introuvable.",
    "fetch_failed": "Échec de la récupération des informations de l'escadron."
  },
  "unlock": {
    "title": "SRE Bot Premium",
    "desc": "**Débloquez les fonctionnalités premium pour ce serveur.**\n\nPremium inclut :\n> • Publications automatiques de tableaux de scores\n> • Logs de chat et de bataille\n> • Recherches de replays\n> • Recherches /comp illimitées\n> • Support prioritaire\n\n**2,99 $ / mois · par serveur · résiliable à tout moment**\n\n⚠️ La facturation Discord n'est disponible que dans certains pays. Si le bouton ci-dessous affiche **«Produit Indisponible»**, cela peut être dû à un pays non pris en charge ou à l'utilisation d'un **appareil mobile**. Utilisez le bouton **S'abonner via le Site** à la place.",
    "already_subscribed_title": "SRE Bot Premium",
    "already_subscribed_desc": "✅ **Ce serveur est déjà abonné !**",
    "manage_discord_field": "Gérer l'Abonnement",
    "manage_discord_value": "Votre abonnement est via **Discord**.\nPour annuler, allez dans **Paramètres Utilisateur → Abonnements** sur Discord.",
    "manage_website_field": "Gérer l'Abonnement",
    "manage_website_value": "Votre abonnement est via le **site web**.\nGérez-le sur [whop.com/billing](https://whop.com/billing).",
    "coming_soon_field": "Bientôt disponible",
    "coming_soon_value": "Les abonnements Premium ne sont pas encore disponibles. Revenez bientôt !",
    "current_tier": "Vous êtes sur le plan **{tier}**.",
    "upgrade_to": "Passer à {tier}",
    "upgrade_to_value": "Plus d'escadrons et de fonctionnalités en passant à **{tier}**."
  },
  "language": {
    "prompt": "Veuillez sélectionner la langue de votre serveur :",
    "select_placeholder": "Choisissez la langue de votre serveur",
    "language_set": "Langue définie sur {language}.",
    "translate_prompt": "Sélectionne une langue cible ci-dessous 👇",
    "translate_placeholder": "Choisissez une langue cible…",
    "translate_result": "**{author} → {language} :**\n{text}",
    "translation_unavailable": "Traduction indisponible (DeepL non configuré)",
    "translation_failed": "Traduction échouée"
  },
  "misc": {
    "credits_title": "Crédits",
    "credits_desc": "**Meowww**\n\n> **NotSoToothless**  - Développeur Principal, Gestionnaire du Bot, Gestionnaire de Communauté\n> **Z3R0**            - Développeur, Développeur en Optimisation, Ingénieur Base de Données\n> **Clippii (Heidi)**          - Développeur, Développeur Web, Gestionnaire de Communauté\n> **LivingTheDagor**  - Développeur, Développeur de Parser, Consultant\n> **Lux_**            - Ingénieur API, Développeur Spectra\n> **Konigallerwaffen** - Consultant Retours et Fonctionnalités\n> **Žralok Tonda**    - Traducteur Tchèque\n> **Styevy**, **Lopais** - Traducteurs Allemands\n> **Susogus**, **playforfun698** - Traducteurs Polonais\n> **Bobr**            - Traducteur Russe\n\n\n[Envie de nous rejoindre ?](https://discord.gg/BCvkK8JhPe)",
    "schedule_title": "CALENDRIER DE SAISON",
    "schedule_not_found_title": "Calendrier introuvable",
    "schedule_not_found_desc": "Aucune donnée de calendrier n'est disponible pour l'instant.",
    "news_no_news_title": "Aucune actualité",
    "news_no_news_desc": "Il n'y a aucune annonce pour le moment. Revenez plus tard !",
    "news_footer": "Merci pour votre soutien ! ᙙᙖᘢ",
    "help_title": "Guide du Bot",
    "donate_title": "Soutenir SRE Bot",
    "donate_desc": "Si vous aimez utiliser SRE Bot et souhaitez soutenir son développement, pensez à m'offrir un café !\n\n**[Faire un don sur Ko-fi](https://ko-fi.com/notsotoothless)**\n\nChaque contribution aide à maintenir le bot en marche et soutient de nouvelles fonctionnalités. Merci !",
    "status_title": "Statut du bot",
    "status_last_received": "Dernière partie reçue",
    "status_avg_ttl": "TTL moyen (30 dernières)",
    "status_no_data": "Aucune donnée pour le moment",
    "status_gaijin_slow": "⚠️ Serveurs Gaijin lents",
    "help_commands_header": "**Aperçu des commandes**",
    "help_links": "Pour les détails, lis la documentation [ici]({docs}) ou demande du support [ici]({support}).",
    "help_terms": "[Conditions d'utilisation]({terms}) • [Politique de confidentialité]({terms})"
  },
  "dev": {
    "restricted_dev_team": "This command is restricted to the dev team.",
    "restricted_bot_owner": "❌ This command is restricted to the bot owner.",
    "invalid_server_id": "❌ Invalid server ID. Must be a 17-19 digit Discord server ID.",
    "expiry_too_soon": "❌ Expiry timestamp must be at least 1 month from now.\n> Now: <t:{now}:F>\n> Minimum: <t:{min}:F>\n> You provided: <t:{provided}:F>",
    "entitlement_write_failed": "❌ Failed to write entitlement: {error}",
    "entitlement_created_title": "✅ Manual Entitlement Created",
    "entitlement_created_desc": "**Server:** {guild_name} (`{server_id}`)\n**Expires:** <t:{unix_ts}:F> (<t:{unix_ts}:R>)\n**Created:** <t:{now}:F>",
    "query_failed": "Query failed: {error}",
    "health_title": "Bot Health Dashboard",
    "health_uptime": "Uptime",
    "health_guilds": "Guilds",
    "health_games_processed": "Games Processed",
    "health_tasks": "Tasks",
    "health_websocket": "WebSocket",
    "health_never": "never",
    "health_errors": "({count} errors)",
    "health_last_msg": "last msg {ago} ({count} total)",
    "health_avg_ttl": "Avg TTL (Last 30)",
    "entitlements_title": "Active Entitlements ({count} total)",
    "entitlements_no_entries": "No entitlements.",
    "entitlements_empty_title": "Active Entitlements",
    "entitlements_empty_desc": "No active entitlements found.",
    "entitlements_tag_discord": "Discord",
    "entitlements_tag_whop": "Whop",
    "entitlements_tag_manual": "Manual",
    "query_prefix": "Query: {name}"
  },
  "leaderboard_alarm": {
    "title": "🏆 Classement des Escadrons",
    "top15_desc": "Top 15 escadrons avec statistiques, envoyé 35 minutes après la clôture du créneau.\nCelui-ci envoyé <t:{timestamp}:R>.",
    "top30_desc": "Escadrons 16 à 30 avec statistiques.",
    "not_logged_title": "Classement non enregistré",
    "not_logged_desc": "Utilisez `/unlock` pour souscrire au tier **Standard** (ou supérieur) et recevoir les mises à jour automatiques du classement.",
    "server_not_upgraded_title": "⚠️ Serveur non mis à niveau",
    "server_not_upgraded_desc": "Ce serveur ne dispose pas d'un abonnement Premium actif.\n\n**Les mises à jour automatiques cesseront d'être envoyées aux serveurs non mis à niveau après le <t:{deadline}:D>.**\n\nUtilisez `/unlock` pour vous abonner et continuer à recevoir les mises à jour automatiques."
  },
  "stacks": {
    "stack_title": "Stack de {leader}",
    "stack_named_title": "{name}",
    "no_members": "Aucun membre pour l'instant.",
    "members_field": "Membres ({count}/{max})",
    "queue_field": "File d'attente ({count}/{max})",
    "manage_title": "Gérer le stack",
    "no_pending_requests": "Aucune demande en attente.",
    "disbanded_title": "Stack [Dissous]",
    "disbanded_desc": "Ce stack a été dissous par le chef.",
    "expired_title": "Stack [Expiré]",
    "expired_desc": "Ce stack a expiré.",
    "join_modal_title": "Demander à rejoindre le stack",
    "join_vehicle_label": "Avec quoi allez-vous jouer ?",
    "join_vehicle_placeholder": "ex. F-16C, WZ305...",
    "ping_modal_title": "Message de notification",
    "ping_message_label": "Message personnalisé (facultatif)",
    "ping_message_placeholder": "ex. Venez maintenant ! Le stack commence !",
    "rename_modal_title": "Renommer le stack",
    "rename_label": "Nom du stack",
    "rename_placeholder": "ex. Hiboux de nuit, Équipe Alpha...",
    "select_new_leader": "Sélectionner un nouveau chef…",
    "select_applicants": "Sélectionner des candidats…",
    "no_pending_applications": "Aucune candidature en attente.",
    "select_to_remove": "Sélectionner des personnes à retirer…",
    "no_members_or_applicants": "Aucun membre ni candidat.",
    "select_to_ping": "Sélectionner des personnes à notifier individuellement…",
    "stack_not_found": "❌ Stack introuvable.",
    "no_longer_exists": "❌ Ce stack n'existe plus.",
    "member_not_exists": "❌ Ce membre n'existe plus.",
    "already_has_stack": "❌ Ce joueur a déjà un stack actif.",
    "already_member": "❌ Vous êtes déjà membre de ce stack.",
    "already_applied": "❌ Vous avez déjà une candidature en attente pour ce stack.",
    "queue_full": "❌ La file d'attente est pleine ({max}/{max}). Réessayez plus tard.",
    "application_sent": "✅ Candidature envoyée ! Le chef du stack l'examinera.",
    "stack_disbanded": "✅ Stack dissous.",
    "cancelled": "Annulé.",
    "select_member_transfer": "❌ Veuillez sélectionner un membre pour le transfert.",
    "ownership_transferred": "✅ Direction transférée à {nick}. Vous avez quitté le stack.",
    "select_applicant_first": "❌ Veuillez d'abord sélectionner au moins un candidat.",
    "stack_full": "❌ Le stack est déjà plein ({max}/{max} membres).",
    "select_person_first": "❌ Veuillez d'abord sélectionner au moins une personne.",
    "no_one_to_ping": "❌ Personne à notifier.",
    "ping_footer": "Notifié par {leader} pour {stack}.",
    "pinged": "✅ Notifié !",
    "select_from_dropdown": "❌ Veuillez d'abord sélectionner au moins une personne dans le menu déroulant.",
    "stack_renamed": "✅ Stack renommé en **{name}**.",
    "only_member_use_disband": "❌ Vous êtes le seul membre. Utilisez **Dissoudre le stack** pour terminer.",
    "select_transfer_prompt": "Sélectionnez un membre à qui transférer la direction avant de partir :",
    "left_stack": "✅ Vous avez quitté le stack.",
    "application_withdrawn": "✅ Votre candidature a été retirée.",
    "not_member_or_applicant": "❌ Vous n'êtes ni membre ni candidat de ce stack.",
    "leader_only_manage": "❌ Seul le chef du stack peut le gérer.",
    "leader_only_disband": "❌ Seul le chef du stack peut le dissoudre.",
    "confirm_disband": "Êtes-vous sûr de vouloir dissoudre ce stack ? Cette action est irréversible.",
    "already_active_stack": "⚠️ Vous avez déjà un stack actif. Si le message original a disparu (ex. après redémarrage du bot), vous pouvez forcer la dissolution et recommencer.",
    "force_created": "✅ Stack précédent dissous. Nouveau stack créé.",
    "no_active_stack": "❌ Vous n'avez pas de stack actif. Utilisez `/stack-create` pour en créer un.",
    "could_not_parse_channel": "⚠️ Impossible de traiter l'ID du canal enregistré."
  },
  "commands": {
    "common": {
      "season": "La saison pour générer la carte",
      "theme": "Thème de couleur de la carte",
      "squadron_short": "Le nom court de l'escadron",
      "player_username": "Le pseudo du joueur",
      "choice_dark": "Sombre",
      "choice_light": "Clair"
    },
    "comp": {
      "description": "Trouver les dernières compos connues d'une équipe",
      "squadron_short": "Nom court de l'équipe ennemie"
    },
    "quick_log": {
      "description": "Créer une alerte pour cet escadron dans ce salon",
      "squadron_name": "Nom COURT de l'escadron à surveiller",
      "type": "Choisissez Logs, Points, Classement, BR Hebdomadaire ou Les deux",
      "choice_logs": "Logs",
      "choice_points": "Points",
      "choice_player_leave": "Départ de joueur",
      "choice_leaderboard": "Classement",
      "choice_both": "Les deux (Logs + Points)",
      "choice_weekly_br": "BR Hebdomadaire"
    },
    "sq_info": {
      "description": "Afficher les informations d'un escadron"
    },
    "sq_info_graph": {
      "description": "Afficher un graphique de la composition de l'effectif par activité et taux de victoire (saison actuelle)"
    },
    "sq_card": {
      "description": "Générer une carte de saison pour un escadron",
      "squadron": "Nom court de l'escadron"
    },
    "sq_stats": {
      "description": "Afficher les points d'un escadron dans le temps"
    },
    "loss_calculator": {
      "description": "Calculer la perte de points si des joueurs quittent un escadron",
      "player1": "Joueur qui part",
      "player_optional": "Joueur qui part (facultatif)"
    },
    "website": {
      "description": "Obtenir le lien du site SRE Bot"
    },
    "card": {
      "description": "Générer une carte de saison pour un joueur"
    },
    "player_stats": {
      "description": "Voir les statistiques détaillées des véhicules d'un joueur",
      "username": "Pseudo WT pour la demande de stats",
      "uid": "UID WT pour la demande de stats"
    },
    "view_player_games": {
      "description": "Voir les 20 dernières parties d'un joueur"
    },
    "view_match": {
      "description": "Voir un score de match par ID ou joueur",
      "match_id": "ID hex de session du match",
      "player_name": "Pseudo d'un joueur pour parcourir ses matchs récents"
    },
    "compare": {
      "description": "Comparer les stats SQB globales de joueurs",
      "player1": "Premier pseudo joueur",
      "player2": "Deuxième pseudo joueur",
      "player_optional": "Pseudo joueur supplémentaire (facultatif)"
    },
    "leaderboard": {
      "description": "Obtenir le classement global de SRE Bot"
    },
    "set_squadron": {
      "description": "Définir le tag d'escadron de ce serveur",
      "abbreviated_name": "Nom court de l'escadron à définir"
    },
    "setup": {
      "description": "Configurer le bot pour ce serveur"
    },
    "meta_management": {
      "description": "Gérer l'accès aux données méta de ce serveur"
    },
    "meta": {
      "description": "Chercher le roster méta par nom de véhicule",
      "vehicle": "Nom du véhicule à rechercher"
    },
    "top": {
      "description": "Voir le top 20 des escadrons avec stats détaillées"
    },
    "language": {
      "description": "Changer la langue du bot."
    },
    "translate_message": {
      "name": "Traduire le message"
    },
    "sq_track": {
      "description": "Suivre un escadron et comparer depuis la dernière vérification",
      "squadron_short_name": "Nom court de l'escadron à suivre"
    },
    "analytics": {
      "description": "Voir les analyses SQB avancées d'un escadron",
      "view": "Vue d'analyse à afficher",
      "choice_maps": "Taux de victoire par carte",
      "choice_comps": "Compositions d'équipe",
      "choice_consistency": "Régularité des joueurs",
      "choice_time": "Heure de la journée",
      "choice_matchups": "Historique des duels"
    },
    "recent": {
      "description": "Afficher les batailles récentes d'un escadron",
      "length": "Nombre de matchs à afficher"
    },
    "vs": {
      "description": "Face-à-face entre deux escadrons",
      "squadron_a": "Premier escadron",
      "squadron_b": "Deuxième escadron"
    },
    "autolog_management": {
      "description": "Gérer les notifications autolog et diagnostiquer les permissions"
    },
    "diagnose_perms": {
      "description": "Diagnostiquer les permissions autolog de ce salon"
    },
    "unlock": {
      "description": "Débloquer les fonctionnalités Premium pour ce serveur"
    },
    "credits": {
      "description": "Voir l'équipe créditée pour ce projet"
    },
    "schedule": {
      "description": "Voir le calendrier BR de la saison actuelle"
    },
    "news": {
      "description": "Voir les dernières nouvelles et annonces de SRE Bot"
    },
    "help": {
      "description": "Voir le guide, les CGU et les liens de support"
    },
    "donate": {
      "description": "Soutenir le développement de SRE Bot"
    },
    "stack_create": {
      "description": "Créer une stack de joueurs",
      "vehicle": "Avec quel véhicule vas-tu commencer ?"
    },
    "stack_manage": {
      "description": "Republier ta stack active dans ce salon"
    },
    "bot_status": {
      "description": "Voir le statut du bot : dernière partie reçue et TTL moyen"
    }
  },
  "permission": {
    "blacklisted_title": "❌ Liste noire",
    "blacklisted_desc": "Tu es bloqué et ne peux pas utiliser cette commande.",
    "reason_line": "**Raison :** {reason}",
    "access_denied_title": "⛔ Accès refusé",
    "no_permission_desc": "Tu n'as pas la permission d'utiliser cette commande.",
    "unexpected_error_title": "❗ Erreur, signale-la....",
    "tier_gate_title": "🔒 Premium requis",
    "tier_gate_standard_desc": "Cette commande nécessite un abonnement **Standard** ou supérieur. Utilise `/unlock` pour souscrire.",
    "tier_gate_pro_desc": "Cette commande nécessite un abonnement **Pro** ou supérieur. Utilise `/unlock` pour souscrire.",
    "tier_gate_max_desc": "Cette commande nécessite un abonnement **Max**. Utilise `/unlock` pour souscrire."
  },
  "weekly_br": {
    "title_wildcard": "Rapport BR hebdomadaire — {br} BR",
    "title_squadron": "Rapport BR hebdomadaire — [{tag}] {long}  •  {br} BR",
    "window_label": "Période : {start} → {end}",
    "wildcard_desc_first": "Top {count} escadrons par ELO • Rangs {low}–{high}",
    "wildcard_desc_second": "Top {count} escadrons par ELO • Rangs {low}–{high}",
    "squadron_stats_line": "- {games} parties  •  K/D {kdr}  •  Victoires {wr}%",
    "top_players_inline_header": "🥇 Meilleurs joueurs :",
    "player_line_short": "  {rank}. {nick}  ⭐ {score}  ({games}p)",
    "top_players_header": "**Top {count} joueurs par ELO :**",
    "player_line_full": "{rank}. **{nick}**  ⭐ {score}  •  {games} parties  •  K/D {kdr}",
    "squadron_header_line": "ELO escadron : {score}  •  {games} parties  •  Victoires {wr}%  •  K/D {kdr}",
    "squadron_header_no_aggregate": "ELO escadron : pas assez d'activité d'équipe cette semaine.",
    "no_data": "Aucun match enregistré pour [{tag}] cette rotation BR."
  }
}
