From 9e73c82eb3281743231b302b96d53a7c22bf5b3d Mon Sep 17 00:00:00 2001 From: bigbug Date: Wed, 28 Aug 2024 17:30:49 +0800 Subject: [PATCH] Fix Language Code for CN (#2501) --- README.es_ES.md | 2 +- README.md | 2 +- README.ru_RU.md | 2 +- README.zh_CN.md | 478 ++++++++++++++++++++ web/assets/js/langs.js | 4 +- web/translation/translate.zh_CN.toml | 644 +++++++++++++++++++++++++++ 6 files changed, 1127 insertions(+), 5 deletions(-) create mode 100644 README.zh_CN.md create mode 100644 web/translation/translate.zh_CN.toml diff --git a/README.es_ES.md b/README.es_ES.md index 339d872b..80045a3a 100644 --- a/README.es_ES.md +++ b/README.es_ES.md @@ -1,4 +1,4 @@ -[English](/README.md) | [汉语](/README.zh_Hans.md) | [Español](/README.es_ES.md) | [Русский](/README.ru_RU.md) +[English](/README.md) | [中文](/README.zh_CN.md) | [Español](/README.es_ES.md) | [Русский](/README.ru_RU.md)

Image

diff --git a/README.md b/README.md index 6d6a19c8..358402bc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[English](/README.md) | [汉语](/README.zh_Hans.md) | [Español](/README.es_ES.md) | [Русский](/README.ru_RU.md) +[English](/README.md) | [中文](/README.zh_CN.md) | [Español](/README.es_ES.md) | [Русский](/README.ru_RU.md)

Image

diff --git a/README.ru_RU.md b/README.ru_RU.md index 60c4a2a9..2b3b80e0 100644 --- a/README.ru_RU.md +++ b/README.ru_RU.md @@ -1,4 +1,4 @@ -[English](/README.md) | [汉语](/README.zh_Hans.md) | [Español](/README.es_ES.md) | [Русский](/README.ru_RU.md) +[English](/README.md) | [中文](/README.zh_CN.md) | [Español](/README.es_ES.md) | [Русский](/README.ru_RU.md)

Image

diff --git a/README.zh_CN.md b/README.zh_CN.md new file mode 100644 index 00000000..3204106a --- /dev/null +++ b/README.zh_CN.md @@ -0,0 +1,478 @@ +[English](/README.md) | [中文](/README.zh_CN.md) | [Español](/README.es_ES.md) | [Русский](/README.ru_RU.md) + +

Image

+ +**一个更好的面板 • 基于Xray Core构建** + +[![](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg)](https://github.com/MHSanaei/3x-ui/releases) +[![](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg)](#) +[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg)](#) +[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg)](#) +[![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0.en.html) + +> **Disclaimer:** 此项目仅供个人学习交流,请不要用于非法目的,请不要在生产环境中使用。 + +**如果此项目对你有用,请给一个**:star2: + +

+ + Image + +

+ +- USDT (TRC20): `TXncxkvhkDWGts487Pjqq1qT9JmwRUz8CC` +- MATIC (polygon): `0x41C9548675D044c6Bfb425786C765bc37427256A` +- LTC (Litecoin): `ltc1q2ach7x6d2zq0n4l0t4zl7d7xe2s6fs7a3vspwv` + +## 安装 & 升级 + +``` +bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) +``` + +## 安装指定版本 + +要安装所需的版本,请将该版本添加到安装命令的末尾。 e.g., ver `v2.3.13`: + +``` +bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) v2.3.13 +``` + +## SSL 认证 + +
+ 点击查看 SSL 认证 + +### Cloudflare + +管理脚本具有用于 Cloudflare 的内置 SSL 证书应用程序。若要使用此脚本申请证书,需要满足以下条件: + +- Cloudflare 邮箱地址 +- Cloudflare Global API Key +- 域名已通过 cloudflare 解析到当前服务器 + +**1:** 在终端中运行`x-ui`, 选择 `Cloudflare SSL Certificate`. + + +### Certbot +``` +apt-get install certbot -y +certbot certonly --standalone --agree-tos --register-unsafely-without-email -d yourdomain.com +certbot renew --dry-run +``` + +***Tip:*** *管理脚本具有 Certbot 。使用 `x-ui` 命令, 选择 `SSL Certificate Management`.* + +
+ +## 手动安装 & 升级 + +
+ 点击查看 手动安装 & 升级 + +#### 使用 + +1. 若要将最新版本的压缩包直接下载到服务器,请运行以下命令: + +```sh +ARCH=$(uname -m) +case "${ARCH}" in + x86_64 | x64 | amd64) XUI_ARCH="amd64" ;; + i*86 | x86) XUI_ARCH="386" ;; + armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;; + armv7* | armv7) XUI_ARCH="armv7" ;; + armv6* | armv6) XUI_ARCH="armv6" ;; + armv5* | armv5) XUI_ARCH="armv5" ;; + *) XUI_ARCH="amd64" ;; +esac + + +wget https://github.com/MHSanaei/3x-ui/releases/latest/download/x-ui-linux-${XUI_ARCH}.tar.gz +``` + +2. 下载压缩包后,执行以下命令安装或升级 x-ui: + +```sh +ARCH=$(uname -m) +case "${ARCH}" in + x86_64 | x64 | amd64) XUI_ARCH="amd64" ;; + i*86 | x86) XUI_ARCH="386" ;; + armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;; + armv7* | armv7) XUI_ARCH="armv7" ;; + armv6* | armv6) XUI_ARCH="armv6" ;; + armv5* | armv5) XUI_ARCH="armv5" ;; + *) XUI_ARCH="amd64" ;; +esac + +cd /root/ +rm -rf x-ui/ /usr/local/x-ui/ /usr/bin/x-ui +tar zxvf x-ui-linux-${XUI_ARCH}.tar.gz +chmod +x x-ui/x-ui x-ui/bin/xray-linux-* x-ui/x-ui.sh +cp x-ui/x-ui.sh /usr/bin/x-ui +cp -f x-ui/x-ui.service /etc/systemd/system/ +mv x-ui/ /usr/local/ +systemctl daemon-reload +systemctl enable x-ui +systemctl restart x-ui +``` + +
+ +## 通过Docker安装 + +
+ 点击查看 通过Docker安装 + +#### 使用 + +1. 安装Docker: + + ```sh + bash <(curl -sSL https://get.docker.com) + ``` + +2. 克隆仓库: + + ```sh + git clone https://github.com/MHSanaei/3x-ui.git + cd 3x-ui + ``` + +3. 运行服务: + + ```sh + docker compose up -d + ``` + + 或 + + ```sh + docker run -itd \ + -e XRAY_VMESS_AEAD_FORCED=false \ + -v $PWD/db/:/etc/x-ui/ \ + -v $PWD/cert/:/root/cert/ \ + --network=host \ + --restart=unless-stopped \ + --name 3x-ui \ + ghcr.io/mhsanaei/3x-ui:latest + ``` + +更新至最新版本 + + ```sh + cd 3x-ui + docker compose down + docker compose pull 3x-ui + docker compose up -d + ``` + +从Docker中删除3x-ui + + ```sh + docker stop 3x-ui + docker rm 3x-ui + cd -- + rm -r 3x-ui + ``` + +
+ + +## 建议使用的操作系统 + +- Ubuntu 20.04+ +- Debian 11+ +- CentOS 8+ +- Fedora 36+ +- Arch Linux +- Manjaro +- Armbian +- AlmaLinux 9+ +- Rockylinux 9+ +- OpenSUSE Tubleweed + +## 支持的架构和设备 +
+ 点击查看 支持的架构和设备 + +我们的平台提供与各种架构和设备的兼容性,确保在各种计算环境中的灵活性。以下是我们支持的关键架构: + +- **amd64**: 这种流行的架构是个人计算机和服务器的标准,可以无缝地适应大多数现代操作系统。 + +- **x86 / i386**: 这种架构在台式机和笔记本电脑中被广泛采用,得到了众多操作系统和应用程序的广泛支持,包括但不限于 Windows、macOS 和 Linux 系统。 + +- **armv8 / arm64 / aarch64**: 这种架构专为智能手机和平板电脑等当代移动和嵌入式设备量身定制,以 Raspberry Pi 4、Raspberry Pi 3、Raspberry Pi Zero 2/Zero 2 W、Orange Pi 3 LTS 等设备为例。 + +- **armv7 / arm / arm32**: 作为较旧的移动和嵌入式设备的架构,它仍然广泛用于Orange Pi Zero LTS、Orange Pi PC Plus、Raspberry Pi 2等设备。 + +- **armv6 / arm / arm32**: 这种架构面向非常老旧的嵌入式设备,虽然不太普遍,但仍在使用中。Raspberry Pi 1、Raspberry Pi Zero/Zero W 等设备都依赖于这种架构。 + +- **armv5 / arm / arm32**: 它是一种主要与早期嵌入式系统相关的旧架构,目前不太常见,但仍可能出现在早期 Raspberry Pi 版本和一些旧智能手机等传统设备中。 +
+ +## Languages + +- English(英语) +- Farsi(伊朗语) +- Chinese(中文) +- Russian(俄语) +- Vietnamese(越南语) +- Spanish(西班牙语) +- Indonesian (印度尼西亚语) +- Ukrainian(乌克兰语) + + +## Features + +- 系统状态监控 +- 在所有入站和客户端中搜索 +- 深色/浅色主题 +- 支持多用户和多协议 +- 支持多种协议,包括 VMess、VLESS、Trojan、Shadowsocks、Dokodemo-door、Socks、HTTP、wireguard +- 支持 XTLS 原生协议,包括 RPRX-Direct、Vision、REALITY +- 流量统计、流量限制、过期时间限制 +- 可自定义的 Xray配置模板 +- 支持HTTPS访问面板(自建域名+SSL证书) +- 支持一键式SSL证书申请和自动续费 +- 更多高级配置项目请参考面板 +- 修复了 API 路由(用户设置将使用 API 创建) +- 支持通过面板中提供的不同项目更改配置。 +- 支持从面板导出/导入数据库 + + +## 默认设置 + +
+ 点击查看 默认设置 + + ### 信息 + +- **端口:** 2053 +- **用户名 & 密码:** 当您跳过设置时,此项会随机生成。 +- **数据库路径:** + - /etc/x-ui/x-ui.db +- **Xray 配置路径:** + - /usr/local/x-ui/bin/config.json +- **面板链接(无SSL):** + - http://ip:2053/panel + - http://domain:2053/panel +- **面板链接(有SSL):** + - https://domain:2053/panel + +
+ +## WARP 配置 + +
+ 点击查看 WARP 配置 + +#### 使用 + +如果要在 v2.1.0 之前使用 WARP 路由,请按照以下步骤操作: + +**1.** 在 **SOCKS Proxy Mode** 模式中安装Wrap + + ```sh + bash <(curl -sSL https://raw.githubusercontent.com/hamid-gh98/x-ui-scripts/main/install_warp_proxy.sh) + ``` + +**2.** 如果您已经安装了 warp,您可以使用以下命令卸载: + + ```sh + warp u + ``` + +**3.** 在面板中打开您需要的配置 + + 配置: + + - Block Ads + - Route Google + Netflix + Spotify + OpenAI (ChatGPT) to WARP + - Fix Google 403 error + +
+ +## IP 限制 + +
+ 点击查看 IP 限制 + +#### 使用 + +**注意:** 使用 IP 隧道时,IP 限制无法正常工作。 + +- 适用于最高 `v1.6.1` : + + - IP 限制 已被集成在面板中。 + +- 适用于 `v1.7.0` 以及更新的版本: + + - 要使 IP 限制正常工作,您需要按照以下步骤安装 fail2ban 及其所需的文件: + + 1. 使用面板内置的 `x-ui` 指令 + 2. 选择 `IP Limit Management`. + 3. 根据您的需要选择合适的选项。 + + - 确保您的 Xray 配置上有 ./access.log 。在 v2.1.3 之后,我们有一个选项。 + + ```sh + "log": { + "access": "./access.log", + "dnsLog": false, + "loglevel": "warning" + }, + ``` + +
+ +## Telegram 机器人 + +
+ 点击查看 Telegram 机器人 + +#### 使用 + +Web 面板通过 Telegram Bot 支持每日流量、面板登录、数据库备份、系统状态、客户端信息等通知和功能。要使用机器人,您需要在面板中设置机器人相关参数,包括: + +- 电报令牌 +- 管理员聊天 ID +- 通知时间(cron 语法) +- 到期日期通知 +- 流量上限通知 +- 数据库备份 +- CPU 负载通知 + + +**参考:** + +- `30 \* \* \* \* \*` - 在每个点的 30 秒处通知 +- `0 \*/10 \* \* \* \*` - 每 10 分钟的第一秒通知 +- `@hourly` - 每小时通知 +- `@daily` - 每天通知 (00:00) +- `@weekly` - 每周通知 +- `@every 8h` - 每8小时通知 + +### Telegram Bot 功能 + +- 定期报告 +- 登录通知 +- CPU 阈值通知 +- 提前报告的过期时间和流量阈值 +- 如果将客户的电报用户名添加到用户的配置中,则支持客户端报告菜单 +- 支持使用UUID(VMESS/VLESS)或密码(TROJAN)搜索报文流量报告 - 匿名 +- 基于菜单的机器人 +- 通过电子邮件搜索客户端(仅限管理员) +- 检查所有入库 +- 检查服务器状态 +- 检查耗尽的用户 +- 根据请求和定期报告接收备份 +- 多语言机器人 + +### 注册 Telegram bot + +- 与 [Botfather](https://t.me/BotFather) 对话: + ![Botfather](./media/botfather.png) + +- 使用 /newbot 创建新机器人:你需要提供机器人名称以及用户名,注意名称中末尾要包含“bot” + ![创建机器人](./media/newbot.png) + +- 启动您刚刚创建的机器人。可以在此处找到机器人的链接。 + ![令牌](./media/token.png) + +- 输入您的面板并配置 Telegram 机器人设置,如下所示: + ![面板设置](./media/panel-bot-config.png) + +在输入字段编号 3 中输入机器人令牌。 +在输入字段编号 4 中输入用户 ID。具有此 id 的 Telegram 帐户将是机器人管理员。 (您可以输入多个,只需将它们用“ ,”分开即可) + +- 如何获取TG ID? 使用 [bot](https://t.me/useridinfobot), 启动机器人,它会给你 Telegram 用户 ID。 +![用户 ID](./media/user-id.png) + +
+ +## API 路由 + +
+ 点击查看 API 路由 + +#### 使用 + +- `/login` 使用 `POST` 用户名称 & 密码: `{username: '', password: ''}` 登录 +- `/panel/api/inbounds` 以下操作的基础: + +| 方法 | 路径 | 操作 | +| :----: | ---------------------------------- | --------------------------------- | +| `GET` | `"/list"` | 获取所有入站 | +| `GET` | `"/get/:id"` | 获取所有入站以及inbound.id | +| `GET` | `"/getClientTraffics/:email"` | 通过电子邮件获取客户端流量 | +| `GET` | `"/createbackup"` | Telegram 机器人向管理员发送备份 | +| `POST` | `"/add"` | 添加入站 | +| `POST` | `"/del/:id"` | 删除入站 | +| `POST` | `"/update/:id"` | 更新入站 | +| `POST` | `"/clientIps/:email"` | 客户端 IP 地址 | +| `POST` | `"/clearClientIps/:email"` | 清除客户端 IP 地址 | +| `POST` | `"/addClient"` | 将客户端添加到入站 | +| `POST` | `"/:id/delClient/:clientId"` | 通过 clientId\* 删除客户端 | +| `POST` | `"/updateClient/:clientId"` | 通过 clientId\* 更新客户端 | +| `POST` | `"/:id/resetClientTraffic/:email"` | 重置客户端的流量 | +| `POST` | `"/resetAllTraffics"` | 重置所有入站的流量 | +| `POST` | `"/resetAllClientTraffics/:id"` | 重置入站中所有客户端的流量 | +| `POST` | `"/delDepletedClients/:id"` | 删除入站耗尽的客户端 (-1: all) | +| `POST` | `"/onlines"` | 获取在线用户 ( 电子邮件列表 ) | + +\*- `clientId` 项应该使用下列数据 + +- `client.id` VMESS and VLESS +- `client.password` TROJAN +- `client.email` Shadowsocks + + +- [API 文档](https://documenter.getpostman.com/view/16802678/2s9YkgD5jm) +- [Run In Postman](https://app.getpostman.com/run-collection/16802678-1a4c9270-ac77-40ed-959a-7aa56dc4a415?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D16802678-1a4c9270-ac77-40ed-959a-7aa56dc4a415%26entityType%3Dcollection%26workspaceId%3D2cd38c01-c851-4a15-a972-f181c23359d9) +
+ +## 环境变量 + +
+ 点击查看 环境变量 + +#### Usage + +| 变量 | Type | 默认 | +| -------------- | :--------------------------------------------: | :------------ | +| XUI_LOG_LEVEL | `"debug"` \| `"info"` \| `"warn"` \| `"error"` | `"info"` | +| XUI_DEBUG | `boolean` | `false` | +| XUI_BIN_FOLDER | `string` | `"bin"` | +| XUI_DB_FOLDER | `string` | `"/etc/x-ui"` | +| XUI_LOG_FOLDER | `string` | `"/var/log"` | + +例子: + +```sh +XUI_BIN_FOLDER="bin" XUI_DB_FOLDER="/etc/x-ui" go build main.go +``` + +
+ +## 预览 + +![1](./media/1.png) +![2](./media/2.png) +![3](./media/3.png) +![4](./media/4.png) +![5](./media/5.png) +![6](./media/6.png) +![7](./media/7.png) + +## 特别感谢 + +- [alireza0](https://github.com/alireza0/) + +## 致谢 + +- [Iran v2ray rules](https://github.com/chocolate4u/Iran-v2ray-rules) (License: **GPL-3.0**): _Enhanced v2ray/xray and v2ray/xray-clients routing rules with built-in Iranian domains and a focus on security and adblocking._ +- [Vietnam Adblock rules](https://github.com/vuong2023/vn-v2ray-rules) (License: **GPL-3.0**): _A hosted domain hosted in Vietnam and blocklist with the most efficiency for Vietnamese._ + +## Star趋势 + +[![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg)](https://starchart.cc/MHSanaei/3x-ui) diff --git a/web/assets/js/langs.js b/web/assets/js/langs.js index 17bef741..218c02b0 100644 --- a/web/assets/js/langs.js +++ b/web/assets/js/langs.js @@ -10,8 +10,8 @@ const supportLangs = [ icon: '🇮🇷', }, { - name: '汉语', - value: 'zh-Hans', + name: '中文', + value: 'zh-CN', icon: '🇨🇳', }, { diff --git a/web/translation/translate.zh_CN.toml b/web/translation/translate.zh_CN.toml new file mode 100644 index 00000000..7a28891f --- /dev/null +++ b/web/translation/translate.zh_CN.toml @@ -0,0 +1,644 @@ +"username" = "用户名" +"password" = "密码" +"login" = "登录" +"confirm" = "确定" +"cancel" = "取消" +"close" = "关闭" +"copy" = "复制" +"copied" = "已复制" +"download" = "下载" +"remark" = "备注" +"enable" = "启用" +"protocol" = "协议" +"search" = "搜索" +"filter" = "筛选" +"loading" = "加载中..." +"second" = "秒" +"minute" = "分钟" +"hour" = "小时" +"day" = "天" +"check" = "查看" +"indefinite" = "无限期" +"unlimited" = "无限制" +"none" = "无" +"qrCode" = "二维码" +"info" = "更多信息" +"edit" = "编辑" +"delete" = "删除" +"reset" = "重置" +"copySuccess" = "复制成功" +"sure" = "确定" +"encryption" = "加密" +"transmission" = "传输" +"host" = "主机" +"path" = "路径" +"camouflage" = "伪装" +"status" = "状态" +"enabled" = "开启" +"disabled" = "关闭" +"depleted" = "耗尽" +"depletingSoon" = "即将耗尽" +"offline" = "离线" +"online" = "在线" +"domainName" = "域名" +"monitor" = "监听" +"certificate" = "数字证书" +"fail" = "失败" +"success" = "成功" +"getVersion" = "获取版本" +"install" = "安装" +"clients" = "客户端" +"usage" = "使用情况" +"secretToken" = "安全密钥" +"remained" = "剩余" +"security" = "安全" +"secAlertTitle" = "安全警报" +"secAlertSsl" = "此连接不安全。在激活 TLS 进行数据保护之前,请勿输入敏感信息。" +"secAlertConf" = "某些设置易受攻击。建议加强安全协议以防止潜在漏洞。" +"secAlertSSL" = "面板缺少安全连接。请安装 TLS 证书以保护数据安全。" +"secAlertPanelPort" = "面板默认端口存在安全风险。请配置随机端口或特定端口。" +"secAlertPanelURI" = "面板默认 URI 路径不安全。请配置复杂的 URI 路径。" +"secAlertSubURI" = "订阅默认 URI 路径不安全。请配置复杂的 URI 路径。" +"secAlertSubJsonURI" = "订阅 JSON 默认 URI 路径不安全。请配置复杂的 URI 路径。" + +[menu] +"dashboard" = "系统状态" +"inbounds" = "入站列表" +"settings" = "面板设置" +"xray" = "Xray 设置" +"logout" = "退出登录" +"link" = "管理" + +[pages.login] +"hello" = "你好" +"title" = "欢迎" +"loginAgain" = "登录时效已过,请重新登录" + +[pages.login.toasts] +"invalidFormData" = "数据格式错误" +"emptyUsername" = "请输入用户名" +"emptyPassword" = "请输入密码" +"wrongUsernameOrPassword" = "用户名或密码错误" +"successLogin" = "登录" + +[pages.index] +"title" = "系统状态" +"memory" = "内存" +"hard" = "磁盘" +"xrayStatus" = "Xray" +"stopXray" = "停止" +"restartXray" = "重启" +"xraySwitch" = "版本" +"xraySwitchClick" = "选择你要切换到的版本" +"xraySwitchClickDesk" = "请谨慎选择,因为较旧版本可能与当前配置不兼容" +"operationHours" = "系统正常运行时间" +"systemLoad" = "系统负载" +"systemLoadDesc" = "过去 1、5 和 15 分钟的系统平均负载" +"connectionTcpCountDesc" = "系统中所有 TCP 连接数" +"connectionUdpCountDesc" = "系统中所有 UDP 连接数" +"connectionCount" = "连接数" +"upSpeed" = "总上传速度" +"downSpeed" = "总下载速度" +"totalSent" = "系统启动以来发送的总数据量" +"totalReceive" = "系统启动以来接收的总数据量" +"xraySwitchVersionDialog" = "切换 Xray 版本" +"xraySwitchVersionDialogDesc" = "是否切换 Xray 版本至" +"dontRefresh" = "安装中,请勿刷新此页面" +"logs" = "日志" +"config" = "配置" +"backup" = "备份和恢复" +"backupTitle" = "备份和恢复数据库" +"backupDescription" = "恢复数据库之前建议进行备份" +"exportDatabase" = "备份" +"importDatabase" = "恢复" + +[pages.inbounds] +"title" = "入站列表" +"totalDownUp" = "总上传 / 下载" +"totalUsage" = "总用量" +"inboundCount" = "入站数量" +"operate" = "菜单" +"enable" = "启用" +"remark" = "备注" +"protocol" = "协议" +"port" = "端口" +"traffic" = "流量" +"details" = "详细信息" +"transportConfig" = "传输配置" +"expireDate" = "到期时间" +"resetTraffic" = "重置流量" +"addInbound" = "添加入站" +"generalActions" = "通用操作" +"create" = "添加" +"update" = "修改" +"modifyInbound" = "修改入站" +"deleteInbound" = "删除入站" +"deleteInboundContent" = "确定要删除入站吗?" +"deleteClient" = "删除客户端" +"deleteClientContent" = "确定要删除客户端吗?" +"resetTrafficContent" = "确定要重置流量吗?" +"copyLink" = "复制链接" +"address" = "地址" +"network" = "网络" +"destinationPort" = "目标端口" +"targetAddress" = "目标地址" +"monitorDesc" = "留空表示监听所有 IP" +"meansNoLimit" = " = 无限制(单位:GB)" +"totalFlow" = "总流量" +"leaveBlankToNeverExpire" = "留空表示永不过期" +"noRecommendKeepDefault" = "建议保留默认值" +"certificatePath" = "文件路径" +"certificateContent" = "文件内容" +"publicKey" = "公钥" +"privatekey" = "私钥" +"clickOnQRcode" = "点击二维码复制" +"client" = "客户" +"export" = "导出链接" +"clone" = "克隆" +"cloneInbound" = "克隆" +"cloneInboundContent" = "此入站规则除端口(Port)、监听 IP(Listening IP)和客户端(Clients)以外的所有配置都将应用于克隆" +"cloneInboundOk" = "创建克隆" +"resetAllTraffic" = "重置所有入站流量" +"resetAllTrafficTitle" = "重置所有入站流量" +"resetAllTrafficContent" = "确定要重置所有入站流量吗?" +"resetInboundClientTraffics" = "重置客户端流量" +"resetInboundClientTrafficTitle" = "重置所有客户端流量" +"resetInboundClientTrafficContent" = "确定要重置此入站客户端的所有流量吗?" +"resetAllClientTraffics" = "重置所有客户端流量" +"resetAllClientTrafficTitle" = "重置所有客户端流量" +"resetAllClientTrafficContent" = "确定要重置所有客户端的所有流量吗?" +"delDepletedClients" = "删除流量耗尽的客户端" +"delDepletedClientsTitle" = "删除流量耗尽的客户端" +"delDepletedClientsContent" = "确定要删除所有流量耗尽的客户端吗?" +"email" = "电子邮件" +"emailDesc" = "电子邮件必须完全唯一" +"IPLimit" = "IP 限制" +"IPLimitDesc" = "如果数量超过设置值,则禁用入站流量。(0 = 禁用)" +"IPLimitlog" = "IP 日志" +"IPLimitlogDesc" = "IP 历史日志(要启用被禁用的入站流量,请清除日志)" +"IPLimitlogclear" = "清除日志" +"setDefaultCert" = "从面板设置证书" +"xtlsDesc" = "Xray 核心需要 1.7.5" +"realityDesc" = "Xray 核心需要 1.8.0 及以上版本" +"telegramDesc" = "请提供Telegram聊天ID。(在机器人中使用'/id'命令)或(@userinfobot" +"subscriptionDesc" = "要找到你的订阅 URL,请导航到“详细信息”。此外,你可以为多个客户端使用相同的名称。" +"info" = "信息" +"same" = "相同" +"inboundData" = "入站数据" +"exportInbound" = "导出入站规则" +"import"="导入" +"importInbound" = "导入入站规则" + +[pages.client] +"add" = "添加客户端" +"edit" = "编辑客户端" +"submitAdd" = "添加客户端" +"submitEdit" = "保存修改" +"clientCount" = "客户端数量" +"bulk" = "批量创建" +"method" = "方法" +"first" = "置顶" +"last" = "置底" +"prefix" = "前缀" +"postfix" = "后缀" +"delayedStart" = "首次使用后开始" +"expireDays" = "期间" +"days" = "天" +"renew" = "自动续订" +"renewDesc" = "到期后自动续订。(0 = 禁用)(单位: 天)" + +[pages.inbounds.toasts] +"obtain" = "获取" + +[pages.inbounds.stream.general] +"request" = "请求" +"response" = "响应" +"name" = "名称" +"value" = "值" + +[pages.inbounds.stream.tcp] +"version" = "版本" +"method" = "方法" +"path" = "路径" +"status" = "状态" +"statusDescription" = "状态说明" +"requestHeader" = "请求头" +"responseHeader" = "响应头" + +[pages.inbounds.stream.quic] +"encryption" = "加密" + +[pages.settings] +"title" = "面板设置" +"save" = "保存" +"infoDesc" = "此处的所有更改都需要保存并重启面板才能生效" +"restartPanel" = "重启面板" +"restartPanelDesc" = "确定要重启面板吗?若重启后无法访问面板,请前往服务器查看面板日志信息" +"actions" = "操作" +"resetDefaultConfig" = "重置为默认配置" +"panelSettings" = "常规" +"securitySettings" = "安全设定" +"TGBotSettings" = "Telegram 机器人配置" +"panelListeningIP" = "面板监听 IP" +"panelListeningIPDesc" = "默认留空监听所有 IP" +"panelListeningDomain" = "面板监听域名" +"panelListeningDomainDesc" = "默认情况下留空以监视所有域名和 IP 地址" +"panelPort" = "面板监听端口" +"panelPortDesc" = "重启面板生效" +"publicKeyPath" = "面板证书公钥文件路径" +"publicKeyPathDesc" = "填写一个 '/' 开头的绝对路径" +"privateKeyPath" = "面板证书密钥文件路径" +"privateKeyPathDesc" = "填写一个 '/' 开头的绝对路径" +"panelUrlPath" = "面板 url 根路径" +"panelUrlPathDesc" = "必须以 '/' 开头,以 '/' 结尾" +"pageSize" = "分页大小" +"pageSizeDesc" = "定义入站表的页面大小。设置 0 表示禁用" +"remarkModel" = "备注模型和分隔符" +"datepicker" = "日期选择器" +"datepickerPlaceholder" = "选择日期" +"datepickerDescription" = "选择器日历类型指定到期日期" +"sampleRemark" = "备注示例" +"oldUsername" = "原用户名" +"currentPassword" = "原密码" +"newUsername" = "新用户名" +"newPassword" = "新密码" +"telegramBotEnable" = "启用 Telegram 机器人" +"telegramBotEnableDesc" = "启用 Telegram 机器人功能" +"telegramToken" = "Telegram 机器人令牌(token)" +"telegramTokenDesc" = "从 '@BotFather' 获取的 Telegram 机器人令牌" +"telegramProxy" = "SOCKS5 Proxy" +"telegramProxyDesc" = "启用 SOCKS5 代理连接到 Telegram(根据指南调整设置)" +"telegramChatId" = "管理员聊天 ID" +"telegramChatIdDesc" = "Telegram 管理员聊天 ID (多个以逗号分隔)(可通过 @userinfobot 获取,或在机器人中使用 '/id' 命令获取)" +"telegramNotifyTime" = "通知时间" +"telegramNotifyTimeDesc" = "设置周期性的 Telegram 机器人通知时间(使用 crontab 时间格式)" +"tgNotifyBackup" = "数据库备份" +"tgNotifyBackupDesc" = "发送带有报告的数据库备份文件" +"tgNotifyLogin" = "登录通知" +"tgNotifyLoginDesc" = "当有人试图登录你的面板时显示用户名、IP 地址和时间" +"sessionMaxAge" = "会话时长" +"sessionMaxAgeDesc" = "保持登录状态的时长(单位:分钟)" +"expireTimeDiff" = "到期通知阈值" +"expireTimeDiffDesc" = "达到此阈值时,将收到有关到期时间的通知(单位:天)" +"trafficDiff" = "流量耗尽阈值" +"trafficDiffDesc" = "达到此阈值时,将收到有关流量耗尽的通知(单位:GB)" +"tgNotifyCpu" = "CPU 负载通知阈值" +"tgNotifyCpuDesc" = "CPU 负载超过此阈值时,将收到通知(单位:%)" +"timeZone" = "时区" +"timeZoneDesc" = "定时任务将按照该时区的时间运行" +"subSettings" = "订阅设置" +"subEnable" = "启用订阅服务" +"subEnableDesc" = "启用订阅服务功能" +"subListen" = "监听 IP" +"subListenDesc" = "订阅服务监听的 IP 地址(留空表示监听所有 IP)" +"subPort" = "监听端口" +"subPortDesc" = "订阅服务监听的端口号(必须是未使用的端口)" +"subCertPath" = "公钥路径" +"subCertPathDesc" = "订阅服务使用的公钥文件路径(以 '/' 开头)" +"subKeyPath" = "私钥路径" +"subKeyPathDesc" = "订阅服务使用的私钥文件路径(以 '/' 开头)" +"subPath" = "URI 路径" +"subPathDesc" = "订阅服务使用的 URI 路径(以 '/' 开头,以 '/' 结尾)" +"subDomain" = "监听域名" +"subDomainDesc" = "订阅服务监听的域名(留空表示监听所有域名和 IP)" +"subUpdates" = "更新间隔" +"subUpdatesDesc" = "客户端应用中订阅 URL 的更新间隔(单位:小时)" +"subEncrypt" = "编码" +"subEncryptDesc" = "订阅服务返回的内容将采用 Base64 编码" +"subShowInfo" = "显示使用信息" +"subShowInfoDesc" = "客户端应用中将显示剩余流量和日期信息" +"subURI" = "反向代理 URI" +"subURIDesc" = "用于代理后面的订阅 URL 的 URI 路径" +"fragment" = "分片" +"fragmentDesc" = "启用 TLS hello 数据包分片" +"fragmentSett" = "设置" +"mux" = "多路复用器" +"muxDesc" = "在已建立的数据流内传输多个独立的数据流" +"muxSett" = "复用器设置" +"direct" = "直接连接" +"directDesc" = "直接与特定国家的域或IP范围建立连接" +"directSett" = "直接连接选项" + +[pages.xray] +"title" = "Xray 配置" +"save" = "保存" +"restart" = "重新启动 Xray" +"basicTemplate" = "基础配置" +"advancedTemplate" = "高级配置" +"generalConfigs" = "常规配置" +"generalConfigsDesc" = "这些选项将决定常规配置" +"logConfigs" = "日志" +"logConfigsDesc" = "日志可能会影响服务器的性能,建议仅在需要时启用" +"blockConfigs" = "防护屏蔽" +"blockConfigsDesc" = "这些选项将阻止用户连接到特定协议和网站" +"blockCountryConfigs" = "屏蔽国家/地区" +"blockCountryConfigsDesc" = "这些选项将阻止用户连接到特定国家/地区" +"directCountryConfigs" = "直连国家/地区" +"directCountryConfigsDesc" = "直接连接可确保特定流量不会通过其他服务器路由" +"ipv4Configs" = "IPv4 路由" +"ipv4ConfigsDesc" = "此选项将仅通过 IPv4 路由到目标域" +"warpConfigs" = "WARP 路由" +"warpConfigsDesc" = "注意:在使用这些选项之前,请按照面板 GitHub 上的步骤在你的服务器上以 socks5 代理模式安装 WARP。WARP 将通过 Cloudflare 服务器将流量路由到网站。" +"Template" = "高级 Xray 配置模板" +"TemplateDesc" = "最终的 Xray 配置文件将基于此模板生成" +"FreedomStrategy" = "Freedom 协议策略" +"FreedomStrategyDesc" = "设置 Freedom 协议中网络的输出策略" +"RoutingStrategy" = "配置路由域策略" +"RoutingStrategyDesc" = "设置 DNS 解析的整体路由策略" +"Torrent" = "屏蔽 BitTorrent 协议" +"TorrentDesc" = "禁止使用 BitTorrent" +"PrivateIp" = "屏蔽私有 IP" +"PrivateIpDesc" = "阻止连接到私有 IP" +"Ads" = "屏蔽广告" +"AdsDesc" = "屏蔽广告网站" +"Family" = "家庭保护" +"FamilyDesc" = "屏蔽成人内容和恶意网站" +"Security" = "安全防护" +"SecurityDesc" = "屏蔽恶意软件、网络钓鱼和挖矿网站" +"Speedtest" = "屏蔽测速网站" +"SpeedtestDesc" = "阻止连接到测速网站" +"IRIp" = "屏蔽连接到伊朗 IP" +"IRIpDesc" = "阻止建立到伊朗 IP 范围的连接" +"IRDomain" = "屏蔽连接到伊朗域名" +"IRDomainDesc" = "阻止建立到伊朗域名的连接" +"ChinaIp" = "屏蔽连接到中国 IP" +"ChinaIpDesc" = "阻止建立到中国 IP 范围的连接" +"ChinaDomain" = "屏蔽连接到中国域名" +"ChinaDomainDesc" = "阻止建立到中国域名的连接" +"RussiaIp" = "屏蔽连接到俄罗斯 IP" +"RussiaIpDesc" = "阻止建立到俄罗斯 IP 范围的连接" +"RussiaDomain" = "屏蔽连接到俄罗斯域名" +"RussiaDomainDesc" = "阻止建立到俄罗斯域名的连接" +"VNIp" = "屏蔽连接到越南 IP" +"VNIpDesc" = "阻止建立到越南 IP 范围的连接" +"VNDomain" = "屏蔽连接到越南域名" +"VNDomainDesc" = "阻止建立到越南域名的连接" +"DirectIRIp" = "直连伊朗 IP" +"DirectIRIpDesc" = "直接建立到伊朗 IP 范围的连接" +"DirectIRDomain" = "直连伊朗域名" +"DirectIRDomainDesc" = "直接建立到伊朗域名的连接" +"DirectChinaIp" = "直连中国 IP" +"DirectChinaIpDesc" = "直接建立到中国 IP 范围的连接" +"DirectChinaDomain" = "直连中国域名" +"DirectChinaDomainDesc" = "直接建立到中国域名的连接" +"DirectRussiaIp" = "直连俄罗斯 IP" +"DirectRussiaIpDesc" = "直接建立到俄罗斯 IP 范围的连接" +"DirectRussiaDomain" = "直连俄罗斯域名" +"DirectRussiaDomainDesc" = "直接建立到俄罗斯域名的连接" +"DirectVNIp" = "直连越南 IP" +"DirectVNIpDesc" = "直接建立到越南 IP 范围的连接" +"DirectVNDomain" = "直连越南域名" +"DirectVNDomainDesc" = "直接建立到越南域名的连接" +"GoogleIPv4" = "Google" +"GoogleIPv4Desc" = "通过 IPv4 将流量路由到谷歌" +"NetflixIPv4" = "Netflix" +"NetflixIPv4Desc" = "通过 IPv4 将流量路由到 Netflix" +"GoogleWARP" = "Google" +"GoogleWARPDesc" = "通过 WARP 将流量路由到 Google" +"OpenAIWARP" = "OpenAI (ChatGPT)" +"OpenAIWARPDesc" = "通过 WARP 将流量路由到 OpenAI (ChatGPT)" +"NetflixWARP" = "Netflix" +"NetflixWARPDesc" = "通过 WARP 将流量路由到 Netflix" +"MetaWARP"="Meta" +"MetaWARPDesc" = "通过 WARP 将流量路由到 Meta(Instagram、Facebook、WhatsApp、Threads...)" +"AppleWARP" = "Apple" +"AppleWARPDesc" = "通过 WARP 将流量路由到 Apple" +"RedditWARP" = "Reddit" +"RedditWARPDesc" = "通过 WARP 将流量路由到 Reddit" +"SpotifyWARP" = "Spotify" +"SpotifyWARPDesc" = "通过 WARP 将流量路由到 Spotify" +"IRWARP" = "伊朗域名" +"IRWARPDesc" = "通过 WARP 将流量路由到伊朗域名" +"Inbounds" = "入站规则" +"InboundsDesc" = "接受来自特定客户端的流量" +"Outbounds" = "出站规则" +"Balancers" = "负载均衡" +"OutboundsDesc" = "设置出站流量传出方式" +"Routings" = "路由规则" +"RoutingsDesc" = "每条规则的优先级都很重要" +"completeTemplate" = "全部" +"logLevel" = "日志级别" +"logLevelDesc" = "错误日志的日志级别,用于指示需要记录的信息" +"accessLog" = "访问日志" +"accessLogDesc" = "访问日志的文件路径。特殊值 'none' 禁用访问日志" +"errorLog" = "错误日志" +"errorLogDesc" = "错误日志的文件路径。特殊值 'none' 禁用错误日志" + +[pages.xray.rules] +"first" = "置顶" +"last" = "置底" +"up" = "向上" +"down" = "向下" +"source" = "来源" +"dest" = "目的地址" +"inbound" = "入站" +"outbound" = "出站" +"balancer" = "负载均衡" +"info" = "信息" +"add" = "添加规则" +"edit" = "编辑规则" +"useComma" = "逗号分隔的项目" + +[pages.xray.outbound] +"addOutbound" = "添加出站" +"addReverse" = "添加反向" +"editOutbound" = "编辑出站" +"editReverse" = "编辑反向" +"tag" = "标签" +"tagDesc" = "唯一标签" +"address" = "地址" +"reverse" = "反向" +"domain" = "域名" +"type" = "类型" +"bridge" = "Bridge" +"portal" = "Portal" +"intercon" = "互连" +"settings" = "设置" +"accountInfo" = "帐户信息" +"outboundStatus" = "出站状态" +"sendThrough" = "发送通过" + +[pages.xray.balancer] +"addBalancer" = "添加负载均衡" +"editBalancer" = "编辑负载均衡" +"balancerStrategy" = "策略" +"balancerSelectors" = "选择器" +"tag" = "标签" +"tagDesc" = "唯一标签" +"balancerDesc" = "无法同时使用 balancerTag 和 outboundTag。如果同时使用,则只有 outboundTag 会生效。" + +[pages.xray.wireguard] +"secretKey" = "密钥" +"publicKey" = "公钥" +"allowedIPs" = "允许的 IP" +"endpoint" = "端点" +"psk" = "共享密钥" +"domainStrategy" = "域策略" + +[pages.xray.dns] +"enable" = "启用 DNS" +"enableDesc" = "启用内置 DNS 服务器" +"tag" = "DNS 入站标签" +"tagDesc" = "此标签将在路由规则中可用作入站标签" +"strategy" = "查询策略" +"strategyDesc" = "解析域名的总体策略" +"add" = "添加服务器" +"edit" = "编辑服务器" +"domains" = "域" + +[pages.xray.fakedns] +"add" = "添加假 DNS" +"edit" = "编辑假 DNS" +"ipPool" = "IP 池子网" +"poolSize" = "池大小" + +[pages.settings.security] +"admin" = "管理员" +"secret" = "安全令牌" +"loginSecurity" = "登录安全" +"loginSecurityDesc" = "添加额外的身份验证以提高安全性" +"secretToken" = "安全令牌" +"secretTokenDesc" = "请将此令牌存储在安全的地方。此令牌用于登录,丢失无法恢复。" + +[pages.settings.toasts] +"modifySettings" = "修改设置" +"getSettings" = "获取设置" +"modifyUser" = "修改管理员" +"originalUserPassIncorrect" = "原用户名或原密码错误" +"userPassMustBeNotEmpty" = "新用户名和新密码不能为空" + +[tgbot] +"keyboardClosed" = "❌ 自定义键盘已关闭!" +"noResult" = "❗ 没有结果!" +"noQuery" = "❌ 未找到查询!请重新使用命令!" +"wentWrong" = "❌ 出了点问题!" +"noIpRecord" = "❗ 没有 IP 记录!" +"noInbounds" = "❗ 没有找到入站连接!" +"unlimited" = "♾ 无限制" +"add" = "添加" +"month" = "月" +"months" = "月" +"day" = "天" +"days" = "天" +"hours" = "小时" +"unknown" = "未知" +"inbounds" = "入站连接" +"clients" = "客户端" +"offline" = "🔴 离线" +"online" = "🟢 在线" + +[tgbot.commands] +"unknown" = "❗ 未知命令" +"pleaseChoose" = "👇 请选择:\r\n" +"help" = "🤖 欢迎使用本机器人!它旨在为您提供来自服务器的特定数据,并允许您进行必要的修改。\r\n\r\n" +"start" = "👋 你好,{{ .Firstname }}。\r\n" +"welcome" = "🤖 欢迎来到 {{ .Hostname }} 管理机器人。\r\n" +"status" = "✅ 机器人正常运行!" +"usage" = "❗ 请输入要搜索的文本!" +"getID" = "🆔 您的 ID 为:{{ .ID }}" +"helpAdminCommands" = "要搜索客户电子邮件:\r\n/usage [电子邮件]\r\n\r\n要搜索入站(带有客户统计数据):\r\n/inbound [备注]\r\n\r\nTelegram聊天ID:\r\n/id" +"helpClientCommands" = "要搜索统计数据,请使用以下命令:\r\n/usage [电子邮件]\r\n\r\nTelegram聊天ID:\r\n/id" + +[tgbot.messages] +"cpuThreshold" = "🔴 CPU 使用率为 {{ .Percent }}%,超过阈值 {{ .Threshold }}%" +"selectUserFailed" = "❌ 用户选择错误!" +"userSaved" = "✅ 电报用户已保存。" +"loginSuccess" = "✅ 成功登录到面板。\r\n" +"loginFailed" = "❗️ 面板登录失败。\r\n" +"report" = "🕰 定时报告:{{ .RunTime }}\r\n" +"datetime" = "⏰ 日期时间:{{ .DateTime }}\r\n" +"hostname" = "💻 主机名:{{ .Hostname }}\r\n" +"version" = "🚀 X-UI 版本:{{ .Version }}\r\n" +"xrayVersion" = "📡 Xray 版本: {{ .XrayVersion }}\r\n" +"ipv6" = "🌐 IPv6:{{ .IPv6 }}\r\n" +"ipv4" = "🌐 IPv4:{{ .IPv4 }}\r\n" +"ip" = "🌐 IP:{{ .IP }}\r\n" +"ips" = "🔢 IP 地址:\r\n{{ .IPs }}\r\n" +"serverUpTime" = "⏳ 服务器运行时间:{{ .UpTime }} {{ .Unit }}\r\n" +"serverLoad" = "📈 服务器负载:{{ .Load1 }}, {{ .Load2 }}, {{ .Load3 }}\r\n" +"serverMemory" = "📋 服务器内存:{{ .Current }}/{{ .Total }}\r\n" +"tcpCount" = "🔹 TCP 连接数:{{ .Count }}\r\n" +"udpCount" = "🔸 UDP 连接数:{{ .Count }}\r\n" +"traffic" = "🚦 流量:{{ .Total }} (↑{{ .Upload }},↓{{ .Download }})\r\n" +"xrayStatus" = "ℹ️ Xray 状态:{{ .State }}\r\n" +"username" = "👤 用户名:{{ .Username }}\r\n" +"password" = "👤 密码: {{ .Password }}\r\n" +"time" = "⏰ 时间:{{ .Time }}\r\n" +"inbound" = "📍 入站:{{ .Remark }}\r\n" +"port" = "🔌 端口:{{ .Port }}\r\n" +"expire" = "📅 过期日期:{{ .Time }}\r\n" +"expireIn" = "📅 剩余时间:{{ .Time }}\r\n" +"active" = "💡 激活:{{ .Enable }}\r\n" +"enabled" = "🚨 已启用:{{ .Enable }}\r\n" +"online" = "🌐 连接状态:{{ .Status }}\r\n" +"email" = "📧 邮箱:{{ .Email }}\r\n" +"upload" = "🔼 上传↑:{{ .Upload }}\r\n" +"download" = "🔽 下载↓:{{ .Download }}\r\n" +"total" = "📊 总计:{{ .UpDown }} / {{ .Total }}\r\n" +"TGUser" = "👤 电报用户:{{ .TelegramID }}\r\n" +"exhaustedMsg" = "🚨 耗尽的 {{ .Type }}:\r\n" +"exhaustedCount" = "🚨 耗尽的 {{ .Type }} 数量:\r\n" +"onlinesCount" = "🌐 在线客户:{{ .Count }}\r\n" +"disabled" = "🛑 禁用:{{ .Disabled }}\r\n" +"depleteSoon" = "🔜 即将耗尽:{{ .Deplete }}\r\n\r\n" +"backupTime" = "🗄 备份时间:{{ .Time }}\r\n" +"refreshedOn" = "\r\n📋🔄 刷新时间:{{ .Time }}\r\n\r\n" +"yes" = "✅ 是的" +"no" = "❌ 没有" + +[tgbot.buttons] +"closeKeyboard" = "❌ 关闭键盘" +"cancel" = "❌ 取消" +"cancelReset" = "❌ 取消重置" +"cancelIpLimit" = "❌ 取消 IP 限制" +"confirmResetTraffic" = "✅ 确认重置流量?" +"confirmClearIps" = "✅ 确认清除 IP?" +"confirmRemoveTGUser" = "✅ 确认移除 Telegram 用户?" +"confirmToggle" = "✅ 确认启用/禁用用户?" +"dbBackup" = "获取数据库备份" +"serverUsage" = "服务器使用情况" +"getInbounds" = "获取入站信息" +"depleteSoon" = "即将耗尽" +"clientUsage" = "获取使用情况" +"onlines" = "在线客户端" +"commands" = "命令" +"refresh" = "🔄 刷新" +"clearIPs" = "❌ 清除 IP" +"removeTGUser" = "❌ 移除 Telegram 用户" +"selectTGUser" = "👤 选择 Telegram 用户" +"selectOneTGUser" = "👤 选择一个 Telegram 用户:" +"resetTraffic" = "📈 重置流量" +"resetExpire" = "📅 更改到期日期" +"ipLog" = "🔢 IP 日志" +"ipLimit" = "🔢 IP 限制" +"setTGUser" = "👤 设置 Telegram 用户" +"toggle" = "🔘 启用/禁用" +"custom" = "🔢 风俗" +"confirmNumber" = "✅ 确认: {{ .Num }}" +"confirmNumberAdd" = "✅ 确认添加:{{ .Num }}" +"limitTraffic" = "🚧 流量限制" +"getBanLogs" = "禁止日志" +"allClients" = "所有客户" + +[tgbot.answers] +"successfulOperation" = "✅ 成功!" +"errorOperation" = "❗ 操作错误。" +"getInboundsFailed" = "❌ 获取入站信息失败。" +"getClientsFailed" = "❌ 获取客户失败。" +"canceled" = "❌ {{ .Email }}:操作已取消。" +"clientRefreshSuccess" = "✅ {{ .Email }}:客户端刷新成功。" +"IpRefreshSuccess" = "✅ {{ .Email }}:IP 刷新成功。" +"TGIdRefreshSuccess" = "✅ {{ .Email }}:客户端的 Telegram 用户刷新成功。" +"resetTrafficSuccess" = "✅ {{ .Email }}:流量已重置成功。" +"setTrafficLimitSuccess" = "✅ {{ .Email }}: 流量限制保存成功。" +"expireResetSuccess" = "✅ {{ .Email }}:过期天数已重置成功。" +"resetIpSuccess" = "✅ {{ .Email }}:成功保存 IP 限制数量为 {{ .Count }}。" +"clearIpSuccess" = "✅ {{ .Email }}:IP 已成功清除。" +"getIpLog" = "✅ {{ .Email }}:获取 IP 日志。" +"getUserInfo" = "✅ {{ .Email }}:获取 Telegram 用户信息。" +"removedTGUserSuccess" = "✅ {{ .Email }}:Telegram 用户已成功移除。" +"enableSuccess" = "✅ {{ .Email }}:已成功启用。" +"disableSuccess" = "✅ {{ .Email }}:已成功禁用。" +"askToAddUserId" = "未找到您的配置!\r\n请向管理员询问,在您的配置中使用您的 Telegram 用户 ChatID。\r\n\r\n您的用户 ChatID:{{ .TgUserID }}" +"chooseClient" = "为入站 {{ .Inbound }} 选择一个客户" +"chooseInbound" = "选择一个入站" \ No newline at end of file