{
    "nav_servers":  "Serveurs",
    "nav_users":  "Utilisateurs",
    "nav_invites":  "Liens d\u0027invitation",
    "nav_settings":  "Paramètres",
    "nav_connections":  "Connexions",
    "nav_logout":  "Déconnexion",
    "theme_dark":  "Sombre",
    "theme_light":  "Clair",
    "back_to_servers":  "← Retour aux serveurs",
    "server_check":  "Vérifier",
    "server_checking":  "Vérification...",
    "protocols":  "Protocoles",
    "install":  "Installer",
    "uninstall":  "Désinstaller",
    "run":  "En cours",
    "stop":  "Arrêté",
    "not_installed":  "Pas installé",
    "installed":  "Installé",
    "add_server":  "Ajouter un serveur",
    "no_servers":  "Aucun serveur ajouté",
    "name":  "Nom",
    "host":  "Hôte",
    "port":  "Port",
    "status":  "Statut",
    "actions":  "Actions",
    "edit":  "Modifier",
    "delete":  "Supprimer",
    "save":  "Enregistrer",
    "cancel":  "Annuler",
    "loading":  "Chargement...",
    "copy":  "Copier",
    "download":  "Télécharger",
    "config":  "Configuration",
    "qr_code":  "Code QR",
    "vpn_key":  "Clé VPN",
    "clients":  "Clients",
    "traffic":  "Trafic",
    "limit":  "Limite",
    "manage":  "Gérer",
    "no_protocols":  "Aucun protocole",
    "add_server_desc":  "Ajoutez votre premier serveur VPN pour commencer. Identifiants SSH requis.",
    "ssh_host":  "Hôte / IP",
    "ssh_port":  "Port SSH",
    "ssh_user":  "Utilisateur",
    "ssh_password":  "Mot de passe",
    "ssh_key":  "Clé SSH",
    "ssh_key_placeholder":  "Clé SSH privée",
    "ssh_key_hint":  "Collez le contenu de votre fichier id_rsa ou id_ed25519",
    "connect":  "Connecter",
    "connecting":  "Connexion...",
    "server_added":  "Serveur ajouté avec succès",
    "server_deleted":  "Serveur supprimé",
    "delete_confirm":  "Voulez-vous vraiment supprimer ce serveur ?",
    "success":  "Succès",
    "error":  "Erreur",
    "info":  "Info",
    "login_title":  "Connexion au Panneau",
    "username":  "Nom d\u0027utilisateur",
    "password":  "Mot de passe",
    "captcha":  "Captcha",
    "captcha_placeholder":  "Entrez les caractères",
    "captcha_hint":  "Cliquez pour rafraîchir",
    "login":  "Connexion",
    "logging_in":  "Connexion...",
    "login_error":  "Échec de la connexion",
    "check_done":  "Vérification terminée",
    "check_error":  "Erreur de connexion",
    "ssh_ok":  "Connexion SSH",
    "docker_ok":  "Docker",
    "docker_not_installed":  "Docker non installé",
    "awg_desc":  "Version moderne basée sur awg-go. Obfuscation avancée (S3, S4).",
    "awg_legacy_desc":  "Version AWG originale. Compatible avec les anciens clients.",
    "xray_desc":  "Masque le trafic en trafic web normal (XTLS-Reality). Résiste au DPI.",
    "not_checked":  "Non vérifié",
    "connections":  "Connexions",
    "add":  "Ajouter",
    "loading_connections":  "Chargement des connexions...",
    "no_connections":  "Aucune connexion",
    "no_connections_desc":  "Ajoutez votre première connexion pour générer un fichier VPN",
    "install_protocol":  "Installer le protocole",
    "port_default_hint":  "Port par défaut : 55424. Assurez-vous qu\u0027il est libre.",
    "port_xray_hint":  "Port recommandé : 443. Assurez-vous qu\u0027il n\u0027est pas utilisé par un serveur web.",
    "reinstall":  "Réinstaller",
    "uninstall_confirm":  "Désinstaller {} ? Toutes les données seront perdues.",
    "stop_container_confirm":  "Arrêter le conteneur {} ?",
    "start_container_confirm":  "Démarrer le conteneur {} ?",
    "stopping":  "Arrêt",
    "starting":  "Démarrage",
    "stopped":  "arrêté",
    "started":  "démarré",
    "server_config":  "Configuration du serveur",
    "add_connection":  "Ajouter une connexion",
    "connection_name":  "Nom de la connexion",
    "connection_name_placeholder":  "Ex: iPhone, Laptop",
    "assign_to_user":  "Assigner à l\u0027utilisateur (optionnel)",
    "no_assign":  "— Aucune assignation —",
    "create":  "Créer",
    "creating":  "Création...",
    "connection_created":  "Connexion \"{}\" créée",
    "delete_connection_confirm":  "Supprimer cette connexion ? Elle cessera de fonctionner.",
    "connection_deleted":  "Connexion supprimée",
    "select_all":  "Tout sélectionner",
    "connections_selected_count":  "{} sélectionné(s)",
    "move_connections":  "Déplacer",
    "move_connections_title":  "Déplacer les connexions vers un autre serveur",
    "move_connections_target":  "Serveur cible",
    "move_connections_confirm":  "Déplacer {} connexion(s) vers le serveur sélectionné ? Les utilisateurs auront besoin de nouveaux configs.",
    "move_connections_hint":  "Recrée les connexions sur le serveur cible et conserve les affectations utilisateur.",
    "move_connections_warning":  "Les clients reçoivent de nouvelles clés et IP. Les anciens configs cessent de fonctionner.",
    "move_connections_delete_source":  "Supprimer du serveur actuel après le déplacement",
    "move_connections_success":  "{} connexion(s) déplacée(s)",
    "move_connections_partial_fail":  "{} n'ont pas pu être déplacées",
    "move_connections_none_selected":  "Sélectionnez au moins une connexion",
    "move_connections_no_targets":  "Aucun autre serveur disponible",
    "config_tab":  "📄 Config",
    "vpn_key_tab":  "🔑 Clé-VPN",
    "qr_code_tab":  "📱 Code-QR",
    "copy_config":  "📋 Copier",
    "download_conf":  "⬇ Télécharger .conf",
    "copy_key":  "📋 Copier la clé",
    "vpn_link_hint":  "Collez ce lien dans AmneziaVPN pour une config automatique",
    "qr_hint":  "Scannez le code QR dans l\u0027application AmneziaVPN",
    "no_data":  "Aucune donnée",
    "start_btn":  "▶ Start",
    "stop_btn":  "⏹ Stop",
    "config_btn":  "⚙️ Config",
    "done":  "Terminé",
    "installing":  "Installation...",
    "start_install":  "Début de l\u0027installation...",
    "check_docker":  "Vérification de Docker...",
    "prepare_host":  "Préparation de l\u0027hôte...",
    "build_container":  "Construction du conteneur...",
    "install_success":  "Protocole installé avec succès !",
    "install_error":  "Erreur d\u0027installation : ",
    "qr_error":  "Échec de génération du QR code",
    "users_title":  "Utilisateurs",
    "search_placeholder":  "Recherche par nom, email ou Telegram...",
    "add_user":  "Ajouter Utilisateur",
    "prev_page":  "← Retour",
    "next_page":  "Suivant →",
    "page_info":  "Page {} sur {}",
    "loading_users":  "Chargement des utilisateurs...",
    "nothing_found":  "Rien trouvé",
    "search_empty_desc":  "Essayez une autre requête ou créez un utilisateur",
    "username_label":  "Nom d\u0027utilisateur",
    "password_label":  "Mot de passe",
    "role_label":  "Rôle",
    "role_user_desc":  "User — voit ses propres connexions",
    "role_support_desc":  "Support — gestion des serveurs",
    "role_admin_desc":  "Admin — accès complet",
    "tg_id_label":  "ID Telegram (opt.)",
    "email_label":  "Email (opt.)",
    "traffic_limit_label":  "Limite trafic (Go) (0 = illimité)",
    "description_label":  "Description (opt.)",
    "auto_conn_title":  "Création auto de connexion (optionnel)",
    "server_label":  "Serveur",
    "no_create_conn":  "— Ne pas créer —",
    "protocol_label":  "Protocole",
    "edit_user_title":  "Modifier utilisateur : {}",
    "edit_user_tg":  "ID Telegram (optionnel)",
    "edit_user_email":  "Email (optionnel)",
    "edit_user_limit":  "Limite trafic (Go) (0 = illimité)",
    "new_password_hint":  "Nouveau mot de passe (laisser vide si inchangé)",
    "op_type_label":  "Type d\u0027opération",
    "create_new_conn":  "Créer nouvelle connexion",
    "link_existing_conn":  "Lier existante",
    "select_existing_conn":  "Sélectionner connexion",
    "existing_conn_hint":  "Seules les connexions libres sont affichées",
    "conn_name_panel":  "Nom (dans le panneau)",
    "user_conns_title":  "Connexions utilisateur",
    "no_free_conns":  "Aucune connexion libre",
    "select_connection":  "Veuillez sélectionner une connexion",
    "linking":  "Liaison...",
    "conn_linked":  "Connexion liée",
    "enabling":  "Activation",
    "disabling":  "Désactivation",
    "user_enabled":  "Utilisateur activé",
    "user_disabled":  "Utilisateur désactivé",
    "delete_user_confirm":  "Supprimer l\u0027utilisateur ? Ses connexions seront supprimées.",
    "share_access":  "Partager l\u0027accès",
    "enable_public_access":  "Activer l\u0027accès public",
    "share_password_label":  "Mot de passe (optionnel)",
    "share_password_hint":  "Si défini, requis pour l\u0027accès",
    "guest_settings_title":  "Accès invité",
    "guest_enable":  "Activer l\u0027accès invité (sans inscription)",
    "guest_enable_hint":  "Lien public sur la page de connexion. Les invités voient les connexions de l\u0027utilisateur choisi.",
    "guest_link_label":  "Lien invité",
    "guest_link_placeholder":  "Enregistrez pour générer le lien",
    "guest_regen_token":  "Régénérer le lien",
    "guest_regen_confirm":  "Régénérer le lien invité ? L\u0027ancien ne fonctionnera plus.",
    "guest_token_updated":  "Lien invité mis à jour",
    "guest_user_label":  "Utilisateur des connexions invitées",
    "guest_user_none":  "— Choisir —",
    "guest_user_hint":  "Créez un utilisateur (ex. guest) et assignez des VPN.",
    "guest_password_label":  "Mot de passe invité (optionnel)",
    "guest_password_keep":  "Laisser vide pour conserver",
    "guest_clear_password":  "Retirer le mot de passe",
    "guest_allow_create":  "Autoriser la création d\u0027une config",
    "guest_access_btn":  "Continuer en invité",
    "guest_access_login_hint":  "Sans compte",
    "guest_title":  "Accès invité",
    "guest_subtitle":  "Obtenir une config VPN sans inscription",
    "guest_protected_desc":  "Page protégée par mot de passe.",
    "guest_get_config":  "Obtenir la config",
    "guest_get_config_hint":  "Une nouvelle config VPN sera créée",
    "guest_not_found":  "404 Introuvable",
    "guest_not_found_desc":  "Accès invité désactivé ou lien invalide.",
    "wrong_guest_password":  "Mauvais mot de passe",
    "invites_title":  "Liens d\u0027invitation",
    "invites_hint":  "Créez des liens partageables. Le destinataire peut créer une config VPN — vous fixez le nombre d\u0027utilisations.",
    "invites_empty":  "Aucun lien",
    "invites_empty_desc":  "Créez un lien à partager — sans inscription.",
    "invite_create":  "Créer un lien",
    "invite_edit":  "Modifier le lien",
    "invite_active":  "Actif",
    "invite_expired":  "Expiré",
    "invite_exhausted":  "Plus d\u0027utilisations",
    "invite_uses":  "Utilisations",
    "invite_name_label":  "Nom du lien",
    "invite_max_uses_label":  "Configs max",
    "invite_max_uses_hint":  "Nombre de configs créables via ce lien. 0 = illimité.",
    "invite_user_label":  "Utilisateur de stockage",
    "invite_user_hint":  "Les configs créées sont attachées à cet utilisateur.",
    "invite_user_required":  "Choisissez un utilisateur",
    "invite_password_label":  "Mot de passe (optionnel)",
    "invite_expires_label":  "Expiration (optionnel)",
    "invite_duration_label":  "Durée du config (jours)",
    "invite_duration_hint":  "Commence quand l\u0027utilisateur clique Obtenir. 0 = illimité.",
    "invite_duration_short":  "Durée",
    "invite_duration_starts_hint":  "Après obtention, valable {} jour(s)",
    "invite_config_expires_at":  "Valable jusqu\u0027au : {}",
    "invite_sub_tab":  "Abonnement",
    "days_short":  "j",
    "invite_clear_expires":  "Retirer l\u0027expiration",
    "invite_note_label":  "Note (admin)",
    "invite_note_placeholder":  "Commentaire interne",
    "invite_reset_used":  "Réinitialiser le compteur",
    "invite_created":  "Lien créé (URL copiée)",
    "invite_updated":  "Lien mis à jour",
    "invite_deleted":  "Lien supprimé",
    "invite_delete_confirm":  "Supprimer ce lien ?",
    "invite_public_title":  "Invitation",
    "invite_public_subtitle":  "Obtenir une config VPN via invitation",
    "invite_protected_desc":  "Lien protégé par mot de passe.",
    "invite_get_config_hint":  "Chaque clic crée une config et compte comme une utilisation",
    "invite_uses_left":  "Restantes : {}",
    "invite_uses_left_unlimited":  "Créées : {} (illimité)",
    "invite_not_found":  "404 Introuvable",
    "invite_not_found_desc":  "Lien invalide ou supprimé.",
    "wrong_invite_password":  "Mauvais mot de passe",
    "public_link_label":  "Lien public",
    "disabled":  "Désactivé",
    "out_of":  "sur",
    "settings_title":  "Paramètres du Panneau",
    "appearance":  "🎨 Apparence",
    "title_label":  "Titre",
    "logo_label":  "Logo (Emoji ou symbole)",
    "subtitle_label":  "Sous-titre",
    "captcha_title":  "🔐 Captcha",
    "enable_captcha":  "Activer captcha",
    "telegram_bot_title":  "🤖 Bot Telegram",
    "bot_token_label":  "Bot Token (@BotFather)",
    "bot_status":  "Statut",
    "bot_running":  "✅ En cours",
    "bot_stopped":  "⏹ Arrêté",
    "bot_stop_btn":  "⏹ Arrêter",
    "bot_start_btn":  "▶️ Démarrer",
    "bot_hint":  "Sauvegardez après modification du token. Le bot redémarrera.",
    "api_docs_title":  "🔌 Documentation API",
    "api_docs_hint":  "Utilisez ces interfaces pour explorer l\u0027API",
    "tunnels_title":  "Tunnels",
    "tunnels_subtitle":  "Exposez le panneau sur Internet ou routez le trafic sortant via un VPN.",
    "tunnels_section_inbound":  "Accès public",
    "tunnels_section_outbound":  "VPN sortant",
    "tunnel_cloudflare_desc":  "URL HTTPS gratuite via Cloudflare — sans compte.",
    "tunnel_ngrok_desc":  "Tunnel stable avec votre authtoken ngrok.",
    "tunnel_warp_desc":  "Routez le trafic du serveur via Cloudflare WARP.",
    "tunnel_nordvpn_desc":  "Connectez cet hôte aux serveurs NordVPN.",
    "local_server":  "Serveur local",
    "tunnel_install_enable":  "Installer et activer",
    "tunnel_enable":  "Activer le tunnel",
    "tunnel_running":  "Tunnel en cours",
    "tunnel_stop":  "Arrêter",
    "tunnel_stopping":  "Arrêt...",
    "tunnel_stopped":  "Tunnel arrêté",
    "tunnel_delete":  "Supprimer",
    "tunnel_deleted":  "Tunnel supprimé",
    "tunnel_delete_confirm":  "Arrêter et supprimer ce binaire de tunnel géré par le panneau ?",
    "tunnel_starting":  "Démarrage du tunnel...",
    "tunnel_started":  "Tunnel démarré",
    "tunnel_waiting_url":  "Tunnel démarré. En attente de l\u0027URL publique...",
    "tunnel_no_public_url":  "L\u0027URL publique apparaîtra ici après le démarrage du tunnel.",
    "tunnels_hint":  "Les tunnels rapides exposent ce panneau local sur Internet. Gardez des identifiants administrateur robustes et partagez les URL publiques uniquement avec des utilisateurs de confiance.",
    "ngrok_authtoken_placeholder":  "ngrok authtoken (optionnel pour certains comptes)",
    "import_users_title":  "📤 Import Utilisateurs",
    "import_source_label":  "Source Import / Sync",
    "remnawave_url_label":  "URL Remnawave",
    "api_key_label":  "Clé API",
    "enable_sync":  "Activer synchronisation",
    "sync_hint":  "Synchro automatique avec Remnawave",
    "sync_now_btn":  "🔄 Sync maintenant",
    "delete_sync_btn":  "🗑 Supprimer synchro",
    "auto_create_conns":  "Créer connexions auto",
    "sync_server_label":  "Serveur pour nouvelles connexions",
    "save_changes":  "💾 Enregistrer changements",
    "sync_success":  "Sync terminée : {} utilisateurs",
    "sync_deleted":  "Supprimé {} utilisateurs sync",
    "delete_sync_confirm":  "Supprimer TOUS les utilisateurs synchronisés ? Irréversible.",
    "settings_saved":  "Paramètres enregistrés",
    "bot_started":  "Bot démarré",
    "bot_stopped_msg":  "Bot arrêté",
    "sync_running":  "Synchronisation...",
    "deleting":  "Suppression...",
    "my_connections_title":  "Mes Connexions",
    "show_config":  "📄 Voir config",
    "no_connections_user_desc":  "Contactez l\u0027admin pour une connexion",
    "share_title":  "Accès Connexion",
    "vpn_access":  "Accès VPN",
    "user_label_share":  "Utilisateur",
    "share_protected_desc":  "Accès protégé par mot de passe.",
    "auth_success":  "Succès Auth",
    "loading_share_conns":  "Chargement...",
    "no_active_conns":  "Aucune connexion active.",
    "show_settings_btn":  "🔑 Voir paramètres",
    "copied":  "Copié !",
    "active":  "Actif",
    "site_description":  "Panneau Web Amnezia — gestion serveurs VPN et AmneziaWG",
    "toggle_theme":  "Changer thème",
    "copied_to_clipboard":  "Copié dans le presse-papier",
    "share_not_found":  "404 Introuvable",
    "share_not_found_desc":  "Lien invalide ou accès désactivé.",
    "invalid_captcha":  "Captcha invalide",
    "account_disabled":  "Compte désactivé",
    "invalid_login":  "Login ou password incorrect",
    "user_exists":  "L\u0027utilisateur existe déjà",
    "cannot_delete_self":  "Vous ne pouvez pas vous supprimer",
    "wrong_share_password":  "Mauvais mot de passe",
    "saving":  "Enregistrement...",
    "select_lang":  "Choisir la langue",
    "lang_ru":  "Русский",
    "lang_en":  "English",
    "lang_fr":  "Français",
    "lang_zh":  "中文 (Chinese)",
    "lang_fa":  "فارسی (Persian)",
    "backup_title":  "Sauvegarde Simple",
    "download_backup":  "Télécharger le dump PostgreSQL (.sql)",
    "download_backup_json":  "Exporter JSON (ancien)",
    "backup_hint":  "Dump complet de la base PostgreSQL du panneau. Utilisez .sql pour une sauvegarde complète ; JSON pour l'ancien format.",
    "restore_backup":  "Restaurer depuis .sql ou .json",
    "restore_confirm":  "La restauration écrasera toutes les données actuelles du panneau dans la base.",
    "restore_success":  "Restauration réussie ! Redémarrage...",
    "invalid_backup_file":  "Fichier invalide (dump .sql ou ancien data.json)",
    "config_unavailable":  "Configuration indisponible",
    "config_unavailable_desc":  "Ce client a été créé via l\u0027application native Amnezia.\\nLa clé privée est stockée uniquement sur l\u0027appareil de l\u0027utilisateur et ne peut pas être récupérée par le serveur.",
    "client_public_key":  "Clé publique du client :",
    "management":  "Gestion",
    "server_management":  "Gestion du serveur",
    "server_management_desc":  "Effectuer des actions au niveau du système sur votre machine.",
    "check_server_services":  "Vérifier les services du serveur",
    "reboot_server":  "Redémarrer le serveur",
    "clear_server":  "Réinitialiser le serveur",
    "remove_server":  "Retirer le serveur du panneau",
    "telemt_desc":  "Proxy Telegram basé sur MTProxy avec obfuscation avancée.",
    "hysteria_desc":  "Hysteria 2 (QUIC/UDP) via l\u0027image officielle tobyxdd/hysteria (apernet/hysteria) avec TLS Let\u0027s Encrypt. Le domaine est défini par l\u0027admin à l\u0027installation.",
    "hysteria_domain":  "Domaine",
    "hysteria_email":  "Email Let\u0027s Encrypt",
    "hysteria_port_hint":  "Port UDP pour Hysteria (8998 par défaut). Évitez 443 s\u0027il est déjà pris.",
    "hysteria_install_hint":  "L\u0027enregistrement A du domaine doit pointer vers ce serveur. BBR et obfuscation salamander sont activés automatiquement.",
    "hysteria_dns_hint":  "Créez cet enregistrement DNS avant l\u0027installation :",
    "hysteria_settings_title":  "Paramètres Hysteria",
    "hysteria_change_port":  "Changer le port",
    "hysteria_port_change_hint":  "Port UDP. Si « address already in use », choisissez un port libre (8443 ou 8998).",
    "hysteria_settings_saved":  "Port Hysteria mis à jour",
    "hysteria_ports_warning":  "Attention : les ports TCP 80 et 443 doivent être libres pour un fonctionnement stable (Let\u0027s Encrypt sur 80, HTTPS/QUIC sur 443).",
    "hysteria_renew_ssl":  "Renouveler SSL",
    "hysteria_ssl_change_hint":  "Changer le domaine réémet le certificat Let\u0027s Encrypt (le port 80 doit être libre).",
    "hysteria_ssl_required":  "Domaine et email requis pour SSL",
    "naiveproxy_desc":  "NaiveProxy (stable) — HTTPS/HTTP2 via Caddy + forwardproxy, TLS Let\u0027s Encrypt. Client : utilisez Karing. N\u0027utilisez pas v2rayN ; autres clients non testés.",
    "naiveproxy_domain":  "Domaine",
    "naiveproxy_email":  "Email Let\u0027s Encrypt",
    "naiveproxy_port_hint":  "Le port TCP 443 est fixe pour NaiveProxy. Le port 80/TCP doit être libre pour l\u0027émission du certificat.",
    "naiveproxy_install_hint":  "L\u0027enregistrement A du domaine doit pointer vers ce serveur. Les ports TCP 80 et 443 doivent être libres (Let\u0027s Encrypt et proxy HTTPS).",
    "naiveproxy_dns_hint":  "Créez cet enregistrement DNS avant l\u0027installation :",
    "naiveproxy_ports_warning":  "Attention : les ports TCP 80 et 443 doivent être libres pour un fonctionnement stable (Let\u0027s Encrypt sur 80, proxy HTTPS sur 443).",
    "naiveproxy_client_hint":  "Version stable. N\u0027utilisez PAS v2rayN. Fonctionne avec Karing. Autres clients non testés.",
    "server_ssl_domain":  "Domaine SSL (par défaut)",
    "server_ssl_email":  "Email SSL (par défaut)",
    "server_ssl_hint":  "Utilisé lors de l\u0027installation de Hysteria / NGINX sur ce serveur (Let\u0027s Encrypt).",
    "server_connect_domain":  "Domaine de connexion client",
    "server_connect_domain_hint":  "Utilisé dans les configs VPN à la place de l\u0027IP. Lors d\u0027un déplacement du serveur, mettez à jour l\u0027enregistrement DNS A.",
    "container_logs":  "Logs du conteneur",
    "logs_btn":  "📋 Logs",
    "logs_live":  "Temps réel",
    "logs_reconnect":  "reconnexion…",
    "no_logs":  "Pas encore de logs",
    "container_status":  "Statut",
    "exit_code":  "Code de sortie",
    "dns_desc":  "Serveur DNS personnel pour bloquer les publicités et protéger la vie privée.",
    "dns_internal_hint":  "The service runs on the internal network (172.29.172.254) without binding to host ports.",
    "telemt_port_hint":  "Port for the Telegram proxy (typically 443).",
    "socks5_desc":  "Single-account SOCKS5 proxy (3proxy) with username/password authentication.",
    "socks5_username":  "Username",
    "socks5_password":  "Password",
    "socks5_password_placeholder":  "Leave empty to auto-generate",
    "socks5_password_hint":  "If left empty, a random 16-character password will be generated.",
    "socks5_port_hint":  "TCP port the proxy will listen on. The default in the official Amnezia client is 38080.",
    "socks5_change_settings":  "Change settings",
    "socks5_settings_title":  "SOCKS5 — Connection settings",
    "socks5_port_change_hint":  "Changing the port recreates the container; existing sessions will be dropped.",
    "socks5_settings_saved":  "SOCKS5 settings saved",
    "adguard_desc":  "AdGuard Home — DNS-based ad blocker with a web admin UI.",
    "adguard_mode":  "Installation mode",
    "adguard_mode_sidebyside":  "Side-by-side",
    "adguard_mode_sidebyside_hint":  "runs alongside AmneziaDNS on a separate internal IP (172.29.172.253)",
    "adguard_mode_replace":  "Replace AmneziaDNS",
    "adguard_mode_replace_hint":  "removes amnezia-dns and takes its IP — VPN clients use AdGuard immediately",
    "adguard_dns_port":  "DNS port (53)",
    "adguard_dns_port_hint":  "Internal DNS port served to VPN clients via the docker network.",
    "adguard_web_port":  "Web UI port",
    "adguard_dot_port":  "DoT port",
    "adguard_doh_port":  "DoH port",
    "adguard_expose_web":  "Expose to internet",
    "adguard_expose":  "Expose to host",
    "adguard_install_hint":  "Initial AdGuard setup runs through its built-in wizard via the web UI after install.",
    "adguard_internal_ip":  "Internal IP",
    "adguard_web_ui":  "Admin URL",
    "adguard_open_ui":  "Open Web UI",
    "edit_server_title":  "Edit server",
    "edit_keep_credential":  "Leave empty to keep the current value",
    "server_saved":  "Server settings saved",
    "servers_reordered":  "Servers reordered",
    "ping_checking":  "Checking connectivity...",
    "offline":  "offline",
    "api_tokens_title":  "API tokens",
    "api_tokens_hint":  "Bearer tokens for external integrations. Send the token in the `Authorization: Bearer \u003ctoken\u003e` header. Tokens have admin-equivalent rights and stop working if their owner is disabled or demoted.",
    "api_tokens_empty":  "No API tokens yet. Create one to integrate the panel with an external service.",
    "api_tokens_create":  "Create token",
    "api_tokens_create_title":  "Create API token",
    "api_tokens_name_label":  "Name",
    "api_tokens_name_placeholder":  "e.g. Linear integration, CI bot, monitoring",
    "api_tokens_name_hint":  "Used to identify this token in the list. The token value itself is generated for you.",
    "api_tokens_name_required":  "Token name is required",
    "api_tokens_created_title":  "Token created",
    "api_tokens_value_label":  "Token value",
    "api_tokens_warning_title":  "This is the only time you\u0027ll see this token.",
    "api_tokens_warning_body":  "Copy it now and store it in your integration\u0027s secret manager. The panel keeps only a hash — if you lose this value you\u0027ll need to revoke and recreate the token.",
    "api_tokens_revoke":  "Revoke",
    "api_tokens_revoke_confirm":  "Revoke token \"{}\"? Any integration using it will stop working.",
    "api_tokens_revoked":  "Token revoked",
    "api_tokens_created":  "Created",
    "api_tokens_last_used":  "Last used",
    "api_tokens_owner":  "Owner",
    "api_tokens_never":  "never",
    "coming_soon":  "Coming soon",
    "promo_star_cta":  "Star us on GitHub",
    "aivpn_subtitle":  "AI-driven protocol selection that picks the right tunnel for the moment. Land it sooner — drop a star.",
    "revproxy_title":  "Reverse Proxy",
    "revproxy_subtitle":  "High-performance traffic obfuscation: hide your VPN endpoint behind a polished public-facing site, drop the DPI footprint.",
    "warp_hint":  "WARP routes this host outbound through Cloudflare. It does not create a public panel URL like Quick Tunnel or ngrok.",
    "warp_install_hint":  "Install the official Cloudflare WARP client first, then restart the panel.",
    "warp_install_required":  "Install WARP first",
    "warp_connect":  "Connect WARP",
    "warp_disconnect":  "Disconnect",
    "warp_connected":  "WARP connected",
    "warp_disconnected":  "WARP disconnected",
    "warp_status_unknown":  "WARP status is unknown.",
    "warp_status_not_installed":  "Cloudflare WARP CLI is not installed on this host.",
    "warp_status_connected":  "Cloudflare WARP is connected.",
    "warp_status_connecting":  "Cloudflare WARP is connecting.",
    "warp_status_disconnected":  "Cloudflare WARP is disconnected.",
    "warp_status_not_registered":  "Cloudflare WARP is installed but not registered yet. Connect will try to register automatically.",
    "warp_status_service_unavailable":  "Cloudflare WARP service is not available. Make sure warp-svc is running.",
    "warp_status_error":  "Cloudflare WARP returned an error.",
    "nordvpn_hint":  "NordVPN routes this host outbound through NordVPN servers. It does not create a public panel URL like Quick Tunnel or ngrok. Run nordvpn login on the host once before connecting.",
    "nordvpn_install_hint":  "Install the official NordVPN client/CLI on this host, run nordvpn login, then restart the panel.",
    "nordvpn_install_required":  "Install NordVPN first",
    "nordvpn_connect":  "Connect NordVPN",
    "nordvpn_disconnect":  "Disconnect",
    "nordvpn_connected":  "NordVPN connected",
    "nordvpn_disconnected":  "NordVPN disconnected",
    "nordvpn_status_unknown":  "NordVPN status is unknown.",
    "nordvpn_status_not_installed":  "NordVPN CLI is not installed on this host.",
    "nordvpn_status_connected":  "NordVPN is connected.",
    "nordvpn_status_connecting":  "NordVPN is connecting.",
    "nordvpn_status_disconnected":  "NordVPN is disconnected.",
    "nordvpn_status_not_logged_in":  "NordVPN is installed but not logged in. Run nordvpn login on this host.",
    "nordvpn_status_service_unavailable":  "NordVPN daemon is not available. Make sure nordvpnd is running.",
    "nordvpn_status_error":  "NordVPN returned an error.",
    "nordvpn_country_placeholder":  "Country (optional, e.g. Germany or de)",
    "nordvpn_city_placeholder":  "City (optional, e.g. Berlin)",
    "install_starting":  "Starting installation...",
    "server_check_complete":  "Check completed",
    "server_connection_error":  "Connection error",
    "connections_load_error":  "Error loading connections",
    "connection_updated":  "Connection updated",
    "edit_connection":  "Edit connection",
    "enable_connection_progress":  "Enabling connection...",
    "disable_connection_progress":  "Disabling connection...",
    "connection_enabled":  "Connection enabled",
    "connection_disabled":  "Connection disabled",
    "gb":  "GB",
    "marketplace":  "Templates",
    "open_marketplace":  "Open Templates",
    "marketplace_desc":  "Install protocol and service templates available for this server.",
    "installed_apps":  "Installed applications",
    "installed_apps_hint":  "Only installed protocols and services are shown here. Use Templates to add more.",
    "no_installed_apps":  "No installed applications yet",
    "no_installed_apps_desc":  "Open Templates to install protocols or services on this server.",
    "install_another":  "Install another",
    "new_instance":  "new instance",
    "port_next_instance_hint":  "Choose a free UDP port for the additional instance.",
    "web_servers":  "Serveurs web",
    "nginx_desc":  "Serveur web NGINX avec certificat HTTPS Let\u0027s Encrypt et index.html modifiable.",
    "nginx_domain":  "Domaine",
    "nginx_email":  "Email Let\u0027s Encrypt",
    "nginx_port_hint":  "Port HTTPS exposé sur le serveur. Le port 80/TCP doit être libre et accessible pour la validation Let\u0027s Encrypt.",
    "nginx_install_hint":  "Le domaine doit déjà pointer vers ce serveur. Le port 80/TCP est utilisé pour la validation HTTP-01 du certificat.",
    "site":  "Site",
    "site_editor":  "Éditeur du site",
    "site_saved":  "Site enregistré",
    "nginx_dns_hint":  "Creez cet enregistrement DNS avant l installation :",
    "backup":  "Backup",
    "backups":  "Backups",
    "backup_desc":  "Backups are created on the server and contain valuable protocol files needed to restore or recreate it later.",
    "create_backup":  "Create backup",
    "creating_backup":  "Creating backup...",
    "backup_created":  "Backup created",
    "no_backups":  "No backups yet",
    "no_backups_desc":  "Create the first backup for this protocol.",
    "refresh":  "Refresh",
    "guest_allow_create_hint":  "Crée une config pour l\u0027utilisateur invité (3x-ui VLESS ou protocole serveur).",
    "invite_inbound_hint":  "Choisissez l\u0027inbound VLESS une fois",
    "invite_inbound_loading":  "Chargement…",
    "invite_inbound_empty":  "Aucun inbound VLESS",
    "invite_inbound_need_xui":  "Configurez 3x-ui d\u0027abord",
    "invite_inbound_required":  "Sélectionnez un inbound VLESS",
    "invite_sub_url_missing_title":  "URL d\u0027abonnement manquante",
    "invite_sub_url_missing_hint":  "Dans Paramètres → 3x-ui, définissez l\u0027URL de base /sub.",
    "xui_url_label":  "URL 3x-ui",
    "xui_url_hint":  "Inclure le schéma, le port et webBasePath si configuré",
    "xui_sub_url_label":  "URL de base d\u0027abonnement",
    "xui_sub_url_hint":  "Base /sub publique sans slash final (ex: https://host:2096/sub).",
    "xui_api_token_label":  "Jeton API (préféré)",
    "xui_api_token_placeholder":  "Settings → Security → API Token",
    "xui_api_token_hint":  "Si défini, le login/mot de passe est ignoré",
    "xui_username_label":  "Identifiant 3x-ui",
    "xui_password_label":  "Mot de passe 3x-ui",
    "xui_sync_hint":  "Les clients 3x-ui deviennent des utilisateurs du panneau (liés par email)",
    "xui_inbound_label":  "Inbound VLESS",
    "xui_inbound_auto":  "Auto (premier inbound VLESS)",
    "xui_inbound_hint":  "Utilisé pour créer des configs 3x-ui VLESS. Créez d\u0027abord un inbound VLESS dans 3x-ui.",
    "xui_servers_title":  "Serveurs 3x-ui",
    "xui_servers_hint":  "Ajoutez plusieurs panneaux 3x-ui. À la création, choisissez le serveur par nom — son URL d\u0027abonnement est utilisée.",
    "xui_servers_empty":  "Aucun serveur 3x-ui. Cliquez sur Ajouter.",
    "xui_servers_manage_hint":  "Les URL et bases d\u0027abonnement se gèrent dans la section « Serveurs 3x-ui » ci-dessous.",
    "xui_server_add":  "Ajouter un serveur",
    "xui_server_name_label":  "Nom / description",
    "xui_server_name_hint":  "Affiché dans les invitations (ex: US, NL).",
    "xui_server_select_label":  "Serveur 3x-ui",
    "xui_server_select_hint":  "Choisissez le panneau 3x-ui qui émettra l\u0027URL d\u0027abonnement.",
    "xui_server_delete_confirm":  "Supprimer ce serveur 3x-ui ?"
,
    "about_title":  "About & Updates",
    "current_version":  "Current version",
    "check_updates":  "Check for updates",
    "checking_updates":  "Checking...",
    "update_available":  "New version available",
    "download_update":  "Download update",
    "up_to_date":  "You have the latest version",
    "apply_update":  "Install update",
    "applying_update":  "Updating…",
    "apply_update_confirm":  "Install update from git.evilfox.cc and restart the panel?",
    "update_restarting":  "Updated. Restarting panel…",
    "update_no_target":  "No target version. Check for updates first.",
    "auto_update_hint":  "Auto-update pulls the release tag from git.evilfox.cc (git checkout required).",
    "auto_update_ready":  "Git auto-update is available for this install.",
    "auto_update_docker":  "Docker install: rebuild/pull image, or use a git checkout for one-click update.",
    "auto_update_manual":  "One-click update needs a git clone. You can still download a release.",
    "auto_update_archive":  "One-click update downloads the release ZIP from git.evilfox.cc and restarts the panel.",
    "upgrade_panel":  "Update panel",
    "upgrade_panel_confirm":  "Download and install",
    "upgrade_panel_confirm_latest":  "Check for updates and install the latest release?",
    "upgrade_panel_working":  "Updating panel…",
    "upgrade_panel_up_to_date":  "Already on the latest version"
}
