|
@@ -1,6 +1,6 @@
|
|
|
"username" = "Username"
|
|
|
"password" = "Password"
|
|
|
-"login" = "Login"
|
|
|
+"login" = "Log In"
|
|
|
"confirm" = "Confirm"
|
|
|
"cancel" = "Cancel"
|
|
|
"close" = "Close"
|
|
@@ -54,11 +54,11 @@
|
|
|
"security" = "Security"
|
|
|
|
|
|
[menu]
|
|
|
-"dashboard" = "System Status"
|
|
|
+"dashboard" = "Status Overview"
|
|
|
"inbounds" = "Inbounds"
|
|
|
"settings" = "Panel Settings"
|
|
|
-"xray" = "Xray Settings"
|
|
|
-"logout" = "Logout"
|
|
|
+"xray" = "Xray Configurations"
|
|
|
+"logout" = "Log Out"
|
|
|
"link" = "Manage"
|
|
|
|
|
|
[pages.login]
|
|
@@ -66,14 +66,14 @@
|
|
|
"loginAgain" = "Your session has expired, please log in again"
|
|
|
|
|
|
[pages.login.toasts]
|
|
|
-"invalidFormData" = "Input data format is invalid."
|
|
|
-"emptyUsername" = "Please enter username."
|
|
|
-"emptyPassword" = "Please enter password."
|
|
|
+"invalidFormData" = "The Input data format is invalid."
|
|
|
+"emptyUsername" = "Username is required"
|
|
|
+"emptyPassword" = "Password is required"
|
|
|
"wrongUsernameOrPassword" = "Invalid username or password."
|
|
|
"successLogin" = "Login"
|
|
|
|
|
|
[pages.index]
|
|
|
-"title" = "System Status"
|
|
|
+"title" = "Overview"
|
|
|
"memory" = "RAM"
|
|
|
"hard" = "Disk"
|
|
|
"xrayStatus" = "Status"
|
|
@@ -87,9 +87,9 @@
|
|
|
"systemLoadDesc" = "system load average for the past 1, 5, and 15 minutes"
|
|
|
"connectionTcpCountDesc" = "Total TCP connections across all network cards"
|
|
|
"connectionUdpCountDesc" = "Total UDP connections across all network cards"
|
|
|
-"connectionCount" = "Number of Connections"
|
|
|
-"upSpeed" = "Total upload speed for all network cards"
|
|
|
-"downSpeed" = "Total download speed for all network cards"
|
|
|
+"connectionCount" = "Connections"
|
|
|
+"upSpeed" = "Overall upload speed for all network cards"
|
|
|
+"downSpeed" = "Overall download speed for all network cards"
|
|
|
"totalSent" = "Total upload data across all network cards since OS startup"
|
|
|
"totalReceive" = "Total download data across all network cards since OS startup"
|
|
|
"xraySwitchVersionDialog" = "Switch Xray Version"
|
|
@@ -99,14 +99,14 @@
|
|
|
"config" = "Config"
|
|
|
"backup" = "Backup & Restore"
|
|
|
"backupTitle" = "Backup & Restore Database"
|
|
|
-"backupDescription" = "It is recommended to backup before importing a new database."
|
|
|
+"backupDescription" = "It is recommended to a make backup before importing a new database."
|
|
|
"exportDatabase" = "Download Database"
|
|
|
"importDatabase" = "Upload Database"
|
|
|
|
|
|
[pages.inbounds]
|
|
|
"title" = "Inbounds"
|
|
|
"totalDownUp" = "Total Uploads/Downloads"
|
|
|
-"totalUsage" = "Total Usage"
|
|
|
+"totalUsage" = "Total Flow Usage"
|
|
|
"inboundCount" = "Number of Inbounds"
|
|
|
"operate" = "Menu"
|
|
|
"enable" = "Enable"
|
|
@@ -116,7 +116,7 @@
|
|
|
"traffic" = "Traffic"
|
|
|
"details" = "Details"
|
|
|
"transportConfig" = "Transport"
|
|
|
-"expireDate" = "Expire Date"
|
|
|
+"expireDate" = "Expiration Date"
|
|
|
"resetTraffic" = "Reset Traffic"
|
|
|
"addInbound" = "Add Inbound"
|
|
|
"generalActions" = "General Actions"
|
|
@@ -124,11 +124,11 @@
|
|
|
"update" = "Update"
|
|
|
"modifyInbound" = "Modify Inbound"
|
|
|
"deleteInbound" = "Delete Inbound"
|
|
|
-"deleteInboundContent" = "Confirm deletion of inbound?"
|
|
|
+"deleteInboundContent" = "Are you sure you want to delete inbound?"
|
|
|
"deleteClient" = "Delete Client"
|
|
|
"deleteClientContent" = "Are you sure you want to delete client?"
|
|
|
-"resetTrafficContent" = "Confirm traffic reset?"
|
|
|
-"copyLink" = "Copy Link"
|
|
|
+"resetTrafficContent" = "Are you sure you want to reset traffic?"
|
|
|
+"copyLink" = "Copy URL"
|
|
|
"address" = "Address"
|
|
|
"network" = "Network"
|
|
|
"destinationPort" = "Destination Port"
|
|
@@ -137,7 +137,7 @@
|
|
|
"meansNoLimit" = "Means no limit"
|
|
|
"totalFlow" = "Total Flow"
|
|
|
"leaveBlankToNeverExpire" = "Leave Blank to Never Expire"
|
|
|
-"noRecommendKeepDefault" = "No special requirements to maintain default settings"
|
|
|
+"noRecommendKeepDefault" = "It is recommended to keep the default"
|
|
|
"certificatePath" = "File Path"
|
|
|
"certificateContent" = "File Content"
|
|
|
"publicKeyPath" = "Public Key Path"
|
|
@@ -146,23 +146,23 @@
|
|
|
"keyContent" = "Private Key Content"
|
|
|
"clickOnQRcode" = "Click on QR Code to Copy"
|
|
|
"client" = "Client"
|
|
|
-"export" = "Export Links"
|
|
|
+"export" = "Export All URLs"
|
|
|
"clone" = "Clone"
|
|
|
"cloneInbound" = "Clone"
|
|
|
"cloneInboundContent" = "All settings of this inbound, except for Port, Listening IP, and Clients, will be applied to the clone."
|
|
|
"cloneInboundOk" = "Clone"
|
|
|
"resetAllTraffic" = "Reset All Inbounds Traffic"
|
|
|
"resetAllTrafficTitle" = "Reset All Inbounds Traffic"
|
|
|
-"resetAllTrafficContent" = "Are you sure you want to reset all inbounds traffic?"
|
|
|
+"resetAllTrafficContent" = "Are you sure you want to reset the traffic of all inbounds?"
|
|
|
"resetInboundClientTraffics" = "Reset Clients Traffic"
|
|
|
"resetInboundClientTrafficTitle" = "Reset Clients Traffic"
|
|
|
-"resetInboundClientTrafficContent" = "Are you sure you want to reset all traffic for this inbound's clients?"
|
|
|
+"resetInboundClientTrafficContent" = "Are you sure you want to reset the traffic of this inbound's clients?"
|
|
|
"resetAllClientTraffics" = "Reset All Clients Traffic"
|
|
|
-"resetAllClientTrafficTitle" = "Reset all clients traffic"
|
|
|
-"resetAllClientTrafficContent" = "Are you sure you want to reset all traffics for all clients?"
|
|
|
+"resetAllClientTrafficTitle" = "Reset All Clients Traffic"
|
|
|
+"resetAllClientTrafficContent" = "Are you sure you want to reset the traffic of all clients?"
|
|
|
"delDepletedClients" = "Delete Depleted Clients"
|
|
|
"delDepletedClientsTitle" = "Delete Depleted Clients"
|
|
|
-"delDepletedClientsContent" = "Are you sure you want to delete all depleted clients?"
|
|
|
+"delDepletedClientsContent" = "Are you sure you want to delete all the depleted clients?"
|
|
|
"email" = "Email"
|
|
|
"emailDesc" = "Please provide a unique email address."
|
|
|
"IPLimit" = "IP Limit"
|
|
@@ -171,10 +171,10 @@
|
|
|
"IPLimitlogDesc" = "IPs history log (before enabling inbound after it has been disabled by IP limit, you should clear the log)."
|
|
|
"IPLimitlogclear" = "Clear The Log"
|
|
|
"setDefaultCert" = "Set Cert from Panel"
|
|
|
-"xtlsDesc" = "Xray core needs to be 1.7.5"
|
|
|
-"realityDesc" = "Xray core needs to be 1.8.0 or higher."
|
|
|
-"telegramDesc" = "Only use Chat ID (you can get it here @userinfobot or use '/id' command in bot)"
|
|
|
-"subscriptionDesc" = "you can find your sub link on Details, also you can use the same name for several configurations"
|
|
|
+"xtlsDesc" = "Xray-core needs to be 1.7.5"
|
|
|
+"realityDesc" = "Xray-core needs to be 1.8.0+."
|
|
|
+"telegramDesc" = "Please provide Telegram or Chat ID(s) without using the '@'. (get it here @userinfobot) or (use '/id' command in the bot)"
|
|
|
+"subscriptionDesc" = "To find your subscription URL, navigate to the 'Details'. Additionally, you can use the same name for several configurations."
|
|
|
"info" = "Info"
|
|
|
"same" = "Same"
|
|
|
"inboundData" = "Inbound's Data"
|
|
@@ -194,11 +194,11 @@
|
|
|
"last" = "Last"
|
|
|
"prefix" = "Prefix"
|
|
|
"postfix" = "Postfix"
|
|
|
-"delayedStart" = "Start After First Use"
|
|
|
+"delayedStart" = "Start after First Use"
|
|
|
"expireDays" = "Expire Days"
|
|
|
"days" = "Day(s)"
|
|
|
"renew" = "Auto Renew"
|
|
|
-"renewDesc" = "Auto renew days after expiration. 0 = disable"
|
|
|
+"renewDesc" = "Auto-renewal after expiration. 0 = disable"
|
|
|
|
|
|
[pages.inbounds.toasts]
|
|
|
"obtain" = "Obtain"
|
|
@@ -221,13 +221,13 @@
|
|
|
"encryption" = "Encryption"
|
|
|
|
|
|
[pages.settings]
|
|
|
-"title" = "Settings"
|
|
|
+"title" = "Panel Settings"
|
|
|
"save" = "Save"
|
|
|
"infoDesc" = "Every change made here needs to be saved. Please restart the panel to apply changes."
|
|
|
"restartPanel" = "Restart Panel"
|
|
|
-"restartPanelDesc" = "Are you sure you want to restart the panel? click OK to restart after 3 seconds. If you cannot access the panel after restarting, please view the panel log info on the server."
|
|
|
+"restartPanelDesc" = "Are you sure you want to restart the panel? If you cannot access the panel after restarting, please view the panel log info on the server."
|
|
|
"actions" = "Actions"
|
|
|
-"resetDefaultConfig" = "Reset to Default Configuration"
|
|
|
+"resetDefaultConfig" = "Reset to Default"
|
|
|
"panelSettings" = "Panel Settings"
|
|
|
"securitySettings" = "Security Settings"
|
|
|
"TGBotSettings" = "Telegram Bot Settings"
|
|
@@ -237,16 +237,16 @@
|
|
|
"panelListeningDomainDesc" = "Leave blank by default to monitor all domains and IPs."
|
|
|
"panelPort" = "Panel Port"
|
|
|
"panelPortDesc" = "Port number for serving the panel."
|
|
|
-"publicKeyPath" = "Panel Certificate Public Key Path"
|
|
|
+"publicKeyPath" = "Panel Public Key Path"
|
|
|
"publicKeyPathDesc" = "Fill in an absolute path starting with."
|
|
|
-"privateKeyPath" = "Panel Certificate Private Key Path"
|
|
|
+"privateKeyPath" = "Panel Private Key Path"
|
|
|
"privateKeyPathDesc" = "Fill in an absolute path starting with."
|
|
|
-"panelUrlPath" = "Panel URL Root Path"
|
|
|
+"panelUrlPath" = "Panel URI Path"
|
|
|
"panelUrlPathDesc" = "Must start with '/' and end with."
|
|
|
"pageSize" = "Pagination Size"
|
|
|
"pageSizeDesc" = "Define page size for inbounds table. Set 0 to disable"
|
|
|
-"remarkModel" = "Remark Model and Seperation Charachter"
|
|
|
-"datepicker" = "Datepicker"
|
|
|
+"remarkModel" = "Remark Model & Separation Character"
|
|
|
+"datepicker" = "Date Picker"
|
|
|
"datepickerDescription" = "Selector calendar type specifies the expiration date"
|
|
|
"sampleRemark" = "Sample Remark"
|
|
|
"oldUsername" = "Current Username"
|
|
@@ -259,8 +259,8 @@
|
|
|
"telegramTokenDesc" = "The token you have got from @BotFather."
|
|
|
"telegramProxy" = "Socks5 Proxy"
|
|
|
"telegramProxyDesc" = "If you need the Socks5 proxy to connect to Telegram. Adjust its settings as per the guide."
|
|
|
-"telegramChatId" = "Telegram Admin Chat IDs"
|
|
|
-"telegramChatIdDesc" = "Multiple chat IDs separated by comma. use @userinfobot or use '/id' command in bot to get your Chat IDs."
|
|
|
+"telegramChatId" = "Telegram Admin Chat ID"
|
|
|
+"telegramChatIdDesc" = "Multiple chat ID(s)separated by comma. use @userinfobot or use '/id' command in bot to get your Chat IDs."
|
|
|
"telegramNotifyTime" = "Telegram bot notification time"
|
|
|
"telegramNotifyTimeDesc" = "Use crontab timing format."
|
|
|
"tgNotifyBackup" = "Database Backup"
|
|
@@ -275,35 +275,35 @@
|
|
|
"trafficDiffDesc" = "Get notified about traffic exhaustion before reaching the threshold. (unit: GB)"
|
|
|
"tgNotifyCpu" = "CPU Load Threshold Notification"
|
|
|
"tgNotifyCpuDesc" = "Get notified if CPU usage exceeds this threshold. (unit: %)"
|
|
|
-"timeZone" = "Time zone"
|
|
|
+"timeZone" = "Time Zone"
|
|
|
"timeZoneDesc" = "Scheduled tasks run according to the time in this time zone."
|
|
|
"subSettings" = "Subscription"
|
|
|
"subEnable" = "Enable Service"
|
|
|
"subEnableDesc" = "Subscription feature with separate configuration."
|
|
|
-"subListen" = "Listening IP"
|
|
|
+"subListen" = "Subscription Listening IP"
|
|
|
"subListenDesc" = "Leave blank by default to monitor all IPs."
|
|
|
"subPort" = "Subscription Port"
|
|
|
"subPortDesc" = "Port number for serving the subscription service. Must be unused in server."
|
|
|
-"subCertPath" = "Subscription Certificate Public Key Path"
|
|
|
+"subCertPath" = "Subscription Public Key Path"
|
|
|
"subCertPathDesc" = "Fill in an absolute path starting with '/'"
|
|
|
-"subKeyPath" = "Subscription Certificate Private Key Path"
|
|
|
+"subKeyPath" = "Subscription Private Key Path"
|
|
|
"subKeyPathDesc" = "Fill in an absolute path starting with '/'"
|
|
|
-"subPath" = "Subscription URL Root Path"
|
|
|
+"subPath" = "Subscription URI Path"
|
|
|
"subPathDesc" = "Must start with '/' and end with '/'"
|
|
|
-"subDomain" = "Listening Domain"
|
|
|
+"subDomain" = "Subscription Listening Domain"
|
|
|
"subDomainDesc" = "Leave blank by default to monitor all domains and IPs."
|
|
|
-"subUpdates" = "Subscription update intervals"
|
|
|
+"subUpdates" = "Subscription Update Intervals"
|
|
|
"subUpdatesDesc" = "Interval hours between updates in client application."
|
|
|
-"subEncrypt" = "Encode Configs"
|
|
|
-"subEncryptDesc" = "Encode the returned configs in subscription."
|
|
|
+"subEncrypt" = "Encode"
|
|
|
+"subEncryptDesc" = "The returned content of subscription URL will be Base64 encoded."
|
|
|
"subShowInfo" = "Show Usage Info"
|
|
|
"subShowInfoDesc" = "Show remained traffic and date after config name."
|
|
|
"subURI" = "Reverse Proxy URI"
|
|
|
"subURIDesc" = "Change base URI of subscription URL for using on behind of proxies."
|
|
|
|
|
|
[pages.xray]
|
|
|
-"title" = "Xray Settings"
|
|
|
-"save" = "Save Settings"
|
|
|
+"title" = "Xray Configurations"
|
|
|
+"save" = "Save"
|
|
|
"restart" = "Restart Xray"
|
|
|
"basicTemplate" = "Basic Template"
|
|
|
"advancedTemplate" = "Advanced Template"
|
|
@@ -403,7 +403,7 @@
|
|
|
"info" = "Info"
|
|
|
"add" = "Add Rule"
|
|
|
"edit" = "Edit Rule"
|
|
|
-"useComma" = "Comma separated items"
|
|
|
+"useComma" = "Comma-separated items"
|
|
|
|
|
|
[pages.xray.outbound]
|
|
|
"addOutbound" = "Add Outbound"
|
|
@@ -432,8 +432,8 @@
|
|
|
"modifySettings" = "Modify Settings"
|
|
|
"getSettings" = "Get Settings"
|
|
|
"modifyUser" = "Modify User"
|
|
|
-"originalUserPassIncorrect" = "Incorrect original username or password"
|
|
|
-"userPassMustBeNotEmpty" = "New username and password cannot be empty"
|
|
|
+"originalUserPassIncorrect" = "The Current username or password is invalid"
|
|
|
+"userPassMustBeNotEmpty" = "The new username and password is empty"
|
|
|
|
|
|
[tgbot]
|
|
|
"keyboardClosed" = "❌ Custom keyboard closed!"
|
|
@@ -456,22 +456,23 @@
|
|
|
"online" = "🟢 Online"
|
|
|
|
|
|
[tgbot.commands]
|
|
|
-"unknown" = "❗ Unknown command"
|
|
|
+"unknown" = "❗ Unknown command."
|
|
|
"pleaseChoose" = "👇 Please choose:\r\n"
|
|
|
-"help" = "🤖 Welcome to this bot! It's designed to offer you specific data from the server, and it allows you to make modifications as needed.\r\n\r\n"
|
|
|
+"help" = "🤖 Welcome to this bot! It's designed to offer specific data from the server and allows you to make modifications as needed.\r\n\r\n"
|
|
|
"start" = "👋 Hello <i>{{ .Firstname }}</i>.\r\n"
|
|
|
"welcome" = "🤖 Welcome to <b>{{ .Hostname }}</b> management bot.\r\n"
|
|
|
"status" = "✅ Bot is OK!"
|
|
|
"usage" = "❗ Please provide a text to search!"
|
|
|
"getID" = "🆔 Your ID: <code>{{ .ID }}</code>"
|
|
|
-"helpAdminCommands" = "Search for a client email:\r\n<code>/usage [Email]</code>\r\n\r\nSearch for inbounds (with client stats):\r\n<code>/inbound [Remark]</code>"
|
|
|
-"helpClientCommands" = "To search for statistics, just use the following command:\r\n\r\n<code>/usage [Email]</code>"
|
|
|
+"helpAdminCommands" = "To search for a client email:\r\n<code>/usage [Email]</code>\r\n\r\nTo search for inbounds (with client stats):\r\n<code>/inbound [Remark]</code>"
|
|
|
+"helpClientCommands" = "To search for statistics, use the following command:\r\n\r\n<code>/usage [Email]</code>"
|
|
|
+
|
|
|
|
|
|
[tgbot.messages]
|
|
|
-"cpuThreshold" = "🔴 CPU Load {{ .Percent }}% is more than threshold {{ .Threshold }}%"
|
|
|
+"cpuThreshold" = "🔴 CPU Load {{ .Percent }}% exceeds the threshold of {{ .Threshold }}%"
|
|
|
"selectUserFailed" = "❌ Error in user selection!"
|
|
|
"userSaved" = "✅ Telegram User saved."
|
|
|
-"loginSuccess" = "✅ Successfully logged-in to the panel.\r\n"
|
|
|
+"loginSuccess" = "✅ Successfully logged in to the panel.\r\n"
|
|
|
"loginFailed" = "❗️ Login to the panel failed.\r\n"
|
|
|
"report" = "🕰 Scheduled Reports: {{ .RunTime }}\r\n"
|
|
|
"datetime" = "⏰ Date-Time: {{ .DateTime }}\r\n"
|
|
@@ -512,6 +513,7 @@
|
|
|
"yes" = "✅ Yes"
|
|
|
"no" = "❌ No"
|
|
|
|
|
|
+
|
|
|
[tgbot.buttons]
|
|
|
"closeKeyboard" = "❌ Close Keyboard"
|
|
|
"cancel" = "❌ Cancel"
|
|
@@ -524,7 +526,7 @@
|
|
|
"dbBackup" = "Get DB Backup"
|
|
|
"serverUsage" = "Server Usage"
|
|
|
"getInbounds" = "Get Inbounds"
|
|
|
-"depleteSoon" = "Deplete soon"
|
|
|
+"depleteSoon" = "Deplete Soon"
|
|
|
"clientUsage" = "Get Usage"
|
|
|
"onlines" = "Online Clients"
|
|
|
"commands" = "Commands"
|
|
@@ -532,7 +534,7 @@
|
|
|
"clearIPs" = "❌ Clear IPs"
|
|
|
"removeTGUser" = "❌ Remove Telegram User"
|
|
|
"selectTGUser" = "👤 Select Telegram User"
|
|
|
-"selectOneTGUser" = "👤 Select a telegram user:"
|
|
|
+"selectOneTGUser" = "👤 Select a Telegram user:"
|
|
|
"resetTraffic" = "📈 Reset Traffic"
|
|
|
"resetExpire" = "📅 Change Expiration Date"
|
|
|
"ipLog" = "🔢 IP Log"
|
|
@@ -545,22 +547,23 @@
|
|
|
"limitTraffic" = "🚧 Traffic Limit"
|
|
|
"getBanLogs" = "Get Ban Logs"
|
|
|
|
|
|
+
|
|
|
[tgbot.answers]
|
|
|
-"successfulOperation" = "✅ Successful!"
|
|
|
-"errorOperation" = "❗ Error in Operation."
|
|
|
-"getInboundsFailed" = "❌ Failed to get inbounds"
|
|
|
-"canceled" = "❌ {{ .Email }} : Operation canceled."
|
|
|
-"clientRefreshSuccess" = "✅ {{ .Email }} : Client refreshed successfully."
|
|
|
-"IpRefreshSuccess" = "✅ {{ .Email }} : IPs refreshed successfully."
|
|
|
-"TGIdRefreshSuccess" = "✅ {{ .Email }} : Client's Telegram User refreshed successfully."
|
|
|
-"resetTrafficSuccess" = "✅ {{ .Email }} : Traffic reset successfully."
|
|
|
-"setTrafficLimitSuccess" = "✅ {{ .Email }} : Traffic limit saved successfully."
|
|
|
-"expireResetSuccess" = "✅ {{ .Email }} : Expire days reset successfully."
|
|
|
-"resetIpSuccess" = "✅ {{ .Email }} : IP limit {{ .Count }} saved successfully."
|
|
|
-"clearIpSuccess" = "✅ {{ .Email }} : IPs cleared successfully."
|
|
|
-"getIpLog" = "✅ {{ .Email }} : Get IP Log."
|
|
|
-"getUserInfo" = "✅ {{ .Email }} : Get Telegram User Info."
|
|
|
-"removedTGUserSuccess" = "✅ {{ .Email }} : Telegram User removed successfully."
|
|
|
-"enableSuccess" = "✅ {{ .Email }} : Enabled successfully."
|
|
|
-"disableSuccess" = "✅ {{ .Email }} : Disabled successfully."
|
|
|
-"askToAddUserId" = "Your configuration is not found!\r\nPlease ask your Admin to use your telegram user id in your configuration(s).\r\n\r\nYour user id: <code>{{ .TgUserID }}</code>"
|
|
|
+"successfulOperation" = "✅ Operation successful!"
|
|
|
+"errorOperation" = "❗ Error in operation."
|
|
|
+"getInboundsFailed" = "❌ Failed to get inbounds."
|
|
|
+"canceled" = "❌ {{ .Email }}: Operation canceled."
|
|
|
+"clientRefreshSuccess" = "✅ {{ .Email }}: Client refreshed successfully."
|
|
|
+"IpRefreshSuccess" = "✅ {{ .Email }}: IPs refreshed successfully."
|
|
|
+"TGIdRefreshSuccess" = "✅ {{ .Email }}: Client's Telegram User refreshed successfully."
|
|
|
+"resetTrafficSuccess" = "✅ {{ .Email }}: Traffic reset successfully."
|
|
|
+"setTrafficLimitSuccess" = "✅ {{ .Email }}: Traffic limit saved successfully."
|
|
|
+"expireResetSuccess" = "✅ {{ .Email }}: Expire days reset successfully."
|
|
|
+"resetIpSuccess" = "✅ {{ .Email }}: IP limit {{ .Count }} saved successfully."
|
|
|
+"clearIpSuccess" = "✅ {{ .Email }}: IPs cleared successfully."
|
|
|
+"getIpLog" = "✅ {{ .Email }}: Get IP Log."
|
|
|
+"getUserInfo" = "✅ {{ .Email }}: Get Telegram User Info."
|
|
|
+"removedTGUserSuccess" = "✅ {{ .Email }}: Telegram User removed successfully."
|
|
|
+"enableSuccess" = "✅ {{ .Email }}: Enabled successfully."
|
|
|
+"disableSuccess" = "✅ {{ .Email }}: Disabled successfully."
|
|
|
+"askToAddUserId" = "Your configuration is not found!\r\nPlease ask your admin to use your Telegram user ID in your configuration(s).\r\n\r\nYour user ID: <code>{{ .TgUserID }}</code>"
|