部分菜单实现中英文切换

This commit is contained in:
刘祥超
2023-12-12 11:47:41 +08:00
parent bacb94abe6
commit fc6fb7dce2
12 changed files with 93 additions and 4 deletions

View File

@@ -0,0 +1,17 @@
package lang
import (
"github.com/TeaOSLab/EdgeAdmin/internal/configloaders"
"github.com/TeaOSLab/EdgeAdmin/internal/web/helpers"
"github.com/iwind/TeaGo"
)
func init() {
TeaGo.BeforeStart(func(server *TeaGo.Server) {
server.
Helper(helpers.NewUserMustAuth(configloaders.AdminModuleCodeServer)).
Prefix("/settings/lang").
Post("/switch", new(SwitchAction)).
EndAll()
})
}

View File

@@ -0,0 +1,33 @@
// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
package lang
import (
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
"net/http"
)
type SwitchAction struct {
actionutils.ParentAction
}
func (this *SwitchAction) Init() {
this.Nav("", "", "")
}
func (this *SwitchAction) RunPost(params struct{}) {
var langCode = this.LangCode()
if len(langCode) == 0 || langCode == "zh-cn" {
langCode = "en-us"
} else {
langCode = "zh-cn"
}
this.AddCookie(&http.Cookie{
Name: "edgelang",
Value: langCode,
Path: "/",
})
this.Success()
}

View File

@@ -117,6 +117,7 @@ import (
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/backup"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/database"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/lang"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/login"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/profile"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/security"

View File

@@ -0,0 +1,2 @@
// generated by 'langs generate'
window.LANG_MESSAGES_BASE = {"admin_dashboard@ui_dns":"DNS","admin_dashboard@ui_events":"事件","admin_dashboard@ui_overview":"概况","admin_dashboard@ui_user":"用户","admin_dashboard@ui_waf":"WAF"};

View File

@@ -0,0 +1,5 @@
.main-menu .menu .item {
font-size: 0.9em;
line-height: 1.3;
}
/*# sourceMappingURL=en-us.css.map */

View File

@@ -0,0 +1 @@
{"version":3,"sources":["en-us.less"],"names":[],"mappings":"AAAA,UACC,MACC;EACC,gBAAA;EACA,gBAAA","file":"en-us.css"}

View File

@@ -0,0 +1,2 @@
// generated by 'langs generate'
window.LANG_MESSAGES = {};

View File

@@ -0,0 +1,8 @@
.main-menu {
.menu {
.item {
font-size: 0.9em;
line-height: 1.3;
}
}
}

View File

View File

@@ -19,7 +19,9 @@
<script type="text/javascript" src="/js/utils.min.js"></script>
<script type="text/javascript" src="/js/sweetalert2/dist/sweetalert2.all.min.js" async></script>
<script type="text/javascript" src="/js/date.tea.js"></script>
<script type="text/javascript" src="/js/langs/{$.teaLang}.js?v=1.2.0"></script>
<script type="text/javascript" src="/js/langs/base.js?v=1.2.0"></script>
<script type="text/javascript" src="/js/langs/{$.teaLang}.js?v=1.3.2"></script>
<link rel="stylesheet" type="text/css" href="/js/langs/{$.teaLang}.css?v=1.3.2"/>
<link rel="stylesheet" type="text/css" href="/_/@default/@layout_override.css" media="all"/>
</head>
@@ -60,6 +62,8 @@
<span class="hover-span"><span class="disabled">{{teaUsername}}</span></span>
</a>
<a href="" class="item" title="switch language" @click.prevent="switchLang"><i class="icon language"></i> </a>
<!-- 背景颜色 -->
<a href="" class="item" title="点击切换界面风格" @click.prevent="changeTheme()"><i class="icon adjust"></i></a>

View File

@@ -205,8 +205,21 @@ Tea.context(function () {
return message
}
}
if (window.LANG_MESSAGES_BASE != null) {
let message = window.LANG_MESSAGES_BASE[code]
if (typeof message == "string") {
return message
}
}
return "{{ LANG('" + code + "') }}"
}
this.switchLang = function () {
this.$post("/settings/lang/switch")
.success(function () {
window.location.reload()
})
}
});
window.NotifySuccess = function (message, url, params) {

View File

@@ -1,8 +1,11 @@
{$layout}
<warning-message v-if="serverIsChanged">服务配置已修改,请在命令行下重启后生效。</warning-message>
<div v-if="serverIsChanged">
<div class="margin"></div>
<warning-message>服务配置已修改,请在命令行下重启后生效(<code-label>edge-admin restart</code-label>)。</warning-message>
</div>
<h3>HTTP <a href="/settings/server/http" v-if="!teaDemoEnabled" @click.prevent="updateHTTP()">修改</a><a v-if="teaDemoEnabled">[演示版无法修改]</a></h3>
<h3>通过HTTP访问管理平台 <a href="/settings/server/http" v-if="!teaDemoEnabled" @click.prevent="updateHTTP()">修改</a><a v-if="teaDemoEnabled">[演示版无法修改]</a></h3>
<table class="ui table definition selectable">
<tr>
@@ -22,7 +25,7 @@
<div class="ui divider"></div>
<h3>HTTPS <a href="" v-if="!teaDemoEnabled" @click.prevent="updateHTTPS()">修改</a><a v-if="teaDemoEnabled">[演示版无法修改]</a></h3>
<h3>通过HTTPS访问管理平台 <a href="" v-if="!teaDemoEnabled" @click.prevent="updateHTTPS()">修改</a><a v-if="teaDemoEnabled">[演示版无法修改]</a></h3>
<table class="ui table definition selectable">
<tr>
<td>状态</td>