{
  "title": "Docker",
  "subtitle": "Installez et contrôlez le moteur Docker, les conteneurs, images, projets Compose et le disque sur cet hôte.",
  "refresh": "Actualiser",
  "notInstalled": "Docker Engine n’est pas installé. Installez docker.io et docker-compose-v2 depuis cette page.",
  "protected": "Protégé",
  "pruneConfirm": "Saisissez PRUNE pour confirmer le nettoyage de volume ou du système",
  "needEngineTitle": "Installez d'abord Docker Engine",
  "stopEngineDesc": "Cela arrête le moteur Docker et tous les conteneurs {{n}} sur cet hôte.",
  "notInstalledValue": "Non installé",
  "nameHint": "Lettres, chiffres, trait de soulignement, point, trait d'union (max 128)",
  "volPlaceholder": "mes-données",
  "netPlaceholder": "mon-net",
  "runPorts": "Publier des ports",
  "runPortsHint": "hôte : conteneur par ligne, par ex. 8080:80",
  "runEnv": "Environnement",
  "runEnvHint": "KEY=valeur par ligne",
  "runRestart": "Politique de redémarrage",
  "runNetwork": "Réseau",
  "runVolumes": "Volumes",
  "runVolumesHint": "volume : dest par ligne",
  "runAdvancedHint": "Pour les piles multiservices, utilisez des nœuds de validation ou des fichiers Compose déjà sur cet hôte.",
  "daemonConfirmTitle": "Appliquer les paramètres du démon ?",
  "daemonConfirmDesc": "Écrit daemon.json et redémarre docker.service. Tous les conteneurs seront interrompus.",
  "settingsHint": "Sous-ensemble sûr de daemon.json uniquement. Appliquer écrit le fichier et redémarre docker.service.",
  "cli": {
    "usage": "Utilisation : ysk-server docker status|ps|images|volumes|networks|df|logs|inspect|exec|start|stop|restart|rm|pull|run|prune|engine|compose [--image IMG] [--name N] [--preset version|help|hostname] [--bin BIN] [--project P] [--execute] [--json]"
  },
  "tab": {
    "overview": "Aperçu",
    "containers": "Conteneurs",
    "images": "Images Docker",
    "compose": "Compose",
    "volumes": "Volumes",
    "networks": "Réseaux",
    "prune": "Nettoyer",
    "settings": "Paramètres",
    "about": "À propos"
  },
  "col": {
    "engine": "Moteur",
    "containers": "Conteneurs",
    "version": "Version du moteur",
    "dataRoot": "Répertoire de données",
    "disk": "Disque",
    "validators": "Piles validateur",
    "name": "Nom",
    "image": "Image du conteneur",
    "status": "État",
    "ports": "Ports publiés",
    "managed": "Géré par le panneau",
    "size": "Taille",
    "driver": "Pilote",
    "type": "Genre",
    "reclaimable": "Récupérable"
  },
  "state": {
    "up": "Actif",
    "down": "Arrêté",
    "running": "En cours d'exécution",
    "exited": "Quitté",
    "exitedCode": "Quitté ({{n}})",
    "restarting": "Redémarrage",
    "restartingCount": "Redémarrage · {{n}} fois",
    "paused": "En pause",
    "created": "Créé",
    "dead": "Mort",
    "removing": "Suppression",
    "unknown": "Inconnu"
  },
  "df": {
    "images": "Images",
    "containers": "Conteneurs",
    "volumes": "Volumes locaux",
    "builder": "Créer un cache",
    "other": "Autre"
  },
  "actions": {
    "start": "Démarrer",
    "stop": "Arrêter",
    "restart": "Redémarrer",
    "remove": "Supprimer",
    "logs": "Journaux",
    "inspect": "Inspecter",
    "exec": "Exec (version du client)",
    "run": "Exécuter une image",
    "pull": "Télécharger",
    "up": "Démarrer",
    "down": "Arrêter",
    "createVolume": "Créer un volume",
    "createNetwork": "Créer un réseau",
    "pruneContainers": "Nettoyer les conteneurs",
    "pruneImages": "Nettoyer les images",
    "pruneVolumes": "Nettoyer les volumes",
    "pruneSystem": "Nettoyage système",
    "startEngine": "Démarrer le moteur",
    "stopEngine": "Arrêter le moteur",
    "restartEngine": "Redémarrer le moteur",
    "applyDaemon": "Appliquer les paramètres du moteur"
  },
  "empty": {
    "containers": "Aucun conteneur",
    "images": "Aucune image",
    "compose": "Aucun projet Compose",
    "composeDesc": "Les projets proviennent de nœuds de validation ou de fichiers Compose déjà sur cet hôte. Cette page n'accepte pas les téléchargements YAML arbitraires.",
    "composeCta": "Ouvrir les nœuds de validation",
    "volumes": "Aucun volume",
    "networks": "Aucun réseau"
  },
  "logs": {
    "empty": "Pas encore de journaux",
    "follow": "Suivre"
  },
  "deleteRunningWarn": "Ce conteneur est toujours en cours d'exécution ou redémarre. Il sera supprimé de force.",
  "settings": {
    "logMaxSize": "Taille max. des journaux de conteneur",
    "liveRestore": "Restauration à chaud (conserver les conteneurs si le démon redémarre)",
    "mirrors": "Miroirs Registry (une URL par ligne)",
    "insecure": "Registries non chiffrés (un hôte par ligne)"
  },
  "about": {
    "body": "Docker est un service hôte de premier plan sur YSK Server, comme Nginx. Installation via le panneau (Ubuntu docker.io + docker-compose-v2). Les nœuds validateurs s’exécutent en projets Compose yskval-*.",
    "honesty": "Les changements d’hôte nécessitent root et YSK_EXECUTE=1. Le dry-run est la valeur par défaut. Cette page n’est pas Kubernetes.",
    "validators": "Ouvrir les nœuds validateurs"
  },
  "alerts": {
    "daemonTitle": "Le démon Docker est arrêté",
    "daemonBody": "Docker est installé mais docker.service n’est pas actif. Les piles validateur ne peuvent pas démarrer."
  },
  "errors": {
    "notInstalled": "Docker n’est pas installé",
    "daemonDown": "Le démon Docker n’est pas actif",
    "needCompose": "docker compose (greffon v2) est requis",
    "badImage": "Référence d’image invalide",
    "badName": "Nom invalide",
    "badPort": "Publication de port invalide",
    "badEnv": "Variable d’environnement invalide",
    "badVolume": "Montage de volume invalide",
    "badNetwork": "Réseau invalide",
    "protectedNetwork": "Impossible de supprimer un réseau Docker intégré",
    "badRestart": "Politique de redémarrage invalide",
    "badPrune": "Portée de nettoyage invalide",
    "needPruneConfirm": "Le nettoyage de volume ou du système exige confirm=PRUNE",
    "badDaemon": "Paramètre du moteur invalide",
    "composeMissing": "Fichier Compose de ce projet introuvable",
    "logsFailed": "Impossible de lire les journaux du conteneur",
    "mutateFailed": "La commande Docker a échoué",
    "engineFailed": "Impossible de contrôler docker.service",
    "badExec": "Exec est limité aux binaires et préréglages autorisés (pas de shell, pas de TTY)",
    "uninstallBusy": "Arrêtez les conteneurs gérés par le panneau (y compris les piles validateur) avant de désinstaller Docker",
    "badCommand": "Commande ou point d'entrée invalide",
    "portBusy": "Le port hôte {{bind}} : {{port}} est déjà utilisé",
    "nameInUse": "Un conteneur nommé {{name}} existe déjà. Supprimez-le ou choisissez un autre nom.",
    "unpublished": "Le conteneur ne s'est pas connecté à un réseau ni n'a publié de ports. Je ne considère pas cela comme commencé."
  },
  "notes": {
    "dryMutate": "Dry-run uniquement. Passez --execute et YSK_EXECUTE=1 pour modifier l’hôte.",
    "dryPrune": "Aperçu du nettoyage (non appliqué).",
    "dryEngine": "Le contrôle du moteur est un dry-run.",
    "dryDaemon": "Écrirait /etc/docker/daemon.json et redémarrerait docker.service.",
    "daemonWrote": "daemon.json écrit",
    "start": "Conteneur démarré",
    "stop": "Conteneur arrêté",
    "restart": "Conteneur redémarré",
    "remove": "Conteneur supprimé",
    "ran": "Conteneur démarré depuis une image",
    "leftoverRemoved": "Conteneur restant {{name}} supprimé après un échec de liaison",
    "pulled": "Image téléchargée",
    "exec": "Exec autorisé exécuté",
    "imageRemoved": "Image supprimée",
    "volumeCreated": "Volume créé",
    "volumeRemoved": "Volume supprimé",
    "networkCreated": "Réseau créé",
    "networkRemoved": "Réseau supprimé",
    "pruned": "Nettoyage terminé",
    "compose": {
      "up": "Projet Compose démarré",
      "down": "Projet Compose arrêté",
      "restart": "Projet Compose redémarré",
      "rm": "Projet Compose supprimé"
    },
    "engine": {
      "start": "docker.service démarré",
      "stop": "docker.service arrêté",
      "restart": "docker.service redémarré"
    }
  },
  "ui": {
    "whatYouGet": "Ce que fait cette page",
    "whatYouGetLead": "Installez d’abord Docker Engine. Ensuite vous pouvez lancer un conteneur, tirer des images et voir les piles Compose validateur déjà sur cet hôte.",
    "capEngine": "Moteur",
    "capEngineDesc": "Installation en un clic de docker.io et docker-compose-v2. Démarrez et arrêtez docker.service ici.",
    "capWork": "Conteneurs et images",
    "capWorkDesc": "Choisissez une image courante, tirez-la, lancez-la, puis lisez les journaux ou inspectez le conteneur.",
    "capStacks": "Piles validateur",
    "capStacksDesc": "Les piles multi-services sont des projets Compose validateur (yskval-*). Cette page n’accepte pas de YAML téléversé.",
    "cardEngine": "Moteur",
    "cardDisk": "Disque",
    "cardWork": "Sur cet hôte",
    "compose": "Compose",
    "cgroup": "groupe de contrôle",
    "used": "Utilisé",
    "free": "Libre",
    "running": "En cours",
    "images": "Images",
    "volumes": "Volumes",
    "networks": "Réseaux",
    "goImages": "Images",
    "goValidators": "Nœuds validateur",
    "imagePickHint": "Choisissez une image courante. Utilisez Autre seulement pour une autre référence.",
    "imageCustom": "Autre",
    "driver": "Pilote",
    "driverLocalOnly": "Ce panneau crée uniquement des volumes local.",
    "netDefaultDriver": "Les nouveaux réseaux utilisent le pilote bridge par défaut de Docker.",
    "pruneWhat": "Éléments à retirer",
    "pruneAck": "Je comprends que les données inutilisées seront supprimées et ne pourront pas être restaurées",
    "pruneAckDesc": "Le nettoyage des volumes ou du système est irréversible. Les conteneurs arrêtés et les images inutilisées du périmètre choisi sont retirés.",
    "pruneNow": "Nettoyer maintenant",
    "useMirrors": "Utiliser des miroirs de registre",
    "useInsecure": "Autoriser les registres non chiffrés",
    "publishPorts": "Publier des ports sur l’hôte",
    "attachVolume": "Attacher un volume",
    "setEnv": "Définir des variables d’environnement",
    "defaultNet": "Par défaut",
    "mountPath": "Chemin de montage",
    "restartNo": "Jamais",
    "restartUnless": "Sauf arrêt",
    "restartAlways": "Toujours",
    "restartOnFail": "En cas d’échec",
    "needAck": "Confirmez avant de nettoyer",
    "scopeContainers": "Conteneurs arrêtés",
    "scopeImages": "Images inutilisées",
    "scopeVolumes": "Volumes inutilisés",
    "scopeBuilder": "Cache de construction",
    "scopeSystem": "Tout ce qui est inutilisé",
    "noVolumesYet": "Aucun volume — créez-en un dans l’onglet Volumes d’abord.",
    "command": "Commande",
    "commandHint": "Facultatif. Jetons après l'image. Laissez vide pour utiliser l’image CMD.",
    "entrypoint": "Point d'entrée",
    "entrypointHint": "Binaire unique en option. Laissez vide pour utiliser l’image ENTRYPOINT.",
    "portMap": "hôte: conteneur",
    "portOccupied": "Ce port hôte est déjà utilisé",
    "validatorImage": "Géré par les nœuds validateurs",
    "newVolume": "Nouveau volume nommé",
    "loopbackUrl": "URL de test locale",
    "nginxProxy": "Créer un proxy inverse Nginx",
    "intentPorts": "Demandé (non publié)",
    "customPort": "Autre port hôte",
    "customPortHost": "Port hôte",
    "customPortContainer": "Port conteneur",
    "pctUsed": "{{n}} % utilisé",
    "customPortHint": "1-65535. Exemple : 9090 → 80.",
    "pickBridge": "Réseau de ponts"
  },
  "deleteTitle": "Supprimer {{id}}",
  "deleteDesc": "Cela ne peut pas être annulé.",
  "deleteC1": "La ressource est supprimée de cet hôte.",
  "deleteComposeVal": "Il s'agit d'une pile de validateur — l'instance de validateur est également supprimée.",
  "pruneTitle": "Élaguer les ressources Docker",
  "pruneDesc": "Tapez PRUNE pour confirmer. Les données inutilisées ne peuvent pas être restaurées.",
  "pruneC1": "Les ressources inutilisées dans la portée sélectionnée sont supprimées.",
  "pruneC2": "L’élagage des volumes et du système supprime définitivement les volumes de données inutilisés.",
  "pruneC3": "Les conteneurs arrêtés ou les images inutilisées dans cette étendue sont supprimés."
}
