{
  "local_shell": {
    "title": "Sélectionner le shell",
    "description": "Sélectionnez un shell de terminal local à lancer. Appuyez sur Cmd+T pour utiliser le shell par défaut.",
    "available_shells": "Shells disponibles",
    "loading_shells": "Chargement de la liste des shells...",
    "working_directory": "Répertoire de travail (optionnel)",
    "working_directory_placeholder": "Laisser vide pour utiliser le répertoire actuel",
    "set_default": "Définir par défaut",
    "cancel": "Annuler",
    "launch": "Lancer",
    "launching": "Lancement...",
    "toast": {
      "load_shells_failed": "Échec du chargement des shells disponibles",
      "terminal_created": "Terminal local créé",
      "using_shell": "Utilisation de {{shell}}",
      "create_failed": "Échec de la création du terminal local",
      "detached": "Session mise en arrière-plan",
      "detached_desc": "{{shell}} s’exécute en arrière-plan",
      "detach_failed": "Échec de la mise en arrière-plan",
      "attached": "Session reprise",
      "attach_failed": "Échec de la reprise de session"
    },
    "background": {
      "title": "Sessions en arrière-plan",
      "lines": "lignes",
      "resume": "Reprendre",
      "kill": "Terminer"
    }
  },
  "modals": {
    "jump_server": {
      "title": "Ajouter un serveur de saut",
      "host": "Hôte",
      "host_placeholder": "bastion.example.com",
      "port": "Port",
      "username": "Nom d'utilisateur",
      "username_placeholder": "jumpuser",
      "authentication": "Authentification",
      "auth_default_key": "Clé par défaut",
      "auth_ssh_key": "Clé SSH",
      "auth_password": "Mot de passe",
      "auth_agent": "Agent SSH",
      "default_key_desc": "Utiliser la clé SSH par défaut (~/.ssh/id_rsa, etc.)",
      "key_path": "Chemin de la clé",
      "key_path_placeholder": "~/.ssh/id_rsa",
      "browse": "Parcourir",
      "passphrase": "Phrase secrète (optionnel)",
      "password": "Mot de passe",
      "agent_desc": "S'authentifier en utilisant l'agent SSH système",
      "agent_hint": "Assurez-vous que l'agent SSH est en cours d'exécution et contient les clés requises",
      "kbi_not_supported_hint": "Les hôtes relais ne prennent pas encore en charge keyboard-interactive/2FA",
      "cancel": "Annuler",
      "add": "Ajouter"
    },
    "root_node": {
      "title": "Ajouter un nœud racine",
      "host": "Hôte",
      "host_placeholder": "nom d'hôte ou IP",
      "port": "Port",
      "username": "Nom d'utilisateur",
      "username_placeholder": "root",
      "display_name": "Nom d'affichage (optionnel)",
      "display_name_placeholder": "Mon serveur",
      "auth_method": "Méthode d'authentification",
      "auth_agent": "Agent SSH",
      "auth_key": "Clé",
      "auth_password": "Mot de passe",
      "agent_desc": "S'authentifier en utilisant l'agent SSH (recommandé)",
      "key_path": "Chemin de la clé privée",
      "key_path_placeholder": "~/.ssh/id_rsa",
      "browse": "Parcourir",
      "passphrase": "Phrase secrète de la clé (optionnel)",
      "passphrase_placeholder": "Si la clé est protégée par une phrase secrète",
      "password": "Mot de passe",
      "password_placeholder": "Mot de passe SSH",
      "cancel": "Annuler",
      "adding": "Ajout en cours...",
      "add_node": "Ajouter le nœud"
    },
    "auto_route": {
      "title": "Connexion auto-routée",
      "description": "Sélectionnez un serveur cible parmi vos connexions enregistrées. Le système calculera automatiquement le chemin optimal via les hôtes de saut.",
      "loading": "Chargement...",
      "no_connections": "Aucune connexion enregistrée trouvée",
      "no_connections_hint": "Enregistrez d'abord quelques connexions. Le graphe topologique est automatiquement généré à partir de vos connexions enregistrées et de leurs paramètres de chaîne proxy.",
      "select_target": "Sélectionner le serveur cible",
      "display_name": "Nom d'affichage",
      "connection_info": "Info de connexion",
      "authentication": "Authentification",
      "auth_agent": "Agent SSH",
      "auth_key": "Clé SSH",
      "auth_password_warning": "Mot de passe (non pris en charge pour l'auto-routage)",
      "can_reach": "Peut atteindre",
      "cancel": "Annuler",
      "connect": "Connecter",
      "connecting": "Connexion en cours...",
      "connect_failed": "Échec de la connexion"
    },
    "export": {
      "title": "Exporter la configuration vers un fichier .oxide",
      "close": "Fermer",
      "select_connections": "Sélectionner les connexions à exporter ({{selected}}/{{total}})",
      "select_all": "Tout sélectionner",
      "deselect_all": "Tout désélectionner",
      "badge_new": "NOUVEAU",
      "new_since_last_export": "{{count}} nouvelle(s) connexion(s) depuis le dernier export",
      "no_connections": "Aucune connexion enregistrée",
      "section_forwards": "Redirections de port enregistrées ({{count}})",
      "no_forwards": "Aucune redirection de port enregistrée",
      "forwards_owner_notice": "Les redirections de port enregistrées sélectionnées seront exportées avec les configurations de connexion auxquelles elles appartiennent.",
      "description": "Description (optionnel)",
      "description_placeholder": "ex. : Serveur de production",
      "embed_keys": "Intégrer les clés privées",
      "embed_keys_description": "Inclure le contenu des fichiers de clés privées pour des sauvegardes portables. Les clés seront extraites vers ~/.ssh/imported/ lors de l'importation.",
      "include_app_settings": "Inclure les paramètres globaux",
      "include_app_settings_description": "Exporter l'apparence du terminal, les préférences de comportement et les autres paramètres de l'application OxideTerm.",
      "app_settings_sections_title": "Sections des paramètres de l'application",
      "app_settings_sections_hint": "Choisissez quels groupes de paramètres de l'application inclure dans le fichier .oxide.",
      "app_settings_include_env_vars": "Inclure les variables d'environnement du terminal local",
      "app_settings_include_env_vars_description": "Peut contenir des valeurs spécifiques à la machine ou sensibles.",
      "app_settings_section_terminal_appearance": "Apparence du terminal",
      "app_settings_section_terminal_behavior": "Comportement du terminal",
      "app_settings_section_file_editor": "Fichiers et éditeur",
      "app_settings_no_sections": "Aucune section des paramètres de l'application sélectionnée",
      "include_plugin_settings": "Inclure les préférences des plugins",
      "include_plugin_settings_description": "Exporter les préférences déclarées des plugins stockées dans le stockage local d'OxideTerm.",
      "include_portable_secrets": "Inclure les secrets portables",
      "include_portable_secrets_description": "Exporter les éléments secrets compatibles avec le mode portable pouvant être restaurés à l'importation, tels que les clés de fournisseurs d'IA.",
      "section_plugin_by_id": "{{pluginId}} ({{count}} paramètre(s))",
      "no_plugin_settings": "Aucune préférence de plugin à exporter",
      "password": "Mot de passe de chiffrement *",
      "password_placeholder": "Au moins 6 caractères ; 12+ recommandés avec majuscules, minuscules, chiffres et symboles",
      "confirm_password": "Confirmer le mot de passe *",
      "confirm_password_placeholder": "Ressaisir le mot de passe",
      "security_notice": "🔒 Avis de sécurité",
      "security_encryption": "Fichier chiffré avec ChaCha20-Poly1305, sécurité de niveau militaire",
      "security_kdf": "Mot de passe dérivé avec Argon2id (256 Mo, 4 itérations)",
      "security_contains": "Le fichier contient les connexions, redirections et phrases secrètes de clés sélectionnées",
      "security_settings": "Inclure les paramètres globaux : {{app}} ; inclure les préférences des plugins : {{plugin}}",
      "security_portable_secrets": "Inclure les secrets portables : {{portable}}",
      "security_passwords_excluded": "Les mots de passe serveur enregistrés ne sont jamais inclus dans le fichier .oxide",
      "security_no_session": "Les données de session ne sont PAS incluses — uniquement les configurations de connexion",
      "security_keep_safe": "Veuillez conserver le mot de passe de chiffrement en sécurité, car il ne peut pas être récupéré s'il est perdu",
      "cancel": "Annuler",
      "export": "Exporter",
      "exporting": "Exportation en cours...",
      "content_summary_title": "Contenu sélectionné",
      "content_summary_connections": "{{count}} connexion(s)",
      "content_summary_forwards": "{{count}} redirection(s) enregistrée(s)",
      "content_summary_app_settings": "Paramètres de l'application",
      "content_summary_plugin_settings": "{{plugins}} plugin(s), {{count}} paramètre(s)",
      "content_summary_portable_secrets": "Secrets portables : {{count}} élément(s)",
      "content_summary_embed_keys": "Les clés privées SSH seront intégrées",
      "summary_title": "Résumé de l'exportation",
      "summary_passwords": "{{count}} avec mot de passe",
      "summary_keys": "{{count}} avec clé",
      "summary_agent": "{{count}} avec agent",
      "summary_portable_secrets": "{{count}} élément(s) de secrets portables seront inclus.",
      "warning_passwords_excluded": "{{count}} connexion(s) avec authentification par mot de passe seront exportées sans leur mot de passe serveur enregistré.",
      "warning_missing_keys": "{{count}} fichier(s) de clé introuvable(s) :",
      "key_size": "Données de clé totales : {{size}}",
      "stage_reading_keys": "Lecture des clés...",
      "stage_encrypting": "Chiffrement...",
      "stage_writing": "Écriture du fichier...",
      "stage_done": "Terminé !",
      "error_select_something": "Veuillez sélectionner au moins un élément à exporter",
      "error_select_one": "Veuillez sélectionner au moins une connexion",
      "error_password_length": "Le mot de passe doit comporter au moins 12 caractères",
      "error_password_too_short": "Le mot de passe doit comporter au moins 6 caractères",
      "error_password_mismatch": "Les mots de passe ne correspondent pas",
      "error_password_complexity": "Le mot de passe doit contenir des majuscules, minuscules, chiffres et caractères spéciaux",
      "password_strength_weak": "Mot de passe faible, nous recommandons d'utiliser 12 caractères ou plus avec un mélange de majuscules, minuscules, chiffres et symboles",
      "password_strength_fair": "Moyen",
      "password_strength_strong": "Fort",
      "error_export_failed": "Échec de l'exportation",
      "success": "Exportation réussie : {{count}} connexion(s) enregistrée(s) dans {{path}}",
      "include_quick_commands": "Include Quick Commands ({{count}})",
      "include_quick_commands_description": "Quick Commands may contain hostnames, paths, or secrets embedded in commands."
    },
    "import": {
      "title": "Importer la configuration depuis un fichier .oxide",
      "close": "Fermer",
      "select_file": "Sélectionner le fichier .oxide",
      "instructions_title": "Instructions d'importation",
      "instructions_1": "Sélectionnez le fichier .oxide exporté par OxideTerm",
      "instructions_2": "Entrez le mot de passe de chiffrement défini lors de l'exportation",
      "instructions_3": "Après le déchiffrement et l’aperçu, vous pouvez choisir quelles connexions, quels groupes de paramètres de l'application, quelles préférences des plugins et quelles redirections de port importer",
      "instructions_4": "Les phrases secrètes de clés incluses seront stockées de manière sécurisée dans le trousseau système ; les mots de passe serveur enregistrés ne font pas partie du fichier",
      "select_all": "Tout sélectionner",
      "deselect_all": "Tout désélectionner",
      "selected_count": "{{count}} sélectionné(s)",
      "file_info": "Informations sur le fichier",
      "exported_at": "Exporté le :",
      "exported_by": "Exporté par :",
      "description": "Description :",
      "contains": "Contient :",
      "connections_count": "{{count}} connexion(s)",
      "contains_app_settings": "Paramètres de l'application :",
      "contains_app_settings_partial": "Paramètres de l'application : après l’aperçu, vous pouvez choisir les groupes à importer",
      "contains_plugin_settings": "Préférences des plugins :",
      "contains_portable_secrets": "Secrets portables :",
      "plugin_settings_count": "{{count}} élément(s)",
      "portable_secrets_count": "{{count}} élément(s)",
      "partial_import_hint": "Après l’aperçu, vous pouvez importer partiellement des connexions, des groupes de paramètres de l'application, des préférences des plugins et des redirections de port",
      "connection_list": "Liste des connexions :",
      "password": "Mot de passe de déchiffrement",
      "password_placeholder": "Entrez le mot de passe défini lors de l'exportation",
      "warning_title": "⚠️ Avertissement",
      "warning_text": "L'importation traitera toutes les connexions sélectionnées en une seule fois. La gestion des conflits de nom dépend de la stratégie de conflit choisie ci-dessous.",
      "conflict_strategy": "Stratégie de conflit",
      "strategy_rename": "Renommer en cas de conflit",
      "strategy_skip": "Ignorer les conflits",
      "strategy_replace": "Remplacer l'existant",
      "strategy_merge": "Fusionner avec l'existant",
      "reselect_file": "Resélectionner le fichier",
      "cancel": "Annuler",
      "preview": "Aperçu",
      "previewing": "Chargement...",
      "stage_parsing": "Analyse du fichier...",
      "stage_decrypting": "Déchiffrement...",
      "stage_analyzing": "Analyse de l'aperçu d'importation...",
      "stage_preparing": "Préparation de l'importation...",
      "stage_applying": "Application des modifications...",
      "stage_saving": "Enregistrement des données importées...",
      "stage_done": "Terminé !",
      "preview_title": "Aperçu de l'importation",
      "preview_total": "{{count}} connexion(s) seront importée(s)",
      "preview_unchanged": "✓ {{count}} connexion(s) seront importée(s) telles quelles :",
      "preview_will_rename": "{{count}} connexion(s) seront renommée(s) en raison de conflits :",
      "preview_will_skip": "{{count}} connexion(s) seront ignorée(s) en raison de conflits :",
      "preview_will_replace": "{{count}} connexion(s) remplaceront des connexions existantes :",
      "preview_will_merge": "{{count}} connexion(s) seront fusionnée(s) avec des connexions existantes :",
      "preview_embedded_keys": "Les clés privées seront extraites vers ~/.ssh/imported/",
      "preview_forwards": "Ce fichier contient {{count}} règle(s) de redirection de port (à titre d'information, non appliquée(s) automatiquement)",
      "preview_app_settings": "Ce fichier restaurera également les paramètres globaux d'OxideTerm.",
      "preview_plugin_settings": "Ce fichier restaurera également {{count}} élément(s) de préférences des plugins.",
      "preview_portable_secrets": "Ce fichier contient également {{count}} élément(s) de secrets portables, comme des clés de fournisseurs d'IA.",
      "section_app_settings": "Paramètres de l'application",
      "app_settings_sections_title": "Sections de paramètres ({{count}})",
      "app_settings_legacy_title": "Legacy Application Settings",
      "app_settings_legacy_description": "This file was exported before sectioned settings support. Only full settings import is available.",
      "app_settings_contains_env_vars": "Includes local terminal environment variable names",
      "app_settings_field_recent_shells": "Shells récents",
      "section_plugin_settings": "Préférences des plugins ({{count}} plugins)",
      "section_portable_secrets": "Secrets portables ({{count}} éléments)",
      "section_forwards": "Redirections de port enregistrées ({{count}})",
      "toggle_app_settings": "Importer les paramètres de l'application",
      "toggle_plugin_settings": "Importer les préférences des plugins",
      "toggle_portable_secrets": "Importer les éléments de secrets portables",
      "toggle_forwards": "Importer les redirections de port enregistrées",
      "app_settings_keys": "Clés de premier niveau : {{keys}}",
      "app_settings_view_changes": "Afficher les modifications",
      "app_settings_hide_changes": "Masquer les modifications",
      "app_settings_diff_title": "Modifications des paramètres de premier niveau",
      "app_settings_diff_empty": "Aucune différence de premier niveau détectée.",
      "app_settings_current": "Actuel",
      "app_settings_imported": "Importé",
      "plugin_settings_items": "{{count}} paramètre(s)",
      "back": "Retour",
      "confirm_import": "Confirmer l'importation",
      "renamed": "⚠️ Renommées en raison de conflits : {{count}}",
      "import": "Tout importer",
      "importing": "Importation en cours...",
      "success": "✓ Importation réussie : {{count}} connexion(s)",
      "imported_app_settings": "Les paramètres globaux d'OxideTerm ont été restaurés.",
      "imported_plugin_settings": "{{count}} élément(s) de préférences des plugins ont été restaurés.",
      "imported_portable_secrets": "{{count}} élément(s) de secrets portables ont été restaurés.",
      "skipped_app_settings": "Paramètres de l'application ignorés",
      "skipped_plugin_settings": "Préférences des plugins ignorées",
      "skipped_portable_secrets": "Secrets portables ignorés",
      "skipped_forwards": "Redirections de port ignorées",
      "skipped": "Ignorées : {{count}}",
      "replaced": "Remplacées : {{count}}",
      "merged": "Fusionnées : {{count}}",
      "errors": "Erreurs :",
      "auto_close": "La fenêtre se fermera automatiquement dans 2 secondes...",
      "passwords_not_included": "Les mots de passe serveur enregistrés ne sont jamais inclus dans les fichiers .oxide. Les connexions avec authentification par mot de passe peuvent vous demander de ressaisir le mot de passe plus tard.",
      "error_password": "Mot de passe incorrect, impossible de déchiffrer le fichier",
      "error_tampered": "La vérification du fichier a échoué, les données peuvent avoir été altérées",
      "error_enter_password": "Veuillez entrer le mot de passe de déchiffrement",
      "contains_quick_commands": "Quick Commands:",
      "quick_commands_count": "{{count}} command(s)",
      "section_quick_commands": "Quick Commands ({{count}} commands)",
      "toggle_quick_commands": "Import {{categories}} Quick Command group(s). Existing conflicts follow the selected conflict strategy; Replace only replaces conflicting items.",
      "imported_quick_commands": "Imported {{count}} Quick Command item(s).",
      "skipped_quick_commands": "Quick Commands skipped"
    },
    "reconnect": {
      "title": "Reconnecter la session",
      "description": "Entrez le mot de passe pour vous reconnecter à",
      "password": "Mot de passe",
      "password_placeholder": "Entrez le mot de passe SSH",
      "cancel": "Annuler",
      "reconnect": "Reconnecter",
      "connecting": "Connexion en cours..."
    },
    "host_key": {
      "title_unknown": "Clé d'hôte inconnue",
      "title_changed": "⚠️ Clé d'hôte modifiée !",
      "title_error": "Erreur de connexion",
      "unknown_message": "C'est la première connexion à cet hôte. Veuillez vérifier l'empreinte ci-dessous avant de continuer.",
      "changed_warning": "Attention : La clé de l'hôte diffère de celle enregistrée ! Cela pourrait signifier : 1) Le serveur a été réinstallé ou sa clé changée ; 2) Vous pourriez être victime d'une attaque de l'homme du milieu (MITM). Vérifiez avec votre administrateur avant de continuer.",
      "key_type_label": "Type de clé",
      "fingerprint_label": "Empreinte SHA256",
      "expected_fingerprint": "Empreinte enregistrée",
      "actual_fingerprint": "Empreinte actuelle",
      "confirm_prompt": "Si vous confirmez que le changement de clé est légitime, tapez \"{{host}}\" pour continuer :",
      "remove_prompt": "Saisissez \"{{host}}\" pour supprimer la clé d'hôte enregistrée et revérifier la clé actuelle :",
      "actions": {
        "cancel": "Annuler",
        "trust_once": "Faire confiance une fois",
        "trust_save": "Faire confiance et enregistrer",
        "remove_saved": "Supprimer la clé enregistrée",
        "ok": "OK"
      }
    },
    "save_preset": {
      "title": "Enregistrer comme connexion prédéfinie",
      "connection_path": "Chemin de connexion",
      "connection_name": "Nom de la connexion",
      "name_placeholder": "Entrez le nom de la connexion",
      "notes_title": "⚠️ Notes :",
      "notes_1": "L'authentification utilisera l'agent SSH.",
      "notes_2": "Pour d'autres méthodes d'authentification, modifiez la connexion après l'enregistrement.",
      "notes_3": "Cette connexion sera disponible dans la liste des connexions après l'enregistrement.",
      "error_name_required": "Veuillez entrer le nom de la connexion",
      "cancel": "Annuler",
      "save": "Enregistrer",
      "saving": "Enregistrement..."
    },
    "drill_down": {
      "title": "Drill Down vers un nouveau serveur",
      "description": "Établir une connexion tunnelée depuis <host>{{host}}</host>",
      "target_host": "Hôte cible",
      "target_host_placeholder": "192.168.1.100 ou serveur-interne",
      "port": "Port",
      "username": "Nom d'utilisateur",
      "username_placeholder": "root",
      "auth_method": "Méthode d'authentification",
      "auth_agent": "Agent SSH",
      "auth_key": "Clé SSH",
      "auth_password": "Mot de passe",
      "agent_desc": "S'authentifier en utilisant l'agent SSH système.",
      "agent_hint": "Assurez-vous que votre agent SSH est en cours d'exécution et que les clés requises sont chargées.",
      "key_path": "Chemin de la clé",
      "key_path_placeholder": "~/.ssh/id_rsa",
      "browse": "Parcourir",
      "passphrase": "Phrase secrète de la clé (optionnel)",
      "password": "Mot de passe",
      "cancel": "Annuler",
      "connect": "Connecter",
      "connecting": "Connexion en cours..."
    },
    "edit_connection": {
      "title": "Connecter à {{name}}",
      "auth_method": "Méthode d'authentification",
      "auth_password": "Mot de passe",
      "auth_key": "Clé SSH",
      "auth_agent": "Agent SSH",
      "password": "Mot de passe",
      "password_placeholder": "Entrez le mot de passe",
      "key_path": "Chemin de la clé SSH",
      "key_path_placeholder": "~/.ssh/id_rsa",
      "passphrase": "Phrase secrète (si requise)",
      "passphrase_placeholder": "Phrase secrète de la clé",
      "agent_desc": "S'authentifier en utilisant l'agent SSH système",
      "agent_hint": "Assurez-vous que votre agent SSH est en cours d'exécution et contient les clés requises",
      "group": "Groupe",
      "no_group": "Aucun groupe",
      "cancel": "Annuler",
      "connect": "Connecter",
      "connecting": "Connexion en cours..."
    },
    "kbi": {
      "title": "Authentification à deux facteurs",
      "default_instruction": "Veuillez répondre aux invites d'authentification du serveur.",
      "time_remaining": "Temps restant : {{seconds}}s",
      "timeout": "Délai dépassé - l'authentification peut avoir expiré",
      "enter_response": "Entrez la réponse",
      "enter_code": "Entrez le code",
      "cancel": "Annuler",
      "continue": "Continuer",
      "verifying": "Vérification..."
    },
    "new_connection": {
      "title": "Nouvelle connexion",
      "description": "Entrez les détails de votre nouvelle connexion SSH.",
      "twofa_error": "Erreur 2FA : {{error}}",
      "name": "Nom (optionnel)",
      "name_placeholder": "Mon serveur",
      "jump_servers_configured": "ⓘ Serveurs de saut configurés",
      "target_host": "Hôte cible",
      "port": "Port",
      "target_username": "Nom d'utilisateur cible",
      "authentication": "Authentification",
      "auth_password": "Pass",
      "auth_default_key": "Défaut",
      "auth_key": "Clé",
      "auth_certificate": "Cert",
      "auth_agent": "Agent",
      "auth_2fa": "2FA",
      "password": "Mot de passe",
      "save_password": "Enregistrer le mot de passe dans le trousseau",
      "key_file": "Fichier de clé",
      "key_path_placeholder": "~/.ssh/id_rsa",
      "browse": "Parcourir",
      "browse_key": "Sélectionner la clé SSH",
      "browse_cert": "Sélectionner le certificat SSH",
      "default_key_desc": "Utiliser la clé SSH par défaut (ex. ~/.ssh/id_rsa, ~/.ssh/id_ed25519)",
      "agent_desc": "S'authentifier en utilisant l'agent SSH système",
      "agent_hint": "Assurez-vous que l'agent SSH est en cours d'exécution et que les clés requises sont chargées",
      "agent_detected": "Agent SSH détecté",
      "agent_not_detected": "Agent SSH non détecté",
      "private_key": "Clé privée",
      "certificate": "Certificat",
      "certificate_placeholder": "~/.ssh/id_ed25519-cert.pub",
      "certificate_hint": "Fichier de certificat OpenSSH (se termine généralement par -cert.pub)",
      "certificate_note": "Cette option est pour les certificats signés par une CA OpenSSH, pas pour les clés SSH classiques. Si vous avez une clé privée avec une phrase secrète, utilisez l'onglet Clé SSH.",
      "passphrase": "Phrase secrète (optionnel)",
      "passphrase_placeholder": "Phrase secrète de la clé si chiffrée",
      "twofa_desc": "Authentification à deux facteurs (Keyboard-Interactive)",
      "twofa_hint": "Le serveur demandera des identifiants lors de la connexion. Utilisations courantes : codes TOTP, jetons matériels, défi-réponse.",
      "twofa_warning": "Note : Les connexions 2FA ne peuvent pas être reconnectées automatiquement. Vous devrez vous reconnecter manuellement si la session tombe.",
      "group": "Groupe",
      "select_group": "Sélectionner un groupe",
      "ungrouped": "Non groupé",
      "create_groups_hint": "Créer des groupes dans les Paramètres",
      "save_connection": "Enregistrer la connexion pour une utilisation future",
      "save_connection_hint": "Désactivé par défaut lors de la première utilisation. Votre choix sera mémorisé.",
      "agent_forwarding": "Activer le transfert d'agent SSH",
      "agent_forwarding_hint": "Activez uniquement pour les serveurs de confiance. Un serveur malveillant pourrait utiliser votre agent SSH local pour s'authentifier sur d'autres hôtes.",
      "post_connect_command": "Run after connect",
      "post_connect_command_placeholder": "cd /srv/app",
      "post_connect_command_hint": "Optional. Runs once after the interactive shell opens.",
      "proxy_chain": {
        "title": "Chaîne proxy",
        "add_jump": "Ajouter un serveur de saut",
        "empty": "Aucun serveur de saut configuré",
        "jump_server": "Serveur de saut",
        "host": "Hôte",
        "port": "Port",
        "username": "Nom d'utilisateur",
        "auth": "Auth",
        "count": "{{count}} serveur(s) de saut configuré(s) - cliquez pour développer",
        "configured": "Serveurs de saut configurés"
      },
      "cancel": "Annuler",
      "test": "Tester",
      "testing": "Test en cours...",
      "test_success": "Connexion réussie",
      "test_failed": "Échec du test de connexion",
      "test_elapsed": "Connecté en {{ms}}ms",
      "test_not_supported_kbi": "Le test de connexion n'est pas pris en charge pour l'authentification 2FA",
      "test_proxy_chain_not_supported": "Le diagnostic de la chaîne proxy n'est pas encore pris en charge. Utilisez Connecter pour valider l'itinéraire complet.",
      "test_host_key_changed": "La clé d'hôte a changé. Attendu : {{expected}}. Actuel : {{actual}}.",
      "connect": "Connecter",
      "connecting": "Connexion en cours...",
      "connect_failed": "Échec de la connexion",
      "save_failed": "Échec de l'enregistrement"
    },
    "settings": {
      "title": "Paramètres",
      "description": "Paramètres de configuration de l'application.",
      "tabs": {
        "terminal": "Terminal (Débogage)",
        "sftp": "Transfert SFTP",
        "appearance": "Apparence",
        "connections": "Connexions",
        "ssh": "Clés SSH",
        "ai": "OxideSens"
      },
      "terminal": {
        "title": "Paramètres du terminal",
        "description": "Configurer l'apparence et le comportement du terminal.",
        "font_family": "Famille de police",
        "custom_font": "Personnalisée...",
        "custom_font_stack": "Liste de polices personnalisée",
        "custom_font_stack_hint": "Entrez les noms de polices par ordre de priorité, séparés par des virgules",
        "font_preview": "Aperçu de la police",
        "font_size": "Taille de police",
        "line_height": "Hauteur de ligne",
        "scrollback": "Lignes de défilement (Frontend)",
        "renderer": "Moteur de rendu",
        "renderer_auto": "Auto (WebGL préféré)",
        "renderer_webgl": "WebGL",
        "renderer_canvas": "Canvas",
        "renderer_hint": "Canvas est recommandé sous Windows pour une meilleure stabilité. Redémarrage nécessaire pour appliquer.",
        "cursor_style": "Style de curseur",
        "cursor_block": "Bloc",
        "cursor_underline": "Souligné",
        "cursor_bar": "Barre",
        "cursor_blink": "Clignotement du curseur"
      },
      "buffer": {
        "title": "Gestion du tampon",
        "description": "Configurer le tampon de défilement backend pour la reconnexion et la recherche.",
        "max_lines": "Lignes de tampon maximum",
        "lines_hint": "Les anciennes lignes seront automatiquement supprimées lorsque la limite est atteinte.",
        "new_sessions_only": "Les modifications ne s'appliquent qu'aux nouvelles sessions.",
        "save_hint": "Le contenu du tampon reste en mémoire pour la recherche tant que la session est active."
      },
      "appearance": {
        "title": "Apparence",
        "description": "Préférences d'interface et de disposition.",
        "theme": "Thème",
        "sidebar_collapse": "Réduire la barre latérale par défaut"
      },
      "connections": {
        "title": "Valeurs par défaut des connexions",
        "description": "Paramètres par défaut pour les nouvelles connexions.",
        "default_username": "Nom d'utilisateur par défaut",
        "default_port": "Port par défaut",
        "groups": {
          "title": "Groupes",
          "description": "Gérer les groupes de connexions.",
          "new_placeholder": "Nouveau nom de groupe...",
          "add": "Ajouter"
        },
        "ssh_config": {
          "title": "Importer depuis la config SSH",
          "description": "Scanner ~/.ssh/config pour les hôtes.",
          "no_hosts": "Aucun hôte trouvé dans ~/.ssh/config",
          "import": "Importer"
        }
      },
      "ssh_keys": {
        "title": "Clés SSH",
        "description": "Gérer les clés SSH locales détectées dans ~/.ssh/",
        "encrypted": "Chiffré",
        "no_keys": "Aucune clé trouvée à l'emplacement par défaut."
      },
      "ai": {
        "title": "OxideSens",
        "description": "Configurer OxideSens en ligne avec votre propre API.",
        "enable": {
          "title": "Activer les fonctionnalités IA",
          "shortcut_windows": "Appuyez sur Ctrl+Shift+I dans le terminal pour ouvrir le panneau IA",
          "shortcut_mac": "Appuyez sur Ctrl+I / Cmd+I dans le terminal pour ouvrir le panneau IA"
        },
        "privacy": {
          "title": "🔒 Avis de confidentialité",
          "local_requests": "Toutes les requêtes IA sont initiées depuis votre machine locale",
          "no_server": "Aucun serveur intermédiaire n'est utilisé",
          "context_only": "Seul le contexte sélectionné est envoyé à l'API",
          "keychain": "La clé API est stockée de manière sécurisée dans le trousseau système"
        },
        "config": {
          "title": "Configuration de l'API",
          "description": "Paramètres du point de terminaison compatible OpenAI.",
          "base_url": "URL de base",
          "base_url_placeholder": "https://api.openai.com/v1",
          "base_url_hint": "Fonctionne avec OpenAI, Ollama, OneAPI, ou tout point de terminaison compatible.",
          "model": "Modèle",
          "model_placeholder": "gpt-4o-mini",
          "model_hint": "Identifiant du modèle (ex. : gpt-4o-mini, deepseek-chat, llama3.2).",
          "api_key": "Clé API",
          "api_key_configured": "Clé API configurée dans le trousseau",
          "api_key_remove_confirm": "Supprimer la clé API du trousseau ?",
          "api_key_placeholder": "sk-...",
          "api_key_hint": "Stockée dans le trousseau système, jamais enregistrée sur le disque.",
          "save": "Enregistrer",
          "saving": "Enregistrement..."
        },
        "context": {
          "title": "Limites de contexte",
          "description": "Contrôler la quantité de contexte envoyée à l'IA.",
          "max_chars": "Caractères max",
          "visible_lines": "Lignes visibles",
          "token_hint": "Les estimations de tokens sont approximatives (1 token ≈ 4 caractères pour l'anglais).",
          "chars_2000": "2 000 car. (~500 tokens)",
          "chars_4000": "4 000 car. (~1 000 tokens)",
          "chars_8000": "8 000 car. (~2 000 tokens)",
          "chars_16000": "16 000 car. (~4 000 tokens)",
          "chars_32000": "32 000 car. (~8 000 tokens)",
          "lines_50": "50 lignes",
          "lines_100": "100 lignes",
          "lines_120": "120 lignes",
          "lines_200": "200 lignes"
        },
        "confirm": {
          "title": "Activer les fonctionnalités IA",
          "intro": "Avant d'activer les fonctionnalités IA, veuillez confirmer que vous comprenez :",
          "point_local": "Toutes les requêtes IA sont initiées <strong>depuis votre machine locale</strong>",
          "point_no_server": "<strong>Aucun serveur intermédiaire</strong> n'est utilisé par OxideTerm",
          "point_context": "Seul le <strong>contexte sélectionné</strong> est envoyé à votre API configurée",
          "point_responsibility": "Vous êtes responsable des politiques de données de votre fournisseur d'API",
          "cancel": "Annuler",
          "confirm": "Je comprends, activer l'IA"
        }
      },
      "sftp": {
        "title": "Paramètres de transfert SFTP",
        "description": "Configurer le comportement et les performances du transfert de fichiers.",
        "concurrent": {
          "title": "Transferts simultanés max",
          "hint": "Nombre maximum de fichiers transférés simultanément. Des valeurs plus élevées peuvent améliorer le débit mais augmentent l'utilisation de la mémoire.",
          "transfer_count_one": "{{count}} transfert",
          "transfer_count_other": "{{count}} transferts"
        },
        "bandwidth": {
          "enable": "Activer la limitation de bande passante",
          "limit": "Limite de vitesse (Ko/s)",
          "hint": "Définir à 0 pour illimité. Valeurs courantes : 1024 (1 Mo/s), 5120 (5 Mo/s), 10240 (10 Mo/s)."
        },
        "conflict": {
          "title": "Action par défaut en cas de conflit",
          "hint": "Que faire lorsqu'un fichier avec le même nom existe déjà à la destination.",
          "ask": "Demander à chaque fois",
          "overwrite": "Toujours écraser",
          "skip": "Toujours ignorer",
          "rename": "Garder les deux (renommer)"
        }
      },
      "errors": {
        "create_group_failed": "Échec de la création du groupe : {{error}}",
        "delete_group_failed": "Échec de la suppression du groupe : {{error}}",
        "import_host_success": "\"{{name}}\" importé avec succès comme connexion enregistrée !",
        "import_host_failed": "Échec de l'importation de l'hôte : {{error}}",
        "save_api_key_failed": "Échec de l'enregistrement de la clé API : {{error}}",
        "remove_api_key_failed": "Échec de la suppression de la clé API : {{error}}"
      }
    }
  }
}
