diff --git a/internal/web/actions/default/settings/lang/init.go b/internal/web/actions/default/settings/lang/init.go new file mode 100644 index 00000000..b92b10e2 --- /dev/null +++ b/internal/web/actions/default/settings/lang/init.go @@ -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() + }) +} diff --git a/internal/web/actions/default/settings/lang/switch.go b/internal/web/actions/default/settings/lang/switch.go new file mode 100644 index 00000000..7ed7f033 --- /dev/null +++ b/internal/web/actions/default/settings/lang/switch.go @@ -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() +} diff --git a/internal/web/import.go b/internal/web/import.go index ba4b66ed..461ac764 100644 --- a/internal/web/import.go +++ b/internal/web/import.go @@ -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" diff --git a/web/public/js/langs/base.js b/web/public/js/langs/base.js new file mode 100644 index 00000000..c8423738 --- /dev/null +++ b/web/public/js/langs/base.js @@ -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"}; diff --git a/web/public/js/langs/en-us.css b/web/public/js/langs/en-us.css new file mode 100644 index 00000000..3aff017b --- /dev/null +++ b/web/public/js/langs/en-us.css @@ -0,0 +1,5 @@ +.main-menu .menu .item { + font-size: 0.9em; + line-height: 1.3; +} +/*# sourceMappingURL=en-us.css.map */ \ No newline at end of file diff --git a/web/public/js/langs/en-us.css.map b/web/public/js/langs/en-us.css.map new file mode 100644 index 00000000..d63b209a --- /dev/null +++ b/web/public/js/langs/en-us.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["en-us.less"],"names":[],"mappings":"AAAA,UACC,MACC;EACC,gBAAA;EACA,gBAAA","file":"en-us.css"} \ No newline at end of file diff --git a/web/public/js/langs/en-us.js b/web/public/js/langs/en-us.js new file mode 100644 index 00000000..f0b8f1ff --- /dev/null +++ b/web/public/js/langs/en-us.js @@ -0,0 +1,2 @@ +// generated by 'langs generate' +window.LANG_MESSAGES = {}; diff --git a/web/public/js/langs/en-us.less b/web/public/js/langs/en-us.less new file mode 100644 index 00000000..f43dabec --- /dev/null +++ b/web/public/js/langs/en-us.less @@ -0,0 +1,8 @@ +.main-menu { + .menu { + .item { + font-size: 0.9em; + line-height: 1.3; + } + } +} \ No newline at end of file diff --git a/web/public/js/langs/zh-cn.css b/web/public/js/langs/zh-cn.css new file mode 100644 index 00000000..e69de29b diff --git a/web/views/@default/@layout.html b/web/views/@default/@layout.html index 3cfaed98..15fae28a 100644 --- a/web/views/@default/@layout.html +++ b/web/views/@default/@layout.html @@ -19,7 +19,9 @@ - + + + @@ -60,6 +62,8 @@ {{teaUsername}} + + diff --git a/web/views/@default/@layout.js b/web/views/@default/@layout.js index beb33ff6..747f5f59 100644 --- a/web/views/@default/@layout.js +++ b/web/views/@default/@layout.js @@ -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) { diff --git a/web/views/@default/settings/server/index.html b/web/views/@default/settings/server/index.html index 148a5307..c7562ed3 100644 --- a/web/views/@default/settings/server/index.html +++ b/web/views/@default/settings/server/index.html @@ -1,8 +1,11 @@ {$layout} -服务配置已修改,请在命令行下重启后生效。 +
+
+ 服务配置已修改,请在命令行下重启后生效(edge-admin restart)。 +
-

HTTP 修改[演示版无法修改]

+

通过HTTP访问管理平台 修改[演示版无法修改]

@@ -22,7 +25,7 @@
-

HTTPS 修改[演示版无法修改]

+

通过HTTPS访问管理平台 修改[演示版无法修改]

状态