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

767 lines
42 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_settings": "Settings",
"nav_connections": "Connections",
"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'll 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.",
"awg3_desc": "Builds on 2.0 with header protection and content padding. Handshake and rekey timings are randomized, leaving no fixed timing signature.",
"awg_mtu": "MTU",
"awg_mtu_hint": "Goes into generated client configs. Amnezia's own clients use 1376.",
"awg_mtu_auto": "Auto",
"awg_mtu_unsafe": "This MTU plus {overhead} bytes of per-packet obfuscation exceeds a standard 1500-byte link, so the largest packets are dropped. Use {safe} or lower.",
"awg_settings_btn": "AWG",
"awg_settings_title": "AmneziaWG settings",
"awg_settings_desc": "Applied to configs generated from now on. Clients that already imported a config keep their old values until they import it again.",
"awg_settings_saved": "AmneziaWG settings saved",
"awg_special_junk": "Special junk packets (I1-I5)",
"awg_special_junk_hint": "Sent right before the handshake, so a session starts with bytes that look like another protocol. The default I1 imitates a DNS response.",
"awg_special_junk_syntax": "Tags: <b 0xHEX> fixed bytes, <r N> random bytes, <rc N> letters, <rd N> digits, <c> packet counter, <t> unix time.",
"awg_special_junk_reset": "Default",
"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's not busy",
"port_xray_hint": "Default port: 443 (recommended for Xray). Make sure it's 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 —",
"select_search_placeholder": "Search...",
"select_search_empty": "No matches",
"create": "Create",
"creating": "Creating...",
"connection_created": "Connection \"{}\" created",
"delete_connection_confirm": "Delete this connection? The configuration will stop working.",
"connection_deleted": "Connection deleted",
"self_service_title": "Self-Service",
"self_service_enabled": "Enable self-service",
"self_service_enabled_desc": "Allow users to create and manage their own VPN connections",
"self_service_web": "Enable web self-service",
"self_service_telegram": "Enable Telegram self-service",
"self_service_max_conns": "Max connections per user",
"self_service_rate_limit": "Rate limit (creations)",
"self_service_rate_window": "Rate window (seconds)",
"self_service_protocols": "Allowed protocols",
"server_self_service_enabled": "Allow self-service",
"server_self_service_enabled_desc": "Users can create connections on this server",
"create_connection": "Create connection",
"delete_connection": "Delete",
"connections_counter": "Connections: {0} / {1}",
"device_name": "Device name",
"self_service_disabled": "Self-service is not enabled.",
"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",
"qr_format_amnezia": "Amnezia",
"qr_format_wireguard": "Plain",
"qr_format_amnezia_hint": "Animated series for AmneziaVPN, carries the server name. Hold the camera until every frame is read —",
"qr_format_wireguard_hint": "The config or link as it is, for AmneziaWG, wg-quick and other clients. The server name is not passed on.",
"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",
"description_label": "Description (opt.)",
"auto_conn_title": "Automatic connection creation (optional)",
"server_label": "Server",
"no_create_conn": "— Do not create connection —",
"protocol_label": "Protocol",
"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. Hold Ctrl to select several",
"conn_name_panel": "Connection name (in panel)",
"user_conns_title": "User connections",
"no_free_conns": "No free connections",
"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",
"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's API capabilities",
"tunnels_title": "Tunnels",
"local_server": "Local Server",
"tunnel_install_enable": "Install & 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",
"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 data.json",
"restore_backup": "Restore from file",
"restore_confirm": "Are you sure? Current data will be overwritten and the application will restart.",
"restore_success": "Backup restored successfully!",
"auto_backup_title": "Auto backup",
"enable_auto_backup": "Enable server auto backups",
"auto_backup_interval_label": "Creation interval",
"auto_backup_hint": "The panel will create backups of installed protocols on every server at the selected interval.",
"auto_backup_last_run": "Last run",
"auto_backup_last_status": "Status",
"auto_backup_created_count": "Backups created",
"hours_suffix": "h",
"invalid_backup_file": "Invalid backup file or structure",
"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's 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.",
"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 <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.",
"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",
"duckdns_title": "Your own duckdns.org domain",
"duckdns_step1": "Register and sign in at duckdns.org",
"duckdns_step2": "Create a subdomain, e.g. example.duckdns.org",
"duckdns_step3": "Click the button below — the panel will point it to this server's IP and keep it up to date",
"duckdns_domain_label": "Domain",
"duckdns_token_label": "DuckDNS token",
"duckdns_token_saved": "•••••••• (token saved — enter only to change it)",
"duckdns_token_hint": "The token is shown at the top of duckdns.org after sign-in (www.duckdns.org/account)",
"duckdns_enable_label": "SSL — free auto-renewed certificate in one click",
"duckdns_enable_hint": "Let's Encrypt via DNS-01: port 80 not required. Renewal is automatic (acme.sh cron), the panel restarts itself.",
"duckdns_apply_btn": "Save and issue certificate",
"duckdns_applying": "Applying: updating IP and issuing the certificate, this can take up to a minute…",
"duckdns_saved": "Saved.",
"duckdns_success_restarting": "Done! The panel is restarting and will be available in a few seconds at ",
"duckdns_success_restart_required": "Certificate issued. Restart the panel (systemctl restart amnezia-panel) to enable HTTPS.",
"duckdns_domain_token_required": "DuckDNS domain and token are required",
"duckdns_ip_update_failed": "Failed to update the duckdns IP",
"duckdns_cert_failed": "Failed to issue the certificate",
"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 & 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",
"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...",
"install_conn_interrupted": "Connection lost, but the installation is still running on the server. Checking status...",
"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's Encrypt HTTPS certificate and editable index.html.",
"nginx_domain": "Domain",
"nginx_email": "Let's Encrypt email",
"nginx_port_hint": "HTTPS port exposed on the server. Port 80/TCP must be free and reachable for Let's 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 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",
"rename": "Rename",
"connection_renamed": "Connection renamed",
"enter_connection_name": "Enter a new connection name",
"config_saved": "Config saved",
"reset_traffic": "Reset traffic",
"resetting": "Resetting...",
"reset_traffic_confirm": "Reset this user's current traffic? Total statistics will be kept.",
"traffic_reset_success": "Traffic reset",
"host_tuning": "Host tuning",
"conn_warning_text": "⚠️ Warning: {count} connections opened at {time} on {date}!",
"clear_warnings": "Clear warnings",
"warnings_cleared": "Warnings cleared",
"max_speed": "Max speed (Mbps)",
"speed_limit_unlim": "Speed limit (0 = unlim.)",
"port_in_use_by": "Port {port} is already used by {owner}. Choose another port.",
"exit_desc": "Exit node: a transit endpoint for other panel servers. Client traffic that enters elsewhere leaves to the internet from this server.",
"exit_port_hint": "UDP port the transit link listens on. Only other panel servers connect here, never end users. Open it in the server's firewall for the entry nodes.",
"exit_subnet": "Transit subnet",
"exit_subnet_hint": "Private IPv4 /24 shared between this exit and its entry nodes. Must not overlap the client subnets (10.8.x.x).",
"exit_obfuscation": "Obfuscate the inter-node link (AmneziaWG)",
"exit_obfuscation_short": "Obfuscation",
"exit_obfuscation_hint": "Enable when the hop between the nodes crosses DPI. Plain WireGuard otherwise. AmneziaWG Legacy entries can only use a non-obfuscated exit.",
"exit_peers": "Peers",
"exit_peers_title": "Exit node — linked entry nodes",
"exit_peer_name": "Entry node",
"exit_transit_ip": "Transit IP",
"exit_public_key": "Public key",
"exit_handshake": "Handshake",
"exit_transfer": "Transfer",
"exit_peer_external": "not managed by this panel",
"exit_peer_remove_confirm": "Remove this peer? The entry node behind it loses its route through this exit.",
"exit_peer_removed": "Peer removed",
"exit_no_peers": "No entry nodes are linked to this exit yet.",
"exit_stop_confirm": "Entry nodes route their clients through this exit. Stopping it puts those clients on the kill-switch (no traffic). Stop anyway?",
"exit_in_use": "Entry nodes route through this exit node",
"exit_link_title": "Exit node",
"exit_link_desc": "Route all clients of this instance through another panel server. The link between the nodes is encrypted; clients keep their configs. IPv4 only: while linked, client IPv6 is refused rather than leaking from this server.",
"exit_link_select": "Exit node",
"exit_link_none": "Traffic leaves directly from this server.",
"exit_link_current": "Linked to {name} (transit {ip})",
"exit_link_via": "Exit node",
"exit_link_btn": "Link",
"exit_unlink_btn": "Unlink",
"exit_unlink_confirm": "Unlink from the exit node? Clients will leave to the internet from this server again.",
"exit_link_saved": "Exit node linked",
"exit_unlinked": "Exit node unlinked",
"exit_link_stale": "The exit node is unreachable or was removed. Clients are blocked by the kill-switch until you unlink or repair the link.",
"exit_link_repair": "Repair link",
"exit_no_exit_nodes": "No exit nodes installed yet. Install the Exit Node service on the server that should be the egress.",
"exit_no_handshake": "No handshake from the exit node within 15 s — is the transit UDP port reachable? The link was rolled back.",
"exit_apply_failed": "The routing could not be applied on this server; the link was rolled back.",
"exit_not_found": "Exit node not found or not installed.",
"not_linked": "This instance is not linked to an exit node.",
"exit_mtu_too_big": "The client MTU of this instance exceeds the link MTU (1420). Lower it in the AWG settings (1376 is the default).",
"exit_link_force": "Link anyway",
"exit_self": "A server cannot be its own exit node.",
"exit_legacy_obfuscation": "AmneziaWG Legacy can only link to a non-obfuscated exit node.",
"exit_link_ipv6_warning": "This instance is dual-stack. While linked, client IPv6 is refused so nothing leaks from this server; clients fall back to IPv4 automatically.",
"exit_link_ipv6_confirm": "Client IPv6 will be refused while linked. Continue?",
"exit_link_mtu_warning": "Client MTU {mtu} exceeds the link MTU {exit_mtu}. Lower it in the AWG settings before linking.",
"exit_status_up": "up",
"exit_status_stale": "no handshake",
"exit_status_down": "down",
"exit_handshake_ago": "handshake {s}s ago",
"no_handshake_yet": "No handshake yet — the link stays up, check the exit's firewall.",
"old_exit_unreachable_orphan_peer": "The previous exit node was unreachable; its peer entry was left behind.",
"exit_unreachable_orphan_peer": "The exit node was unreachable; its peer entry was left behind.",
"exit_egress_check": "Check egress",
"exit_egress_checking": "Checking the egress IP…",
"exit_egress_match": "✓ Clients leave from {ip} — the exit node {name}.",
"exit_egress_mismatch": "⚠ Clients leave from {ip}, the exit node address is {expected}. Expected when the exit is behind NAT.",
"exit_egress_direct": "✗ Clients still leave from this server ({ip}) — their traffic is not going through the link.",
"exit_egress_unknown": "Could not determine the egress IP: the check services did not answer.",
"exit_egress_failed": "The egress check could not run on this server.",
"exit_dns_via_exit": "Resolve client DNS at the exit node",
"exit_dns_via_exit_hint": "Off by default: DNS queries stay on this server. On, they follow the link and are answered by the AmneziaDNS of the exit node, so a resolver never sees this server's country. Requires AmneziaDNS on the exit node.",
"exit_dns_via_exit_on": "Client DNS now resolves at the exit node",
"exit_dns_via_exit_off": "Client DNS resolves on this server again",
"exit_dns_needs_dns": "Install AmneziaDNS on the exit node before routing client DNS through it.",
"awg_mtu_exit_hint": "This instance is linked to an exit node: the link carries at most {exit_mtu}, so keep the client MTU at or below it.",
"exit_dns_disabled_no_dns": "The exit node has no AmneziaDNS any more — client DNS was brought back to this server.",
"exit_defaults_title": "Exit nodes",
"exit_default_node": "Default exit node",
"exit_default_none": "None — new instances keep their own egress",
"exit_default_hint": "Every AmneziaWG instance installed from now on is linked to this exit node right after the install. Existing instances are left alone, and an install still succeeds if the link fails.",
"exit_default_cleared": "The default exit node no longer exists and was cleared.",
"exit_restore_entries_relinked": "Restored the exit-node peers of {n} linked entry node(s).",
"exit_restore_entries_failed": "{n} entry node(s) could not be re-registered on this exit — repair them from their own page.",
"exit_restore_relinked": "The exit-node link of this instance was re-established after the restore.",
"exit_restore_stale": "The exit-node link could not be re-established after the restore — clients stay on the kill-switch until you repair or remove it.",
"exit_restore_removed": "The archive carried an exit-node link this panel does not track; it was removed and clients leave from this server again.",
"exit_restore_orphan": "The archive carried an unknown exit-node link and it could not be removed — check this instance manually.",
"on": "on",
"off": "off",
"restore": "Restore",
"restore_confirm_protocol": "Are you sure? The current protocol configuration will be overwritten with this backup.",
"delete_backup_confirm": "Delete this backup from the server? This cannot be undone.",
"backup_deleted": "Backup deleted",
"upload_backup": "Upload",
"uploading_backup": "Uploading...",
"backup_uploaded": "Backup uploaded",
"wgeasy_import": "Import from wg-easy",
"wgeasy_import_title": "Import from wg-easy / amnezia-wg-easy",
"wgeasy_web_port": "wg-easy web UI port (on this server)",
"wgeasy_password": "wg-easy admin password",
"wgeasy_username": "Username (v15 only)",
"wgeasy_fetch": "Load clients",
"wgeasy_import_btn": "Import",
"wgeasy_import_warning": "The old wg-easy container will be stopped (not deleted). User configs keep working unchanged.",
"wgeasy_no_clients": "No clients selected",
"wgeasy_confirm": "Import selected clients? The old wg-easy container will be stopped.",
"wgeasy_importing": "Importing, this may take a few minutes...",
"wgeasy_target_wg": "target: WireGuard (no obfuscation)",
"wgeasy_target_awg": "obfuscation detected → target: AmneziaWG 2.0",
"rename_instance": "Rename instance",
"instance_name": "Instance name",
"rename_instance_hint": "Leave empty to restore the default name.",
"no_expiry": "No expiry",
"telemt_secret_label": "Secret (hex)",
"telemt_ad_tag_label": "AD tag (hex)",
"telemt_max_conns_label": "Max TCP connections",
"telemt_quota_label": "Quota (bytes)",
"telemt_max_ips_label": "Max unique IPs",
"telemt_expiry_label": "Expiration (ISO 8601)",
"optional": "Optional",
"role_none_desc": "No role — record only, cannot log in",
"role_none_badge": "No role",
"password_optional_no_role": "No password needed for the “No role” role",
"password_required_for_role": "A password is required for the selected role",
"username_empty": "Username must not be empty",
"invalid_role": "Invalid role",
"awg_dns6_hint": "Used in client keys when the tunnel is dual-stack (IPv4+IPv6)",
"unlink_key_title": "Unlink key {} from user \"{}\"?",
"unlink_confirm": "Really unlink?!",
"conn_unlinked": "Connection unlinked",
"peer_already_linked": "This peer is already linked to user {}",
"peer_already_linked_self": "This peer is already linked to this user",
"select_connection": "Select a connection",
"name_required": "Name is required",
"no_servers_available": "No servers available",
"assign_user": "User",
"no_user_option": "— do not link —",
"stop_peer_title": "Stop",
"start_peer_title": "Enable",
"ssh_cooldown_title": "SSH cooldown (sec)",
"ssh_cooldown_hint": "Initial delay before reconnecting to an unreachable server. Do not change if the server works fine.",
"mail_title": "Email delivery (SMTP)",
"mail_hint": "Configs and proxy links are sent from this mailbox. The password is stored in data.json, so use a dedicated account or an app password.",
"mail_enabled_label": "Enable email delivery",
"mail_host_label": "SMTP server",
"mail_port_label": "Port",
"mail_security_label": "Encryption",
"mail_security_none": "None",
"mail_security_starttls": "STARTTLS",
"mail_security_ssl": "SSL/TLS",
"mail_username_label": "Username",
"mail_password_label": "Password",
"mail_password_hint": "Leave empty to keep the stored password; type a space to clear it.",
"mail_from_label": "Sender address",
"mail_from_name_label": "Sender name",
"mail_reply_to_label": "Reply-To (opt.)",
"mail_timeout_label": "Timeout (sec)",
"mail_test_btn": "Send test message",
"mail_test_recipient_label": "Test recipient",
"mail_test_sent": "Test message sent to {}",
"mail_send_btn": "Send by email",
"mail_send_title": "Send configurations by email",
"mail_send_all_btn": "Email all users",
"mail_send_all_title": "Email every user",
"mail_recipient_label": "Recipient",
"mail_include_configs": "Attach configuration files",
"mail_include_links": "Include connection links",
"mail_subject_label": "Subject",
"mail_subject_placeholder": "Leave empty for the default subject",
"mail_message_label": "Message (optional)",
"mail_message_placeholder": "A few words shown above the connections",
"mail_only_enabled": "Skip disabled users",
"mail_skip_empty": "Skip users without connections",
"mail_send_action": "Send",
"mail_sent_ok": "Sent to {}",
"mail_bulk_started": "Mass send started",
"mail_bulk_targets": "Recipients: every user with an email address",
"mail_bulk_progress": "{} of {} processed",
"mail_bulk_summary": "Sent: {}, skipped: {}, errors: {}",
"mail_bulk_running_note": "You can close this window — the send keeps running.",
"mail_no_email_hint": "This user has no email address",
"mail_status_sent": "sent",
"mail_status_skipped": "skipped",
"mail_status_failed": "error",
"mail_greeting": "Hello, {}!",
"mail_default_subject": "Your VPN access",
"mail_intro_connections": "Below are your connections. Import the attached file into the VPN client, or open the link on your device.",
"mail_link_label": "Link",
"mail_file_label": "Attached file",
"mail_no_connections_note": "There are no connections on your account yet — please contact your administrator.",
"mail_footer": "Sent automatically by the VPN panel. Please do not reply to this message.",
"mail_test_subject": "Test message from the VPN panel",
"mail_test_body": "The SMTP settings work: this test message was sent by the VPN panel.",
"mail_error_disabled": "Email delivery is disabled in settings",
"mail_error_no_host": "SMTP server is not set",
"mail_error_no_sender": "Sender address is missing or invalid",
"mail_error_bad_security": "Unknown encryption mode",
"mail_error_no_recipient": "No valid recipient address",
"mail_error_no_recipients": "No users with an email address",
"mail_error_no_connections": "This user has no connections to send",
"mail_error_user_not_found": "User not found",
"mail_error_nothing_to_send": "Choose files, links, or both",
"mail_error_bulk_running": "A mass send is already running",
"mail_skip_no_email": "no email address",
"mail_skip_bad_email": "invalid email address",
"mail_skip_disabled": "user disabled",
"mail_test_hint": "The test uses the saved settings — press Save first.",
"public_endpoint_title": "Public address",
"public_endpoint_for": "Address clients dial for {}",
"public_endpoint_host": "Host",
"public_endpoint_port": "Port",
"public_endpoint_port_placeholder": "instance port",
"public_endpoint_hint": "Leave empty to use the server address and the instance port. Fill this in when the instance answers on another IP of the same server, behind a port forward, or under a domain name.",
"public_endpoint_not_applied": "Saved, but not applied on the server",
"peer_poll_title": "Live peer refresh",
"peer_poll_hint": "How often the peer list refreshes itself. 0 = off (default). 5–10 is fine on fast servers; on slow ones use 300–600 or keep it off.",
"peer_poll_off": "off",
"peer_poll_sec": "sec",
"conn_toggle_busy": "Another peer is being toggled — please wait a second",
"rkn_block_title": "RKN / VK network blocking (C24Be)",
"rkn_block_enable": "Block scanners",
"rkn_block_agent": "agent",
"rkn_block_events24": "events in 24h",
"rkn_block_not_installed": "not installed on this server - check to install",
"rkn_block_none": "No hits from blocked networks yet",
"rkn_block_who": "Who scans",
"rkn_block_ports": "Ports (targeted)",
"rkn_block_dirs": "Directions",
"rkn_block_total": "Total events",
"rkn_scan_alert": "SCANNING DETECTED!",
"rkn_block_recent": "Recent events",
"rkn_block_sets": "sets",
"rkn_block_sets_empty": "sets are empty — update failed",
"rkn_block_clear": "Clear scan statistics",
"rkn_block_clear_confirm": "Clear the scan log on the server? The red button disappears until the next scans.",
"rkn_block_cleared": "Scan statistics cleared",
"rkn_block_lists": "blocklists",
"rkn_block_in_short": "in:",
"rkn_block_out_short": "out:",
"rkn_block_legend": "in: RKN/gov subnets — incoming connections blocked. out: VK/Max/OK networks — outbound traffic to them blocked.",
"rknblock_desc": "Blocks RKN and VK/Max/OK subnets from the C24Be lists: incoming scans dropped, outbound traffic to them rejected. Full scan details open in a popup when you click the red badge.",
"rknblock_stop": "Stop",
"rknblock_start": "Start",
"rknblock_update": "Update lists",
"rknblock_delete": "Delete",
"rknblock_state_on": "Running",
"rknblock_state_off": "Stopped",
"rknblock_state_unreachable": "Unreachable",
"rknblock_installed_toast": "RKN Block installed and enabled",
"rknblock_uninstalled_toast": "RKN Block removed from the server",
"rknblock_started_toast": "Blocking enabled",
"rknblock_stopped_toast": "Blocking stopped",
"rknblock_updated_toast": "Lists updated",
"rknblock_uninstall_confirm": "Remove RKN Block from this server? Rules, ipset sets, services and scripts will be fully removed.",
"invalid_dns": "Invalid DNS address (IPv4 required)",
"app_not_installed": "Install Smart Route from the marketplace first",
"protocol_not_awg": "Only AmneziaWG instances support Smart Route",
"invalid_cidr": "Invalid CIDR in the list",
"server_not_found": "Server not found",
"rkn_scans_title": "Scan events (C24Be)",
"rkn_scans_more": "details",
"rknblock_step_download": "Downloading blocking scripts",
"rknblock_step_sets": "Creating ipset sets (C24Be)",
"rknblock_step_rules": "Applying firewall rules",
"rknblock_step_agent": "Starting the scan-collection agent",
"rknblock_options": "Options",
"rknblock_options_title": "RKN / VK blocking options",
"rknblock_options_hint": "Four independent contour switches. Changes apply immediately and persist on the server.",
"rknblock_opt_block_in": "Block inbound (server is being scanned)",
"rknblock_opt_block_out": "Block outbound (clients visiting)",
"rknblock_opt_log_in": "Log scans",
"rknblock_opt_log_out": "Log outbound",
"rknblock_opts_saved": "Options saved",
"rknblock_disabled_short": "disabled",
"rknblock_opt_block_in_short": "inbound",
"rknblock_opt_block_out_short": "outbound",
"rknblock_opt_log_off_short": "logging"
}