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

589 lines
31 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": "服务器",
"nav_users": "用户列表",
"nav_settings": "设置",
"nav_connections": "连接管理",
"nav_logout": "登出",
"theme_dark": "深色模式",
"theme_light": "浅色模式",
"back_to_servers": "← 返回服务器列表",
"server_check": "检查状态",
"server_checking": "正在检查...",
"protocols": "协议",
"install": "安装",
"uninstall": "卸载",
"run": "运行中",
"stop": "已停止",
"not_installed": "未安装",
"installed": "已安装",
"add_server": "添加服务器",
"no_servers": "尚未添加服务器",
"name": "名称",
"host": "地址",
"port": "端口",
"status": "状态",
"actions": "操作",
"edit": "编辑",
"delete": "删除",
"save": "保存",
"cancel": "取消",
"loading": "加载中...",
"copy": "复制",
"download": "下载",
"config": "配置",
"qr_code": "二维码",
"vpn_key": "VPN 密钥",
"clients": "客户端",
"traffic": "流量",
"limit": "限制",
"manage": "管理",
"no_protocols": "无协议",
"add_server_desc": "添加您的第一台 VPN 服务器。需要 SSH 凭据进行连接。",
"ssh_host": "主机 / IP",
"ssh_port": "SSH 端口",
"ssh_user": "用户名",
"ssh_password": "密码",
"ssh_key": "SSH 密钥",
"ssh_key_placeholder": "私钥 (Private Key)",
"ssh_key_hint": "粘贴 id_rsa 或 id_ed25519 文件的内容",
"connect": "连接",
"connecting": "正在连接...",
"server_added": "服务器添加成功",
"server_deleted": "服务器已删除",
"delete_confirm": "确定要删除此服务器吗?",
"success": "成功",
"error": "错误",
"info": "信息",
"login_title": "登录管理面板",
"username": "用户名",
"password": "密码",
"captcha": "验证码",
"captcha_placeholder": "输入图中字符",
"captcha_hint": "点击刷新验证码",
"login": "登录",
"logging_in": "登录中...",
"login_error": "登录失败",
"check_done": "检查完成",
"check_error": "连接错误",
"ssh_ok": "SSH 连接正常",
"docker_ok": "Docker 正常",
"docker_not_installed": "Docker 未安装",
"awg_desc": "基于 awg-go 的新版协议。支持 S3, S4 高级混淆。",
"awg3_desc": "在 2.0 混淆的基础上增加头部保护和内容填充。握手与密钥轮换的时间随机化,不留固定的时间特征。",
"awg_mtu": "MTU",
"awg_mtu_hint": "写入生成的客户端配置。Amnezia 官方客户端使用 1376。",
"awg_settings_btn": "AWG",
"awg_settings_title": "AmneziaWG 设置",
"awg_settings_desc": "对此后生成的配置生效。已导入配置的客户端在重新导入前仍使用旧值。",
"awg_settings_saved": "AmneziaWG 设置已保存",
"awg_special_junk": "特殊垃圾包(I1-I5)",
"awg_special_junk_hint": "在握手前发送,使会话以其他协议的字节开头。默认 I1 模拟一次 DNS 响应。",
"awg_special_junk_syntax": "标签:<b 0xHEX> 固定字节,<r N> 随机字节,<rc N> 字母,<rd N> 数字,<c> 包计数器,<t> unix 时间。",
"awg_special_junk_reset": "默认值",
"awg_legacy_desc": "原始 AWG 版本。兼容旧版客户端。",
"xray_desc": "将流量伪装成普通网页流量 (XTLS-Reality),抗封锁能力强。",
"not_checked": "未检查",
"connections": "连接",
"add": "添加",
"loading_connections": "正在加载连接...",
"no_connections": "无连接",
"no_connections_desc": "添加首个连接以生成 VPN 配置文件",
"install_protocol": "安装协议",
"port_default_hint": "默认端口: 55424。请确保端口未被占用。",
"port_xray_hint": "推荐端口: 443。请确保未被其他 Web 服务器使用。",
"reinstall": "重新安装",
"uninstall_confirm": "确定卸载 {}?所有连接和配置都将丢失。",
"stop_container_confirm": "停止容器 {}?",
"start_container_confirm": "启动容器 {}?",
"stopping": "停止中",
"starting": "启动中",
"stopped": "已停止",
"started": "已启动",
"server_config": "服务端配置",
"add_connection": "添加连接",
"connection_name": "连接名称",
"connection_name_placeholder": "例如: iPhone, 笔记本电脑",
"assign_to_user": "分配给用户 (可选)",
"no_assign": "— 不分配 —",
"select_search_placeholder": "搜索...",
"select_search_empty": "无匹配项",
"create": "创建",
"creating": "创建中...",
"connection_created": "连接 \"{}\" 已创建",
"delete_connection_confirm": "确定删除此连接?配置将失效。",
"connection_deleted": "连接已删除",
"self_service_title": "自助服务",
"self_service_enabled": "启用自助服务",
"self_service_enabled_desc": "允许用户创建和管理自己的 VPN 连接",
"self_service_web": "启用网页自助服务",
"self_service_telegram": "启用 Telegram 自助服务",
"self_service_max_conns": "每用户最大连接数",
"self_service_rate_limit": "速率限制(创建次数)",
"self_service_rate_window": "速率窗口(秒)",
"self_service_protocols": "允许的协议",
"server_self_service_enabled": "允许自助服务",
"server_self_service_enabled_desc": "用户可以在此服务器上创建连接",
"create_connection": "创建连接",
"delete_connection": "删除",
"connections_counter": "连接数:{0} / {1}",
"device_name": "设备名称",
"self_service_disabled": "自助服务未启用。",
"config_tab": "📄 配置文件",
"vpn_key_tab": "🔑 VPN 密钥",
"qr_code_tab": "📱 二维码",
"copy_config": "📋 复制配置",
"download_conf": "⬇ 下载 .conf 文件",
"copy_key": "📋 复制密钥",
"vpn_link_hint": "将此链接粘贴到 AmneziaVPN 应用中即可自动配置",
"qr_hint": "使用 AmneziaVPN 应用扫描二维码",
"qr_format_amnezia": "Amnezia",
"qr_format_wireguard": "普通",
"qr_format_amnezia_hint": "面向 AmneziaVPN 的动画序列,包含服务器名称。请保持摄像头对准,直到读取全部帧 —",
"qr_format_wireguard_hint": "原样的配置或链接,适用于 AmneziaWG、wg-quick 及其他客户端,不包含服务器名称。",
"no_data": "无数据",
"start_btn": "▶ 启动",
"stop_btn": "⏹ 停止",
"config_btn": "⚙️ 配置",
"done": "完成",
"installing": "安装中...",
"start_install": "开始安装...",
"check_docker": "检查 Docker...",
"prepare_host": "准备环境...",
"build_container": "构建容器...",
"install_success": "协议安装成功!",
"install_error": "安装失败: ",
"qr_error": "无法生成二维码",
"users_title": "用户管理",
"search_placeholder": "搜索用户名、邮箱或 Telegram ID...",
"add_user": "添加用户",
"prev_page": "← 上一页",
"next_page": "下一页 →",
"page_info": "第 {} 页,共 {} 页",
"loading_users": "正在加载用户...",
"nothing_found": "未找到匹配项",
"search_empty_desc": "请尝试更改查询条件或创建新用户",
"username_label": "用户名",
"password_label": "密码",
"role_label": "角色",
"role_user_desc": "User — 仅查看自己的连接",
"role_support_desc": "Support — 服务器管理权限",
"role_admin_desc": "Admin — 全部权限",
"tg_id_label": "Telegram ID (可选)",
"email_label": "邮箱 (可选)",
"traffic_limit_label": "流量限制 (GB) (0 = 不限制)",
"description_label": "备注 (可选)",
"auto_conn_title": "自动创建连接 (可选)",
"server_label": "服务器",
"no_create_conn": "— 不自动创建 —",
"protocol_label": "协议",
"edit_user_title": "编辑用户: {}",
"edit_user_tg": "Telegram ID (可选)",
"edit_user_email": "邮箱 (可选)",
"edit_user_limit": "流量限制 (GB) (0 = 不限制)",
"new_password_hint": "新密码 (如不修改请留空)",
"op_type_label": "操作类型",
"create_new_conn": "创建新连接",
"link_existing_conn": "关联现有连接",
"select_existing_conn": "选择现有连接",
"existing_conn_hint": "仅显示尚未关联用户的连接。按住 Ctrl 可多选",
"conn_name_panel": "连接名称 (面板显示)",
"user_conns_title": "用户连接列表",
"no_free_conns": "无可用空闲连接",
"linking": "关联中...",
"conn_linked": "连接关联成功",
"enabling": "启用中",
"disabling": "禁用中",
"user_enabled": "用户已启用",
"user_disabled": "用户已禁用",
"delete_user_confirm": "确定删除该用户?其所有连接都将被删除。",
"share_access": "分享访问权限",
"enable_public_access": "启用公开访问",
"share_password_label": "密码 (可选)",
"share_password_hint": "如设置,访问者需输入密码",
"public_link_label": "公开链接",
"disabled": "已禁用",
"out_of": "/",
"settings_title": "面板设置",
"appearance": "🎨 外观设置",
"title_label": "页面标题 (Title)",
"logo_label": "图标 (Emoji 或 字符)",
"subtitle_label": "副标题 (Subtitle)",
"captcha_title": "🔐 验证码",
"enable_captcha": "启用登录验证码",
"telegram_bot_title": "🤖 Telegram 机器人",
"bot_token_label": "Bot Token (来自 @BotFather)",
"bot_status": "状态",
"bot_running": "✅ 运行中",
"bot_stopped": "⏹ 已停止",
"bot_stop_btn": "⏹ 停止",
"bot_start_btn": "▶️ 启动",
"bot_hint": "修改 Token 后请保存,机器人将自动重启。用户需在个人资料中填写 Telegram ID。",
"api_docs_title": "🔌 API 文档",
"api_docs_hint": "使用这些接口了解面板功能",
"tunnels_title": "Tunnels",
"local_server": "本地服务器",
"tunnel_install_enable": "安装并启用",
"tunnel_enable": "启用隧道",
"tunnel_running": "隧道运行中",
"tunnel_stop": "停止",
"tunnel_stopping": "正在停止...",
"tunnel_stopped": "隧道已停止",
"tunnel_delete": "删除",
"tunnel_deleted": "隧道已删除",
"tunnel_delete_confirm": "停止并删除由面板管理的隧道二进制文件?",
"tunnel_starting": "正在启动隧道...",
"tunnel_started": "隧道已启动",
"tunnel_waiting_url": "隧道已启动,正在等待公网地址...",
"tunnel_no_public_url": "隧道启动后公网地址会显示在这里。",
"tunnels_hint": "快速隧道会将本地面板暴露到互联网。请使用强管理员密码,并仅与可信用户共享公网地址。",
"ngrok_authtoken_placeholder": "ngrok authtoken(某些账号可选)",
"import_users_title": "📤 导入用户",
"import_source_label": "导入 / 同步源",
"remnawave_url_label": "Remnawave 地址",
"api_key_label": "API 密钥",
"enable_sync": "开启同步",
"sync_hint": "将根据 Remnawave 数据自动创建、禁用和删除用户",
"sync_now_btn": "🔄 立即同步",
"delete_sync_btn": "🗑 删除同步数据",
"auto_create_conns": "自动创建连接",
"sync_server_label": "新连接的服务器",
"save_changes": "💾 保存修改",
"sync_success": "同步完成: {} 个用户已更新",
"sync_deleted": "已删除 {} 个同步用户",
"delete_sync_confirm": "确定要删除所有同步用户及其连接吗?此操作不可逆。",
"settings_saved": "设置已保存",
"bot_started": "机器人已启动",
"bot_stopped_msg": "机器人已停止",
"sync_running": "同步中...",
"deleting": "删除中...",
"my_connections_title": "我的连接",
"show_config": "📄 查看配置",
"no_connections_user_desc": "请联系管理员创建 VPN 连接",
"share_title": "访问连接",
"vpn_access": "VPN 访问",
"user_label_share": "用户",
"share_protected_desc": "此访问受密码保护。请输入密码以继续。",
"auth_success": "身份验证通过",
"loading_share_conns": "正在加载连接...",
"no_active_conns": "您目前没有活跃连接。",
"show_settings_btn": "🔑 显示设置",
"copied": "已复制!",
"active": "活跃",
"site_description": "Amnezia Web Panel — VPN 服务器及 AmneziaWG 协议管理工具",
"toggle_theme": "切换主题",
"copied_to_clipboard": "已复制到剪贴板",
"share_not_found": "404 页面未找到",
"share_not_found_desc": "链接无效或访问已被禁用。",
"invalid_captcha": "验证码错误",
"account_disabled": "账户已被禁用",
"invalid_login": "用户名或密码错误",
"user_exists": "该用户名已存在",
"cannot_delete_self": "您无法删除自己的账户",
"wrong_share_password": "密码错误",
"saving": "正在保存...",
"select_lang": "选择语言",
"lang_ru": "Русский",
"lang_en": "English",
"lang_fr": "Français",
"lang_zh": "中文 (Chinese)",
"lang_fa": "فارسی (Persian)",
"backup_title": "简易备份",
"download_backup": "下载 data.json",
"restore_backup": "从文件恢复",
"restore_confirm": "您确定吗?当前数据将被覆盖,应用程序将重新启动。",
"restore_success": "备份恢复成功!",
"auto_backup_title": "Auto backup",
"enable_auto_backup": "启用服务器自动备份",
"auto_backup_interval_label": "创建间隔",
"auto_backup_hint": "面板会按所选间隔为每台服务器上已安装的协议创建备份。",
"auto_backup_last_run": "上次运行",
"auto_backup_last_status": "状态",
"auto_backup_created_count": "已创建备份",
"hours_suffix": "小时",
"invalid_backup_file": "备份文件或结构无效",
"config_unavailable": "配置文件不可用",
"config_unavailable_desc": "此客户端是通过 Amnezia 原生应用创建的。\\n私钥仅存储在用户设备上,服务器无法恢复。",
"client_public_key": "客户端公钥:",
"management": "管理",
"server_management": "服务器管理",
"server_management_desc": "在您的机器上执行系统级别的操作。",
"check_server_services": "检查服务器服务",
"reboot_server": "重启服务器",
"clear_server": "清除服务器",
"remove_server": "从面板移除服务器",
"telemt_desc": "基于 MTProxy 的 Telegram 代理,支持高级混淆。",
"dns_desc": "防止广告和保护隐私的个人 DNS 服务器。",
"dns_internal_hint": "The service runs on the internal network (172.29.172.254) without binding to host ports.",
"telemt_port_hint": "Port for the Telegram proxy (typically 443).",
"socks5_desc": "Single-account SOCKS5 proxy (3proxy) with username/password authentication.",
"socks5_username": "Username",
"socks5_password": "Password",
"socks5_password_placeholder": "Leave empty to auto-generate",
"socks5_password_hint": "If left empty, a random 16-character password will be generated.",
"socks5_port_hint": "TCP port the proxy will listen on. The default in the official Amnezia client is 38080.",
"socks5_change_settings": "Change settings",
"socks5_settings_title": "SOCKS5 — Connection settings",
"socks5_port_change_hint": "Changing the port recreates the container; existing sessions will be dropped.",
"socks5_settings_saved": "SOCKS5 settings saved",
"adguard_desc": "AdGuard Home — DNS-based ad blocker with a web admin UI.",
"adguard_mode": "Installation mode",
"adguard_mode_sidebyside": "Side-by-side",
"adguard_mode_sidebyside_hint": "runs alongside AmneziaDNS on a separate internal IP (172.29.172.253)",
"adguard_mode_replace": "Replace AmneziaDNS",
"adguard_mode_replace_hint": "removes amnezia-dns and takes its IP — VPN clients use AdGuard immediately",
"adguard_dns_port": "DNS port (53)",
"adguard_dns_port_hint": "Internal DNS port served to VPN clients via the docker network.",
"adguard_web_port": "Web UI port",
"adguard_dot_port": "DoT port",
"adguard_doh_port": "DoH port",
"adguard_expose_web": "Expose to internet",
"adguard_expose": "Expose to host",
"adguard_install_hint": "Initial AdGuard setup runs through its built-in wizard via the web UI after install.",
"adguard_internal_ip": "Internal IP",
"adguard_web_ui": "Admin URL",
"adguard_open_ui": "Open Web UI",
"edit_server_title": "Edit server",
"edit_keep_credential": "Leave empty to keep the current value",
"server_saved": "Server settings saved",
"servers_reordered": "Servers reordered",
"ping_checking": "Checking connectivity...",
"offline": "offline",
"api_tokens_title": "API tokens",
"api_tokens_hint": "Bearer tokens for external integrations. Send the token in the `Authorization: Bearer <token>` header. Tokens have admin-equivalent rights and stop working if their owner is disabled or demoted.",
"api_tokens_empty": "No API tokens yet. Create one to integrate the panel with an external service.",
"api_tokens_create": "Create token",
"api_tokens_create_title": "Create API token",
"api_tokens_name_label": "Name",
"api_tokens_name_placeholder": "e.g. Linear integration, CI bot, monitoring",
"api_tokens_name_hint": "Used to identify this token in the list. The token value itself is generated for you.",
"api_tokens_name_required": "Token name is required",
"api_tokens_created_title": "Token created",
"api_tokens_value_label": "Token value",
"api_tokens_warning_title": "This is the only time you'll see this token.",
"api_tokens_warning_body": "Copy it now and store it in your integration's secret manager. The panel keeps only a hash — if you lose this value you'll need to revoke and recreate the token.",
"api_tokens_revoke": "Revoke",
"api_tokens_revoke_confirm": "Revoke token \"{}\"? Any integration using it will stop working.",
"api_tokens_revoked": "Token revoked",
"api_tokens_created": "Created",
"api_tokens_last_used": "Last used",
"api_tokens_owner": "Owner",
"api_tokens_never": "never",
"coming_soon": "Coming soon",
"promo_star_cta": "Star us on GitHub",
"aivpn_subtitle": "AI-driven protocol selection that picks the right tunnel for the moment. Land it sooner — drop a star.",
"revproxy_title": "Reverse Proxy",
"revproxy_subtitle": "High-performance traffic obfuscation: hide your VPN endpoint behind a polished public-facing site, drop the DPI footprint.",
"warp_hint": "WARP routes this host outbound through Cloudflare. It does not create a public panel URL like Quick Tunnel or ngrok.",
"warp_install_hint": "Install the official Cloudflare WARP client first, then restart the panel.",
"warp_install_required": "Install WARP first",
"warp_connect": "Connect WARP",
"warp_disconnect": "Disconnect",
"warp_connected": "WARP connected",
"warp_disconnected": "WARP disconnected",
"warp_status_unknown": "WARP status is unknown.",
"warp_status_not_installed": "Cloudflare WARP CLI is not installed on this host.",
"warp_status_connected": "Cloudflare WARP is connected.",
"warp_status_connecting": "Cloudflare WARP is connecting.",
"warp_status_disconnected": "Cloudflare WARP is disconnected.",
"warp_status_not_registered": "Cloudflare WARP is installed but not registered yet. Connect will try to register automatically.",
"warp_status_service_unavailable": "Cloudflare WARP service is not available. Make sure warp-svc is running.",
"warp_status_error": "Cloudflare WARP returned an error.",
"install_starting": "Starting installation...",
"server_check_complete": "Check completed",
"server_connection_error": "Connection error",
"connections_load_error": "Error loading connections",
"connection_updated": "Connection updated",
"edit_connection": "Edit connection",
"enable_connection_progress": "Enabling connection...",
"disable_connection_progress": "Disabling connection...",
"connection_enabled": "Connection enabled",
"connection_disabled": "Connection disabled",
"gb": "GB",
"marketplace": "Templates",
"open_marketplace": "Open Templates",
"marketplace_desc": "Install protocol and service templates available for this server.",
"installed_apps": "Installed applications",
"installed_apps_hint": "Only installed protocols and services are shown here. Use Templates to add more.",
"no_installed_apps": "No installed applications yet",
"no_installed_apps_desc": "Open Templates to install protocols or services on this server.",
"install_another": "Install another",
"new_instance": "new instance",
"port_next_instance_hint": "Choose a free UDP port for the additional instance.",
"web_servers": "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 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": "重命名",
"connection_renamed": "连接已重命名",
"enter_connection_name": "请输入新的连接名称",
"config_saved": "配置已保存",
"reset_traffic": "重置流量",
"resetting": "正在重置...",
"reset_traffic_confirm": "重置此用户的当前流量?总统计将保留。",
"traffic_reset_success": "流量已重置",
"host_tuning": "主机调优",
"conn_warning_text": "⚠️ 警告:{date} {time} 打开了 {count} 个连接!",
"clear_warnings": "清除警告",
"warnings_cleared": "警告已清除",
"max_speed": "最大速度 (Mbps)",
"speed_limit_unlim": "速度限制(0 = 不限)",
"port_in_use_by": "端口 {port} 已被 {owner} 占用,请选择其他端口。",
"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_confirm_protocol": "您确定吗?当前协议配置将被此备份覆盖。",
"delete_backup_confirm": "从服务器删除此备份?此操作无法撤销。",
"backup_deleted": "备份已删除",
"upload_backup": "上传",
"uploading_backup": "正在上传...",
"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": "无期限",
"telemt_secret_label": "密钥 (hex)",
"telemt_ad_tag_label": "AD 标签 (hex)",
"telemt_max_conns_label": "最大 TCP 连接数",
"telemt_quota_label": "配额 (字节)",
"telemt_max_ips_label": "最大唯一 IP 数",
"telemt_expiry_label": "到期时间 (ISO 8601)",
"optional": "可选",
"role_none_desc": "无角色 — 仅记录,无法登录",
"role_none_badge": "无角色",
"password_optional_no_role": "“无角色”角色无需密码",
"password_required_for_role": "所选角色必须设置密码",
"username_empty": "用户名不能为空",
"invalid_role": "角色无效",
"awg_dns6_hint": "当隧道为双栈(IPv4+IPv6)时用于客户端密钥",
"unlink_key_title": "将密钥 {} 从用户“{}”解绑?",
"unlink_confirm": "确定解绑?!",
"conn_unlinked": "连接已解绑",
"peer_already_linked": "该节点已绑定到用户 {}",
"peer_already_linked_self": "该节点已绑定到此用户",
"select_connection": "请选择连接",
"name_required": "名称为必填项",
"no_servers_available": "没有可用的服务器",
"assign_user": "用户",
"no_user_option": "— 不绑定 —",
"stop_peer_title": "停止",
"start_peer_title": "启用",
"ssh_cooldown_title": "SSH 冷却时间(秒)",
"ssh_cooldown_hint": "重新连接不可达服务器前的初始延迟。如果服务器工作正常,请勿更改。",
"public_endpoint_title": "公网地址",
"public_endpoint_for": "{} 的客户端连接地址",
"public_endpoint_host": "主机",
"public_endpoint_port": "端口",
"public_endpoint_port_placeholder": "实例端口",
"public_endpoint_hint": "留空则使用服务器地址和实例端口。当实例通过同一服务器的另一个 IP、端口转发或域名对外提供服务时填写。",
"public_endpoint_not_applied": "已保存,但未在服务器上生效",
"peer_poll_title": "节点实时刷新",
"peer_poll_hint": "节点列表自动刷新的间隔。0 = 关闭(默认)。快的服务器用 5–10 即可;慢的服务器建议 300–600 或保持关闭。",
"peer_poll_off": "关闭",
"peer_poll_sec": "秒"
}