Drop API sync, multi-panel registry, and UI/protocol paths; keep DB columns only for compatibility with existing installs. Co-authored-by: Cursor <cursoragent@cursor.com>
468 lines
23 KiB
JSON
468 lines
23 KiB
JSON
{
|
|
"nav_servers": "Serveurs",
|
|
"nav_users": "Utilisateurs",
|
|
"nav_invites": "Liens d'invitation",
|
|
"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'utilisateur",
|
|
"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'il est libre.",
|
|
"port_xray_hint": "Port recommandé : 443. Assurez-vous qu'il n'est 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'utilisateur (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",
|
|
"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'application 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'installation...",
|
|
"check_docker": "Vérification de Docker...",
|
|
"prepare_host": "Préparation de l'hôte...",
|
|
"build_container": "Construction du conteneur...",
|
|
"install_success": "Protocole installé avec succès !",
|
|
"install_error": "Erreur d'installation : ",
|
|
"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'utilisateur",
|
|
"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'opé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'utilisateur ? Ses connexions seront supprimées.",
|
|
"share_access": "Partager l'accès",
|
|
"enable_public_access": "Activer l'accès public",
|
|
"share_password_label": "Mot de passe (optionnel)",
|
|
"share_password_hint": "Si défini, requis pour l'accès",
|
|
"guest_settings_title": "Accès invité",
|
|
"guest_enable": "Activer l'accès invité (sans inscription)",
|
|
"guest_enable_hint": "Lien public sur la page de connexion. Les invités voient les connexions de l'utilisateur 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'ancien 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'une config",
|
|
"guest_allow_create_hint": "Crée une config pour l'utilisateur invité en utilisant le protocole du serveur sélectionné.",
|
|
"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'invitation",
|
|
"invites_hint": "Créez des liens partageables. Le destinataire peut créer une config VPN — vous fixez le nombre d'utilisations.",
|
|
"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'utilisations",
|
|
"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'utilisateur 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'au : {}",
|
|
"invite_sub_tab": "Abonnement",
|
|
"days_short": "j",
|
|
"invite_clear_expires": "Retirer l'expiration",
|
|
"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'API",
|
|
"tunnels_title": "Tunnels",
|
|
"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'URL publique...",
|
|
"tunnel_no_public_url": "L'URL 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'admin 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'utilisateur 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 data.json",
|
|
"restore_backup": "Restaurer depuis un fichier",
|
|
"restore_confirm": "Êtes-vous sûr ? Les données actuelles seront écrasées et l'application redémarrera.",
|
|
"restore_success": "Restauration réussie ! Redémarrage...",
|
|
"invalid_backup_file": "Fichier de sauvegarde ou structure invalide",
|
|
"config_unavailable": "Configuration indisponible",
|
|
"config_unavailable_desc": "Ce client a été créé via l'application native Amnezia.\\nLa clé privée est stockée uniquement sur l'appareil de l'utilisateur 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.",
|
|
"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 <token>` 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'll see this token.",
|
|
"api_tokens_warning_body": "Copy it now and store it in your integration's secret manager. The panel keeps only a hash — if you lose this value you'll 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.",
|
|
"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's Encrypt et index.html modifiable.",
|
|
"nginx_domain": "Domaine",
|
|
"nginx_email": "Email Let's Encrypt",
|
|
"nginx_port_hint": "Port HTTPS exposé sur le serveur. Le port 80/TCP doit être libre et accessible pour la validation Let's 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"
|
|
}
|