{
  "common": {
    "save": "Enregistrer",
    "saving": "Enregistrement?",
    "saved": "Enregistr?",
    "cancel": "Annuler",
    "confirm": "Confirmer",
    "delete": "Supprimer",
    "deleting": "Suppression?",
    "copy": "Copier",
    "copied": "Copi?",
    "loading": "Chargement?",
    "error": "Erreur",
    "done": "Fait",
    "back": "Retour",
    "continue": "Continuer",
    "skip": "Passer",
    "create": "Cr?er",
    "creating": "Cr?ation?",
    "generate": "G?n?rer",
    "verify": "V?rifier",
    "verifying": "V?rification?",
    "revoke": "R?voquer",
    "link": "Lier",
    "unlink": "Dissocier",
    "download": "T?l?charger",
    "signOut": "Se d?connecter",
    "adminPanel": "Panneau d'administration",
    "backToPanel": "Retour au panneau",
    "add": "Ajouter",
    "adding": "Ajout?",
    "test": "Tester",
    "testing": "Test en cours…",
    "import": "Importer",
    "importing": "Importation?",
    "export": "Exporter",
    "upload": "T?l?verser",
    "uploading": "T?l?versement?",
    "replace": "Remplacer",
    "remove": "Supprimer",
    "next": "Suivant",
    "prev": "Pr?c?dent",
    "edit": "Modifier",
    "purgeFromNode": "Purger les fichiers du nœud",
    "page": "Page {page}",
    "databaseTypes": {
      "mysql": "MySQL",
      "mariadb": "MariaDB",
      "postgresql": "PostgreSQL",
      "mongodb": "MongoDB",
      "redis": "Redis"
    },
    "deleted": "Supprimé",
    "updated": "Mis à jour",
    "created": "Créé"
  },
  "auth": {
    "login": {
      "title": "Content de te revoir",
      "subtitle": "Connectez-vous à votre compte.",
      "emailLabel": "E-mail",
      "emailPlaceholder": "vous@exemple.com",
      "emailRequired": "Un e-mail est requis.",
      "emailInvalid": "Entrez une adresse e-mail valide.",
      "passwordLabel": "Mot de passe",
      "passwordPlaceholder": "Entrez votre mot de passe",
      "passwordMinLength": "Le mot de passe doit comporter au moins 8 caractères.",
      "fixHighlighted": "Veuillez corriger les champs en surbrillance.",
      "submit": "Se connecter",
      "submitting": "Connexion…",
      "noAccount": "Pas encore de compte ?",
      "register": "Registre",
      "forgotPassword": "Mot de passe oublié ?",
      "signInFailed": "Impossible de se connecter."
    },
    "register": {
      "title": "Créer un compte",
      "subtitle": "Inscrivez-vous pour commencer.",
      "displayNameLabel": "Nom d'affichage (facultatif)",
      "displayNamePlaceholder": "Alex",
      "emailLabel": "E-mail",
      "emailPlaceholder": "vous@exemple.com",
      "emailRequired": "Un e-mail est requis.",
      "emailInvalid": "Entrez une adresse e-mail valide.",
      "passwordLabel": "Mot de passe",
      "passwordPlaceholder": "Créer un mot de passe",
      "passwordMinLength": "Le mot de passe doit comporter au moins 8 caractères.",
      "fixHighlighted": "Veuillez corriger les champs en surbrillance.",
      "submit": "Créer un compte",
      "submitting": "Création d'un compte…",
      "hasAccount": "Vous avez déjà un compte ?",
      "signIn": "Se connecter",
      "signUpFailed": "Impossible de créer un compte.",
      "signInAfterFailed": "Compte créé mais la connexion a échoué. Veuillez vous connecter."
    },
    "twoFactor": {
      "title": "Authentification à deux facteurs",
      "subtitleTotp": "Saisissez le code à 6 chiffres de votre application d'authentification.",
      "subtitleBackup": "Entrez l'un de vos codes de secours pour continuer.",
      "codeLabel": "Code d'authentification",
      "backupCodeLabel": "Code de sauvegarde",
      "codePlaceholder": "000000",
      "backupCodePlaceholder": "xxxxxxxx-xxxx",
      "verify": "V?rifier",
      "verifying": "V?rification?",
      "useBackupCode": "Utilisez plutôt un code de secours",
      "useAuthenticator": "Utilisez plutôt l'application d'authentification",
      "invalidCode": "Code invalide. Veuillez réessayer."
    },
    "errors": {
      "fallbackTitle": "Erreur d'authentification",
      "fallbackDescription": "Une erreur s'est produite lors de la connexion. Veuillez réessayer.",
      "backToLogin": "Retour à la connexion",
      "email_doesnt_match": {
        "title": "Incohérence des e-mails",
        "description": "L'e-mail du compte social ne correspond pas à votre profil. Essayez plutôt de créer un lien à partir des paramètres de votre compte."
      },
      "account_not_linked": {
        "title": "Compte non lié",
        "description": "Ce compte social n'est lié à aucun utilisateur. Connectez-vous avec votre e-mail et votre mot de passe, puis associez-le à partir des paramètres du compte."
      },
      "account_already_linked_to_different_user": {
        "title": "Compte déjà lié",
        "description": "Ce compte social est déjà connecté à un autre utilisateur."
      },
      "signup_disabled": {
        "title": "Inscription désactivée",
        "description": "L'enregistrement d'un nouveau compte est actuellement désactivé. Contactez votre administrateur."
      },
      "oauth_provider_not_found": {
        "title": "Fournisseur introuvable",
        "description": "Ce fournisseur de connexion n'est pas configuré. Contactez votre administrateur."
      },
      "unable_to_create_user": {
        "title": "Impossible de créer un compte",
        "description": "Une erreur s'est produite lors de la création de votre compte. Veuillez réessayer."
      },
      "unable_to_create_session": {
        "title": "Erreur de session",
        "description": "Une erreur s'est produite lors de la création de votre session. Veuillez réessayer."
      },
      "unable_to_link_account": {
        "title": "Impossible d'associer le compte",
        "description": "Une erreur s'est produite lors de l'association de votre compte. Veuillez réessayer."
      },
      "state_mismatch": {
        "title": "Demande expirée",
        "description": "La demande de connexion a expiré ou a été falsifiée. Veuillez réessayer."
      },
      "state_not_found": {
        "title": "Demande introuvable",
        "description": "La demande de connexion est introuvable. Veuillez réessayer."
      },
      "invalid_code": {
        "title": "Code invalide",
        "description": "Le code d'autorisation n'était pas valide ou avait déjà été utilisé. Veuillez réessayer."
      },
      "please_restart_the_process": {
        "title": "Veuillez réessayer",
        "description": "Une erreur s'est produite lors de la connexion. Veuillez recommencer le processus."
      }
    },
    "forgotPassword": {
      "title": "Mot de passe oublié ?",
      "subtitle": "Entrez votre adresse e-mail et nous vous enverrons un lien de réinitialisation.",
      "emailLabel": "E-mail",
      "emailPlaceholder": "vous@exemple.fr",
      "emailRequired": "L'adresse e-mail est requise.",
      "emailInvalid": "Entrez une adresse e-mail valide.",
      "submit": "Envoyer le lien de réinitialisation",
      "submitting": "Envoi…",
      "successTitle": "Vérifiez votre boîte de réception",
      "successMessage": "Si cet e-mail est enregistré, un lien de réinitialisation est en route.",
      "backToLogin": "Retour à la connexion",
      "requestFailed": "Impossible d'envoyer le lien de réinitialisation."
    },
    "resetPassword": {
      "title": "Définir un nouveau mot de passe",
      "subtitle": "Choisissez un mot de passe fort pour votre compte.",
      "passwordLabel": "Nouveau mot de passe",
      "passwordPlaceholder": "Créez un nouveau mot de passe",
      "confirmLabel": "Confirmer le mot de passe",
      "confirmPlaceholder": "Répétez votre mot de passe",
      "passwordMinLength": "Le mot de passe doit comporter au moins 8 caractères.",
      "passwordsNoMatch": "Les mots de passe ne correspondent pas.",
      "submit": "Réinitialiser le mot de passe",
      "submitting": "Enregistrement…",
      "invalidToken": "Ce lien de réinitialisation est invalide ou a expiré.",
      "resetFailed": "Impossible de réinitialiser le mot de passe.",
      "backToLogin": "Retour à la connexion"
    },
    "social": {
      "continueWith": "Continuez avec {provider}",
      "redirecting": "Redirection…",
      "or": "ou",
      "tagline": "Déployez, surveillez et gérez vos serveurs de jeu depuis un seul endroit."
    }
  },
  "nav": {
    "panel": {
      "gameServers": "Serveurs de jeux",
      "account": "Compte",
      "allServers": "Tous les serveurs",
      "wallet": "Portefeuille",
      "shop": "Boutique"
    },
    "server": {
      "console": "Console",
      "files": "Fichiers",
      "databases": "Bases de données",
      "schedules": "Horaires",
      "users": "Utilisateurs",
      "backups": "Sauvegardes",
      "network": "Réseau",
      "settings": "Paramètres",
      "activity": "Activité",
      "plugins": "Plugins",
      "mods": "Mods"
    },
    "admin": {
      "dashboard": "Tableau de bord",
      "nodes": "Emplacements & Nœuds",
      "nestsAndEggs": "Nids et œufs",
      "databaseHosts": "Hôtes de base de données",
      "servers": "Serveurs",
      "users": "Utilisateurs",
      "activity": "Activité",
      "settings": "Paramètres",
      "billing": "Facturation"
    }
  },
  "panel": {
    "servers": {
      "noServersTitle": "Pas encore de serveurs",
      "noServersDescription": "Vos serveurs apparaîtront ici une fois créés.",
      "noAllocation": "Aucune allocation"
    },
    "serverStatus": {
      "installing": "Installation",
      "install_failed": "Échoué",
      "suspended": "Suspendu",
      "restoring_backup": "Restauration",
      "running": "En cours d'exécution",
      "starting": "Départ",
      "stopping": "Arrêt",
      "offline": "Hors ligne"
    },
    "console": {
      "start": "Démarrer",
      "restart": "Redémarrer",
      "kill": "Tuer",
      "stop": "Arrêter",
      "waitingOutput": "En attente de la sortie console…",
      "commandPlaceholder": "Tapez une commande…",
      "statsAddress": "Adresse",
      "statsUptime": "Disponibilité",
      "statsCpu": "CPU",
      "statsMemory": "Mémoire",
      "statsDisk": "Disque",
      "statsInbound": "Entrant",
      "statsOutbound": "Sortant",
      "eulaTitle": "CLUF Minecraft",
      "eulaDescription": "Ce serveur nécessite que vous acceptiez le Contrat de licence utilisateur final de Minecraft avant de démarrer. En acceptant, vous acceptez les conditions disponibles sur aka.ms/MinecraftEULA.",
      "eulaAccept": "Accepter et continuer",
      "eulaAcceptedToast": "CLUF accepté. Redémarrez le serveur pour appliquer les modifications.",
      "eulaErrorToast": "Impossible d'accepter le CLUF",
      "javaTitle": "Version Java incompatible",
      "javaDescription": "Le serveur nécessite une version Java différente. Mettez à jour la variable de démarrage JAVA_VERSION dans les paramètres.",
      "javaApply": "Appliquer et redémarrer",
      "javaImageUpdatedToast": "Image Docker mise à jour. Redémarrez le serveur pour appliquer les modifications.",
      "javaGoToSettings": "Aller aux paramètres"
    },
    "server": {
      "suspended": "Suspendu",
      "installing": "Installation",
      "suspendedTitle": "Serveur suspendu",
      "suspendedDescription": "L'accès à ce serveur a été restreint par un administrateur. Contactez le support si vous pensez que c'est une erreur.",
      "installingTitle": "Installation en cours",
      "installingDescription": "Votre serveur est en cours d'installation. Cela prend généralement une ou deux minutes selon la configuration de l'egg. La page se rafraîchira automatiquement une fois prête."
    },
    "plugins": {
      "searchPlaceholder": "Rechercher des plugins Modrinth…",
      "featuredTitle": "Plugins en vedette",
      "searchResultsTitle": "Résultats de recherche",
      "noResults": "Aucun plugin trouvé",
      "downloads": "{count} téléchargements",
      "install": "Installer",
      "installing": "Installation…",
      "installSuccess": "Plugin mis en file de téléchargement. Vérifiez l'onglet Fichiers dans un moment.",
      "installError": "Échec de l'installation du plugin",
      "loaderLabel": "Chargeur",
      "versionLabel": "Version",
      "notSupported": "L'installateur de plugins n'est pas disponible pour ce type de serveur.",
      "notSupportedHint": "Demandez à un administrateur d'activer la fonctionnalité minecraft_plugins sur cet egg.",
      "selectVersion": "Sélectionner une version",
      "modrinthLink": "Voir sur Modrinth",
      "loadingVersions": "Chargement des versions…",
      "noVersions": "Aucune version compatible trouvée",
      "author": "par {author}",
      "updated": "Mis à jour",
      "categories": "Catégories",
      "close": "Fermer",
      "noDescription": "Aucune description disponible.",
      "links": "Liens",
      "tags": "Tags",
      "creators": "Créateurs",
      "details": "Détails",
      "viewSource": "Voir le code source",
      "joinDiscord": "Rejoindre Discord",
      "reportIssues": "Signaler un problème",
      "wiki": "Wiki",
      "donateOn": "Faire un don sur {platform}",
      "publishedAgo": "Publié {time}",
      "updatedAgo": "Mis à jour {time}"
    },
    "mods": {
      "searchPlaceholder": "Rechercher des mods Modrinth…",
      "featuredTitle": "Mods en vedette",
      "searchResultsTitle": "Résultats de recherche",
      "noResults": "Aucun mod trouvé",
      "downloads": "{count} téléchargements",
      "install": "Installer",
      "installing": "Installation…",
      "installSuccess": "Mod mis en file de téléchargement. Vérifiez l'onglet Fichiers dans un moment.",
      "installError": "Échec de l'installation du mod",
      "loaderLabel": "Chargeur",
      "versionLabel": "Version",
      "mcVersionLabel": "MC {version}",
      "notSupported": "L'installateur de mods n'est pas disponible pour ce type de serveur.",
      "notSupportedHint": "Demandez à un administrateur d'activer la fonctionnalité minecraft_mods sur cet egg.",
      "selectVersion": "Sélectionner une version",
      "modrinthLink": "Voir sur Modrinth",
      "loadingVersions": "Chargement des versions…",
      "noVersions": "Aucune version compatible trouvée",
      "author": "par {author}",
      "updated": "Mis à jour",
      "categories": "Catégories",
      "close": "Fermer",
      "noDescription": "Aucune description disponible.",
      "links": "Liens",
      "tags": "Tags",
      "creators": "Créateurs",
      "details": "Détails",
      "viewSource": "Voir le code source",
      "joinDiscord": "Rejoindre Discord",
      "reportIssues": "Signaler un problème",
      "wiki": "Wiki",
      "donateOn": "Faire un don sur {platform}",
      "publishedAgo": "Publié {time}",
      "updatedAgo": "Mis à jour {time}"
    },
    "files": {
      "newFile": "Nouveau fichier",
      "uploadFiles": "Téléverser des fichiers",
      "loading": "Chargement…",
      "binaryFile": "Fichier binaire",
      "binaryFileNote": "Impossible à modifier dans le navigateur",
      "noFileSelected": "Aucun fichier sélectionné",
      "noFileSelectedHint": "Sélectionnez un fichier dans le panneau pour l'afficher ou le modifier",
      "saving": "Enregistrement…",
      "save": "Enregistrer",
      "dropToUpload": "Déposer les fichiers pour les téléverser",
      "rename": "Renommer",
      "delete": "Supprimer",
      "actions": "Actions",
      "deleteFileTitle": "Supprimer le fichier ?",
      "deleteFileDescription": "Cela supprimera définitivement {name}. Cette action est irréversible.",
      "archive": "Archiver",
      "unarchive": "Extraire",
      "download": "Télécharger",
      "selectedCount": "{count} sélectionnés",
      "clearSelection": "Effacer la sélection",
      "deleteSelectedDescription": "Cela supprimera définitivement {count} éléments sélectionnés. Cette action est irréversible.",
      "archiveDescription": "Empaquete les éléments sélectionnés dans une seule archive.",
      "archiveName": "Nom de l'archive",
      "archiveNamePlaceholder": "Laisser vide pour générer automatiquement",
      "archiveFormat": "Format",
      "createArchive": "Créer l'archive",
      "cancel": "Annuler"
    },
    "databases": {
      "createTitle": "Nouvelle base de données",
      "createDescription": "Créez une base de données pour ce serveur.",
      "databaseNameLabel": "Nom de la base de données",
      "databaseNameHint": "Lettres, chiffres et tirets bas uniquement.",
      "databaseTypeLabel": "Type de base de données",
      "noTypesAvailable": "Aucun type de base de données n'est encore disponible pour ce serveur. Demandez à un administrateur d'ajouter un hôte.",
      "cancel": "Annuler",
      "creating": "Création…",
      "createDatabase": "Créer la base de données",
      "rotating": "Rotation…",
      "rotatePassword": "Changer le mot de passe",
      "rotateConfirmTitle": "Faire pivoter le mot de passe de la base de données ?",
      "rotateConfirmDesc": "Cela génère immédiatement un nouveau mot de passe. Tout ce qui utilise encore l'ancien mot de passe perdra l'accès jusqu'à sa mise à jour.",
      "delete": "Supprimer",
      "fieldUsername": "Nom d'utilisateur",
      "fieldPassword": "Mot de passe",
      "fieldHost": "Hôte",
      "fieldPort": "Port",
      "fieldConnectionString": "Chaîne de connexion",
      "fieldConnectionStringNoKeyspace": "Chaîne de connexion (accès complet, aucune isolation d'espace de clés)",
      "sectionTitle": "Bases de données",
      "newDatabase": "Nouvelle base de données",
      "loading": "Chargement…",
      "empty": "Aucune base de données",
      "createFirst": "Créer la première base de données",
      "statDatabases": "Bases de données",
      "statHost": "Hôte",
      "statNote": "Note",
      "statNoteText": "Les bases de données sont provisionnées sur un hôte de base de données configuré par votre administrateur. Les identifiants sont uniques par base de données et ne peuvent pas être partagés entre les serveurs."
    },
    "schedules": {
      "createTitle": "Créer un planning",
      "createDescription": "Configurez une tâche automatisée en utilisant la syntaxe cron.",
      "nameLabel": "Nom du planning",
      "namePlaceholder": "Redémarrage quotidien",
      "cronExpression": "Expression Cron",
      "cronMinute": "Minute",
      "cronHour": "Heure",
      "cronDay": "Jour",
      "cronWeekday": "Jour de la semaine",
      "cancel": "Annuler",
      "creating": "Création…",
      "createSchedule": "Créer le planning",
      "addTaskTitle": "Ajouter une tâche",
      "addTaskDescription": "Les tâches s'exécutent en séquence lorsque le planning se déclenche.",
      "actionLabel": "Action",
      "actionCommandDesc": "Commande — exécuter une commande console",
      "actionPowerDesc": "Alimentation — changer l'état d'alimentation du serveur",
      "actionBackupDesc": "Sauvegarde — créer une sauvegarde du serveur",
      "commandLabel": "Commande",
      "powerActionLabel": "Action d'alimentation",
      "delayLabel": "Délai après le précédent (secondes)",
      "continueOnFailure": "Continuer en cas d'échec",
      "continueOnFailShort": "continuer en cas d'échec",
      "adding": "Ajout…",
      "addTask": "Ajouter une tâche",
      "noTasks": "Aucune tâche — ce planning ne fait rien tant que vous n'en ajoutez pas.",
      "actionCommand": "Commande",
      "actionPower": "Alimentation",
      "actionBackup": "Sauvegarde",
      "sectionTitle": "Plannings",
      "newSchedule": "Nouveau planning",
      "colName": "Nom",
      "colCron": "Cron",
      "colLastRun": "Dernière exécution",
      "colNextRun": "Prochaine exécution",
      "loading": "Chargement…",
      "empty": "Aucun planning",
      "createFirst": "Créer le premier planning",
      "enable": "Activer",
      "disable": "Désactiver",
      "taskCount": "{count, plural, one {# tâche} other {# tâches}}",
      "statSchedules": "Plannings",
      "statEnabled": "Activés",
      "statDisabled": "Désactivés",
      "statNextRun": "Prochaine exécution",
      "cronEveryMinute": "Chaque minute",
      "cronEveryNMinutes": "{n, plural, one {Chaque minute} other {Toutes les # minutes}}",
      "cronEveryHour": "Chaque heure",
      "cronEveryNHours": "{n, plural, one {Chaque heure} other {Toutes les # heures}}",
      "cronEveryDayAt": "Chaque jour à {time}",
      "cronEveryWeekdayAt": "Chaque {weekday} à {time}",
      "cronMonthlyOnDay": "Mensuellement le {day} à {time}",
      "cronOnDayOrWeekday": "Le {day} ou {weekday} à {time}",
      "dow": {
        "sunday": "dimanche",
        "monday": "lundi",
        "tuesday": "mardi",
        "wednesday": "mercredi",
        "thursday": "jeudi",
        "friday": "vendredi",
        "saturday": "samedi"
      }
    },
    "users": {
      "inviteTitle": "Inviter un utilisateur",
      "inviteDescription": "Entrez l'adresse e-mail de l'utilisateur que vous souhaitez ajouter à ce serveur.",
      "emailLabel": "Adresse e-mail",
      "permissionsLabel": "Permissions",
      "selectAll": "Tout sélectionner",
      "deselectAll": "Tout désélectionner",
      "cancel": "Annuler",
      "inviting": "Invitation…",
      "inviteUser": "Inviter l'utilisateur",
      "sectionTitle": "Sous-utilisateurs",
      "colUser": "Utilisateur",
      "colActions": "Actions",
      "loading": "Chargement…",
      "empty": "Aucun sous-utilisateur",
      "inviteFirst": "Inviter le premier utilisateur",
      "statSubusers": "Sous-utilisateurs",
      "statNote": "Note",
      "statNoteText": "Les sous-utilisateurs ont uniquement accès au panneau. Les permissions sont limitées à ce serveur et n'accordent pas l'accès à la facturation ou aux paramètres du compte.",
      "inviteSuccess": "Utilisateur invité"
    },
    "backups": {
      "restoreTitle": "Restaurer la sauvegarde",
      "restoreDescription": "La restauration de {name} écrasera les fichiers actuels du serveur. Cette action est irréversible.",
      "cancel": "Annuler",
      "restoring": "Restauration…",
      "restoreBackup": "Restaurer la sauvegarde",
      "deleteTitle": "Supprimer la sauvegarde",
      "deleteDescription": "Êtes-vous sûr de vouloir supprimer {name} ? Cette action est irréversible.",
      "deleting": "Suppression…",
      "deleteBackup": "Supprimer la sauvegarde",
      "createTitle": "Créer une sauvegarde",
      "createDescription": "Donnez un nom à cette sauvegarde pour l'identifier plus tard.",
      "nameLabel": "Nom de la sauvegarde",
      "creating": "Création…",
      "createBackup": "Créer une sauvegarde",
      "sectionTitle": "Sauvegardes",
      "colName": "Nom",
      "colSize": "Taille",
      "colCreated": "Créé",
      "loading": "Chargement…",
      "empty": "Aucune sauvegarde",
      "createFirst": "Créer la première sauvegarde",
      "download": "Télécharger",
      "restore": "Restaurer",
      "delete": "Supprimer",
      "statBackups": "Sauvegardes",
      "statTotalSize": "Taille totale",
      "statLastBackup": "Dernière sauvegarde",
      "restoreSuccess": "Sauvegarde restaurée",
      "downloadsDisabledHint": "Les téléchargements de sauvegardes sont indisponibles car la destination de stockage n'autorise pas les téléchargements publics.",
      "backupToGDrive": "Sauvegarde sur Google Drive",
      "gdriveBadgeHint": "Cette sauvegarde est stockée dans le Google Drive de l'utilisateur"
    },
    "network": {
      "colIp": "Adresse IP",
      "colPort": "Port",
      "colType": "Type",
      "loading": "Chargement…",
      "noAllocation": "Aucune allocation assignée",
      "typePrimary": "Principale",
      "statPrimary": "Principale",
      "statAllocations": "Allocations",
      "statNote": "Note",
      "statNoteText": "L'allocation principale est utilisée comme adresse de connexion du serveur."
    },
    "settings": {
      "generalTitle": "Général",
      "generalDescription": "Configuration de base du serveur.",
      "serverNameLabel": "Nom du serveur",
      "serverNameDescription": "Affiché dans le panneau.",
      "dockerImageLabel": "Image Docker",
      "dockerImageDescription": "Image du conteneur utilisée pour exécuter ce serveur.",
      "sftpTitle": "SFTP",
      "sftpDescription": "Utilisez ces identifiants pour vous connecter via n'importe quel client SFTP. Votre mot de passe du panneau est utilisé pour l'authentification.",
      "sftpHost": "Hôte",
      "sftpPort": "Port",
      "sftpUsername": "Nom d'utilisateur",
      "sftpConnectHint": "Ouvre votre client SFTP local via le gestionnaire de protocole.",
      "sftpConnect": "Connecter",
      "startupTitle": "Démarrage",
      "startupDescription": "Commande de démarrage du serveur et variables.",
      "startupCommandLabel": "Commande de démarrage",
      "readOnly": "lecture seule",
      "subscriptionTitle": "Abonnement",
      "subscriptionDescription": "Gérez l'abonnement de votre serveur et son renouvellement.",
      "subscriptionExpiresLabel": "Expire le",
      "subscriptionExtendLabel": "Prolonger le serveur",
      "subscriptionExtendDescription": "Ajoutez du temps à votre serveur en utilisant le solde de votre portefeuille.",
      "subscriptionExtendButton": "Prolonger",
      "subscriptionExtendDialogTitle": "Prolonger le serveur",
      "subscriptionExtendDialogDescription": "Choisissez une durée à ajouter à votre date d'expiration actuelle.",
      "subscriptionExtendConfirm": "Confirmer la prolongation",
      "subscriptionExtendSuccess": "Serveur prolongé avec succès.",
      "subscriptionExtendExpiringSoon": "Ce serveur expire bientôt.",
      "subscriptionExtendInsufficientFunds": "Solde du portefeuille insuffisant.",
      "subscriptionNoSubscription": "Aucun abonnement actif.",
      "subscriptionExtending": "Prolongation…",
      "dangerZoneTitle": "Zone de danger",
      "dangerZoneDescription": "Actions irréversibles affectant ce serveur.",
      "reinstallLabel": "Réinstaller le serveur",
      "reinstallDescription": "Relance l'installateur de l'egg. Les fichiers de script d'installation seront écrasés — les autres données du serveur sont généralement conservées, mais ce n'est pas garanti.",
      "reinstall": "Réinstaller",
      "reinstalling": "Réinstallation…",
      "reinstallDialogTitle": "Réinstaller « {name} » ?",
      "reinstallDialogDescription": "Cela relancera l'installateur de l'egg. Les fichiers créés par l'installateur seront écrasés. Les autres données du serveur sont généralement conservées, mais ce n'est pas garanti. Le serveur sera temporairement indisponible.",
      "cancel": "Annuler",
      "statServerId": "ID du serveur",
      "statNode": "Nœud",
      "statEgg": "Egg",
      "statSftpHost": "Hôte SFTP",
      "selectEggTitle": "Choisir le type de jeu",
      "selectEggDescription": "Sélectionnez le type de jeu pour cette réinstallation.",
      "selectEggLabel": "Type de jeu",
      "reinstallContinue": "Continuer",
      "reinstallTriggeredToast": "Réinstallation lancée"
    },
    "activity": {
      "colTimestamp": "Horodatage",
      "colEvent": "Événement",
      "colActor": "Acteur",
      "colDetails": "Détails",
      "colIp": "Adresse IP",
      "loading": "Chargement…",
      "empty": "Aucune activité",
      "system": "Système",
      "statEvents": "Événements",
      "statPowerEvents": "Événements d'alimentation",
      "statFileWrites": "Écritures de fichiers",
      "statBackups": "Sauvegardes",
      "eventPowerStart": "Alimentation : Démarrage",
      "eventPowerStop": "Alimentation : Arrêt",
      "eventPowerRestart": "Alimentation : Redémarrage",
      "eventPowerKill": "Alimentation : Tuer",
      "eventBackupCreate": "Sauvegarde : Créer",
      "eventBackupDelete": "Sauvegarde : Supprimer",
      "eventBackupRestore": "Sauvegarde : Restaurer",
      "eventFilesRead": "Fichiers : Lire",
      "eventFilesWrite": "Fichiers : Écrire",
      "eventSettingsUpdate": "Paramètres : Mettre à jour",
      "eventServerReinstall": "Serveur : Réinstaller",
      "eventDatabaseCreate": "Base de données : Créer",
      "eventDatabaseDelete": "Base de données : Supprimer",
      "eventDatabaseRotatePassword": "Base de données : Changer le mot de passe",
      "eventScheduleCreate": "Planning : Créer",
      "eventScheduleUpdate": "Planning : Mettre à jour",
      "eventScheduleDelete": "Planning : Supprimer",
      "eventUsersAdd": "Utilisateurs : Ajouter",
      "eventUsersUpdate": "Utilisateurs : Mettre à jour",
      "eventUsersRemove": "Utilisateurs : Supprimer"
    },
    "billing": {
      "title": "Facturation",
      "subtitle": "Choisissez un plan adapté à vos besoins.",
      "shopTitle": "Boutique",
      "shopSubtitle": "Choisissez un plan adapté à vos besoins.",
      "empty": "Aucune catégorie de plans disponible pour l'instant.",
      "backToCategories": "Toutes les catégories",
      "noPlans": "Aucun plan disponible dans cette catégorie pour l'instant.",
      "plans": "plans",
      "plan": "plan",
      "featured": "Vedette",
      "getStarted": "Commencer",
      "selectPlan": "Choisir un plan",
      "soldOut": "Épuisé",
      "startingFrom": "À partir de",
      "walletBalance": "Portefeuille : {balance}",
      "topUpRequired": "Recharger pour acheter",
      "purchaseSuccess": "Serveur déployé ! Redirection…",
      "purchaseDialog": {
        "title": "Configurer votre serveur",
        "stepDuration": "Période de facturation",
        "stepInstaller": "Installateur",
        "stepConfig": "Configurer",
        "stepConfirm": "Confirmer",
        "serverName": "Nom du serveur",
        "serverNamePlaceholder": "Mon serveur de jeu",
        "chooseInstaller": "Choisir un installateur",
        "noInstallers": "Aucun installateur configuré pour ce plan.",
        "noConfig": "Aucune option configurable pour cet installateur.",
        "dockerImage": "Image Docker",
        "showMore": "Afficher {count} de plus",
        "showLess": "Afficher moins",
        "envVars": "Variables d'environnement",
        "back": "Retour",
        "next": "Suivant",
        "deploying": "Déploiement…",
        "deploy": "Déployer le serveur",
        "priceLabel": "{price} / {duration}",
        "summaryPlan": "Plan",
        "summaryDuration": "Durée",
        "summaryInstaller": "Installateur",
        "summaryImage": "Image Docker",
        "summaryTotal": "Total",
        "noAllocations": "Aucun slot serveur disponible. Veuillez contacter le support."
      },
      "errors": {
        "insufficientFunds": "Solde insuffisant. Veuillez recharger d'abord.",
        "currencyMismatch": "La devise de votre portefeuille ne correspond pas à ce plan.",
        "alreadySubscribed": "Vous avez déjà un abonnement actif pour ce plan.",
        "noAllocations": "Aucun slot serveur disponible. Veuillez contacter le support.",
        "noCapacity": "Ce plan est actuellement épuisé. Veuillez réessayer plus tard.",
        "purchaseFailed": "Achat échoué. Veuillez réessayer."
      },
      "durations": {
        "7day": "7 jours",
        "1month": "Mensuel",
        "3months": "3 mois",
        "6months": "6 mois",
        "1year": "Annuel"
      },
      "specs": {
        "cpu": "vCPU",
        "ram": "Go RAM",
        "disk": "Go disque",
        "backups": "Sauvegardes",
        "allocations": "Allocations",
        "databases": "Bases de données"
      },
      "wallet": {
        "title": "Mon portefeuille",
        "backToBilling": "Facturation",
        "balance": "Solde",
        "topUp": "Recharger",
        "viewWallet": "Voir le portefeuille",
        "transactions": "Historique des transactions",
        "noTransactions": "Aucune transaction",
        "noTransactionsHint": "Votre activité de portefeuille apparaîtra ici après votre premier rechargement.",
        "balanceAfter": "Solde après",
        "topUpSuccess": "Portefeuille rechargé avec succès",
        "topUpError": "Impossible de démarrer le paiement. Veuillez réessayer.",
        "noGateway": "Aucun fournisseur de paiement actif configuré. Contactez votre administrateur.",
        "topUpSheet": {
          "title": "Recharger le portefeuille",
          "description": "Sélectionnez un montant à ajouter à votre solde.",
          "customAmount": "Montant personnalisé",
          "customAmountPlaceholder": "Saisir le montant",
          "total": "Total",
          "confirm": "Procéder au paiement",
          "processing": "Traitement…"
        },
        "chooseProvider": "Choisir un mode de paiement",
        "chooseProviderDesc": "Sélectionnez comment vous souhaitez recharger votre portefeuille.",
        "back": "Retour",
        "types": {
          "topup": "Rechargement",
          "refund": "Remboursement",
          "charge": "Débit",
          "adjustment": "Ajustement",
          "expired": "Expiré"
        },
        "txDescriptions": {
          "referral_bonus": "Bonus de parrainage",
          "referral_commission": "Commission de parrainage",
          "wallet_topup": "Rechargement du portefeuille via le fournisseur de paiement",
          "wallet_topup_via": "Rechargement du portefeuille via {provider}",
          "extension": "Prolongation"
        },
        "referral": {
          "title": "Programme de parrainage",
          "subtitle": "Partagez votre code et gagnez des récompenses quand vos amis rechargent.",
          "yourCode": "Votre code de parrainage",
          "yourCodeDesc": "Partagez ce code avec vos amis pour gagner des récompenses.",
          "create": "Créer",
          "save": "Enregistrer",
          "cancel": "Annuler",
          "codePlaceholderCreate": "ex. MONCODE",
          "enterCode": "Vous avez un code de parrainage ?",
          "enterCodeDesc": "Entrez le code d'un ami pour obtenir votre récompense.",
          "codePlaceholder": "ex. STRUXA-ABCD",
          "apply": "Appliquer",
          "applySuccess": "Code de parrainage appliqué ! Votre bonus sera crédité à chaque rechargement.",
          "usageCount": "Utilisé par {count} {count, plural, one {personne} other {personnes}}",
          "errorSelfReferral": "Vous ne pouvez pas utiliser votre propre code de parrainage.",
          "errorAlreadyApplied": "Vous avez déjà appliqué un code de parrainage.",
          "errorCodeNotFound": "Code de parrainage introuvable ou plus actif.",
          "errorCodeTaken": "Ce code est déjà pris. Essayez-en un autre.",
          "errorGeneric": "Une erreur s'est produite. Veuillez réessayer.",
          "editCode": "Modifier le code de parrainage",
          "generateSuccess": "Code de parrainage créé",
          "updateSuccess": "Code de parrainage mis à jour"
        }
      }
    }
  },
  "account": {
    "tabs": {
      "profile": "Profil",
      "apiKeys": "Clés API",
      "billing": "Facturation"
    },
    "profile": {
      "personalInfoTitle": "Informations personnelles",
      "displayNameLabel": "Nom d'affichage",
      "emailLabel": "E-mail",
      "displayNamePlaceholder": "Votre nom",
      "save": "Enregistrer",
      "saving": "Enregistrement?",
      "saved": "Enregistr?",
      "avatarOnlyImages": "Seules les images JPEG, PNG, WebP ou GIF sont autorisées.",
      "avatarTooLarge": "L'image doit être inférieure à 5 Mo.",
      "avatarUpdated": "Avatar mis à jour",
      "loading": "Chargement?"
    },
    "security": {
      "twoFactorTitle": "Authentification à deux facteurs",
      "twoFactorDescription": "Ajoutez une couche de sécurité supplémentaire à votre compte avec TOTP.",
      "twoFactorEnabled": "Activé",
      "twoFactorDisabled": "Désactivé",
      "backupCodes": "Codes de sauvegarde",
      "enableTfa": "Activer 2FA",
      "disableTfa": "Désactiver 2FA",
      "enableTfaDialogTitle": "Activer l'authentification à deux facteurs",
      "disableTfaDialogTitle": "Désactiver l'authentification à deux facteurs",
      "disableTfaDialogDesc": "Entrez votre mot de passe pour confirmer.",
      "backupCodesDialogTitle": "Codes de sauvegarde",
      "backupCodesDialogDescPassword": "Entrez votre mot de passe pour générer de nouveaux codes de sauvegarde.",
      "backupCodesDialogDescCodes": "Conservez ces codes dans un endroit sûr. Chaque code ne peut être utilisé qu'une seule fois.",
      "passwordLabel": "Mot de passe",
      "passwordPlaceholder": "Mot de passe de votre compte",
      "enterPasswordDesc": "Entrez votre mot de passe pour continuer.",
      "scanDesc": "Scannez le code QR avec votre application d'authentification, puis saisissez le code ci-dessous.",
      "codesDesc": "Enregistrez vos codes de sauvegarde dans un endroit sûr. Chaque code ne peut être utilisé qu'une seule fois.",
      "verificationCode": "Le code de vérification",
      "verificationCodePlaceholder": "Code à 6 chiffres",
      "manualKeyToggle": "Vous avez des problèmes ? Saisir la clé manuellement",
      "yourBackupCodes": "Vos codes de secours",
      "copyAll": "Copier tout",
      "backupCodesCopied": "Codes de sauvegarde copiés",
      "tfaEnabled": "Authentification à deux facteurs activée",
      "tfaDisabled": "Authentification à deux facteurs désactivée",
      "previousCodesInvalid": "Les codes de sauvegarde précédents sont désormais invalides.",
      "continuing": "Suite…",
      "verifyAndEnable": "Vérifier et activer",
      "disabling": "Désactivation…",
      "generating": "Générateur…",
      "sessionsTitle": "Séances actives",
      "sessionsDescription": "Tous les appareils actuellement connectés à votre compte.",
      "noSessions": "Aucune séance trouvée.",
      "currentSession": "actuel",
      "unknownIp": "IP inconnue",
      "revokeSession": "Révoquer"
    },
    "connectedAccounts": {
      "title": "Comptes connectés",
      "description": "Associez les fournisseurs de connexion sociale à votre compte.",
      "linked": "lié",
      "linkFailed": "Échec de l'association du compte",
      "unlinkFailed": "Échec de la dissociation du compte",
      "unlinked": "Compte dissocié"
    },
    "password": {
      "changeTitle": "Changer le mot de passe",
      "setTitle": "Définir le mot de passe",
      "changeDescription": "Mettez à jour le mot de passe de votre compte.",
      "setDescription": "Ajoutez un mot de passe pour vous connecter sans compte social.",
      "currentPasswordLabel": "Mot de passe actuel",
      "currentPasswordPlaceholder": "Mot de passe actuel",
      "newPasswordLabel": "Nouveau mot de passe",
      "newPasswordPlaceholder": "Nouveau mot de passe",
      "confirmPasswordLabel": "Confirmez le mot de passe",
      "confirmPasswordPlaceholder": "Confirmer le nouveau mot de passe",
      "passwordsDoNotMatch": "Les mots de passe ne correspondent pas.",
      "passwordTooShort": "Le mot de passe doit comporter au moins 8 caractères.",
      "changePassword": "Changer le mot de passe",
      "setPassword": "Définir le mot de passe",
      "saving": "Enregistrement?",
      "saved": "Enregistr?",
      "updateFailed": "Échec de la mise à jour du mot de passe"
    },
    "email": {
      "dialogTitle": "Changer d'adresse e-mail",
      "dialogDesc": "Nous enverrons un lien de vérification à votre nouvelle adresse. Votre e-mail ne sera changé qu'après confirmation.",
      "newEmailLabel": "Nouvelle adresse e-mail",
      "newEmailPlaceholder": "nouveau@exemple.fr",
      "confirmEmailLabel": "Confirmer la nouvelle adresse e-mail",
      "confirmEmailPlaceholder": "nouveau@exemple.fr",
      "emailInvalid": "Saisissez une adresse e-mail valide.",
      "emailsDoNotMatch": "Les adresses e-mail ne correspondent pas.",
      "sameEmail": "La nouvelle adresse doit être différente de l'adresse actuelle.",
      "sending": "Envoi…",
      "sent": "E-mail de vérification envoyé",
      "updated": "Adresse e-mail mise à jour",
      "sendFailed": "Impossible de demander le changement d'adresse e-mail"
    },
    "apiKeys": {
      "title": "Clés API",
      "description": "Utilisez des clés API pour authentifier l'accès programmatique à l'API.",
      "createKey": "Créer une clé",
      "noKeysTitle": "Aucune clé API pour l'instant.",
      "unnamedKey": "Clé sans nom",
      "createDialogTitle": "Créer une clé API",
      "createDialogTitleDone": "Clé API créée",
      "createDialogDesc": "Donnez un nom à votre clé pour l'identifier plus tard.",
      "createDialogDescDone": "Copiez votre clé maintenant : elle ne s'affichera plus.",
      "keyNamePlaceholder": "par ex. Mon application",
      "creating": "Cr?ation?",
      "create": "Cr?er",
      "deleteDialogTitle": "Supprimer la clé API ?",
      "deleteDialogDesc": "Toutes les applications utilisant cette clé cesseront de fonctionner immédiatement.",
      "deleteKey": "Supprimer la clé",
      "deleting": "Suppression?",
      "createFailed": "Échec de la création de la clé API",
      "deleteFailed": "Échec de la suppression de la clé API"
    },
    "billing": {
      "addressTitle": "adresse de facturation",
      "fullNameLabel": "Nom complet / Entreprise",
      "fullNamePlaceholder": "Acmé Inc.",
      "addressLine1Label": "Adresse Ligne 1",
      "addressLine1Placeholder": "123, rue Principale",
      "addressLine2Label": "Ligne d'adresse 2",
      "addressLine2Optional": "(facultatif)",
      "addressLine2Placeholder": "Suite 400",
      "cityLabel": "Ville",
      "cityPlaceholder": "New York",
      "stateLabel": "État/Province",
      "statePlaceholder": "New York",
      "postalCodeLabel": "Code Postal",
      "postalCodePlaceholder": "10001",
      "countryLabel": "Pays",
      "selectCountry": "Sélectionnez le pays…",
      "vatTitle": "Informations TVA",
      "vatDescription": "Obligatoire pour que les entreprises de l’UE reçoivent des factures sans TVA.",
      "vatNumberLabel": "Numéro de TVA",
      "vatNumberPlaceholder": "DE123456789",
      "vatCountryLabel": "Pays TVA",
      "saveBilling": "Enregistrer la facturation",
      "saving": "Enregistrement?",
      "saved": "Enregistr?"
    },
    "locale": {
      "sectionTitle": "Préférence linguistique",
      "sectionDescription": "Choisissez votre langue d'affichage préférée. Synchronisé sur tous vos appareils.",
      "label": "Langue",
      "languages": {
        "en": "Anglais",
        "pl": "polonais",
        "de": "Allemand",
        "es": "Espagnol",
        "fr": "Français"
      },
      "save": "Enregistrer",
      "saveSuccess": "Préférence de langue enregistrée",
      "saveFailed": "Échec de l'enregistrement des préférences de langue"
    },
    "googleDrive": {
      "title": "Google Drive",
      "description": "Connectez votre Google Drive personnel pour y enregistrer les sauvegardes de vos serveurs.",
      "connected": "connecté",
      "notConnected": "Aucun compte Google connecté.",
      "connect": "Connecter Google Drive",
      "disconnect": "Déconnecter",
      "disconnected": "Google Drive déconnecté",
      "connectSuccess": "Google Drive connecté",
      "connectDenied": "La connexion à Google Drive a été refusée",
      "connectError": "Échec de la connexion à Google Drive",
      "connectMismatch": "Le compte Google que vous avez connecté diffère du compte précédemment connecté. Les sauvegardes existantes ne seraient plus accessibles, la connexion n'a donc pas été remplacée."
    }
  },
  "admin": {
    "dashboard": {
      "title": "Tableau de bord",
      "overview": "Aperçu",
      "nodesLabel": "Nœuds",
      "nodesOnline": "{count} en ligne",
      "serversLabel": "Serveurs",
      "activeNodesLabel": "Nœuds actifs",
      "quickLinks": "Liens rapides",
      "manageLocations": "Gérer les emplacements",
      "manageLocationsDesc": "Ajouter et configurer des nœuds Wings",
      "manageNodes": "Gérer les nœuds",
      "manageNodesDesc": "Afficher et modifier vos nœuds",
      "nestsAndEggs": "Nids et œufs",
      "nestsAndEggsDesc": "Configurer les modèles de serveur",
      "createServer": "Créer un serveur",
      "createServerDesc": "Provisionner un nouveau serveur de jeu",
      "resources": "Ressources",
      "fleetRamAllocated": "RAM allouée",
      "fleetRamUsed": "Utilisation réelle",
      "fleetRamAvailable": "RAM disponible",
      "fleetCpuLabel": "CPU moy.",
      "fleetDiskUsed": "Disque utilisé",
      "fleetNet": "Réseau entrant",
      "fleetNetIn": "entrant",
      "fleetNetOut": "sortant",
      "ramChart": "RAM de la flotte",
      "cpuChart": "CPU de la flotte",
      "diskChart": "Disque de la flotte",
      "netChart": "Réseau de la flotte",
      "nodesSection": "Nœuds",
      "nodeCpu": "{value}% CPU",
      "nodeRam": "{used} / {total} GB RAM",
      "nodeDisk": "{used} / {total} GB disque"
    },
    "locations": {
      "title": "Emplacements",
      "searchPlaceholder": "Rechercher des lieux...",
      "newLocation": "Nouvel emplacement",
      "editTitle": "Modifier l'emplacement",
      "dialogTitle": "Nouvel emplacement",
      "dialogDesc": "Ajoutez un nouvel emplacement géographique pour regrouper les nœuds.",
      "nameLabel": "Nom",
      "namePlaceholder": "Est des États-Unis",
      "shortCodeLabel": "Code court",
      "shortCodePlaceholder": "nous-est",
      "descriptionLabel": "Description",
      "descriptionPlaceholder": "Description facultative",
      "shortColumn": "Court",
      "nameColumn": "Nom",
      "descriptionColumn": "Description",
      "deleteTitle": "Supprimer le lieu ?",
      "deleteDesc": "Cela supprimera définitivement l’emplacement. Les nœuds qui lui sont attribués peuvent être affectés.",
      "empty": "Aucun emplacement pour l'instant. Créez-en un pour commencer à ajouter des nœuds.",
      "emptySearch": "Aucun emplacement ne correspond à votre recherche."
    },
    "nodes": {
      "title": "Emplacements & Nœuds",
      "searchPlaceholder": "Rechercher des emplacements et des nœuds...",
      "create": "Créer",
      "createLocation": "Créer un emplacement",
      "createNode": "Créer un nœud",
      "unassigned": "Non assigné",
      "newNode": "Nouveau nœud",
      "dialogTitle": "Nouveau nœud",
      "dialogDesc": "Ajoutez un nœud Wings à ce panneau pour déployer des serveurs.",
      "nameLabel": "Nom",
      "namePlaceholder": "Nœud 01",
      "locationLabel": "Emplacement",
      "locationPlaceholder": "Sélectionnez un emplacement…",
      "fqdnLabel": "Nom de domaine complet",
      "fqdnPlaceholder": "noeud01.exemple.com",
      "schemeLabel": "Schème",
      "memoryLabel": "Mémoire (Mo)",
      "diskLabel": "Disque (Mo)",
      "daemonPortLabel": "Port démon",
      "sftpPortLabel": "Port SFTP",
      "nameColumn": "Nom",
      "addressColumn": "Adresse",
      "resourcesColumn": "Ressources",
      "resources": "{memory} GB · {disk} GB",
      "deleteTitle": "Supprimer le nœud ?",
      "deleteDesc": "Cela supprimera toutes les données associées.",
      "empty": "Aucun nœud pour l'instant. Créez-en un pour commencer à déployer des serveurs.",
      "emptySearch": "Aucun nœud ne correspond à votre recherche.",
      "maintenance": "Entretien",
      "checking": "Vérification…",
      "online": "En ligne",
      "offline": "Hors ligne",
      "loading": "Chargement?",
      "notFound": "Nœud introuvable.",
      "generalSection": "Général",
      "descriptionDesc": "Remarque facultative sur ce nœud.",
      "networkSection": "Réseau",
      "networkDesc": "Détails de connexion pour le démon Wings.",
      "fqdnDesc": "Nom de domaine complet ou IP.",
      "fqdnSettingsPlaceholder": "noeud.exemple.com",
      "secureLabel": "Sécurisé",
      "secureDesc": "Utilisez HTTPS pour communiquer avec Wings.",
      "daemonPortDesc": "Port Wings écoute.",
      "sftpPortDesc": "Port sur lequel le serveur SFTP écoute.",
      "daemonBaseLabel": "Chemin de base du démon",
      "daemonBaseDesc": "Répertoire où sont stockés les fichiers du serveur.",
      "daemonBasePlaceholder": "/var/lib/ptérodactyle",
      "resourcesSection": "Ressources",
      "resourcesDesc": "Limites de mémoire et de disque pour les serveurs sur ce nœud.",
      "memoryOverallocateLabel": "Surutilisation de la mémoire (%)",
      "overallocateDesc": "Autoriser l'allocation au-delà de la limite physique.",
      "diskOverallocateLabel": "Surutilisation du disque (%)",
      "uploadSizeLabel": "Taille du téléchargement (Mo)",
      "uploadSizeDesc": "Taille maximale de téléchargement de fichier via SFTP.",
      "statusSection": "Statut",
      "maintenanceLabel": "Mode d'entretien",
      "maintenanceDesc": "Empêche le déploiement de nouveaux serveurs sur ce nœud.",
      "saveChanges": "Enregistrer les modifications",
      "requiresRestart": "Nécessite le redémarrage du démon Wings pour prendre effet",
      "tabSettings": "Paramètres",
      "tabAllocations": "Allocations",
      "tabConfiguration": "Configuration",
      "nodesLink": "Nœuds",
      "allocationsTitle": "Allocations",
      "addAllocation": "Ajouter une allocation",
      "ipLabel": "Adresse IP",
      "portsLabel": "Ports (séparés par plage ou par virgule)",
      "portsPlaceholder": "25565-25600 ou 25565,25566",
      "ipAliasLabel": "Alias ​​IP",
      "ipAliasOptional": "(facultatif)",
      "ipAliasPlaceholder": "play.example.com",
      "noAllocations": "Aucune allocation. Ajoutez-en pour créer des serveurs sur ce nœud.",
      "assigned": "attribué",
      "configNotice": "Ceci est un exemple généré.",
      "configNoticeBody": "Si Wings est déjà en cours d'exécution et configuré sur ce nœud, ne collez pas l'intégralité du fichier, mettez uniquement à jour",
      "configNoticeBody2": "pour correspondre aux valeurs ci-dessus.",
      "configFileLabel": "Ailes config.yml",
      "regenToken": "Jeton de régénération",
      "descriptionLabel": "Description",
      "descriptionPlaceholder": "Description facultative",
      "backupDestinationSection": "Destination des sauvegardes",
      "backupDestinationSectionDesc": "Où sont stockées les sauvegardes des serveurs de ce nœud. Remplace la valeur par défaut globale.",
      "backupUseGlobal": "Utiliser la valeur par défaut globale",
      "backupUseGlobalDesc": "Lorsqu'il est activé, ce nœud utilise la destination par défaut configurée dans les paramètres de l'instance.",
      "prevPage": "Page précédente",
      "nextPage": "Page suivante",
      "tabMonitoring": "Surveillance",
      "updateAvailable": "Mise à jour disponible",
      "ram": "RAM",
      "cpu": "CPU",
      "disk": "Disque"
    },
    "nests": {
      "title": "Nids et œufs",
      "searchPlaceholder": "Rechercher des nids...",
      "newNest": "Nouveau nid",
      "dialogTitle": "Nouveau nid",
      "dialogDesc": "Créez un conteneur pour regrouper les œufs associés.",
      "nameLabel": "Nom",
      "namePlaceholder": "Minecraft",
      "authorLabel": "Auteur",
      "authorPlaceholder": "administrateur",
      "descriptionLabel": "Description",
      "descriptionPlaceholder": "Facultatif",
      "nameColumn": "Nom",
      "authorColumn": "Auteur",
      "deleteTitle": "Supprimer le nid ?",
      "deleteDesc": "Tous les œufs de ce nid seront également supprimés.",
      "empty": "Pas encore de nids. Importez des œufs à partir de l’assistant d’intégration ou créez-en un manuellement.",
      "emptySearch": "Aucun nid ne correspond à votre recherche.",
      "nestsLink": "Nids",
      "nestSettingsTitle": "Paramètres de nidification",
      "importDialogTitle": "Importer un Egg",
      "dropzoneLabel": "Déposez un fichier JSON ici ou cliquez pour parcourir",
      "pasteJsonTab": "Coller JSON",
      "fromUrlTab": "Depuis une URL",
      "urlPlaceholder": "https://raw.githubusercontent.com/.../egg.json",
      "urlFetchFailed": "Requête échouée : HTTP {status}",
      "jsonPlaceholder": "{\"name\": \"...\", \"startup\": \"...\"}",
      "prevPage": "Page précédente",
      "nextPage": "Page suivante",
      "startupColumn": "Commande de démarrage",
      "eggsTitle": "Œufs",
      "searchEggs": "Rechercher des œufs...",
      "deleteEggTitle": "Supprimer l'œuf ?",
      "deleteEggDesc": "Cela supprimera définitivement l'œuf et toutes ses variables.",
      "noEggs": "Pas encore d'œufs. Importez un œuf de ptérodactyle JSON pour commencer.",
      "noEggsSearch": "Aucun œuf ne correspond à votre recherche.",
      "eggLoading": "Chargement...",
      "eggNotFound": "Oeuf introuvable.",
      "eggTabGeneral": "Général",
      "eggTabEnvironment": "Environnement",
      "eggTabInstaller": "Installateur",
      "eggTabVariables": "Variables",
      "eggDetailsTitle": "Détails des œufs",
      "eggNameLabel": "Nom",
      "eggDescriptionLabel": "Description",
      "eggStartupLabel": "Commande de démarrage",
      "eggStopCommandLabel": "Commande d'arrêt",
      "eggRunningDetectionLabel": "Détection en cours d'exécution",
      "eggRunningDetectionDesc": "— Wings marque le serveur comme étant en cours d'exécution lorsqu'un modèle est trouvé dans la sortie de la console",
      "dockerImagesTitle": "Images Docker",
      "noDockerImages": "Aucune image Docker configurée.",
      "featuresTitle": "Caractéristiques",
      "featuresDesc": "— Wings les utilise pour activer des comportements spécifiques (par exemple eula, steam)",
      "allowedDatabaseTypesTitle": "Types de base de données autorisés",
      "allowedDatabaseTypesHint": "— laissez tout décoché pour autoriser tous les moteurs de base de données",
      "installScriptTitle": "Installer le script",
      "scriptLabel": "Scénario",
      "entryPointLabel": "Point d'entrée",
      "extensionLabel": "Extension",
      "installContainerLabel": "Installer le conteneur",
      "variablesTitle": "Variables",
      "noVariables": "Aucune variable pour l'instant.",
      "addVariableTitle": "Ajouter une variable",
      "varNameLabel": "Nom",
      "varNamePlaceholder": "Port du serveur",
      "varEnvLabel": "Variable d'environnement",
      "varEnvPlaceholder": "SERVEUR_PORT",
      "varDefaultLabel": "Défaut",
      "varDefaultPlaceholder": "25565",
      "userViewable": "Visible par l'utilisateur",
      "userEditable": "Modifiable par l'utilisateur",
      "deleteVariable": "Supprimer une variable",
      "addImage": "Ajouter une image"
    },
    "databaseHosts": {
      "title": "Hôtes de base de données",
      "newHost": "Nouvel hôte",
      "dialogTitle": "Nouvel hôte de base de données",
      "dialogDesc": "Ajoutez un hôte de base de données que les serveurs peuvent utiliser pour provisionner des bases de données.",
      "editTitle": "Modifier l'hôte de base de données",
      "editDesc": "Mettez à jour les informations de connexion de cet hôte.",
      "nameLabel": "Nom",
      "namePlaceholder": "MySQL primaire",
      "typeLabel": "Moteur",
      "typeRedisHint": "Nécessite Redis 6+ (prise en charge des ACL)",
      "sslLabel": "Utiliser SSL",
      "sslHint": "(chiffre la connexion ; utilisez si vous voyez des erreurs « connexion non sécurisée »)",
      "hostLabel": "Hôte",
      "hostPlaceholder": "127.0.0.1",
      "portLabel": "Port",
      "usernameLabel": "Nom d'utilisateur",
      "usernamePlaceholder": "racine",
      "passwordLabel": "Mot de passe",
      "passwordUnchangedPlaceholder": "Laissez vide pour conserver le mot de passe actuel",
      "maxDatabasesLabel": "Nombre maximum de bases de données",
      "maxDatabasesHint": "(0 = illimité)",
      "allowedNodesLabel": "Nœuds autorisés",
      "allowedNodesHint": "(laissez vide pour autoriser les serveurs de n'importe quel nœud)",
      "allowedNodesPlaceholder": "Sélectionner des nœuds…",
      "allowedNodesSearchPlaceholder": "Rechercher des nœuds…",
      "noNodesFound": "Aucun nœud trouvé.",
      "noNodesConfigured": "Aucun nœud configuré pour le moment.",
      "allNodes": "tous les nœuds",
      "nodeCount": "{count, plural, one {# nœud} other {# nœuds}}",
      "nameColumn": "Nom",
      "typeColumn": "Moteur",
      "connectionColumn": "Connexion",
      "statusColumn": "Statut",
      "ok": "D'ACCORD",
      "failed": "Échoué",
      "unknown": "Inconnu",
      "viewTestResult": "Voir le résultat du test",
      "testResultTitle": "Résultat du test de connexion",
      "testResultOkDesc": "La connexion à cet hôte a réussi.",
      "testResultFailedDesc": "La connexion à cet hôte a échoué.",
      "errorDetailsLabel": "Détails de l'erreur",
      "noErrorDetails": "Aucun détail supplémentaire n'a été renvoyé.",
      "deleteTitle": "Supprimer l'hôte de base de données ?",
      "deleteDesc": "Cela ne supprime pas les bases de données existantes sur l'hôte lui-même, seulement l'enregistrement du panneau. Les serveurs qui l'utilisent perdront l'accès à leurs identifiants.",
      "empty": "Aucun hôte de base de données configuré."
    },
    "servers": {
      "title": "Serveurs",
      "searchPlaceholder": "Serveurs de recherche...",
      "newServer": "Nouveau serveur",
      "nameColumn": "Nom",
      "addressColumn": "Adresse",
      "nodeColumn": "Nœud",
      "statusColumn": "Statut",
      "deleteTitle": "Supprimer le serveur ?",
      "deleteDesc": "Cette action ne peut pas être annulée.",
      "installed": "Installé",
      "installing": "Installation",
      "installFailed": "Échec de l'installation",
      "restoring": "Restauration",
      "suspended": "Suspendu",
      "empty": "Pas encore de serveurs.",
      "emptySearch": "Aucun serveur ne correspond à votre recherche.",
      "stepBasicInfo": "Informations de base",
      "stepNodeAllocation": "Nœud et allocation",
      "stepNestEgg": "Nid et œuf",
      "stepResources": "Ressources",
      "stepStartupVariables": "Variables de démarrage",
      "serverNameLabel": "Nom du serveur",
      "serverNamePlaceholder": "Mon serveur Minecraft",
      "descriptionLabel": "Description",
      "descriptionPlaceholder": "Description facultative",
      "ownerLabel": "Propriétaire",
      "nodeLabel": "Nœud",
      "nodePlaceholder": "Sélectionnez un nœud...",
      "allocationLabel": "Allocation",
      "allocationAvailable": "({count} disponible)",
      "allocationPlaceholder": "Sélectionnez une allocation...",
      "noFreeAllocations": "Aucune allocation gratuite. Ajoutez-en dans la page de gestion des nœuds.",
      "nestLabel": "Nid",
      "nestPlaceholder": "Sélectionnez un nid...",
      "eggLabel": "Œuf",
      "eggPlaceholder": "Sélectionnez un œuf...",
      "dockerImageLabel": "Image Docker",
      "dockerImagePlaceholder": "Sélectionnez une image...",
      "memoryLabel": "Mémoire (Mo)",
      "diskLabel": "Disque (Mo)",
      "cpuLabel": "Limite du processeur (%)",
      "swapLabel": "Échange (Mo, -1=illimité)",
      "ioLabel": "Poids du bloc IO (10-1000)",
      "cpuThreadsLabel": "Fils de processeur",
      "cpuThreadsPlaceholder": "0,1,2 (vide = tout)",
      "disableOomLabel": "Désactiver le tueur de MOO",
      "startOnCompletionLabel": "Démarrer le serveur à la fin",
      "skipScriptsLabel": "Ignorer les scripts d'installation",
      "startupCommandLabel": "Commande de démarrage",
      "noVariables": "Aucune variable pour cet œuf.",
      "loadingEggVars": "Chargement des variables d'œufs...",
      "detailLoading": "Chargement...",
      "detailNotFound": "Serveur introuvable.",
      "tabGeneral": "Général",
      "tabResources": "Ressources",
      "tabStartup": "Démarrer",
      "tabDanger": "Danger",
      "identityTitle": "Identité",
      "nameLabel": "Nom",
      "descriptionDetailLabel": "Description",
      "ownerDetailLabel": "Propriétaire",
      "uuidLabel": "UUID",
      "eggDetailLabel": "Œuf",
      "nodeAllocationTitle": "Nœud et allocation",
      "nodeChangedWarning": "Attention : changer de nœud ne migre pas les données sur Wings. Assurez-vous que le serveur existe sur le nœud cible.",
      "selectNode": "Sélectionner un nœud",
      "selectAllocation": "Sélectionnez l'allocation",
      "noFreeAllocationsShort": "Pas d'allocations gratuites",
      "selectNodeFirst": "Sélectionnez d'abord un nœud",
      "currentBadge": "actuel",
      "resourcesTitle": "Limites des ressources",
      "cpuShortLabel": "Processeur (%)",
      "swapShortLabel": "Échange (Mo)",
      "ioShortLabel": "Poids IO",
      "saveResources": "Enregistrer les ressources",
      "startupTitle": "Commande de démarrage",
      "commandLabel": "Commande",
      "envVarsTitle": "Variables d'environnement",
      "saveStartup": "Enregistrer le démarrage",
      "savedRecomputed": "Enregistré – appel recalculé",
      "dangerZone": "Zone dangereuse",
      "unsuspendTitle": "Annuler la suspension du serveur",
      "suspendTitle": "Suspendre le serveur",
      "unsuspendDesc": "Autorisez les utilisateurs à accéder et à redémarrer ce serveur.",
      "suspendDesc": "Arrêtez immédiatement le serveur et empêchez l'accès des utilisateurs.",
      "unsuspend": "Annuler la suspension",
      "suspend": "Suspendre",
      "reinstallTitle": "Réinstaller le serveur",
      "reinstallDesc": "Essuyez et réexécutez le script d'installation. Les données du serveur peuvent être perdues.",
      "reinstalling": "Réinstallation...",
      "reinstall": "Réinstaller",
      "reinstallTriggered": "Réinstallation déclenchée.",
      "deleteServerTitle": "Supprimer le serveur",
      "deleteServerDesc": "Supprimez définitivement ce serveur. Cela ne peut pas être annulé.",
      "deleteConfirmTitle": "Supprimer le serveur ?",
      "deleteConfirmDesc": "Cela supprimera définitivement \"{name}\". Cette action ne peut pas être annulée.",
      "purgeData": "Purger les données du nœud",
      "changeOwner": "Modifier"
    },
    "users": {
      "title": "Utilisateurs",
      "searchPlaceholder": "Rechercher des utilisateurs…",
      "userColumn": "Utilisateur",
      "emailColumn": "E-mail",
      "roleColumn": "Rôle",
      "statusColumn": "Statut",
      "joinedColumn": "Rejoint",
      "loading": "Chargement?",
      "noUsers": "Aucun utilisateur trouvé.",
      "promoteToAdmin": "Promouvoir au rang d'administrateur",
      "demoteToUser": "Rétrograder au rang d'utilisateur",
      "banned": "Interdit",
      "active": "Actif",
      "banTitle": "Interdire {name}",
      "banDesc": "Cet utilisateur sera exclu de son compte.",
      "banReasonLabel": "Raison",
      "banReasonOptional": "(facultatif)",
      "banReasonPlaceholder": "par ex. Violation des conditions d'utilisation",
      "banning": "Interdiction…",
      "banUser": "Interdire l'utilisateur",
      "deleteTitle": "Supprimer {name} ?",
      "deleteDesc": "Cette action est permanente et ne peut être annulée.",
      "deleting": "Suppression?",
      "deleteUser": "Supprimer un utilisateur",
      "pageInfo": "Page {page} sur {total} · {count} utilisateurs",
      "detailLoading": "Chargement…",
      "detailNotFound": "Utilisateur introuvable.",
      "usersLink": "Utilisateurs",
      "tabOverview": "Aperçu",
      "tabServers": "Serveurs",
      "tabSecurity": "Sécurité",
      "tabActions": "Actions d'administration",
      "identityTitle": "Identité",
      "roleLabel": "Rôle",
      "statusLabel": "Statut",
      "twoFactorLabel": "2FA",
      "joinedLabel": "Rejoint",
      "serversLabel": "Serveurs",
      "serverCountPlural": "{count} serveur{count, pluriel, un {} autre {s}}",
      "banReasonTitle": "Raison de l'interdiction",
      "banExpiresPrefix": "Expire",
      "billingTitle": "adresse de facturation",
      "noBilling": "Aucune adresse de facturation au dossier.",
      "addressLabel": "Adresse",
      "cityStateLabel": "Ville / État",
      "postalCodeLabel": "Code Postal",
      "countryLabel": "Pays",
      "vatLabel": "T.V.A.",
      "serversTitle": "Serveurs",
      "noServers": "Aucun serveur appartenant à cet utilisateur.",
      "nodeColumn": "Nœud",
      "allocationColumn": "Allocation",
      "suspendedStatus": "Suspendu",
      "activeStatus": "Actif",
      "tfaTitle": "Authentification à deux facteurs",
      "tfaTotp": "Authentificateur TOTP",
      "tfaEnabled": "Activé",
      "tfaNotEnabled": "Non activé",
      "sessionsTitle": "Séances actives",
      "noSessions": "Aucune session active.",
      "signedIn": "Connecté",
      "sessionActive": "actif",
      "sessionExpired": "expiré",
      "actionsTitle": "Actions d'administration",
      "demoteTitle": "Rétrograder au rang d'utilisateur",
      "promoteTitle": "Promouvoir au rang d'administrateur",
      "demoteDesc": "Supprimez les privilèges d'administrateur de cet utilisateur.",
      "promoteDesc": "Accordez à cet utilisateur un accès administrateur complet au panneau.",
      "demote": "Rétrograder",
      "promote": "Promouvoir",
      "unbanTitle": "Annuler le bannissement d'un utilisateur",
      "banActionTitle": "Interdire l'utilisateur",
      "unbanDesc": "Autorisez cet utilisateur à se reconnecter.",
      "banActionDesc": "Empêchez cet utilisateur de se connecter.",
      "banReasonPrefix": "Raison:",
      "unban": "Annuler le bannissement",
      "ban": "Interdire",
      "deleteUserTitle": "Supprimer un utilisateur",
      "deleteUserDesc": "Supprimez définitivement ce compte. Cela ne peut pas être annulé.",
      "banDialogTitle": "Interdire {name}",
      "banDialogDesc": "Cet utilisateur sera exclu de son compte.",
      "deleteDialogTitle": "Supprimer {name} ?",
      "deleteDialogDesc": "Cette action est permanente et ne peut être annulée. Tous les serveurs appartenant à cet utilisateur resteront mais deviendront sans propriétaire.",
      "tabBilling": "Facturation",
      "billingWalletTitle": "Portefeuille",
      "billingBalanceLabel": "Solde",
      "billingCurrencyLabel": "Devise",
      "billingAdjustButton": "Ajuster le solde",
      "billingAdjustTitle": "Ajuster le solde",
      "billingAdjustDesc": "Entrez un montant positif pour ajouter des fonds, ou négatif pour en retirer. La note optionnelle apparaîtra dans l'historique des transactions de l'utilisateur.",
      "billingAdjustAmountLabel": "Montant",
      "billingAdjustAmountPlaceholder": "ex. 10.00 ou -5.00",
      "billingAdjustNoteLabel": "Note (optionnelle)",
      "billingAdjustNotePlaceholder": "Laisser vide pour omettre de l'historique",
      "billingActiveSubsTitle": "Abonnements actifs",
      "billingSubHistoryTitle": "Historique des abonnements",
      "billingNoActiveSubs": "Aucun abonnement actif.",
      "billingNoSubHistory": "Aucun abonnement passé.",
      "billingWalletTxnsTitle": "Transactions du portefeuille",
      "billingNoWalletTxns": "Aucune transaction.",
      "billingSubRenews": "Se renouvelle",
      "billingSubCanceledAt": "Annulé",
      "billingTxnTypeCol": "Type",
      "billingTxnAmountCol": "Montant",
      "billingTxnBalanceCol": "Solde",
      "billingTxnNoteCol": "Note",
      "billingTxnDateCol": "Date",
      "billingStatusActive": "Actif",
      "billingStatusTrialing": "En essai",
      "billingStatusPastDue": "En retard"
    },
    "activity": {
      "timestampColumn": "Horodatage",
      "eventColumn": "Événement",
      "actorColumn": "Acteur",
      "targetColumn": "Cible",
      "detailsColumn": "Détails",
      "ipColumn": "Adresse IP",
      "loading": "Chargement?",
      "noActivity": "Aucune activité d'administrateur pour le moment",
      "system": "Système",
      "totalEvents": "Total des événements",
      "serverEvents": "Événements du serveur",
      "userModeration": "Modération des utilisateurs",
      "infrastructure": "Infrastructure",
      "billingEvents": "Facturation",
      "events": {
        "resource": {
          "server": "Serveur",
          "node": "Nœud",
          "allocation": "Allocation",
          "nest": "Nest",
          "egg": "Egg",
          "user": "Utilisateur",
          "database-host": "Hôte BDD",
          "location": "Emplacement",
          "settings": "Paramètres",
          "backup-destination": "Destination de sauvegarde",
          "billing_category": "Catégorie de facturation",
          "billing_product": "Forfait de facturation",
          "billing_gateway": "Passerelle de paiement",
          "billing_wallet": "Portefeuille"
        },
        "action": {
          "create": "Créer",
          "update": "Mettre à jour",
          "delete": "Supprimer",
          "clear": "Réinitialiser",
          "import": "Importer",
          "suspend": "Suspendre",
          "unsuspend": "Réactiver",
          "variables": "Variables",
          "token-regenerate": "Régénérer le jeton",
          "variable-add": "Ajouter une variable",
          "variable-update": "Mettre à jour la variable",
          "variable-delete": "Supprimer la variable",
          "set-role": "Changer le rôle",
          "ban": "Bannir",
          "unban": "Débannir",
          "adjust": "Ajuster"
        },
      "unknown": "Inconnu"
      }
    },
    "settings": {
      "title": "Paramètres",
      "tabBranding": "Général",
      "tabSeo": "SEO",
      "tabAuth": "Auth",
      "restartRequired": "Redémarrage requis",
      "restartDesc": "Certaines modifications ne prennent effet qu'après le redémarrage du panneau. Veuillez redémarrer votre instance de panneau manuellement.",
      "generalTitle": "Général",
      "generalDesc": "Identité de l'application et métadonnées SEO.",
      "appNameLabel": "Nom de l'application",
      "appUrlLabel": "URL de l'application",
      "appUrlPlaceholder": "https://panel.example.com",
      "appNameEnvNote": "Défini via la variable d'environnement APP_NAME",
      "appUrlEnvNote": "Définir via la variable d'environnement APP_URL",
      "metaDescLabel": "Méta-description",
      "metaDescPlaceholder": "Une brève description affichée dans les résultats des moteurs de recherche.",
      "logoTitle": "Logo / Icône",
      "logoDesc": "Affiché sur les pages d'authentification et utilisé comme favicon du navigateur.",
      "logoLabel": "Logo",
      "logoHint": "Recommandé : SVG ou PNG avec fond transparent.",
      "seoBasicTitle": "SEO de base",
      "seoBasicDesc": "Métadonnées principales pour les moteurs de recherche.",
      "seoKeywordsLabel": "Mots-clés",
      "seoKeywordsPlaceholder": "panel, jeu, hébergement",
      "seoKeywordsHint": "Séparés par des virgules. La plupart des moteurs de recherche les ignorent, mais cela peut aider les indexeurs de niche.",
      "seoThemeColorLabel": "Couleur du thème",
      "seoThemeColorPlaceholder": "#5865F2",
      "seoThemeColorHint": "Couleur hexadécimale utilisée par Discord pour l'accent d'intégration et certains navigateurs mobiles.",
      "seoOgSectionTitle": "Open Graph",
      "seoOgSectionDesc": "Contrôle l'apparence des liens partagés sur Facebook, LinkedIn, Discord et plus.",
      "seoOgTitleLabel": "Titre OG",
      "seoOgTitlePlaceholder": "Par défaut : nom de l'application",
      "seoOgDescLabel": "Description OG",
      "seoOgDescPlaceholder": "Par défaut : méta-description",
      "seoOgSiteNameLabel": "Nom du site",
      "seoOgSiteNamePlaceholder": "Par défaut : nom de l'application",
      "seoOgTypeLabel": "Type OG",
      "seoOgTypeWebsite": "Site web",
      "seoOgTypeArticle": "Article",
      "seoOgTypeProfile": "Profil",
      "seoOgImageTitle": "Image OG",
      "seoOgImageDesc": "Affichée lors du partage de liens sur les plateformes sociales. Recommandé 1200 × 630 px.",
      "seoTwitterSectionTitle": "Twitter / X",
      "seoTwitterSectionDesc": "Balises méta supplémentaires lues par Twitter/X lors du rendu des cartes de liens.",
      "seoTwitterCardLabel": "Type de carte",
      "seoTwitterCardSummary": "Résumé (petite miniature)",
      "seoTwitterCardLarge": "Résumé avec grande image",
      "seoTwitterSiteLabel": "@handle du site",
      "seoTwitterSitePlaceholder": "@votresite",
      "seoTwitterCreatorLabel": "@handle du créateur",
      "seoTwitterCreatorPlaceholder": "@auteur",
      "seoPreviewTitle": "Aperçu en direct",
      "seoPreviewDiscord": "Discord",
      "seoPreviewGoogle": "Google",
      "seoPreviewTwitter": "Twitter/X",
      "ogBannerTitle": "Bannière OG",
      "ogBannerDesc": "Image Open Graph affichée lorsque les liens sont partagés sur les réseaux sociaux. Recommandé 1200 × 630 px.",
      "bannerLabel": "Bannière",
      "bannerHint": "Utilisez JPEG, PNG ou WebP.",
      "bannerAspectHint": "Recommandé 1200 × 630 px.",
      "callbackUrlLabel": "URL de rappel",
      "callbackSetAppUrl": "Définissez d'abord l'URL de l'application dans Branding → Général",
      "registrationTitle": "Inscription",
      "allowRegistrationLabel": "Autoriser les inscriptions de nouveaux utilisateurs",
      "allowRegistrationDesc": "Lorsqu'il est désactivé, seuls les administrateurs peuvent créer de nouveaux comptes.",
      "socialLoginTitle": "Connexion sociale",
      "socialLoginDesc": "Fournisseurs OAuth pour la connexion. Nécessite un redémarrage du panneau après la sauvegarde.",
      "enabled": "Activé",
      "clientIdLabel": "Identifiant client",
      "clientSecretLabel": "Secret client",
      "clientSecretSet": "•••••••• (déjà réglé)",
      "enterSecret": "Entrez le secret",
      "tabEmail": "E-mail",
      "smtpTitle": "Configuration SMTP",
      "smtpDesc": "Configurez l'envoi d'e-mails sortants pour la vérification, la réinitialisation du mot de passe et les notifications.",
      "smtpEnabled": "Activer l'envoi d'e-mails",
      "smtpEnabledDesc": "Lorsque désactivé, les inscriptions e-mail/mot de passe seront auto-vérifiées.",
      "smtpHost": "Serveur SMTP",
      "smtpPort": "Port",
      "smtpUser": "Nom d'utilisateur",
      "smtpPassword": "Mot de passe",
      "smtpPasswordSet": "•••••••• (déjà défini — entrez-en un nouveau pour modifier)",
      "smtpFromEmail": "E-mail de l'expéditeur",
      "smtpFromName": "Nom de l'expéditeur",
      "smtpSecure": "Utiliser TLS/SSL",
      "smtpSecureDesc": "Activer pour le port 465. Désactiver pour STARTTLS (port 587).",
      "testConnection": "Tester la connexion",
      "testConnectionTesting": "Envoi…",
      "testConnectionSend": "Envoyer un e-mail de test",
      "testConnectionCancel": "Annuler",
      "testConnectionModalTitle": "Envoyer un e-mail de test",
      "testConnectionModalDesc": "Entrez une adresse e-mail à laquelle envoyer un message de test.",
      "testConnectionEmailPlaceholder": "vous@exemple.com",
      "testConnectionSuccess": "E-mail de test envoyé à {email}",
      "testConnectionFailed": "Échec : {error}",
      "templatesTitle": "Modèles d'e-mail",
      "templatesDesc": "Personnalisez le contenu des e-mails sortants. Utilise le modèle par défaut intégré si vide.",
      "templateTabVerification": "Vérification",
      "templateTabPasswordReset": "Réinitialisation du mot de passe",
      "templateTabWelcome": "Bienvenue",
      "templateTabServerInstall": "Installation du serveur",
      "templateVariablesHint": "Variables disponibles : {variables}",
      "templateResetDefault": "Réinitialiser par défaut",
      "templateTabEditor": "Éditeur",
      "templatePreview": "Aperçu",
      "templateHidePreview": "Masquer l'aperçu",
      "templateSave": "Enregistrer le modèle",
      "templateSaving": "Enregistrement…",
      "templateSaved": "Enregistré",
      "previewSubjectVerification": "Vérifiez votre adresse e-mail",
      "previewSubjectPasswordReset": "Réinitialisez votre mot de passe",
      "previewSubjectWelcome": "Bienvenue !",
      "previewSubjectServerInstall": "Votre serveur est prêt",
      "editTemplates": "Modifier les modèles",
      "editTemplatesDesc": "Personnalisez le HTML pour chaque e-mail sortant.",
      "tabBackups": "Sauvegardes",
      "backupsGlobalTitle": "Destination de sauvegarde par défaut",
      "backupsGlobalDesc": "Les nouveaux nœuds sans destination propre utilisent cette valeur par défaut globale. Les nœuds peuvent la remplacer individuellement.",
      "backupsGlobalNone": "Aucune valeur par défaut globale configurée — les sauvegardes utilisent l'adaptateur local du démon.",
      "backupsGlobalReset": "Réinitialiser sur local",
      "backupsGlobalResetDesc": "Supprime la destination par défaut globale. Les nœuds avec leur propre destination ne sont pas affectés.",
      "gdriveTitle": "Sauvegardes Google Drive",
      "gdriveDesc": "Permet aux utilisateurs d'enregistrer des sauvegardes dans leur Google Drive personnel. Créez un projet Google Cloud, activez l'API Drive et collez les identifiants client OAuth ci-dessous. Tant que votre application est en mode test, ajoutez l'e-mail de chaque utilisateur comme utilisateur de test.",
      "gdriveClientIdLabel": "ID client",
      "gdriveClientIdPlaceholder": "1234567890-abc.apps.googleusercontent.com",
      "gdriveClientSecretLabel": "Secret client"
    },
    "emailEditor": {
      "backToSettings": "Paramètres",
      "templates": "Modèles",
      "variables": "Variables",
      "preview": "Aperçu",
      "templateVerification": "Vérification",
      "templatePasswordReset": "Réinitialisation du mot de passe",
      "templateWelcome": "Bienvenue",
      "templateServerInstall": "Installation du serveur",
      "templateChangeEmail": "Changement d'adresse e-mail",
      "save": "Enregistrer",
      "saving": "Enregistrement…",
      "saved": "Enregistré",
      "resetDefault": "Réinitialiser par défaut",
      "loading": "Chargement…",
      "viewEditor": "Éditeur",
      "viewPreview": "Aperçu"
    },
    "billing": {
      "title": "Facturation",
      "tabs": {
        "settings": "Paramètres",
        "providers": "Fournisseurs",
        "catalog": "Catalogue"
      },
      "settings": {
        "general": {
          "title": "Général",
          "description": "Activer la facturation et définir la devise par défaut.",
          "enableBilling": "Activer la facturation",
          "defaultCurrency": "Devise par défaut",
          "searchCurrencies": "Rechercher des devises…",
          "noResults": "Aucun résultat"
        },
        "trials": {
          "title": "Périodes d'essai",
          "description": "Offrir une période d'essai gratuite avant la facturation.",
          "enableTrials": "Activer les essais gratuits",
          "trialDays": "Durée d'essai par défaut (jours)"
        },
        "tax": {
          "title": "Taxe",
          "description": "Configurer la collecte de taxes pour les factures.",
          "enableTax": "Activer la collecte de taxes",
          "defaultVatRate": "Taux de TVA par défaut (%)",
          "requireVatNumber": "Exiger un numéro de TVA pour les clients de l'UE"
        },
        "referral": {
          "title": "Programme de parrainage",
          "description": "Récompenser les utilisateurs qui amènent de nouveaux clients.",
          "enableReferral": "Activer le programme de parrainage",
          "refereeDiscount": "Bonus pour le parrainé (%)",
          "refereeDiscountDesc": "Bonus ajouté au portefeuille du parrainé à chaque rechargement.",
          "referrerReward": "Commission du parrain (%)",
          "referrerRewardDesc": "Commission créditée au parrain à chaque rechargement du parrainé."
        }
      },
      "providers": {
        "title": "Fournisseurs de paiement",
        "addProvider": "Ajouter un fournisseur",
        "empty": "Aucun fournisseur de paiement configuré.",
        "nameColumn": "Fournisseur",
        "keyColumn": "Clé API",
        "statusColumn": "Statut",
        "providerType": "Type de fournisseur",
        "name": "Nom d'affichage",
        "namePlaceholder": "ex. Stripe Production",
        "publicKey": "Clé publique",
        "secretKey": "Clé secrète",
        "isDefault": "Définir par défaut",
        "isDefaultDescription": "Utiliser ce fournisseur par défaut pour les nouvelles transactions.",
        "isActive": "Actif",
        "statusSection": "Statut",
        "editTitle": "Modifier le fournisseur",
        "editDescription": "Mettre à jour les identifiants et la configuration de ce fournisseur.",
        "addTitle": "Ajouter un fournisseur",
        "addDescription": "Connecter une passerelle de paiement pour commencer à accepter des paiements.",
        "deleteTitle": "Supprimer le fournisseur",
        "deleteDescription": "Cela supprimera la configuration du fournisseur. Les abonnements existants liés à ce fournisseur ne seront pas affectés.",
        "webhookSecret": "Secret du webhook",
        "webhookSecretPlaceholder": "whsec_…",
        "keepExisting": "Laisser vide pour conserver la clé existante",
        "webhookEndpointLabel": "Point de terminaison webhook",
        "webhookEndpointHint": "Pointez le webhook de votre fournisseur vers cette URL",
        "copied": "Copié",
        "stripe": "Stripe",
        "simpay": "SimPay",
        "apiPassword": "Mot de passe API",
        "apiPasswordPlaceholder": "Votre mot de passe API SimPay",
        "serviceId": "ID de service",
        "serviceIdPlaceholder": "Votre ID de service SimPay",
        "signatureKey": "Clé de signature IPN",
        "signatureKeyPlaceholder": "Votre clé de signature IPN SimPay",
        "paypal": "PayPal",
        "przelewy24": "Przelewy24",
        "clientId": "ID client",
        "webhookId": "ID du webhook",
        "merchantId": "ID marchand",
        "posId": "ID du POS",
        "apiKey": "Clé API",
        "crc": "CRC",
        "sandbox": "Mode sandbox",
        "sandboxDescription": "Utiliser l'environnement de test du fournisseur.",
        "active": "Actif",
        "inactive": "Inactif"
      },
      "catalog": {
        "back": "Retour",
        "planCount": "{count, plural, one {# plan} other {# plans}}",
        "uploadFailed": "Échec de l'envoi.",
        "categories": {
          "title": "Catégories",
          "add": "Ajouter une catégorie",
          "addDescription": "Créer une nouvelle catégorie pour regrouper des plans.",
          "edit": "Modifier la catégorie",
          "editDescription": "Mettre à jour le nom, le slug et le statut de la catégorie.",
          "delete": "Supprimer la catégorie",
          "deleteDescription": "Les produits de cette catégorie seront sans catégorie.",
          "statusSection": "Statut",
          "icon": "Icône",
          "bannerUrl": "Bannière",
          "preview": "Aperçu",
          "uploading": "Chargement…",
          "changeBanner": "Changer la bannière",
          "uploadBanner": "Télécharger la bannière",
          "iconUploading": "…",
          "previewName": "Nom de la catégorie",
          "previewDescription": "Courte description",
          "name": "Nom",
          "slug": "Slug",
          "description": "Description",
          "sortOrder": "Ordre de tri",
          "isActive": "Actif",
          "empty": "Aucune catégorie pour l'instant."
        },
        "plans": {
          "title": "Plans",
          "add": "Ajouter un plan",
          "addDescription": "Définir un nouveau plan tarifaire pour cette catégorie.",
          "edit": "Modifier le plan",
          "editDescription": "Mettre à jour les détails du plan, les limites de ressources et les tarifs.",
          "delete": "Supprimer le plan",
          "deleteDescription": "Les abonnements actifs à ce plan ne seront pas affectés.",
          "statusSection": "Visibilité",
          "previewName": "Nom du plan",
          "previewDescription": "Courte description",
          "name": "Nom",
          "description": "Description",
          "isFeatured": "Plan vedette",
          "isFeaturedDescription": "Marquer ce plan comme option vedette/recommandée pour les nouveaux clients.",
          "featured": "Vedette",
          "isActive": "Actif",
          "active": "Actif",
          "inactive": "Inactif",
          "public": "Public",
          "unlisted": "Non répertorié",
          "isPublic": "Visible publiquement",
          "isPublicDescription": "Afficher ce plan sur les pages de tarification publiques.",
          "resources": "Allocation des ressources",
          "cpu": "CPU",
          "ram": "RAM",
          "disk": "Disque",
          "backups": "Sauvegardes",
          "allocations": "Allocations",
          "databases": "Bases de données",
          "eggs": "Eggs",
          "selectEggs": "Sélectionner des eggs…",
          "searchEggs": "Rechercher des eggs…",
          "nodes": "Nœuds",
          "selectNodes": "N'importe quel nœud…",
          "searchNodes": "Rechercher des nœuds…",
          "noResults": "Aucun résultat",
          "planCount": "{count, plural, one {# plan} other {# plans}}",
          "prices": "Tarification",
          "noPrices": "Aucun niveau de tarification ajouté pour l'instant.",
          "addPrice": "Ajouter un niveau",
          "noneInProduct": "Aucun plan dans cette catégorie pour l'instant.",
          "durations": {
            "7day": "7 jours",
            "1month": "1 mois",
            "3months": "3 mois",
            "6months": "6 mois",
            "1year": "1 an"
          },
          "durationShort": {
            "7day": "7 j.",
            "1month": "mois",
            "3months": "3 mois",
            "6months": "6 mois",
            "1year": "an"
          }
        }
      }
    },
    "backupDestinations": {
      "typeLabel": "Type de destination",
      "typeWings": "Local (wings)",
      "typeDdupBak": "ddup-bak",
      "typeS3": "S3 / Stockage d'objets",
      "typeRestic": "Restic",
      "typePbs": "Proxmox Backup Server",
      "typeKopia": "Kopia",
      "localHint": "Les sauvegardes sont stockées dans le répertoire de sauvegardes local du démon.",
      "s3EndpointLabel": "URL du point de terminaison",
      "s3EndpointPlaceholder": "https://s3.example.com",
      "s3RegionLabel": "Région",
      "s3BucketLabel": "Bucket",
      "s3BucketPlaceholder": "backups",
      "s3AccessKeyLabel": "Clé d'accès",
      "s3SecretKeyLabel": "Clé secrète",
      "s3UsePathStyle": "Utiliser l'adressage par chemin",
      "s3AllowPublicDownloads": "Autoriser les téléchargements depuis le panneau",
      "s3AllowPublicDownloadsDesc": "Permet aux utilisateurs de télécharger les fichiers de sauvegarde dans le navigateur. Nécessite que le point de terminaison S3 soit accessible publiquement depuis les navigateurs des utilisateurs.",
      "resticRepositoryLabel": "Dépôt",
      "resticRepositoryPlaceholder": "s3:https://s3.example.com/bucket",
      "resticPasswordLabel": "Mot de passe",
      "resticRetryLockLabel": "Verrou de nouvelle tentative (secondes)",
      "resticEnvLabel": "Variables d'environnement",
      "resticEnvPlaceholder": "AWS_ACCESS_KEY_ID=…\nAWS_SECRET_ACCESS_KEY=…",
      "pbsUrlLabel": "URL du serveur",
      "pbsDatastoreLabel": "Datastore",
      "pbsNamespaceLabel": "Espace de noms",
      "pbsTokenIdLabel": "ID de jeton",
      "pbsTokenSecretLabel": "Secret du jeton",
      "pbsFingerprintLabel": "Empreinte",
      "pbsBackupIdPrefixLabel": "Préfixe de l'ID de sauvegarde",
      "kopiaUrlLabel": "URL du dépôt",
      "kopiaUsernameLabel": "Nom d'utilisateur",
      "kopiaPasswordLabel": "Mot de passe",
      "kopiaFingerprintLabel": "Empreinte",
      "kopiaTagsLabel": "Étiquettes",
      "kopiaTagsPlaceholder": "backup=true"
    },
    "monitoring": {
      "allocatedRam": "RAM allouée",
      "realUsage": "Utilisation réelle",
      "availableRam": "RAM disponible",
      "cpuUsage": "Utilisation CPU",
      "loadAverage": "Charge moyenne",
      "uptime": "Disponibilité",
      "diskUsage": "Utilisation disque",
      "network": "Réseau",
      "networkIn": "entrant",
      "networkOut": "sortant",
      "systemInfo": "Informations système",
      "cpuModel": "CPU",
      "cpuCount": "Cœurs / threads",
      "os": "OS",
      "kernelVersion": "Noyau",
      "architecture": "Architecture",
      "wingsVersion": "Version Wings",
      "updateAvailable": "Mise à jour disponible ({latest})",
      "used": "utilisé",
      "available": "disponible",
      "ramChart": "RAM",
      "cpuChart": "CPU",
      "diskChart": "Disque",
      "netChart": "Réseau",
      "offline": "Wings est injoignable ou hors ligne.",
      "diskUsed": "Disque utilisé"
    }
  },
  "setup": {
    "steps": {
      "adminAccount": "Compte administrateur",
      "importEggs": "Importer des œufs",
      "location": "Emplacement",
      "node": "Nœud",
      "complete": "Complet"
    },
    "stepOf": "Étape {step} de {total}",
    "step1": {
      "title": "Créer un compte administrateur",
      "subtitle": "Configurez le compte d'administrateur principal.",
      "description": "Créez le compte d'administrateur principal pour ce panneau. Aucun autre utilisateur n'existe pour l'instant.",
      "displayNameLabel": "Nom d'affichage (facultatif)",
      "displayNamePlaceholder": "Administrateur",
      "emailLabel": "E-mail *",
      "emailPlaceholder": "admin@exemple.com",
      "passwordLabel": "Mot de passe *",
      "passwordPlaceholder": "Au moins 8 caractères",
      "confirmPasswordLabel": "Confirmez le mot de passe *",
      "confirmPasswordPlaceholder": "Répéter le mot de passe",
      "submit": "Créer un compte",
      "submitting": "Création d'un compte...",
      "emailRequired": "Un e-mail est requis.",
      "passwordMinLength": "Le mot de passe doit comporter au moins 8 caractères.",
      "passwordsDoNotMatch": "Les mots de passe ne correspondent pas.",
      "creationFailed": "La création du compte a échoué.",
      "signInFailed": "Échec de la connexion.",
      "genericError": "Quelque chose s'est mal passé."
    },
    "step2": {
      "title": "Importer des œufs",
      "subtitle": "Choisissez les modèles de serveur à importer à partir des référentiels Pterodactyl.",
      "description": "Les œufs sont des modèles de configuration de serveur de l'écosystème Pterodactyl. Sélectionnez lequel importer – vous pourrez en ajouter d’autres plus tard à partir du panneau d’administration.",
      "fetching": "Récupération des référentiels d'œufs depuis GitHub...",
      "loading": "Chargement?",
      "networkError": "Impossible d'accéder à GitHub. Vérifiez votre connexion Internet ou ignorez cette étape.",
      "selectAll": "Tout sélectionner",
      "none": "Aucun",
      "selected": "{count} sélectionné",
      "skip": "Passer",
      "import": "Importer {count} ?ufs",
      "importing": "Importation?"
    },
    "step3": {
      "title": "Enregistrer un emplacement",
      "subtitle": "Définissez où se trouvent physiquement vos nœuds.",
      "description": "Les emplacements regroupent vos nœuds par centre de données ou région.",
      "nameLabel": "Nom *",
      "namePlaceholder": "Est des États-Unis",
      "shortCodeLabel": "Code court *",
      "shortCodePlaceholder": "nous-est",
      "descriptionLabel": "Description (facultatif)",
      "descriptionPlaceholder": "Centre de données de New York",
      "nameShortCodeRequired": "Le nom et le code court sont requis.",
      "createFailed": "Échec de la création de l'emplacement.",
      "submit": "Créer un emplacement",
      "creating": "Cr?ation?"
    },
    "step4": {
      "title": "Ajouter un nœud",
      "subtitle": "Connectez votre premier démon Wings.",
      "description": "Les nœuds sont des serveurs physiques exécutant le démon Wings. Vous pourrez en ajouter d’autres plus tard.",
      "nodeNameLabel": "Nom du nœud *",
      "nodeNamePlaceholder": "Nœud 1",
      "fqdnLabel": "Nom de domaine complet *",
      "fqdnPlaceholder": "noeud1.exemple.com",
      "schemeLabel": "Schème",
      "memoryLabel": "Mémoire (Mo) *",
      "diskLabel": "Disque (Mo) *",
      "daemonPortLabel": "Port démon",
      "sftpPortLabel": "Port SFTP",
      "nameAndFqdnRequired": "Le nom et le nom de domaine complet sont requis.",
      "memoryInvalid": "La mémoire doit être un entier positif.",
      "diskInvalid": "Le disque doit être un entier positif.",
      "createFailed": "Échec de la création du nœud.",
      "submit": "Créer un nœud",
      "creating": "Cr?ation?"
    },
    "step5": {
      "title": "Configuration terminée",
      "subtitle": "Tout est configuré et prêt à l'emploi.",
      "description": "Votre panneau est prêt. Accédez au tableau de bord d'administration pour créer des serveurs et gérer votre infrastructure.",
      "whatsNext": "Quelle est la prochaine étape",
      "addAllocations": "Ajouter des allocations",
      "addAllocationsDesc": "Attribuez des paires IP:port à votre nœud avant de créer des serveurs",
      "createServers": "Créer des serveurs",
      "createServersDesc": "Déployer des serveurs de jeux depuis le panneau d'administration",
      "inviteUsers": "Inviter des utilisateurs",
      "inviteUsersDesc": "Ajouter des utilisateurs et leur attribuer des serveurs",
      "configureSettings": "Configurer les paramètres",
      "configureSettingsDesc": "Ajustez l'inscription, les limites et la marque de l'application",
      "submit": "Accédez au tableau de bord d'administration",
      "finishing": "Fin de la configuration...",
      "finishFailed": "Échec de la configuration. Veuillez réessayer."
    },
    "importSuccess": "Importation réussie de {count} {count, pluriel, un {egg} autre {eggs}}."
  }
}
