diff --git a/web/controller/setting.go b/web/controller/setting.go
index 10129d17..623a34ce 100644
--- a/web/controller/setting.go
+++ b/web/controller/setting.go
@@ -43,7 +43,7 @@ func (a *SettingController) initRouter(g *gin.RouterGroup) {
func (a *SettingController) getAllSetting(c *gin.Context) {
allSetting, err := a.settingService.GetAllSetting()
if err != nil {
- jsonMsg(c, I18n(c, "pages.settings.toasts.getSetting"), err)
+ jsonMsg(c, I18n(c, "pages.settings.toasts.getSettings"), err)
return
}
jsonObj(c, allSetting, nil)
@@ -52,22 +52,22 @@ func (a *SettingController) getAllSetting(c *gin.Context) {
func (a *SettingController) getDefaultSettings(c *gin.Context) {
expireDiff, err := a.settingService.GetExpireDiff()
if err != nil {
- jsonMsg(c, I18n(c, "pages.settings.toasts.getSetting"), err)
+ jsonMsg(c, I18n(c, "pages.settings.toasts.getSettings"), err)
return
}
trafficDiff, err := a.settingService.GetTrafficDiff()
if err != nil {
- jsonMsg(c, I18n(c, "pages.settings.toasts.getSetting"), err)
+ jsonMsg(c, I18n(c, "pages.settings.toasts.getSettings"), err)
return
}
defaultCert, err := a.settingService.GetCertFile()
if err != nil {
- jsonMsg(c, I18n(c, "pages.settings.toasts.getSetting"), err)
+ jsonMsg(c, I18n(c, "pages.settings.toasts.getSettings"), err)
return
}
defaultKey, err := a.settingService.GetKeyFile()
if err != nil {
- jsonMsg(c, I18n(c, "pages.settings.toasts.getSetting"), err)
+ jsonMsg(c, I18n(c, "pages.settings.toasts.getSettings"), err)
return
}
result := map[string]interface{}{
@@ -83,18 +83,18 @@ func (a *SettingController) updateSetting(c *gin.Context) {
allSetting := &entity.AllSetting{}
err := c.ShouldBind(allSetting)
if err != nil {
- jsonMsg(c, I18n(c, "pages.settings.toasts.modifySetting"), err)
+ jsonMsg(c, I18n(c, "pages.settings.toasts.modifySettings"), err)
return
}
err = a.settingService.UpdateAllSetting(allSetting)
- jsonMsg(c, I18n(c, "pages.settings.toasts.modifySetting"), err)
+ jsonMsg(c, I18n(c, "pages.settings.toasts.modifySettings"), err)
}
func (a *SettingController) updateUser(c *gin.Context) {
form := &updateUserForm{}
err := c.ShouldBind(form)
if err != nil {
- jsonMsg(c, I18n(c, "pages.settings.toasts.modifySetting"), err)
+ jsonMsg(c, I18n(c, "pages.settings.toasts.modifySettings"), err)
return
}
user := session.GetLoginUser(c)
@@ -123,7 +123,7 @@ func (a *SettingController) restartPanel(c *gin.Context) {
func (a *SettingController) getDefaultXrayConfig(c *gin.Context) {
defaultJsonConfig, err := a.settingService.GetDefaultXrayConfig()
if err != nil {
- jsonMsg(c, I18n(c, "pages.settings.toasts.getSetting"), err)
+ jsonMsg(c, I18n(c, "pages.settings.toasts.getSettings"), err)
return
}
jsonObj(c, defaultJsonConfig, nil)
diff --git a/web/html/xui/inbounds.html b/web/html/xui/inbounds.html
index bb58b3bc..c358fb09 100644
--- a/web/html/xui/inbounds.html
+++ b/web/html/xui/inbounds.html
@@ -163,7 +163,7 @@
}}
- {{ i18n "pages.inbounds.Clone"}}
+ {{ i18n "pages.inbounds.clone"}}
diff --git a/web/translation/translate.en_US.toml b/web/translation/translate.en_US.toml
index 7cb707a9..639a556e 100644
--- a/web/translation/translate.en_US.toml
+++ b/web/translation/translate.en_US.toml
@@ -22,11 +22,11 @@
"unlimited" = "Unlimited"
"none" = "None"
"qrCode" = "QR Code"
-"info" = "More information"
+"info" = "More Information"
"edit" = "Edit"
"delete" = "Delete"
"reset" = "Reset"
-"copySuccess" = "Copy successfully"
+"copySuccess" = "Copied successfully"
"sure" = "Sure"
"encryption" = "Encryption"
"transmission" = "Transmission"
@@ -42,7 +42,7 @@
"additional" = "Alter ID"
"monitor" = "Listen IP"
"certificate" = "Certificate"
-"fail" = "Fail"
+"fail" = " Fail"
"success" = " Success"
"getVersion" = "Get version"
"install" = "Install"
@@ -61,113 +61,114 @@
"loginAgain" = "The login time limit has expired, please log in again"
[pages.login.toasts]
-"invalidFormData" = "Input Data Format Is Invalid"
-"emptyUsername" = "Please Enter Username"
-"emptyPassword" = "Please Enter Password"
-"wrongUsernameOrPassword" = "Invalid username or password"
+"invalidFormData" = "Input data format is invalid."
+"emptyUsername" = "Please enter username."
+"emptyPassword" = "Please enter password."
+"wrongUsernameOrPassword" = "Invalid username or password."
"successLogin" = "Login"
[pages.index]
"title" = "System Status"
"memory" = "Memory"
-"hard" = "Hard disk"
+"hard" = "Hard Disk"
"xrayStatus" = "Xray Status"
"stopXray" = "Stop"
"restartXray" = "Restart"
"xraySwitch" = "Switch Version"
-"xraySwitchClick" = "Click on the version you want to switch"
-"xraySwitchClickDesk" = "Please choose carefully, older versions may have incompatible configurations"
+"xraySwitchClick" = "Choose the version you want to switch to."
+"xraySwitchClickDesk" = "Choose wisely, as older versions may not be compatible with current configurations."
"operationHours" = "Operation Hours"
-"operationHoursDesc" = "The running time of the system since it was started"
+"operationHoursDesc" = "System uptime: time since startup."
"systemLoad" = "System Load"
"connectionCount" = "Connection Count"
-"connectionCountDesc" = "The total number of connections for all network cards"
-"upSpeed" = "Total upload speed for all network cards"
-"downSpeed" = "Total download speed for all network cards"
-"totalSent" = "Total upload traffic of all network cards since system startup"
-"totalReceive" = "Total download traffic of all network cards since system startup"
-"xraySwitchVersionDialog" = "Switch xray version"
-"xraySwitchVersionDialogDesc" = "Whether to switch the xray version to"
-"dontRefresh" = "Installation is in progress, please do not refresh this page"
+"connectionCountDesc" = "Total connections across all network cards."
+"upSpeed" = "Total upload speed for all network cards."
+"downSpeed" = "Total download speed for all network cards."
+"totalSent" = "Total upload traffic of all network cards since system startup."
+"totalReceive" = "Total download data across all network cards since system startup."
+"xraySwitchVersionDialog" = "Switch Xray Version"
+"xraySwitchVersionDialogDesc" = "Are you sure you want to switch the Xray version to"
+"dontRefresh" = "Installation is in progress, please do not refresh this page."
"logs" = "Logs"
"config" = "Config"
"backup" = "Backup & Restore"
"backupTitle" = "Backup & Restore Database"
-"backupDescription" = "Remember to backup before importing a new database"
+"backupDescription" = "Remember to backup before importing a new database."
"exportDatabase" = "Download Database"
"importDatabase" = "Upload Database"
[pages.inbounds]
"title" = "Inbounds"
-"totalDownUp" = "Total uploads/downloads"
-"totalUsage" = "Total usage"
-"inboundCount" = "Number of inbound"
-"operate" = "Operate"
+"totalDownUp" = "Total Uploads/Downloads"
+"totalUsage" = "Total Usage"
+"inboundCount" = "Number of Inbounds"
+"operate" = "Menu"
"enable" = "Enable"
"remark" = "Remark"
"protocol" = "Protocol"
"port" = "Port"
"traffic" = "Traffic"
"details" = "Details"
-"transportConfig" = "Transport config"
-"expireDate" = "Expire date"
-"resetTraffic" = "Reset traffic"
+"transportConfig" = "Transport Config"
+"expireDate" = "Expire Date"
+"resetTraffic" = "Reset Traffic"
"addInbound" = "Add Inbound"
"generalActions" = "General Actions"
"create" = "Create"
"update" = "Update"
-"modifyInbound" = "Modify InBound"
+"modifyInbound" = "Modify Inbound"
"deleteInbound" = "Delete Inbound"
"deleteInboundContent" = "Are you sure you want to delete inbound?"
"resetTrafficContent" = "Are you sure you want to reset traffic?"
"copyLink" = "Copy Link"
"address" = "Address"
"network" = "Network"
-"destinationPort" = "Destination port"
-"targetAddress" = "Target address"
-"disableInsecureEncryption" = "Disable insecure encryption"
+"destinationPort" = "Destination Port"
+"targetAddress" = "Target Address"
+"disableInsecureEncryption" = "Disable Insecure Encryption"
"monitorDesc" = "Leave blank by default"
-"meansNoLimit" = "Means no limit"
-"totalFlow" = "Total flow"
+"meansNoLimit" = "Means No Limit"
+"totalFlow" = "Total Flow"
"leaveBlankToNeverExpire" = "Leave blank to never expire"
-"noRecommendKeepDefault" = "There are no special requirements to keep the default"
-"certificatePath" = "Certificate file path"
-"certificateContent" = "Certificate file content"
-"publicKeyPath" = "Public key file path"
-"publicKeyContent" = "Public key content"
-"keyPath" = "Key file path"
-"keyContent" = "Key content"
+"noRecommendKeepDefault" = "No special requirements to keep the default"
+"certificatePath" = "Certificate File Path"
+"certificateContent" = "Certificate File Content"
+"publicKeyPath" = "Public Key Path"
+"publicKeyContent" = "Public Key Content"
+"keyPath" = "Private Key Path"
+"keyContent" = "Private Key Content"
"clickOnQRcode" = "Click on QR Code to Copy"
"client" = "Client"
"export" = "Export Links"
-"Clone" = "Clone"
-"cloneInbound" = "Create"
-"cloneInboundContent" = "All items of this inbound except Port, Listening IP, Clients will be applied to the clone"
+"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 to reset all inbounds traffic ?"
+"resetAllTrafficContent" = "Are you sure you want to reset all inbounds traffic?"
"resetInboundClientTraffics" = "Reset Clients Traffic"
"resetInboundClientTrafficTitle" = "Reset all clients traffic"
-"resetInboundClientTrafficContent" = "Are you sure to reset all traffics of this inbound's clients ?"
+"resetInboundClientTrafficContent" = "Are you sure you want to reset all traffic for this inbound's clients?"
"resetAllClientTraffics" = "Reset All Clients Traffic"
"resetAllClientTrafficTitle" = "Reset all clients traffic"
-"resetAllClientTrafficContent" = "Are you sure to reset all traffics of all clients ?"
-"delDepletedClients" = "Delete depleted clients"
+"resetAllClientTrafficContent" = "Are you sure you want to reset all traffics for all clients?"
+"delDepletedClients" = "Delete Depleted Clients"
"delDepletedClientsTitle" = "Delete depleted clients"
-"delDepletedClientsContent" = "Are you sure to delete all depleted clients ?"
+"delDepletedClientsContent" = "Are you sure you want to delete all depleted clients?"
"email" = "Email"
-"emailDesc" = "The Email Must Be Completely Unique"
+"emailDesc" = "Please provide a unique email address."
"setDefaultCert" = "Set cert from panel"
"telegramDesc" = "use Telegram ID without @ or chat IDs ( you can get it here @userinfobot )"
-"subscriptionDesc" = "you can find your sub link on Details, also ou can use the same name for several configurations"
+"subscriptionDesc" = "you can find your sub link on Details, also you can use the same name for several configurations"
[pages.client]
-"add" = "Add client"
-"edit" = "Edit client"
-"submitAdd" = "Add client"
+"add" = "Add Client"
+"edit" = "Edit Client"
+"submitAdd" = "Add Client"
"submitEdit" = "Save changes"
-"clientCount" = "Number of clients"
-"bulk" = "Add bulk"
+"clientCount" = "Number of Clients"
+"bulk" = "Add Bulk"
"method" = "Method"
"first" = "First"
"last" = "Last"
@@ -200,48 +201,48 @@
[pages.settings]
"title" = "Settings"
"save" = "Save"
-"infoDesc" = "Every change here needs to be saved and restart panel to take effect"
-"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 go to the server to view the panel log information"
+"infoDesc" = "Every change made here needs to be saved. Please restart the panel for the changes to take effect."
+"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 information on the server."
"resetDefaultConfig" = "Reset to default config"
-"panelConfig" = "Panel Configuration"
-"userSetting" = "User Setting"
-"xrayConfiguration" = "xray Configuration"
-"TGReminder" = "TG Reminder Related Settings"
-"panelListeningIP" = "Panel listening IP"
-"panelListeningIPDesc" = "Leave blank by default to monitor all IPs"
+"panelConfig" = "Panel Configurations"
+"userSettings" = "User Settings"
+"xrayConfiguration" = "xray Configurations"
+"TGBotSettings" = "Telegram Bot Settings"
+"panelListeningIP" = "Panel Listening IP"
+"panelListeningIPDesc" = "Leave blank by default to monitor all IPs."
"panelPort" = "Panel Port"
-"panelPortDesc" = "Port number for serving this panel"
-"publicKeyPath" = "Panel certificate public key file path"
+"panelPortDesc" = "Port number for serving the panel."
+"publicKeyPath" = "Panel Certificate Public Key File Path"
"publicKeyPathDesc" = "Fill in an absolute path starting with '/'"
-"privateKeyPath" = "Panel certificate private key file path"
+"privateKeyPath" = "Panel Certificate Private Key File Path"
"privateKeyPathDesc" = "Fill in an absolute path starting with '/'"
-"panelUrlPath" = "Panel url root path"
+"panelUrlPath" = "Panel URL Root Path"
"panelUrlPathDesc" = "Must start with '/' and end with '/'"
"oldUsername" = "Current Username"
"currentPassword" = "Current Password"
"newUsername" = "New Username"
"newPassword" = "New Password"
-"telegramBotEnable" = "Enable telegram bot"
-"telegramBotEnableDesc" = "Your telegram bot will interact with panel"
+"telegramBotEnable" = "Enable Telegram bot"
+"telegramBotEnableDesc" = "Your telegram bot will interact with the panel"
"telegramToken" = "Telegram Token"
-"telegramTokenDesc" = "The Token you have got from BotFather"
-"telegramChatId" = "Telegram Admin ChatIds"
-"telegramChatIdDesc" = "Multi chatIDs separated by comma"
+"telegramTokenDesc" = "The Token you have got from @BotFather"
+"telegramChatId" = "Telegram Admin ChatIDs"
+"telegramChatIdDesc" = "Multi chatIDs separated by comma."
"telegramNotifyTime" = "Telegram bot notification time"
-"telegramNotifyTimeDesc" = "Using Crontab timing format"
-"tgNotifyBackup" = "Database backup"
-"tgNotifyBackupDesc" = "Sending database backup file with report notification"
+"telegramNotifyTimeDesc" = "Use Crontab timing format."
+"tgNotifyBackup" = "Database Backup"
+"tgNotifyBackupDesc" = "Send database backup file with report notification"
"sessionMaxAge" = "Session maximum age"
"sessionMaxAgeDesc" = "The time that you can stay login (unit: minute)"
-"expireTimeDiff" = "Exhaustion time threshold"
-"expireTimeDiffDesc" = "Detect exhaustion before expiration (unit:day)"
-"trafficDiff" = "Exhaustion traffic threshold"
-"trafficDiffDesc" = "Detect exhaustion before finishing traffic (unit:GB)"
+"expireTimeDiff" = "Expiration threshold for notification"
+"expireTimeDiffDesc" = "Get notified about account expiration before the threshold (unit: day)"
+"trafficDiff" = "Traffic threshold for notification"
+"trafficDiffDesc" = "Get notified about traffic exhaustion before reaching the threshold (unit: GB)"
"tgNotifyCpu" = "CPU percentage alert threshold"
-"tgNotifyCpuDesc" = "This telegram bot will send you a notification if CPU usage is more than this percentage (unit:%)"
+"tgNotifyCpuDesc" = "Receive notification if CPU usage exceeds this threshold (unit: %)"
"timeZone" = "Time Zone"
-"timeZoneDesc" = "The scheduled task runs according to the time in the time zone"
+"timeZoneDesc" = "Scheduled tasks run according to the time in this time zone."
[pages.settings.templates]
"title" = "Templates"
@@ -249,71 +250,71 @@
"advancedTemplate" = "Advanced Template"
"completeTemplate" = "Complete Template"
"generalConfigs" = "General Configs"
-"generalConfigsDesc" = "These options will provide general adjustmets"
+"generalConfigsDesc" = "These options will provide general adjustments."
"blockConfigs" = "Blocking Configs"
-"blockConfigsDesc" = "These options will prevent users from connecting to specific protocols and websites"
+"blockConfigsDesc" = "These options will prevent users from connecting to specific protocols and websites."
"countryConfigs" = "Country Configs"
-"countryConfigsDesc" = "These options will configure connecting to specific country domains"
+"countryConfigsDesc" = "These options will prevent users from connecting to specific country domains."
"ipv4Configs" = "IPv4 Configs"
-"ipv4ConfigsDesc" = "These options will route to target domains only via IPv4"
+"ipv4ConfigsDesc" = "These options will route to target domains only via IPv4."
"xrayConfigTemplate" = "Xray Configuration Template"
-"xrayConfigTemplateDesc" = "Generate the final Xray configuration file based on this template"
-"xrayConfigFreedomStrategy" = "Configure Freedom protocol's strategy"
-"xrayConfigFreedomStrategyDesc" = "Set output strategy of network in freedom protocol"
-"xrayConfigRoutingStrategy" = "Configure domain strategy of Routing"
-"xrayConfigRoutingStrategyDesc" = "Set overall Routing strategy of DNS resolving"
+"xrayConfigTemplateDesc" = "Generate the final Xray configuration file based on this template."
+"xrayConfigFreedomStrategy" = "Configure Strategy for Freedom Protocol"
+"xrayConfigFreedomStrategyDesc" = "Set the output strategy of the network in the Freedom Protocol."
+"xrayConfigRoutingStrategy" = "Configure Domains Routing Strategy"
+"xrayConfigRoutingStrategyDesc" = "Set the overall routing strategy for DNS resolving."
"xrayConfigTorrent" = "Ban BitTorrent Usage"
-"xrayConfigTorrentDesc" = "Change the configuration template to avoid using BitTorrent by users"
+"xrayConfigTorrentDesc" = "Change the configuration template to avoid using BitTorrent by users."
"xrayConfigPrivateIp" = "Ban Private IP Ranges to Connect"
-"xrayConfigPrivateIpDesc" = "Change the configuration template to avoid connecting to private IP ranges"
+"xrayConfigPrivateIpDesc" = "Change the configuration template to avoid connecting to private IP ranges."
"xrayConfigAds" = "Block Ads"
"xrayConfigAdsDesc" = "Change the configuration template to block ads"
-"xrayConfigFamily" = "Enable Family friendly config"
-"xrayConfigFamilyDesc" = "Avoid connecting to unsafe websites for family"
+"xrayConfigFamily" = "Enable Family-Friendly Configuration"
+"xrayConfigFamilyDesc" = "Avoid connecting to unsafe websites for family protection."
"xrayConfigIRIp" = "Disable connection to Iran IP ranges"
-"xrayConfigIRIpDesc" = "Change the configuration template to avoid connecting to Iran IP ranges"
+"xrayConfigIRIpDesc" = "Change the configuration template to avoid connecting to Iran IP ranges."
"xrayConfigIRDomain" = "Disable connection to Iran domains"
-"xrayConfigIRDomainDesc" = "Change the configuration template to avoid connecting to Iran domains"
+"xrayConfigIRDomainDesc" = "Change the configuration template to avoid connecting to Iran domains."
"xrayConfigChinaIp" = "Disable connection to China IP ranges"
-"xrayConfigChinaIpDesc" = "Change the configuration template to avoid connecting to China IP ranges"
+"xrayConfigChinaIpDesc" = "Change the configuration template to avoid connecting to China IP ranges."
"xrayConfigChinaDomain" = "Disable connection to China domains"
-"xrayConfigChinaDomainDesc" = "Change the configuration template to avoid connecting to China domains"
+"xrayConfigChinaDomainDesc" = "Change the configuration template to avoid connecting to China domains."
"xrayConfigRussiaIp" = "Disable connection to Russia IP ranges"
-"xrayConfigRussiaIpDesc" = "Change the configuration template to avoid connecting to Russia IP ranges"
+"xrayConfigRussiaIpDesc" = "Change the configuration template to avoid connecting to Russia IP ranges."
"xrayConfigRussiaDomain" = "Disable connection to Russia domains"
-"xrayConfigRussiaDomainDesc" = "Change the configuration template to avoid connecting to Russia domains"
+"xrayConfigRussiaDomainDesc" = "Change the configuration template to avoid connecting to Russia domains."
"xrayConfigDirectIRIp" = "Direct connection to Iran IP ranges"
-"xrayConfigDirectIRIpDesc" = "Change the configuration template for direct connecting to Iran IP ranges"
+"xrayConfigDirectIRIpDesc" = "Change the configuration template for direct connecting to Iran IP ranges."
"xrayConfigDirectIRDomain" = "Direct connection to Iran domains"
-"xrayConfigDirectIRDomainDesc" = "Change the configuration template for direct connecting to Iran domains"
+"xrayConfigDirectIRDomainDesc" = "Change the configuration template for direct connecting to Iran domains."
"xrayConfigDirectChinaIp" = "Direct connection to China IP ranges"
-"xrayConfigDirectChinaIpDesc" = "Change the configuration template for direct connecting to China IP ranges"
+"xrayConfigDirectChinaIpDesc" = "Change the configuration template for direct connecting to China IP ranges."
"xrayConfigDirectChinaDomain" = "Direct connection to China domains"
-"xrayConfigDirectChinaDomainDesc" = "Change the configuration template for direct connecting to China domains"
+"xrayConfigDirectChinaDomainDesc" = "Change the configuration template for direct connecting to China domains."
"xrayConfigDirectRussiaIp" = "Direct connection to Russia IP ranges"
-"xrayConfigDirectRussiaIpDesc" = "Change the configuration template for direct connecting to Russia IP ranges"
+"xrayConfigDirectRussiaIpDesc" = "Change the configuration template for direct connecting to Russia IP ranges."
"xrayConfigDirectRussiaDomain" = "Direct connection to Russia domains"
-"xrayConfigDirectRussiaDomainDesc" = "Change the configuration template for direct connecting to Russia domains"
+"xrayConfigDirectRussiaDomainDesc" = "Change the configuration template for direct connecting to Russia domains."
"xrayConfigGoogleIPv4" = "Use IPv4 for Google"
-"xrayConfigGoogleIPv4Desc" = "Add routing for Google to connect with IPv4"
+"xrayConfigGoogleIPv4Desc" = "Add routing for Google to connect with IPv4."
"xrayConfigNetflixIPv4" = "Use IPv4 for Netflix"
-"xrayConfigNetflixIPv4Desc" = "Add routing for Netflix to connect with IPv4"
+"xrayConfigNetflixIPv4Desc" = "Add routing for Netflix to connect with IPv4."
"xrayConfigInbounds" = "Configuration of Inbounds"
-"xrayConfigInboundsDesc" = "Change the configuration template to accept specific clients"
+"xrayConfigInboundsDesc" = "Change the configuration template to accept specific clients."
"xrayConfigOutbounds" = "Configuration of Outbounds"
-"xrayConfigOutboundsDesc" = "Change the configuration template to define outgoing ways for this server"
+"xrayConfigOutboundsDesc" = "Change the configuration template to define outgoing ways for this server."
"xrayConfigRoutings" = "Configuration of routing rules"
-"xrayConfigRoutingsDesc" = "Change the configuration template to define routing rules for this server"
-"manualLists" = "Manual lists"
-"manualListsDesc" = "PLease use JSON array format"
-"manualBlockedIPs" = "List of blocked IPs"
-"manualBlockedDomains" = "List of blocked domains"
-"manualDirectIPs" = "List of direct IPs"
-"manualDirectDomains" = "List of direct domains"
+"xrayConfigRoutingsDesc" = "Change the configuration template to define routing rules for this server."
+"manualLists" = "Manual Lists"
+"manualListsDesc" = "Please use the JSON array format."
+"manualBlockedIPs" = "List of Blocked IPs"
+"manualBlockedDomains" = "List of Blocked Domains"
+"manualDirectIPs" = "List of Direct IPs"
+"manualDirectDomains" = "List of Direct Domains"
[pages.settings.toasts]
-"modifySetting" = "Modify setting"
-"getSetting" = "Get setting"
-"modifyUser" = "Modify user"
-"originalUserPassIncorrect" = "The original user name or original password is incorrect"
-"userPassMustBeNotEmpty" = "New username and new password cannot be empty"
\ No newline at end of file
+"modifySettings" = "Modify Settings "
+"getSettings" = "Get Settings "
+"modifyUser" = "Modify User "
+"originalUserPassIncorrect" = "Incorrect original username or password"
+"userPassMustBeNotEmpty" = "New username and new password cannot be empty"
diff --git a/web/translation/translate.fa_IR.toml b/web/translation/translate.fa_IR.toml
index 392da5ab..68a79b74 100644
--- a/web/translation/translate.fa_IR.toml
+++ b/web/translation/translate.fa_IR.toml
@@ -140,7 +140,7 @@
"clickOnQRcode" = "برای کپی بر روی کد تصویری کلیک کنید"
"client" = "کاربر"
"export" = "استخراج لینکها"
-"Clone" = "شبیه سازی"
+"clone" = "شبیه سازی"
"cloneInbound" = "ایجاد"
"cloneInboundContent" = "همه موارد این ورودی بجز پورت ، ای پی و کلاینت ها شبیه سازی خواهند شد"
"resetAllTraffic" = "ریست ترافیک کل سرویس ها"
@@ -205,9 +205,9 @@
"restartPanelDesc" = "آیا مطمئن هستید که می خواهید پنل را دوباره راه اندازی کنید؟ برای راه اندازی مجدد روی OK کلیک کنید. اگر بعد از 3 ثانیه نمی توانید به پنل دسترسی پیدا کنید، لطفاً برای مشاهده اطلاعات گزارش پانل به سرور برگردید"
"resetDefaultConfig" = "برگشت به تنظیمات پیشفرض"
"panelConfig" = "تنظیمات پنل"
-"userSetting" = "تنظیمات مدیر"
+"userSettings" = "تنظیمات مدیر"
"xrayConfiguration" = "تنظیمات Xray"
-"TGReminder" = "تنظیمات ربات تلگرام"
+"TGBotSettings" = "تنظیمات ربات تلگرام"
"panelListeningIP" = "محدودیت آی پی پنل"
"panelListeningIPDesc" = "برای استفاده از تمام آیپیها به طور پیش فرض خالی بگذارید"
"panelPort" = "پورت پنل"
@@ -312,8 +312,8 @@
"manualDirectDomains" = "لیست دامنه های مستقیم"
[pages.settings.toasts]
-"modifySetting" = "ویرایش تنظیمات"
-"getSetting" = "دریافت تنظیمات"
+"modifySettings" = "ویرایش تنظیمات"
+"getSettings" = "دریافت تنظیمات"
"modifyUser" = "ویرایش کاربر"
"originalUserPassIncorrect" = "نام کاربری و رمز عبور فعلی اشتباه می باشد "
"userPassMustBeNotEmpty" = "نام کاربری و رمز عبور جدید نمیتواند خالی باشد "
\ No newline at end of file
diff --git a/web/translation/translate.ru_RU.toml b/web/translation/translate.ru_RU.toml
index f4d8548c..ba6d3058 100644
--- a/web/translation/translate.ru_RU.toml
+++ b/web/translation/translate.ru_RU.toml
@@ -205,9 +205,9 @@
"restartPanelDesc" = "Подтвердите рестарт панели? ОК для рестарта панели через 3 сек. Если вы не можете пользоваться панелью после рестарта, пожалуйста, посмотрите лог панели на сервере"
"resetDefaultConfig" = "Сбросить всё по-умолчанию"
"panelConfig" = "Настройки панели"
-"userSetting" = "Настройки безопасности"
+"userSettings" = "Настройки безопасности"
"xrayConfiguration" = "Конфигурация Xray"
-"TGReminder" = "Настройки Телеграм-бота"
+"TGBotSettings" = "Настройки Телеграм-бота"
"panelListeningIP" = "IP-порт панели"
"panelListeningIPDesc" = "Оставьте пустым для работы с любого IP. Перезагрузите панель для применения настроек"
"panelPort" = "Порт панели"
diff --git a/web/translation/translate.zh_Hans.toml b/web/translation/translate.zh_Hans.toml
index 7c48c34e..4e14ec08 100644
--- a/web/translation/translate.zh_Hans.toml
+++ b/web/translation/translate.zh_Hans.toml
@@ -140,7 +140,7 @@
"clickOnQRcode" = "点击二维码复制"
"client" = "客户"
"export" = "导出链接"
-"Clone" = "克隆"
+"clone" = "克隆"
"cloneInbound" = "创造"
"cloneInboundContent" = "此入站的所有项目除 Port、Listening IP、Clients 将应用于克隆"
"resetAllTraffic" = "重置所有入站流量"
@@ -205,9 +205,9 @@
"restartPanelDesc" = "确定要重启面板吗?点击确定将于 3 秒后重启,若重启后无法访问面板,请前往服务器查看面板日志信息"
"resetDefaultConfig" = "重置为默认配置"
"panelConfig" = "面板配置"
-"userSetting" = "用户设置"
+"userSettings" = "用户设置"
"xrayConfiguration" = "xray 相关设置"
-"TGReminder" = "TG提醒相关设置"
+"TGBotSettings" = "TG提醒相关设置"
"panelListeningIP" = "面板监听 IP"
"panelListeningIPDesc" = "默认留空监听所有 IP"
"panelPort" = "面板监听端口"
@@ -314,8 +314,8 @@
"manualDirectDomains" = "直接域列表"
[pages.settings.toasts]
-"modifySetting" = "修改设置"
-"getSetting" = "获取设置"
+"modifySettings" = "修改设置"
+"getSettings" = "获取设置"
"modifyUser" = "修改用户"
"originalUserPassIncorrect" = "原用户名或原密码错误"
"userPassMustBeNotEmpty" = "新用户名和新密码不能为空"
\ No newline at end of file