From e1e7ae4f40123c7b3f5712ad5ec730619f2e74a7 Mon Sep 17 00:00:00 2001 From: billz Date: Sat, 25 Oct 2025 14:29:19 +0200 Subject: [PATCH] Update zh_CN locale w/ DeepL, quality review by Claude --- locale/zh_CN/LC_MESSAGES/messages.mo | Bin 15075 -> 81693 bytes locale/zh_CN/LC_MESSAGES/messages.po | 2025 +++++++++++++++++++++++++- 2 files changed, 2001 insertions(+), 24 deletions(-) diff --git a/locale/zh_CN/LC_MESSAGES/messages.mo b/locale/zh_CN/LC_MESSAGES/messages.mo index 2e8f36e7f0b5e37ef58464e9018968aa8d91b324..6ab9393dab676752435818569e185cfc250df3e0 100644 GIT binary patch literal 81693 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 literal 15075 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 b^g4Ynk6?Ryp114`}T>mUupagu*Q^l diff --git a/locale/zh_CN/LC_MESSAGES/messages.po b/locale/zh_CN/LC_MESSAGES/messages.po index 5c080893..567cf803 100644 --- a/locale/zh_CN/LC_MESSAGES/messages.po +++ b/locale/zh_CN/LC_MESSAGES/messages.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: raspap\n" "Report-Msgid-Bugs-To: Bill Zimmerman \n" "POT-Creation-Date: 2017-10-19 08:56+0000\n" -"PO-Revision-Date: 2020-04-14 08:51\n" -"Last-Translator: BANKA2017 \n" +"PO-Revision-Date: 2025-10-25 12:16\n" +"Last-Translator: Bill Zimmerman \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" @@ -12,8 +12,10 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Crowdin-Project: raspap\n" +"X-Crowdin-Project-ID: 395801\n" "X-Crowdin-Language: zh-CN\n" "X-Crowdin-File: /master/locale/en_US/LC_MESSAGES/messages.po\n" +"X-Crowdin-File-ID: 10\n" #: index.php msgid "RaspAP Wifi Configuration Portal" @@ -22,8 +24,8 @@ msgstr "RaspAP WLAN热点设置中心" msgid "Toggle navigation" msgstr "响应式导航" -msgid "RaspAP Wifi Portal" -msgstr "RaspAP WLAN热点" +msgid "RaspAP Admin Panel" +msgstr "RaspAP 管理面板" msgid "Dashboard" msgstr "仪表板" @@ -34,11 +36,17 @@ msgstr "WLAN客户端设置" msgid "Hotspot" msgstr "WLAN热点设置" -msgid "Memory Use" -msgstr "内存用量" +msgid "Logging" +msgstr "日志记录" -msgid "CPU Temp" -msgstr "CPU 温度" +msgid "Status" +msgstr "状态" + +msgid "Mem Use" +msgstr "内存使用" + +msgid "CPU" +msgstr "CPU" msgid "Networking" msgstr "网络设置" @@ -55,9 +63,6 @@ msgstr "TOR代理设置" msgid "Authentication" msgstr "登录设置" -msgid "Change Theme" -msgstr "主题中心" - msgid "System" msgstr "系统" @@ -95,6 +100,69 @@ msgstr "新密码" msgid "Repeat new password" msgstr "重复新密码" +msgid "Please provide a valid username." +msgstr "请提供有效的用户名。" + +msgid "Please provide a valid password." +msgstr "请提供有效密码。" + +msgid "Please enter your old password." +msgstr "请输入您的旧密码。" + +msgid "Please enter a new password." +msgstr "请输入新密码。" + +msgid "Please re-enter your new password." +msgstr "请重新输入您的新密码。" + +msgid "Avatar" +msgstr "头像" + +msgid "Click or tap to upload a new user avatar." +msgstr "点击或轻点上传新的用户头像。" + +msgid "Image files of type JPG, GIF or PNG are accepted. Max file size: 2 MB." +msgstr "接受JPG、GIF 或 PNG类型的图像文件。最大文件大小:2 MB。" + +msgid "Reset avatar" +msgstr "重置头像" + +msgid "Enable limited privilege user" +msgstr "启用有限权限用户" + +msgid "This option enables a non-admin user who can access RaspAP's management interface, but has limited ability to modify the existing configuration. This user becomes active when the current admin user is logged-out." +msgstr "该选项启用一个非管理员用户,该用户可以访问 RaspAP 的管理界面,但修改现有配置的能力有限。该用户在当前管理员用户注销后激活。" + +msgid "Admin login failed. Please try again." +msgstr "管理员登录失败。请重试。" + +msgid "Limited privilege user mode enabled" +msgstr "已启用有限权限用户模式" + +msgid "Failed to enable limited privilege user mode" +msgstr "启用有限权限用户模式失败" + +msgid "Logout and enable limited user mode" +msgstr "注销并启用有限用户模式" + +msgid "Limited user login" +msgstr "限制用户登录" + +msgid "Limited user password" +msgstr "有限用户密码" + +msgid "This action will save the limited user's credentials and logout the current admin user. Save and enable limited privilege mode?" +msgstr "此操作将保存受限用户的凭证并注销当前管理员用户。保存并启用有限权限模式?" + +msgid "Save and logout" +msgstr "保存并注销" + +msgid "Admin credentials updated successfully" +msgstr "管理员证书更新成功" + +msgid "Limited user credentials updated successfully" +msgstr "有限用户证书更新成功" + #: includes/configure_client.php msgid "Client settings" msgstr "客户端设置" @@ -144,9 +212,33 @@ msgstr "隐藏" msgid "Not configured" msgstr "未配置" +msgid "Connected" +msgstr "连接" + +msgid "Known" +msgstr "已知" + +msgid "Nearby" +msgstr "附近" + msgid "Note: WEP access points appear as 'Open'. RaspAP does not currently support connecting to WEP" msgstr "提示: 若目标热点已打开WEP登录验证,本程序将不支持连接到此类网络" +msgid "No Wifi stations found" +msgstr "未找到 Wifi 站" + +msgid "Reinitialized wpa_supplicant. Choose Rescan." +msgstr "重新初始化 wpa_supplicant。选择重新扫描。" + +msgid "Click 'Rescan' to search for nearby Wifi stations." +msgstr "点击 \"重新扫描 \"搜索附近的 Wifi 站。" + +msgid "Click 'Reinitialize' to force reinitialize wpa_supplicant." +msgstr "单击 \"重新初始化 \"强制重新初始化wpa_supplicant。" + +msgid "Reinitialize" +msgstr "重新初始化" + #: includes/dashboard.php msgid "Interface Information" msgstr "接口信息" @@ -205,8 +297,8 @@ msgstr "频率" msgid "Link Quality" msgstr "连接质量" -msgid "Information provided by ip and iw and from system" -msgstr "ip和iw以及系统所提供的信息" +msgid "Information provided by raspap.system" +msgstr "由 raspap.system 提供的信息" msgid "No MAC Address Found" msgstr "没有找到MAC地址" @@ -241,16 +333,147 @@ msgstr "关闭wlan0接口" msgid "Connected Devices" msgstr "连接设备" +msgid "Client: Ethernet cable" +msgstr "客户端:以太网电缆" + +msgid "Current status" +msgstr "当前状态" + +msgid "Ethernet" +msgstr "以太网" + +msgid "Client: Smartphone (USB tethering)" +msgstr "客户端:智能手机(USB 连接)" + +msgid "Smartphone" +msgstr "智能手机" + +msgid "WiFi" +msgstr "WiFi" + +msgid "Repeater" +msgstr "中继器" + +msgid "Tethering" +msgstr "系绳" + +msgid "Cellular" +msgstr "手机" + +msgid "AP" +msgstr "AP" + +msgid "Bridged" +msgstr "桥接" + +msgid "Adblock" +msgstr "广告拦截" + +msgid "VPN" +msgstr "VPN" + +msgid "Netmask" +msgstr "网络掩码" + +msgid "5G" +msgstr "5G" + +msgid "2.4G" +msgstr "2.4G" + +msgid "%d WLAN %s" +msgstr "%d 无线局域网 %s" + +msgid "client" +msgid_plural "clients" +msgstr[0] "客户" + +msgid "Mobile Data Client" +msgstr "移动数据客户端" + +msgid "Mobile Data" +msgstr "移动数据" + +msgid "No information available" +msgstr "无可用信息" + +msgid "Interface name invalid" +msgstr "接口名称无效" + +msgid "Required exec function is disabled. Check if exec is not added to php disable_functions." +msgstr "所需的 exec 函数已禁用。检查 exec 是否未添加到 phpdisable_functions。" + +msgid "Waiting for the interface to start ..." +msgstr "等待界面启动..." + +msgid "Stop the Interface" +msgstr "停止界面" + +msgid "Connection mode" +msgstr "连接模式" + +msgid "Signal quality" +msgstr "信号质量" + +msgid "WAN IP" +msgstr "广域网 IP" + +msgid "Signal strength" +msgstr "信号强度" + +msgid "No Client device or not yet configured" +msgstr "无客户端设备或尚未配置" + +msgid "No Client device found" +msgstr "未找到客户端设备" + +#: includes/footer.php +msgid "Created by the %s" +msgstr "由 %s" + +msgid "RaspAP Team" +msgstr "RaspAP 团队" + +msgid "Get Insiders" +msgstr "获取内部人员" + +msgid "Thanks for being an Insider" +msgstr "感谢成为内部人员" + #: includes/dhcp.php msgid "DHCP server settings" msgstr "DHCP服务器设置" +msgid "Default gateway" +msgstr "默认网关" + +msgid "Install a default route for this interface" +msgstr "为该接口安装默认路由" + +msgid "Static IP options" +msgstr "静态 IP 选项" + +msgid "DHCP options" +msgstr "DHCP 选项" + +msgid "Enable this option if you want RaspAP to assign IP addresses to clients on the selected interface. A static IP address is required for this option." +msgstr "如果希望 RaspAP 为所选接口上的客户端分配 IP 地址,请启用此选项。该选项需要一个静态 IP 地址。" + +msgid "Enable this only if you want your device to use this interface as its primary route to the internet." +msgstr "仅当您希望设备将此接口作为连接互联网的主要路由时才启用。" + msgid "Client list" msgstr "客户端列表" msgid "Interface" msgstr "接口" +msgid "Enable DHCP for this interface" +msgstr "为该接口启用 DHCP" + +msgid "Enable this option if you want RaspAP to assign IP addresses on the selected interface." +msgstr "如果希望 RaspAP 在所选接口上分配 IP 地址,请启用此选项。" + msgid "DNS Server" msgstr "DNS服务器" @@ -281,6 +504,9 @@ msgstr "生存时间" msgid "MAC Address" msgstr "MAC地址" +msgid "Optional comment" +msgstr "可选注释" + msgid "Host name" msgstr "设备名称" @@ -344,12 +570,84 @@ msgstr "格式" msgid "Choose a hosted server" msgstr "选择托管服务器" +msgid "Enable these options to log dhcpcd and dnsmasq activity." +msgstr "启用这些选项可记录dhcpcddnsmasq活动。" + msgid "Log DHCP requests" msgstr "记录 DHCP 请求" msgid "Log DNS queries" msgstr "记录 DNS 查询" +msgid "Restrict access" +msgstr "限制访问" + +msgid "Limit network access to static clients" +msgstr "限制静态客户端访问网络" + +msgid "Enable this option if you want RaspAP to ignore any clients which are not specified in the static leases list." +msgstr "如果希望 RaspAP忽略任何未在静态租约列表中指定的客户端,请启用此选项。" + +msgid "This option adds dhcp-ignore to the dnsmasq configuration." +msgstr "该选项将dhcp-ignore添加到 dnsmasq 配置中。" + +msgid "Clients with a particular hardware MAC address can always be allocated the same IP address." +msgstr "具有特定硬件 MAC 地址的客户端总是可以分配到相同的 IP 地址。" + +msgid "This option adds dhcp-host entries to the dnsmasq configuration." +msgstr "该选项将dhcp-host条目添加到 dnsmasq 配置中。" + +msgid "This toggles the gateway/nogateway option for this interface in the dhcpcd.conf file." +msgstr "在 dhcpcd.conf 文件中切换此接口的网关/ 网关选项。" + +msgid "This toggles the nohook wpa_supplicant option for this interface in the dhcpcd.conf file." +msgstr "此选项可在 dhcpcd.conf 文件中切换此接口的nohook wpa_supplicant选项。" + +msgid "Disable wpa_supplicant dhcp hook for this interface" +msgstr "禁用此接口的 wpa_supplicant dhcp 钩子" + +msgid "If you manage wireless connections with wpa_supplicant itself, the hook may create unwanted connection events. This option disables the hook." +msgstr "如果使用 wpa_supplicant 本身管理无线连接,钩子可能会产生不必要的连接事件。此选项将禁用钩子。" + +msgid "Please provide a valid IP Address." +msgstr "请提供有效的 IP 地址。" + +msgid "Please provide a valid Default gateway." +msgstr "请提供有效的默认网关。" + +msgid "Please provide a valid Starting IP Address." +msgstr "请提供有效的起始 IP 地址。" + +msgid "Please provide a valid Ending IP Address." +msgstr "请提供有效的结束 IP 地址。" + +msgid "Please provide a valid Lease Time." +msgstr "请提供有效的租用时间。" + +msgid "Invalid interface name." +msgstr "无效接口名称。" + +msgid "Invalid static IP address." +msgstr "静态 IP 地址无效。" + +msgid "Invalid default gateway." +msgstr "默认网关无效。" + +msgid "Invalid DHCP range start." +msgstr "无效的 DHCP 范围起始。" + +msgid "Invalid DHCP range end." +msgstr "无效的 DHCP 范围结束。" + +msgid "Invalid DHCP lease time, not a number." +msgstr "DHCP 租约时间无效,不是数字。" + +msgid "Unknown DHCP lease time unit." +msgstr "未知 DHCP 租约时间单位。" + +msgid "Invalid metric value, not a number." +msgstr "度量值无效,不是数字。" + #: includes/hostapd.php msgid "Basic" msgstr "基础" @@ -372,8 +670,8 @@ msgstr "安全性" msgid "Encryption Type" msgstr "加密模式" -msgid "PSK" -msgstr "密码" +msgid "Pre-shared key (PSK)" +msgstr "预共享密钥 (PSK)" msgid "Advanced settings" msgstr "高级设置" @@ -408,11 +706,26 @@ msgstr "未知接口" msgid "Country code must be blank or two characters" msgstr "地区代号只能为空或两个字符" -msgid "Wifi Hotspot settings saved" -msgstr "WLAN热点设置已保存" +msgid "DHCP configuration for %s enabled." +msgstr "已启用 %s 的 DHCP 配置。" -msgid "Unable to save wifi hotspot settings" -msgstr "WLAN热点设置保存失败" +msgid "DHCP configuration for %s added." +msgstr "添加了 %s 的 DHCP 配置。" + +msgid "DHCP configuration for %s updated." +msgstr "%s 的 DHCP 配置已更新。" + +msgid "Interface %s has no default settings." +msgstr "接口 %s 没有默认设置。" + +msgid "Configure settings in DHCP Server before starting AP." +msgstr "启动 AP 前在DHCP 服务器中配置设置。" + +msgid "Wifi hotspot settings saved." +msgstr "已保存 Wifi 热点设置。" + +msgid "Unable to save WiFi hotspot settings." +msgstr "无法保存 WiFi 热点设置。" msgid "Start hotspot" msgstr "开启WLAN热点" @@ -435,19 +748,190 @@ msgstr "无线网客户端AP模式" msgid "Bridged AP mode" msgstr "桥接 AP 模式" +msgid "WiFi repeater mode" +msgstr "WiFi 中继器模式" + +msgid "Dual band AP mode" +msgstr "双频 AP 模式" + msgid "Hide SSID in broadcast" msgstr "在广播中隐藏SSID" msgid "Maximum number of clients" msgstr "客户端最大数量" -msgid "Configures the max_num_sta option of hostapd. The default and maximum is 2007. If empty or 0, the default applies." -msgstr "设置hostapd上的max_num_sta选项。默认值和最大值是2007。如果为空或为0,则应用默认值。" +msgid "Configures the max_num_sta option of hostapd. The default and maximum is 2007. If empty or 0, the default applies." +msgstr "配置 hostapd 的max_num_sta选项。默认最大值为 2007。如果为空或 0,则使用默认值。" + +msgid "Beacon interval" +msgstr "信标间隔" + +msgid "Disable disassoc_low_ack" +msgstr "禁用disassoc_low_ack" + +msgid "Do not disassociate stations based on excessive transmission failures." +msgstr "不要因为过多的传输失败而解散站点。" + +msgid "Executing RaspAP service start" +msgstr "执行 RaspAP 服务启动" + +msgid "Close" +msgstr "关闭" + +msgid "Enable this option to log hostapd activity." +msgstr "启用此选项可记录hostapd活动。" + +msgid "Transmit power (dBm)" +msgstr "发射功率(dBm)" + +msgid "Sets the txpower option for the AP interface and the configured country." +msgstr "为 AP 接口和配置的国家设置txpower选项。" + +msgid "dBm is a unit of level used to indicate that a power ratio is expressed in decibels (dB) with reference to one milliwatt (mW). 30 dBm is equal to 1000 mW, while 0 dBm equals 1.25 mW." +msgstr "dBm 是一种电平单位,用于表示功率比以 1 毫瓦(mW)为基准,用分贝(dB)表示。30 dBm 等于 1000 mW,而 0 dBm 等于 1.25 mW。" + +msgid "WPA and WPA2" +msgstr "WPA 和 WPA2" + +msgid "WPA2 and WPA3-Personal (transitional mode)" +msgstr "WPA2 和 WPA3-个人(过渡模式)" + +msgid "WPA3-Personal (required)" +msgstr "WPA3-个人(必填)" + +msgid "Enabled (for supported clients)" +msgstr "已启用(适用于支持的客户端)" + +msgid "Required (for supported clients)" +msgstr "必须填写(适用于受支持的客户端)" + +msgid "802.11w extends strong cryptographic protection to a select set of robust management frames, including Deauthentication, Disassociation and certain categories of Action Management frames. Collectively, this is known as Management Frame Protection (MFP)." +msgstr "802.11w 将强加密保护扩展到一组精选的稳健管理帧,包括取消认证、解除关联和某些类别的 \"动作管理 \"帧。统称为管理帧保护 (MFP)。" + +msgid "Scan this QR code directly or %s %sprint a sign%s for your users." +msgstr "直接扫描此二维码或 %s %s打印一个标志%s 给您的用户。" + +msgid "Printable Wi-Fi sign" +msgstr "可打印 Wi-Fi 标志" + +msgid "To connect with your phone or tablet, scan the QR code above with your camera app." +msgstr "要与手机或平板电脑连接,请使用相机应用程序扫描上面的二维码。" + +msgid "For other devices, use the login credentials below." +msgstr "对于其他设备,请使用下面的登录凭证。" + +msgid "Network" +msgstr "网络" + +msgid "The selected interface (%s) has support for the 2.4 GHz wireless band only." +msgstr "所选接口 (%s) 仅支持 2.4 GHz 无线频段。" + +msgid "The selected interface (%s) has support for the 2.5 GHz wireless band only." +msgstr "所选接口 (%s) 仅支持 2.5 GHz 无线频段。" + +msgid "The selected interface (%s) has support for both the 2.4 and 5 GHz wireless bands." +msgstr "所选接口 (%s) 同时支持 2.4 和 5 GHz 无线频段。" + +msgid "The selected interface (%s) does not support wireless mode operation." +msgstr "所选接口 (%s) 不支持无线模式操作。" + +msgid "The 802.11ac 5 GHz option is disabled until a compatible wireless regulatory domain is set." +msgstr "在设置兼容的无线监管域之前,802.11ac 5 GHz 选项将被禁用。" + +msgid "WiFi repeater mode: A metric value is already defined for DHCP." +msgstr "WiFi 中继器模式:已为 DHCP 定义度量值。" + +msgid "Restart hotspot to enable WiFi repeater mode." +msgstr "重启热点以启用 WiFi 中继器模式。" + +msgid "Unable to obtain metric value for client interface. Repeater mode inactive." +msgstr "无法获取客户端接口的度量值。中继器模式未激活。" + +msgid "Metric value configured for the %s interface." +msgstr "为 %s 接口配置的度量值。" + +msgid "Parameter hiddenSSID contains invalid configuration value." +msgstr "参数 hiddenSSID 包含无效配置值。" + +msgid "Parameter hiddenSSID is not a number." +msgstr "参数 hiddenSSID 不是数字。" + +msgid "Bridge interface configuration" +msgstr "网桥接口配置" + +msgid "Configure a static IP address for the br0 interface to maintain connectivity during bridge mode activation." +msgstr "为br0接口配置静态 IP 地址,以便在网桥模式激活期间保持连接。" + +msgid "Static IP Address" +msgstr "静态 IP 地址" + +msgid "Netmask / CIDR" +msgstr "网络掩码/CIDR" + +msgid "Example: 192.168.1.100" +msgstr "示例:192.168.1.100" + +msgid "CIDR notation (e.g., 24 for 255.255.255.0)" +msgstr "CIDR 符号(例如,24 表示 255.255.255.0)" + +msgid "Gateway" +msgstr "网关" + +msgid "Your router's IP address" +msgstr "路由器 IP 地址" + +msgid "Usually same as gateway" +msgstr "通常与网关相同" + +msgid "Bridge static IP address must be a valid IPv4 address" +msgstr "网桥静态 IP 地址必须是有效的 IPv4 地址" + +msgid "Bridge netmask must be a number between 1 and 32" +msgstr "网桥掩码必须是 1 到 32 之间的数字" + +msgid "Bridge netmask is required when using static IP" +msgstr "使用静态 IP 时需要网桥掩码" + +msgid "Bridge gateway must be a valid IPv4 address" +msgstr "网桥网关必须是有效的 IPv4 地址" + +msgid "Bridge gateway is required when using static IP" +msgstr "使用静态 IP 时需要网桥网关" + +msgid "Bridge DNS server must be a valid IPv4 address" +msgstr "桥接 DNS 服务器必须是有效的 IPv4 地址" + +msgid "Bridge DNS server is required when using static IP" +msgstr "使用静态 IP 时需要桥接 DNS 服务器" + +msgid "Bridge static IP and gateway must be in the same subnet" +msgstr "网桥静态 IP 和网关必须在同一子网中" + +msgid "Please enter a valid IPv4 address" +msgstr "请输入有效的 IPv4 地址" + +msgid "Please enter a valid netmask" +msgstr "请输入有效的网络掩码" + +msgid "DHCP configuration for br0 enabled" +msgstr "已启用 br0 的 DHCP 配置" + +msgid "Unable to save WiFi hotspot settings due to validation errors" +msgstr "由于验证错误,无法保存 WiFi 热点设置" + +msgid "Enable AP isolation" +msgstr "启用 AP 隔离" + +msgid "Blocks wireless clients from seeing or connecting to each other. Recommended for guest networks and public access points." +msgstr "阻止无线客户端相互看到或连接。建议用于访客网络和公共接入点。" #: includes/networking.php msgid "Summary" msgstr "摘要" +msgid "Internet connection" +msgstr "网络连接" + msgid "Current settings" msgstr "当前设置" @@ -460,8 +944,11 @@ msgstr "备用DNS服务器" msgid "Adapter IP Address Settings" msgstr "适配器IP地址设置" -msgid "Enable Fallback to Static Option" -msgstr "启用退回静态的选项" +msgid "Enable fallback to static option" +msgstr "启用回退到静态选项" + +msgid "Enable this option to configure a static profile and fall back to it when DHCP lease fails." +msgstr "启用此选项可配置静态配置文件,并在 DHCP 租约失败时返回该配置文件。" msgid "Static IP" msgstr "静态IP" @@ -475,12 +962,165 @@ msgstr "已禁用" msgid "Static IP Options" msgstr "静态IP设置" +msgid "Metric" +msgstr "指标" + msgid "Apply settings" msgstr "请求设置" msgid "Information provided by /sys/class/net" msgstr "信息由 /sys/class/net 提供" +msgid "Devices" +msgstr "设备" + +msgid "Diagnostics" +msgstr "诊断" + +msgid "Network devices" +msgstr "网络设备" + +msgid "Device" +msgstr "设备" + +msgid "MAC address" +msgstr "MAC 地址" + +msgid "USB vid/pid" +msgstr "USB vid/pid" + +msgid "Device type" +msgstr "设备类型" + +msgid "Fixed name" +msgstr "固定名称" + +msgid "Change" +msgstr "更改" + +msgid "Mobile data settings" +msgstr "移动数据设置" + +msgid "SIM card PIN number" +msgstr "SIM 卡 PIN 码" + +msgid "APN Settings (Modem device ppp0)" +msgstr "APN 设置(调制解调器设备 ppp0)" + +msgid "Access Point Name (APN)" +msgstr "接入点名称 (APN)" + +msgid "Password" +msgstr "密码" + +msgid "Successfully Updated Network Configuration" +msgstr "成功更新网络配置" + +msgid "Error saving network configuration to file" +msgstr "将网络配置保存到文件时出错" + +msgid "Unable to detect interface" +msgstr "无法检测接口" + +msgid "Routing table" +msgstr "路由表" + +msgid "raw output" +msgstr "原始输出" + +msgid "Setting wireless regulatory domain to %s" +msgstr "将无线监管域设置为 %s" + +msgid "Please provide a valid SSID." +msgstr "请提供有效的 SSID。" + +msgid "Please provide a valid PSK." +msgstr "请提供有效的 PSK。" + +msgid "Speedtest" +msgstr "速度测试" + +msgid "Selecting a server" +msgstr "选择服务器" + +msgid "Privacy" +msgstr "隐私保护" + +msgid "Server" +msgstr "服务器" + +msgid "ms" +msgstr "ms" + +msgid "Mbps" +msgstr "Mbps" + +msgid "Ping" +msgstr "平" + +msgid "Jitter" +msgstr "抖动" + +msgid "Upload" +msgstr "上传" + +msgid "Start" +msgstr "开始" + +msgid "Abort" +msgstr "终止" + +msgid "Wireless LAN routing" +msgstr "无线局域网路由" + +msgid "Stop WLAN routing" +msgstr "停止 WLAN 路由" + +msgid "Start WLAN routing" +msgstr "启动 WLAN 路由" + +msgid "Restart WLAN routing" +msgstr "重启 WLAN 路由" + +msgid "This option configures RaspAP to route network traffic from your wireless client (STA) interface to another available interface." +msgstr "该选项配置 RaspAP 将无线客户端(STA)接口的网络流量路由到另一个可用接口。" + +msgid "When an output interface is selected, iptables rules are added to route packets using network address translation (NAT). This is often done to share internet connectivity from a WLAN with devices on an eth0, usb0 or predictable enx interface." +msgstr "选择输出接口时,会添加iptables规则,以使用网络地址转换(NAT)路由数据包。这样做通常是为了与使用eth0usb0或可预测enx接口的设备共享 WLAN 的互联网连接。" + +msgid "Wireless client interface" +msgstr "无线客户端界面" + +msgid "Output interface" +msgstr "输出接口" + +msgid "Configure a static IP address and DHCP for output interface" +msgstr "为输出接口配置静态 IP 地址和 DHCP" + +msgid "Attempting to enable routing between %s and %s interfaces" +msgstr "试图启用 %s 和 %s 接口之间的路由选择" + +msgid "Attempting to disable routing between %s and %s interfaces" +msgstr "试图禁用 %s 和 %s 接口之间的路由选择" + +msgid "No default DHCP configuration exists for the %s interface" +msgstr "%s 接口不存在默认 DHCP 配置" + +msgid "Configure a static IP and DHCP for this interface in DHCP Server settings" +msgstr "在 DHCP 服务器设置中为此接口配置静态 IP 和 DHCP" + +msgid "WLAN routing configuration saved" +msgstr "已保存 WLAN 路由配置" + +msgid "Unable to save WLAN routing configuration" +msgstr "无法保存 WLAN 路由配置" + +msgid "Successfully restarted dnsmasq" +msgstr "成功重启 dnsmasq" + +msgid "Failed to restart dnsmasq" +msgstr "重启 dnsmasq 失败" + #: includes/system.php msgid "System Information" msgstr "系统信息" @@ -509,31 +1149,231 @@ msgstr "树莓派型号" msgid "Uptime" msgstr "已开机时间" +msgid "System Time" +msgstr "系统时间" + msgid "Memory Used" msgstr "内存占用" +msgid "Storage Used" +msgstr "使用的存储空间" + msgid "CPU Load" msgstr "CPU负荷" +msgid "CPU Temp" +msgstr "CPU 温度" + msgid "Reboot" msgstr "重启" msgid "Shutdown" msgstr "关闭" +msgid "System reboot" +msgstr "系统重启" + +msgid "System shutdown" +msgstr "系统关闭" + +msgid "Reboot now? The system will be temporarily unavailable." +msgstr "现在重启?系统将暂时不可用。" + +msgid "Shutdown now? The system will be unavailable." +msgstr "现在关闭?系统将不可用。" + msgid "System Rebooting Now!" msgstr "系统现在正在重启!" msgid "System Shutting Down Now!" msgstr "系统现在正在关闭!" -#: includes/themes.php +msgid "Web server port" +msgstr "网络服务器端口" + +msgid "Web server bind address" +msgstr "网络服务器绑定地址" + +msgid "OS" +msgstr "操作系统" + +msgid "Kernel" +msgstr "内核" + +msgid "System reset" +msgstr "系统重置" + +msgid "Reset RaspAP to its initial configuration? This action cannot be undone." +msgstr "将 RaspAP 重置为初始配置?此操作不可撤销。" + +msgid "Reset complete. Restart the hotspot for the changes to take effect." +msgstr "重置完成。重新启动热点,使更改生效。" + +msgid "System reset in progress..." +msgstr "系统重置中..." + +msgid "Reset" +msgstr "重置" + +msgid "Restore settings" +msgstr "恢复设置" + +msgid "To reset RaspAP to its initial configuration, click or tap the button below." +msgstr "要将 RaspAP 重置为初始配置,请单击或点击下面的按钮。" + +msgid "Custom files for optional components such as Ad Blocking, WireGuard or OpenVPN will remain on the system." +msgstr "广告拦截、WireGuard 或 OpenVPN 等可选组件的自定义文件将保留在系统中。" + +msgid "Perform reset" +msgstr "执行重置" + +msgid "Restores all access point (AP) service settings to their default values. This applies to hostapd, dhcpcd and dnsmasq." +msgstr "将所有接入点 (AP) 服务设置恢复为默认值。这适用于 hostapd、dhcpcd 和 dnsmasq。" + msgid "Theme settings" msgstr "主题设置" msgid "Select a theme" msgstr "选择一个主题" +msgid "Color" +msgstr "颜色" + +msgid "Enable this option for resizable, drag and drop widgets. Best for large displays." +msgstr "启用此选项可调整拖放部件的大小。最适合大型显示器。" + +msgid "Dynamic widgets" +msgstr "动态部件" + +msgid "Tools" +msgstr "工具" + +msgid "System tools" +msgstr "系统工具" + +msgid "To generate a system debug log, click or tap the button below." +msgstr "要生成系统调试日志,请单击或点击下面的按钮。" + +msgid "Debug log information contains the RaspAP version, current state and configuration of AP related services, installed system packages, Linux kernel version and networking details. No passwords or other sensitive data are included." +msgstr "调试日志信息包含 RaspAP 版本、AP 相关服务的当前状态和配置、已安装的系统软件包、Linux 内核版本和网络详情。不包括密码或其他敏感数据。" + +msgid "Generate debug log" +msgstr "生成调试日志" + +msgid "Debug log generation in progress..." +msgstr "调试日志生成中..." + +msgid "Diagnostic log size limit (KB)" +msgstr "诊断日志大小限制(KB)" + +msgid "Changing log limit size to %s KB" +msgstr "将日志限制大小更改为 %s KB" + +msgid "Information provided by raspap.sysinfo" +msgstr "由 raspap.sysinfo 提供的信息" + +msgid "The following user plugins are available to extend RaspAP's functionality." +msgstr "以下用户插件可用于扩展 RaspAP 的功能。" + +msgid "Choose Details for more information and to install a plugin." +msgstr "选择 \"详细信息\"获取更多信息并安装插件。" + +msgid "Network error" +msgstr "网络错误" + +msgid "Unable to load plugins" +msgstr "无法加载插件" + +msgid "Reload" +msgstr "重新加载" + +msgid "and try again" +msgstr "再试一次" + +msgid "Plugins" +msgstr "插件" + +msgid "Plugin details" +msgstr "插件详情" + +msgid "Name" +msgstr "文本名称" + +msgid "Version" +msgstr "版本" + +msgid "Description" +msgstr "说明" + +msgid "Plugin source" +msgstr "插件来源" + +msgid "Author" +msgstr "作者" + +msgid "License" +msgstr "许可证" + +msgid "Language locale" +msgstr "语言" + +msgid "Configuration files" +msgstr "配置文件" + +msgid "Dependencies" +msgstr "依赖关系" + +msgid "Permissions" +msgstr "权限" + +msgid "Non-privileged users" +msgstr "非特权用户" + +msgid "Install now" +msgstr "立即安装" + +msgid "Installing plugin" +msgstr "安装插件" + +msgid "Plugin installation in progress..." +msgstr "插件安装中..." + +msgid "Plugin install completed." +msgstr "插件安装完成。" + +msgid "Details" +msgstr "详细信息" + +msgid "Installed" +msgstr "已安装" + +msgid "Alert messages" +msgstr "警报信息" + +msgid "Alert close timeout (milliseconds)" +msgstr "警报关闭超时(毫秒)" + +msgid "Automatically close alerts after a specified timeout" +msgstr "在指定超时后自动关闭警报" + +msgid "To inspect adapters attached to this device, click or tap the button below." +msgstr "要检查连接到此设备的适配器,请单击或点击下面的按钮。" + +msgid "The adapter inspection tool returns details about external WLAN devices including drivers, supported modes and so on." +msgstr "适配器检查工具返回外部 WLAN 设备的详细信息,包括驱动程序、支持的模式等。" + +msgid "Choose a network interface to inspect" +msgstr "选择要检查的网络接口" + +msgid "Select an interface..." +msgstr "选择接口..." + +msgid "Adapter health check" +msgstr "适配器健康检查" + +msgid "Inspect adapters" +msgstr "检查适配器" + #: includes/data_usage.php msgid "Data usage" msgstr "数据使用量" @@ -632,6 +1472,66 @@ msgstr "正尝试启动openvpn" msgid "Attempting to stop openvpn" msgstr "正尝试停止openvpn" +msgid "Configurations" +msgstr "配置" + +msgid "Currently available OpenVPN client configurations are displayed below." +msgstr "当前可用的 OpenVPN 客户端配置显示如下。" + +msgid "Activating a configuration will restart the openvpn-client service." +msgstr "激活配置将重启openvpn-client服务。" + +msgid "Delete OpenVPN client" +msgstr "删除 OpenVPN 客户端" + +msgid "Delete client configuration? This cannot be undone." +msgstr "删除客户端配置?无法撤销。" + +msgid "Activate OpenVPN client" +msgstr "激活 OpenVPN 客户端" + +msgid "Activate client configuration? This will restart the openvpn-client service." +msgstr "激活客户端配置?这将重启 openvpn-client 服务。" + +msgid "Activate" +msgstr "激活" + +msgid "Cancel" +msgstr "取消" + +msgid "Enable this option to log openvpn activity." +msgstr "启用此选项可记录openvpn活动。" + +msgid "Authentification Method" +msgstr "验证方法" + +msgid "Username and password" +msgstr "用户名和密码" + +msgid "Certificates" +msgstr "认证" + +msgid "Enter username and password" +msgstr "输入用户名和密码" + +msgid "Certificates in the configuration file" +msgstr "配置文件中的证书" + +msgid "RaspAP supports certificates by including them in the configuration file." +msgstr "RaspAP 通过在配置文件中加入证书来支持证书。" + +msgid "Signing certification authority (CA) certificate (e.g. ca.crt): enclosed in <ca> ... </ca> tags." +msgstr "签名认证机构 (CA) 证书(如 ca.crt):由<ca> ...所括弧。 </ca>标记中。" + +msgid "Client certificate (public key) (e.g. client.crt): enclosed in <cert> ... </cert> tags." +msgstr "客户证书(公钥)(如client.crt):由<cert> ...所括弧。 </cert>标记。" + +msgid "Private key of the client certificate (e.g. client.key): enclosed in <key> ... </key> tags." +msgstr "客户端证书的私钥(如client.key):用 ... 标记。" + +msgid "Configuration File" +msgstr "配置文件" + #: includes/torproxy.php msgid "TOR is not running" msgstr "TOR不在运行" @@ -692,6 +1592,9 @@ msgstr "上" msgid "down" msgstr "下" +msgid "Clear log" +msgstr "清除日志" + msgid "adblock" msgstr "广告屏蔽" @@ -734,3 +1637,1077 @@ msgstr "统计" msgid "Information provided by adblock" msgstr "信息由 adblock 提供" +msgid "Enable custom blocklist" +msgstr "启用自定义屏蔽列表" + +msgid "Define custom hosts to be blocked by entering an IPv4 or IPv6 address followed by any whitespace (spaces or tabs) and the host name." +msgstr "通过输入 IPv4 或 IPv6 地址,然后输入空白(空格或制表符)和主机名,定义要封堵的自定义主机。" + +msgid "IPv4 example: 0.0.0.0 badhost.com" +msgstr "IPv4 示例:0.0.0.0 badhost.com" + +msgid "This option adds an addn-hosts directive to the dnsmasq configuration." +msgstr "该选项为 dnsmasq 配置添加了addn-hosts指令。" + +msgid "Custom blocklist not defined" +msgstr "未定义自定义屏蔽列表" + +msgid "Invalid custom IP address found on line " +msgstr "在行中发现无效的自定义 IP 地址 " + +msgid "Invalid custom host found on line " +msgstr "在行中发现无效的自定义主机 " + +msgid "Tunnel settings" +msgstr "隧道设置" + +msgid "Configuration Method" +msgstr "配置方法" + +msgid "Upload file" +msgstr "上传文件" + +msgid "Create manually" +msgstr "手动创建" + +msgid "Upload a WireGuard config" +msgstr "上传 WireGuard 配置" + +msgid "This option uploads and installs an existing WireGuard .conf file on this device." +msgstr "此选项上传并在此设备上安装现有的 WireGuard.conf文件。" + +msgid "Apply iptables rules to the selected interface" +msgstr "对选定接口应用 iptables 规则" + +msgid "Recommended if you wish to forward network traffic from the wg0 interface to clients connected on a desired interface. The active AP interface is the default." +msgstr "如果希望将 wg0 接口上的网络流量转发给连接到所需接口上的客户端,建议使用此文本。默认为活动 AP 接口。" + +msgid "This option adds iptables Postup and PostDown rules for the interface selected below." +msgstr "该选项为下面选择的接口添加iptables PostupPostDown规则。" + +msgid "Select WireGuard configuration file (.conf)" +msgstr "选择 WireGuard 配置文件 (.conf)" + +msgid "Create a local WireGuard config" +msgstr "创建本地 WireGuard 配置" + +msgid "Enable server" +msgstr "启用服务器" + +msgid "Enable this option to secure network traffic by creating an encrypted tunnel between RaspAP and configured peers." +msgstr "启用该选项可在 RaspAP 和配置的对等设备之间创建加密隧道,从而确保网络通信安全。" + +msgid "This setting generates a new WireGuard .conf file on this device." +msgstr "此设置将在此设备上生成一个新的 WireGuard.conf文件。" + +msgid "Local public key" +msgstr "本地公钥" + +msgid "Local Port" +msgstr "本地端口" + +msgid "IP Address" +msgstr "IP 地址" + +msgid "DNS" +msgstr "DNS" + +msgid "Peer" +msgstr "同级" + +msgid "Enable peer" +msgstr "启用同行" + +msgid "Enable this option to encrypt traffic by creating a tunnel between RaspAP and this peer." +msgstr "启用此选项可通过在 RaspAP 和该对等设备之间创建隧道来加密流量。" + +msgid "This option adds client.conf to the WireGuard configuration." +msgstr "该选项将client.conf添加到 WireGuard 配置中。" + +msgid "Peer public key" +msgstr "对等公钥" + +msgid "Endpoint address" +msgstr "端点地址" + +msgid "Allowed IPs" +msgstr "允许的 IP" + +msgid "Persistent keepalive" +msgstr "持续保持" + +msgid "Enable this option to display an updated wg-quick debug log." +msgstr "启用此选项可显示更新的wg-quick调试日志。" + +msgid "WireGuard debug log updated" +msgstr "更新了 WireGuard 调试日志" + +msgid "Scan this QR code with your client to connect to this tunnel" +msgstr "用客户端扫描此二维码,连接到此隧道" + +msgid "or download the client.conf file to your device." +msgstr "或下载client.conf文件到您的设备。" + +msgid "Download" +msgstr "下载" + +msgid "Start WireGuard" +msgstr "启动 WireGuard" + +msgid "Stop WireGuard" +msgstr "停止 WireGuard" + +msgid "Information provided by wireguard" +msgstr "信息由 wireguard 提供" + +msgid "Attempting to start WireGuard" +msgstr "试图启动 WireGuard" + +msgid "Attempting to stop WireGuard" +msgstr "试图停止 WireGuard" + +msgid "WireGuard configuration updated successfully" +msgstr "成功更新 WireGuard 配置" + +msgid "WireGuard configuration failed to be updated" +msgstr "WireGuard 配置更新失败" + +msgid "Enable kill switch" +msgstr "启用锁定开关" + +msgid "This option adds iptables PostUp and PreDown rules for the configured interface." +msgstr "该选项为配置的接口添加iptables PostUpPreDown规则。" + +msgid "Recommended if you wish to prevent the flow of unencrypted packets through non-WireGuard interfaces." +msgstr "如果希望防止未加密数据包流经非 WireGuard 接口,建议使用此文本。" + +msgid "iptables rules added to WireGuard configuration" +msgstr "在 WireGuard 配置中添加了 iptables 规则" + +msgid "Existing iptables rules found in WireGuard configuration - not added" +msgstr "在 WireGuard 配置中发现的现有 iptables 规则 - 未添加" + +msgid "Currently available WireGuard file configurations are displayed below." +msgstr "当前可用的 WireGuard 文件配置显示如下。" + +msgid "Activating a configuration will restart the wg-quick service." +msgstr "激活配置将重启wg-quick服务。" + +msgid "Client Firewall" +msgstr "客户端防火墙" + +msgid "Firewall is ENABLED" +msgstr "防火墙已启用" + +msgid "Firewall is OFF" +msgstr "防火墙关闭" + +msgid "The default firewall will only allow outgoing and already established traffic." +msgstr "默认防火墙只允许传出和已建立的流量。" + +msgid "No incoming UDP traffic is allowed." +msgstr "不允许输入 UDP 流量。" + +msgid "There are no restrictions for the access point %s." +msgstr "接入点没有限制 %s。" + +msgid "Exception: Service" +msgstr "异常:服务" + +msgid "allow SSH access on port 22" +msgstr "允许 SSH 访问 22 端口" + +msgid "allow access to the RaspAP GUI on port 80 or 443" +msgstr "允许通过 80 或 443 端口访问 RaspAP GUI" + +msgid "Allow incoming connections for some services from the internet side." +msgstr "允许从互联网端传入某些服务的连接。" + +msgid "Exception: network device" +msgstr "异常:网络设备" + +msgid "Exclude device(s)" +msgstr "排除设备" + +msgid "Exclude the given network device(s) (separated by a blank or comma) from firewall rules." +msgstr "从防火墙规则中排除给定的网络设备(用空格或逗号分隔)。" + +msgid "Current client devices: %s" +msgstr "当前客户端设备: %s" + +msgid "The access point %s is per default excluded." +msgstr "接入点 %s默认排除在外。" + +msgid "Exception: IP-Address" +msgstr "异常:IP 地址" + +msgid "Allow incoming connections from" +msgstr "允许来自" + +msgid "For the given IP-addresses (separated by a blank or comma) the incoming connection (via TCP and UDP) is accepted." +msgstr "对于给定的 IP 地址(用空格或逗号分隔),接受传入连接(通过 TCP 和 UDP)。" + +msgid "This is required for an OpenVPN via UDP or Wireguard connection." +msgstr "通过 UDP 或 Wireguard 连接 OpenVPN 时需要使用此文本。" + +msgid "The list of configured VPN server IP addresses: %s" +msgstr "已配置的 VPN 服务器 IP 地址列表: %s" + +msgid "Disable Firewall" +msgstr "禁用防火墙" + +msgid "Enable Firewall" +msgstr "启用防火墙" + +msgid "Changing the firewall status may disrupt or allow incoming traffic. Choose Proceed to continue." +msgstr "更改防火墙状态可能会中断或允许传入流量。选择继续。" + +msgid "Proceed" +msgstr "继续" + +msgid "Apply changes" +msgstr "应用更改" + +msgid "Dynamic DNS" +msgstr "动态 DNS" + +msgid "Service provider" +msgstr "服务提供商" + +msgid "Select a Dynamic DNS service supported by ddclient from the list below. Selecting a known service provider will populate the protocol and server fields. You may also configure the service manually." +msgstr "从以下列表中选择ddclient支持的动态 DNS 服务。选择已知的服务提供商将填充协议服务器字段。您也可以手动配置服务。" + +msgid "Method to obtain IP" +msgstr "获取 IP 的方法" + +msgid "Select the method used by ddclient to obtain an IP address. This value is specified in the -use option." +msgstr "选择ddclient用于获取 IP 地址的方法。该值在-use选项中指定。" + +msgid "Discovery page on the web" +msgstr "网页上的发现页面" + +msgid "Network interface" +msgstr "网络接口" + +msgid "Network address" +msgstr "网络地址" + +msgid "Firewall status page" +msgstr "防火墙状态页面" + +msgid "External command" +msgstr "外部命令" + +msgid "Web address" +msgstr "网址" + +msgid "Firewall" +msgstr "防火墙" + +msgid "Command" +msgstr "指令" + +msgid "Example: 192.168.1.254/status.htm." +msgstr "Example:192.168.1.254/status.htm。" + +msgid "Example: /usr/local/bin/get-ip." +msgstr "示例:/usr/local/bin/get-ip:/usr/local/bin/get-ip。" + +msgid "Domain" +msgstr "域" + +msgid "Enable SSL" +msgstr "启用 SSL" + +msgid "Use an encrypted SSL connection for updates. Not supported by all providers." +msgstr "使用加密 SSL 连接进行更新。并非所有提供商都支持。" + +msgid "Value specified in milliseconds (ms). Default is 300." +msgstr "以毫秒(ms)为单位指定的值。默认值为 300。" + +msgid "Use the Generate log button to output detailed ddclient daemon debug info" +msgstr "使用生成日志按钮输出详细的ddclient 守护进程调试信息" + +msgid "Generate log" +msgstr "生成日志" + +msgid "Information provided by ddclient" +msgstr "由 ddclient 提供的信息" + +msgid "Start Dynamic DNS" +msgstr "启动动态 DNS" + +msgid "Stop Dynamic DNS" +msgstr "停止动态 DNS" + +msgid "Restart Dynamic DNS" +msgstr "重启动态 DNS" + +msgid "Account details" +msgstr "账户详细信息" + +msgid "My account" +msgstr "我的账户" + +msgid "Server location" +msgstr "服务器位置" + +msgid "Choosing Save settings will connect to the selected country." +msgstr "选择保存设置将连接到所选国家。" + +msgid "Choosing Connect %s will connect to a recommended server." +msgstr "选择连接 %s将连接到推荐的服务器。" + +msgid "Select a country from the server location list" +msgstr "从服务器位置列表中选择一个国家" + +msgid "Select a country..." +msgstr "选择国家..." + +msgid "Account information not available from %s's Linux CLI." +msgstr "%s的 Linux CLI 无法提供账户信息。" + +msgid "Attempting to connect to %s" +msgstr "尝试连接 %s" + +msgid "Attempting to connect VPN provider" +msgstr "尝试连接 VPN 提供商" + +msgid "Attempting to disconnect VPN provider" +msgstr "试图断开 VPN 提供商连接" + +msgid "Expected %s binary not found at: %s" +msgstr "未找到预期的 %s 二进制文件: %s" + +msgid "Visit the installation instructions for %s's Linux CLI." +msgstr "请访问 %s的 Linux CLI安装说明。" + +msgid "Unable to execute %s binary found at: %s" +msgstr "无法执行 %s 二进制文件: %s" + +msgid "Check that binary is executable and permissions exist in raspap.sudoers" +msgstr "检查二进制文件是否可执行,权限是否存在于 raspap.sudoers 中。" + +msgid "Installed Linux CLI: %s" +msgstr "已安装 Linux CLI: %s" + +msgid "Current %s connection status is displayed below." +msgstr "当前 %s连接状态显示在下方。" + +msgid "Information provided by %s" +msgstr "信息由 %s提供" + +msgid "Connect %s" +msgstr "连接 %s" + +msgid "Disconnect %s" +msgstr "断开 %s" + +msgid "About" +msgstr "关于" + +msgid "Insiders" +msgstr "内部人员" + +msgid "Contributing" +msgstr "贡献" + +msgid "Check for update" +msgstr "检查更新" + +msgid "New release check in progress..." +msgstr "新版本检查中..." + +msgid "A new release is available: Version" +msgstr "新版本发布:版本" + +msgid "Installed version is the latest release." +msgstr "安装版本为最新版本。" + +msgid "GitHub authentication" +msgstr "GitHub 认证" + +msgid "Updating Insiders requires GitHub authentication." +msgstr "更新 Insiders 需要 GitHub 认证。" + +msgid "Your credentials will be sent to GitHub securely with SSL. However, use caution if your RaspAP install is on a WLAN shared by untrusted users." +msgstr "您的证书将通过 SSL 安全发送到 GitHub。但是,如果您的 RaspAP 安装在由不信任用户共享的 WLAN 上,请谨慎操作。" + +msgid "Personal Access Token" +msgstr "个人访问令牌" + +msgid "Please provide a valid token." +msgstr "请提供有效令牌。" + +msgid "Perform update" +msgstr "执行更新" + +msgid "Update in progress" +msgstr "更新中" + +msgid "Application is being updated..." +msgstr "应用程序正在更新..." + +msgid "Configuring update" +msgstr "配置更新" + +msgid "Updating sources" +msgstr "更新来源" + +msgid "Installing package updates" +msgstr "安装软件包更新" + +msgid "Downloading latest files" +msgstr "下载最新文件" + +msgid "Installing application" +msgstr "安装应用程序" + +msgid "Update complete" +msgstr "更新完成" + +msgid "An error occurred. Check the log at /tmp/raspap_install.log" +msgstr "发生错误。检查/tmp/raspap_install.log中的日志" + +msgid "RaspAP is a co-creation of %1$s and %2$s with the contributions of our %3$s and %4$s. Learn more about joining the project as a %5$s, %6$s or %7$s with immediate access to %8$s available to %9$s." +msgstr "RaspAP 由 %1$s 和 %2$s 共同创建,并得到了 %3$s 和 %4$s的贡献。欲了解更多有关加入该项目的信息,请访问 %5$s, %6$s 或 %7$s ,可立即访问 %8$s , %9$s。" + +msgid "developer community" +msgstr "开发者社区" + +msgid "language translators" +msgstr "语言翻译" + +msgid "code contributor" +msgstr "代码贡献者" + +msgid "translator" +msgstr "译者" + +msgid "financial sponsor" +msgstr "财务赞助商" + +msgid "exclusive features" +msgstr "专属功能" + +msgid "RaspAP Exception" +msgstr "RaspAP 异常" + +msgid "An exception occurred" +msgstr "出现异常" + +msgid "RestAPI" +msgstr "RestAPI" + +msgid "RestAPI settings" +msgstr "RestAPI 设置" + +msgid "Start RestAPI service" +msgstr "启动 RestAPI 服务" + +msgid "Stop RestAPI service" +msgstr "停止 RestAPI 服务" + +msgid "API Key" +msgstr "API 密钥" + +msgid "Saving API key" +msgstr "保存 API 密钥" + +msgid "RestAPI status" +msgstr "RestAPI 状态" + +msgid "Current restapi.service status is displayed below." +msgstr "当前restapi.service状态显示如下。" + +msgid "RestAPI docs are accessible here%s" +msgstr "可在此处 访问 RestAPI 文档%s" + +msgid "Restarting restapi.service" +msgstr "重启 restapi.service" + +msgid "Information provided by restapi.service" +msgstr "由 restapi.service 提供的信息" + +msgid "Session Expired" +msgstr "会话已过期" + +msgid "Your session has expired. Please login to continue." +msgstr "您的会话已过期。请登录以继续。" + +msgid "Login" +msgstr "登录" + +msgid "Administrator login" +msgstr "管理员登录" + +msgid "Forgot password" +msgstr "忘记密码" + +msgid "Login failed" +msgstr "登录失败" + +msgid "NTP Server" +msgstr "NTP 服务器" + +msgid "NTP Server settings" +msgstr "NTP 服务器设置" + +msgid "NTP daemon" +msgstr "NTP 守护进程" + +msgid "Synchronized time" +msgstr "同步时间" + +msgid "NTP servers" +msgstr "NTP 服务器" + +msgid "Add an NTP server" +msgstr "添加 NTP 服务器" + +msgid "Start NTP service" +msgstr "启动 NTP 服务" + +msgid "Stop NTP service" +msgstr "停止 NTP 服务" + +msgid "Edit mode" +msgstr "编辑模式" + +msgid "Use the Edit mode toggle to manually edit the current ntp.config configuration." +msgstr "使用编辑模式切换键手动编辑当前的ntp.config 配置。" + +msgid "Specify a public NTP server or a private one on your local network. IPv4 and IPv6 address, or a fully qualified domain name (FQDN) are acceptable values." +msgstr "指定公共 NTP 服务器或本地网络中的私有 NTP 服务器。IPv4 和 IPv6 地址或完全合格域名 (FQDN) 均可接受。" + +msgid "Public NTP servers supporting Network Time Security (NTS) may be specified with the nts suffix." +msgstr "可使用后缀nts指定支持网络时间安全(NTS)的公共 NTP 服务器。" + +msgid "Examples of valid server entries include %s, %s and %s." +msgstr "有效服务器条目示例包括 %s, %s%s。" + +msgid "Current ntpq peer status is displayed below. An asterisk (*) indicates the preferred server." +msgstr "当前ntpq 对等状态显示如下。星号(*)表示首选服务器。" + +msgid "NTP configuration cannot be empty" +msgstr "NTP 配置不能为空" + +msgid "Restarting ntpd.service" +msgstr "重启 ntpd.service" + +msgid "Please enter a valid NTP server" +msgstr "请输入有效的 NTP 服务器" + +msgid "Attempting to start ntp.service" +msgstr "试图启动 ntp.service" + +msgid "Attempting to stop ntp.service" +msgstr "试图停止 ntp.service" + +msgid "NTP configuration not found at %s" +msgstr "未在 %s找到 NTP 配置" + +msgid "NTP configuration updated" +msgstr "更新了 NTP 配置" + +msgid "Advertising device as a Tailscale exit node" +msgstr "将设备宣传为 Tailscale 退出节点" + +msgid "Attempting to optimize UDP throughput" +msgstr "尝试优化 UDP 吞吐量" + +msgid "Kernel transport layer offloads enabled for UDP" +msgstr "为 UDP 启用了内核传输层卸载" + +msgid "Failed to enable kernel transport layer offloads for UDP" +msgstr "启用 UDP 内核传输层卸载失败" + +msgid "Attempting to set tailscale up" +msgstr "尝试设置尾标" + +msgid "Attempting to set tailscale down" +msgstr "尝试向下设置尾标" + +msgid "Attempting to disconnect from tailscale" +msgstr "试图断开与 tailscale 的连接" + +msgid "Disconnected from tailscale and expired node key" +msgstr "与 tailscale 断开连接,节点密钥过期" + +msgid "Unable to disconnect from tailscale" +msgstr "无法断开与 tailscale 的连接" + +msgid "Expected tailscale binary not found at: %" +msgstr "未找到预期的尾标二进制文件:%" + +msgid "A Tailscale VPN exit node extension for RaspAP" +msgstr "RaspAP 的 Tailscale VPN 出口节点扩展" + +msgid "Unable to retrieve Tailscale login. Choose %s to continue." +msgstr "无法检索 Tailscale 登录。选择 %s继续。" + +msgid "Start Tailscale" +msgstr "开始尾标" + +msgid "Stop Tailscale" +msgstr "停止尾标" + +msgid "Next" +msgstr "下一页" + +msgid "Device approved and activated as a Tailscale exit node" +msgstr "设备被批准并激活为 Tailscale 出口节点" + +msgid "Not connected: Login required." +msgstr "未连接:需要登录。" + +msgid "Tailscale VPN" +msgstr "尾标 VPN" + +msgid "Exit node activated" +msgstr "已激活退出节点" + +msgid "The device %s is connected with the address %s and offers an exit node." +msgstr "设备 %s与地址 %s并提供退出节点。" + +msgid "See the %s on how to use this exit node with your devices." +msgstr "有关如何在设备中使用此退出节点,请参阅 %s。" + +msgid "Allow exit node" +msgstr "允许退出节点" + +msgid "The device %s is pending approval as an exit node." +msgstr "设备 %s正等待批准成为退出节点。" + +msgid "Locate the %s Exit Node badge in the machines list." +msgstr "在机器列表中找到 %s退出节点徽章。" + +msgid "Open Tailscale Machines" +msgstr "开放式尾规模机器" + +msgid "To allow this device as an exit node, choose Open Tailscale Machines." +msgstr "要允许此设备作为退出节点,请选择 \"打开尾标机\"。" + +msgid "From the %s icon menu of the exit node, open the %s panel." +msgstr "从退出节点的 %s 图标菜单中,打开 %s 面板。" + +msgid "Edit route settings" +msgstr "编辑路由设置" + +msgid "Login to Tailscale" +msgstr "登录 Tailscale" + +msgid "To connect device %s to your tailnet, choose %s." +msgstr "要将设备 %s 连接到尾网,请选择 %s。" + +msgid "After logging in, choose Next to continue." +msgstr "登录后,选择 \"下一步\"继续。" + +msgid "Configure exit node" +msgstr "配置退出节点" + +msgid "The device %s is connected to your tailnet with the address %s." +msgstr "设备 %s连接到您的尾网,地址为 %s。" + +msgid "By default, Tailscale only routes traffic between the devices on which it's been installed. You can also route all your public internet traffic by configuring a device on your network as a exit node" +msgstr "默认情况下,Tailscale 只路由安装了它的设备之间的流量。你也可以将网络上的设备配置为出口节点,从而路由所有公共互联网流量。" + +msgid "When you route all traffic through an exit node, you're effectively using default routes (0.0.0.0/0, ::/0), similar to how you would if you were using a typical VPN." +msgstr "当你通过出口节点路由所有流量时,你实际上是在使用默认路由(0.0.0.0/0、::/0),类似于使用典型的 VPN。" + +msgid "You have the option of configuring this device as an exit node, or using another exit node in your tailnet." +msgstr "您可以选择将此设备配置为出口节点,或使用尾网中的其他出口节点。" + +msgid "Select an existing exit node on your tailnet" +msgstr "选择尾网上现有的退出节点" + +msgid "This is a typical configuration if you're using this device as a VPN travel router, for example." +msgstr "如果将此设备用作 VPN 旅行路由器,这是一种典型的配置。" + +msgid "Configure this device as a new exit node" +msgstr "将此设备配置为新的退出节点" + +msgid "By configuring this device as an exit node, public internet traffic from devices connected in your tailnet will be routed through it." +msgstr "将此设备配置为出口节点后,来自尾网中连接的设备的公共互联网流量将通过它路由。" + +msgid "For security reasons, you must opt in to enable exit node functionality. The first step is to advertise %s as an exit node in your tailnet. In the next step, you'll allow this device to be an exit node." +msgstr "出于安全考虑,您必须选择启用退出节点功能。第一步是将 %s作为尾网的出口节点。下一步,您将允许此设备成为出口节点。" + +msgid "Advertise %s as an exit node" +msgstr "广告 %s作为退出节点" + +msgid "This effectively configures Tailscale as a VPN to mask your real location, access region-restricted content, or enhance privacy when connecting from untrusted networks." +msgstr "这可有效地将 Tailscale 配置为 VPN,以掩盖你的真实位置、访问受地区限制的内容,或在从不受信任的网络连接时加强隐私保护。" + +msgid "This option lets Tailscale know your device is ready to route traffic." +msgstr "该选项可让 Tailscale 知道你的设备已准备好路由流量。" + +msgid "Recommended for Tailscale exit nodes with Linux 6.2 or later kernels, this uses UDP generic receive offload (GRO) forwarding to reduce CPU overhead." +msgstr "建议使用 Linux 6.2 或更高版本内核的 Tailscale 退出节点采用 UDP 通用接收卸载(GRO)转发,以减少 CPU 开销。" + +msgid "This option enables transport layer offloads for better performance." +msgstr "该选项可启用传输层卸载,以提高性能。" + +msgid "Select an exit node" +msgstr "选择退出节点" + +msgid "To use %s as a VPN gateway, configure Tailscale to use an exit node. Tailscale's suggested node is indicated with a star." +msgstr "要将 %s作为 VPN 网关,请将 Tailscale 配置为使用出口节点。Tailscale 建议的节点用星号表示。" + +msgid "Advertise a subnet route for the active %s AP interface" +msgstr "为活动的 %sAP 接口的子网路由" + +msgid "Subnet routes let you extend your Tailscale network (known as a tailnet) to include devices that don't or can't run the Tailscale client." +msgstr "子网路由可让你扩展你的 Tailscale 网络(称为 tailnet),以包括不运行或不能运行 Tailscale 客户端的设备。" + +msgid "A subnet route acts as a gateway between your tailnet and a physical subnet. The subnet of the active AP interface is preconfigured below; edit if necessary." +msgstr "子网路由是尾网与物理子网之间的网关。活动 AP 接口的子网预配置如下;如有必要,可进行编辑。" + +msgid "Route LAN traffic through the exit node." +msgstr "通过出口节点路由 LAN 流量。" + +msgid "This will direct all LAN traffic to go through your exit node only." +msgstr "这将引导所有局域网流量只通过你的出口节点。" + +msgid "Choose Next to configure %s to use the selected exit node with these options." +msgstr "选择 \"下一步 \"配置 %s以使用所选的退出节点和这些选项。" + +msgid "No exit nodes found on your tailnet. Choose Back to continue." +msgstr "在您的尾网上未找到退出节点。选择 \"返回 \"继续。" + +msgid "Using exit node" +msgstr "使用退出节点" + +msgid "The device %s is configured to use exit node %s. It has the Tailscale MagicDNS address %s." +msgstr "设备 %s配置为使用退出节点 %s.它具有 Tailscale MagicDNS 地址 %s。" + +msgid "Choose Save settings to continue." +msgstr "选择 \"保存设置 \"继续。" + +msgid "Choose Next to continue." +msgstr "选择 \"下一步\"继续。" + +msgid "Tailnet status" +msgstr "尾网状态" + +msgid "Current tailnet status is displayed below." +msgstr "当前尾网状态显示如下。" + +msgid "Use Tailscale DNS settings (default)." +msgstr "使用 Tailscale DNS 设置(默认)。" + +msgid "Uncheck to use local DNS. This sets --accept-dns=false." +msgstr "取消选中以使用本地 DNS。这将设置--accept-dns=false。" + +msgid "Do not use Tailscale subnets (default on Linux)." +msgstr "不使用 Tailscale 子网(Linux 默认)。" + +msgid "If subnet routes exist for your tailnet, you can route your device's traffic to a subnet router. Enabling this sets --accept-routes=true." +msgstr "如果尾网存在子网路由,则可以将设备流量路由至子网路由器。启用此功能可设置--accept-routes=true。" + +msgid "If keys expire for a device, connections to/from the given endpoint will stop working." +msgstr "如果设备的密钥过期,与给定端点之间的连接将停止工作。" + +msgid "This option uses --force-reauth to renew the keys for this device." +msgstr "该选项使用--force-reauth来更新该设备的密钥。" + +msgid "Start capture" +msgstr "开始捕获" + +msgid "Stop capture" +msgstr "停止捕获" + +msgid "Capture files" +msgstr "捕获文件" + +msgid "Capture interface" +msgstr "捕获界面" + +msgid "Output file" +msgstr "输出文件" + +msgid "Path where capture file will be saved (.pcap format)" +msgstr "保存捕获文件的路径(.pcap 格式)" + +msgid "File will be saved with .pcap extension" +msgstr "文件将以 .pcap 扩展名保存" + +msgid "Capture filter (BPF syntax)" +msgstr "捕获过滤器(BPF 语法)" + +msgid "Berkeley Packet Filter syntax. Leave empty to capture all traffic." +msgstr "伯克利包过滤语法。留空表示捕获所有流量。" + +msgid "Examples: port 80, host 192.168.1.1, tcp and not port 22" +msgstr "示例:端口 80主机 192.168.1.1tcp,而非端口 22" + +msgid "Capture limits" +msgstr "捕获限制" + +msgid "Packet count limit" +msgstr "数据包数量限制" + +msgid "Stop capture after this many packets. Leave empty for unlimited." +msgstr "捕获这么多数据包后停止捕获。留空表示无限制。" + +msgid "Duration limit (seconds)" +msgstr "持续时间限制(秒)" + +msgid "Stop capture after this many seconds. Leave empty for unlimited." +msgstr "几秒后停止捕捉。留空表示无限制。" + +msgid "Ring buffer settings" +msgstr "环形缓冲区设置" + +msgid "File size (KB)" +msgstr "文件大小(KB)" + +msgid "Create new file when this size is reached. Leave empty to disable." +msgstr "达到此大小时创建新文件。留空表示禁用。" + +msgid "10000 = 10 MB per file" +msgstr "10000 = 每个文件 10 MB" + +msgid "Number of files" +msgstr "文件数量" + +msgid "Maximum number of ring buffer files to keep. Oldest files are deleted." +msgstr "保留的最大环形缓冲区文件数。最旧的文件将被删除。" + +msgid "Advanced options" +msgstr "高级选项" + +msgid "Snapshot length (bytes)" +msgstr "快照长度(字节)" + +msgid "Limit the amount of data captured per packet. Leave empty for full packets." +msgstr "限制每个数据包捕获的数据量。数据包满时留空。" + +msgid "96 bytes captures headers only, reduces file size" +msgstr "96 字节,仅捕获标题,减小文件大小" + +msgid "Promiscuous mode" +msgstr "杂交模式" + +msgid "Capture all packets on the network segment, not just those destined for this interface" +msgstr "捕获网段上的所有数据包,而不仅仅是以该接口为目的地的数据包" + +msgid "Quick filter presets" +msgstr "快速滤镜预设" + +msgid "Capture files generated by tshark are displayed below." +msgstr "由tshark生成的捕获文件显示如下。" + +msgid "No capture files found in /tmp directory" +msgstr "在 /tmp 目录中未发现捕获文件" + +msgid "Filename" +msgstr "文件名" + +msgid "Size" +msgstr "大小" + +msgid "Modified" +msgstr "已修改" + +msgid "Actions" +msgstr "行动" + +msgid "Download file" +msgstr "下载文件" + +msgid "Delete file" +msgstr "删除文件" + +msgid "Confirm deletion" +msgstr "确认删除" + +msgid "Are you sure you want to delete this file?" +msgstr "您确定要删除此文件吗?" + +msgid "All Traffic" +msgstr "所有流量" + +msgid "HTTP/HTTPS" +msgstr "HTTP/HTTPS" + +msgid "ICMP (Ping)" +msgstr "ICMP(Ping)" + +msgid "SSH" +msgstr "SSH" + +msgid "Exclude SSH" +msgstr "排除 SSH" + +msgid "A Wireshark (TShark) CLI packet capture for RaspAP" +msgstr "RaspAP 的 Wireshark (TShark) CLI 数据包捕获" + +msgid "Information provided by tshark" +msgstr "信息由 tshark 提供" + +msgid "Total: %d file(s), %s" +msgstr "共计: %d 文件, %s" + +msgid "Captive portal" +msgstr "自带门户" + +msgid "Gateway interface" +msgstr "网关接口" + +msgid "Gateway name" +msgstr "网关名称" + +msgid "Gateway address" +msgstr "网关地址" + +msgid "Gateway port" +msgstr "网关端口" + +msgid "Defaults to the active AP interface, typically wlan0" +msgstr "默认为活动 AP 接口,通常为wlan0" + +msgid "Auto-detected from gateway interface if not specified" +msgstr "如果未指定,则从网关接口自动检测" + +msgid "Start portal" +msgstr "起始门户" + +msgid "Stop portal" +msgstr "停止门户" + +msgid "Information provided by nodogsplash" +msgstr "信息由 nodogsplash 提供" + +msgid "Stop portal service" +msgstr "停止门户服务" + +msgid "Start portal service" +msgstr "启动门户服务" + +msgid "Changing the portal service will momentarily disrupt client traffic. Choose Proceed to continue." +msgstr "更改门户服务会暂时中断客户端流量。选择 \"继续\"继续。" + +msgid "Interface to be managed by the portal" +msgstr "由门户管理的接口" + +msgid "Name of your gateway (available as \\$gatewayname variable)" +msgstr "网关名称(可作为$gatewayname 变量使用)" + +msgid "IP address of the router. Leave empty for auto-detection" +msgstr "路由器的 IP 地址。留空用于自动检测" + +msgid "Port for Nodogsplash HTTP server" +msgstr "Nodogsplash HTTP 服务器端口" + +msgid "Maximum clients" +msgstr "最大客户数" + +msgid "Session timeout (minutes)" +msgstr "会话超时(分钟)" + +msgid "Pre-auth idle timeout (minutes)" +msgstr "验证前空闲超时(分钟)" + +msgid "Does not include users on the trusted MAC list" +msgstr "不包括受信任 MAC 列表中的用户" + +msgid "Auth idle timeout (minutes)" +msgstr "认证空闲超时(分钟)" + +msgid "Check interval (seconds)" +msgstr "检查间隔(秒)" + +msgid "MAC address control" +msgstr "MAC 地址控制" + +msgid "MAC mechanism" +msgstr "MAC 机制" + +msgid "Blocked MAC list" +msgstr "被阻止的 MAC 列表" + +msgid "Trusted MAC list" +msgstr "可信 MAC 列表" + +msgid "These devices are not subject to authentication or firewall rules" +msgstr "这些设备不受身份验证或防火墙规则的限制" + +msgid "Maximum number of concurrent authenticated users" +msgstr "最大并发认证用户数" + +msgid "Default session length in minutes. 0 = unlimited" +msgstr "默认会话长度(分钟)。0 = 无限制" + +msgid "Time before unauthenticated idle users are removed" +msgstr "删除未认证闲置用户前的时间" + +msgid "Time before authenticated idle users are deauthenticated" +msgstr "已通过身份验证的空闲用户解除身份验证前的时间" + +msgid "How often to check client timeouts" +msgstr "检查客户端超时的频率" + +msgid "Block: blocklisted MACs are blocked. Allow: only allowlisted MACs are allowed" +msgstr "阻止:阻止列表中的 MAC。允许:只允许允许列表中的 MAC" + +msgid "Example: 00:11:22:33:44:55,AA:BB:CC:DD:EE:FF" +msgstr "示例:00:11:22:33:44:55,AA:BB:CC:DD:EE:FF" + +msgid "Comma-separated MAC addresses that bypass authentication entirely" +msgstr "完全绕过验证的逗号分隔 MAC 地址" + +msgid "Block (blocklist mode)" +msgstr "块(块列表模式)" + +msgid "Allow (allowlist mode)" +msgstr "允许(允许列表模式)" + +msgid "Gateway IP range" +msgstr "网关 IP 范围" + +msgid "Default: 0.0.0.0/0 (all addresses)" +msgstr "默认值:0.0.0.0/0(所有地址)" + +msgid "Debug level" +msgstr "调试级别" + +msgid "Firewall settings" +msgstr "防火墙设置" + +msgid "Allow all traffic for authenticated users" +msgstr "允许已验证用户的所有流量" + +msgid "Allow DNS for pre-authenticated users" +msgstr "允许预认证用户使用 DNS" + +msgid "IP range to manage in CIDR notation. Leave empty for all addresses" +msgstr "使用 CIDR 符号管理的 IP 范围。所有地址留空" + +msgid "Amount of logging detail reported by the nodogsplash.service" +msgstr "nodogsplash.service 报告的日志详情数量" + +msgid "0 - Errors only" +msgstr "0 - 仅有错误" + +msgid "1 - Errors, warnings, infos" +msgstr "1 - 错误、警告、信息" + +msgid "2 - Errors, warnings, infos, verbose" +msgstr "2 - 错误、警告、信息、详细说明" + +msgid "3 - Errors, warnings, infos, verbose, debug" +msgstr "3 - 错误、警告、信息、冗长、调试" + +msgid "When enabled, authenticated users have unrestricted access" +msgstr "启用后,通过身份验证的用户可以不受限制地访问" + +msgid "Required for clients to resolve domain names before authentication" +msgstr "要求客户端在验证前解析域名" + +msgid "Portal status" +msgstr "门户状态" + +msgid "Current nodogsplash status is displayed below." +msgstr "当前状态显示如下。" +