Files
Amnezia-Web-Panel-main/translations/en.json
T

666 lines
39 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"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 (102565535). 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?"
}