diff options
| -rw-r--r-- | web/controller/inbound.go | 24 | ||||
| -rw-r--r-- | web/controller/setting.go | 30 | ||||
| -rw-r--r-- | web/controller/xui.go | 2 | ||||
| -rw-r--r-- | web/html/xui/client_bulk_modal.html | 2 | ||||
| -rw-r--r-- | web/html/xui/common_sider.html | 2 | ||||
| -rw-r--r-- | web/html/xui/form/client.html | 4 | ||||
| -rw-r--r-- | web/html/xui/form/inbound.html | 2 | ||||
| -rw-r--r-- | web/html/xui/form/protocol/socks.html | 1 | ||||
| -rw-r--r-- | web/html/xui/form/protocol/trojan.html | 2 | ||||
| -rw-r--r-- | web/html/xui/form/protocol/vless.html | 2 | ||||
| -rw-r--r-- | web/html/xui/form/protocol/vmess.html | 4 | ||||
| -rw-r--r-- | web/html/xui/form/stream/stream_kcp.html | 12 | ||||
| -rw-r--r-- | web/html/xui/form/stream/stream_quic.html | 12 | ||||
| -rw-r--r-- | web/html/xui/form/stream/stream_tcp.html | 2 | ||||
| -rw-r--r-- | web/html/xui/inbounds.html | 11 | ||||
| -rw-r--r-- | web/html/xui/index.html | 2 | ||||
| -rw-r--r-- | web/html/xui/settings.html | 8 | ||||
| -rw-r--r-- | web/translation/translate.en_US.toml | 296 | ||||
| -rw-r--r-- | web/translation/translate.fa_IR.toml | 82 | ||||
| -rw-r--r-- | web/translation/translate.zh_Hans.toml | 72 |
20 files changed, 295 insertions, 277 deletions
diff --git a/web/controller/inbound.go b/web/controller/inbound.go index 4559f2a2..8360cf62 100644 --- a/web/controller/inbound.go +++ b/web/controller/inbound.go @@ -93,7 +93,7 @@ func (a *InboundController) addInbound(c *gin.Context) { inbound := &model.Inbound{} err := c.ShouldBind(inbound) if err != nil { - jsonMsg(c, I18n(c, "pages.inbounds.addTo"), err) + jsonMsg(c, I18n(c, "pages.inbounds.create"), err) return } user := session.GetLoginUser(c) @@ -101,7 +101,7 @@ func (a *InboundController) addInbound(c *gin.Context) { inbound.Enable = true inbound.Tag = fmt.Sprintf("inbound-%v", inbound.Port) inbound, err = a.inboundService.AddInbound(inbound) - jsonMsgObj(c, I18n(c, "pages.inbounds.addTo"), inbound, err) + jsonMsgObj(c, I18n(c, "pages.inbounds.create"), inbound, err) if err == nil { a.xrayService.SetToNeedRestart() } @@ -123,7 +123,7 @@ func (a *InboundController) delInbound(c *gin.Context) { func (a *InboundController) updateInbound(c *gin.Context) { id, err := strconv.Atoi(c.Param("id")) if err != nil { - jsonMsg(c, I18n(c, "pages.inbounds.revise"), err) + jsonMsg(c, I18n(c, "pages.inbounds.update"), err) return } inbound := &model.Inbound{ @@ -131,11 +131,11 @@ func (a *InboundController) updateInbound(c *gin.Context) { } err = c.ShouldBind(inbound) if err != nil { - jsonMsg(c, I18n(c, "pages.inbounds.revise"), err) + jsonMsg(c, I18n(c, "pages.inbounds.update"), err) return } inbound, err = a.inboundService.UpdateInbound(inbound) - jsonMsgObj(c, I18n(c, "pages.inbounds.revise"), inbound, err) + jsonMsgObj(c, I18n(c, "pages.inbounds.update"), inbound, err) if err == nil { a.xrayService.SetToNeedRestart() } @@ -156,7 +156,7 @@ func (a *InboundController) clearClientIps(c *gin.Context) { err := a.inboundService.ClearClientIps(email) if err != nil { - jsonMsg(c, "Revise", err) + jsonMsg(c, "Update", err) return } jsonMsg(c, "Log Cleared", nil) @@ -165,7 +165,7 @@ func (a *InboundController) addInboundClient(c *gin.Context) { data := &model.Inbound{} err := c.ShouldBind(data) if err != nil { - jsonMsg(c, I18n(c, "pages.inbounds.revise"), err) + jsonMsg(c, I18n(c, "pages.inbounds.update"), err) return } @@ -183,7 +183,7 @@ func (a *InboundController) addInboundClient(c *gin.Context) { func (a *InboundController) delInboundClient(c *gin.Context) { id, err := strconv.Atoi(c.Param("id")) if err != nil { - jsonMsg(c, I18n(c, "pages.inbounds.revise"), err) + jsonMsg(c, I18n(c, "pages.inbounds.update"), err) return } clientId := c.Param("clientId") @@ -205,7 +205,7 @@ func (a *InboundController) updateInboundClient(c *gin.Context) { inbound := &model.Inbound{} err := c.ShouldBind(inbound) if err != nil { - jsonMsg(c, I18n(c, "pages.inbounds.revise"), err) + jsonMsg(c, I18n(c, "pages.inbounds.update"), err) return } @@ -223,7 +223,7 @@ func (a *InboundController) updateInboundClient(c *gin.Context) { func (a *InboundController) resetClientTraffic(c *gin.Context) { id, err := strconv.Atoi(c.Param("id")) if err != nil { - jsonMsg(c, I18n(c, "pages.inbounds.revise"), err) + jsonMsg(c, I18n(c, "pages.inbounds.update"), err) return } email := c.Param("email") @@ -251,7 +251,7 @@ func (a *InboundController) resetAllTraffics(c *gin.Context) { func (a *InboundController) resetAllClientTraffics(c *gin.Context) { id, err := strconv.Atoi(c.Param("id")) if err != nil { - jsonMsg(c, I18n(c, "pages.inbounds.revise"), err) + jsonMsg(c, I18n(c, "pages.inbounds.update"), err) return } @@ -266,7 +266,7 @@ func (a *InboundController) resetAllClientTraffics(c *gin.Context) { func (a *InboundController) delDepletedClients(c *gin.Context) { id, err := strconv.Atoi(c.Param("id")) if err != nil { - jsonMsg(c, I18n(c, "pages.inbounds.revise"), err) + jsonMsg(c, I18n(c, "pages.inbounds.update"), err) return } err = a.inboundService.DelDepletedClients(id) diff --git a/web/controller/setting.go b/web/controller/setting.go index 2726c228..bd9c2a5f 100644 --- a/web/controller/setting.go +++ b/web/controller/setting.go @@ -49,7 +49,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.setting.toasts.getSetting"), err) + jsonMsg(c, I18n(c, "pages.settings.toasts.getSettings"), err) return } jsonObj(c, allSetting, nil) @@ -58,7 +58,7 @@ func (a *SettingController) getAllSetting(c *gin.Context) { func (a *SettingController) getDefaultJsonConfig(c *gin.Context) { defaultJsonConfig, err := a.settingService.GetDefaultJsonConfig() if err != nil { - jsonMsg(c, I18n(c, "pages.setting.toasts.getSetting"), err) + jsonMsg(c, I18n(c, "pages.settings.toasts.getSettings"), err) return } jsonObj(c, defaultJsonConfig, nil) @@ -67,22 +67,22 @@ func (a *SettingController) getDefaultJsonConfig(c *gin.Context) { func (a *SettingController) getDefaultSettings(c *gin.Context) { expireDiff, err := a.settingService.GetExpireDiff() if err != nil { - jsonMsg(c, I18n(c, "pages.setting.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.setting.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.setting.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.setting.toasts.getSetting"), err) + jsonMsg(c, I18n(c, "pages.settings.toasts.getSettings"), err) return } result := map[string]interface{}{ @@ -98,27 +98,27 @@ func (a *SettingController) updateSetting(c *gin.Context) { allSetting := &entity.AllSetting{} err := c.ShouldBind(allSetting) if err != nil { - jsonMsg(c, I18n(c, "pages.setting.toasts.modifySetting"), err) + jsonMsg(c, I18n(c, "pages.settings.toasts.modifySettings"), err) return } err = a.settingService.UpdateAllSetting(allSetting) - jsonMsg(c, I18n(c, "pages.setting.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.setting.toasts.modifySetting"), err) + jsonMsg(c, I18n(c, "pages.settings.toasts.modifySettings"), err) return } user := session.GetLoginUser(c) if user.Username != form.OldUsername || user.Password != form.OldPassword { - jsonMsg(c, I18n(c, "pages.setting.toasts.modifyUser"), errors.New(I18n(c, "pages.setting.toasts.originalUserPassIncorrect"))) + jsonMsg(c, I18n(c, "pages.settings.toasts.modifyUser"), errors.New(I18n(c, "pages.settings.toasts.originalUserPassIncorrect"))) return } if form.NewUsername == "" || form.NewPassword == "" { - jsonMsg(c, I18n(c, "pages.setting.toasts.modifyUser"), errors.New(I18n(c, "pages.setting.toasts.userPassMustBeNotEmpty"))) + jsonMsg(c, I18n(c, "pages.settings.toasts.modifyUser"), errors.New(I18n(c, "pages.settings.toasts.userPassMustBeNotEmpty"))) return } err = a.userService.UpdateUser(user.Id, form.NewUsername, form.NewPassword) @@ -127,19 +127,19 @@ func (a *SettingController) updateUser(c *gin.Context) { user.Password = form.NewPassword session.SetLoginUser(c, user) } - jsonMsg(c, I18n(c, "pages.setting.toasts.modifyUser"), err) + jsonMsg(c, I18n(c, "pages.settings.toasts.modifyUser"), err) } func (a *SettingController) restartPanel(c *gin.Context) { err := a.panelService.RestartPanel(time.Second * 3) - jsonMsg(c, I18n(c, "pages.setting.restartPanel"), err) + jsonMsg(c, I18n(c, "pages.settings.restartPanel"), err) } func (a *SettingController) updateSecret(c *gin.Context) { form := &updateSecretForm{} err := c.ShouldBind(form) if err != nil { - jsonMsg(c, I18n(c, "pages.setting.toasts.modifySetting"), err) + jsonMsg(c, I18n(c, "pages.settings.toasts.modifySettings"), err) } user := session.GetLoginUser(c) err = a.userService.UpdateUserSecret(user.Id, form.LoginSecret) @@ -147,7 +147,7 @@ func (a *SettingController) updateSecret(c *gin.Context) { user.LoginSecret = form.LoginSecret session.SetLoginUser(c, user) } - jsonMsg(c, I18n(c, "pages.setting.toasts.modifyUser"), err) + jsonMsg(c, I18n(c, "pages.settings.toasts.modifyUser"), err) } func (a *SettingController) getUserSecret(c *gin.Context) { loginUser := session.GetLoginUser(c) diff --git a/web/controller/xui.go b/web/controller/xui.go index c836057a..1844181d 100644 --- a/web/controller/xui.go +++ b/web/controller/xui.go @@ -38,5 +38,5 @@ func (a *XUIController) inbounds(c *gin.Context) { } func (a *XUIController) settings(c *gin.Context) { - html(c, "settings.html", "pages.setting.title", nil) + html(c, "settings.html", "pages.settings.title", nil) } diff --git a/web/html/xui/client_bulk_modal.html b/web/html/xui/client_bulk_modal.html index 827fc951..274f8588 100644 --- a/web/html/xui/client_bulk_modal.html +++ b/web/html/xui/client_bulk_modal.html @@ -65,7 +65,7 @@ </a-form-item> <a-form-item> <span slot="label"> - <span >{{ i18n "pages.inbounds.totalFlow" }}</span>(GB) + <span >{{ i18n "pages.inbounds.totalFlow" }}</span> (GB) <a-tooltip> <template slot="title"> 0 <span>{{ i18n "pages.inbounds.meansNoLimit" }}</span> diff --git a/web/html/xui/common_sider.html b/web/html/xui/common_sider.html index c7765d60..d059e920 100644 --- a/web/html/xui/common_sider.html +++ b/web/html/xui/common_sider.html @@ -9,7 +9,7 @@ </a-menu-item> <a-menu-item key="{{ .base_path }}xui/settings"> <a-icon type="setting"></a-icon> - <span>{{ i18n "menu.setting"}}</span> + <span>{{ i18n "menu.settings"}}</span> </a-menu-item> <!--<a-menu-item key="{{ .base_path }}xui/clients">--> <!-- <a-icon type="laptop"></a-icon>--> diff --git a/web/html/xui/form/client.html b/web/html/xui/form/client.html index b9d939d1..501861db 100644 --- a/web/html/xui/form/client.html +++ b/web/html/xui/form/client.html @@ -43,7 +43,7 @@ <a-icon type="question-circle" theme="filled"></a-icon> </a-tooltip> </span> - <a-input-number v-model="client.limitIp" min="0" style="width: 70px;"></a-input-number> + <a-input-number v-model="client.limitIp" min="0" style="width: 70px;"></a-input-number> </a-form-item> <a-form-item v-if="client.email && client.limitIp > 0 && isEdit"> <span slot="label"> @@ -82,7 +82,7 @@ </a-form-item> <a-form-item> <span slot="label"> - <span >{{ i18n "pages.inbounds.totalFlow" }}</span>(GB) + <span >{{ i18n "pages.inbounds.totalFlow" }}</span> (GB) <a-tooltip> <template slot="title"> 0 <span>{{ i18n "pages.inbounds.meansNoLimit" }}</span> diff --git a/web/html/xui/form/inbound.html b/web/html/xui/form/inbound.html index 1cc4e2ea..603ca46a 100644 --- a/web/html/xui/form/inbound.html +++ b/web/html/xui/form/inbound.html @@ -29,7 +29,7 @@ </a-form-item> <a-form-item> <span slot="label"> - <span >{{ i18n "pages.inbounds.totalFlow" }}</span>(GB) + <span >{{ i18n "pages.inbounds.totalFlow" }}</span> (GB) <a-tooltip> <template slot="title"> 0 <span>{{ i18n "pages.inbounds.meansNoLimit" }}</span> diff --git a/web/html/xui/form/protocol/socks.html b/web/html/xui/form/protocol/socks.html index 2662f1d6..89cde72c 100644 --- a/web/html/xui/form/protocol/socks.html +++ b/web/html/xui/form/protocol/socks.html @@ -1,6 +1,5 @@ {{define "form/socks"}} <a-form layout="inline"> - <!-- <a-form-item label="Password authentication">--> <a-form-item label='{{ i18n "password" }}'> <a-switch :checked="inbound.settings.auth === 'password'" @change="checked => inbound.settings.auth = checked ? 'password' : 'noauth'"></a-switch> diff --git a/web/html/xui/form/protocol/trojan.html b/web/html/xui/form/protocol/trojan.html index 65344f11..e63943e6 100644 --- a/web/html/xui/form/protocol/trojan.html +++ b/web/html/xui/form/protocol/trojan.html @@ -43,7 +43,7 @@ </a-form-item> <a-form-item> <span slot="label"> - <span >{{ i18n "pages.inbounds.totalFlow" }}</span>(GB) + <span >{{ i18n "pages.inbounds.totalFlow" }}</span> (GB) <a-tooltip> <template slot="title"> 0 <span>{{ i18n "pages.inbounds.meansNoLimit" }}</span> diff --git a/web/html/xui/form/protocol/vless.html b/web/html/xui/form/protocol/vless.html index b05f2157..33e0c170 100644 --- a/web/html/xui/form/protocol/vless.html +++ b/web/html/xui/form/protocol/vless.html @@ -49,7 +49,7 @@ </a-form-item> <a-form-item> <span slot="label"> - <span >{{ i18n "pages.inbounds.totalFlow" }}</span>(GB) + <span >{{ i18n "pages.inbounds.totalFlow" }}</span> (GB) <a-tooltip> <template slot="title"> 0 <span>{{ i18n "pages.inbounds.meansNoLimit" }}</span> diff --git a/web/html/xui/form/protocol/vmess.html b/web/html/xui/form/protocol/vmess.html index 86ceead8..6471e20d 100644 --- a/web/html/xui/form/protocol/vmess.html +++ b/web/html/xui/form/protocol/vmess.html @@ -40,7 +40,7 @@ </a-form-item> <a-form-item> <span slot="label"> - <span >{{ i18n "pages.inbounds.totalFlow" }}</span>(GB) + <span >{{ i18n "pages.inbounds.totalFlow" }}</span> (GB) <a-tooltip> <template slot="title"> 0 <span>{{ i18n "pages.inbounds.meansNoLimit" }}</span> @@ -67,7 +67,7 @@ </a-collapse-panel> </a-collapse> <a-collapse v-else> - <a-collapse-panel :header="'{{ i18n "pages.client.clientCount"}} : ' + inbound.settings.vmesses.length"> + <a-collapse-panel :header="'{{ i18n "pages.client.clientCount" }}: ' + inbound.settings.vmesses.length"> <table width="100%"> <tr class="client-table-header"> <th v-for="col in Object.keys(inbound.settings.vmesses[0]).slice(0, 3)">[[ col ]]</th> diff --git a/web/html/xui/form/stream/stream_kcp.html b/web/html/xui/form/stream/stream_kcp.html index 1dc6eb9d..52a930f9 100644 --- a/web/html/xui/form/stream/stream_kcp.html +++ b/web/html/xui/form/stream/stream_kcp.html @@ -2,12 +2,12 @@ <a-form layout="inline"> <a-form-item label='{{ i18n "camouflage" }}'> <a-select v-model="inbound.stream.kcp.type" style="width: 280px;"> - <a-select-option value="none">None(Not Camouflage)</a-select-option> - <a-select-option value="srtp">SRTP(Camouflage Video Call)</a-select-option> - <a-select-option value="utp">UTP(Camouflage BT Download)</a-select-option> - <a-select-option value="wechat-video">Wechat-Video(Camouflage WeChat Video)</a-select-option> - <a-select-option value="dtls">DTLS(Camouflage DTLS 1.2 Packages)</a-select-option> - <a-select-option value="wireguard">Wireguard(Camouflage Wireguard Packages)</a-select-option> + <a-select-option value="none">None (Not Camouflage)</a-select-option> + <a-select-option value="srtp">SRTP (Camouflage Video Call)</a-select-option> + <a-select-option value="utp">UTP (Camouflage BT Download)</a-select-option> + <a-select-option value="wechat-video">Wechat-Video (Camouflage WeChat Video)</a-select-option> + <a-select-option value="dtls">DTLS (Camouflage DTLS 1.2 Packages)</a-select-option> + <a-select-option value="wireguard">Wireguard (Camouflage Wireguard Packages)</a-select-option> </a-select> </a-form-item> <a-form-item label='{{ i18n "password" }}'> diff --git a/web/html/xui/form/stream/stream_quic.html b/web/html/xui/form/stream/stream_quic.html index 2a48af84..4d04587a 100644 --- a/web/html/xui/form/stream/stream_quic.html +++ b/web/html/xui/form/stream/stream_quic.html @@ -12,12 +12,12 @@ </a-form-item> <a-form-item label='{{ i18n "camouflage" }}'> <a-select v-model="inbound.stream.quic.type" style="width: 280px;" :dropdown-class-name="siderDrawer.isDarkTheme ? 'ant-card-dark' : ''"> - <a-select-option value="none">none(not camouflage)</a-select-option> - <a-select-option value="srtp">srtp(camouflage video call)</a-select-option> - <a-select-option value="utp">utp(camouflage BT download)</a-select-option> - <a-select-option value="wechat-video">wechat-video(camouflage WeChat video)</a-select-option> - <a-select-option value="dtls">dtls(camouflage DTLS 1.2 packages)</a-select-option> - <a-select-option value="wireguard">wireguard(camouflage wireguard packages)</a-select-option> + <a-select-option value="none">none (not camouflage)</a-select-option> + <a-select-option value="srtp">srtp (camouflage video call)</a-select-option> + <a-select-option value="utp">utp (camouflage BT download)</a-select-option> + <a-select-option value="wechat-video">wechat-video (camouflage WeChat video)</a-select-option> + <a-select-option value="dtls">dtls (camouflage DTLS 1.2 packages)</a-select-option> + <a-select-option value="wireguard">wireguard (camouflage wireguard packages)</a-select-option> </a-select> </a-form-item> </a-form> diff --git a/web/html/xui/form/stream/stream_tcp.html b/web/html/xui/form/stream/stream_tcp.html index 958f8f25..993fb0d0 100644 --- a/web/html/xui/form/stream/stream_tcp.html +++ b/web/html/xui/form/stream/stream_tcp.html @@ -4,7 +4,7 @@ <a-form-item label="AcceptProxyProtocol"> <a-switch v-model="inbound.stream.tcp.acceptProxyProtocol"></a-switch> </a-form-item> - <a-form-item label="HTTP {{ i18n "camouflage" }}"> + <a-form-item label='HTTP {{ i18n "camouflage" }}'> <a-switch :checked="inbound.stream.tcp.type === 'http'" @change="checked => inbound.stream.tcp.type = checked ? 'http' : 'none'"> diff --git a/web/html/xui/inbounds.html b/web/html/xui/inbounds.html index 31e251f5..e697b8a1 100644 --- a/web/html/xui/inbounds.html +++ b/web/html/xui/inbounds.html @@ -93,12 +93,13 @@ </a-col> <a-col :xs="24" :sm="24" :lg="12" style="text-align: right;"> <a-select v-model="refreshInterval" + style="width: 65px;" v-if="isRefreshEnabled" @change="changeRefreshInterval" :dropdown-class-name="siderDrawer.isDarkTheme ? 'ant-card-dark' : ''"> <a-select-option v-for="key in [5,10,30,60]" :value="key*1000">[[ key ]]s</a-select-option> </a-select> - <a-icon type="sync" :spin="isRefreshEnabled"></a-icon> + <a-icon type="sync" :spin="isRefreshEnabled" style="margin: 0 5px;"></a-icon> <a-switch v-model="isRefreshEnabled" @change="toggleRefresh"></a-switch> </a-col> </a-row> @@ -155,7 +156,7 @@ <a-icon type="retweet"></a-icon> {{ i18n "pages.inbounds.resetTraffic" }} </a-menu-item> <a-menu-item key="clone"> - <a-icon type="block"></a-icon> {{ i18n "pages.inbounds.Clone"}} + <a-icon type="block"></a-icon> {{ i18n "pages.inbounds.clone"}} </a-menu-item> <a-menu-item key="delete"> <span style="color: #FF4D4F"> @@ -478,7 +479,7 @@ }, openCloneInbound(dbInbound) { this.$confirm({ - title: '{{ i18n "pages.inbounds.cloneInbound"}}' + dbInbound.remark, + title: '{{ i18n "pages.inbounds.cloneInbound"}} \"' + dbInbound.remark + '\"', content: '{{ i18n "pages.inbounds.cloneInboundContent"}}', okText: '{{ i18n "pages.inbounds.cloneInboundOk"}}', cancelText: '{{ i18n "cancel" }}', @@ -512,7 +513,7 @@ openAddInbound() { inModal.show({ title: '{{ i18n "pages.inbounds.addInbound"}}', - okText: '{{ i18n "pages.inbounds.addTo"}}', + okText: '{{ i18n "pages.inbounds.create"}}', cancelText: '{{ i18n "close" }}', confirm: async (inbound, dbInbound) => { inModal.loading(); @@ -527,7 +528,7 @@ const inbound = dbInbound.toInbound(); inModal.show({ title: '{{ i18n "pages.inbounds.modifyInbound"}}', - okText: '{{ i18n "pages.inbounds.revise"}}', + okText: '{{ i18n "pages.inbounds.update"}}', cancelText: '{{ i18n "close" }}', inbound: inbound, dbInbound: dbInbound, diff --git a/web/html/xui/index.html b/web/html/xui/index.html index 320422e3..f2babcb0 100644 --- a/web/html/xui/index.html +++ b/web/html/xui/index.html @@ -382,7 +382,7 @@ cancelText: '{{ i18n "cancel"}}', onOk: async () => { versionModal.hide(); - this.loading(true, '{{ i18n "pages.index.dontRefreshh"}}'); + this.loading(true, '{{ i18n "pages.index.dontRefresh"}}'); await HttpUtil.post(`/server/installXray/${version}`); this.loading(false); }, diff --git a/web/html/xui/settings.html b/web/html/xui/settings.html index 3f4680fe..6a9d9509 100644 --- a/web/html/xui/settings.html +++ b/web/html/xui/settings.html @@ -141,8 +141,8 @@ <a-divider>{{ i18n "pages.settings.templates.title"}}</a-divider> - <a-tabs default-active-key="tpl-1" :class="siderDrawer.isDarkTheme ? darkClass : ''"> - <a-tab-pane key="tpl-1" tab='{{ i18n "pages.settings.templates.basicTemplate"}}'> + <a-tabs default-active-key="tpl-1" :class="siderDrawer.isDarkTheme ? darkClass : ''" style="padding: 0 20px;"> + <a-tab-pane key="tpl-1" tab='{{ i18n "pages.settings.templates.basicTemplate"}}' style="padding-top: 20px;"> <a-collapse> <a-collapse-panel header='{{ i18n "pages.settings.templates.generalConfigs"}}'> <a-row :xs="24" :sm="24" :lg="12"> @@ -194,7 +194,7 @@ </a-collapse-panel> </a-collapse> </a-tab-pane> - <a-tab-pane key="tpl-2" tab='{{ i18n "pages.settings.templates.advancedTemplate"}}'> + <a-tab-pane key="tpl-2" tab='{{ i18n "pages.settings.templates.advancedTemplate"}}' style="padding-top: 20px;"> <a-collapse> <a-collapse-panel header='{{ i18n "pages.settings.templates.xrayConfigInbounds"}}'> <setting-list-item type="textarea" title='{{ i18n "pages.settings.templates.xrayConfigInbounds"}}' desc='{{ i18n "pages.settings.templates.xrayConfigInboundsDesc"}}' v-model="inboundSettings"></setting-list-item> @@ -207,7 +207,7 @@ </a-collapse-panel> </a-collapse> </a-tab-pane> - <a-tab-pane key="tpl-3" tab='{{ i18n "pages.settings.templates.completeTemplate"}}'> + <a-tab-pane key="tpl-3" tab='{{ i18n "pages.settings.templates.completeTemplate"}}' style="padding-top: 20px;"> <setting-list-item type="textarea" title='{{ i18n "pages.settings.templates.xrayConfigTemplate"}}' desc='{{ i18n "pages.settings.templates.xrayConfigTemplateDesc"}}' v-model="allSetting.xrayTemplateConfig"></setting-list-item> </a-tab-pane> </a-tabs> diff --git a/web/translation/translate.en_US.toml b/web/translation/translate.en_US.toml index d20a0157..bc5bb942 100644 --- a/web/translation/translate.en_US.toml +++ b/web/translation/translate.en_US.toml @@ -22,7 +22,7 @@ "unlimited" = "Unlimited" "none" = "None" "qrCode" = "QR Code" -"info" = "More information" +"info" = "More Information" "edit" = "Edit" "delete" = "Delete" "reset" = "Reset" @@ -43,29 +43,29 @@ "monitor" = "Listening IP" "certificate" = "Certificate" "fail" = "Fail" -"success" = " Success" +"success" = "Success" "getVersion" = "Get version" "install" = "Install" "clients" = "Clients" "usage" = "Usage" -"secretToken" = "Secret token" +"secretToken" = "Secret Token" [menu] "dashboard" = "System Status" "inbounds" = "Inbounds" -"setting" = "Panel Setting" +"settings" = "Panel Settings" "logout" = "Logout" "link" = "Other" [pages.login] "title" = "Login" -"loginAgain" = "The login time limit has expired, please log in again" +"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] @@ -81,21 +81,21 @@ "operationHours" = "Operation Hours" "operationHoursDesc" = "System uptime: time since startup." "systemLoad" = "System Load" -"connectionCount" = "Number of connections" -"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" = "Whether to switch the xray version to" -"dontRefreshh" = "Installation is in progress, please do not refresh this page" +"connectionCount" = "Number of Connections" +"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." [pages.inbounds] "title" = "Inbounds" -"totalDownUp" = "Total uploads/downloads" -"totalUsage" = "Total usage" -"inboundCount" = "Number of inbound" +"totalDownUp" = "Total Uploads/Downloads" +"totalUsage" = "Total Usage" +"inboundCount" = "Number of Inbounds" "operate" = "Menu" "enable" = "Enable" "remark" = "Remark" @@ -104,77 +104,77 @@ "traffic" = "Traffic" "details" = "Details" "transportConfig" = "Transport" -"expireDate" = "Expire date" -"resetTraffic" = "Reset traffic" +"expireDate" = "Expire Date" +"resetTraffic" = "Reset Traffic" "addInbound" = "Add Inbound" "generalActions" = "General Actions" -"addTo" = "Create" -"revise" = "Update" -"modifyInbound" = "Modify InBound" +"create" = "Create" +"update" = "Update" +"modifyInbound" = "Modify Inbound" "deleteInbound" = "Delete Inbound" "deleteInboundContent" = "Confirm deletion of inbound?" "resetTrafficContent" = "Confirm traffic reset?" "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" -"leaveBlankToNeverExpire" = "Leave blank to set no expiration" +"meansNoLimit" = "Means No Limit" +"totalFlow" = "Total Flow" +"leaveBlankToNeverExpire" = "Leave Blank to Never Expire" "noRecommendKeepDefault" = "No special requirements to maintain default settings" -"certificatePath" = "Certificate file path" -"certificateContent" = "Certificate file content" -"publicKeyPath" = "Public key path" -"publicKeyContent" = "Public key content" -"keyPath" = "Private Key path" -"keyContent" = "Private Key content" +"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 settings of this inbound, except for Port, Listening IP, and Clients, will be applied to the clone" -"cloneInboundOk" = "Creating a clone from" +"export" = "Export Links" +"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?" "resetAllTrafficOkText" = "Confirm" "resetAllTrafficCancelText" = "Cancel" "IPLimit" = "IP Limit" -"IPLimitDesc" = "Disable inbound if the count exceeds the entered value (Enter 0 to disable IP limit)" +"IPLimitDesc" = "Disable inbound if the count exceeds the entered value (enter 0 to disable IP limit)." "resetInboundClientTraffics" = "Reset Clients Traffic" -"resetInboundClientTrafficTitle" = "Reset all clients traffic" -"resetInboundClientTrafficContent" = "Are you sure to reset all traffics of this inbound's clients ?" +"resetInboundClientTra
|
