3x-ui/web/translation/translate.zh_CN.toml
lolka1333 313a2acbf6
feat: Add WebSocket support for real-time updates and enhance VLESS settings (#3605)
* feat: add support for trusted X-Forwarded-For and testseed parameters in VLESS settings

* chore: update Xray Core version to 25.12.8 in release workflow

* chore: update Xray Core version to 25.12.8 in Docker initialization script

* chore: bump version to 2.8.6 and add watcher for security changes in inbound modal

* refactor: remove default and random seed buttons from outbound form

* refactor: update VLESS form to rename 'Test Seed' to 'Vision Seed' and change button functionality for seed generation

* refactor: enhance TLS settings form layout with improved button styling and spacing

* feat: integrate WebSocket support for real-time updates on inbounds and Xray service status

* chore: downgrade version to 2.8.5

* refactor: translate comments to English

* fix: ensure testseed is initialized correctly for VLESS protocol and improve client handling in inbound modal

* refactor: simplify VLESS divider condition by removing unnecessary flow checks

* fix: add fallback date formatting for cases when IntlUtil is not available

* refactor: simplify WebSocket message handling by removing batching and ensuring individual message delivery

* refactor: disable WebSocket notifications in inbound and index HTML files

* refactor: enhance VLESS testseed initialization and button functionality in inbound modal

* fix:

* refactor: ensure proper WebSocket URL construction by normalizing basePath

* fix:

* fix:

* fix:

* refactor: update testseed methods for improved reactivity and binding in VLESS form

* logger info to debug

---------

Co-authored-by: lolka1333 <test123@gmail.com>
2026-01-03 05:26:00 +01:00

767 lines
32 KiB
TOML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.

"username" = "用户名"
"password" = "密码"
"login" = "登录"
"confirm" = "确定"
"cancel" = "取消"
"close" = "关闭"
"create" = "创建"
"update" = "更新"
"copy" = "复制"
"copied" = "已复制"
"download" = "下载"
"remark" = "备注"
"enable" = "启用"
"protocol" = "协议"
"search" = "搜索"
"filter" = "筛选"
"loading" = "加载中..."
"second" = "秒"
"minute" = "分钟"
"hour" = "小时"
"day" = "天"
"check" = "查看"
"indefinite" = "无限期"
"unlimited" = "无限制"
"none" = "无"
"qrCode" = "二维码"
"info" = "更多信息"
"edit" = "编辑"
"delete" = "删除"
"reset" = "重置"
"noData" = "无数据。"
"copySuccess" = "复制成功"
"sure" = "确定"
"encryption" = "加密"
"useIPv4ForHost" = "使用 IPv4 连接主机"
"transmission" = "传输"
"host" = "主机"
"path" = "路径"
"camouflage" = "伪装"
"status" = "状态"
"enabled" = "开启"
"disabled" = "关闭"
"depleted" = "耗尽"
"depletingSoon" = "即将耗尽"
"offline" = "离线"
"online" = "在线"
"domainName" = "域名"
"monitor" = "监听"
"certificate" = "数字证书"
"fail" = "失败"
"comment" = "评论"
"success" = "成功"
"lastOnline" = "上次在线"
"getVersion" = "获取版本"
"install" = "安装"
"clients" = "客户端"
"usage" = "使用情况"
"twoFactorCode" = "代码"
"remained" = "剩余"
"security" = "安全"
"secAlertTitle" = "安全警报"
"secAlertSsl" = "此连接不安全。在激活 TLS 进行数据保护之前,请勿输入敏感信息。"
"secAlertConf" = "某些设置易受攻击。建议加强安全协议以防止潜在漏洞。"
"secAlertSSL" = "面板缺少安全连接。请安装 TLS 证书以保护数据安全。"
"secAlertPanelPort" = "面板默认端口存在安全风险。请配置随机端口或特定端口。"
"secAlertPanelURI" = "面板默认 URI 路径不安全。请配置复杂的 URI 路径。"
"secAlertSubURI" = "订阅默认 URI 路径不安全。请配置复杂的 URI 路径。"
"secAlertSubJsonURI" = "订阅 JSON 默认 URI 路径不安全。请配置复杂的 URI 路径。"
"emptyDnsDesc" = "未添加DNS服务器。"
"emptyFakeDnsDesc" = "未添加Fake DNS服务器。"
"emptyBalancersDesc" = "未添加负载均衡器。"
"emptyReverseDesc" = "未添加反向代理。"
"somethingWentWrong" = "出了点问题"
[subscription]
"title" = "订阅信息"
"subId" = "订阅 ID"
"status" = "状态"
"downloaded" = "已下载"
"uploaded" = "已上传"
"expiry" = "到期"
"totalQuota" = "总配额"
"individualLinks" = "单独链接"
"active" = "启用"
"inactive" = "停用"
"unlimited" = "无限制"
"noExpiry" = "无到期"
[menu]
"theme" = "主题"
"dark" = "暗色"
"ultraDark" = "超暗色"
"dashboard" = "系统状态"
"inbounds" = "入站列表"
"settings" = "面板设置"
"xray" = "Xray 设置"
"logout" = "退出登录"
"link" = "管理"
[pages.login]
"hello" = "你好"
"title" = "欢迎"
"loginAgain" = "登录时效已过,请重新登录"
[pages.login.toasts]
"invalidFormData" = "数据格式错误"
"emptyUsername" = "请输入用户名"
"emptyPassword" = "请输入密码"
"wrongUsernameOrPassword" = "用户名、密码或双重验证码无效。"
"successLogin" = "您已成功登录您的账户。"
[pages.index]
"title" = "系统状态"
"cpu" = "CPU"
"logicalProcessors" = "逻辑处理器"
"frequency" = "频率"
"swap" = "交换分区"
"storage" = "存储"
"memory" = "内存"
"threads" = "线程"
"xrayStatus" = "Xray"
"stopXray" = "停止"
"restartXray" = "重启"
"xraySwitch" = "版本"
"xraySwitchClick" = "选择你要切换到的版本"
"xraySwitchClickDesk" = "请谨慎选择,因为较旧版本可能与当前配置不兼容"
"xrayStatusUnknown" = "未知"
"xrayStatusRunning" = "运行中"
"xrayStatusStop" = "停止"
"xrayStatusError" = "错误"
"xrayErrorPopoverTitle" = "运行Xray时发生错误"
"operationHours" = "系统正常运行时间"
"systemLoad" = "系统负载"
"systemLoadDesc" = "过去 1、5 和 15 分钟的系统平均负载"
"connectionCount" = "连接数"
"ipAddresses" = "IP地址"
"toggleIpVisibility" = "切换IP可见性"
"overallSpeed" = "整体速度"
"upload" = "上传"
"download" = "下载"
"totalData" = "总数据"
"sent" = "已发送"
"received" = "已接收"
"documentation" = "文档"
"xraySwitchVersionDialog" = "您确定要更改Xray版本吗"
"xraySwitchVersionDialogDesc" = "这将把Xray版本更改为#version#。"
"xraySwitchVersionPopover" = "Xray 更新成功"
"geofileUpdateDialog" = "您确定要更新地理文件吗?"
"geofileUpdateDialogDesc" = "这将更新 #filename# 文件。"
"geofilesUpdateDialogDesc" = "这将更新所有文件。"
"geofilesUpdateAll" = "全部更新"
"geofileUpdatePopover" = "地理文件更新成功"
"dontRefresh" = "安装中,请勿刷新此页面"
"logs" = "日志"
"config" = "配置"
"backup" = "备份"
"backupTitle" = "备份和恢复数据库"
"exportDatabase" = "备份"
"exportDatabaseDesc" = "点击下载包含当前数据库备份的 .db 文件到您的设备。"
"importDatabase" = "恢复"
"importDatabaseDesc" = "点击选择并上传设备中的 .db 文件以从备份恢复数据库。"
"importDatabaseSuccess" = "数据库导入成功"
"importDatabaseError" = "导入数据库时出错"
"readDatabaseError" = "读取数据库时出错"
"getDatabaseError" = "检索数据库时出错"
"getConfigError" = "检索配置文件时出错"
[pages.inbounds]
"allTimeTraffic" = "累计总流量"
"allTimeTrafficUsage" = "所有时间总使用量"
"title" = "入站列表"
"totalDownUp" = "总上传 / 下载"
"totalUsage" = "总用量"
"inboundCount" = "入站数量"
"operate" = "菜单"
"enable" = "启用"
"remark" = "备注"
"protocol" = "协议"
"port" = "端口"
"portMap" = "端口映射"
"traffic" = "流量"
"details" = "详细信息"
"transportConfig" = "传输配置"
"expireDate" = "到期时间"
"createdAt" = "创建时间"
"updatedAt" = "更新时间"
"resetTraffic" = "重置流量"
"addInbound" = "添加入站"
"generalActions" = "通用操作"
"autoRefresh" = "自动刷新"
"autoRefreshInterval" = "间隔"
"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、监听 IPListening 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" = "从面板设置证书"
"telegramDesc" = "请提供Telegram聊天ID。在机器人中使用'/id'命令)或(@userinfobot"
"subscriptionDesc" = "要找到你的订阅 URL请导航到“详细信息”。此外你可以为多个客户端使用相同的名称。"
"info" = "信息"
"same" = "相同"
"inboundData" = "入站数据"
"exportInbound" = "导出入站规则"
"import" = "导入"
"importInbound" = "导入入站规则"
"periodicTrafficResetTitle" = "流量重置"
"periodicTrafficResetDesc" = "按指定间隔自动重置流量计数器"
"lastReset" = "上次重置"
[pages.client]
"add" = "添加客户端"
"edit" = "编辑客户端"
"submitAdd" = "添加客户端"
"submitEdit" = "保存修改"
"clientCount" = "客户端数量"
"bulk" = "批量创建"
"method" = "方法"
"first" = "置顶"
"last" = "置底"
"prefix" = "前缀"
"postfix" = "后缀"
"delayedStart" = "首次使用后开始"
"expireDays" = "期间"
"days" = "天"
"renew" = "自动续订"
"renewDesc" = "到期后自动续订。(0 = 禁用)(单位: 天)"
[pages.inbounds.periodicTrafficReset]
"never" = "从不"
"daily" = "每日"
"weekly" = "每周"
"monthly" = "每月"
[pages.inbounds.toasts]
"obtain" = "获取"
"updateSuccess" = "更新成功"
"logCleanSuccess" = "日志已清除"
"inboundsUpdateSuccess" = "入站连接已成功更新"
"inboundUpdateSuccess" = "入站连接已成功更新"
"inboundCreateSuccess" = "入站连接已成功创建"
"inboundDeleteSuccess" = "入站连接已成功删除"
"inboundClientAddSuccess" = "已添加入站客户端"
"inboundClientDeleteSuccess" = "入站客户端已删除"
"inboundClientUpdateSuccess" = "入站客户端已更新"
"delDepletedClientsSuccess" = "所有耗尽客户端已删除"
"resetAllClientTrafficSuccess" = "客户端所有流量已重置"
"resetAllTrafficSuccess" = "所有流量已重置"
"resetInboundClientTrafficSuccess" = "流量已重置"
"trafficGetError" = "获取流量数据时出错"
"getNewX25519CertError" = "获取X25519证书时出错。"
"getNewmldsa65Error" = "获取mldsa65证书时出错。"
"getNewVlessEncError" = "获取VlessEnc证书时出错。"
[pages.inbounds.stream.general]
"request" = "请求"
"response" = "响应"
"name" = "名称"
"value" = "值"
[pages.inbounds.stream.tcp]
"version" = "版本"
"method" = "方法"
"path" = "路径"
"status" = "状态"
"statusDescription" = "状态说明"
"requestHeader" = "请求头"
"responseHeader" = "响应头"
[pages.settings]
"title" = "面板设置"
"save" = "保存"
"infoDesc" = "此处的所有更改都需要保存并重启面板才能生效"
"restartPanel" = "重启面板"
"restartPanelDesc" = "确定要重启面板吗?若重启后无法访问面板,请前往服务器查看面板日志信息"
"restartPanelSuccess" = "面板已成功重启"
"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根据指南调整设置"
"telegramAPIServer" = "Telegram API Server"
"telegramAPIServerDesc" = "要使用的 Telegram API 服务器。留空以使用默认服务器。"
"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" = "启用订阅服务功能"
"subJsonEnable" = "单独启用/禁用 JSON 订阅端点。"
"subTitle" = "订阅标题"
"subTitleDesc" = "在VPN客户端中显示的标题"
"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 "
"externalTrafficInformEnable" = ""
"externalTrafficInformEnableDesc" = " API"
"externalTrafficInformURI" = " URI"
"externalTrafficInformURIDesc" = " URI"
"fragment" = ""
"fragmentDesc" = " TLS hello "
"fragmentSett" = ""
"noisesDesc" = " Noises."
"noisesSett" = "Noises "
"mux" = ""
"muxDesc" = ""
"muxSett" = ""
"direct" = ""
"directDesc" = "IP"
"notifications" = ""
"certs" = ""
"externalTraffic" = ""
"dateAndTime" = ""
"proxyAndServer" = ""
"intervals" = ""
"information" = ""
"language" = ""
"telegramBotLanguage" = "Telegram "
[pages.xray]
"title" = "Xray "
"save" = ""
"restart" = " Xray"
"restartSuccess" = "Xray "
"stopSuccess" = "Xray "
"restartError" = "Xray"
"stopError" = "Xray"
"basicTemplate" = ""
"advancedTemplate" = ""
"generalConfigs" = ""
"generalConfigsDesc" = ""
"logConfigs" = ""
"logConfigsDesc" = ""
"blockConfigsDesc" = ""
"basicRouting" = ""
"blockConnectionsConfigsDesc" = ""
"directConnectionsConfigsDesc" = ""
"blockips" = "IP"
"blockdomains" = ""
"directips" = "IP"
"directdomains" = ""
"ipv4Routing" = "IPv4 "
"ipv4RoutingDesc" = " IPv4 "
"warpRouting" = "WARP "
"warpRoutingDesc" = "使 GitHub socks5 WARPWARP Cloudflare "
"Template" = " Xray "
"TemplateDesc" = " Xray "
"FreedomStrategy" = "Freedom "
"FreedomStrategyDesc" = " Freedom "
"RoutingStrategy" = ""
"RoutingStrategyDesc" = " DNS "
"Torrent" = " BitTorrent "
"Inbounds" = ""
"InboundsDesc" = ""
"Outbounds" = ""
"Balancers" = ""
"OutboundsDesc" = ""
"Routings" = ""
"RoutingsDesc" = ""
"completeTemplate" = ""
"logLevel" = ""
"logLevelDesc" = ""
"accessLog" = "访"
"accessLogDesc" = "访 'none' 访"
"errorLog" = ""
"errorLogDesc" = " 'none' "
"dnsLog" = "DNS "
"dnsLogDesc" = " DNS "
"maskAddress" = ""
"maskAddressDesc" = "IP IP "
"statistics" = ""
"statsInboundUplink" = ""
"statsInboundUplinkDesc" = ""
"statsInboundDownlink" = ""
"statsInboundDownlinkDesc" = ""
"statsOutboundUplink" = ""
"statsOutboundUplinkDesc" = ""
"statsOutboundDownlink" = ""
"statsOutboundDownlinkDesc" = ""
[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"
"link" = ""
"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" = ""
"clientIp" = "IP"
"clientIpDesc" = "DNSIP"
"disableCache" = ""
"disableCacheDesc" = "DNS"
"disableFallback" = "退"
"disableFallbackDesc" = "退DNS"
"disableFallbackIfMatch" = "退"
"disableFallbackIfMatchDesc" = "DNS退DNS"
"enableParallelQuery" = ""
"enableParallelQueryDesc" = "DNS"
"strategy" = ""
"strategyDesc" = ""
"add" = ""
"edit" = ""
"domains" = ""
"expectIPs" = " IP"
"unexpectIPs" = "IP"
"useSystemHosts" = "使Hosts"
"useSystemHostsDesc" = "使hosts"
"usePreset" = "使"
"dnsPresetTitle" = "DNS"
"dnsPresetFamily" = ""
[pages.xray.fakedns]
"add" = " DNS"
"edit" = " DNS"
"ipPool" = "IP "
"poolSize" = ""
[pages.settings.security]
"admin" = ""
"twoFactor" = ""
"twoFactorEnable" = "2FA"
"twoFactorEnableDesc" = ""
"twoFactorModalSetTitle" = ""
"twoFactorModalDeleteTitle" = ""
"twoFactorModalSteps" = ""
"twoFactorModalFirstStep" = "1. QRQR"
"twoFactorModalSecondStep" = "2. "
"twoFactorModalRemoveStep" = ""
"twoFactorModalChangeCredentialsTitle" = ""
"twoFactorModalChangeCredentialsStep" = ""
"twoFactorModalSetSuccess" = ""
"twoFactorModalDeleteSuccess" = ""
"twoFactorModalError" = ""
[pages.settings.toasts]
"modifySettings" = ""
"getSettings" = ""
"modifyUserError" = ""
"modifyUser" = ""
"originalUserPassIncorrect" = ""
"userPassMustBeNotEmpty" = ""
"getOutboundTrafficError" = ""
"resetOutboundTrafficError" = ""
[tgbot]
"keyboardClosed" = " "
"noResult" = " "
"noQuery" = " 使"
"wentWrong" = " "
"noIpRecord" = " IP"
"noInbounds" = " "
"unlimited" = " "
"add" = ""
"month" = ""
"months" = ""
"day" = ""
"days" = ""
"hours" = ""
"minutes" = ""
"unknown" = ""
"inbounds" = ""
"clients" = ""
"offline" = "🔴 线"
"online" = "🟢 线"
[tgbot.commands]
"unknown" = " "
"pleaseChoose" = "👇 \r\n"
"help" = "🤖 使\r\n\r\n"
"start" = "👋 <i>{{ .Firstname }}</i>\r\n"
"welcome" = "🤖 <b>{{ .Hostname }}</b> \r\n"
"status" = " "
"usage" = " "
"getID" = "🆔 ID <code>{{ .ID }}</code>"
"helpAdminCommands" = " Xray Core\r\n<code>/restart</code>\r\n\r\n\r\n<code>/usage []</code>\r\n\r\n\r\n<code>/inbound []</code>\r\n\r\nTelegramID\r\n<code>/id</code>"
"helpClientCommands" = "使\r\n<code>/usage []</code>\r\n\r\nTelegramID\r\n<code>/id</code>"
"restartUsage" = "\r\n\r\n<code>/restart</code>"
"restartSuccess" = " !"
"restartFailed" = " \r\n\r\n<code>: {{ .Error }}</code>."
"xrayNotRunning" = " Xray Core "
"startDesc" = ""
"helpDesc" = ""
"statusDesc" = ""
"idDesc" = " Telegram 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"
"lastOnline" = "🔙 线: {{ .Time }}\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" = " "
"received_id" = "🔑📥 ID "
"received_password" = "🔑📥 "
"received_email" = "📧📥 "
"received_comment" = "💬📥 "
"id_prompt" = "🔑 ID: {{ .ClientId }}\n\n ID"
"pass_prompt" = "🔑 : {{ .ClientPassword }}\n\n"
"email_prompt" = "📧 : {{ .ClientEmail }}\n\n"
"comment_prompt" = "💬 : {{ .ClientComment }}\n\n"
"inbound_client_data_id" = "🔄 : {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 : {{ .ClientEmail }}\n📊 : {{ .ClientTraffic }}\n📅 : {{ .ClientExp }}\n🌐 IP : {{ .IpLimit }}\n💬 : {{ .ClientComment }}\n\n"
"inbound_client_data_pass" = "🔄 : {{ .InboundRemark }}\n\n🔑 : {{ .ClientPass }}\n📧 : {{ .ClientEmail }}\n📊 : {{ .ClientTraffic }}\n📅 : {{ .ClientExp }}\n🌐 IP : {{ .IpLimit }}\n💬 : {{ .ClientComment }}\n\n"
"cancel" = " \n\n使 /start 🔄"
"error_add_client" = " :\n\n {{ .error }}"
"using_default_value" = "使 😊"
"incorrect_input" = "\n\n: aaaaaa\n: aaa aaa 🚫"
"AreYouSure" = "🤔"
"SuccessResetTraffic" = "📧 : {{ .ClientEmail }}\n🏁 : "
"FailedResetTraffic" = "📧 : {{ .ClientEmail }}\n🏁 : \n\n🛠 : [ {{ .ErrorMessage }} ]"
"FinishProcess" = "🔚 "
[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" = ""
"addClient" = ""
"submitDisable" = " "
"submitEnable" = " "
"use_default" = "🏷 使"
"change_id" = "🔑 ID"
"change_password" = "🔑 "
"change_email" = "📧 "
"change_comment" = "💬 "
"ResetAllTraffics" = ""
"SortedTrafficUsageReport" = "使"
[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<code>{{ .TgUserID }}</code>"
"chooseClient" = " {{ .Inbound }} "
"chooseInbound" = ""