Compare commits

..

No commits in common. "7cb04d79eee9887e4c6ed9579a2f6058cddff3d8" and "3216ad43faa5667bf03fc0587bb809cff0dc0d6d" have entirely different histories.

12 changed files with 274 additions and 472 deletions

View File

@ -18,13 +18,13 @@ jobs:
fail-fast: true
matrix:
os: [ubuntu, windows, macos]
runs-on: ${{ matrix.os }}-latest
env:
GO111MODULE: on
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.23.x"
@ -35,14 +35,14 @@ jobs:
touch ./cmd/dashboard/user-dist/a
touch ./cmd/dashboard/admin-dist/a
swag init --pd -d . -g ./cmd/dashboard/main.go -o ./cmd/dashboard/docs --parseGoList=false
- name: Unit test
run: |
go test -v ./...
- name: Build test
run: go build -v ./cmd/dashboard
- name: Run Gosec Security Scanner
if: runner.os == 'Linux'
uses: securego/gosec@master

View File

@ -60,9 +60,9 @@ add your theme to [service/singleton/frontend-templates.yaml](service/singleton/
<a href="https://github.com/lemoeo" title="Lemoe"><img src="https://avatars.githubusercontent.com/u/18618627?v=4" width="50;" alt="Lemoe"/></a>
<a href="https://github.com/spiritLHLS" title="spiritlhl"><img src="https://avatars.githubusercontent.com/u/103393591?v=4" width="50;" alt="spiritlhl"/></a>
<a href="https://github.com/liuyanxi975" title="刘颜溪"><img src="https://avatars.githubusercontent.com/u/24417037?v=4" width="50;" alt="刘颜溪"/></a>
<a href="https://github.com/weblate" title="Weblate (bot)"><img src="https://avatars.githubusercontent.com/u/1607653?v=4" width="50;" alt="Weblate (bot)"/></a>
<a href="https://github.com/CosmosZ-code" title="CosmosZ-code"><img src="https://avatars.githubusercontent.com/u/81398224?v=4" width="50;" alt="CosmosZ-code"/></a>
<a href="https://github.com/lvgj-stack" title="Ko no dio"><img src="https://avatars.githubusercontent.com/u/38449861?v=4" width="50;" alt="Ko no dio"/></a>
<a href="https://github.com/weblate" title="Weblate (bot)"><img src="https://avatars.githubusercontent.com/u/1607653?v=4" width="50;" alt="Weblate (bot)"/></a>
<a href="https://github.com/hhhkkk520" title="Kris"><img src="https://avatars.githubusercontent.com/u/52115472?v=4" width="50;" alt="Kris"/></a>
<a href="https://github.com/1ridic" title="1ridic"><img src="https://avatars.githubusercontent.com/u/88495501?v=4" width="50;" alt="1ridic"/></a>
<a href="https://github.com/Mmx233" title="Mmx"><img src="https://avatars.githubusercontent.com/u/36563672?v=4" width="50;" alt="Mmx"/></a>

View File

@ -21,7 +21,6 @@ import (
"github.com/nezhahq/nezha/cmd/dashboard/controller/waf"
docs "github.com/nezhahq/nezha/cmd/dashboard/docs"
"github.com/nezhahq/nezha/model"
"github.com/nezhahq/nezha/pkg/utils"
"github.com/nezhahq/nezha/service/singleton"
)
@ -285,31 +284,10 @@ func getUid(c *gin.Context) uint64 {
return user.ID
}
type ginCustomWriter struct {
gin.ResponseWriter
customCode int
}
func newCustomWriter(c *gin.Context, code int) *ginCustomWriter {
return &ginCustomWriter{
ResponseWriter: c.Writer,
customCode: code,
}
}
func (w *ginCustomWriter) WriteHeader(code int) {
w.ResponseWriter.WriteHeader(w.customCode)
}
func fileWithCustomStatusCode(c *gin.Context, filepath string, customCode int) {
http.ServeFile(newCustomWriter(c, customCode), c.Request, filepath)
}
func fallbackToFrontend(frontendDist fs.FS) func(*gin.Context) {
checkLocalFileOrFs := func(c *gin.Context, fs fs.FS, path string, customStatusCode int) bool {
checkLocalFileOrFs := func(c *gin.Context, fs fs.FS, path string) bool {
if _, err := os.Stat(path); err == nil {
fileWithCustomStatusCode(c, path, customStatusCode)
c.File(path)
return true
}
f, err := fs.Open(path)
@ -324,7 +302,7 @@ func fallbackToFrontend(frontendDist fs.FS) func(*gin.Context) {
if fileStat.IsDir() {
return false
}
http.ServeContent(newCustomWriter(c, customStatusCode), c.Request, path, fileStat.ModTime(), f.(io.ReadSeeker))
http.ServeContent(c.Writer, c.Request, path, fileStat.ModTime(), f.(io.ReadSeeker))
return true
}
return func(c *gin.Context) {
@ -335,21 +313,29 @@ func fallbackToFrontend(frontendDist fs.FS) func(*gin.Context) {
if strings.HasPrefix(c.Request.URL.Path, "/dashboard") {
stripPath := strings.TrimPrefix(c.Request.URL.Path, "/dashboard")
localFilePath := path.Join(singleton.Conf.AdminTemplate, stripPath)
statusCode := utils.IfOr(stripPath == "/", http.StatusOK, http.StatusNotFound)
if checkLocalFileOrFs(c, frontendDist, localFilePath, http.StatusOK) {
return
if stripPath == "/" {
c.Status(http.StatusOK)
}
if !checkLocalFileOrFs(c, frontendDist, singleton.Conf.AdminTemplate+"/index.html", statusCode) {
if checkLocalFileOrFs(c, frontendDist, localFilePath) {
return
} else {
c.Status(http.StatusNotFound)
}
if !checkLocalFileOrFs(c, frontendDist, singleton.Conf.AdminTemplate+"/index.html") {
c.JSON(http.StatusNotFound, newErrorResponse(errors.New("404 Not Found")))
}
return
}
localFilePath := path.Join(singleton.Conf.UserTemplate, c.Request.URL.Path)
if checkLocalFileOrFs(c, frontendDist, localFilePath, http.StatusOK) {
return
if c.Request.URL.Path == "/" {
c.Status(http.StatusOK)
}
statusCode := utils.IfOr(c.Request.URL.Path == "/", http.StatusOK, http.StatusNotFound)
if !checkLocalFileOrFs(c, frontendDist, singleton.Conf.UserTemplate+"/index.html", statusCode) {
if checkLocalFileOrFs(c, frontendDist, localFilePath) {
return
} else {
c.Status(http.StatusNotFound)
}
if !checkLocalFileOrFs(c, frontendDist, singleton.Conf.UserTemplate+"/index.html") {
c.JSON(http.StatusNotFound, newErrorResponse(errors.New("404 Not Found")))
}
}

View File

@ -7,11 +7,11 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-31 21:25+0800\n"
"POT-Creation-Date: 2024-12-22 11:55+0800\n"
"PO-Revision-Date: 2024-12-26 06:06+0000\n"
"Last-Translator: UUBulb <uub@kuzu.uk>\n"
"Language-Team: German <https://hosted.weblate.org/projects/nezha/nezha-"
"dashboard/de/>\n"
"Language-Team: German <https://hosted.weblate.org/projects/nezha/"
"nezha-dashboard/de/>\n"
"Language: de_DE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -19,90 +19,89 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.10-dev\n"
#: cmd/dashboard/controller/alertrule.go:104
#: cmd/dashboard/controller/alertrule.go:103
#, c-format
msgid "alert id %d does not exist"
msgstr "benachrichtigungs ID %d existiert nicht"
#: cmd/dashboard/controller/alertrule.go:108
#: cmd/dashboard/controller/alertrule.go:156
#: cmd/dashboard/controller/alertrule.go:176
#: cmd/dashboard/controller/controller.go:216
#: cmd/dashboard/controller/cron.go:58 cmd/dashboard/controller/cron.go:124
#: cmd/dashboard/controller/cron.go:136 cmd/dashboard/controller/cron.go:195
#: cmd/dashboard/controller/cron.go:224 cmd/dashboard/controller/ddns.go:131
#: cmd/dashboard/controller/ddns.go:192 cmd/dashboard/controller/fm.go:43
#: cmd/dashboard/controller/nat.go:59 cmd/dashboard/controller/nat.go:110
#: cmd/dashboard/controller/nat.go:121 cmd/dashboard/controller/nat.go:160
#: cmd/dashboard/controller/notification.go:112
#: cmd/dashboard/controller/notification.go:166
#: cmd/dashboard/controller/alertrule.go:107
#: cmd/dashboard/controller/alertrule.go:155
#: cmd/dashboard/controller/alertrule.go:175
#: cmd/dashboard/controller/controller.go:211
#: cmd/dashboard/controller/cron.go:57 cmd/dashboard/controller/cron.go:123
#: cmd/dashboard/controller/cron.go:135 cmd/dashboard/controller/cron.go:194
#: cmd/dashboard/controller/cron.go:223 cmd/dashboard/controller/ddns.go:130
#: cmd/dashboard/controller/ddns.go:191 cmd/dashboard/controller/fm.go:43
#: cmd/dashboard/controller/nat.go:58 cmd/dashboard/controller/nat.go:109
#: cmd/dashboard/controller/nat.go:120 cmd/dashboard/controller/nat.go:159
#: cmd/dashboard/controller/notification.go:111
#: cmd/dashboard/controller/notification.go:165
#: cmd/dashboard/controller/notification_group.go:76
#: cmd/dashboard/controller/notification_group.go:152
#: cmd/dashboard/controller/notification_group.go:164
#: cmd/dashboard/controller/notification_group.go:233
#: cmd/dashboard/controller/server.go:65 cmd/dashboard/controller/server.go:77
#: cmd/dashboard/controller/server.go:128
#: cmd/dashboard/controller/server.go:192
#: cmd/dashboard/controller/server.go:64 cmd/dashboard/controller/server.go:76
#: cmd/dashboard/controller/server.go:127
#: cmd/dashboard/controller/server.go:191
#: cmd/dashboard/controller/server_group.go:75
#: cmd/dashboard/controller/server_group.go:150
#: cmd/dashboard/controller/server_group.go:229
#: cmd/dashboard/controller/service.go:273
#: cmd/dashboard/controller/service.go:344
#: cmd/dashboard/controller/service.go:371
#: cmd/dashboard/controller/service.go:272
#: cmd/dashboard/controller/service.go:343
#: cmd/dashboard/controller/service.go:370
#: cmd/dashboard/controller/terminal.go:41
msgid "permission denied"
msgstr "zugriff verweigert"
#: cmd/dashboard/controller/alertrule.go:184
#: cmd/dashboard/controller/alertrule.go:183
msgid "duration need to be at least 3"
msgstr "dauer muss mindestens 3 sein"
#: cmd/dashboard/controller/alertrule.go:188
#: cmd/dashboard/controller/alertrule.go:187
msgid "cycle_interval need to be at least 1"
msgstr "cycle_interval muss mindestens 1 sein"
#: cmd/dashboard/controller/alertrule.go:191
#: cmd/dashboard/controller/alertrule.go:190
msgid "cycle_start is not set"
msgstr "cycle_start ist nicht eingestellt"
#: cmd/dashboard/controller/alertrule.go:194
#: cmd/dashboard/controller/alertrule.go:193
msgid "cycle_start is a future value"
msgstr "cycle_start ist ein zukünftiger wert"
#: cmd/dashboard/controller/alertrule.go:199
#: cmd/dashboard/controller/alertrule.go:198
msgid "need to configure at least a single rule"
msgstr "mindestens eine Regel muss konfiguriert sein"
#: cmd/dashboard/controller/controller.go:210
#: cmd/dashboard/controller/oauth2.go:152
#: cmd/dashboard/controller/controller.go:205
#: cmd/dashboard/controller/server_group.go:162
#: cmd/dashboard/controller/service.go:96 cmd/dashboard/controller/user.go:27
#: cmd/dashboard/controller/user.go:63
#: cmd/dashboard/controller/service.go:95 cmd/dashboard/controller/user.go:26
#: cmd/dashboard/controller/user.go:53
msgid "unauthorized"
msgstr "nicht autorisiert"
#: cmd/dashboard/controller/controller.go:233
#: cmd/dashboard/controller/controller.go:228
msgid "database error"
msgstr "datenbankfehler"
#: cmd/dashboard/controller/cron.go:75 cmd/dashboard/controller/cron.go:149
#: cmd/dashboard/controller/cron.go:74 cmd/dashboard/controller/cron.go:148
msgid "scheduled tasks cannot be triggered by alarms"
msgstr "geplante aufgaben können nicht durch Alarme ausgelöst werden"
#: cmd/dashboard/controller/cron.go:132 cmd/dashboard/controller/cron.go:190
#: cmd/dashboard/controller/cron.go:131 cmd/dashboard/controller/cron.go:189
#, c-format
msgid "task id %d does not exist"
msgstr "task ID %d existiert nicht"
#: cmd/dashboard/controller/ddns.go:57 cmd/dashboard/controller/ddns.go:122
#: cmd/dashboard/controller/ddns.go:56 cmd/dashboard/controller/ddns.go:121
msgid "the retry count must be an integer between 1 and 10"
msgstr "der retry_count muss eine Zahl zwischen 1 und 10 sein"
#: cmd/dashboard/controller/ddns.go:81 cmd/dashboard/controller/ddns.go:154
#: cmd/dashboard/controller/ddns.go:80 cmd/dashboard/controller/ddns.go:153
msgid "error parsing %s: %v"
msgstr "fehler beim parsen von %s: %v"
#: cmd/dashboard/controller/ddns.go:127 cmd/dashboard/controller/nat.go:117
#: cmd/dashboard/controller/ddns.go:126 cmd/dashboard/controller/nat.go:116
#, c-format
msgid "profile id %d does not exist"
msgstr "profil ID %d existiert nicht"
@ -111,12 +110,12 @@ msgstr "profil ID %d existiert nicht"
msgid "server not found or not connected"
msgstr "server nicht gefunden oder nicht verbunden"
#: cmd/dashboard/controller/notification.go:69
#: cmd/dashboard/controller/notification.go:131
#: cmd/dashboard/controller/notification.go:68
#: cmd/dashboard/controller/notification.go:130
msgid "a test message"
msgstr "testnachricht"
#: cmd/dashboard/controller/notification.go:108
#: cmd/dashboard/controller/notification.go:107
#, c-format
msgid "notification id %d does not exist"
msgstr "benachrichtigung ID %d existiert nicht"
@ -132,36 +131,7 @@ msgstr "haben ungültige Benachrichtigungs ID"
msgid "group id %d does not exist"
msgstr "gruppen ID %d existiert nicht"
#: cmd/dashboard/controller/oauth2.go:42 cmd/dashboard/controller/oauth2.go:83
msgid "provider is required"
msgstr ""
#: cmd/dashboard/controller/oauth2.go:52 cmd/dashboard/controller/oauth2.go:87
#: cmd/dashboard/controller/oauth2.go:132
#, fuzzy
#| msgid "server not found"
msgid "provider not found"
msgstr "server nicht gefunden"
#: cmd/dashboard/controller/oauth2.go:100
msgid "operation not permitted"
msgstr ""
#: cmd/dashboard/controller/oauth2.go:138
msgid "code is required"
msgstr ""
#: cmd/dashboard/controller/oauth2.go:174
msgid "oauth2 user not binded yet"
msgstr ""
#: cmd/dashboard/controller/oauth2.go:215
#: cmd/dashboard/controller/oauth2.go:221
#: cmd/dashboard/controller/oauth2.go:226
msgid "invalid state key"
msgstr ""
#: cmd/dashboard/controller/server.go:73
#: cmd/dashboard/controller/server.go:72
#, c-format
msgid "server id %d does not exist"
msgstr "server ID %d existiert nicht"
@ -171,37 +141,29 @@ msgstr "server ID %d existiert nicht"
msgid "have invalid server id"
msgstr "haben ungültige Server ID"
#: cmd/dashboard/controller/service.go:89
#: cmd/dashboard/controller/service.go:165
#: cmd/dashboard/controller/service.go:88
#: cmd/dashboard/controller/service.go:164
msgid "server not found"
msgstr "server nicht gefunden"
#: cmd/dashboard/controller/service.go:269
#: cmd/dashboard/controller/service.go:268
#, c-format
msgid "service id %d does not exist"
msgstr "service ID %d existiert nicht"
#: cmd/dashboard/controller/user.go:68
#: cmd/dashboard/controller/user.go:58
msgid "incorrect password"
msgstr "falsches passwort"
#: cmd/dashboard/controller/user.go:82
msgid "you don't have any oauth2 bindings"
msgstr ""
#: cmd/dashboard/controller/user.go:130
#: cmd/dashboard/controller/user.go:110
msgid "password length must be greater than 6"
msgstr "passwort muss länger als 6 Zeichen sein"
#: cmd/dashboard/controller/user.go:133
#: cmd/dashboard/controller/user.go:113
msgid "username can't be empty"
msgstr "benutzername darf nicht leer sein"
#: cmd/dashboard/controller/user.go:136
msgid "invalid role"
msgstr ""
#: cmd/dashboard/controller/user.go:175
#: cmd/dashboard/controller/user.go:152
msgid "can't delete yourself"
msgstr "du kannst dich selbst nicht löschen"
@ -229,11 +191,11 @@ msgstr "geplante Aufgabe fehlgeschlagen"
msgid "IP Changed"
msgstr "IP geändert"
#: service/singleton/alertsentinel.go:170
#: service/singleton/alertsentinel.go:167
msgid "Incident"
msgstr "Vorfall"
#: service/singleton/alertsentinel.go:180
#: service/singleton/alertsentinel.go:177
msgid "Resolved"
msgstr "Gelöst"
@ -305,6 +267,6 @@ msgstr "Niedere Verfügbarkeit"
msgid "Down"
msgstr "Unten"
#: service/singleton/user.go:60
#: service/singleton/user.go:53
msgid "user id not specified"
msgstr "benutzer-id nicht angegeben"

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-31 21:25+0800\n"
"PO-Revision-Date: 2024-12-31 15:18+0000\n"
"POT-Creation-Date: 2024-12-22 11:55+0800\n"
"PO-Revision-Date: 2024-12-22 04:33+0000\n"
"Last-Translator: UUBulb <uub@kuzu.uk>\n"
"Language-Team: English (United States) <https://hosted.weblate.org/projects/"
"nezha/nezha-dashboard/en_US/>\n"
@ -19,90 +19,89 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.10-dev\n"
#: cmd/dashboard/controller/alertrule.go:104
#: cmd/dashboard/controller/alertrule.go:103
#, c-format
msgid "alert id %d does not exist"
msgstr "alert id %d does not exist"
#: cmd/dashboard/controller/alertrule.go:108
#: cmd/dashboard/controller/alertrule.go:156
#: cmd/dashboard/controller/alertrule.go:176
#: cmd/dashboard/controller/controller.go:216
#: cmd/dashboard/controller/cron.go:58 cmd/dashboard/controller/cron.go:124
#: cmd/dashboard/controller/cron.go:136 cmd/dashboard/controller/cron.go:195
#: cmd/dashboard/controller/cron.go:224 cmd/dashboard/controller/ddns.go:131
#: cmd/dashboard/controller/ddns.go:192 cmd/dashboard/controller/fm.go:43
#: cmd/dashboard/controller/nat.go:59 cmd/dashboard/controller/nat.go:110
#: cmd/dashboard/controller/nat.go:121 cmd/dashboard/controller/nat.go:160
#: cmd/dashboard/controller/notification.go:112
#: cmd/dashboard/controller/notification.go:166
#: cmd/dashboard/controller/alertrule.go:107
#: cmd/dashboard/controller/alertrule.go:155
#: cmd/dashboard/controller/alertrule.go:175
#: cmd/dashboard/controller/controller.go:211
#: cmd/dashboard/controller/cron.go:57 cmd/dashboard/controller/cron.go:123
#: cmd/dashboard/controller/cron.go:135 cmd/dashboard/controller/cron.go:194
#: cmd/dashboard/controller/cron.go:223 cmd/dashboard/controller/ddns.go:130
#: cmd/dashboard/controller/ddns.go:191 cmd/dashboard/controller/fm.go:43
#: cmd/dashboard/controller/nat.go:58 cmd/dashboard/controller/nat.go:109
#: cmd/dashboard/controller/nat.go:120 cmd/dashboard/controller/nat.go:159
#: cmd/dashboard/controller/notification.go:111
#: cmd/dashboard/controller/notification.go:165
#: cmd/dashboard/controller/notification_group.go:76
#: cmd/dashboard/controller/notification_group.go:152
#: cmd/dashboard/controller/notification_group.go:164
#: cmd/dashboard/controller/notification_group.go:233
#: cmd/dashboard/controller/server.go:65 cmd/dashboard/controller/server.go:77
#: cmd/dashboard/controller/server.go:128
#: cmd/dashboard/controller/server.go:192
#: cmd/dashboard/controller/server.go:64 cmd/dashboard/controller/server.go:76
#: cmd/dashboard/controller/server.go:127
#: cmd/dashboard/controller/server.go:191
#: cmd/dashboard/controller/server_group.go:75
#: cmd/dashboard/controller/server_group.go:150
#: cmd/dashboard/controller/server_group.go:229
#: cmd/dashboard/controller/service.go:273
#: cmd/dashboard/controller/service.go:344
#: cmd/dashboard/controller/service.go:371
#: cmd/dashboard/controller/service.go:272
#: cmd/dashboard/controller/service.go:343
#: cmd/dashboard/controller/service.go:370
#: cmd/dashboard/controller/terminal.go:41
msgid "permission denied"
msgstr "permission denied"
#: cmd/dashboard/controller/alertrule.go:184
#: cmd/dashboard/controller/alertrule.go:183
msgid "duration need to be at least 3"
msgstr "duration need to be at least 3"
#: cmd/dashboard/controller/alertrule.go:188
#: cmd/dashboard/controller/alertrule.go:187
msgid "cycle_interval need to be at least 1"
msgstr "cycle_interval need to be at least 1"
#: cmd/dashboard/controller/alertrule.go:191
#: cmd/dashboard/controller/alertrule.go:190
msgid "cycle_start is not set"
msgstr "cycle_start is not set"
#: cmd/dashboard/controller/alertrule.go:194
#: cmd/dashboard/controller/alertrule.go:193
msgid "cycle_start is a future value"
msgstr "cycle_start is a future value"
#: cmd/dashboard/controller/alertrule.go:199
#: cmd/dashboard/controller/alertrule.go:198
msgid "need to configure at least a single rule"
msgstr "need to configure at least a single rule"
#: cmd/dashboard/controller/controller.go:210
#: cmd/dashboard/controller/oauth2.go:152
#: cmd/dashboard/controller/controller.go:205
#: cmd/dashboard/controller/server_group.go:162
#: cmd/dashboard/controller/service.go:96 cmd/dashboard/controller/user.go:27
#: cmd/dashboard/controller/user.go:63
#: cmd/dashboard/controller/service.go:95 cmd/dashboard/controller/user.go:26
#: cmd/dashboard/controller/user.go:53
msgid "unauthorized"
msgstr "unauthorized"
#: cmd/dashboard/controller/controller.go:233
#: cmd/dashboard/controller/controller.go:228
msgid "database error"
msgstr "database error"
#: cmd/dashboard/controller/cron.go:75 cmd/dashboard/controller/cron.go:149
#: cmd/dashboard/controller/cron.go:74 cmd/dashboard/controller/cron.go:148
msgid "scheduled tasks cannot be triggered by alarms"
msgstr "scheduled tasks cannot be triggered by alarms"
#: cmd/dashboard/controller/cron.go:132 cmd/dashboard/controller/cron.go:190
#: cmd/dashboard/controller/cron.go:131 cmd/dashboard/controller/cron.go:189
#, c-format
msgid "task id %d does not exist"
msgstr "task id %d does not exist"
#: cmd/dashboard/controller/ddns.go:57 cmd/dashboard/controller/ddns.go:122
#: cmd/dashboard/controller/ddns.go:56 cmd/dashboard/controller/ddns.go:121
msgid "the retry count must be an integer between 1 and 10"
msgstr "the retry count must be an integer between 1 and 10"
#: cmd/dashboard/controller/ddns.go:81 cmd/dashboard/controller/ddns.go:154
#: cmd/dashboard/controller/ddns.go:80 cmd/dashboard/controller/ddns.go:153
msgid "error parsing %s: %v"
msgstr "error parsing %s: %v"
#: cmd/dashboard/controller/ddns.go:127 cmd/dashboard/controller/nat.go:117
#: cmd/dashboard/controller/ddns.go:126 cmd/dashboard/controller/nat.go:116
#, c-format
msgid "profile id %d does not exist"
msgstr "profile id %d does not exist"
@ -111,12 +110,12 @@ msgstr "profile id %d does not exist"
msgid "server not found or not connected"
msgstr "server not found or not connected"
#: cmd/dashboard/controller/notification.go:69
#: cmd/dashboard/controller/notification.go:131
#: cmd/dashboard/controller/notification.go:68
#: cmd/dashboard/controller/notification.go:130
msgid "a test message"
msgstr "a test message"
#: cmd/dashboard/controller/notification.go:108
#: cmd/dashboard/controller/notification.go:107
#, c-format
msgid "notification id %d does not exist"
msgstr "notification id %d does not exist"
@ -132,34 +131,7 @@ msgstr "have invalid notification id"
msgid "group id %d does not exist"
msgstr "group id %d does not exist"
#: cmd/dashboard/controller/oauth2.go:42 cmd/dashboard/controller/oauth2.go:83
msgid "provider is required"
msgstr "provider is required"
#: cmd/dashboard/controller/oauth2.go:52 cmd/dashboard/controller/oauth2.go:87
#: cmd/dashboard/controller/oauth2.go:132
msgid "provider not found"
msgstr "provider not found"
#: cmd/dashboard/controller/oauth2.go:100
msgid "operation not permitted"
msgstr "operation not permitted"
#: cmd/dashboard/controller/oauth2.go:138
msgid "code is required"
msgstr "code is required"
#: cmd/dashboard/controller/oauth2.go:174
msgid "oauth2 user not binded yet"
msgstr "oauth2 user not binded yet"
#: cmd/dashboard/controller/oauth2.go:215
#: cmd/dashboard/controller/oauth2.go:221
#: cmd/dashboard/controller/oauth2.go:226
msgid "invalid state key"
msgstr "invalid state key"
#: cmd/dashboard/controller/server.go:73
#: cmd/dashboard/controller/server.go:72
#, c-format
msgid "server id %d does not exist"
msgstr "server id %d does not exist"
@ -169,37 +141,29 @@ msgstr "server id %d does not exist"
msgid "have invalid server id"
msgstr "have invalid server id"
#: cmd/dashboard/controller/service.go:89
#: cmd/dashboard/controller/service.go:165
#: cmd/dashboard/controller/service.go:88
#: cmd/dashboard/controller/service.go:164
msgid "server not found"
msgstr "server not found"
#: cmd/dashboard/controller/service.go:269
#: cmd/dashboard/controller/service.go:268
#, c-format
msgid "service id %d does not exist"
msgstr "service id %d does not exist"
#: cmd/dashboard/controller/user.go:68
#: cmd/dashboard/controller/user.go:58
msgid "incorrect password"
msgstr "incorrect password"
#: cmd/dashboard/controller/user.go:82
msgid "you don't have any oauth2 bindings"
msgstr "you don't have any oauth2 bindings"
#: cmd/dashboard/controller/user.go:130
#: cmd/dashboard/controller/user.go:110
msgid "password length must be greater than 6"
msgstr "password length must be greater than 6"
#: cmd/dashboard/controller/user.go:133
#: cmd/dashboard/controller/user.go:113
msgid "username can't be empty"
msgstr "username can't be empty"
#: cmd/dashboard/controller/user.go:136
msgid "invalid role"
msgstr "invalid role"
#: cmd/dashboard/controller/user.go:175
#: cmd/dashboard/controller/user.go:152
msgid "can't delete yourself"
msgstr "can't delete yourself"
@ -227,11 +191,11 @@ msgstr "Scheduled Task Executed Failed"
msgid "IP Changed"
msgstr "IP Changed"
#: service/singleton/alertsentinel.go:170
#: service/singleton/alertsentinel.go:167
msgid "Incident"
msgstr "Incident"
#: service/singleton/alertsentinel.go:180
#: service/singleton/alertsentinel.go:177
msgid "Resolved"
msgstr "Resolved"
@ -300,6 +264,6 @@ msgstr "Low Availability"
msgid "Down"
msgstr "Down"
#: service/singleton/user.go:60
#: service/singleton/user.go:53
msgid "user id not specified"
msgstr "user id not specified"

View File

@ -7,11 +7,11 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-31 21:25+0800\n"
"POT-Creation-Date: 2024-12-22 11:55+0800\n"
"PO-Revision-Date: 2024-12-26 06:07+0000\n"
"Last-Translator: UUBulb <uub@kuzu.uk>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/nezha/nezha-"
"dashboard/es/>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/nezha/"
"nezha-dashboard/es/>\n"
"Language: es_ES\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -19,90 +19,89 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.10-dev\n"
#: cmd/dashboard/controller/alertrule.go:104
#: cmd/dashboard/controller/alertrule.go:103
#, c-format
msgid "alert id %d does not exist"
msgstr "el ID de alerta %d no existe"
#: cmd/dashboard/controller/alertrule.go:108
#: cmd/dashboard/controller/alertrule.go:156
#: cmd/dashboard/controller/alertrule.go:176
#: cmd/dashboard/controller/controller.go:216
#: cmd/dashboard/controller/cron.go:58 cmd/dashboard/controller/cron.go:124
#: cmd/dashboard/controller/cron.go:136 cmd/dashboard/controller/cron.go:195
#: cmd/dashboard/controller/cron.go:224 cmd/dashboard/controller/ddns.go:131
#: cmd/dashboard/controller/ddns.go:192 cmd/dashboard/controller/fm.go:43
#: cmd/dashboard/controller/nat.go:59 cmd/dashboard/controller/nat.go:110
#: cmd/dashboard/controller/nat.go:121 cmd/dashboard/controller/nat.go:160
#: cmd/dashboard/controller/notification.go:112
#: cmd/dashboard/controller/notification.go:166
#: cmd/dashboard/controller/alertrule.go:107
#: cmd/dashboard/controller/alertrule.go:155
#: cmd/dashboard/controller/alertrule.go:175
#: cmd/dashboard/controller/controller.go:211
#: cmd/dashboard/controller/cron.go:57 cmd/dashboard/controller/cron.go:123
#: cmd/dashboard/controller/cron.go:135 cmd/dashboard/controller/cron.go:194
#: cmd/dashboard/controller/cron.go:223 cmd/dashboard/controller/ddns.go:130
#: cmd/dashboard/controller/ddns.go:191 cmd/dashboard/controller/fm.go:43
#: cmd/dashboard/controller/nat.go:58 cmd/dashboard/controller/nat.go:109
#: cmd/dashboard/controller/nat.go:120 cmd/dashboard/controller/nat.go:159
#: cmd/dashboard/controller/notification.go:111
#: cmd/dashboard/controller/notification.go:165
#: cmd/dashboard/controller/notification_group.go:76
#: cmd/dashboard/controller/notification_group.go:152
#: cmd/dashboard/controller/notification_group.go:164
#: cmd/dashboard/controller/notification_group.go:233
#: cmd/dashboard/controller/server.go:65 cmd/dashboard/controller/server.go:77
#: cmd/dashboard/controller/server.go:128
#: cmd/dashboard/controller/server.go:192
#: cmd/dashboard/controller/server.go:64 cmd/dashboard/controller/server.go:76
#: cmd/dashboard/controller/server.go:127
#: cmd/dashboard/controller/server.go:191
#: cmd/dashboard/controller/server_group.go:75
#: cmd/dashboard/controller/server_group.go:150
#: cmd/dashboard/controller/server_group.go:229
#: cmd/dashboard/controller/service.go:273
#: cmd/dashboard/controller/service.go:344
#: cmd/dashboard/controller/service.go:371
#: cmd/dashboard/controller/service.go:272
#: cmd/dashboard/controller/service.go:343
#: cmd/dashboard/controller/service.go:370
#: cmd/dashboard/controller/terminal.go:41
msgid "permission denied"
msgstr "permiso denegado"
#: cmd/dashboard/controller/alertrule.go:184
#: cmd/dashboard/controller/alertrule.go:183
msgid "duration need to be at least 3"
msgstr "la duración debe ser al menos de 3"
#: cmd/dashboard/controller/alertrule.go:188
#: cmd/dashboard/controller/alertrule.go:187
msgid "cycle_interval need to be at least 1"
msgstr "cycle_interval debe ser al menos 1"
#: cmd/dashboard/controller/alertrule.go:191
#: cmd/dashboard/controller/alertrule.go:190
msgid "cycle_start is not set"
msgstr "no se ha configurado el cycle_start"
#: cmd/dashboard/controller/alertrule.go:194
#: cmd/dashboard/controller/alertrule.go:193
msgid "cycle_start is a future value"
msgstr "cycle_start es un valor futuro"
#: cmd/dashboard/controller/alertrule.go:199
#: cmd/dashboard/controller/alertrule.go:198
msgid "need to configure at least a single rule"
msgstr "es necesario configurar al menos una regla"
#: cmd/dashboard/controller/controller.go:210
#: cmd/dashboard/controller/oauth2.go:152
#: cmd/dashboard/controller/controller.go:205
#: cmd/dashboard/controller/server_group.go:162
#: cmd/dashboard/controller/service.go:96 cmd/dashboard/controller/user.go:27
#: cmd/dashboard/controller/user.go:63
#: cmd/dashboard/controller/service.go:95 cmd/dashboard/controller/user.go:26
#: cmd/dashboard/controller/user.go:53
msgid "unauthorized"
msgstr "no autorizado"
#: cmd/dashboard/controller/controller.go:233
#: cmd/dashboard/controller/controller.go:228
msgid "database error"
msgstr "error de base de datos"
#: cmd/dashboard/controller/cron.go:75 cmd/dashboard/controller/cron.go:149
#: cmd/dashboard/controller/cron.go:74 cmd/dashboard/controller/cron.go:148
msgid "scheduled tasks cannot be triggered by alarms"
msgstr "las tareas programadas no pueden ser activadas por alarmas"
#: cmd/dashboard/controller/cron.go:132 cmd/dashboard/controller/cron.go:190
#: cmd/dashboard/controller/cron.go:131 cmd/dashboard/controller/cron.go:189
#, c-format
msgid "task id %d does not exist"
msgstr "el ID de la tarea %d no existe"
#: cmd/dashboard/controller/ddns.go:57 cmd/dashboard/controller/ddns.go:122
#: cmd/dashboard/controller/ddns.go:56 cmd/dashboard/controller/ddns.go:121
msgid "the retry count must be an integer between 1 and 10"
msgstr "el número de reintentos debe ser un número entero entre 1 y 10"
#: cmd/dashboard/controller/ddns.go:81 cmd/dashboard/controller/ddns.go:154
#: cmd/dashboard/controller/ddns.go:80 cmd/dashboard/controller/ddns.go:153
msgid "error parsing %s: %v"
msgstr "error al analizar %s: %v"
#: cmd/dashboard/controller/ddns.go:127 cmd/dashboard/controller/nat.go:117
#: cmd/dashboard/controller/ddns.go:126 cmd/dashboard/controller/nat.go:116
#, c-format
msgid "profile id %d does not exist"
msgstr "el ID de perfil %d no existe"
@ -111,12 +110,12 @@ msgstr "el ID de perfil %d no existe"
msgid "server not found or not connected"
msgstr "servidor no encontrado o no conectado"
#: cmd/dashboard/controller/notification.go:69
#: cmd/dashboard/controller/notification.go:131
#: cmd/dashboard/controller/notification.go:68
#: cmd/dashboard/controller/notification.go:130
msgid "a test message"
msgstr "un mensaje de prueba"
#: cmd/dashboard/controller/notification.go:108
#: cmd/dashboard/controller/notification.go:107
#, c-format
msgid "notification id %d does not exist"
msgstr "el ID de notificación %d no existe"
@ -132,36 +131,7 @@ msgstr "hay un ID de notificación no válido"
msgid "group id %d does not exist"
msgstr "el ID de grupo %d no existe"
#: cmd/dashboard/controller/oauth2.go:42 cmd/dashboard/controller/oauth2.go:83
msgid "provider is required"
msgstr ""
#: cmd/dashboard/controller/oauth2.go:52 cmd/dashboard/controller/oauth2.go:87
#: cmd/dashboard/controller/oauth2.go:132
#, fuzzy
#| msgid "server not found"
msgid "provider not found"
msgstr "servidor no encontrado"
#: cmd/dashboard/controller/oauth2.go:100
msgid "operation not permitted"
msgstr ""
#: cmd/dashboard/controller/oauth2.go:138
msgid "code is required"
msgstr ""
#: cmd/dashboard/controller/oauth2.go:174
msgid "oauth2 user not binded yet"
msgstr ""
#: cmd/dashboard/controller/oauth2.go:215
#: cmd/dashboard/controller/oauth2.go:221
#: cmd/dashboard/controller/oauth2.go:226
msgid "invalid state key"
msgstr ""
#: cmd/dashboard/controller/server.go:73
#: cmd/dashboard/controller/server.go:72
#, c-format
msgid "server id %d does not exist"
msgstr "el ID de servidor %d no existe"
@ -171,37 +141,29 @@ msgstr "el ID de servidor %d no existe"
msgid "have invalid server id"
msgstr "hay un ID de servidor no válido"
#: cmd/dashboard/controller/service.go:89
#: cmd/dashboard/controller/service.go:165
#: cmd/dashboard/controller/service.go:88
#: cmd/dashboard/controller/service.go:164
msgid "server not found"
msgstr "servidor no encontrado"
#: cmd/dashboard/controller/service.go:269
#: cmd/dashboard/controller/service.go:268
#, c-format
msgid "service id %d does not exist"
msgstr "el ID de servicio %d no existe"
#: cmd/dashboard/controller/user.go:68
#: cmd/dashboard/controller/user.go:58
msgid "incorrect password"
msgstr "contraseña incorrecta"
#: cmd/dashboard/controller/user.go:82
msgid "you don't have any oauth2 bindings"
msgstr ""
#: cmd/dashboard/controller/user.go:130
#: cmd/dashboard/controller/user.go:110
msgid "password length must be greater than 6"
msgstr "la longitud de la contraseña debe ser mayor a 6"
#: cmd/dashboard/controller/user.go:133
#: cmd/dashboard/controller/user.go:113
msgid "username can't be empty"
msgstr "el nombre de usuario no puede estar vacío"
#: cmd/dashboard/controller/user.go:136
msgid "invalid role"
msgstr ""
#: cmd/dashboard/controller/user.go:175
#: cmd/dashboard/controller/user.go:152
msgid "can't delete yourself"
msgstr "no puedes eliminarte a ti mismo"
@ -230,11 +192,11 @@ msgstr "falló la ejecución de la tarea programada"
msgid "IP Changed"
msgstr "IP cambiada"
#: service/singleton/alertsentinel.go:170
#: service/singleton/alertsentinel.go:167
msgid "Incident"
msgstr "Incidente"
#: service/singleton/alertsentinel.go:180
#: service/singleton/alertsentinel.go:177
msgid "Resolved"
msgstr "Resuelto"
@ -310,6 +272,6 @@ msgstr "Baja disponibilidad"
msgid "Down"
msgstr "Fallo"
#: service/singleton/user.go:60
#: service/singleton/user.go:53
msgid "user id not specified"
msgstr "id de usuario no especificado"

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-31 21:25+0800\n"
"PO-Revision-Date: 2024-12-31 15:18+0000\n"
"POT-Creation-Date: 2024-12-22 11:55+0800\n"
"PO-Revision-Date: 2024-12-22 04:33+0000\n"
"Last-Translator: UUBulb <uub@kuzu.uk>\n"
"Language-Team: Chinese (Simplified Han script) <https://hosted.weblate.org/"
"projects/nezha/nezha-dashboard/zh_Hans/>\n"
@ -19,90 +19,89 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.10-dev\n"
#: cmd/dashboard/controller/alertrule.go:104
#: cmd/dashboard/controller/alertrule.go:103
#, c-format
msgid "alert id %d does not exist"
msgstr "告警 ID %d 不存在"
#: cmd/dashboard/controller/alertrule.go:108
#: cmd/dashboard/controller/alertrule.go:156
#: cmd/dashboard/controller/alertrule.go:176
#: cmd/dashboard/controller/controller.go:216
#: cmd/dashboard/controller/cron.go:58 cmd/dashboard/controller/cron.go:124
#: cmd/dashboard/controller/cron.go:136 cmd/dashboard/controller/cron.go:195
#: cmd/dashboard/controller/cron.go:224 cmd/dashboard/controller/ddns.go:131
#: cmd/dashboard/controller/ddns.go:192 cmd/dashboard/controller/fm.go:43
#: cmd/dashboard/controller/nat.go:59 cmd/dashboard/controller/nat.go:110
#: cmd/dashboard/controller/nat.go:121 cmd/dashboard/controller/nat.go:160
#: cmd/dashboard/controller/notification.go:112
#: cmd/dashboard/controller/notification.go:166
#: cmd/dashboard/controller/alertrule.go:107
#: cmd/dashboard/controller/alertrule.go:155
#: cmd/dashboard/controller/alertrule.go:175
#: cmd/dashboard/controller/controller.go:211
#: cmd/dashboard/controller/cron.go:57 cmd/dashboard/controller/cron.go:123
#: cmd/dashboard/controller/cron.go:135 cmd/dashboard/controller/cron.go:194
#: cmd/dashboard/controller/cron.go:223 cmd/dashboard/controller/ddns.go:130
#: cmd/dashboard/controller/ddns.go:191 cmd/dashboard/controller/fm.go:43
#: cmd/dashboard/controller/nat.go:58 cmd/dashboard/controller/nat.go:109
#: cmd/dashboard/controller/nat.go:120 cmd/dashboard/controller/nat.go:159
#: cmd/dashboard/controller/notification.go:111
#: cmd/dashboard/controller/notification.go:165
#: cmd/dashboard/controller/notification_group.go:76
#: cmd/dashboard/controller/notification_group.go:152
#: cmd/dashboard/controller/notification_group.go:164
#: cmd/dashboard/controller/notification_group.go:233
#: cmd/dashboard/controller/server.go:65 cmd/dashboard/controller/server.go:77
#: cmd/dashboard/controller/server.go:128
#: cmd/dashboard/controller/server.go:192
#: cmd/dashboard/controller/server.go:64 cmd/dashboard/controller/server.go:76
#: cmd/dashboard/controller/server.go:127
#: cmd/dashboard/controller/server.go:191
#: cmd/dashboard/controller/server_group.go:75
#: cmd/dashboard/controller/server_group.go:150
#: cmd/dashboard/controller/server_group.go:229
#: cmd/dashboard/controller/service.go:273
#: cmd/dashboard/controller/service.go:344
#: cmd/dashboard/controller/service.go:371
#: cmd/dashboard/controller/service.go:272
#: cmd/dashboard/controller/service.go:343
#: cmd/dashboard/controller/service.go:370
#: cmd/dashboard/controller/terminal.go:41
msgid "permission denied"
msgstr "权限不够"
#: cmd/dashboard/controller/alertrule.go:184
#: cmd/dashboard/controller/alertrule.go:183
msgid "duration need to be at least 3"
msgstr "duration 至少为 3"
#: cmd/dashboard/controller/alertrule.go:188
#: cmd/dashboard/controller/alertrule.go:187
msgid "cycle_interval need to be at least 1"
msgstr "cycle_interval 至少为 1"
#: cmd/dashboard/controller/alertrule.go:191
#: cmd/dashboard/controller/alertrule.go:190
msgid "cycle_start is not set"
msgstr "cycle_start 未设置"
#: cmd/dashboard/controller/alertrule.go:194
#: cmd/dashboard/controller/alertrule.go:193
msgid "cycle_start is a future value"
msgstr "cycle_start 是未来值"
#: cmd/dashboard/controller/alertrule.go:199
#: cmd/dashboard/controller/alertrule.go:198
msgid "need to configure at least a single rule"
msgstr "需要至少定义一条规则"
#: cmd/dashboard/controller/controller.go:210
#: cmd/dashboard/controller/oauth2.go:152
#: cmd/dashboard/controller/controller.go:205
#: cmd/dashboard/controller/server_group.go:162
#: cmd/dashboard/controller/service.go:96 cmd/dashboard/controller/user.go:27
#: cmd/dashboard/controller/user.go:63
#: cmd/dashboard/controller/service.go:95 cmd/dashboard/controller/user.go:26
#: cmd/dashboard/controller/user.go:53
msgid "unauthorized"
msgstr "未授权"
#: cmd/dashboard/controller/controller.go:233
#: cmd/dashboard/controller/controller.go:228
msgid "database error"
msgstr "数据库错误"
#: cmd/dashboard/controller/cron.go:75 cmd/dashboard/controller/cron.go:149
#: cmd/dashboard/controller/cron.go:74 cmd/dashboard/controller/cron.go:148
msgid "scheduled tasks cannot be triggered by alarms"
msgstr "计划任务不能被告警触发"
#: cmd/dashboard/controller/cron.go:132 cmd/dashboard/controller/cron.go:190
#: cmd/dashboard/controller/cron.go:131 cmd/dashboard/controller/cron.go:189
#, c-format
msgid "task id %d does not exist"
msgstr "任务 id %d 不存在"
#: cmd/dashboard/controller/ddns.go:57 cmd/dashboard/controller/ddns.go:122
#: cmd/dashboard/controller/ddns.go:56 cmd/dashboard/controller/ddns.go:121
msgid "the retry count must be an integer between 1 and 10"
msgstr "重试次数必须为大于 1 且不超过 10 的整数"
#: cmd/dashboard/controller/ddns.go:81 cmd/dashboard/controller/ddns.go:154
#: cmd/dashboard/controller/ddns.go:80 cmd/dashboard/controller/ddns.go:153
msgid "error parsing %s: %v"
msgstr "解析 %s 时发生错误:%v"
#: cmd/dashboard/controller/ddns.go:127 cmd/dashboard/controller/nat.go:117
#: cmd/dashboard/controller/ddns.go:126 cmd/dashboard/controller/nat.go:116
#, c-format
msgid "profile id %d does not exist"
msgstr "配置 id %d 不存在"
@ -111,12 +110,12 @@ msgstr "配置 id %d 不存在"
msgid "server not found or not connected"
msgstr "服务器未找到或仍未连接"
#: cmd/dashboard/controller/notification.go:69
#: cmd/dashboard/controller/notification.go:131
#: cmd/dashboard/controller/notification.go:68
#: cmd/dashboard/controller/notification.go:130
msgid "a test message"
msgstr "一条测试信息"
#: cmd/dashboard/controller/notification.go:108
#: cmd/dashboard/controller/notification.go:107
#, c-format
msgid "notification id %d does not exist"
msgstr "通知方式 id %d 不存在"
@ -132,34 +131,7 @@ msgstr "通知方式 id 无效"
msgid "group id %d does not exist"
msgstr "组 id %d 不存在"
#: cmd/dashboard/controller/oauth2.go:42 cmd/dashboard/controller/oauth2.go:83
msgid "provider is required"
msgstr "需要提供者"
#: cmd/dashboard/controller/oauth2.go:52 cmd/dashboard/controller/oauth2.go:87
#: cmd/dashboard/controller/oauth2.go:132
msgid "provider not found"
msgstr "未找到提供者"
#: cmd/dashboard/controller/oauth2.go:100
msgid "operation not permitted"
msgstr "不允许该操作"
#: cmd/dashboard/controller/oauth2.go:138
msgid "code is required"
msgstr "需要 code"
#: cmd/dashboard/controller/oauth2.go:174
msgid "oauth2 user not binded yet"
msgstr "oauth2 用户仍未绑定"
#: cmd/dashboard/controller/oauth2.go:215
#: cmd/dashboard/controller/oauth2.go:221
#: cmd/dashboard/controller/oauth2.go:226
msgid "invalid state key"
msgstr "不正确的 state key"
#: cmd/dashboard/controller/server.go:73
#: cmd/dashboard/controller/server.go:72
#, c-format
msgid "server id %d does not exist"
msgstr "服务器 id %d 不存在"
@ -169,37 +141,29 @@ msgstr "服务器 id %d 不存在"
msgid "have invalid server id"
msgstr "服务器 id 无效"
#: cmd/dashboard/controller/service.go:89
#: cmd/dashboard/controller/service.go:165
#: cmd/dashboard/controller/service.go:88
#: cmd/dashboard/controller/service.go:164
msgid "server not found"
msgstr "未找到服务器"
#: cmd/dashboard/controller/service.go:269
#: cmd/dashboard/controller/service.go:268
#, c-format
msgid "service id %d does not exist"
msgstr "服务 id %d 不存在"
#: cmd/dashboard/controller/user.go:68
#: cmd/dashboard/controller/user.go:58
msgid "incorrect password"
msgstr "密码错误"
#: cmd/dashboard/controller/user.go:82
msgid "you don't have any oauth2 bindings"
msgstr "你没有任何 oauth2 绑定关系"
#: cmd/dashboard/controller/user.go:130
#: cmd/dashboard/controller/user.go:110
msgid "password length must be greater than 6"
msgstr "密码长度必须大于 6"
#: cmd/dashboard/controller/user.go:133
#: cmd/dashboard/controller/user.go:113
msgid "username can't be empty"
msgstr "用户名不能为空"
#: cmd/dashboard/controller/user.go:136
msgid "invalid role"
msgstr "不正确的角色"
#: cmd/dashboard/controller/user.go:175
#: cmd/dashboard/controller/user.go:152
msgid "can't delete yourself"
msgstr "无法删除自己"
@ -227,11 +191,11 @@ msgstr "计划任务执行失败"
msgid "IP Changed"
msgstr "IP 变更"
#: service/singleton/alertsentinel.go:170
#: service/singleton/alertsentinel.go:167
msgid "Incident"
msgstr "事件"
#: service/singleton/alertsentinel.go:180
#: service/singleton/alertsentinel.go:177
msgid "Resolved"
msgstr "恢复"
@ -298,6 +262,6 @@ msgstr "低可用"
msgid "Down"
msgstr "故障"
#: service/singleton/user.go:60
#: service/singleton/user.go:53
msgid "user id not specified"
msgstr "用户 ID 未指定"

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-31 21:25+0800\n"
"PO-Revision-Date: 2024-12-31 15:18+0000\n"
"POT-Creation-Date: 2024-12-22 11:55+0800\n"
"PO-Revision-Date: 2024-12-22 04:33+0000\n"
"Last-Translator: UUBulb <uub@kuzu.uk>\n"
"Language-Team: Chinese (Traditional Han script) <https://hosted.weblate.org/"
"projects/nezha/nezha-dashboard/zh_Hant/>\n"
@ -19,90 +19,89 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.10-dev\n"
#: cmd/dashboard/controller/alertrule.go:104
#: cmd/dashboard/controller/alertrule.go:103
#, c-format
msgid "alert id %d does not exist"
msgstr "告警 ID %d 不存在"
#: cmd/dashboard/controller/alertrule.go:108
#: cmd/dashboard/controller/alertrule.go:156
#: cmd/dashboard/controller/alertrule.go:176
#: cmd/dashboard/controller/controller.go:216
#: cmd/dashboard/controller/cron.go:58 cmd/dashboard/controller/cron.go:124
#: cmd/dashboard/controller/cron.go:136 cmd/dashboard/controller/cron.go:195
#: cmd/dashboard/controller/cron.go:224 cmd/dashboard/controller/ddns.go:131
#: cmd/dashboard/controller/ddns.go:192 cmd/dashboard/controller/fm.go:43
#: cmd/dashboard/controller/nat.go:59 cmd/dashboard/controller/nat.go:110
#: cmd/dashboard/controller/nat.go:121 cmd/dashboard/controller/nat.go:160
#: cmd/dashboard/controller/notification.go:112
#: cmd/dashboard/controller/notification.go:166
#: cmd/dashboard/controller/alertrule.go:107
#: cmd/dashboard/controller/alertrule.go:155
#: cmd/dashboard/controller/alertrule.go:175
#: cmd/dashboard/controller/controller.go:211
#: cmd/dashboard/controller/cron.go:57 cmd/dashboard/controller/cron.go:123
#: cmd/dashboard/controller/cron.go:135 cmd/dashboard/controller/cron.go:194
#: cmd/dashboard/controller/cron.go:223 cmd/dashboard/controller/ddns.go:130
#: cmd/dashboard/controller/ddns.go:191 cmd/dashboard/controller/fm.go:43
#: cmd/dashboard/controller/nat.go:58 cmd/dashboard/controller/nat.go:109
#: cmd/dashboard/controller/nat.go:120 cmd/dashboard/controller/nat.go:159
#: cmd/dashboard/controller/notification.go:111
#: cmd/dashboard/controller/notification.go:165
#: cmd/dashboard/controller/notification_group.go:76
#: cmd/dashboard/controller/notification_group.go:152
#: cmd/dashboard/controller/notification_group.go:164
#: cmd/dashboard/controller/notification_group.go:233
#: cmd/dashboard/controller/server.go:65 cmd/dashboard/controller/server.go:77
#: cmd/dashboard/controller/server.go:128
#: cmd/dashboard/controller/server.go:192
#: cmd/dashboard/controller/server.go:64 cmd/dashboard/controller/server.go:76
#: cmd/dashboard/controller/server.go:127
#: cmd/dashboard/controller/server.go:191
#: cmd/dashboard/controller/server_group.go:75
#: cmd/dashboard/controller/server_group.go:150
#: cmd/dashboard/controller/server_group.go:229
#: cmd/dashboard/controller/service.go:273
#: cmd/dashboard/controller/service.go:344
#: cmd/dashboard/controller/service.go:371
#: cmd/dashboard/controller/service.go:272
#: cmd/dashboard/controller/service.go:343
#: cmd/dashboard/controller/service.go:370
#: cmd/dashboard/controller/terminal.go:41
msgid "permission denied"
msgstr "權限不夠"
#: cmd/dashboard/controller/alertrule.go:184
#: cmd/dashboard/controller/alertrule.go:183
msgid "duration need to be at least 3"
msgstr "duration 至少為 3"
#: cmd/dashboard/controller/alertrule.go:188
#: cmd/dashboard/controller/alertrule.go:187
msgid "cycle_interval need to be at least 1"
msgstr "cycle_interval 至少為 1"
#: cmd/dashboard/controller/alertrule.go:191
#: cmd/dashboard/controller/alertrule.go:190
msgid "cycle_start is not set"
msgstr "cycle_start 未設定"
#: cmd/dashboard/controller/alertrule.go:194
#: cmd/dashboard/controller/alertrule.go:193
msgid "cycle_start is a future value"
msgstr "cycle_start 是未來值"
#: cmd/dashboard/controller/alertrule.go:199
#: cmd/dashboard/controller/alertrule.go:198
msgid "need to configure at least a single rule"
msgstr "需要至少定義一條規則"
#: cmd/dashboard/controller/controller.go:210
#: cmd/dashboard/controller/oauth2.go:152
#: cmd/dashboard/controller/controller.go:205
#: cmd/dashboard/controller/server_group.go:162
#: cmd/dashboard/controller/service.go:96 cmd/dashboard/controller/user.go:27
#: cmd/dashboard/controller/user.go:63
#: cmd/dashboard/controller/service.go:95 cmd/dashboard/controller/user.go:26
#: cmd/dashboard/controller/user.go:53
msgid "unauthorized"
msgstr "未授權"
#: cmd/dashboard/controller/controller.go:233
#: cmd/dashboard/controller/controller.go:228
msgid "database error"
msgstr "資料庫錯誤"
#: cmd/dashboard/controller/cron.go:75 cmd/dashboard/controller/cron.go:149
#: cmd/dashboard/controller/cron.go:74 cmd/dashboard/controller/cron.go:148
msgid "scheduled tasks cannot be triggered by alarms"
msgstr "排程任務不能被告警觸發"
#: cmd/dashboard/controller/cron.go:132 cmd/dashboard/controller/cron.go:190
#: cmd/dashboard/controller/cron.go:131 cmd/dashboard/controller/cron.go:189
#, c-format
msgid "task id %d does not exist"
msgstr "任務 id %d 不存在"
#: cmd/dashboard/controller/ddns.go:57 cmd/dashboard/controller/ddns.go:122
#: cmd/dashboard/controller/ddns.go:56 cmd/dashboard/controller/ddns.go:121
msgid "the retry count must be an integer between 1 and 10"
msgstr "重試次數必須為大於 1 且不超過 10 的整數"
#: cmd/dashboard/controller/ddns.go:81 cmd/dashboard/controller/ddns.go:154
#: cmd/dashboard/controller/ddns.go:80 cmd/dashboard/controller/ddns.go:153
msgid "error parsing %s: %v"
msgstr "解析 %s 時發生錯誤:%v"
#: cmd/dashboard/controller/ddns.go:127 cmd/dashboard/controller/nat.go:117
#: cmd/dashboard/controller/ddns.go:126 cmd/dashboard/controller/nat.go:116
#, c-format
msgid "profile id %d does not exist"
msgstr "配置 id %d 不存在"
@ -111,12 +110,12 @@ msgstr "配置 id %d 不存在"
msgid "server not found or not connected"
msgstr "伺服器未找到或仍未連線"
#: cmd/dashboard/controller/notification.go:69
#: cmd/dashboard/controller/notification.go:131
#: cmd/dashboard/controller/notification.go:68
#: cmd/dashboard/controller/notification.go:130
msgid "a test message"
msgstr "一條測試資訊"
#: cmd/dashboard/controller/notification.go:108
#: cmd/dashboard/controller/notification.go:107
#, c-format
msgid "notification id %d does not exist"
msgstr "通知方式 id %d 不存在"
@ -132,34 +131,7 @@ msgstr "通知方式 id 無效"
msgid "group id %d does not exist"
msgstr "組 id %d 不存在"
#: cmd/dashboard/controller/oauth2.go:42 cmd/dashboard/controller/oauth2.go:83
msgid "provider is required"
msgstr "需要提供者"
#: cmd/dashboard/controller/oauth2.go:52 cmd/dashboard/controller/oauth2.go:87
#: cmd/dashboard/controller/oauth2.go:132
msgid "provider not found"
msgstr "未找到提供者"
#: cmd/dashboard/controller/oauth2.go:100
msgid "operation not permitted"
msgstr "不允許該操作"
#: cmd/dashboard/controller/oauth2.go:138
msgid "code is required"
msgstr "需要 code"
#: cmd/dashboard/controller/oauth2.go:174
msgid "oauth2 user not binded yet"
msgstr "oauth2 使用者仍未繫結"
#: cmd/dashboard/controller/oauth2.go:215
#: cmd/dashboard/controller/oauth2.go:221
#: cmd/dashboard/controller/oauth2.go:226
msgid "invalid state key"
msgstr "不正确的 state key"
#: cmd/dashboard/controller/server.go:73
#: cmd/dashboard/controller/server.go:72
#, c-format
msgid "server id %d does not exist"
msgstr "伺服器 id %d 不存在"
@ -169,37 +141,29 @@ msgstr "伺服器 id %d 不存在"
msgid "have invalid server id"
msgstr "伺服器 id 無效"
#: cmd/dashboard/controller/service.go:89
#: cmd/dashboard/controller/service.go:165
#: cmd/dashboard/controller/service.go:88
#: cmd/dashboard/controller/service.go:164
msgid "server not found"
msgstr "未找到伺服器"
#: cmd/dashboard/controller/service.go:269
#: cmd/dashboard/controller/service.go:268
#, c-format
msgid "service id %d does not exist"
msgstr "服務 id %d 不存在"
#: cmd/dashboard/controller/user.go:68
#: cmd/dashboard/controller/user.go:58
msgid "incorrect password"
msgstr "密碼錯誤"
#: cmd/dashboard/controller/user.go:82
msgid "you don't have any oauth2 bindings"
msgstr "你沒有任何 oauth2 繫結關係"
#: cmd/dashboard/controller/user.go:130
#: cmd/dashboard/controller/user.go:110
msgid "password length must be greater than 6"
msgstr "密碼長度必須大於 6"
#: cmd/dashboard/controller/user.go:133
#: cmd/dashboard/controller/user.go:113
msgid "username can't be empty"
msgstr "使用者名稱不能為空"
#: cmd/dashboard/controller/user.go:136
msgid "invalid role"
msgstr "不正確的角色"
#: cmd/dashboard/controller/user.go:175
#: cmd/dashboard/controller/user.go:152
msgid "can't delete yourself"
msgstr "無法刪除自己"
@ -227,11 +191,11 @@ msgstr "排程任務執行失敗"
msgid "IP Changed"
msgstr "IP 變更"
#: service/singleton/alertsentinel.go:170
#: service/singleton/alertsentinel.go:167
msgid "Incident"
msgstr "事件"
#: service/singleton/alertsentinel.go:180
#: service/singleton/alertsentinel.go:177
msgid "Resolved"
msgstr "恢復"
@ -298,6 +262,6 @@ msgstr "低可用"
msgid "Down"
msgstr "故障"
#: service/singleton/user.go:60
#: service/singleton/user.go:53
msgid "user id not specified"
msgstr "使用者 ID 未指定"

View File

@ -2,7 +2,7 @@
name: "OfficialAdmin"
repository: "https://github.com/nezhahq/admin-frontend"
author: "nezhahq"
version: "v1.5.2"
version: "v1.5.1"
isadmin: true
isofficial: true
- path: "user-dist"
@ -15,4 +15,4 @@
name: "Nazhua"
repository: "https://github.com/hi2shark/nazhua"
author: "hi2hi"
version: "v0.5.1"
version: "v0.4.27"