Template
554 lines
28 KiB
JSON
554 lines
28 KiB
JSON
{
|
|
"nav_servers": "Servers",
|
|
"nav_users": "Users",
|
|
"nav_invites": "Invite links",
|
|
"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.",
|
|
"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 —",
|
|
"create": "Create",
|
|
"creating": "Creating...",
|
|
"connection_created": "Connection \"{}\" created",
|
|
"delete_connection_confirm": "Delete this connection? The configuration will stop working.",
|
|
"connection_deleted": "Connection deleted",
|
|
"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",
|
|
"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'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",
|
|
"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 & 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 data.json",
|
|
"restore_backup": "Restore from file",
|
|
"restore_confirm": "Are you sure? Current data will be overwritten and the application will restart.",
|
|
"restore_success": "Restore successful! Restarting...",
|
|
"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.",
|
|
"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 <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",
|
|
"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...",
|
|
"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 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?"
|
|
}
|