{
    "nav_servers":  "Servers",
    "nav_users":  "Users",
    "nav_invites":  "Invite links",
    "nav_settings":  "Settings",
    "nav_connections":  "Connections",
    "nav_support":  "Support",
    "nav_logout":  "Logout",
    "theme_dark":  "Dark",
    "theme_light":  "Light",
    "back_to_servers":  "← Back to servers",
    "server_check":  "Check",
    "server_checking":  "Checking...",
    "protocols":  "Protocols",
    "install":  "Install",
    "uninstall":  "Uninstall",
    "run":  "Running",
    "stop":  "Stopped",
    "not_installed":  "Not installed",
    "installed":  "Installed",
    "add_server":  "Add Server",
    "no_servers":  "No servers added",
    "name":  "Name",
    "host":  "Host",
    "port":  "Port",
    "status":  "Status",
    "actions":  "Actions",
    "edit":  "Edit",
    "delete":  "Delete",
    "save":  "Save",
    "cancel":  "Cancel",
    "loading":  "Loading...",
    "copy":  "Copy",
    "download":  "Download",
    "config":  "Configuration",
    "qr_code":  "QR code",
    "vpn_key":  "VPN key",
    "clients":  "Clients",
    "traffic":  "Traffic",
    "limit":  "Limit",
    "manage":  "Manage",
    "no_protocols":  "No protocols",
    "add_server_desc":  "Add your first VPN server to get started. You\u0027ll need SSH credentials to connect.",
    "ssh_host":  "Host / IP",
    "ssh_port":  "SSH Port",
    "ssh_user":  "User",
    "ssh_password":  "Password",
    "ssh_key":  "SSH Key",
    "ssh_key_placeholder":  "Private SSH Key",
    "ssh_key_hint":  "Paste the content of your id_rsa or id_ed25519 file",
    "connect":  "Connect",
    "connecting":  "Connecting...",
    "server_added":  "Server added successfully",
    "server_deleted":  "Server deleted",
    "delete_confirm":  "Are you sure you want to delete this server?",
    "success":  "Success",
    "error":  "Error",
    "info":  "Info",
    "login_title":  "Login to Panel",
    "username":  "Username",
    "password":  "Password",
    "captcha":  "Captcha",
    "captcha_placeholder":  "Enter characters from image",
    "captcha_hint":  "Click to refresh image",
    "login":  "Login",
    "logging_in":  "Logging in...",
    "login_error":  "Login failed",
    "check_done":  "Check complete",
    "check_error":  "Connection error",
    "ssh_ok":  "SSH Connection",
    "docker_ok":  "Docker",
    "docker_not_installed":  "Docker not installed",
    "awg_desc":  "A newer version of the protocol based on awg-go. Supports advanced obfuscation with S3, S4 parameters.",
    "awg_legacy_desc":  "Original AWG version based on WireGuard kernel. Compatible with older client versions.",
    "xray_desc":  "Modern protocol that masks traffic as regular web traffic (XTLS-Reality). Resistant to deep packet analysis.",
    "wireguard_desc":  "Standard and fastest VPN protocol. Supported natively on all modern OS, but easily detected by DPI.",
    "not_checked":  "Not checked",
    "connections":  "Connections",
    "add":  "Add",
    "loading_connections":  "Loading connections...",
    "no_connections":  "No connections",
    "no_connections_desc":  "Add your first connection to generate a VPN configuration",
    "install_protocol":  "Install protocol",
    "port_default_hint":  "Default port: 55424. Make sure it\u0027s not busy",
    "port_xray_hint":  "Default port: 443 (recommended for Xray). Make sure it\u0027s not taken by another web server.",
    "reinstall":  "Reinstall",
    "uninstall_confirm":  "Uninstall {}? All connections and configurations will be lost.",
    "stop_container_confirm":  "Stop container {}?",
    "start_container_confirm":  "Start container {}?",
    "stopping":  "Stopping",
    "starting":  "Starting",
    "stopped":  "stopped",
    "started":  "started",
    "server_config":  "Server configuration",
    "add_connection":  "Add connection",
    "connection_name":  "Connection name",
    "connection_name_placeholder":  "Example: iPhone, Laptop",
    "assign_to_user":  "Assign to user (optional)",
    "no_assign":  "— No assignment —",
    "create":  "Create",
    "creating":  "Creating...",
    "connection_created":  "Connection \"{}\" created",
    "delete_connection_confirm":  "Delete this connection? The configuration will stop working.",
    "connection_deleted":  "Connection deleted",
    "select_all":  "Select all",
    "connections_selected_count":  "{} selected",
    "move_connections":  "Move",
    "move_connections_title":  "Move connections to another server",
    "move_connections_target":  "Target server",
    "move_connections_confirm":  "Move {} connection(s) to the selected server? Users will need new configs.",
    "move_connections_hint":  "Recreates selected connections on the target server and updates user assignments.",
    "move_connections_warning":  "Clients get new keys and IPs. Old configs stop working after move.",
    "move_connections_delete_source":  "Remove from current server after move",
    "move_connections_success":  "Moved {} connection(s)",
    "move_connections_partial_fail":  "{} could not be moved",
    "move_connections_none_selected":  "Select at least one connection",
    "move_connections_no_targets":  "No other servers available",
    "config_tab":  "📄 Config",
    "vpn_key_tab":  "🔑 VPN-key",
    "qr_code_tab":  "📱 QR-code",
    "copy_config":  "📋 Copy",
    "download_conf":  "⬇ Download .conf",
    "copy_key":  "📋 Copy key",
    "vpn_link_hint":  "Paste this link into the AmneziaVPN app for automatic configuration",
    "qr_hint":  "Scan the QR code in the AmneziaVPN app",
    "no_data":  "No data",
    "start_btn":  "▶ Start",
    "stop_btn":  "⏹ Stop",
    "config_btn":  "⚙️ Config",
    "done":  "Done",
    "installing":  "Installing...",
    "start_install":  "Starting installation...",
    "check_docker":  "Checking Docker...",
    "prepare_host":  "Preparing host...",
    "build_container":  "Building container...",
    "install_success":  "Protocol installed successfully!",
    "install_error":  "Installation error: ",
    "qr_error":  "Failed to generate QR code",
    "users_title":  "Users",
    "search_placeholder":  "Search by name, email or Telegram...",
    "add_user":  "Add User",
    "prev_page":  "← Back",
    "next_page":  "Next →",
    "page_info":  "Page {} of {}",
    "loading_users":  "Loading users...",
    "nothing_found":  "Nothing found",
    "search_empty_desc":  "Try changing your query or create a new user",
    "username_label":  "Username",
    "password_label":  "Password",
    "role_label":  "Role",
    "role_user_desc":  "User — view only own connections",
    "role_support_desc":  "Support — server management",
    "role_admin_desc":  "Admin — full access",
    "tg_id_label":  "Telegram ID (opt.)",
    "email_label":  "Email (opt.)",
    "traffic_limit_label":  "Traffic limit (GB) (opt., 0 = ∞)",
    "expiration_date_label":  "Expiration date",
    "no_expiration":  "No expiry",
    "expire_after_first_use":  "Start after first use",
    "expire_after_first_use_hint":  "The day countdown starts when the user first gets a config (panel, share, or Telegram).",
    "expire_days_required":  "Enter a number of days greater than 0",
    "expire_pending_label":  "{} days after first use",
    "expire_started_suffix":  "countdown started",
    "expire_already_started_hint":  "Countdown already started. Valid until: {}. Uncheck to set a fixed date.",
    "description_label":  "Description (opt.)",
    "auto_conn_title":  "Automatic connection creation (optional)",
    "server_label":  "Server",
    "no_create_conn":  "— Do not create connection —",
    "protocol_label":  "Protocol",
    "server_then_protocol_hint":  "Choose a server first, then a protocol installed on it (WireGuard, AmneziaWG 2.0, etc.).",
    "edit_user_title":  "Edit user: {}",
    "edit_user_tg":  "Telegram ID (optional)",
    "edit_user_email":  "Email (optional)",
    "edit_user_limit":  "Traffic limit (GB) (0 = ∞)",
    "new_password_hint":  "New password (leave empty if no change needed)",
    "op_type_label":  "Operation type",
    "create_new_conn":  "Create new connection",
    "link_existing_conn":  "Link existing",
    "select_existing_conn":  "Select existing connection",
    "existing_conn_hint":  "Only connections not linked to users will be shown",
    "conn_name_panel":  "Connection name (in panel)",
    "user_conns_title":  "User connections",
    "no_free_conns":  "No free connections",
    "select_connection":  "Please select a connection",
    "linking":  "Linking...",
    "conn_linked":  "Connection linked",
    "enabling":  "Enabling",
    "disabling":  "Disabling",
    "user_enabled":  "User enabled",
    "user_disabled":  "User disabled",
    "delete_user_confirm":  "Delete user? All their connections will be deleted.",
    "share_access":  "Share access",
    "enable_public_access":  "Enable public access",
    "share_password_label":  "Password (optional)",
    "share_password_hint":  "If set, user must enter it",
    "guest_settings_title":  "Guest access",
    "guest_enable":  "Enable guest access (no registration)",
    "guest_enable_hint":  "Public link on the login page. Guests see connections of the selected user and can optionally create a new config.",
    "guest_link_label":  "Guest link",
    "guest_link_placeholder":  "Save settings to generate a link",
    "guest_regen_token":  "Regenerate link",
    "guest_regen_confirm":  "Regenerate guest link? The old link will stop working.",
    "guest_token_updated":  "Guest link updated",
    "guest_user_label":  "Guest connections user",
    "guest_user_none":  "— Select user —",
    "guest_user_hint":  "Create a regular user (e.g. guest), assign VPN connections — guests will see them without logging in.",
    "guest_password_label":  "Guest password (optional)",
    "guest_password_keep":  "Leave blank to keep current password",
    "guest_clear_password":  "Remove password protection",
    "guest_allow_create":  "Allow guests to create a new config",
    "guest_access_btn":  "Continue as guest",
    "guest_access_login_hint":  "No account required",
    "guest_title":  "Guest access",
    "guest_subtitle":  "Get a VPN config without registration",
    "guest_protected_desc":  "This guest page is password protected.",
    "guest_get_config":  "Get config",
    "guest_get_config_hint":  "A new VPN config will be created for you",
    "guest_not_found":  "404 Not Found",
    "guest_not_found_desc":  "Guest access is disabled or the link is invalid.",
    "wrong_guest_password":  "Wrong password",
    "invites_title":  "Invite links",
    "invites_hint":  "Create shareable links. Anyone with the link can create a VPN config — you set how many times.",
    "invites_empty":  "No invite links yet",
    "invites_empty_desc":  "Create a link and share it — no registration needed.",
    "invite_create":  "Create link",
    "invite_edit":  "Edit link",
    "invite_active":  "Active",
    "invite_expired":  "Expired",
    "invite_exhausted":  "No uses left",
    "invite_uses":  "Uses",
    "invite_name_label":  "Link name",
    "invite_max_uses_label":  "Max configs",
    "invite_max_uses_hint":  "How many configs can be created via this link. 0 = unlimited.",
    "invite_user_label":  "Store configs under user",
    "invite_user_hint":  "Created configs are attached to this panel user (for management).",
    "invite_user_required":  "Select a user to store configs under",
    "invite_password_label":  "Password (optional)",
    "invite_expires_label":  "Expires at (optional)",
    "invite_duration_label":  "Config lifetime (days)",
    "invite_duration_hint":  "Starts when the user clicks Get config. 0 = no expiry.",
    "invite_duration_short":  "Lifetime",
    "invite_duration_starts_hint":  "After you get a config it will work for {} day(s)",
    "invite_config_expires_at":  "Config valid until: {}",
    "invite_sub_tab":  "Subscription",
    "days_short":  "d",
    "invite_clear_expires":  "Remove expiration",
    "invite_note_label":  "Note (admin only)",
    "invite_note_placeholder":  "Internal comment",
    "invite_reset_used":  "Reset used counter to 0",
    "invite_created":  "Invite link created (URL copied)",
    "invite_updated":  "Invite link updated",
    "invite_deleted":  "Invite link deleted",
    "invite_delete_confirm":  "Delete this invite link?",
    "invite_public_title":  "Invite",
    "invite_public_subtitle":  "Get a VPN config via invite link",
    "invite_protected_desc":  "This invite link is password protected.",
    "invite_get_config_hint":  "Each click creates one new config and counts as a use",
    "invite_uses_left":  "Remaining uses: {}",
    "invite_uses_left_unlimited":  "Created so far: {} (unlimited)",
    "invite_not_found":  "404 Not Found",
    "invite_not_found_desc":  "Invite link is invalid or was deleted.",
    "wrong_invite_password":  "Wrong password",
    "public_link_label":  "Public link",
    "disabled":  "Disabled",
    "out_of":  "Of",
    "settings_title":  "Panel Settings",
    "appearance":  "🎨 Appearance",
    "title_label":  "Title",
    "logo_label":  "Logo (Emoji or symbol)",
    "subtitle_label":  "Subtitle",
    "captcha_title":  "🔐 Captcha",
    "enable_captcha":  "Enable captcha (multicolorcaptcha)",
    "telegram_bot_title":  "🤖 Telegram Bot",
    "bot_token_label":  "Bot Token (from @BotFather)",
    "bot_status":  "Status",
    "bot_running":  "✅ Running",
    "bot_stopped":  "⏹ Stopped",
    "bot_stop_btn":  "⏹ Stop",
    "bot_start_btn":  "▶️ Start",
    "bot_hint":  "After changing the token, save the settings — the bot will restart automatically. Users must have a Telegram ID in their profile.",
    "api_docs_title":  "🔌 API Documentation",
    "api_docs_hint":  "Use these interfaces to explore the panel\u0027s API capabilities",
    "tunnels_title":  "Tunnels",
    "tunnels_subtitle":  "Expose the panel to the internet or route outbound traffic through a VPN.",
    "tunnels_section_inbound":  "Public access",
    "tunnels_section_outbound":  "Outbound VPN",
    "tunnel_cloudflare_desc":  "Free HTTPS URL via Cloudflare — no account required.",
    "tunnel_ngrok_desc":  "Stable tunnel with your ngrok authtoken.",
    "tunnel_warp_desc":  "Route server traffic through Cloudflare WARP.",
    "tunnel_nordvpn_desc":  "Connect this host to NordVPN servers.",
    "local_server":  "Local Server",
    "tunnel_install_enable":  "Install \u0026 Enable",
    "tunnel_enable":  "Enable Tunnel",
    "tunnel_running":  "Tunnel running",
    "tunnel_stop":  "Stop",
    "tunnel_stopping":  "Stopping...",
    "tunnel_stopped":  "Tunnel stopped",
    "tunnel_delete":  "Delete",
    "tunnel_deleted":  "Tunnel deleted",
    "tunnel_delete_confirm":  "Stop and delete this panel-managed tunnel binary?",
    "tunnel_starting":  "Starting tunnel...",
    "tunnel_started":  "Tunnel started",
    "tunnel_waiting_url":  "Tunnel started. Waiting for public URL...",
    "tunnel_no_public_url":  "Public URL will appear here after the tunnel starts.",
    "tunnels_hint":  "Quick tunnels expose this local panel to the internet. Keep admin credentials strong and share public URLs only with trusted users.",
    "ngrok_authtoken_placeholder":  "ngrok authtoken (optional for some accounts)",
    "import_users_title":  "📤 Import Users",
    "import_source_label":  "Import / Sync Source",
    "remnawave_url_label":  "Remnawave URL",
    "api_key_label":  "API Key",
    "enable_sync":  "Enable synchronization",
    "sync_hint":  "Users will be created, disabled, and deleted automatically based on Remnawave data",
    "sync_now_btn":  "🔄 Sync now",
    "delete_sync_btn":  "🗑 Delete synchronization",
    "auto_create_conns":  "Create connections automatically",
    "sync_server_label":  "Server for new connections",
    "save_changes":  "💾 Save changes",
    "sync_success":  "Sync completed: {} users",
    "sync_deleted":  "Deleted {} synced users",
    "delete_sync_confirm":  "Are you sure you want to delete ALL synced users and their connections? This action is irreversible.",
    "settings_saved":  "Settings saved successfully",
    "bot_started":  "Bot started",
    "bot_stopped_msg":  "Bot stopped",
    "sync_running":  "Syncing...",
    "deleting":  "Deleting...",
    "my_connections_title":  "My Connections",
    "show_config":  "📄 Show config",
    "no_connections_user_desc":  "Contact administrator to create a VPN connection",
    "share_title":  "Connection Access",
    "vpn_access":  "VPN Access",
    "user_label_share":  "User",
    "share_protected_desc":  "This access is password protected. Please enter it to continue.",
    "auth_success":  "Auth success",
    "loading_share_conns":  "Loading connections...",
    "no_active_conns":  "You have no active connections yet.",
    "show_settings_btn":  "🔑 Show settings",
    "share_copy_hint":  "Tap the button — the key copies itself. Then paste it into your VPN app.",
    "copy_key_big":  "Copy key",
    "copying_key":  "Copying…",
    "key_copied":  "Key copied — paste it into the app",
    "more_qr_download":  "QR code \u0026 file",
    "download_config_file":  "Download config file",
    "show_config_text":  "Show config text",
    "copied":  "Copied!",
    "active":  "Active",
    "site_description":  "Amnezia Web Panel — management of VPN servers and protocols AmneziaWG",
    "toggle_theme":  "Change theme",
    "copied_to_clipboard":  "Copied to clipboard",
    "share_not_found":  "404 Not Found",
    "share_not_found_desc":  "Either the link is incorrect or access has been disabled.",
    "invalid_captcha":  "Invalid captcha",
    "account_disabled":  "Account disabled",
    "invalid_login":  "Invalid login or password",
    "user_exists":  "User with this name already exists",
    "cannot_delete_self":  "You cannot delete yourself",
    "wrong_share_password":  "Wrong password",
    "saving":  "Saving...",
    "select_lang":  "Select Language",
    "lang_ru":  "Русский",
    "lang_en":  "English",
    "lang_fr":  "Français",
    "lang_zh":  "中文 (Chinese)",
    "lang_fa":  "فارسی (Persian)",
    "backup_title":  "Simple Backup",
    "download_backup":  "Download PostgreSQL dump (.sql)",
    "download_backup_json":  "Export JSON (legacy)",
    "backup_hint":  "Full PostgreSQL database dump of the panel. Use .sql for complete backup; JSON export is compatible with older versions.",
    "restore_backup":  "Restore from .sql or .json",
    "restore_confirm":  "Restore will overwrite all current panel data in the database.",
    "restore_success":  "Restore successful! Restarting...",
    "invalid_backup_file":  "Invalid backup file (.sql dump or legacy data.json)",
    "config_unavailable":  "Configuration unavailable",
    "config_unavailable_desc":  "This client was created via the native Amnezia app.\\nThe private key is stored only on the user\u0027s device and cannot be recovered by the server.",
    "client_public_key":  "Client public key:",
    "telemt_desc":  "MTProxy-based Telegram proxy with advanced obfuscation and TLS emulation support.",
    "hysteria_desc":  "Hysteria 2 (QUIC/UDP) via official tobyxdd/hysteria (apernet/hysteria) with Let\u0027s Encrypt TLS. Admin sets the domain at install time.",
    "hysteria_domain":  "Domain",
    "hysteria_email":  "Let\u0027s Encrypt email",
    "hysteria_port_hint":  "UDP port for Hysteria (default 8998). Avoid 443 if nginx/xray already use UDP/TCP 443. Port 80/TCP must be free for certificate issuance.",
    "hysteria_install_hint":  "Point the domain A-record to this server before install. Port 80/TCP is used temporarily for Let\u0027s Encrypt HTTP-01 validation. BBR and salamander obfuscation are enabled automatically.",
    "hysteria_dns_hint":  "Create this DNS record before installation:",
    "hysteria_settings_title":  "Hysteria settings",
    "hysteria_change_port":  "Change port",
    "hysteria_port_change_hint":  "UDP listen port. If you see “address already in use”, pick a free port (e.g. 8443 or 8998), save, then re-import the client link.",
    "hysteria_settings_saved":  "Hysteria settings updated",
    "hysteria_ports_warning":  "Warning: free TCP ports 80 and 443 are required for stable operation (Let\u0027s Encrypt on 80, HTTPS/QUIC on 443).",
    "hysteria_renew_ssl":  "Renew SSL",
    "hysteria_ssl_change_hint":  "Changing the domain re-issues the Let\u0027s Encrypt certificate (port 80 must be free).",
    "hysteria_ssl_required":  "Domain and email are required for SSL",
    "naiveproxy_desc":  "NaiveProxy (stable) — HTTPS/HTTP2 via Caddy + forwardproxy, Let\u0027s Encrypt TLS. Client: use Karing. Do not use v2rayN; other clients untested.",
    "naiveproxy_domain":  "Domain",
    "naiveproxy_email":  "Let\u0027s Encrypt email",
    "naiveproxy_port_hint":  "TCP port 443 is fixed for NaiveProxy. Port 80/TCP must be free for certificate issuance.",
    "naiveproxy_install_hint":  "Point the domain A-record to this server before install. Free TCP ports 80 and 443 are required (Let\u0027s Encrypt and HTTPS proxy).",
    "naiveproxy_dns_hint":  "Create this DNS record before installation:",
    "naiveproxy_ports_warning":  "Warning: free TCP ports 80 and 443 are required for stable operation (Let\u0027s Encrypt on 80, HTTPS proxy on 443).",
    "naiveproxy_client_hint":  "Stable build. Do NOT use v2rayN. Confirmed working in Karing. Other clients are untested.",
    "mieru_desc":  "Mieru (mita v3.28.0) — native TCP proxy from enfein/mieru. No Docker required. Client: mieru app or Clash.Meta/mihomo.",
    "mieru_version":  "Version",
    "mieru_port_hint":  "TCP port for mita (1025–65535). Open it in the server firewall.",
    "mieru_install_hint":  "Installs the official mita package from GitHub release v3.28.0 (Debian/RPM). Requires Linux with systemd.",
    "mieru_ports_warning":  "Warning: ensure the chosen TCP port is free and allowed through the firewall.",
    "mieru_client_hint":  "Share links use mierus:// format. Import into the mieru client or Clash.Meta (type: mieru).",
    "server_ssl_domain":  "SSL domain (default)",
    "server_ssl_email":  "SSL email (default)",
    "server_ssl_hint":  "Used when installing Hysteria / NGINX on this server (Let's Encrypt).",
    "server_connect_domain":  "Client connection domain",
    "server_connect_domain_hint":  "Used in VPN configs instead of IP (Endpoint, vless://, etc.). When moving the server, update the DNS A-record — clients keep working.",
    "server_connect_domain_awg_hint":  "Used in AmneziaWG / WireGuard Endpoint instead of server IP. Leave empty to use SSH host IP.",
    "server_connect_domain_all":  "All AWG / WireGuard (default)",
    "server_connect_domain_current":  "Endpoint in configs",
    "server_connect_domain_ssh":  "SSH",
    "server_connect_domain_saved":  "Connection domain saved",
    "server_endpoint_label":  "Endpoint",
    "support_title":  "Support the project",
    "support_intro":  "If this panel helps you, you can support development. Choose a convenient method below.",
    "support_footer":  "Thank you for using Amnezia Web Panel.",
    "donate_sbp":  "SBP (Fast Payments)",
    "donate_card":  "Bank card",
    "donate_crypto":  "Cryptocurrency",
    "donate_details_soon":  "Payment details will be added soon.",
    "donate_settings_title":  "Support / donations",
    "donate_settings_hint":  "Shown on the /support page for all users. No popups — only when they open the page.",
    "donate_enabled":  "Show support page in navigation",
    "donate_intro":  "Page intro text (optional)",
    "donate_method_title":  "Button title (optional)",
    "donate_method_details":  "Payment details",
    "donate_details_placeholder":  "Phone, card number, wallet address…",
    "donate_preview_hint":  "Preview:",
    "container_logs":  "Container logs",
    "logs_btn":  "📋 Logs",
    "logs_live":  "Live",
    "logs_reconnect":  "reconnecting…",
    "no_logs":  "No logs yet",
    "container_status":  "Status",
    "exit_code":  "Exit code",
    "close":  "Close",
    "tls_emulation":  "TLS Emulation",
    "tls_domain":  "Masking Domain",
    "max_connections_limit":  "Max Connections",
    "max_connections_hint":  "0 for unlimited. Limits total concurrent users.",
    "traffic_reset_strategy_label":  "Traffic reset strategy",
    "traffic_reset_never":  "Never reset",
    "traffic_reset_daily":  "Daily reset",
    "traffic_reset_weekly":  "Weekly reset",
    "traffic_reset_monthly":  "Monthly reset",
    "traffic_reset_hint":  "How often should user traffic be reset",
    "traffic_used_total":  "Total spent",
    "traffic_reset_info":  "Next reset: {}",
    "services":  "Services",
    "dns_desc":  "Personal DNS server to block ads and protect the privacy of your queries.",
    "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.",
    "management":  "Management",
    "server_management":  "Server Management",
    "server_management_desc":  "Perform system-level actions on your machine.",
    "check_server_services":  "Check the server services",
    "reboot_server":  "Reboot server",
    "clear_server":  "Clear server",
    "remove_server":  "Remove server from panel",
    "ssl_title":  "SSL / HTTPS Settings",
    "enable_https":  "Enable HTTPS",
    "panel_port_label":  "Panel Port",
    "domain_label":  "Domain name",
    "cert_path_label":  "SSL Certificate path (.pem)",
    "key_path_label":  "Private Key path (.pem)",
    "or_paste_text":  "OR paste certificate text",
    "cert_text_label":  "Certificate content (CRT)",
    "key_text_label":  "Private Key content (KEY)",
    "ssl_hint":  "After enabling, the panel will be accessible via https:// on the specified domain. Make sure the file paths or text data are correct.",
    "about_title":  "About \u0026 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_waiting_restart":  "Waiting for panel to restart…",
    "update_restart_timeout":  "Panel did not come back in time. Refresh the page manually.",
    "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: one-click update downloads the release ZIP into the container. Rebuild the image to persist across container recreation.",
    "auto_update_manual":  "One-click update needs a writable install directory or 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",
    "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.",
    "checking_server":  "Checking server services...",
    "web_servers":  "Web servers",
    "nginx_desc":  "NGINX web server with Let\u0027s Encrypt HTTPS certificate and editable index.html.",
    "nginx_domain":  "Domain",
    "nginx_email":  "Let\u0027s Encrypt email",
    "nginx_port_hint":  "HTTPS port exposed on the server. Port 80/TCP must be free and reachable for Let\u0027s Encrypt validation.",
    "nginx_install_hint":  "The domain must already point to this server. Port 80/TCP is used temporarily/permanently for HTTP-01 certificate validation.",
    "site":  "Site",
    "site_editor":  "Site editor",
    "site_saved":  "Site saved",
    "nginx_dns_hint":  "Create this DNS record before installation:",
    "backup":  "Backup",
    "backups":  "Backups",
    "backup_desc":  "Backups are stored on the server and include protocol files (config, keys, clientsTable). For WireGuard / AWG you can also download a ZIP of all client .conf files.",
    "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.",
    "export_client_configs":  "Download all .conf",
    "export_client_configs_hint":  "ZIP with all WireGuard / AmneziaWG client configs (when the private key is stored).",
    "exporting_client_configs":  "Preparing ZIP…",
    "export_client_configs_done":  "Client configs ZIP downloaded",
    "restore_protocol_backup":  "Restore",
    "restore_protocol_backup_confirm":  "Restore this backup on the server? Current protocol files will be overwritten and the container will restart.",
    "restoring_protocol_backup":  "Restoring… please wait",
    "restore_protocol_backup_done":  "Backup restored",
    "refresh":  "Refresh",
    "guest_allow_create_hint":  "Creates a config for the guest user (3x-ui VLESS or selected server protocol).",
    "invite_inbound_hint":  "Inbounds are loaded from the selected 3x-ui panel. Only 3x-ui returns the config/share link.",
    "invite_inbound_loading":  "Loading inbounds from 3x-ui…",
    "invite_inbound_empty":  "No VLESS inbounds on this 3x-ui panel",
    "invite_inbound_need_xui":  "Configure 3x-ui in Settings first",
    "invite_inbound_required":  "Select a VLESS inbound from 3x-ui",
    "invite_sub_url_missing_title":  "Subscription URL is not set",
    "invite_sub_url_missing_hint":  "In Settings → 3x-ui set Subscription URL base so invite links issue /sub/… configs.",
    "xui_url_label":  "3x-ui URL",
    "xui_url_hint":  "Include scheme, port and webBasePath if configured (example: https://host:2053/secret)",
    "xui_sub_url_label":  "Subscription URL base",
    "xui_sub_url_hint":  "Public /sub base without trailing slash (example: https://host:2096/sub). Invite configs are issued as subscription links.",
    "xui_api_token_label":  "API Token (preferred)",
    "xui_api_token_placeholder":  "Settings → Security → API Token",
    "xui_api_token_hint":  "If set, username/password login is skipped",
    "xui_username_label":  "3x-ui Username",
    "xui_password_label":  "3x-ui Password",
    "xui_sync_hint":  "Clients from 3x-ui inbounds will be created, disabled, and deleted as panel users (matched by email)",
    "xui_inbound_label":  "VLESS inbound",
    "xui_inbound_auto":  "Auto (first VLESS inbound)",
    "xui_inbound_hint":  "Inbounds are loaded from 3x-ui. This site only creates the client and takes the ready share link — no local config generation.",
    "xui_servers_title":  "3x-ui servers",
    "xui_servers_hint":  "Add 3x-ui panels. When creating, pick a server and an inbound from the 3x-ui list — the panel returns the share link.",
    "xui_servers_empty":  "No 3x-ui servers yet. Click Add server.",
    "xui_servers_manage_hint":  "Panel URLs and subscription bases are managed in the “3x-ui servers” section below.",
    "xui_server_add":  "Add server",
    "xui_server_name_label":  "Name / description",
    "xui_server_name_hint":  "Shown in invites and user forms (e.g. US, NL, Home).",
    "xui_server_select_label":  "3x-ui server",
    "xui_server_select_hint":  "Pick a 3x-ui panel, then an inbound from the list that panel returns via API.",
    "xui_server_delete_confirm":  "Delete this 3x-ui server from the panel?"
}
