mirror of
https://github.com/tnb-labs/panel.git
synced 2026-10-13 08:59:07 +08:00
Merge remote-tracking branch 'origin/main'
This commit is contained in:
@@ -49,19 +49,19 @@ require (
|
||||
github.com/libtnb/wire v0.3.0
|
||||
github.com/medama-io/go-useragent v1.2.5
|
||||
github.com/mholt/acmez/v3 v3.1.7
|
||||
github.com/moby/moby/api v1.56.0
|
||||
github.com/moby/moby/client v0.6.0
|
||||
github.com/molecule-man/go-brrr v1.1.1
|
||||
github.com/moby/moby/api v1.56.1
|
||||
github.com/moby/moby/client v0.6.1
|
||||
github.com/molecule-man/go-brrr v1.2.0
|
||||
github.com/orandin/slog-gorm v1.4.0
|
||||
github.com/pelletier/go-toml/v2 v2.4.3
|
||||
github.com/pkg/sftp v1.13.11
|
||||
github.com/pquerna/otp v1.5.0
|
||||
github.com/samber/lo v1.53.0
|
||||
github.com/sethvargo/go-limiter v1.2.0
|
||||
github.com/shirou/gopsutil/v4 v4.26.8
|
||||
github.com/shirou/gopsutil/v4 v4.26.9
|
||||
github.com/spf13/cast v1.10.0
|
||||
github.com/studio-b12/gowebdav v0.13.0
|
||||
github.com/urfave/cli/v3 v3.13.0
|
||||
github.com/urfave/cli/v3 v3.14.0
|
||||
github.com/valyala/fastjson v1.6.10
|
||||
github.com/wneessen/go-mail v0.8.1
|
||||
github.com/xuri/excelize/v2 v2.11.0
|
||||
@@ -73,7 +73,7 @@ require (
|
||||
golang.org/x/term v0.46.0
|
||||
golang.org/x/text v0.42.0
|
||||
gorm.io/gorm v1.31.2
|
||||
modernc.org/sqlite v1.59.0
|
||||
modernc.org/sqlite v1.60.1
|
||||
resty.dev/v3 v3.0.0-rc.4
|
||||
)
|
||||
|
||||
@@ -85,10 +85,10 @@ require (
|
||||
github.com/boombuler/barcode v1.1.0 // indirect
|
||||
github.com/boyter/go-string v1.0.5 // indirect
|
||||
github.com/containerd/errdefs/pkg v0.3.0 // indirect
|
||||
github.com/docker/go-connections v0.7.0 // indirect
|
||||
github.com/docker/go-connections v0.8.1 // indirect
|
||||
github.com/docker/go-units v0.5.0 // indirect
|
||||
github.com/dustin/go-humanize v1.0.1 // indirect
|
||||
github.com/ebitengine/purego v0.10.2 // indirect
|
||||
github.com/ebitengine/purego v0.11.1 // indirect
|
||||
github.com/felixge/httpsnoop v1.0.4 // indirect
|
||||
github.com/fxamacker/cbor/v2 v2.9.4 // indirect
|
||||
github.com/gabriel-vasile/mimetype v1.4.13 // indirect
|
||||
@@ -114,14 +114,14 @@ require (
|
||||
github.com/opencontainers/go-digest v1.0.0 // indirect
|
||||
github.com/opencontainers/image-spec v1.1.1 // indirect
|
||||
github.com/philhofer/fwd v1.2.0 // indirect
|
||||
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect
|
||||
github.com/power-devops/perfstat v0.0.0-20260805114148-88456608a4f6 // indirect
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
|
||||
github.com/richardlehane/mscfb v1.0.7 // indirect
|
||||
github.com/richardlehane/msoleps v1.0.6 // indirect
|
||||
github.com/tiendc/go-deepcopy v1.7.2 // indirect
|
||||
github.com/tinylib/msgp v1.6.4 // indirect
|
||||
github.com/tklauser/go-sysconf v0.3.16 // indirect
|
||||
github.com/tklauser/numcpus v0.11.0 // indirect
|
||||
github.com/tklauser/go-sysconf v0.4.0 // indirect
|
||||
github.com/tklauser/numcpus v0.12.0 // indirect
|
||||
github.com/x448/float16 v0.8.4 // indirect
|
||||
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
|
||||
github.com/xuri/efp v0.0.1 // indirect
|
||||
@@ -134,8 +134,8 @@ require (
|
||||
go.opentelemetry.io/otel/trace v1.35.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20260603202125-055de637280b // indirect
|
||||
golang.org/x/mod v0.41.0 // indirect
|
||||
golang.org/x/tools v0.49.0 // indirect
|
||||
modernc.org/libc v1.75.7 // indirect
|
||||
golang.org/x/tools v0.50.0 // indirect
|
||||
modernc.org/libc v1.77.1 // indirect
|
||||
modernc.org/mathutil v1.7.1 // indirect
|
||||
modernc.org/memory v1.12.1 // indirect
|
||||
)
|
||||
|
||||
@@ -34,14 +34,14 @@ github.com/dchest/captcha v1.1.0 h1:2kt47EoYUUkaISobUdTbqwx55xvKOJxyScVfw25xzhQ=
|
||||
github.com/dchest/captcha v1.1.0/go.mod h1:7zoElIawLp7GUMLcj54K9kbw+jEyvz2K0FDdRRYhvWo=
|
||||
github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk=
|
||||
github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
|
||||
github.com/docker/go-connections v0.7.0 h1:6SsRfJddP22WMrCkj19x9WKjEDTB+ahsdiGYf0mN39c=
|
||||
github.com/docker/go-connections v0.7.0/go.mod h1:no1qkHdjq7kLMGUXYAduOhYPSJxxvgWBh7ogVvptn3Q=
|
||||
github.com/docker/go-connections v0.8.1 h1:JibmG5hULs5qXSr/cp/w3Pw5fZuStt4MOHMUExb29/M=
|
||||
github.com/docker/go-connections v0.8.1/go.mod h1:no1qkHdjq7kLMGUXYAduOhYPSJxxvgWBh7ogVvptn3Q=
|
||||
github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
|
||||
github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
|
||||
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
|
||||
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
|
||||
github.com/ebitengine/purego v0.10.2 h1:W809HbnvzAxgdm+aOvlSekrM16wGCdT/e76+9tS7gzE=
|
||||
github.com/ebitengine/purego v0.10.2/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
|
||||
github.com/ebitengine/purego v0.11.1 h1:2zpWRSQNVKN4eKsKO9eM1ILDgWfYMY9GwqRmK6XeQ/0=
|
||||
github.com/ebitengine/purego v0.11.1/go.mod h1:DCHPP08djqhNSoTfImcnHYQRZmd0qhakvrozqaEYhGQ=
|
||||
github.com/expr-lang/expr v1.17.8 h1:W1loDTT+0PQf5YteHSTpju2qfUfNoBt4yw9+wOEU9VM=
|
||||
github.com/expr-lang/expr v1.17.8/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4=
|
||||
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
|
||||
@@ -196,12 +196,12 @@ github.com/miekg/dns v1.1.72 h1:vhmr+TF2A3tuoGNkLDFK9zi36F2LS+hKTRW0Uf8kbzI=
|
||||
github.com/miekg/dns v1.1.72/go.mod h1:+EuEPhdHOsfk6Wk5TT2CzssZdqkmFhf8r+aVyDEToIs=
|
||||
github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0=
|
||||
github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo=
|
||||
github.com/moby/moby/api v1.56.0 h1:GQzua3NA599ASSIICx0iFgiJeO9YkdDARvQsm23ZZuQ=
|
||||
github.com/moby/moby/api v1.56.0/go.mod h1:sZ+THbVWkjOmBPPfbnzdD/G1LuIexWhqlSHHPTDQ1Uk=
|
||||
github.com/moby/moby/client v0.6.0 h1:AJjEB21QPbXSXjDsZorFBoDZPhMrfbpaPLgSMAW9Bgs=
|
||||
github.com/moby/moby/client v0.6.0/go.mod h1:OCo00wNRyA3m4lmJ228W3JbyCN4ZNNYjpOXiJydBdcQ=
|
||||
github.com/molecule-man/go-brrr v1.1.1 h1:KYwusQhjtV3smALnhmafZf4OBrh7vP4p8O47DyUmmuY=
|
||||
github.com/molecule-man/go-brrr v1.1.1/go.mod h1:7ybW6/7gA3oKY45jOfVNjSJDtrr6ea4tzbsTkjmQDC4=
|
||||
github.com/moby/moby/api v1.56.1 h1:PpWkvVPB7Fr/No8w+TfyJ/I6rWZ2YPZhT3JorIg+06c=
|
||||
github.com/moby/moby/api v1.56.1/go.mod h1:sZ+THbVWkjOmBPPfbnzdD/G1LuIexWhqlSHHPTDQ1Uk=
|
||||
github.com/moby/moby/client v0.6.1 h1:gvfKmdcWw+9MzXYP0vAUKQtBTGu1L8475K2nsmL7O98=
|
||||
github.com/moby/moby/client v0.6.1/go.mod h1:XHgTFqz9NCgS/VuoxXMmEDVmVgXQ4vFEc15wsCIwb24=
|
||||
github.com/molecule-man/go-brrr v1.2.0 h1:dOJU45BC3Gc2WXoxAW0rgCAgVuu2gruAOGncfieA0Jw=
|
||||
github.com/molecule-man/go-brrr v1.2.0/go.mod h1:7ybW6/7gA3oKY45jOfVNjSJDtrr6ea4tzbsTkjmQDC4=
|
||||
github.com/ncruces/go-strftime v1.0.0 h1:HMFp8mLCTPp341M/ZnA4qaf7ZlsbTc+miZjCLOFAw7w=
|
||||
github.com/ncruces/go-strftime v1.0.0/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls=
|
||||
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
|
||||
@@ -217,8 +217,8 @@ github.com/philhofer/fwd v1.2.0/go.mod h1:RqIHx9QI14HlwKwm98g9Re5prTQ6LdeRQn+gXJ
|
||||
github.com/pkg/sftp v1.13.11 h1:0N92SLTB8JqASJB14ZLHHzFnBV8mG9zw4K7jghEFWuE=
|
||||
github.com/pkg/sftp v1.13.11/go.mod h1:uNkH9roSXglNJqM+glJJi+TQXQUm0fXFWqCFmT8hsN0=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 h1:o4JXh1EVt9k/+g42oCprj/FisM4qX9L3sZB3upGN2ZU=
|
||||
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
|
||||
github.com/power-devops/perfstat v0.0.0-20260805114148-88456608a4f6 h1:jL3a8soXdzuTCcRnKhOmtcsVOObdDTFf4O2B403HPRU=
|
||||
github.com/power-devops/perfstat v0.0.0-20260805114148-88456608a4f6/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
|
||||
github.com/pquerna/otp v1.5.0 h1:NMMR+WrmaqXU4EzdGJEE1aUUI0AMRzsp96fFFWNPwxs=
|
||||
github.com/pquerna/otp v1.5.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg=
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
|
||||
@@ -235,8 +235,8 @@ github.com/sethvargo/go-limiter v1.2.0 h1:XKL1vsaQ2zztVJrnZSzpRWCq/aLQqMllJ/3D/0
|
||||
github.com/sethvargo/go-limiter v1.2.0/go.mod h1:RC+qY2R7PAK81mBCrZEJlUlKnXSIqqQ8B7G44UgZ/1E=
|
||||
github.com/shamaton/msgpack/v3 v3.2.0 h1:1q2Ms+MWmuRju+PuDMSFDB7p7621npeX4zprJN5Zck8=
|
||||
github.com/shamaton/msgpack/v3 v3.2.0/go.mod h1:sgBYvEiyz8JR1NC3yGRoPVME9xXovpnh3l/plW1nfRo=
|
||||
github.com/shirou/gopsutil/v4 v4.26.8 h1:YQMTF/1J50B5+Y0vlo1eDRf5DoR7Gk69hY+8wjYkQeo=
|
||||
github.com/shirou/gopsutil/v4 v4.26.8/go.mod h1:5O9FjBiXoTDFatIWjZZosqj4pV0DRtLx598xGbBehzM=
|
||||
github.com/shirou/gopsutil/v4 v4.26.9 h1:CaBo/hBFqvlJoLvAQEKdHdf5GD97/MN2ACfyv63+2Ig=
|
||||
github.com/shirou/gopsutil/v4 v4.26.9/go.mod h1:nKH+8wX2zxr/mDbsR+AAy6Qd2z4ZOQ7wfQaEp+yrYmg=
|
||||
github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY=
|
||||
github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
@@ -249,12 +249,12 @@ github.com/tiendc/go-deepcopy v1.7.2 h1:Ut2yYR7W9tWjTQitganoIue4UGxZwCcJy3orjrrI
|
||||
github.com/tiendc/go-deepcopy v1.7.2/go.mod h1:4bKjNC2r7boYOkD2IOuZpYjmlDdzjbpTRyCx+goBCJQ=
|
||||
github.com/tinylib/msgp v1.6.4 h1:mOwYbyYDLPj35mkA2BjjYejgJk9BuHxDdvRnb6v2ZcQ=
|
||||
github.com/tinylib/msgp v1.6.4/go.mod h1:RSp0LW9oSxFut3KzESt5Voq4GVWyS+PSulT77roAqEA=
|
||||
github.com/tklauser/go-sysconf v0.3.16 h1:frioLaCQSsF5Cy1jgRBrzr6t502KIIwQ0MArYICU0nA=
|
||||
github.com/tklauser/go-sysconf v0.3.16/go.mod h1:/qNL9xxDhc7tx3HSRsLWNnuzbVfh3e7gh/BmM179nYI=
|
||||
github.com/tklauser/numcpus v0.11.0 h1:nSTwhKH5e1dMNsCdVBukSZrURJRoHbSEQjdEbY+9RXw=
|
||||
github.com/tklauser/numcpus v0.11.0/go.mod h1:z+LwcLq54uWZTX0u/bGobaV34u6V7KNlTZejzM6/3MQ=
|
||||
github.com/urfave/cli/v3 v3.13.0 h1:Dr6jqMfIyyFsRVn7Nz5mqLsMY+ZMpfh3a0aMs+umPVY=
|
||||
github.com/urfave/cli/v3 v3.13.0/go.mod h1:vXn6HxPNccJSzQr2QvwVncOKrgYGIHU0HY5h8B2nQj4=
|
||||
github.com/tklauser/go-sysconf v0.4.0 h1:7H0uAN+7RkwWRaxhYXDLqa5V3LPrJeV8wmD9dRUgPQU=
|
||||
github.com/tklauser/go-sysconf v0.4.0/go.mod h1:8mTNWyog7H+MpKijp4VmKJAd2bbYQ2zuUwkYRbUArPI=
|
||||
github.com/tklauser/numcpus v0.12.0 h1:NR85qdvHA9pFse3x3weVZ0r0ST8R6l5RHbZrlRaqob4=
|
||||
github.com/tklauser/numcpus v0.12.0/go.mod h1:ABHeXzJnr/qqwguhClkZKT1/8VABcYrsyUiUGobwWJg=
|
||||
github.com/urfave/cli/v3 v3.14.0 h1:a8414NQlHJs0c/iBsulKLzlES0n/lEAskbL2LKpU4/s=
|
||||
github.com/urfave/cli/v3 v3.14.0/go.mod h1:vXn6HxPNccJSzQr2QvwVncOKrgYGIHU0HY5h8B2nQj4=
|
||||
github.com/valyala/fastjson v1.6.10 h1:/yjJg8jaVQdYR3arGxPE2X5z89xrlhS0eGXdv+ADTh4=
|
||||
github.com/valyala/fastjson v1.6.10/go.mod h1:e6FubmQouUNP73jtMLmcbxS6ydWIpOfhz34TSfO3JaE=
|
||||
github.com/wneessen/go-mail v0.8.1 h1:tVcncj02/QySVFw3zr/kXOzZcuFQqBNT6K+Rbgm/pcM=
|
||||
@@ -312,18 +312,18 @@ golang.org/x/term v0.46.0 h1:3+OXuTbaKDgwk8jTi3aSLHRlmWqHEUDUtxnbFigO4YE=
|
||||
golang.org/x/term v0.46.0/go.mod h1:+K02xbkittuwc0Am4abfA3Fc+XRGXkvBXNO88NCXPoc=
|
||||
golang.org/x/text v0.42.0 h1:JbOZXgfeCPU9gacVtYliJqOhD+zhrEqK4LfdpmlUZqI=
|
||||
golang.org/x/text v0.42.0/go.mod h1:ojzP1Z+2QtioaF8DTtO8K5q7JWVVYwZKenzujK0Zd0E=
|
||||
golang.org/x/tools v0.49.0 h1:3NI7VXzL9+1WZD52Dx2ttoPwD5DWrFGpl9mFZDlmisI=
|
||||
golang.org/x/tools v0.49.0/go.mod h1:SJNXV9DBKT0UbdttsQjbfJlAE/q+y36++zo3uL3N0Oo=
|
||||
golang.org/x/tools v0.50.0 h1:c2ifzfcuY7L90lZ2aKd8S4K2NpASF08SZx9ZuJkHmSU=
|
||||
golang.org/x/tools v0.50.0/go.mod h1:7ulVMw3831Mwi5EZD6RomGyffr4VFjuNYXf2BbCEAV0=
|
||||
gorm.io/driver/sqlite v1.6.0 h1:WHRRrIiulaPiPFmDcod6prc4l2VGVWHz80KspNsxSfQ=
|
||||
gorm.io/driver/sqlite v1.6.0/go.mod h1:AO9V1qIQddBESngQUKWL9yoH93HIeA1X6V633rBwyT8=
|
||||
gorm.io/gorm v1.31.2 h1:3o8FXNo9v9S858gil+3LlZA1LkCOzgb4g5BL64FgaCo=
|
||||
gorm.io/gorm v1.31.2/go.mod h1:XyQVbO2k6YkOis7C2437jSit3SsDK72s7n7rsSHd+Gs=
|
||||
gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
|
||||
gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
|
||||
modernc.org/cc/v4 v4.29.2 h1:h6+9ciCnPKutf4I03CvheAvDLX7+IHlqR6Iy6J+cgd8=
|
||||
modernc.org/cc/v4 v4.29.2/go.mod h1:OnovgIhbbMXMu1aISnJ0wvVD1KnW+cAUJkIrAWh+kVI=
|
||||
modernc.org/ccgo/v4 v4.35.0 h1:F+TUsmw09QxLzmi3aeYYGxjAXarmZaKgj3mKQHNaA8w=
|
||||
modernc.org/ccgo/v4 v4.35.0/go.mod h1:qrVGs9S3Sr2Ztcg9ve+kTAYMp5a3YvWjo+SoN06kJ5I=
|
||||
modernc.org/cc/v4 v4.29.7 h1:q+NXGJ0bK3b4TXFYQQVr9pYETGnmwFWkrUzJnMya/Tg=
|
||||
modernc.org/cc/v4 v4.29.7/go.mod h1:OnovgIhbbMXMu1aISnJ0wvVD1KnW+cAUJkIrAWh+kVI=
|
||||
modernc.org/ccgo/v4 v4.36.1 h1:ZNIUZAryN0UgnJwtyxrdEzcFc3yD4Cu4AzjfPXsLsIE=
|
||||
modernc.org/ccgo/v4 v4.36.1/go.mod h1:rrtGc2QkS239nYb/mQNuBMyjq3/y3ZXWbBjPoV3wqzA=
|
||||
modernc.org/fileutil v1.4.0 h1:j6ZzNTftVS054gi281TyLjHPp6CPHr2KCxEXjEbD6SM=
|
||||
modernc.org/fileutil v1.4.0/go.mod h1:EqdKFDxiByqxLk8ozOxObDSfcVOv/54xDs/DUHdvCUU=
|
||||
modernc.org/gc/v2 v2.6.5 h1:nyqdV8q46KvTpZlsw66kWqwXRHdjIlJOhG6kxiV/9xI=
|
||||
@@ -332,8 +332,8 @@ modernc.org/gc/v3 v3.1.5 h1:21ldfPfRYE31Tb7B3mwAK8gy1AxP4+dKjrOQPfqakoc=
|
||||
modernc.org/gc/v3 v3.1.5/go.mod h1:HFK/6AGESC7Ex+EZJhJ2Gni6cTaYpSMmU/cT9RmlfYY=
|
||||
modernc.org/goabi0 v0.2.0 h1:HvEowk7LxcPd0eq6mVOAEMai46V+i7Jrj13t4AzuNks=
|
||||
modernc.org/goabi0 v0.2.0/go.mod h1:CEFRnnJhKvWT1c1JTI3Avm+tgOWbkOu5oPA8eH8LnMI=
|
||||
modernc.org/libc v1.75.7 h1:o3DTP9/0p9pKmY2WCKQaySW6wIiZhNM7wc2lUoyhfew=
|
||||
modernc.org/libc v1.75.7/go.mod h1:bO5o2ztHxBb2rjz0PgdHN0sSMw57CgxGFLZ3Qd/QpVQ=
|
||||
modernc.org/libc v1.77.1 h1:Ct8j47QtiZ1Enj2DtFXQtUqrPCAjdCmPjtCuvrYQ0Hs=
|
||||
modernc.org/libc v1.77.1/go.mod h1:87/pZ4L6nD1zqW4nItuS12YO7hN1igAah34xjnQo/W0=
|
||||
modernc.org/mathutil v1.7.1 h1:GCZVGXdaN8gTqB1Mf/usp1Y/hSqgI2vAGGP4jZMCxOU=
|
||||
modernc.org/mathutil v1.7.1/go.mod h1:4p5IwJITfppl0G4sUEDtCr4DthTaT47/N3aT6MhfgJg=
|
||||
modernc.org/memory v1.12.1 h1:nFMiWrpStgZczNl6XI9GnIk/rWhYIyHGUaR04pGbp9g=
|
||||
@@ -342,8 +342,8 @@ modernc.org/opt v0.2.0 h1:tGyef5ApycA7FSEOMraay9SaTk5zmbx7Tu+cJs4QKZg=
|
||||
modernc.org/opt v0.2.0/go.mod h1:03fq9lsNfvkYSfxrfUhZCWPk1lm4cq4N+Bh//bEtgns=
|
||||
modernc.org/sortutil v1.2.1 h1:+xyoGf15mM3NMlPDnFqrteY07klSFxLElE2PVuWIJ7w=
|
||||
modernc.org/sortutil v1.2.1/go.mod h1:7ZI3a3REbai7gzCLcotuw9AC4VZVpYMjDzETGsSMqJE=
|
||||
modernc.org/sqlite v1.59.0 h1:X1es1GpqBlS/5T+vbM4HLUdaa8OtQx468DF2vrx+38A=
|
||||
modernc.org/sqlite v1.59.0/go.mod h1:+paeT2A3iPRHkQDwG7oA6Tk0zQd5woMEI8q7orfry8k=
|
||||
modernc.org/sqlite v1.60.1 h1:/blz53O951KWFOso4QQvEs/Fq6cDBKLtMVrYNSeJVKw=
|
||||
modernc.org/sqlite v1.60.1/go.mod h1:1dIoEagfDE72QytD5scH1lxARtaUgKgHC/NuApA27r0=
|
||||
modernc.org/strutil v1.2.1 h1:UneZBkQA+DX2Rp35KcM69cSsNES9ly8mQWD71HKlOA0=
|
||||
modernc.org/strutil v1.2.1/go.mod h1:EHkiggD70koQxjVdSBM3JKM7k6L0FbGE5eymy9i3B9A=
|
||||
modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y=
|
||||
|
||||
@@ -4043,7 +4043,7 @@ msgstr ""
|
||||
msgid "failed to get the latest version: %v"
|
||||
msgstr ""
|
||||
|
||||
#: internal/apps/fail2ban/app.go:224
|
||||
#: internal/apps/fail2ban/app.go:229
|
||||
msgid "failed to get the status of rule %s: %v"
|
||||
msgstr ""
|
||||
|
||||
@@ -4898,6 +4898,10 @@ msgstr ""
|
||||
msgid "rewrite rules, custom configs, rate limit and real IP settings are not migrated"
|
||||
msgstr ""
|
||||
|
||||
#: internal/apps/fail2ban/app.go:226
|
||||
msgid "rule %s is not running, please try restarting Fail2ban"
|
||||
msgstr ""
|
||||
|
||||
#: internal/apps/fail2ban/app.go:131
|
||||
msgid "rule already exists"
|
||||
msgstr ""
|
||||
|
||||
@@ -13,7 +13,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 1166\n"
|
||||
"Project-Id-Version: acepanel\n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"PO-Revision-Date: 2026-09-24 13:23\n"
|
||||
"PO-Revision-Date: 2026-10-05 09:40\n"
|
||||
|
||||
#: pkg/tui/tui.go:144
|
||||
msgid "#%d, leave empty to finish"
|
||||
@@ -4051,7 +4051,7 @@ msgstr "获取最新版本下载链接失败"
|
||||
msgid "failed to get the latest version: %v"
|
||||
msgstr "获取最新版本失败: %v"
|
||||
|
||||
#: internal/apps/fail2ban/app.go:224
|
||||
#: internal/apps/fail2ban/app.go:229
|
||||
msgid "failed to get the status of rule %s: %v"
|
||||
msgstr "获取规则 %s 的状态失败:%v"
|
||||
|
||||
@@ -4906,6 +4906,10 @@ msgstr "源服务器上已不存在该资源"
|
||||
msgid "rewrite rules, custom configs, rate limit and real IP settings are not migrated"
|
||||
msgstr "伪静态规则、自定义配置、速率限制和真实 IP 设置不会迁移"
|
||||
|
||||
#: internal/apps/fail2ban/app.go:226
|
||||
msgid "rule %s is not running, please try restarting Fail2ban"
|
||||
msgstr "规则 %s 未运行,请尝试重启 Fail2ban"
|
||||
|
||||
#: internal/apps/fail2ban/app.go:131
|
||||
msgid "rule already exists"
|
||||
msgstr "规则已存在"
|
||||
|
||||
@@ -13,7 +13,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 1166\n"
|
||||
"Project-Id-Version: acepanel\n"
|
||||
"Language-Team: Chinese Traditional\n"
|
||||
"PO-Revision-Date: 2026-09-24 13:23\n"
|
||||
"PO-Revision-Date: 2026-10-05 09:40\n"
|
||||
|
||||
#: pkg/tui/tui.go:144
|
||||
msgid "#%d, leave empty to finish"
|
||||
@@ -4051,7 +4051,7 @@ msgstr "無法取得最新版本下載連結"
|
||||
msgid "failed to get the latest version: %v"
|
||||
msgstr "無法取得最新版本:%v"
|
||||
|
||||
#: internal/apps/fail2ban/app.go:224
|
||||
#: internal/apps/fail2ban/app.go:229
|
||||
msgid "failed to get the status of rule %s: %v"
|
||||
msgstr "獲取規則 %s 的狀態失敗:%v"
|
||||
|
||||
@@ -4906,6 +4906,10 @@ msgstr "源伺服器上已不存在該資源"
|
||||
msgid "rewrite rules, custom configs, rate limit and real IP settings are not migrated"
|
||||
msgstr "偽靜態規則、自訂設定、速率限制和真實 IP 設定不會遷移"
|
||||
|
||||
#: internal/apps/fail2ban/app.go:226
|
||||
msgid "rule %s is not running, please try restarting Fail2ban"
|
||||
msgstr "規則 %s 未運行,請嘗試重啟 Fail2ban"
|
||||
|
||||
#: internal/apps/fail2ban/app.go:131
|
||||
msgid "rule already exists"
|
||||
msgstr "規則已存在"
|
||||
|
||||
+11
-11
@@ -55,7 +55,7 @@
|
||||
"pinia": "4.0.3",
|
||||
"pinia-plugin-persistedstate": "4.7.1",
|
||||
"vue": "3.5.43",
|
||||
"vue-echarts": "8.3.0",
|
||||
"vue-echarts": "8.3.1",
|
||||
"vue-router": "5.3.1",
|
||||
"vue3-gettext": "4.0.1",
|
||||
"vuedraggable": "4.1.0"
|
||||
@@ -65,8 +65,8 @@
|
||||
"@iconify/vue": "5.0.3",
|
||||
"@tsconfig/node24": "24.0.5",
|
||||
"@types/lodash-es": "4.17.12",
|
||||
"@types/luxon": "3.7.5",
|
||||
"@types/node": "24.19.0",
|
||||
"@types/luxon": "3.7.6",
|
||||
"@types/node": "24.19.1",
|
||||
"@types/node-forge": "1.3.14",
|
||||
"@unocss/eslint-config": "66.10.5",
|
||||
"@vitejs/plugin-vue": "6.0.9",
|
||||
@@ -74,27 +74,27 @@
|
||||
"@vue/tsconfig": "0.9.1",
|
||||
"colord": "2.10.0",
|
||||
"cpx2": "9.0.3",
|
||||
"eslint": "10.11.0",
|
||||
"eslint": "10.12.0",
|
||||
"eslint-config-prettier": "10.1.8",
|
||||
"eslint-plugin-oxlint": "1.85.0",
|
||||
"eslint-plugin-oxlint": "1.86.0",
|
||||
"eslint-plugin-vue": "10.11.1",
|
||||
"naive-ui": "2.45.3",
|
||||
"npm-run-all2": "9.0.3",
|
||||
"oxfmt": "0.70.0",
|
||||
"oxlint": "1.85.0",
|
||||
"sass": "1.105.0",
|
||||
"oxfmt": "0.71.0",
|
||||
"oxlint": "1.86.0",
|
||||
"sass": "1.105.1",
|
||||
"tsx": "4.23.15",
|
||||
"typescript": "6.0.3",
|
||||
"unocss": "66.10.5",
|
||||
"unplugin-auto-import": "21.1.0",
|
||||
"unplugin-icons": "24.0.0",
|
||||
"unplugin-vue-components": "32.1.0",
|
||||
"vite": "8.3.1",
|
||||
"vite": "8.3.2",
|
||||
"vite-plugin-compression2": "2.5.3",
|
||||
"vite-plugin-html": "3.2.2",
|
||||
"vite-plugin-mock": "3.0.2",
|
||||
"vite-plugin-vue-devtools": "8.2.1",
|
||||
"vue-tsc": "3.3.11"
|
||||
"vue-tsc": "3.3.12"
|
||||
},
|
||||
"packageManager": "pnpm@12.6.0"
|
||||
"packageManager": "pnpm@12.9.1"
|
||||
}
|
||||
|
||||
Generated
+552
-557
File diff suppressed because it is too large
Load Diff
+76
-76
@@ -22,7 +22,7 @@ msgid "QQ Group"
|
||||
msgstr "QQ Group"
|
||||
|
||||
#: src/components/common/AppFooter.vue:38 src/locales/menu.ts:24
|
||||
#: src/views/apps/fail2ban/IndexView.vue:362 src/views/backup/IndexView.vue:53
|
||||
#: src/views/apps/fail2ban/IndexView.vue:364 src/views/backup/IndexView.vue:53
|
||||
#: src/views/backup/ListView.vue:356 src/views/backup/ListView.vue:407
|
||||
#: src/views/cert/CertView.vue:551 src/views/cert/CertView.vue:668
|
||||
#: src/views/cert/CreateCertModal.vue:119 src/views/home/IndexView.vue:542
|
||||
@@ -279,9 +279,9 @@ msgstr "Cannot save in current state"
|
||||
#: src/views/apps/docker/IndexView.vue:152
|
||||
#: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:58
|
||||
#: src/views/apps/elasticsearch/IndexView.vue:51
|
||||
#: src/views/apps/fail2ban/IndexView.vue:175
|
||||
#: src/views/apps/fail2ban/IndexView.vue:226
|
||||
#: src/views/apps/fail2ban/IndexView.vue:236
|
||||
#: src/views/apps/fail2ban/IndexView.vue:177
|
||||
#: src/views/apps/fail2ban/IndexView.vue:228
|
||||
#: src/views/apps/fail2ban/IndexView.vue:238
|
||||
#: src/views/apps/frp/FrpcConfigTuneView.vue:64
|
||||
#: src/views/apps/frp/FrpProxyModal.vue:236
|
||||
#: src/views/apps/frp/FrpsConfigTuneView.vue:64
|
||||
@@ -371,7 +371,7 @@ msgstr "Select File"
|
||||
#: src/components/common/PathSelector.vue:58
|
||||
#: src/views/app/EnvironmentView.vue:38 src/views/app/InstalledView.vue:158
|
||||
#: src/views/apps/fail2ban/IndexView.vue:52
|
||||
#: src/views/apps/fail2ban/IndexView.vue:445
|
||||
#: src/views/apps/fail2ban/IndexView.vue:447
|
||||
#: src/views/apps/frp/FrpProxyModal.vue:255
|
||||
#: src/views/apps/frp/FrpProxyView.vue:22
|
||||
#: src/views/apps/frp/FrpVisitorModal.vue:122
|
||||
@@ -632,7 +632,7 @@ msgstr "Compressing..."
|
||||
msgid "Connection failed, retrying..."
|
||||
msgstr "Connection error. Please refresh."
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:448
|
||||
#: src/components/common/RealtimeLog.vue:492
|
||||
#: src/views/apps/clickhouse/IndexView.vue:77
|
||||
#: src/views/apps/mongodb/IndexView.vue:77
|
||||
#: src/views/apps/mysql/MysqlIndex.vue:112
|
||||
@@ -643,28 +643,28 @@ msgstr "Connection error. Please refresh."
|
||||
msgid "Copied successfully"
|
||||
msgstr "Copied successfully"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:487
|
||||
#: src/components/common/RealtimeLog.vue:531
|
||||
#, fuzzy
|
||||
msgid "Not found"
|
||||
msgstr "Not used"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:570
|
||||
#: src/components/common/RealtimeLog.vue:614
|
||||
msgid "Pause Auto-scroll"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:570
|
||||
#: src/components/common/RealtimeLog.vue:614
|
||||
msgid "Resume Auto-scroll"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:576
|
||||
#: src/components/common/RealtimeLog.vue:620
|
||||
msgid "Jump to Top"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:579
|
||||
#: src/components/common/RealtimeLog.vue:623
|
||||
msgid "Jump to Bottom"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:584
|
||||
#: src/components/common/RealtimeLog.vue:628
|
||||
#: src/components/file-editor/EditorToolbar.vue:190
|
||||
#: src/components/file-editor/FileTree.vue:710 src/views/app/AppView.vue:237
|
||||
#: src/views/app/EnvironmentView.vue:264 src/views/app/TemplateView.vue:102
|
||||
@@ -676,73 +676,73 @@ msgstr ""
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:593
|
||||
#: src/components/common/RealtimeLog.vue:637
|
||||
#, fuzzy
|
||||
msgid "Enter keyword and press Enter"
|
||||
msgstr "Enter user password"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:596
|
||||
#: src/components/common/RealtimeLog.vue:640
|
||||
#: src/views/app/TemplateDeployModal.vue:615
|
||||
#, fuzzy
|
||||
msgid "Previous"
|
||||
msgstr "Preview"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:599
|
||||
#: src/components/common/RealtimeLog.vue:643
|
||||
#: src/views/app/TemplateDeployModal.vue:624
|
||||
#: src/views/app/TemplateDeployModal.vue:627
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:604
|
||||
#: src/components/common/RealtimeLog.vue:648
|
||||
msgid "Only loaded logs are searched"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:613
|
||||
#: src/components/common/RealtimeLog.vue:657
|
||||
#, fuzzy
|
||||
msgid "Disable Line Wrap"
|
||||
msgstr "Disable Buffer"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:613
|
||||
#: src/components/common/RealtimeLog.vue:657
|
||||
#, fuzzy
|
||||
msgid "Enable Line Wrap"
|
||||
msgstr "Disable Buffer"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:618
|
||||
#: src/components/common/RealtimeLog.vue:662
|
||||
#, fuzzy
|
||||
msgid "Copy All"
|
||||
msgstr "Expose All"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:622
|
||||
#: src/components/common/RealtimeLog.vue:666
|
||||
#, fuzzy
|
||||
msgid "Decrease Font Size"
|
||||
msgstr "Size"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:625
|
||||
#: src/components/common/RealtimeLog.vue:669
|
||||
#, fuzzy
|
||||
msgid "Increase Font Size"
|
||||
msgstr "Size"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:631 src/views/ssh/IndexView.vue:550
|
||||
#: src/components/common/RealtimeLog.vue:675 src/views/ssh/IndexView.vue:550
|
||||
#, fuzzy
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "Fullscreen Display"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:631 src/views/ssh/IndexView.vue:550
|
||||
#: src/components/common/RealtimeLog.vue:675 src/views/ssh/IndexView.vue:550
|
||||
#, fuzzy
|
||||
msgid "Fullscreen"
|
||||
msgstr "Fullscreen Display"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:641
|
||||
#: src/components/common/RealtimeLog.vue:685
|
||||
msgid "No more logs"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:655
|
||||
#: src/components/common/RealtimeLog.vue:682
|
||||
#: src/components/common/RealtimeLog.vue:699
|
||||
#: src/components/common/RealtimeLog.vue:726
|
||||
#, fuzzy
|
||||
msgid "No logs available"
|
||||
msgstr "Inodes Available"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:675
|
||||
#: src/components/common/RealtimeLog.vue:719
|
||||
#, fuzzy
|
||||
msgid "%{ count } new line"
|
||||
msgid_plural "%{ count } new lines"
|
||||
@@ -872,7 +872,7 @@ msgstr "Autostart disabled successfully"
|
||||
#: src/views/apps/codeserver/IndexView.vue:37
|
||||
#: src/views/apps/docker/IndexView.vue:167
|
||||
#: src/views/apps/elasticsearch/IndexView.vue:62
|
||||
#: src/views/apps/fail2ban/IndexView.vue:271
|
||||
#: src/views/apps/fail2ban/IndexView.vue:273
|
||||
#: src/views/apps/frp/IndexView.vue:77 src/views/apps/frp/IndexView.vue:129
|
||||
#: src/views/apps/gitea/IndexView.vue:35
|
||||
#: src/views/apps/grafana/IndexView.vue:63
|
||||
@@ -1102,7 +1102,7 @@ msgstr ""
|
||||
#: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:97
|
||||
#: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:132
|
||||
#: src/views/apps/elasticsearch/IndexView.vue:82
|
||||
#: src/views/apps/fail2ban/IndexView.vue:483
|
||||
#: src/views/apps/fail2ban/IndexView.vue:485
|
||||
#: src/views/apps/frp/FrpcConfigTuneView.vue:115
|
||||
#: src/views/apps/frp/FrpcConfigTuneView.vue:145
|
||||
#: src/views/apps/frp/FrpcConfigTuneView.vue:221
|
||||
@@ -1638,7 +1638,7 @@ msgstr "Rename"
|
||||
#: src/components/file-editor/FileTree.vue:595
|
||||
#: src/components/system/composables/useConfirm.ts:32
|
||||
#: src/components/system/ConfirmDialog.vue:54
|
||||
#: src/views/apps/fail2ban/IndexView.vue:125
|
||||
#: src/views/apps/fail2ban/IndexView.vue:127
|
||||
#: src/views/apps/frp/FrpProxyView.vue:105
|
||||
#: src/views/apps/frp/FrpVisitorView.vue:94
|
||||
#: src/views/apps/grafana/GrafanaDataSourcesView.vue:127
|
||||
@@ -1713,7 +1713,7 @@ msgid "Are you sure you want to delete %{ name }?"
|
||||
msgstr "Are you sure you want to delete %{ name }?"
|
||||
|
||||
#: src/components/file-editor/FileTree.vue:600
|
||||
#: src/views/apps/fail2ban/IndexView.vue:219
|
||||
#: src/views/apps/fail2ban/IndexView.vue:221
|
||||
#: src/views/apps/frp/FrpProxyView.vue:125
|
||||
#: src/views/apps/frp/FrpVisitorView.vue:114
|
||||
#: src/views/apps/grafana/GrafanaDataSourcesView.vue:185
|
||||
@@ -2066,7 +2066,7 @@ msgstr "Show in Home"
|
||||
#: src/views/app/AppView.vue:68 src/views/app/EnvironmentView.vue:62
|
||||
#: src/views/app/InstalledView.vue:74 src/views/app/InstalledView.vue:176
|
||||
#: src/views/apps/fail2ban/IndexView.vue:74
|
||||
#: src/views/apps/fail2ban/IndexView.vue:141
|
||||
#: src/views/apps/fail2ban/IndexView.vue:143
|
||||
#: src/views/apps/frp/FrpProxyView.vue:73
|
||||
#: src/views/apps/frp/FrpVisitorView.vue:62
|
||||
#: src/views/apps/grafana/GrafanaDataSourcesView.vue:99
|
||||
@@ -2767,7 +2767,7 @@ msgstr "Load Status"
|
||||
#: src/views/apps/codeserver/IndexView.vue:62
|
||||
#: src/views/apps/docker/IndexView.vue:453
|
||||
#: src/views/apps/elasticsearch/IndexView.vue:100
|
||||
#: src/views/apps/fail2ban/IndexView.vue:329
|
||||
#: src/views/apps/fail2ban/IndexView.vue:331
|
||||
#: src/views/apps/frp/IndexView.vue:122 src/views/apps/frp/IndexView.vue:180
|
||||
#: src/views/apps/gitea/IndexView.vue:60
|
||||
#: src/views/apps/grafana/IndexView.vue:130
|
||||
@@ -3277,30 +3277,30 @@ msgstr ""
|
||||
"the meaning of each parameter, please do not modify it randomly!"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:70
|
||||
#: src/views/apps/fail2ban/IndexView.vue:405
|
||||
#: src/views/apps/fail2ban/IndexView.vue:451
|
||||
#: src/views/apps/fail2ban/IndexView.vue:407
|
||||
#: src/views/apps/fail2ban/IndexView.vue:453
|
||||
msgid "Max Retries"
|
||||
msgstr "Max Retries"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:71
|
||||
#: src/views/apps/fail2ban/IndexView.vue:411
|
||||
#: src/views/apps/fail2ban/IndexView.vue:467
|
||||
#: src/views/apps/fail2ban/IndexView.vue:413
|
||||
#: src/views/apps/fail2ban/IndexView.vue:469
|
||||
msgid "Ban Time"
|
||||
msgstr "Ban Time"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:72
|
||||
#: src/views/apps/fail2ban/IndexView.vue:408
|
||||
#: src/views/apps/fail2ban/IndexView.vue:459
|
||||
#: src/views/apps/fail2ban/IndexView.vue:410
|
||||
#: src/views/apps/fail2ban/IndexView.vue:461
|
||||
msgid "Find Time"
|
||||
msgstr "Find Time"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:91 src/views/cert/CertView.vue:344
|
||||
#: src/views/apps/fail2ban/IndexView.vue:93 src/views/cert/CertView.vue:344
|
||||
#: src/views/database/ElasticsearchDataView.vue:186
|
||||
#: src/views/database/RedisDataView.vue:141
|
||||
msgid "View"
|
||||
msgstr "View"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:109
|
||||
#: src/views/apps/fail2ban/IndexView.vue:111
|
||||
#: src/views/apps/frp/FrpProxyView.vue:89
|
||||
#: src/views/apps/frp/FrpVisitorView.vue:78
|
||||
#: src/views/apps/rsync/IndexView.vue:95
|
||||
@@ -3309,20 +3309,20 @@ msgstr "View"
|
||||
msgid "Configure"
|
||||
msgstr "Configure"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:118
|
||||
#: src/views/apps/fail2ban/IndexView.vue:120
|
||||
msgid "Are you sure you want to delete rule %{ name }?"
|
||||
msgstr "Are you sure you want to delete rule %{ name }?"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:153
|
||||
#: src/views/apps/fail2ban/IndexView.vue:155
|
||||
msgid "Are you sure you want to unban %{ ip }?"
|
||||
msgstr "Are you sure you want to unban %{ ip }?"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:154
|
||||
#: src/views/apps/fail2ban/IndexView.vue:159
|
||||
#: src/views/apps/fail2ban/IndexView.vue:156
|
||||
#: src/views/apps/fail2ban/IndexView.vue:161
|
||||
msgid "Unban"
|
||||
msgstr "Unban"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:208
|
||||
#: src/views/apps/fail2ban/IndexView.vue:210
|
||||
#: src/views/apps/pureftpd/IndexView.vue:130
|
||||
#: src/views/apps/rsync/IndexView.vue:160 src/views/apps/s3fs/IndexView.vue:77
|
||||
#: src/views/apps/supervisor/IndexView.vue:259
|
||||
@@ -3330,41 +3330,41 @@ msgstr "Unban"
|
||||
msgid "Added successfully"
|
||||
msgstr "Added successfully"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:252
|
||||
#: src/views/apps/fail2ban/IndexView.vue:254
|
||||
msgid "Unbanned successfully"
|
||||
msgstr "Unbanned successfully"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:274
|
||||
#: src/views/apps/fail2ban/IndexView.vue:276
|
||||
#: src/views/firewall/SettingView.vue:130
|
||||
msgid "IP Whitelist"
|
||||
msgstr "IP Whitelist"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:279
|
||||
#: src/views/apps/fail2ban/IndexView.vue:281
|
||||
msgid "IP whitelist, separated by commas"
|
||||
msgstr "IP whitelist, separated by commas"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:289
|
||||
#: src/views/apps/fail2ban/IndexView.vue:291
|
||||
msgid "Save Whitelist"
|
||||
msgstr "Save Whitelist"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:294
|
||||
#: src/views/apps/fail2ban/IndexView.vue:296
|
||||
msgid "Rule Management"
|
||||
msgstr "Rule Management"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:296
|
||||
#: src/views/apps/fail2ban/IndexView.vue:298
|
||||
msgid "Rule List"
|
||||
msgstr "Rule List"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:324
|
||||
#: src/views/apps/fail2ban/IndexView.vue:334
|
||||
#: src/views/apps/fail2ban/IndexView.vue:338
|
||||
#: src/views/apps/fail2ban/IndexView.vue:326
|
||||
#: src/views/apps/fail2ban/IndexView.vue:336
|
||||
#: src/views/apps/fail2ban/IndexView.vue:340
|
||||
#: src/views/monitor/AlertRuleModal.vue:129 src/views/monitor/AlertView.vue:202
|
||||
#: src/views/tamper/RuleModal.vue:89 src/views/tamper/TamperView.vue:342
|
||||
#: src/views/website/EditModal.vue:2205
|
||||
msgid "Add Rule"
|
||||
msgstr "Add Rule"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:344
|
||||
#: src/views/apps/fail2ban/IndexView.vue:346
|
||||
msgid ""
|
||||
"If an IP exceeds the maximum retries within the find time (seconds), it will "
|
||||
"be banned for the ban time (seconds)"
|
||||
@@ -3372,7 +3372,7 @@ msgstr ""
|
||||
"If an IP exceeds the maximum retries within the find time (seconds), it will "
|
||||
"be banned for the ban time (seconds)"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:351
|
||||
#: src/views/apps/fail2ban/IndexView.vue:353
|
||||
msgid ""
|
||||
"Protected ports are automatically obtained. If you modify the port "
|
||||
"corresponding to a rule, please delete and re-add the rule, otherwise "
|
||||
@@ -3382,7 +3382,7 @@ msgstr ""
|
||||
"corresponding to a rule, please delete and re-add the rule, otherwise "
|
||||
"protection may not be effective"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:358
|
||||
#: src/views/apps/fail2ban/IndexView.vue:360
|
||||
#: src/views/apps/frp/FrpProxyModal.vue:263
|
||||
#: src/views/apps/frp/FrpProxyView.vue:29
|
||||
#: src/views/apps/frp/FrpVisitorModal.vue:130
|
||||
@@ -3405,23 +3405,23 @@ msgstr ""
|
||||
msgid "Type"
|
||||
msgstr "Type"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:363
|
||||
#: src/views/apps/fail2ban/IndexView.vue:394
|
||||
#: src/views/apps/fail2ban/IndexView.vue:365
|
||||
#: src/views/apps/fail2ban/IndexView.vue:396
|
||||
msgid "Service"
|
||||
msgstr "Service"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:368
|
||||
#: src/views/apps/fail2ban/IndexView.vue:372 src/views/task/CreateModal.vue:480
|
||||
#: src/views/apps/fail2ban/IndexView.vue:370
|
||||
#: src/views/apps/fail2ban/IndexView.vue:374 src/views/task/CreateModal.vue:480
|
||||
#: src/views/task/CreateModal.vue:486
|
||||
msgid "Select Website"
|
||||
msgstr "Select Website"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:375
|
||||
#: src/views/apps/fail2ban/IndexView.vue:377
|
||||
#: src/views/tamper/TamperView.vue:251
|
||||
msgid "Protection Mode"
|
||||
msgstr "Protection Mode"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:380
|
||||
#: src/views/apps/fail2ban/IndexView.vue:382
|
||||
#: src/views/apps/pureftpd/IndexView.vue:46
|
||||
#: src/views/backup/StorageView.vue:277 src/views/backup/StorageView.vue:331
|
||||
#: src/views/backup/StorageView.vue:361 src/views/backup/StorageView.vue:433
|
||||
@@ -3430,12 +3430,12 @@ msgstr "Protection Mode"
|
||||
msgid "Path"
|
||||
msgstr "Path"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:387
|
||||
#: src/views/apps/fail2ban/IndexView.vue:391
|
||||
#: src/views/apps/fail2ban/IndexView.vue:389
|
||||
#: src/views/apps/fail2ban/IndexView.vue:393
|
||||
msgid "Protection Path"
|
||||
msgstr "Protection Path"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:422
|
||||
#: src/views/apps/fail2ban/IndexView.vue:424
|
||||
#: src/views/apps/frp/FrpProxyModal.vue:582
|
||||
#: src/views/apps/frp/FrpVisitorModal.vue:241
|
||||
#: src/views/apps/nginx/NginxIndex.vue:690
|
||||
@@ -3477,18 +3477,18 @@ msgstr "Protection Path"
|
||||
msgid "Submit"
|
||||
msgstr "Submit"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:430
|
||||
#: src/views/apps/fail2ban/IndexView.vue:432
|
||||
#, fuzzy
|
||||
msgid "Rule Configuration"
|
||||
msgstr "Module Configuration"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:439
|
||||
#: src/views/apps/fail2ban/IndexView.vue:441
|
||||
msgid ""
|
||||
"The protected port, filter and log path are derived when the rule is created "
|
||||
"and are kept as-is here. To change them, delete and re-add the rule."
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:448
|
||||
#: src/views/apps/fail2ban/IndexView.vue:450
|
||||
#: src/views/apps/frp/FrpProxyModal.vue:266
|
||||
#: src/views/apps/frp/FrpProxyView.vue:43
|
||||
#: src/views/apps/frp/FrpVisitorModal.vue:133
|
||||
@@ -3501,24 +3501,24 @@ msgstr ""
|
||||
msgid "Enabled"
|
||||
msgstr "Enabled"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:487
|
||||
#: src/views/apps/fail2ban/IndexView.vue:491
|
||||
#: src/views/apps/fail2ban/IndexView.vue:489
|
||||
#: src/views/apps/fail2ban/IndexView.vue:493
|
||||
msgid "View Rule"
|
||||
msgstr "View Rule"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:495
|
||||
#: src/views/apps/fail2ban/IndexView.vue:497
|
||||
msgid "Rule Information"
|
||||
msgstr "Rule Information"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:498
|
||||
#: src/views/apps/fail2ban/IndexView.vue:500
|
||||
msgid "Currently Banned"
|
||||
msgstr "Currently Banned"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:502
|
||||
#: src/views/apps/fail2ban/IndexView.vue:504
|
||||
msgid "Total Bans"
|
||||
msgstr "Total Bans"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:507
|
||||
#: src/views/apps/fail2ban/IndexView.vue:509
|
||||
msgid "Ban List"
|
||||
msgstr "Ban List"
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ msgstr ""
|
||||
|
||||
#: src/components/common/AppFooter.vue:38
|
||||
#: src/locales/menu.ts:24
|
||||
#: src/views/apps/fail2ban/IndexView.vue:362
|
||||
#: src/views/apps/fail2ban/IndexView.vue:364
|
||||
#: src/views/backup/IndexView.vue:53
|
||||
#: src/views/backup/ListView.vue:356
|
||||
#: src/views/backup/ListView.vue:407
|
||||
@@ -277,9 +277,9 @@ msgstr ""
|
||||
#: src/views/apps/docker/IndexView.vue:152
|
||||
#: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:58
|
||||
#: src/views/apps/elasticsearch/IndexView.vue:51
|
||||
#: src/views/apps/fail2ban/IndexView.vue:175
|
||||
#: src/views/apps/fail2ban/IndexView.vue:226
|
||||
#: src/views/apps/fail2ban/IndexView.vue:236
|
||||
#: src/views/apps/fail2ban/IndexView.vue:177
|
||||
#: src/views/apps/fail2ban/IndexView.vue:228
|
||||
#: src/views/apps/fail2ban/IndexView.vue:238
|
||||
#: src/views/apps/frp/FrpcConfigTuneView.vue:64
|
||||
#: src/views/apps/frp/FrpProxyModal.vue:236
|
||||
#: src/views/apps/frp/FrpsConfigTuneView.vue:64
|
||||
@@ -380,7 +380,7 @@ msgstr ""
|
||||
#: src/views/app/EnvironmentView.vue:38
|
||||
#: src/views/app/InstalledView.vue:158
|
||||
#: src/views/apps/fail2ban/IndexView.vue:52
|
||||
#: src/views/apps/fail2ban/IndexView.vue:445
|
||||
#: src/views/apps/fail2ban/IndexView.vue:447
|
||||
#: src/views/apps/frp/FrpProxyModal.vue:255
|
||||
#: src/views/apps/frp/FrpProxyView.vue:22
|
||||
#: src/views/apps/frp/FrpVisitorModal.vue:122
|
||||
@@ -702,7 +702,7 @@ msgstr ""
|
||||
msgid "Connection failed, retrying..."
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:448
|
||||
#: src/components/common/RealtimeLog.vue:492
|
||||
#: src/views/apps/clickhouse/IndexView.vue:77
|
||||
#: src/views/apps/mongodb/IndexView.vue:77
|
||||
#: src/views/apps/mysql/MysqlIndex.vue:112
|
||||
@@ -714,27 +714,27 @@ msgstr ""
|
||||
msgid "Copied successfully"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:487
|
||||
#: src/components/common/RealtimeLog.vue:531
|
||||
msgid "Not found"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:570
|
||||
#: src/components/common/RealtimeLog.vue:614
|
||||
msgid "Pause Auto-scroll"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:570
|
||||
#: src/components/common/RealtimeLog.vue:614
|
||||
msgid "Resume Auto-scroll"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:576
|
||||
#: src/components/common/RealtimeLog.vue:620
|
||||
msgid "Jump to Top"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:579
|
||||
#: src/components/common/RealtimeLog.vue:623
|
||||
msgid "Jump to Bottom"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:584
|
||||
#: src/components/common/RealtimeLog.vue:628
|
||||
#: src/components/file-editor/EditorToolbar.vue:190
|
||||
#: src/components/file-editor/FileTree.vue:710
|
||||
#: src/views/app/AppView.vue:237
|
||||
@@ -749,65 +749,65 @@ msgstr ""
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:593
|
||||
#: src/components/common/RealtimeLog.vue:637
|
||||
msgid "Enter keyword and press Enter"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:596
|
||||
#: src/components/common/RealtimeLog.vue:640
|
||||
#: src/views/app/TemplateDeployModal.vue:615
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:599
|
||||
#: src/components/common/RealtimeLog.vue:643
|
||||
#: src/views/app/TemplateDeployModal.vue:624
|
||||
#: src/views/app/TemplateDeployModal.vue:627
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:604
|
||||
#: src/components/common/RealtimeLog.vue:648
|
||||
msgid "Only loaded logs are searched"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:613
|
||||
#: src/components/common/RealtimeLog.vue:657
|
||||
msgid "Disable Line Wrap"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:613
|
||||
#: src/components/common/RealtimeLog.vue:657
|
||||
msgid "Enable Line Wrap"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:618
|
||||
#: src/components/common/RealtimeLog.vue:662
|
||||
msgid "Copy All"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:622
|
||||
#: src/components/common/RealtimeLog.vue:666
|
||||
msgid "Decrease Font Size"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:625
|
||||
#: src/components/common/RealtimeLog.vue:669
|
||||
msgid "Increase Font Size"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:631
|
||||
#: src/components/common/RealtimeLog.vue:675
|
||||
#: src/views/ssh/IndexView.vue:550
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:631
|
||||
#: src/components/common/RealtimeLog.vue:675
|
||||
#: src/views/ssh/IndexView.vue:550
|
||||
msgid "Fullscreen"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:641
|
||||
#: src/components/common/RealtimeLog.vue:685
|
||||
msgid "No more logs"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:655
|
||||
#: src/components/common/RealtimeLog.vue:682
|
||||
#: src/components/common/RealtimeLog.vue:699
|
||||
#: src/components/common/RealtimeLog.vue:726
|
||||
msgid "No logs available"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:675
|
||||
#: src/components/common/RealtimeLog.vue:719
|
||||
msgid "%{ count } new line"
|
||||
msgid_plural "%{ count } new lines"
|
||||
msgstr[0] ""
|
||||
@@ -949,7 +949,7 @@ msgstr ""
|
||||
#: src/views/apps/codeserver/IndexView.vue:37
|
||||
#: src/views/apps/docker/IndexView.vue:167
|
||||
#: src/views/apps/elasticsearch/IndexView.vue:62
|
||||
#: src/views/apps/fail2ban/IndexView.vue:271
|
||||
#: src/views/apps/fail2ban/IndexView.vue:273
|
||||
#: src/views/apps/frp/IndexView.vue:77
|
||||
#: src/views/apps/frp/IndexView.vue:129
|
||||
#: src/views/apps/gitea/IndexView.vue:35
|
||||
@@ -1183,7 +1183,7 @@ msgstr ""
|
||||
#: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:97
|
||||
#: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:132
|
||||
#: src/views/apps/elasticsearch/IndexView.vue:82
|
||||
#: src/views/apps/fail2ban/IndexView.vue:483
|
||||
#: src/views/apps/fail2ban/IndexView.vue:485
|
||||
#: src/views/apps/frp/FrpcConfigTuneView.vue:115
|
||||
#: src/views/apps/frp/FrpcConfigTuneView.vue:145
|
||||
#: src/views/apps/frp/FrpcConfigTuneView.vue:221
|
||||
@@ -1734,7 +1734,7 @@ msgstr ""
|
||||
#: src/components/file-editor/FileTree.vue:595
|
||||
#: src/components/system/composables/useConfirm.ts:32
|
||||
#: src/components/system/ConfirmDialog.vue:54
|
||||
#: src/views/apps/fail2ban/IndexView.vue:125
|
||||
#: src/views/apps/fail2ban/IndexView.vue:127
|
||||
#: src/views/apps/frp/FrpProxyView.vue:105
|
||||
#: src/views/apps/frp/FrpVisitorView.vue:94
|
||||
#: src/views/apps/grafana/GrafanaDataSourcesView.vue:127
|
||||
@@ -1829,7 +1829,7 @@ msgid "Are you sure you want to delete %{ name }?"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/file-editor/FileTree.vue:600
|
||||
#: src/views/apps/fail2ban/IndexView.vue:219
|
||||
#: src/views/apps/fail2ban/IndexView.vue:221
|
||||
#: src/views/apps/frp/FrpProxyView.vue:125
|
||||
#: src/views/apps/frp/FrpVisitorView.vue:114
|
||||
#: src/views/apps/grafana/GrafanaDataSourcesView.vue:185
|
||||
@@ -2215,7 +2215,7 @@ msgstr ""
|
||||
#: src/views/app/InstalledView.vue:74
|
||||
#: src/views/app/InstalledView.vue:176
|
||||
#: src/views/apps/fail2ban/IndexView.vue:74
|
||||
#: src/views/apps/fail2ban/IndexView.vue:141
|
||||
#: src/views/apps/fail2ban/IndexView.vue:143
|
||||
#: src/views/apps/frp/FrpProxyView.vue:73
|
||||
#: src/views/apps/frp/FrpVisitorView.vue:62
|
||||
#: src/views/apps/grafana/GrafanaDataSourcesView.vue:99
|
||||
@@ -2918,7 +2918,7 @@ msgstr ""
|
||||
#: src/views/apps/codeserver/IndexView.vue:62
|
||||
#: src/views/apps/docker/IndexView.vue:453
|
||||
#: src/views/apps/elasticsearch/IndexView.vue:100
|
||||
#: src/views/apps/fail2ban/IndexView.vue:329
|
||||
#: src/views/apps/fail2ban/IndexView.vue:331
|
||||
#: src/views/apps/frp/IndexView.vue:122
|
||||
#: src/views/apps/frp/IndexView.vue:180
|
||||
#: src/views/apps/gitea/IndexView.vue:60
|
||||
@@ -3386,31 +3386,31 @@ msgid "This modifies the ElasticSearch main configuration file. If you do not un
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:70
|
||||
#: src/views/apps/fail2ban/IndexView.vue:405
|
||||
#: src/views/apps/fail2ban/IndexView.vue:451
|
||||
#: src/views/apps/fail2ban/IndexView.vue:407
|
||||
#: src/views/apps/fail2ban/IndexView.vue:453
|
||||
msgid "Max Retries"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:71
|
||||
#: src/views/apps/fail2ban/IndexView.vue:411
|
||||
#: src/views/apps/fail2ban/IndexView.vue:467
|
||||
#: src/views/apps/fail2ban/IndexView.vue:413
|
||||
#: src/views/apps/fail2ban/IndexView.vue:469
|
||||
msgid "Ban Time"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:72
|
||||
#: src/views/apps/fail2ban/IndexView.vue:408
|
||||
#: src/views/apps/fail2ban/IndexView.vue:459
|
||||
#: src/views/apps/fail2ban/IndexView.vue:410
|
||||
#: src/views/apps/fail2ban/IndexView.vue:461
|
||||
msgid "Find Time"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:91
|
||||
#: src/views/apps/fail2ban/IndexView.vue:93
|
||||
#: src/views/cert/CertView.vue:344
|
||||
#: src/views/database/ElasticsearchDataView.vue:186
|
||||
#: src/views/database/RedisDataView.vue:141
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:109
|
||||
#: src/views/apps/fail2ban/IndexView.vue:111
|
||||
#: src/views/apps/frp/FrpProxyView.vue:89
|
||||
#: src/views/apps/frp/FrpVisitorView.vue:78
|
||||
#: src/views/apps/rsync/IndexView.vue:95
|
||||
@@ -3419,20 +3419,20 @@ msgstr ""
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:118
|
||||
#: src/views/apps/fail2ban/IndexView.vue:120
|
||||
msgid "Are you sure you want to delete rule %{ name }?"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:153
|
||||
#: src/views/apps/fail2ban/IndexView.vue:155
|
||||
msgid "Are you sure you want to unban %{ ip }?"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:154
|
||||
#: src/views/apps/fail2ban/IndexView.vue:159
|
||||
#: src/views/apps/fail2ban/IndexView.vue:156
|
||||
#: src/views/apps/fail2ban/IndexView.vue:161
|
||||
msgid "Unban"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:208
|
||||
#: src/views/apps/fail2ban/IndexView.vue:210
|
||||
#: src/views/apps/pureftpd/IndexView.vue:130
|
||||
#: src/views/apps/rsync/IndexView.vue:160
|
||||
#: src/views/apps/s3fs/IndexView.vue:77
|
||||
@@ -3441,34 +3441,34 @@ msgstr ""
|
||||
msgid "Added successfully"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:252
|
||||
#: src/views/apps/fail2ban/IndexView.vue:254
|
||||
msgid "Unbanned successfully"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:274
|
||||
#: src/views/apps/fail2ban/IndexView.vue:276
|
||||
#: src/views/firewall/SettingView.vue:130
|
||||
msgid "IP Whitelist"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:279
|
||||
#: src/views/apps/fail2ban/IndexView.vue:281
|
||||
msgid "IP whitelist, separated by commas"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:289
|
||||
#: src/views/apps/fail2ban/IndexView.vue:291
|
||||
msgid "Save Whitelist"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:294
|
||||
#: src/views/apps/fail2ban/IndexView.vue:296
|
||||
msgid "Rule Management"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:296
|
||||
#: src/views/apps/fail2ban/IndexView.vue:298
|
||||
msgid "Rule List"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:324
|
||||
#: src/views/apps/fail2ban/IndexView.vue:334
|
||||
#: src/views/apps/fail2ban/IndexView.vue:338
|
||||
#: src/views/apps/fail2ban/IndexView.vue:326
|
||||
#: src/views/apps/fail2ban/IndexView.vue:336
|
||||
#: src/views/apps/fail2ban/IndexView.vue:340
|
||||
#: src/views/monitor/AlertRuleModal.vue:129
|
||||
#: src/views/monitor/AlertView.vue:202
|
||||
#: src/views/tamper/RuleModal.vue:89
|
||||
@@ -3477,15 +3477,15 @@ msgstr ""
|
||||
msgid "Add Rule"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:344
|
||||
#: src/views/apps/fail2ban/IndexView.vue:346
|
||||
msgid "If an IP exceeds the maximum retries within the find time (seconds), it will be banned for the ban time (seconds)"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:351
|
||||
#: src/views/apps/fail2ban/IndexView.vue:353
|
||||
msgid "Protected ports are automatically obtained. If you modify the port corresponding to a rule, please delete and re-add the rule, otherwise protection may not be effective"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:358
|
||||
#: src/views/apps/fail2ban/IndexView.vue:360
|
||||
#: src/views/apps/frp/FrpProxyModal.vue:263
|
||||
#: src/views/apps/frp/FrpProxyView.vue:29
|
||||
#: src/views/apps/frp/FrpVisitorModal.vue:130
|
||||
@@ -3514,24 +3514,24 @@ msgstr ""
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:363
|
||||
#: src/views/apps/fail2ban/IndexView.vue:394
|
||||
#: src/views/apps/fail2ban/IndexView.vue:365
|
||||
#: src/views/apps/fail2ban/IndexView.vue:396
|
||||
msgid "Service"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:368
|
||||
#: src/views/apps/fail2ban/IndexView.vue:372
|
||||
#: src/views/apps/fail2ban/IndexView.vue:370
|
||||
#: src/views/apps/fail2ban/IndexView.vue:374
|
||||
#: src/views/task/CreateModal.vue:480
|
||||
#: src/views/task/CreateModal.vue:486
|
||||
msgid "Select Website"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:375
|
||||
#: src/views/apps/fail2ban/IndexView.vue:377
|
||||
#: src/views/tamper/TamperView.vue:251
|
||||
msgid "Protection Mode"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:380
|
||||
#: src/views/apps/fail2ban/IndexView.vue:382
|
||||
#: src/views/apps/pureftpd/IndexView.vue:46
|
||||
#: src/views/backup/StorageView.vue:277
|
||||
#: src/views/backup/StorageView.vue:331
|
||||
@@ -3544,12 +3544,12 @@ msgstr ""
|
||||
msgid "Path"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:387
|
||||
#: src/views/apps/fail2ban/IndexView.vue:391
|
||||
#: src/views/apps/fail2ban/IndexView.vue:389
|
||||
#: src/views/apps/fail2ban/IndexView.vue:393
|
||||
msgid "Protection Path"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:422
|
||||
#: src/views/apps/fail2ban/IndexView.vue:424
|
||||
#: src/views/apps/frp/FrpProxyModal.vue:582
|
||||
#: src/views/apps/frp/FrpVisitorModal.vue:241
|
||||
#: src/views/apps/nginx/NginxIndex.vue:690
|
||||
@@ -3602,15 +3602,15 @@ msgstr ""
|
||||
msgid "Submit"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:430
|
||||
#: src/views/apps/fail2ban/IndexView.vue:432
|
||||
msgid "Rule Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:439
|
||||
#: src/views/apps/fail2ban/IndexView.vue:441
|
||||
msgid "The protected port, filter and log path are derived when the rule is created and are kept as-is here. To change them, delete and re-add the rule."
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:448
|
||||
#: src/views/apps/fail2ban/IndexView.vue:450
|
||||
#: src/views/apps/frp/FrpProxyModal.vue:266
|
||||
#: src/views/apps/frp/FrpProxyView.vue:43
|
||||
#: src/views/apps/frp/FrpVisitorModal.vue:133
|
||||
@@ -3628,24 +3628,24 @@ msgstr ""
|
||||
msgid "Enabled"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:487
|
||||
#: src/views/apps/fail2ban/IndexView.vue:491
|
||||
#: src/views/apps/fail2ban/IndexView.vue:489
|
||||
#: src/views/apps/fail2ban/IndexView.vue:493
|
||||
msgid "View Rule"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:495
|
||||
#: src/views/apps/fail2ban/IndexView.vue:497
|
||||
msgid "Rule Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:498
|
||||
#: src/views/apps/fail2ban/IndexView.vue:500
|
||||
msgid "Currently Banned"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:502
|
||||
#: src/views/apps/fail2ban/IndexView.vue:504
|
||||
msgid "Total Bans"
|
||||
msgstr ""
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:507
|
||||
#: src/views/apps/fail2ban/IndexView.vue:509
|
||||
msgid "Ban List"
|
||||
msgstr ""
|
||||
|
||||
|
||||
+77
-77
@@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: acepanel\n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"Language: zh_CN\n"
|
||||
"PO-Revision-Date: 2026-09-24 14:55\n"
|
||||
"PO-Revision-Date: 2026-10-05 09:38\n"
|
||||
|
||||
#: src/components/common/AppFooter.vue:18
|
||||
#: src/views/home/IndexView.vue:560
|
||||
@@ -27,7 +27,7 @@ msgstr "QQ 群"
|
||||
|
||||
#: src/components/common/AppFooter.vue:38
|
||||
#: src/locales/menu.ts:24
|
||||
#: src/views/apps/fail2ban/IndexView.vue:362
|
||||
#: src/views/apps/fail2ban/IndexView.vue:364
|
||||
#: src/views/backup/IndexView.vue:53
|
||||
#: src/views/backup/ListView.vue:356
|
||||
#: src/views/backup/ListView.vue:407
|
||||
@@ -287,9 +287,9 @@ msgstr "当前状态无法保存"
|
||||
#: src/views/apps/docker/IndexView.vue:152
|
||||
#: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:58
|
||||
#: src/views/apps/elasticsearch/IndexView.vue:51
|
||||
#: src/views/apps/fail2ban/IndexView.vue:175
|
||||
#: src/views/apps/fail2ban/IndexView.vue:226
|
||||
#: src/views/apps/fail2ban/IndexView.vue:236
|
||||
#: src/views/apps/fail2ban/IndexView.vue:177
|
||||
#: src/views/apps/fail2ban/IndexView.vue:228
|
||||
#: src/views/apps/fail2ban/IndexView.vue:238
|
||||
#: src/views/apps/frp/FrpcConfigTuneView.vue:64
|
||||
#: src/views/apps/frp/FrpProxyModal.vue:236
|
||||
#: src/views/apps/frp/FrpsConfigTuneView.vue:64
|
||||
@@ -390,7 +390,7 @@ msgstr "选择文件"
|
||||
#: src/views/app/EnvironmentView.vue:38
|
||||
#: src/views/app/InstalledView.vue:158
|
||||
#: src/views/apps/fail2ban/IndexView.vue:52
|
||||
#: src/views/apps/fail2ban/IndexView.vue:445
|
||||
#: src/views/apps/fail2ban/IndexView.vue:447
|
||||
#: src/views/apps/frp/FrpProxyModal.vue:255
|
||||
#: src/views/apps/frp/FrpProxyView.vue:22
|
||||
#: src/views/apps/frp/FrpVisitorModal.vue:122
|
||||
@@ -712,7 +712,7 @@ msgstr "连接中……"
|
||||
msgid "Connection failed, retrying..."
|
||||
msgstr "连接失败,正在重试..."
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:448
|
||||
#: src/components/common/RealtimeLog.vue:492
|
||||
#: src/views/apps/clickhouse/IndexView.vue:77
|
||||
#: src/views/apps/mongodb/IndexView.vue:77
|
||||
#: src/views/apps/mysql/MysqlIndex.vue:112
|
||||
@@ -724,27 +724,27 @@ msgstr "连接失败,正在重试..."
|
||||
msgid "Copied successfully"
|
||||
msgstr "复制成功"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:487
|
||||
#: src/components/common/RealtimeLog.vue:531
|
||||
msgid "Not found"
|
||||
msgstr "未找到"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:570
|
||||
#: src/components/common/RealtimeLog.vue:614
|
||||
msgid "Pause Auto-scroll"
|
||||
msgstr "暂停自动滚动"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:570
|
||||
#: src/components/common/RealtimeLog.vue:614
|
||||
msgid "Resume Auto-scroll"
|
||||
msgstr "恢复自动滚动"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:576
|
||||
#: src/components/common/RealtimeLog.vue:620
|
||||
msgid "Jump to Top"
|
||||
msgstr "跳转到顶部"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:579
|
||||
#: src/components/common/RealtimeLog.vue:623
|
||||
msgid "Jump to Bottom"
|
||||
msgstr "跳转到底部"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:584
|
||||
#: src/components/common/RealtimeLog.vue:628
|
||||
#: src/components/file-editor/EditorToolbar.vue:190
|
||||
#: src/components/file-editor/FileTree.vue:710
|
||||
#: src/views/app/AppView.vue:237
|
||||
@@ -759,65 +759,65 @@ msgstr "跳转到底部"
|
||||
msgid "Search"
|
||||
msgstr "搜索"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:593
|
||||
#: src/components/common/RealtimeLog.vue:637
|
||||
msgid "Enter keyword and press Enter"
|
||||
msgstr "输入关键字并按回车"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:596
|
||||
#: src/components/common/RealtimeLog.vue:640
|
||||
#: src/views/app/TemplateDeployModal.vue:615
|
||||
msgid "Previous"
|
||||
msgstr "返回"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:599
|
||||
#: src/components/common/RealtimeLog.vue:643
|
||||
#: src/views/app/TemplateDeployModal.vue:624
|
||||
#: src/views/app/TemplateDeployModal.vue:627
|
||||
msgid "Next"
|
||||
msgstr "下一步"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:604
|
||||
#: src/components/common/RealtimeLog.vue:648
|
||||
msgid "Only loaded logs are searched"
|
||||
msgstr "仅搜索已加载的日志"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:613
|
||||
#: src/components/common/RealtimeLog.vue:657
|
||||
msgid "Disable Line Wrap"
|
||||
msgstr "禁用自动换行"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:613
|
||||
#: src/components/common/RealtimeLog.vue:657
|
||||
msgid "Enable Line Wrap"
|
||||
msgstr "启用自动换行"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:618
|
||||
#: src/components/common/RealtimeLog.vue:662
|
||||
msgid "Copy All"
|
||||
msgstr "全部复制"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:622
|
||||
#: src/components/common/RealtimeLog.vue:666
|
||||
msgid "Decrease Font Size"
|
||||
msgstr "减小字体大小"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:625
|
||||
#: src/components/common/RealtimeLog.vue:669
|
||||
msgid "Increase Font Size"
|
||||
msgstr "增大字体大小"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:631
|
||||
#: src/components/common/RealtimeLog.vue:675
|
||||
#: src/views/ssh/IndexView.vue:550
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "退出全屏"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:631
|
||||
#: src/components/common/RealtimeLog.vue:675
|
||||
#: src/views/ssh/IndexView.vue:550
|
||||
msgid "Fullscreen"
|
||||
msgstr "全屏"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:641
|
||||
#: src/components/common/RealtimeLog.vue:685
|
||||
msgid "No more logs"
|
||||
msgstr "没有更多日志"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:655
|
||||
#: src/components/common/RealtimeLog.vue:682
|
||||
#: src/components/common/RealtimeLog.vue:699
|
||||
#: src/components/common/RealtimeLog.vue:726
|
||||
msgid "No logs available"
|
||||
msgstr "暂无日志数据"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:675
|
||||
#: src/components/common/RealtimeLog.vue:719
|
||||
msgid "%{ count } new line"
|
||||
msgid_plural "%{ count } new lines"
|
||||
msgstr[0] "%{ count } 行新日志"
|
||||
@@ -958,7 +958,7 @@ msgstr "自启动已成功禁用"
|
||||
#: src/views/apps/codeserver/IndexView.vue:37
|
||||
#: src/views/apps/docker/IndexView.vue:167
|
||||
#: src/views/apps/elasticsearch/IndexView.vue:62
|
||||
#: src/views/apps/fail2ban/IndexView.vue:271
|
||||
#: src/views/apps/fail2ban/IndexView.vue:273
|
||||
#: src/views/apps/frp/IndexView.vue:77
|
||||
#: src/views/apps/frp/IndexView.vue:129
|
||||
#: src/views/apps/gitea/IndexView.vue:35
|
||||
@@ -1192,7 +1192,7 @@ msgstr "放弃"
|
||||
#: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:97
|
||||
#: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:132
|
||||
#: src/views/apps/elasticsearch/IndexView.vue:82
|
||||
#: src/views/apps/fail2ban/IndexView.vue:483
|
||||
#: src/views/apps/fail2ban/IndexView.vue:485
|
||||
#: src/views/apps/frp/FrpcConfigTuneView.vue:115
|
||||
#: src/views/apps/frp/FrpcConfigTuneView.vue:145
|
||||
#: src/views/apps/frp/FrpcConfigTuneView.vue:221
|
||||
@@ -1743,7 +1743,7 @@ msgstr "重命名"
|
||||
#: src/components/file-editor/FileTree.vue:595
|
||||
#: src/components/system/composables/useConfirm.ts:32
|
||||
#: src/components/system/ConfirmDialog.vue:54
|
||||
#: src/views/apps/fail2ban/IndexView.vue:125
|
||||
#: src/views/apps/fail2ban/IndexView.vue:127
|
||||
#: src/views/apps/frp/FrpProxyView.vue:105
|
||||
#: src/views/apps/frp/FrpVisitorView.vue:94
|
||||
#: src/views/apps/grafana/GrafanaDataSourcesView.vue:127
|
||||
@@ -1838,7 +1838,7 @@ msgid "Are you sure you want to delete %{ name }?"
|
||||
msgstr "您确定要删除 %{ name } 吗?"
|
||||
|
||||
#: src/components/file-editor/FileTree.vue:600
|
||||
#: src/views/apps/fail2ban/IndexView.vue:219
|
||||
#: src/views/apps/fail2ban/IndexView.vue:221
|
||||
#: src/views/apps/frp/FrpProxyView.vue:125
|
||||
#: src/views/apps/frp/FrpVisitorView.vue:114
|
||||
#: src/views/apps/grafana/GrafanaDataSourcesView.vue:185
|
||||
@@ -2224,7 +2224,7 @@ msgstr "在主页显示"
|
||||
#: src/views/app/InstalledView.vue:74
|
||||
#: src/views/app/InstalledView.vue:176
|
||||
#: src/views/apps/fail2ban/IndexView.vue:74
|
||||
#: src/views/apps/fail2ban/IndexView.vue:141
|
||||
#: src/views/apps/fail2ban/IndexView.vue:143
|
||||
#: src/views/apps/frp/FrpProxyView.vue:73
|
||||
#: src/views/apps/frp/FrpVisitorView.vue:62
|
||||
#: src/views/apps/grafana/GrafanaDataSourcesView.vue:99
|
||||
@@ -2927,7 +2927,7 @@ msgstr "负载状态"
|
||||
#: src/views/apps/codeserver/IndexView.vue:62
|
||||
#: src/views/apps/docker/IndexView.vue:453
|
||||
#: src/views/apps/elasticsearch/IndexView.vue:100
|
||||
#: src/views/apps/fail2ban/IndexView.vue:329
|
||||
#: src/views/apps/fail2ban/IndexView.vue:331
|
||||
#: src/views/apps/frp/IndexView.vue:122
|
||||
#: src/views/apps/frp/IndexView.vue:180
|
||||
#: src/views/apps/gitea/IndexView.vue:60
|
||||
@@ -3395,31 +3395,31 @@ msgid "This modifies the ElasticSearch main configuration file. If you do not un
|
||||
msgstr "这将修改 ElasticSearch 主配置文件。如果您不了解各项参数的含义,请勿随意修改!"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:70
|
||||
#: src/views/apps/fail2ban/IndexView.vue:405
|
||||
#: src/views/apps/fail2ban/IndexView.vue:451
|
||||
#: src/views/apps/fail2ban/IndexView.vue:407
|
||||
#: src/views/apps/fail2ban/IndexView.vue:453
|
||||
msgid "Max Retries"
|
||||
msgstr "最大重试次数"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:71
|
||||
#: src/views/apps/fail2ban/IndexView.vue:411
|
||||
#: src/views/apps/fail2ban/IndexView.vue:467
|
||||
#: src/views/apps/fail2ban/IndexView.vue:413
|
||||
#: src/views/apps/fail2ban/IndexView.vue:469
|
||||
msgid "Ban Time"
|
||||
msgstr "封禁时间"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:72
|
||||
#: src/views/apps/fail2ban/IndexView.vue:408
|
||||
#: src/views/apps/fail2ban/IndexView.vue:459
|
||||
#: src/views/apps/fail2ban/IndexView.vue:410
|
||||
#: src/views/apps/fail2ban/IndexView.vue:461
|
||||
msgid "Find Time"
|
||||
msgstr "查找时间"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:91
|
||||
#: src/views/apps/fail2ban/IndexView.vue:93
|
||||
#: src/views/cert/CertView.vue:344
|
||||
#: src/views/database/ElasticsearchDataView.vue:186
|
||||
#: src/views/database/RedisDataView.vue:141
|
||||
msgid "View"
|
||||
msgstr "查看"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:109
|
||||
#: src/views/apps/fail2ban/IndexView.vue:111
|
||||
#: src/views/apps/frp/FrpProxyView.vue:89
|
||||
#: src/views/apps/frp/FrpVisitorView.vue:78
|
||||
#: src/views/apps/rsync/IndexView.vue:95
|
||||
@@ -3428,20 +3428,20 @@ msgstr "查看"
|
||||
msgid "Configure"
|
||||
msgstr "配置"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:118
|
||||
#: src/views/apps/fail2ban/IndexView.vue:120
|
||||
msgid "Are you sure you want to delete rule %{ name }?"
|
||||
msgstr "您确定要删除规则 %{ name } 吗?"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:153
|
||||
#: src/views/apps/fail2ban/IndexView.vue:155
|
||||
msgid "Are you sure you want to unban %{ ip }?"
|
||||
msgstr "您确定要解封 %{ ip } 吗?"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:154
|
||||
#: src/views/apps/fail2ban/IndexView.vue:159
|
||||
#: src/views/apps/fail2ban/IndexView.vue:156
|
||||
#: src/views/apps/fail2ban/IndexView.vue:161
|
||||
msgid "Unban"
|
||||
msgstr "解封"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:208
|
||||
#: src/views/apps/fail2ban/IndexView.vue:210
|
||||
#: src/views/apps/pureftpd/IndexView.vue:130
|
||||
#: src/views/apps/rsync/IndexView.vue:160
|
||||
#: src/views/apps/s3fs/IndexView.vue:77
|
||||
@@ -3450,34 +3450,34 @@ msgstr "解封"
|
||||
msgid "Added successfully"
|
||||
msgstr "添加成功"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:252
|
||||
#: src/views/apps/fail2ban/IndexView.vue:254
|
||||
msgid "Unbanned successfully"
|
||||
msgstr "解封成功"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:274
|
||||
#: src/views/apps/fail2ban/IndexView.vue:276
|
||||
#: src/views/firewall/SettingView.vue:130
|
||||
msgid "IP Whitelist"
|
||||
msgstr "IP 白名单"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:279
|
||||
#: src/views/apps/fail2ban/IndexView.vue:281
|
||||
msgid "IP whitelist, separated by commas"
|
||||
msgstr "IP 白名单,用逗号分隔"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:289
|
||||
#: src/views/apps/fail2ban/IndexView.vue:291
|
||||
msgid "Save Whitelist"
|
||||
msgstr "保存白名单"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:294
|
||||
#: src/views/apps/fail2ban/IndexView.vue:296
|
||||
msgid "Rule Management"
|
||||
msgstr "规则管理"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:296
|
||||
#: src/views/apps/fail2ban/IndexView.vue:298
|
||||
msgid "Rule List"
|
||||
msgstr "规则列表"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:324
|
||||
#: src/views/apps/fail2ban/IndexView.vue:334
|
||||
#: src/views/apps/fail2ban/IndexView.vue:338
|
||||
#: src/views/apps/fail2ban/IndexView.vue:326
|
||||
#: src/views/apps/fail2ban/IndexView.vue:336
|
||||
#: src/views/apps/fail2ban/IndexView.vue:340
|
||||
#: src/views/monitor/AlertRuleModal.vue:129
|
||||
#: src/views/monitor/AlertView.vue:202
|
||||
#: src/views/tamper/RuleModal.vue:89
|
||||
@@ -3486,15 +3486,15 @@ msgstr "规则列表"
|
||||
msgid "Add Rule"
|
||||
msgstr "添加规则"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:344
|
||||
#: src/views/apps/fail2ban/IndexView.vue:346
|
||||
msgid "If an IP exceeds the maximum retries within the find time (seconds), it will be banned for the ban time (seconds)"
|
||||
msgstr "如果一个 IP 在查找时间(秒)内超过最大重试次数,它将被禁止访问指定的禁止时间(秒)"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:351
|
||||
#: src/views/apps/fail2ban/IndexView.vue:353
|
||||
msgid "Protected ports are automatically obtained. If you modify the port corresponding to a rule, please delete and re-add the rule, otherwise protection may not be effective"
|
||||
msgstr "受保护的端口会自动获取。如果您修改了某个规则对应的端口,请删除并重新添加该规则,否则保护可能无效"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:358
|
||||
#: src/views/apps/fail2ban/IndexView.vue:360
|
||||
#: src/views/apps/frp/FrpProxyModal.vue:263
|
||||
#: src/views/apps/frp/FrpProxyView.vue:29
|
||||
#: src/views/apps/frp/FrpVisitorModal.vue:130
|
||||
@@ -3523,24 +3523,24 @@ msgstr "受保护的端口会自动获取。如果您修改了某个规则对应
|
||||
msgid "Type"
|
||||
msgstr "类型"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:363
|
||||
#: src/views/apps/fail2ban/IndexView.vue:394
|
||||
#: src/views/apps/fail2ban/IndexView.vue:365
|
||||
#: src/views/apps/fail2ban/IndexView.vue:396
|
||||
msgid "Service"
|
||||
msgstr "服务"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:368
|
||||
#: src/views/apps/fail2ban/IndexView.vue:372
|
||||
#: src/views/apps/fail2ban/IndexView.vue:370
|
||||
#: src/views/apps/fail2ban/IndexView.vue:374
|
||||
#: src/views/task/CreateModal.vue:480
|
||||
#: src/views/task/CreateModal.vue:486
|
||||
msgid "Select Website"
|
||||
msgstr "选择网站"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:375
|
||||
#: src/views/apps/fail2ban/IndexView.vue:377
|
||||
#: src/views/tamper/TamperView.vue:251
|
||||
msgid "Protection Mode"
|
||||
msgstr "保护模式"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:380
|
||||
#: src/views/apps/fail2ban/IndexView.vue:382
|
||||
#: src/views/apps/pureftpd/IndexView.vue:46
|
||||
#: src/views/backup/StorageView.vue:277
|
||||
#: src/views/backup/StorageView.vue:331
|
||||
@@ -3553,12 +3553,12 @@ msgstr "保护模式"
|
||||
msgid "Path"
|
||||
msgstr "路径"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:387
|
||||
#: src/views/apps/fail2ban/IndexView.vue:391
|
||||
#: src/views/apps/fail2ban/IndexView.vue:389
|
||||
#: src/views/apps/fail2ban/IndexView.vue:393
|
||||
msgid "Protection Path"
|
||||
msgstr "保护路径"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:422
|
||||
#: src/views/apps/fail2ban/IndexView.vue:424
|
||||
#: src/views/apps/frp/FrpProxyModal.vue:582
|
||||
#: src/views/apps/frp/FrpVisitorModal.vue:241
|
||||
#: src/views/apps/nginx/NginxIndex.vue:690
|
||||
@@ -3611,15 +3611,15 @@ msgstr "保护路径"
|
||||
msgid "Submit"
|
||||
msgstr "提交"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:430
|
||||
#: src/views/apps/fail2ban/IndexView.vue:432
|
||||
msgid "Rule Configuration"
|
||||
msgstr "规则配置"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:439
|
||||
#: src/views/apps/fail2ban/IndexView.vue:441
|
||||
msgid "The protected port, filter and log path are derived when the rule is created and are kept as-is here. To change them, delete and re-add the rule."
|
||||
msgstr "受保护端口、过滤条件和日志路径在创建规则时确定,此处保持不变。如需更改,请删除规则后重新添加。"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:448
|
||||
#: src/views/apps/fail2ban/IndexView.vue:450
|
||||
#: src/views/apps/frp/FrpProxyModal.vue:266
|
||||
#: src/views/apps/frp/FrpProxyView.vue:43
|
||||
#: src/views/apps/frp/FrpVisitorModal.vue:133
|
||||
@@ -3637,24 +3637,24 @@ msgstr "受保护端口、过滤条件和日志路径在创建规则时确定,
|
||||
msgid "Enabled"
|
||||
msgstr "已启用"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:487
|
||||
#: src/views/apps/fail2ban/IndexView.vue:491
|
||||
#: src/views/apps/fail2ban/IndexView.vue:489
|
||||
#: src/views/apps/fail2ban/IndexView.vue:493
|
||||
msgid "View Rule"
|
||||
msgstr "查看规则"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:495
|
||||
#: src/views/apps/fail2ban/IndexView.vue:497
|
||||
msgid "Rule Information"
|
||||
msgstr "规则信息"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:498
|
||||
#: src/views/apps/fail2ban/IndexView.vue:500
|
||||
msgid "Currently Banned"
|
||||
msgstr "当前已封禁"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:502
|
||||
#: src/views/apps/fail2ban/IndexView.vue:504
|
||||
msgid "Total Bans"
|
||||
msgstr "总封禁次数"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:507
|
||||
#: src/views/apps/fail2ban/IndexView.vue:509
|
||||
msgid "Ban List"
|
||||
msgstr "封禁列表"
|
||||
|
||||
|
||||
+77
-77
@@ -10,7 +10,7 @@ msgstr ""
|
||||
"Project-Id-Version: acepanel\n"
|
||||
"Language-Team: Chinese Traditional\n"
|
||||
"Language: zh_TW\n"
|
||||
"PO-Revision-Date: 2026-09-24 14:55\n"
|
||||
"PO-Revision-Date: 2026-10-05 09:38\n"
|
||||
|
||||
#: src/components/common/AppFooter.vue:18
|
||||
#: src/views/home/IndexView.vue:560
|
||||
@@ -27,7 +27,7 @@ msgstr "QQ 群"
|
||||
|
||||
#: src/components/common/AppFooter.vue:38
|
||||
#: src/locales/menu.ts:24
|
||||
#: src/views/apps/fail2ban/IndexView.vue:362
|
||||
#: src/views/apps/fail2ban/IndexView.vue:364
|
||||
#: src/views/backup/IndexView.vue:53
|
||||
#: src/views/backup/ListView.vue:356
|
||||
#: src/views/backup/ListView.vue:407
|
||||
@@ -287,9 +287,9 @@ msgstr "目前狀態無法儲存"
|
||||
#: src/views/apps/docker/IndexView.vue:152
|
||||
#: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:58
|
||||
#: src/views/apps/elasticsearch/IndexView.vue:51
|
||||
#: src/views/apps/fail2ban/IndexView.vue:175
|
||||
#: src/views/apps/fail2ban/IndexView.vue:226
|
||||
#: src/views/apps/fail2ban/IndexView.vue:236
|
||||
#: src/views/apps/fail2ban/IndexView.vue:177
|
||||
#: src/views/apps/fail2ban/IndexView.vue:228
|
||||
#: src/views/apps/fail2ban/IndexView.vue:238
|
||||
#: src/views/apps/frp/FrpcConfigTuneView.vue:64
|
||||
#: src/views/apps/frp/FrpProxyModal.vue:236
|
||||
#: src/views/apps/frp/FrpsConfigTuneView.vue:64
|
||||
@@ -390,7 +390,7 @@ msgstr "選擇檔案"
|
||||
#: src/views/app/EnvironmentView.vue:38
|
||||
#: src/views/app/InstalledView.vue:158
|
||||
#: src/views/apps/fail2ban/IndexView.vue:52
|
||||
#: src/views/apps/fail2ban/IndexView.vue:445
|
||||
#: src/views/apps/fail2ban/IndexView.vue:447
|
||||
#: src/views/apps/frp/FrpProxyModal.vue:255
|
||||
#: src/views/apps/frp/FrpProxyView.vue:22
|
||||
#: src/views/apps/frp/FrpVisitorModal.vue:122
|
||||
@@ -712,7 +712,7 @@ msgstr "連接中……"
|
||||
msgid "Connection failed, retrying..."
|
||||
msgstr "連接失敗,正在重試..."
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:448
|
||||
#: src/components/common/RealtimeLog.vue:492
|
||||
#: src/views/apps/clickhouse/IndexView.vue:77
|
||||
#: src/views/apps/mongodb/IndexView.vue:77
|
||||
#: src/views/apps/mysql/MysqlIndex.vue:112
|
||||
@@ -724,27 +724,27 @@ msgstr "連接失敗,正在重試..."
|
||||
msgid "Copied successfully"
|
||||
msgstr "複製成功"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:487
|
||||
#: src/components/common/RealtimeLog.vue:531
|
||||
msgid "Not found"
|
||||
msgstr "未找到"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:570
|
||||
#: src/components/common/RealtimeLog.vue:614
|
||||
msgid "Pause Auto-scroll"
|
||||
msgstr "暫停自動捲動"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:570
|
||||
#: src/components/common/RealtimeLog.vue:614
|
||||
msgid "Resume Auto-scroll"
|
||||
msgstr "恢復自動捲動"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:576
|
||||
#: src/components/common/RealtimeLog.vue:620
|
||||
msgid "Jump to Top"
|
||||
msgstr "跳至頂部"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:579
|
||||
#: src/components/common/RealtimeLog.vue:623
|
||||
msgid "Jump to Bottom"
|
||||
msgstr "跳至底部"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:584
|
||||
#: src/components/common/RealtimeLog.vue:628
|
||||
#: src/components/file-editor/EditorToolbar.vue:190
|
||||
#: src/components/file-editor/FileTree.vue:710
|
||||
#: src/views/app/AppView.vue:237
|
||||
@@ -759,65 +759,65 @@ msgstr "跳至底部"
|
||||
msgid "Search"
|
||||
msgstr "搜尋"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:593
|
||||
#: src/components/common/RealtimeLog.vue:637
|
||||
msgid "Enter keyword and press Enter"
|
||||
msgstr "輸入關鍵字並按 Enter"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:596
|
||||
#: src/components/common/RealtimeLog.vue:640
|
||||
#: src/views/app/TemplateDeployModal.vue:615
|
||||
msgid "Previous"
|
||||
msgstr "返回"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:599
|
||||
#: src/components/common/RealtimeLog.vue:643
|
||||
#: src/views/app/TemplateDeployModal.vue:624
|
||||
#: src/views/app/TemplateDeployModal.vue:627
|
||||
msgid "Next"
|
||||
msgstr "下一步"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:604
|
||||
#: src/components/common/RealtimeLog.vue:648
|
||||
msgid "Only loaded logs are searched"
|
||||
msgstr "僅搜尋已載入的日誌"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:613
|
||||
#: src/components/common/RealtimeLog.vue:657
|
||||
msgid "Disable Line Wrap"
|
||||
msgstr "禁用自動換行"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:613
|
||||
#: src/components/common/RealtimeLog.vue:657
|
||||
msgid "Enable Line Wrap"
|
||||
msgstr "啟用自動換行"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:618
|
||||
#: src/components/common/RealtimeLog.vue:662
|
||||
msgid "Copy All"
|
||||
msgstr "全部複製"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:622
|
||||
#: src/components/common/RealtimeLog.vue:666
|
||||
msgid "Decrease Font Size"
|
||||
msgstr "縮小字體"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:625
|
||||
#: src/components/common/RealtimeLog.vue:669
|
||||
msgid "Increase Font Size"
|
||||
msgstr "放大字體"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:631
|
||||
#: src/components/common/RealtimeLog.vue:675
|
||||
#: src/views/ssh/IndexView.vue:550
|
||||
msgid "Exit Fullscreen"
|
||||
msgstr "結束全螢幕"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:631
|
||||
#: src/components/common/RealtimeLog.vue:675
|
||||
#: src/views/ssh/IndexView.vue:550
|
||||
msgid "Fullscreen"
|
||||
msgstr "全螢幕"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:641
|
||||
#: src/components/common/RealtimeLog.vue:685
|
||||
msgid "No more logs"
|
||||
msgstr "沒有更多日誌"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:655
|
||||
#: src/components/common/RealtimeLog.vue:682
|
||||
#: src/components/common/RealtimeLog.vue:699
|
||||
#: src/components/common/RealtimeLog.vue:726
|
||||
msgid "No logs available"
|
||||
msgstr "暫無日誌資料"
|
||||
|
||||
#: src/components/common/RealtimeLog.vue:675
|
||||
#: src/components/common/RealtimeLog.vue:719
|
||||
msgid "%{ count } new line"
|
||||
msgid_plural "%{ count } new lines"
|
||||
msgstr[0] "%{ count } 行新日誌"
|
||||
@@ -958,7 +958,7 @@ msgstr "自啟動已成功禁用"
|
||||
#: src/views/apps/codeserver/IndexView.vue:37
|
||||
#: src/views/apps/docker/IndexView.vue:167
|
||||
#: src/views/apps/elasticsearch/IndexView.vue:62
|
||||
#: src/views/apps/fail2ban/IndexView.vue:271
|
||||
#: src/views/apps/fail2ban/IndexView.vue:273
|
||||
#: src/views/apps/frp/IndexView.vue:77
|
||||
#: src/views/apps/frp/IndexView.vue:129
|
||||
#: src/views/apps/gitea/IndexView.vue:35
|
||||
@@ -1192,7 +1192,7 @@ msgstr "放棄"
|
||||
#: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:97
|
||||
#: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:132
|
||||
#: src/views/apps/elasticsearch/IndexView.vue:82
|
||||
#: src/views/apps/fail2ban/IndexView.vue:483
|
||||
#: src/views/apps/fail2ban/IndexView.vue:485
|
||||
#: src/views/apps/frp/FrpcConfigTuneView.vue:115
|
||||
#: src/views/apps/frp/FrpcConfigTuneView.vue:145
|
||||
#: src/views/apps/frp/FrpcConfigTuneView.vue:221
|
||||
@@ -1743,7 +1743,7 @@ msgstr "重新命名"
|
||||
#: src/components/file-editor/FileTree.vue:595
|
||||
#: src/components/system/composables/useConfirm.ts:32
|
||||
#: src/components/system/ConfirmDialog.vue:54
|
||||
#: src/views/apps/fail2ban/IndexView.vue:125
|
||||
#: src/views/apps/fail2ban/IndexView.vue:127
|
||||
#: src/views/apps/frp/FrpProxyView.vue:105
|
||||
#: src/views/apps/frp/FrpVisitorView.vue:94
|
||||
#: src/views/apps/grafana/GrafanaDataSourcesView.vue:127
|
||||
@@ -1838,7 +1838,7 @@ msgid "Are you sure you want to delete %{ name }?"
|
||||
msgstr "您確定要刪除 %{ name } 嗎?"
|
||||
|
||||
#: src/components/file-editor/FileTree.vue:600
|
||||
#: src/views/apps/fail2ban/IndexView.vue:219
|
||||
#: src/views/apps/fail2ban/IndexView.vue:221
|
||||
#: src/views/apps/frp/FrpProxyView.vue:125
|
||||
#: src/views/apps/frp/FrpVisitorView.vue:114
|
||||
#: src/views/apps/grafana/GrafanaDataSourcesView.vue:185
|
||||
@@ -2224,7 +2224,7 @@ msgstr "在主頁顯示"
|
||||
#: src/views/app/InstalledView.vue:74
|
||||
#: src/views/app/InstalledView.vue:176
|
||||
#: src/views/apps/fail2ban/IndexView.vue:74
|
||||
#: src/views/apps/fail2ban/IndexView.vue:141
|
||||
#: src/views/apps/fail2ban/IndexView.vue:143
|
||||
#: src/views/apps/frp/FrpProxyView.vue:73
|
||||
#: src/views/apps/frp/FrpVisitorView.vue:62
|
||||
#: src/views/apps/grafana/GrafanaDataSourcesView.vue:99
|
||||
@@ -2927,7 +2927,7 @@ msgstr "負載狀態"
|
||||
#: src/views/apps/codeserver/IndexView.vue:62
|
||||
#: src/views/apps/docker/IndexView.vue:453
|
||||
#: src/views/apps/elasticsearch/IndexView.vue:100
|
||||
#: src/views/apps/fail2ban/IndexView.vue:329
|
||||
#: src/views/apps/fail2ban/IndexView.vue:331
|
||||
#: src/views/apps/frp/IndexView.vue:122
|
||||
#: src/views/apps/frp/IndexView.vue:180
|
||||
#: src/views/apps/gitea/IndexView.vue:60
|
||||
@@ -3395,31 +3395,31 @@ msgid "This modifies the ElasticSearch main configuration file. If you do not un
|
||||
msgstr "這將修改 ElasticSearch 主設定檔。如果您不了解各項參數的含義,請勿隨意修改!"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:70
|
||||
#: src/views/apps/fail2ban/IndexView.vue:405
|
||||
#: src/views/apps/fail2ban/IndexView.vue:451
|
||||
#: src/views/apps/fail2ban/IndexView.vue:407
|
||||
#: src/views/apps/fail2ban/IndexView.vue:453
|
||||
msgid "Max Retries"
|
||||
msgstr "最大重試次數"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:71
|
||||
#: src/views/apps/fail2ban/IndexView.vue:411
|
||||
#: src/views/apps/fail2ban/IndexView.vue:467
|
||||
#: src/views/apps/fail2ban/IndexView.vue:413
|
||||
#: src/views/apps/fail2ban/IndexView.vue:469
|
||||
msgid "Ban Time"
|
||||
msgstr "封禁時間"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:72
|
||||
#: src/views/apps/fail2ban/IndexView.vue:408
|
||||
#: src/views/apps/fail2ban/IndexView.vue:459
|
||||
#: src/views/apps/fail2ban/IndexView.vue:410
|
||||
#: src/views/apps/fail2ban/IndexView.vue:461
|
||||
msgid "Find Time"
|
||||
msgstr "查找時間"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:91
|
||||
#: src/views/apps/fail2ban/IndexView.vue:93
|
||||
#: src/views/cert/CertView.vue:344
|
||||
#: src/views/database/ElasticsearchDataView.vue:186
|
||||
#: src/views/database/RedisDataView.vue:141
|
||||
msgid "View"
|
||||
msgstr "查看"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:109
|
||||
#: src/views/apps/fail2ban/IndexView.vue:111
|
||||
#: src/views/apps/frp/FrpProxyView.vue:89
|
||||
#: src/views/apps/frp/FrpVisitorView.vue:78
|
||||
#: src/views/apps/rsync/IndexView.vue:95
|
||||
@@ -3428,20 +3428,20 @@ msgstr "查看"
|
||||
msgid "Configure"
|
||||
msgstr "配置"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:118
|
||||
#: src/views/apps/fail2ban/IndexView.vue:120
|
||||
msgid "Are you sure you want to delete rule %{ name }?"
|
||||
msgstr "您確定要刪除規則 %{ name } 嗎?"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:153
|
||||
#: src/views/apps/fail2ban/IndexView.vue:155
|
||||
msgid "Are you sure you want to unban %{ ip }?"
|
||||
msgstr "您確定要解封 %{ ip } 嗎?"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:154
|
||||
#: src/views/apps/fail2ban/IndexView.vue:159
|
||||
#: src/views/apps/fail2ban/IndexView.vue:156
|
||||
#: src/views/apps/fail2ban/IndexView.vue:161
|
||||
msgid "Unban"
|
||||
msgstr "解封"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:208
|
||||
#: src/views/apps/fail2ban/IndexView.vue:210
|
||||
#: src/views/apps/pureftpd/IndexView.vue:130
|
||||
#: src/views/apps/rsync/IndexView.vue:160
|
||||
#: src/views/apps/s3fs/IndexView.vue:77
|
||||
@@ -3450,34 +3450,34 @@ msgstr "解封"
|
||||
msgid "Added successfully"
|
||||
msgstr "新增成功"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:252
|
||||
#: src/views/apps/fail2ban/IndexView.vue:254
|
||||
msgid "Unbanned successfully"
|
||||
msgstr "解封成功"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:274
|
||||
#: src/views/apps/fail2ban/IndexView.vue:276
|
||||
#: src/views/firewall/SettingView.vue:130
|
||||
msgid "IP Whitelist"
|
||||
msgstr "IP 白名單"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:279
|
||||
#: src/views/apps/fail2ban/IndexView.vue:281
|
||||
msgid "IP whitelist, separated by commas"
|
||||
msgstr "IP 白名單,以逗號分隔"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:289
|
||||
#: src/views/apps/fail2ban/IndexView.vue:291
|
||||
msgid "Save Whitelist"
|
||||
msgstr "儲存白名單"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:294
|
||||
#: src/views/apps/fail2ban/IndexView.vue:296
|
||||
msgid "Rule Management"
|
||||
msgstr "規則管理"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:296
|
||||
#: src/views/apps/fail2ban/IndexView.vue:298
|
||||
msgid "Rule List"
|
||||
msgstr "規則列表"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:324
|
||||
#: src/views/apps/fail2ban/IndexView.vue:334
|
||||
#: src/views/apps/fail2ban/IndexView.vue:338
|
||||
#: src/views/apps/fail2ban/IndexView.vue:326
|
||||
#: src/views/apps/fail2ban/IndexView.vue:336
|
||||
#: src/views/apps/fail2ban/IndexView.vue:340
|
||||
#: src/views/monitor/AlertRuleModal.vue:129
|
||||
#: src/views/monitor/AlertView.vue:202
|
||||
#: src/views/tamper/RuleModal.vue:89
|
||||
@@ -3486,15 +3486,15 @@ msgstr "規則列表"
|
||||
msgid "Add Rule"
|
||||
msgstr "新增規則"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:344
|
||||
#: src/views/apps/fail2ban/IndexView.vue:346
|
||||
msgid "If an IP exceeds the maximum retries within the find time (seconds), it will be banned for the ban time (seconds)"
|
||||
msgstr "如果一個 IP 在偵測時間(秒)內超過最大重試次數,將被封鎖指定的封鎖時間(秒)"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:351
|
||||
#: src/views/apps/fail2ban/IndexView.vue:353
|
||||
msgid "Protected ports are automatically obtained. If you modify the port corresponding to a rule, please delete and re-add the rule, otherwise protection may not be effective"
|
||||
msgstr "受保護的連接埠會自動取得。如果您修改了某個規則對應的連接埠,請刪除並重新新增該規則,否則保護可能無效"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:358
|
||||
#: src/views/apps/fail2ban/IndexView.vue:360
|
||||
#: src/views/apps/frp/FrpProxyModal.vue:263
|
||||
#: src/views/apps/frp/FrpProxyView.vue:29
|
||||
#: src/views/apps/frp/FrpVisitorModal.vue:130
|
||||
@@ -3523,24 +3523,24 @@ msgstr "受保護的連接埠會自動取得。如果您修改了某個規則對
|
||||
msgid "Type"
|
||||
msgstr "類型"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:363
|
||||
#: src/views/apps/fail2ban/IndexView.vue:394
|
||||
#: src/views/apps/fail2ban/IndexView.vue:365
|
||||
#: src/views/apps/fail2ban/IndexView.vue:396
|
||||
msgid "Service"
|
||||
msgstr "服務"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:368
|
||||
#: src/views/apps/fail2ban/IndexView.vue:372
|
||||
#: src/views/apps/fail2ban/IndexView.vue:370
|
||||
#: src/views/apps/fail2ban/IndexView.vue:374
|
||||
#: src/views/task/CreateModal.vue:480
|
||||
#: src/views/task/CreateModal.vue:486
|
||||
msgid "Select Website"
|
||||
msgstr "選擇網站"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:375
|
||||
#: src/views/apps/fail2ban/IndexView.vue:377
|
||||
#: src/views/tamper/TamperView.vue:251
|
||||
msgid "Protection Mode"
|
||||
msgstr "保護模式"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:380
|
||||
#: src/views/apps/fail2ban/IndexView.vue:382
|
||||
#: src/views/apps/pureftpd/IndexView.vue:46
|
||||
#: src/views/backup/StorageView.vue:277
|
||||
#: src/views/backup/StorageView.vue:331
|
||||
@@ -3553,12 +3553,12 @@ msgstr "保護模式"
|
||||
msgid "Path"
|
||||
msgstr "路徑"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:387
|
||||
#: src/views/apps/fail2ban/IndexView.vue:391
|
||||
#: src/views/apps/fail2ban/IndexView.vue:389
|
||||
#: src/views/apps/fail2ban/IndexView.vue:393
|
||||
msgid "Protection Path"
|
||||
msgstr "保護路徑"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:422
|
||||
#: src/views/apps/fail2ban/IndexView.vue:424
|
||||
#: src/views/apps/frp/FrpProxyModal.vue:582
|
||||
#: src/views/apps/frp/FrpVisitorModal.vue:241
|
||||
#: src/views/apps/nginx/NginxIndex.vue:690
|
||||
@@ -3611,15 +3611,15 @@ msgstr "保護路徑"
|
||||
msgid "Submit"
|
||||
msgstr "提交"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:430
|
||||
#: src/views/apps/fail2ban/IndexView.vue:432
|
||||
msgid "Rule Configuration"
|
||||
msgstr "規則配置"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:439
|
||||
#: src/views/apps/fail2ban/IndexView.vue:441
|
||||
msgid "The protected port, filter and log path are derived when the rule is created and are kept as-is here. To change them, delete and re-add the rule."
|
||||
msgstr "受保護連接埠、過濾條件和日誌路徑在建立規則時確定,此處保持不變。如需更改,請刪除規則後重新新增。"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:448
|
||||
#: src/views/apps/fail2ban/IndexView.vue:450
|
||||
#: src/views/apps/frp/FrpProxyModal.vue:266
|
||||
#: src/views/apps/frp/FrpProxyView.vue:43
|
||||
#: src/views/apps/frp/FrpVisitorModal.vue:133
|
||||
@@ -3637,24 +3637,24 @@ msgstr "受保護連接埠、過濾條件和日誌路徑在建立規則時確定
|
||||
msgid "Enabled"
|
||||
msgstr "已啟用"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:487
|
||||
#: src/views/apps/fail2ban/IndexView.vue:491
|
||||
#: src/views/apps/fail2ban/IndexView.vue:489
|
||||
#: src/views/apps/fail2ban/IndexView.vue:493
|
||||
msgid "View Rule"
|
||||
msgstr "查看規則"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:495
|
||||
#: src/views/apps/fail2ban/IndexView.vue:497
|
||||
msgid "Rule Information"
|
||||
msgstr "規則資訊"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:498
|
||||
#: src/views/apps/fail2ban/IndexView.vue:500
|
||||
msgid "Currently Banned"
|
||||
msgstr "當前已封禁"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:502
|
||||
#: src/views/apps/fail2ban/IndexView.vue:504
|
||||
msgid "Total Bans"
|
||||
msgstr "總封禁次數"
|
||||
|
||||
#: src/views/apps/fail2ban/IndexView.vue:507
|
||||
#: src/views/apps/fail2ban/IndexView.vue:509
|
||||
msgid "Ban List"
|
||||
msgstr "封禁列表"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user